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
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 6.31.19
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 8df3096: Fix residual recovery attemptNumber undercount and invalid result-availability times; promote OTLP agent_inspect.\* identity into workflow metadata on read; harden packed MCP SDK e2e (429/cancel/overlap/readiness); complete keyless Fix-Owes fixture corpus (Om through Thorin, Bezalel invariants).
|
|
8
|
+
|
|
9
|
+
## 6.31.18
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- c65817e: Fix recovery result-availability ordering and mixed attemptId counting; emit bounded OTLP operation/attempt identity without broad attribute dump; add real MCP SDK packed e2e and Fix-Owes recipe corpus (variable paths, timeout ledger, access disclosure, browser observed outcomes, NestJS tenant, causal failure, headsign, Keniel B8).
|
|
14
|
+
|
|
3
15
|
## 6.31.17
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -213,7 +213,7 @@ The root package is enough for custom capture, the CLI, checks, and Evidence wor
|
|
|
213
213
|
|
|
214
214
|
## Status and documentation
|
|
215
215
|
|
|
216
|
-
**Current published baseline:** **6.31.
|
|
216
|
+
**Current published baseline:** **6.31.19** · persisted schema `1.0` · Node.js `>=20` · MIT.
|
|
217
217
|
|
|
218
218
|
Legacy v0.1 and v0.2 traces remain readable. Check the npm badge and [changelog](CHANGELOG.md) for the current published version.
|
|
219
219
|
|
package/docs/COMPARE.md
CHANGED
|
@@ -106,7 +106,7 @@ OrcaReplay is a local CLI that records an agent run at the model-provider bounda
|
|
|
106
106
|
|
|
107
107
|
AgentInspect is local-first CLI debugging:
|
|
108
108
|
|
|
109
|
-
- Use AgentInspect to inspect and gate a run's trajectory; the two capture at different layers
|
|
109
|
+
- Use AgentInspect to inspect and gate a run's trajectory; the two capture at different layers. AgentInspect builds a local execution tree from in-process instrumentation and from existing log/trace readers; OrcaReplay proxies the provider connection and records the bytes on the wire. Simultaneous AgentInspect + OrcaReplay capture on one run is possible in principle but **untested** here until a retained joint experiment exists.
|
|
110
110
|
- If you reach for OrcaReplay, two limits are worth knowing: a matching replay is not a determinism result, and replay blocks model-provider egress only — it is not a sandbox, so recorded tool calls still execute and a tool that opens its own connection still reaches the network.
|
|
111
111
|
- AgentInspect does not replay a recorded run; the README lists "a replay engine" among the things it is not.
|
|
112
112
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-inspect",
|
|
3
|
-
"version": "6.31.
|
|
3
|
+
"version": "6.31.19",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Local evidence debugger and trajectory-test toolkit for TypeScript AI agents — execution trees, TraceContract checks, Evidence v2, and read-only MCP",
|
|
@@ -236,7 +236,7 @@
|
|
|
236
236
|
"test:all": "pnpm run typecheck && pnpm run linked-versions:check && pnpm run build && pnpm run test && pnpm run size",
|
|
237
237
|
"prepublish:checks": "pnpm run typecheck && pnpm run build && pnpm run test && pnpm run test:coverage && pnpm run fixtures:check && pnpm run recipes:check && pnpm run test:integration-offline && pnpm run size && pnpm run linked-versions:check && pnpm run repo:health && pnpm run pack:smoke",
|
|
238
238
|
"pack:dry-run": "pnpm run build && npm pack --dry-run",
|
|
239
|
-
"pack:smoke": "pnpm run package-licenses:check && pnpm run build && node scripts/package-smoke.mjs && node scripts/packed-openai-agents-e2e.mjs && node scripts/packed-ai-sdk-e2e.mjs && node scripts/packed-mcp-e2e.mjs && node scripts/packed-quickstart-e2e.mjs && node scripts/packed-semantic-loop-e2e.mjs && node scripts/packed-swarm-loop-e2e.mjs && node scripts/evidence-ci-golden-paths.mjs",
|
|
239
|
+
"pack:smoke": "pnpm run package-licenses:check && pnpm run build && node scripts/package-smoke.mjs && node scripts/packed-openai-agents-e2e.mjs && node scripts/packed-ai-sdk-e2e.mjs && node scripts/packed-mcp-e2e.mjs && node scripts/packed-mcp-sdk-e2e.mjs && node scripts/packed-quickstart-e2e.mjs && node scripts/packed-semantic-loop-e2e.mjs && node scripts/packed-swarm-loop-e2e.mjs && node scripts/evidence-ci-golden-paths.mjs",
|
|
240
240
|
"linked-versions:check": "node scripts/check-linked-versions.mjs",
|
|
241
241
|
"docs:commands": "node scripts/validate-doc-commands.mjs",
|
|
242
242
|
"docs:links": "node scripts/validate-doc-links.mjs",
|
|
@@ -3696,7 +3696,7 @@ function extractSessionWorkflowMetadata(record) {
|
|
|
3696
3696
|
assignString("conversationId", record.conversationId);
|
|
3697
3697
|
assignString("groupId", record.groupId);
|
|
3698
3698
|
assignString("parentGroupId", record.parentGroupId);
|
|
3699
|
-
assignString("retryOf", record.retryOf);
|
|
3699
|
+
assignString("retryOf", record.retryOf ?? record["agent_inspect.retry_of"]);
|
|
3700
3700
|
assignString("retryReason", record.retryReason);
|
|
3701
3701
|
assignString("handoffFrom", record.handoffFrom);
|
|
3702
3702
|
assignString("handoffTo", record.handoffTo);
|
|
@@ -3709,8 +3709,8 @@ function extractSessionWorkflowMetadata(record) {
|
|
|
3709
3709
|
assignString("toolCallId", record.toolCallId);
|
|
3710
3710
|
assignString("mcpToolCallId", record.mcpToolCallId);
|
|
3711
3711
|
assignString("linkedStepId", record.linkedStepId);
|
|
3712
|
-
assignString("operationId", record.operationId);
|
|
3713
|
-
assignString("attemptId", record.attemptId);
|
|
3712
|
+
assignString("operationId", record.operationId ?? record["agent_inspect.operation_id"]);
|
|
3713
|
+
assignString("attemptId", record.attemptId ?? record["agent_inspect.attempt_id"]);
|
|
3714
3714
|
assignString("fallbackOf", record.fallbackOf);
|
|
3715
3715
|
assignString("idempotencyKey", record.idempotencyKey);
|
|
3716
3716
|
assignString("correlationId", record.correlationId);
|
|
@@ -3721,7 +3721,9 @@ function extractSessionWorkflowMetadata(record) {
|
|
|
3721
3721
|
out.attempt = attempt;
|
|
3722
3722
|
found = true;
|
|
3723
3723
|
}
|
|
3724
|
-
const attemptNumber = finitePositiveInt(
|
|
3724
|
+
const attemptNumber = finitePositiveInt(
|
|
3725
|
+
record.attemptNumber ?? record["agent_inspect.attempt_number"]
|
|
3726
|
+
);
|
|
3725
3727
|
if (attemptNumber !== void 0) {
|
|
3726
3728
|
out.attemptNumber = attemptNumber;
|
|
3727
3729
|
found = true;
|
|
@@ -5737,24 +5739,35 @@ function attemptIdOf(event) {
|
|
|
5737
5739
|
return typeof value === "string" && value.trim() !== "" ? value : void 0;
|
|
5738
5740
|
}
|
|
5739
5741
|
function countOperationAttempts(members) {
|
|
5740
|
-
const
|
|
5741
|
-
|
|
5742
|
-
)
|
|
5743
|
-
|
|
5744
|
-
|
|
5742
|
+
const identified = /* @__PURE__ */ new Set();
|
|
5743
|
+
let unidentified = 0;
|
|
5744
|
+
for (const event of members) {
|
|
5745
|
+
if (event.kind !== "TOOL" && event.kind !== "LLM") continue;
|
|
5746
|
+
const id = attemptIdOf(event);
|
|
5747
|
+
if (id !== void 0) {
|
|
5748
|
+
identified.add(id);
|
|
5749
|
+
continue;
|
|
5750
|
+
}
|
|
5751
|
+
unidentified += 1;
|
|
5752
|
+
}
|
|
5753
|
+
if (identified.size > 0) {
|
|
5754
|
+
return identified.size + unidentified;
|
|
5745
5755
|
}
|
|
5746
|
-
const
|
|
5747
|
-
|
|
5748
|
-
|
|
5749
|
-
|
|
5750
|
-
const
|
|
5751
|
-
|
|
5752
|
-
|
|
5753
|
-
|
|
5756
|
+
const numbered = /* @__PURE__ */ new Set();
|
|
5757
|
+
let unnumbered = 0;
|
|
5758
|
+
for (const event of members) {
|
|
5759
|
+
if (event.kind !== "TOOL" && event.kind !== "LLM") continue;
|
|
5760
|
+
const num = attemptNumberOf(event);
|
|
5761
|
+
if (num !== void 0) {
|
|
5762
|
+
numbered.add(num);
|
|
5763
|
+
continue;
|
|
5754
5764
|
}
|
|
5755
|
-
|
|
5765
|
+
unnumbered += 1;
|
|
5766
|
+
}
|
|
5767
|
+
if (numbered.size > 0) {
|
|
5768
|
+
return numbered.size + unnumbered;
|
|
5756
5769
|
}
|
|
5757
|
-
return
|
|
5770
|
+
return unnumbered;
|
|
5758
5771
|
}
|
|
5759
5772
|
function classifyRetryAttempt(event, priorOrdered, allMembers) {
|
|
5760
5773
|
const workflow = workflowFor(event);
|
|
@@ -6029,8 +6042,42 @@ function eventEvidence2(event) {
|
|
|
6029
6042
|
function eventTime2(event) {
|
|
6030
6043
|
return event.startedAt ?? event.timestamp ?? "";
|
|
6031
6044
|
}
|
|
6045
|
+
function parseComparableMs(value) {
|
|
6046
|
+
if (!value) return void 0;
|
|
6047
|
+
const parsed = Date.parse(value);
|
|
6048
|
+
return Number.isFinite(parsed) ? parsed : void 0;
|
|
6049
|
+
}
|
|
6050
|
+
function consumerStartMs(event) {
|
|
6051
|
+
return parseComparableMs(event.startedAt) ?? parseComparableMs(event.timestamp);
|
|
6052
|
+
}
|
|
6053
|
+
function resultAvailableMs(event) {
|
|
6054
|
+
const started = parseComparableMs(event.startedAt) ?? parseComparableMs(event.timestamp);
|
|
6055
|
+
const endedRaw = event.endedAt;
|
|
6056
|
+
const endedPresent = endedRaw !== void 0 && endedRaw !== null && String(endedRaw).trim() !== "";
|
|
6057
|
+
if (endedPresent) {
|
|
6058
|
+
const ended = parseComparableMs(typeof endedRaw === "string" ? endedRaw : String(endedRaw));
|
|
6059
|
+
if (ended === void 0) return void 0;
|
|
6060
|
+
if (started !== void 0 && ended < started) return void 0;
|
|
6061
|
+
return ended;
|
|
6062
|
+
}
|
|
6063
|
+
if (event.durationMs !== void 0) {
|
|
6064
|
+
if (!Number.isFinite(event.durationMs) || event.durationMs < 0) {
|
|
6065
|
+
return void 0;
|
|
6066
|
+
}
|
|
6067
|
+
if (started !== void 0) {
|
|
6068
|
+
return started + event.durationMs;
|
|
6069
|
+
}
|
|
6070
|
+
return void 0;
|
|
6071
|
+
}
|
|
6072
|
+
return parseComparableMs(event.timestamp);
|
|
6073
|
+
}
|
|
6032
6074
|
function sortByTime2(events) {
|
|
6033
|
-
return [...events].sort((a, b) =>
|
|
6075
|
+
return [...events].sort((a, b) => {
|
|
6076
|
+
const aMs = consumerStartMs(a) ?? 0;
|
|
6077
|
+
const bMs = consumerStartMs(b) ?? 0;
|
|
6078
|
+
if (aMs !== bMs) return aMs - bMs;
|
|
6079
|
+
return eventTime2(a).localeCompare(eventTime2(b));
|
|
6080
|
+
});
|
|
6034
6081
|
}
|
|
6035
6082
|
function errorCodeOf(event) {
|
|
6036
6083
|
if (typeof event.error?.code === "string" && event.error.code.trim() !== "") {
|
|
@@ -6098,13 +6145,20 @@ function sameArguments(left, right) {
|
|
|
6098
6145
|
}
|
|
6099
6146
|
return { ok: true };
|
|
6100
6147
|
}
|
|
6148
|
+
var UNEVALUABLE_WRITE_ERROR_CODES = /* @__PURE__ */ new Set([
|
|
6149
|
+
"TIMEOUT",
|
|
6150
|
+
"ETIMEDOUT",
|
|
6151
|
+
"UNKNOWN_COMPLETION",
|
|
6152
|
+
"DEADLINE_EXCEEDED"
|
|
6153
|
+
]);
|
|
6101
6154
|
function isUnevaluableWriteCompletion(event) {
|
|
6102
6155
|
if (event.status === "running" || event.status === "unknown") return true;
|
|
6103
6156
|
const attrs = event.attributes ?? {};
|
|
6104
6157
|
if (attrs.timeout === true) return true;
|
|
6158
|
+
if (attrs.unknownCompletion === true) return true;
|
|
6105
6159
|
if (attrs.completionState === "unknown" || attrs.completionState === "timeout") return true;
|
|
6106
6160
|
const code = errorCodeOf(event)?.toUpperCase();
|
|
6107
|
-
if (code
|
|
6161
|
+
if (code && UNEVALUABLE_WRITE_ERROR_CODES.has(code)) {
|
|
6108
6162
|
return true;
|
|
6109
6163
|
}
|
|
6110
6164
|
return false;
|
|
@@ -6152,14 +6206,17 @@ function collectExplicitReferences(event) {
|
|
|
6152
6206
|
return refs;
|
|
6153
6207
|
}
|
|
6154
6208
|
function llmReferencesTool(llm, toolEvent, requireExplicit) {
|
|
6155
|
-
if (
|
|
6156
|
-
|
|
6157
|
-
|
|
6158
|
-
|
|
6159
|
-
|
|
6160
|
-
|
|
6161
|
-
|
|
6162
|
-
|
|
6209
|
+
if (llm.runId !== toolEvent.runId) return false;
|
|
6210
|
+
if (requireExplicit) {
|
|
6211
|
+
const refs = collectExplicitReferences(llm);
|
|
6212
|
+
const toolCallId = workflowFor2(toolEvent).toolCallId;
|
|
6213
|
+
const hasRef = refs.has(toolEvent.eventId) || toolCallId !== void 0 && refs.has(toolCallId);
|
|
6214
|
+
if (!hasRef) return false;
|
|
6215
|
+
}
|
|
6216
|
+
const resultMs = resultAvailableMs(toolEvent);
|
|
6217
|
+
const consumerMs = consumerStartMs(llm);
|
|
6218
|
+
if (resultMs === void 0 || consumerMs === void 0) return false;
|
|
6219
|
+
return resultMs <= consumerMs;
|
|
6163
6220
|
}
|
|
6164
6221
|
function attemptIdOf2(event) {
|
|
6165
6222
|
const value = workflowFor2(event).attemptId;
|
|
@@ -13573,6 +13630,70 @@ function mapOtlpEvents(value, pathPrefix) {
|
|
|
13573
13630
|
unsupportedFields
|
|
13574
13631
|
};
|
|
13575
13632
|
}
|
|
13633
|
+
function promoteAgentInspectWorkflowIdentity(attributes, pathPrefix) {
|
|
13634
|
+
const warnings = [];
|
|
13635
|
+
const mapping = [
|
|
13636
|
+
["agent_inspect.operation_id", "operationId", "string"],
|
|
13637
|
+
["agent_inspect.attempt_id", "attemptId", "string"],
|
|
13638
|
+
["agent_inspect.retry_of", "retryOf", "string"],
|
|
13639
|
+
["agent_inspect.attempt_number", "attemptNumber", "int"]
|
|
13640
|
+
];
|
|
13641
|
+
const metadata = attributes.metadata && typeof attributes.metadata === "object" && !Array.isArray(attributes.metadata) ? { ...attributes.metadata } : {};
|
|
13642
|
+
for (const [dotted, camel, kind] of mapping) {
|
|
13643
|
+
const raw = attributes[dotted];
|
|
13644
|
+
if (raw === void 0 || raw === null) continue;
|
|
13645
|
+
let promoted;
|
|
13646
|
+
if (kind === "int") {
|
|
13647
|
+
const n = typeof raw === "number" ? raw : typeof raw === "string" ? Number(raw) : NaN;
|
|
13648
|
+
if (!Number.isFinite(n) || n < 1) {
|
|
13649
|
+
warnings.push({
|
|
13650
|
+
code: "otlp_identity_invalid",
|
|
13651
|
+
message: `Ignoring invalid ${dotted} identity value.`,
|
|
13652
|
+
severity: "warning",
|
|
13653
|
+
field: `${pathPrefix}.${dotted}`
|
|
13654
|
+
});
|
|
13655
|
+
continue;
|
|
13656
|
+
}
|
|
13657
|
+
promoted = Math.trunc(n);
|
|
13658
|
+
} else if (typeof raw === "string" && raw.trim() !== "") {
|
|
13659
|
+
promoted = raw.trim();
|
|
13660
|
+
} else {
|
|
13661
|
+
warnings.push({
|
|
13662
|
+
code: "otlp_identity_invalid",
|
|
13663
|
+
message: `Ignoring non-string ${dotted} identity value.`,
|
|
13664
|
+
severity: "warning",
|
|
13665
|
+
field: `${pathPrefix}.${dotted}`
|
|
13666
|
+
});
|
|
13667
|
+
continue;
|
|
13668
|
+
}
|
|
13669
|
+
const direct = attributes[camel];
|
|
13670
|
+
const nested = metadata[camel];
|
|
13671
|
+
if (direct !== void 0 && direct !== promoted) {
|
|
13672
|
+
warnings.push({
|
|
13673
|
+
code: "otlp_identity_conflict",
|
|
13674
|
+
message: `Conflicting ${camel}: attributes.${camel} vs ${dotted}; keeping camelCase.`,
|
|
13675
|
+
severity: "warning",
|
|
13676
|
+
field: `${pathPrefix}.${dotted}`
|
|
13677
|
+
});
|
|
13678
|
+
continue;
|
|
13679
|
+
}
|
|
13680
|
+
if (nested !== void 0 && nested !== promoted && direct === void 0) {
|
|
13681
|
+
warnings.push({
|
|
13682
|
+
code: "otlp_identity_conflict",
|
|
13683
|
+
message: `Conflicting ${camel}: attributes.metadata.${camel} vs ${dotted}; keeping nested.`,
|
|
13684
|
+
severity: "warning",
|
|
13685
|
+
field: `${pathPrefix}.${dotted}`
|
|
13686
|
+
});
|
|
13687
|
+
continue;
|
|
13688
|
+
}
|
|
13689
|
+
if (direct === void 0) attributes[camel] = promoted;
|
|
13690
|
+
if (nested === void 0) metadata[camel] = promoted;
|
|
13691
|
+
}
|
|
13692
|
+
if (Object.keys(metadata).length > 0) {
|
|
13693
|
+
attributes.metadata = metadata;
|
|
13694
|
+
}
|
|
13695
|
+
return warnings;
|
|
13696
|
+
}
|
|
13576
13697
|
function mapOtlpSpan(context) {
|
|
13577
13698
|
const { span, pathPrefix } = context;
|
|
13578
13699
|
const warnings = [];
|
|
@@ -13604,6 +13725,7 @@ function mapOtlpSpan(context) {
|
|
|
13604
13725
|
if (context.scopeVersion !== void 0) {
|
|
13605
13726
|
attributes["scope.version"] = context.scopeVersion;
|
|
13606
13727
|
}
|
|
13728
|
+
warnings.push(...promoteAgentInspectWorkflowIdentity(attributes, pathPrefix));
|
|
13607
13729
|
for (const [key, value] of Object.entries(span)) {
|
|
13608
13730
|
if (OTLP_SPAN_KEYS.has(key)) continue;
|
|
13609
13731
|
unsupportedFields.push(`${pathPrefix}.${key}`);
|
|
@@ -13641,6 +13763,7 @@ function mapOtlpSpan(context) {
|
|
|
13641
13763
|
if (events.events !== void 0) {
|
|
13642
13764
|
attributes["otlp.events"] = events.events;
|
|
13643
13765
|
}
|
|
13766
|
+
warnings.push(...promoteAgentInspectWorkflowIdentity(attributes, pathPrefix));
|
|
13644
13767
|
const traceId = readStringField(span, ["traceId"]) ?? "trace-unknown";
|
|
13645
13768
|
const spanId = readStringField(span, ["spanId"]) ?? "span-unknown";
|
|
13646
13769
|
const parentSpanId = readStringField(span, ["parentSpanId"]);
|
|
@@ -15547,5 +15670,5 @@ function renderGateReport(result, options = {}) {
|
|
|
15547
15670
|
}
|
|
15548
15671
|
|
|
15549
15672
|
export { ATTRIBUTION_CONFIDENCES, COHORT_METRIC_IDS, DEFAULT_REDACT_KEYS, 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, defineTraceContract, diffRuns, diffTraceEvents, enrichSessionRunRecord, escapeHtml, escapeMarkdown, evaluateTraceContract, extractMetadata, extractOutcomesFromTraceEvents, filterMetasBySessionScope, filterTraces, flattenTree, formatDuration2 as formatDuration, formatStepLabel, formatTimestamp, gateHasThresholds, getIndent, getTraceFilePath, inferEvidenceFileRole, isAgentInspectTrace, isAttributionConfidence, isCredentialSensitiveKey, isPersistedInspectEvent, loadSessionRunRecords, loadSuiteConfig, loadTraceMetadataList, manualTraceEventsToComparableRun, nanoid, normalizeBundleOutputPath, openTrace, parseCohortMetricList, parseDuration, parseDurationFilter, parseGateList, parseTraceJsonl, persistedInspectEventsToRunTrees, persistedInspectEventsToTraceEvents, projectLogicalEvents, 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, stringContainsHighConfidenceCredential, summarizeObservedOutcomes, summarizeSemanticParity, traceEventToPersistedInspectEvent, truncateName, truncateStringForProfile, validateEvent, validateSuiteConfig, verifyEvidenceDirectory, zeroKinds };
|
|
15550
|
-
//# sourceMappingURL=chunk-
|
|
15551
|
-
//# sourceMappingURL=chunk-
|
|
15673
|
+
//# sourceMappingURL=chunk-NALE36AJ.mjs.map
|
|
15674
|
+
//# sourceMappingURL=chunk-NALE36AJ.mjs.map
|