@apo-ai/sdk 0.9.1 → 0.9.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.
@@ -1,4 +1,4 @@
1
- import { A as AgentTaskTraceContext } from '../../tracing-CevT0hQg.js';
1
+ import { A as AgentTaskTraceContext } from '../../tracing-Dqbuc7AK.js';
2
2
 
3
3
  /**
4
4
  * Vercel AI SDK tracing integration for apo.
@@ -1,4 +1,4 @@
1
- import { A as AgentTaskTraceContext } from '../../tracing-CevT0hQg.js';
1
+ import { A as AgentTaskTraceContext } from '../../tracing-Dqbuc7AK.js';
2
2
 
3
3
  /**
4
4
  * Anthropic JS SDK tracing integration for apo.
@@ -1,4 +1,4 @@
1
- import { A as AgentTaskTraceContext } from '../../tracing-CevT0hQg.js';
1
+ import { A as AgentTaskTraceContext } from '../../tracing-Dqbuc7AK.js';
2
2
 
3
3
  /**
4
4
  * OpenAI JS SDK tracing integration for apo.
@@ -1,4 +1,4 @@
1
- import { A as AgentTaskTraceContext, a as AgentTaskTraceOptions } from '../tracing-CevT0hQg.js';
1
+ import { A as AgentTaskTraceContext, a as AgentTaskTraceOptions } from '../tracing-Dqbuc7AK.js';
2
2
  export { CreateApoTracerOptions, createApoTracer } from './integrations/ai-sdk.js';
3
3
  export { CreateApoOpenAIOptions, createApoOpenAI } from './integrations/openai.js';
4
4
  export { CreateApoAnthropicOptions, createApoAnthropic } from './integrations/anthropic.js';
@@ -278,6 +278,61 @@ declare function getTaskTurn(): TurnFn | undefined;
278
278
  declare function resetTaskTurn(): void;
279
279
  declare function resolveTurn(adapterTurn: TurnFn | undefined, taskTurn: TurnFn | undefined): TurnFn;
280
280
 
281
+ /**
282
+ * Normalized transcript model — the common shape every harness transcript
283
+ * parser produces, and the input to the OTLP translator.
284
+ *
285
+ * The model is deliberately lossy-but-sufficient for trace reconstruction:
286
+ * per turn it keeps the user/assistant text, thinking, tool calls with their
287
+ * results, model identity, and token usage. Anything the projection cannot
288
+ * use (streaming chunk boundaries, harness housekeeping) is folded away.
289
+ */
290
+ type TranscriptSource = "claude-code" | "codex";
291
+ type TranscriptUsage = {
292
+ inputTokens?: number;
293
+ outputTokens?: number;
294
+ cacheReadTokens?: number;
295
+ cacheWriteTokens?: number;
296
+ reasoningTokens?: number;
297
+ };
298
+ type TranscriptToolCall = {
299
+ callId: string;
300
+ name: string;
301
+ /** Arguments exactly as recorded — parsed object when the harness allows, raw string otherwise. */
302
+ input: unknown;
303
+ /** Rendered result text or the raw output payload; absent when the transcript never recorded one. */
304
+ result?: unknown;
305
+ /** ISO timestamp of the call, when the transcript carries one. */
306
+ startedAt?: string;
307
+ /** ISO timestamp of the matching result, when the transcript carries one. */
308
+ endedAt?: string;
309
+ };
310
+ type TranscriptTurn = {
311
+ /** Zero-based position of the turn within the session. */
312
+ index: number;
313
+ /** ISO timestamp of the user message that opened the turn. */
314
+ startedAt: string;
315
+ /** ISO timestamp of the last observed event in the turn, when known. */
316
+ endedAt?: string;
317
+ model?: string;
318
+ userMessage?: string;
319
+ assistantMessage?: string;
320
+ /** Extended-thinking text (Claude) or reasoning summaries (Codex). */
321
+ thinkingText?: string;
322
+ /** Codex commentary-phase messages (progress narration, not reasoning). */
323
+ commentary?: string[];
324
+ toolCalls: TranscriptToolCall[];
325
+ usage?: TranscriptUsage;
326
+ };
327
+ type ParsedTranscriptSession = {
328
+ source: TranscriptSource;
329
+ sessionId: string;
330
+ cwd?: string;
331
+ turns: TranscriptTurn[];
332
+ /** Non-fatal parse issues: torn lines, unterminated turns, unmatched outputs. */
333
+ warnings: string[];
334
+ };
335
+
281
336
  type ValidatableSchemaLike = {
282
337
  safeParse: (data: unknown) => {
283
338
  success: boolean;
@@ -343,6 +398,21 @@ type CleanupContext = {
343
398
  session?: AdapterSession;
344
399
  trace: AgentTaskTraceContext;
345
400
  };
401
+ /**
402
+ * A harness session transcript the adapter captured on disk.
403
+ *
404
+ * Declaring one opts the run into transcript-replay capture: after the turn
405
+ * loop, the runner parses the session file and replays it into the run —
406
+ * exported spans join the live trace and projection observations join the
407
+ * snapshot — so a harness that cannot emit OTel (Codex CLI, plain Claude
408
+ * Code, anything that only writes session JSONL) still produces a fully
409
+ * assertable trace. The file must exist and be complete when the turn loop
410
+ * ends; a missing file fails the run.
411
+ */
412
+ type AdapterTranscriptCapture = {
413
+ source: TranscriptSource;
414
+ path: string;
415
+ };
346
416
  type AdapterSession = {
347
417
  /**
348
418
  * The adapter's resolved model/effort for this run. Read by
@@ -351,6 +421,12 @@ type AdapterSession = {
351
421
  * that do not report configuration.
352
422
  */
353
423
  runConfiguration?: AgentTaskRunConfiguration;
424
+ /**
425
+ * The harness session transcript this run captured. Set as soon as the
426
+ * path is known (typically after the first `sendUserTurn`); the runner
427
+ * reads it once, after the turn loop. See {@link AdapterTranscriptCapture}.
428
+ */
429
+ transcript?: AdapterTranscriptCapture;
354
430
  sendUserTurn: (turn: unknown, context: {
355
431
  trace: AgentTaskTraceContext;
356
432
  turnNumber: number;
@@ -622,13 +698,16 @@ type EvaluationItemResult = {
622
698
  /** Name of the deliverable this check was evaluated against. */
623
699
  deliverable?: string;
624
700
  /**
625
- * What kind of evaluator produced this result.
626
- * Registered checks use ``"code"``. LLM-backed assertions inside a check
627
- * carry ``evaluator_type: "llm"`` in {@link assertions}.
701
+ * What kind of evaluator produced this result, derived from the recorded
702
+ * assertions: ``"code"`` for purely deterministic checks, ``"llm"`` when
703
+ * every assertion judged, ``"agent"`` for pure agentic sessions,
704
+ * ``"mixed"`` when a check combines judged and deterministic assertions.
705
+ * LLM-backed assertions also carry ``evaluator_type: "llm"`` in
706
+ * {@link assertions}.
628
707
  * - ``"regex"`` — pattern matching
629
708
  * Older persisted results may still use ``"llm"`` at this level.
630
709
  */
631
- evaluator_type?: "llm" | "code" | "agent" | "regex";
710
+ evaluator_type?: "llm" | "code" | "agent" | "regex" | "mixed";
632
711
  /**
633
712
  * If this check was judged by an LLM, details about the judge call
634
713
  * (model, prompt, response, tokens, cost, latency). Populated by the
@@ -1325,6 +1404,16 @@ declare function loadTask(taskDir: string): Promise<LoadedTask>;
1325
1404
 
1326
1405
  declare function defineAdapter<const TName extends string, const TDeliverables extends Record<string, DeliverableDefinition>, TCollected extends CollectedDeliverables>(adapter: TypedAdapterDefinition<TName, TDeliverables, TCollected>): TypedAdapterDefinition<TName, TDeliverables, TCollected>;
1327
1406
 
1407
+ /**
1408
+ * Env-only auth headers for apo backends: the runner's credential contract
1409
+ * (`APO_PUBLIC_KEY`+`APO_SECRET_KEY` → Basic, `APO_AUTH_TOKEN` → Bearer)
1410
+ * resolved with no arguments. Same name as the otel entry's builder, but
1411
+ * that one accepts explicit keys and returns `{}` when unauthenticated —
1412
+ * this variant reports "no headers" as `undefined` instead. Both share one
1413
+ * implementation in `apo-auth.ts`.
1414
+ */
1415
+ declare function buildApoAuthHeaders(): Record<string, string> | undefined;
1416
+
1328
1417
  /**
1329
1418
  * file Artifact declaration helper.
1330
1419
  *
@@ -1756,7 +1845,16 @@ type AgentTaskRunSummary = {
1756
1845
  runConfiguration?: AgentTaskRunConfiguration;
1757
1846
  };
1758
1847
  declare function loadTaskRuntime(_taskDir: string): Promise<AgentTaskRuntime>;
1759
- declare function runTaskDir(taskDir: string): Promise<AgentTaskRunSummary>;
1848
+ type RunTaskDirOptions = {
1849
+ /**
1850
+ * Receives a handle that ends the active run's root span as cancelled and
1851
+ * flushes it. Callers that can be terminated by a signal (the CLI task
1852
+ * child, `apo task run`) register it so the run's trace and linkage survive
1853
+ * their own death instead of dying with the process.
1854
+ */
1855
+ registerCancel?: (cancel: (reason?: string) => Promise<void>) => void;
1856
+ };
1857
+ declare function runTaskDir(taskDir: string, options?: RunTaskDirOptions): Promise<AgentTaskRunSummary>;
1760
1858
 
1761
1859
  type DeliverableValidationResult = {
1762
1860
  results: EvaluationItemResult[];
@@ -1997,61 +2095,6 @@ declare function canonicalManifestJson(manifest: TaskRevisionManifestV1): string
1997
2095
  /** SHA-256 (lowercase hex) of the canonical manifest JSON's UTF-8 bytes. */
1998
2096
  declare function contentSha256(manifest: TaskRevisionManifestV1): string;
1999
2097
 
2000
- /**
2001
- * Normalized transcript model — the common shape every harness transcript
2002
- * parser produces, and the input to the OTLP translator.
2003
- *
2004
- * The model is deliberately lossy-but-sufficient for trace reconstruction:
2005
- * per turn it keeps the user/assistant text, thinking, tool calls with their
2006
- * results, model identity, and token usage. Anything the projection cannot
2007
- * use (streaming chunk boundaries, harness housekeeping) is folded away.
2008
- */
2009
- type TranscriptSource = "claude-code" | "codex";
2010
- type TranscriptUsage = {
2011
- inputTokens?: number;
2012
- outputTokens?: number;
2013
- cacheReadTokens?: number;
2014
- cacheWriteTokens?: number;
2015
- reasoningTokens?: number;
2016
- };
2017
- type TranscriptToolCall = {
2018
- callId: string;
2019
- name: string;
2020
- /** Arguments exactly as recorded — parsed object when the harness allows, raw string otherwise. */
2021
- input: unknown;
2022
- /** Rendered result text or the raw output payload; absent when the transcript never recorded one. */
2023
- result?: unknown;
2024
- /** ISO timestamp of the call, when the transcript carries one. */
2025
- startedAt?: string;
2026
- /** ISO timestamp of the matching result, when the transcript carries one. */
2027
- endedAt?: string;
2028
- };
2029
- type TranscriptTurn = {
2030
- /** Zero-based position of the turn within the session. */
2031
- index: number;
2032
- /** ISO timestamp of the user message that opened the turn. */
2033
- startedAt: string;
2034
- /** ISO timestamp of the last observed event in the turn, when known. */
2035
- endedAt?: string;
2036
- model?: string;
2037
- userMessage?: string;
2038
- assistantMessage?: string;
2039
- /** Extended-thinking text (Claude) or reasoning summaries (Codex). */
2040
- thinkingText?: string;
2041
- /** Codex commentary-phase messages (progress narration, not reasoning). */
2042
- commentary?: string[];
2043
- toolCalls: TranscriptToolCall[];
2044
- usage?: TranscriptUsage;
2045
- };
2046
- type ParsedTranscriptSession = {
2047
- source: TranscriptSource;
2048
- sessionId: string;
2049
- cwd?: string;
2050
- turns: TranscriptTurn[];
2051
- /** Non-fatal parse issues: torn lines, unterminated turns, unmatched outputs. */
2052
- warnings: string[];
2053
- };
2054
-
2055
2098
  /**
2056
2099
  * Claude Code session-transcript parser.
2057
2100
  *
@@ -2086,7 +2129,7 @@ declare function parseClaudeCodeTranscript(content: string): ParsedTranscriptSes
2086
2129
  * ``commentary``), ``token_count`` (``info.last_token_usage``).
2087
2130
  * - ``response_item`` payloads: ``function_call`` / ``custom_tool_call`` and
2088
2131
  * their ``*_output`` counterparts (paired by ``call_id``), ``reasoning``
2089
- * (summary text), ``web_search_call``.
2132
+ * (summary parts), ``web_search_call``.
2090
2133
  *
2091
2134
  * A turn is bracketed by ``task_started`` … ``task_complete``. A rollout that
2092
2135
  * ends mid-turn (harness killed, crash) still yields its turn — the activity
@@ -2095,6 +2138,21 @@ declare function parseClaudeCodeTranscript(content: string): ParsedTranscriptSes
2095
2138
 
2096
2139
  declare function parseCodexTranscript(content: string): ParsedTranscriptSession;
2097
2140
 
2141
+ /**
2142
+ * Transcript source detection.
2143
+ *
2144
+ * Guesses which harness wrote a JSONL transcript from its leading lines —
2145
+ * blank, torn, or non-object lines are scanned past until one is decisive —
2146
+ * so `apo traces import <file>` needs no `--source` in the common case:
2147
+ *
2148
+ * - Codex rollouts are uniformly ``{ type: session_meta|turn_context|
2149
+ * event_msg|response_item, timestamp, payload }``.
2150
+ * - Claude Code transcripts are ``{ type: "user"|"assistant", message, … }``
2151
+ * with the session's identity fields (``sessionId``/``cwd``) on the lines.
2152
+ */
2153
+
2154
+ declare function detectTranscriptSource(content: string): TranscriptSource | undefined;
2155
+
2098
2156
  /**
2099
2157
  * Transcript → OTLP/JSON translator.
2100
2158
  *
@@ -2175,8 +2233,11 @@ declare function transcriptSessionToOtlp(session: ParsedTranscriptSession, optio
2175
2233
  * - Attempt/service token (adapter capture): the replayed spans join the live
2176
2234
  * task run's trace — the runner's root span already carries the claim.
2177
2235
  *
2178
- * 5xx and network failures are retried; a 4xx is a caller bug (bad token,
2179
- * malformed payload) and fails fast with the response body excerpt.
2236
+ * 5xx, 429, and network failures are retried — apo's admission controller
2237
+ * 429s OTLP ingest under per-key concurrency pressure, which the runner's own
2238
+ * simple-processor exports can create while a replay POST is in flight. Any
2239
+ * other 4xx is a caller bug (bad token, malformed payload) and fails fast
2240
+ * with the response body excerpt.
2180
2241
  */
2181
2242
 
2182
2243
  declare class TranscriptReplayError extends Error {
@@ -2186,8 +2247,10 @@ declare class TranscriptReplayError extends Error {
2186
2247
  type ExportOtlpTracesOptions = {
2187
2248
  /** apo base URL (e.g. http://localhost:8000); a full …/v1/traces URL is accepted verbatim. */
2188
2249
  endpoint: string;
2189
- /** API key or attempt token — sent as the OTLP Authorization bearer. */
2190
- token: string;
2250
+ /** Attempt/service token — sent as the OTLP Authorization bearer. */
2251
+ token?: string;
2252
+ /** Complete headers override (e.g. buildApoAuthHeaders() for Basic API-key auth). */
2253
+ headers?: Record<string, string>;
2191
2254
  /** Per-request timeout. Default 30s. */
2192
2255
  timeoutMs?: number;
2193
2256
  /** Extra attempts after the first on 5xx/network failure. Default 2. */
@@ -2197,4 +2260,53 @@ type ExportOtlpTracesOptions = {
2197
2260
  declare function resolveOtlpTracesUrl(base: string): string;
2198
2261
  declare function exportOtlpTraces(payload: OtlpTracesPayload, options: ExportOtlpTracesOptions): Promise<void>;
2199
2262
 
2200
- export { type AISDKResult, type AdapterDefinition, type AdapterRuntimeState, type AdapterSession, type AgentBudget, type AgentEvidence, type AgentJudgeOptions, type AgentJudgeOutcome, type AgentJudgeSession, type AgentJudgeStep, type AgentTaskCliOptions, type AgentTaskRunConfiguration, AgentTaskRunError, type AgentTaskRunSummary, type AgentTaskRuntime, AgentTaskTraceContext, AgentTaskTraceOptions, type AgentTurnResult, type AnthropicMessage, type ApoRunContext, ApoSpanProcessor, type ArtifactUploadConfig, type CheckCompaction, type CheckContext, type CheckGroup, type CleanupContext, type CollectDeliverablesContext, type CollectedDeliverables, type DeliverableDefinition, type DeliverableSummary, type DeliverableValidationResult, type DescribeRegistration, type DurationBudgetOptions, type EvidenceFingerprint, type ExportOtlpTracesOptions, type FileArtifact, type FileArtifactOptions, type FileEntry, type Flow, type FlowEvent, FlowView, type InitializeContext, JUDGE_SEGMENT_LIMIT, type JudgeConfig, type JudgeContext, type JudgePromptBuilder, type JudgeScope, type JudgeToolsConfig, type LoadedTask, type ManifestFile, type ManifestFileInput, type Matcher, type McpHttpTransport, type McpServerConfig, type McpStdioTransport, type ModeClass, type NameMatcher, type OpenAIMessage, type OtlpAttribute, type OtlpAttributeValue, type OtlpSpan, type OtlpTracesPayload, type ParsedTranscriptSession, type PreparedTaskResult, RECEIVED_VALUE_LIMIT, type RegisterApoTracingOptions, type RejudgeCheckStability, type RejudgeEndpoints, RejudgeError, type RejudgeOptions, type RejudgeOutcome, type RunTaskOptions, type StartSessionContext, TEST_METHOD_NAMES, type TaskConfig, type TaskDefinition, type TaskEvaluationResult, TaskFiles, type TaskRevisionManifestV1, type TaskRunResult, type TaskScope, type TaskTranscript, type TaskTranscriptTurn, type TestContext, type TestRegistration, type TokenBudgetOptions, type ToolCallOptions, type ToolCallStatus, TranscriptReplayError, type TranscriptReplayOptions, type TranscriptSource, type TranscriptToolCall, type TranscriptTurn, type TranscriptUsage, type TurnContext, type TurnFn, type TurnRecord, type TypedAdapterDefinition, type ValueMatcher, buildManifest, canonicalManifestJson, compactChecksForSubmission, connectMcpServers, contentSha256, defineAdapter, defineTask, describe, discoverAgentTaskDirs, equals, expandSecretPlaceholders, exportOtlpTraces, fileArtifact, filePaths, fromAISDK, fromAnthropicMessages, fromOpenAIMessages, getActiveApoRun, getTaskTurn, includes, isFileArtifact, loadTask, loadTaskRuntime, matchValue, matches, normalizeManifestPath, parseAgentTaskCliArgs, parseClaudeCodeTranscript, parseCodexTranscript, persistFileArtifacts, registerApoTracing, rejudgeTaskRun, resetApoTracing, resetFlowChecks, resetTaskRegistry, resetTaskTurn, resolveMcpServerPaths, resolveOtlpTracesUrl, resolveTurn, runAgentTaskCli, runTask, runTaskDir, satisfies, sha256Hex, similarity, task, defineCheck as test, transcriptSessionToOtlp, turn, withApoRun, withApoRunSync };
2263
+ /**
2264
+ * Adapter capture mode — replay a harness session transcript into a live
2265
+ * Task Run.
2266
+ *
2267
+ * The adapter contract this serves: a harness that cannot emit OTel (Codex
2268
+ * CLI, plain Claude Code, anything that only writes a session JSONL) declares
2269
+ * its transcript on the session (`AdapterSession.transcript`), and the runner
2270
+ * calls {@link replayAdapterTranscript} after the turn loop. One call does
2271
+ * two things with the same parse:
2272
+ *
2273
+ * 1. **Local:** converts the translated spans into projection observations and
2274
+ * returns them, so the runner can inject them into the local snapshot —
2275
+ * `t.calledTool` / budget assertions work even on offline, unrecorded runs.
2276
+ * 2. **Remote:** when the run has a live trace id and backend credentials, the
2277
+ * OTLP payload joins the run's trace (same traceId, interactions parented
2278
+ * under the run root) and the backend projects it exactly like native OTel
2279
+ * spans — the read-back snapshot the recorded path evaluates against is
2280
+ * indistinguishable from an instrumented run.
2281
+ *
2282
+ * Failure semantics are strict on purpose: the adapter *declared* a
2283
+ * transcript, so a missing file or a failed export on a recorded run fails
2284
+ * the run loudly — otherwise checks would starve on a projection that
2285
+ * silently lacks the agent's activity.
2286
+ */
2287
+
2288
+ type ReplayAdapterTranscriptOptions = {
2289
+ /** The live run's root span id — replayed interactions nest under it. */
2290
+ rootSpanId: string;
2291
+ /**
2292
+ * The live trace id. Present only when the run has a real trace (a noop
2293
+ * trace context yields sentinel ids); when absent the replay stays local.
2294
+ */
2295
+ liveTraceId?: string;
2296
+ /** apo base URL (AGENT_TASK_TRACE_ENDPOINT). Required for remote export. */
2297
+ endpoint?: string;
2298
+ };
2299
+ type TranscriptCaptureResult = {
2300
+ /** Projection observations for the replayed spans (already snapshot-sorted). */
2301
+ observations: TraceProjectionObservation[];
2302
+ /** Total OTLP spans the translation produced (observations + resource meta). */
2303
+ spanCount: number;
2304
+ /** Whether the payload was exported to the backend. */
2305
+ exported: boolean;
2306
+ /** Parser warnings (torn lines, unterminated turns). */
2307
+ warnings: string[];
2308
+ turns: number;
2309
+ };
2310
+ declare function replayAdapterTranscript(capture: AdapterTranscriptCapture, options: ReplayAdapterTranscriptOptions): Promise<TranscriptCaptureResult>;
2311
+
2312
+ export { type AISDKResult, type AdapterDefinition, type AdapterRuntimeState, type AdapterSession, type AdapterTranscriptCapture, type AgentBudget, type AgentEvidence, type AgentJudgeOptions, type AgentJudgeOutcome, type AgentJudgeSession, type AgentJudgeStep, type AgentTaskCliOptions, type AgentTaskRunConfiguration, AgentTaskRunError, type AgentTaskRunSummary, type AgentTaskRuntime, AgentTaskTraceContext, AgentTaskTraceOptions, type AgentTurnResult, type AnthropicMessage, type ApoRunContext, ApoSpanProcessor, type ArtifactUploadConfig, type CheckCompaction, type CheckContext, type CheckGroup, type CleanupContext, type CollectDeliverablesContext, type CollectedDeliverables, type DeliverableDefinition, type DeliverableSummary, type DeliverableValidationResult, type DescribeRegistration, type DurationBudgetOptions, type EvidenceFingerprint, type ExportOtlpTracesOptions, type FileArtifact, type FileArtifactOptions, type FileEntry, type Flow, type FlowEvent, FlowView, type InitializeContext, JUDGE_SEGMENT_LIMIT, type JudgeConfig, type JudgeContext, type JudgePromptBuilder, type JudgeScope, type JudgeToolsConfig, type LoadedTask, type ManifestFile, type ManifestFileInput, type Matcher, type McpHttpTransport, type McpServerConfig, type McpStdioTransport, type ModeClass, type NameMatcher, type OpenAIMessage, type OtlpAttribute, type OtlpAttributeValue, type OtlpSpan, type OtlpTracesPayload, type ParsedTranscriptSession, type PreparedTaskResult, RECEIVED_VALUE_LIMIT, type RegisterApoTracingOptions, type RejudgeCheckStability, type RejudgeEndpoints, RejudgeError, type RejudgeOptions, type RejudgeOutcome, type ReplayAdapterTranscriptOptions, type RunTaskOptions, type StartSessionContext, TEST_METHOD_NAMES, type TaskConfig, type TaskDefinition, type TaskEvaluationResult, TaskFiles, type TaskRevisionManifestV1, type TaskRunResult, type TaskScope, type TaskTranscript, type TaskTranscriptTurn, type TestContext, type TestRegistration, type TokenBudgetOptions, type ToolCallOptions, type ToolCallStatus, type TranscriptCaptureResult, TranscriptReplayError, type TranscriptReplayOptions, type TranscriptSource, type TranscriptToolCall, type TranscriptTurn, type TranscriptUsage, type TurnContext, type TurnFn, type TurnRecord, type TypedAdapterDefinition, type ValueMatcher, buildApoAuthHeaders, buildManifest, canonicalManifestJson, compactChecksForSubmission, connectMcpServers, contentSha256, defineAdapter, defineTask, describe, detectTranscriptSource, discoverAgentTaskDirs, equals, expandSecretPlaceholders, exportOtlpTraces, fileArtifact, filePaths, fromAISDK, fromAnthropicMessages, fromOpenAIMessages, getActiveApoRun, getTaskTurn, includes, isFileArtifact, loadTask, loadTaskRuntime, matchValue, matches, normalizeManifestPath, parseAgentTaskCliArgs, parseClaudeCodeTranscript, parseCodexTranscript, persistFileArtifacts, registerApoTracing, rejudgeTaskRun, replayAdapterTranscript, resetApoTracing, resetFlowChecks, resetTaskRegistry, resetTaskTurn, resolveMcpServerPaths, resolveOtlpTracesUrl, resolveTurn, runAgentTaskCli, runTask, runTaskDir, satisfies, sha256Hex, similarity, task, defineCheck as test, transcriptSessionToOtlp, turn, withApoRun, withApoRunSync };