engineering-behavior-observatory 0.2.1

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 (178) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +151 -0
  3. package/contracts/codex-app-server-0.150.1/manifest.json +25 -0
  4. package/contracts/codex-app-server-0.150.1/schema/InitializeParams.json +84 -0
  5. package/contracts/codex-app-server-0.150.1/schema/JSONRPCMessage.json +137 -0
  6. package/contracts/codex-app-server-0.150.1/schema/v2/ThreadReadParams.json +17 -0
  7. package/contracts/codex-app-server-0.150.1/schema/v2/ThreadTokenUsageUpdatedNotification.json +82 -0
  8. package/contracts/codex-app-server-0.150.1/schema/v2/TurnInterruptParams.json +17 -0
  9. package/contracts/codex-app-server-0.150.1/types/AskForApproval.ts +5 -0
  10. package/contracts/codex-app-server-0.150.1/types/ClientNotification.ts +5 -0
  11. package/contracts/codex-app-server-0.150.1/types/SandboxMode.ts +5 -0
  12. package/contracts/codex-app-server-0.150.1/types/ThreadReadParams.ts +9 -0
  13. package/contracts/codex-app-server-0.150.1/types/TokenUsageBreakdown.ts +5 -0
  14. package/contracts/codex-app-server-0.150.1/types/TurnInterruptParams.ts +5 -0
  15. package/contracts/codex-app-server-0.153.4/manifest.json +27 -0
  16. package/contracts/codex-app-server-0.153.4/schema/JSONRPCMessage.json +137 -0
  17. package/contracts/codex-app-server-0.153.4/schema/v1/InitializeParams.json +84 -0
  18. package/contracts/codex-app-server-0.153.4/schema/v2/ThreadReadParams.json +17 -0
  19. package/contracts/codex-app-server-0.153.4/schema/v2/ThreadStartParams.json +515 -0
  20. package/contracts/codex-app-server-0.153.4/schema/v2/ThreadTokenUsageUpdatedNotification.json +82 -0
  21. package/contracts/codex-app-server-0.153.4/schema/v2/TurnInterruptParams.json +17 -0
  22. package/contracts/codex-app-server-0.153.4/schema/v2/TurnStartParams.json +921 -0
  23. package/contracts/codex-app-server-0.153.4/types/AskForApproval.ts +5 -0
  24. package/contracts/codex-app-server-0.153.4/types/ClientNotification.ts +5 -0
  25. package/contracts/codex-app-server-0.153.4/types/SandboxMode.ts +5 -0
  26. package/contracts/codex-app-server-0.153.4/types/ThreadReadParams.ts +12 -0
  27. package/contracts/codex-app-server-0.153.4/types/TokenUsageBreakdown.ts +5 -0
  28. package/contracts/codex-app-server-0.153.4/types/TurnInterruptParams.ts +5 -0
  29. package/contracts/openhands-agent-server-v1.44.1.json +65 -0
  30. package/contracts/openhands-agent-server-v1.46.0.json +46 -0
  31. package/dist/contracts/codex-app-server-0.153.4/types/AskForApproval.d.ts +9 -0
  32. package/dist/contracts/codex-app-server-0.153.4/types/AskForApproval.js +2 -0
  33. package/dist/contracts/codex-app-server-0.153.4/types/ClientNotification.d.ts +3 -0
  34. package/dist/contracts/codex-app-server-0.153.4/types/ClientNotification.js +2 -0
  35. package/dist/contracts/codex-app-server-0.153.4/types/SandboxMode.d.ts +1 -0
  36. package/dist/contracts/codex-app-server-0.153.4/types/SandboxMode.js +2 -0
  37. package/dist/contracts/codex-app-server-0.153.4/types/ThreadReadParams.d.ts +10 -0
  38. package/dist/contracts/codex-app-server-0.153.4/types/ThreadReadParams.js +2 -0
  39. package/dist/contracts/codex-app-server-0.153.4/types/TokenUsageBreakdown.d.ts +8 -0
  40. package/dist/contracts/codex-app-server-0.153.4/types/TokenUsageBreakdown.js +2 -0
  41. package/dist/contracts/codex-app-server-0.153.4/types/TurnInterruptParams.d.ts +4 -0
  42. package/dist/contracts/codex-app-server-0.153.4/types/TurnInterruptParams.js +2 -0
  43. package/dist/src/agent-sdk-normalizer.d.ts +22 -0
  44. package/dist/src/agent-sdk-normalizer.js +995 -0
  45. package/dist/src/agent-sdk-run.d.ts +31 -0
  46. package/dist/src/agent-sdk-run.js +242 -0
  47. package/dist/src/agent-sdk-runner.d.ts +96 -0
  48. package/dist/src/agent-sdk-runner.js +407 -0
  49. package/dist/src/agent-sdk.d.ts +294 -0
  50. package/dist/src/agent-sdk.js +644 -0
  51. package/dist/src/aggregation.d.ts +183 -0
  52. package/dist/src/aggregation.js +513 -0
  53. package/dist/src/artifacts.d.ts +36 -0
  54. package/dist/src/artifacts.js +1372 -0
  55. package/dist/src/atlas-grafana.d.ts +377 -0
  56. package/dist/src/atlas-grafana.js +47 -0
  57. package/dist/src/atlas-html.d.ts +2 -0
  58. package/dist/src/atlas-html.js +34 -0
  59. package/dist/src/atlas.d.ts +130 -0
  60. package/dist/src/atlas.js +235 -0
  61. package/dist/src/behavior-assertions.d.ts +95 -0
  62. package/dist/src/behavior-assertions.js +154 -0
  63. package/dist/src/cli.d.ts +5 -0
  64. package/dist/src/cli.js +957 -0
  65. package/dist/src/codex-judge.d.ts +44 -0
  66. package/dist/src/codex-judge.js +214 -0
  67. package/dist/src/codex-run.d.ts +114 -0
  68. package/dist/src/codex-run.js +519 -0
  69. package/dist/src/codex.d.ts +187 -0
  70. package/dist/src/codex.js +1028 -0
  71. package/dist/src/contracts.d.ts +155 -0
  72. package/dist/src/contracts.js +866 -0
  73. package/dist/src/corpus.d.ts +67 -0
  74. package/dist/src/corpus.js +540 -0
  75. package/dist/src/cursor-sdk-runner.d.ts +81 -0
  76. package/dist/src/cursor-sdk-runner.js +362 -0
  77. package/dist/src/cursor-sdk.d.ts +81 -0
  78. package/dist/src/cursor-sdk.js +1078 -0
  79. package/dist/src/deepseek-adapter.d.ts +152 -0
  80. package/dist/src/deepseek-adapter.js +777 -0
  81. package/dist/src/exports.d.ts +69 -0
  82. package/dist/src/exports.js +966 -0
  83. package/dist/src/human-calibration.d.ts +167 -0
  84. package/dist/src/human-calibration.js +618 -0
  85. package/dist/src/index.d.ts +71 -0
  86. package/dist/src/index.js +38 -0
  87. package/dist/src/lifecycle.d.ts +196 -0
  88. package/dist/src/lifecycle.js +1889 -0
  89. package/dist/src/normalization-integrity.d.ts +128 -0
  90. package/dist/src/normalization-integrity.js +429 -0
  91. package/dist/src/openhands-run.d.ts +36 -0
  92. package/dist/src/openhands-run.js +415 -0
  93. package/dist/src/openhands.d.ts +130 -0
  94. package/dist/src/openhands.js +859 -0
  95. package/dist/src/pi.d.ts +203 -0
  96. package/dist/src/pi.js +1345 -0
  97. package/dist/src/process-protocol.d.ts +245 -0
  98. package/dist/src/process-protocol.js +1261 -0
  99. package/dist/src/retained-evidence.d.ts +12 -0
  100. package/dist/src/retained-evidence.js +201 -0
  101. package/dist/src/run-bundles.d.ts +193 -0
  102. package/dist/src/run-bundles.js +993 -0
  103. package/dist/src/scheduler.d.ts +109 -0
  104. package/dist/src/scheduler.js +1080 -0
  105. package/dist/src/semantic-judge.d.ts +194 -0
  106. package/dist/src/semantic-judge.js +875 -0
  107. package/dist/src/structural-observations.d.ts +124 -0
  108. package/dist/src/structural-observations.js +671 -0
  109. package/dist/src/task-packets.d.ts +115 -0
  110. package/dist/src/task-packets.js +683 -0
  111. package/dist/src/uniform-events.d.ts +120 -0
  112. package/dist/src/uniform-events.js +158 -0
  113. package/dist/src/verifiers.d.ts +116 -0
  114. package/dist/src/verifiers.js +819 -0
  115. package/dist/src/workspaces.d.ts +56 -0
  116. package/dist/src/workspaces.js +1314 -0
  117. package/docs/README.md +60 -0
  118. package/docs/development/README.md +71 -0
  119. package/docs/development/documentation-sync.md +58 -0
  120. package/docs/development/extension-contracts.md +307 -0
  121. package/docs/evaluation/README.md +48 -0
  122. package/docs/evaluation/aggregation.md +112 -0
  123. package/docs/evaluation/behavior-assertions.md +45 -0
  124. package/docs/evaluation/human-calibration.md +170 -0
  125. package/docs/evaluation/normalization-integrity.md +80 -0
  126. package/docs/evaluation/semantic-judge.md +188 -0
  127. package/docs/evaluation/structural-observations.md +84 -0
  128. package/docs/evaluation/uniform-events.md +131 -0
  129. package/docs/guides/atlas.md +144 -0
  130. package/docs/guides/evidence-and-sharing.md +100 -0
  131. package/docs/guides/operator-guide.md +424 -0
  132. package/docs/guides/quickstart.md +152 -0
  133. package/docs/guides/telemetry.md +66 -0
  134. package/docs/harnesses/README.md +31 -0
  135. package/docs/harnesses/claude-agent-sdk.md +61 -0
  136. package/docs/harnesses/codex-harness.md +174 -0
  137. package/docs/harnesses/cursor-sdk.md +149 -0
  138. package/docs/harnesses/deepseek-harness.md +134 -0
  139. package/docs/harnesses/openhands-agent-server.md +153 -0
  140. package/docs/harnesses/pi-sdk.md +66 -0
  141. package/docs/reference/README.md +19 -0
  142. package/docs/reference/agent-sdk-operational-runner.md +118 -0
  143. package/docs/reference/cli.md +114 -0
  144. package/docs/reference/contracts.md +222 -0
  145. package/docs/reference/run-bundle-contract.md +354 -0
  146. package/docs/reference/run-lifecycle.md +54 -0
  147. package/examples/cursor-sdk/README.md +11 -0
  148. package/examples/cursor-sdk/capture-profile.json +1 -0
  149. package/examples/cursor-sdk/harness.json +1 -0
  150. package/examples/cursor-sdk/model.json +1 -0
  151. package/examples/cursor-sdk/native-limits.json +1 -0
  152. package/examples/cursor-sdk/native-tool-policy.json +1 -0
  153. package/ontology/behavior-categories.v1.json +46 -0
  154. package/package.json +66 -0
  155. package/release/0.1.0/KNOWN_LIMITATIONS.md +35 -0
  156. package/release/0.1.0/README.md +46 -0
  157. package/release/0.1.0/reproducibility.json +61 -0
  158. package/release/0.2.0/KNOWN_LIMITATIONS.md +40 -0
  159. package/release/0.2.0/README.md +42 -0
  160. package/release/0.2.0/reproducibility.json +73 -0
  161. package/release/0.2.1/KNOWN_LIMITATIONS.md +18 -0
  162. package/release/0.2.1/README.md +63 -0
  163. package/release/0.2.1/reproducibility.json +73 -0
  164. package/release/README.md +13 -0
  165. package/schemas/aggregation.v1.json +293 -0
  166. package/schemas/behavior-assertions.v1.json +220 -0
  167. package/schemas/deepseek-runtime-composition.v1.schema.json +122 -0
  168. package/schemas/experiment.v1.schema.json +188 -0
  169. package/schemas/human-calibration.v1.json +336 -0
  170. package/schemas/normalization-integrity.v1.json +302 -0
  171. package/schemas/run-bundles/v1.json +1040 -0
  172. package/schemas/run-queue.v1.schema.json +206 -0
  173. package/schemas/semantic-judge.v1.json +380 -0
  174. package/schemas/structural-observations.v1.json +131 -0
  175. package/schemas/task-packet-freeze.v1.schema.json +106 -0
  176. package/schemas/task-packet.v1.schema.json +234 -0
  177. package/schemas/uniform-events/v1.json +289 -0
  178. package/scripts/atlas-grafana.sh +18 -0
@@ -0,0 +1,71 @@
1
+ export { main } from "./cli.js";
2
+ export { assertUniqueArtifactIdentities, canonicalizeMetadata, digestBytes, digestMetadata, inspectRetainedArtifact, readVerifiedArtifact, SUPPORTED_ARTIFACT_SCHEMA_VERSIONS, validateArtifact, validateExportManifest, validateRunManifestEvidence, verifyDigest, writeArtifactAtomically, writeMetadataAtomically, } from "./artifacts.js";
3
+ export type { ArtifactIdentity, ArtifactValidationError } from "./artifacts.js";
4
+ export { assertAdmittedTaskPackets, assertArchiveMeasurements, assertControlledPerturbationDigest, assertDeclaredOrder, assertNoSelectedSymlinks, assertResolvedExperimentConfigurationDigests, declaredMatrixCells, isSafeArtifactRelativePath, MAX_CONFIGURATION_BYTES, resolveBundleConfiguration, resolveBundleArtifact, resolveBundleArtifactDigest, resolveTaskArchive, readTaskArchive, validateTaskArchive, } from "./contracts.js";
5
+ export { admitTaskPacket, assertTaskPacketFreezeRecord, assertTaskPacketAdmitted, defaultFreezeLocator, formatErrors, freezeTaskPacket, inspectTaskPacket, modelVisibleTaskPacket, statusTaskPacket, MAX_TASK_PACKET_METADATA_BYTES, TASK_PACKET_FREEZE_SCHEMA_VERSION, } from "./task-packets.js";
6
+ export type { TaskPacket, TaskPacketComponent, TaskPacketComponents, TaskPacketFreezeRecord, TaskPacketInspection, TaskPacketStatus } from "./task-packets.js";
7
+ export type { ArtifactReference, AssessmentMode, ArchiveEntry, ArchiveLimits, ArchiveMeasurements, ControlledPerturbationDeclaration, DeclaredOrder, DeclaredMatrixCell, Digest, ExperimentConfiguration, ExperimentOrdering, ReferenceSolutionDeclaration, ResolvedTaskPacket, TaskCondition, TaskConditionSet, TaskArchiveEntry, } from "./contracts.js";
8
+ export { assertValidRunQueue, compileRunQueue, expandMatrixCells, inspectRunQueue, LocalRunQueue, MAX_RUN_QUEUE_BYTES, MAX_RUN_QUEUE_ENTRIES, readRunQueue, validateRunQueue, writeRunQueue, } from "./scheduler.js";
9
+ export type { CompileRunQueueOptions, FrozenTaskIdentity, FrozenTaskInput, PermutationAlgorithm, QueueOrderingStrategy, RunQueue, RunQueueEntry, RunQueueInspection, RunQueueMatrix, ValidateRunQueueOptions, } from "./scheduler.js";
10
+ export { digestWorkspace, digestWorkspaceTree, executeVerifier, serializeVerifierResult, writeVerifierResult, } from "./verifiers.js";
11
+ export type { CompleteVerifierResult, DiagnosticOrigin, DiagnosticReference, ExecuteVerifierOptions, VerifierAssertion, VerifierAssertionStatus, VerifierErrorResult, VerifierExecutionReference, VerifierFailedResult, VerifierNotRunResult, VerifierNotRunAssertion, VerifierPassedAssertion, VerifierPassedResult, VerifierResult, VerifierRunResult, VerifierWorkspace, } from "./verifiers.js";
12
+ export { cleanupWorkspace, materializeWorkspace } from "./workspaces.js";
13
+ export type { WorkspaceMaterialization, WorkspaceMaterializationOptions, WorkspaceSetupContext, WorkspaceSetupStep, } from "./workspaces.js";
14
+ export { createAttemptIdentity, createRunIdentity, executeRunAttempt, InvalidLifecycleTransitionError, LifecycleController, retryAttempt, readAttemptRecord, writeAttemptRecord, } from "./lifecycle.js";
15
+ export type { AttemptClassification, AttemptClassificationKind, AttemptIdentity, AttemptRecord, EvidenceSink, FailureClass, HarnessExecutionContext, HarnessExecutionResult, HarnessExecutor, HarnessShutdownResult, LifecycleSnapshot, LifecycleState, LifecycleTransition, RunAttemptOptions, RunAttemptResult, RunIdentity, StopReason, TerminalRecord, TerminalState, VerifierExecutionContext, VerifierExecutionResult, VerifierExecutor, VerifierShutdownResult, WorkspaceCleanupContext, WorkspaceCoordinator, WorkspaceExecutionResult, WorkspaceShutdownResult, WorkspaceSetupContext as LifecycleWorkspaceSetupContext, } from "./lifecycle.js";
16
+ export { createRunBundleAssembler, qualifyRunBundle, RunBundleAssembler, } from "./run-bundles.js";
17
+ export type { AgentSdkQualificationEvidence, CaptureQualificationDimension, CaptureQualificationOptions, CaptureQualificationReason, CaptureQualificationReasonCode, CaptureQualificationReport, CaptureQualificationStatus, CapturedWorkspaceOutcome, CaptureMissingEvidence, CaptureWorkspaceOutcomeOptions, RegisterRunBundleArtifact, RunBundleConfiguration, RunBundleDefinition, RunBundleEvidenceDescriptor, RunBundleRun, RunBundleRuntimeComponent, RunManifest, } from "./run-bundles.js";
18
+ export { createPortableRunBundleExport, readPortableRunBundleExport } from "./exports.js";
19
+ export type { CreatePortableRunBundleExportOptions, PortableExportArtifact, PortableExportManifest, PortableExportPolicy, } from "./exports.js";
20
+ export { buildCorpusIndex, packPortableExport, queryCorpusIndex, readCorpusIndex, unpackPortableExport, validateCorpusIndex, writeCorpusIndex, } from "./corpus.js";
21
+ export type { CorpusIndexEntry, CorpusIndexQuery, CorpusIndexValidationIssue, CorpusSourceIssue, } from "./corpus.js";
22
+ export { BoundedDiagnosticCapture, JsonlEvidenceWriter, openJsonlEvidenceWriter, ProtocolEvidenceRecorder, ProtocolProcess, runProtocolProcess, spawnProtocolProcess, } from "./process-protocol.js";
23
+ export { loadAtlas, queryAtlas, serveAtlas, shareAtlas, writeAtlas } from "./atlas.js";
24
+ export type { AtlasCase, AtlasFilters, AtlasRequest, AtlasSource, AtlasView } from "./atlas.js";
25
+ export { captureCodexAppServer, CODEX_ADAPTER_VERSION, CODEX_APP_SERVER_CAPABILITIES, CODEX_APP_SERVER_VERSION, CODEX_DEFAULT_SHUTDOWN_GRACE_MS, CODEX_HARNESS, createCodexHarnessAdapter, describeAndValidateCodexDataset, normalizeCodexCapture, } from "./codex.js";
26
+ export type { CodexAppServerCapture, CodexAppServerCaptureRequest, CodexAppServerConfiguration, CodexApprovalPolicy, CodexCaptureGap, CodexOtlpRecord, CodexReasoningEffort, CodexSandbox, CodexTelemetryEvidence, CodexTelemetrySignal, } from "./codex.js";
27
+ export { captureCodexAppServerRun, CODEX_CONFIG_SCHEMA_VERSION, CODEX_CONTRACT_DIGEST, resolveCodexConfigurationRecord, runCodexQueueEntry, } from "./codex-run.js";
28
+ export type { CaptureCodexAppServerRunOptions, CaptureCodexAppServerRunResult, CaptureCodexAppServerVerifier, CodexCaptureProfileConfiguration, CodexConfigurationKind, CodexConfigurationRecord, CodexHarnessConfiguration, CodexModelConfiguration, CodexNativeLimitsConfiguration, CodexNativeToolPolicyConfiguration, CodexRunSummary, RunCodexQueueEntryOptions, } from "./codex-run.js";
29
+ export { createDeepSeekHarnessAdapter, createDeepSeekRuntimeComposition, DEEPSEEK_ADAPTER_ID, DEEPSEEK_CAPABILITY_PROFILE, DEEPSEEK_HARNESS_ID, DEEPSEEK_SDK_VERSION, deepSeekCapabilities, deepSeekCompositionDigest, DeepSeekNativeCapture, executeDeepSeekHarness, normalizeDeepSeekCapture, qualifiedDeepSeekCapture, } from "./deepseek-adapter.js";
30
+ export type { DeepSeekAdapterRequest, DeepSeekCapabilities, DeepSeekCaptureReport, DeepSeekFileReference, DeepSeekHarnessConfiguration, DeepSeekNativeObservation, DeepSeekRuntimeComposition, DeepSeekRuntimeCompositionInput, } from "./deepseek-adapter.js";
31
+ export { buildClaudeAgentSdkEnvironment, executeClaudeAgentSdk, openClaudeAgentSdkHookCapture, openClaudeAgentSdkStreamCapture, probeClaudeAgentSdkCapabilities, } from "./agent-sdk.js";
32
+ export type { ClaudeAgentSdkQuery, ClaudeAgentSdkQueryHandle, ClaudeAgentSdkEnvironment, ClaudeAgentSdkCaptureWarnings, ClaudeAgentSdkCaptureReport, ClaudeAgentSdkCapabilities, ClaudeAgentSdkConfiguration, ClaudeAgentSdkEvidenceSink, ClaudeAgentSdkHookCapture, ClaudeAgentSdkHookRecord, ClaudeAgentSdkLifecycleEvent, ClaudeAgentSdkMessageDiagnostic, ClaudeAgentSdkMessageRecord, ClaudeAgentSdkStreamCapture, ClaudeAgentSdkAttemptEvidence, ClaudeAgentSdkTelemetryConfiguration, ClaudeAgentSdkTelemetryCorrelation, ClaudeAgentSdkTelemetryEvidence, ClaudeAgentSdkTelemetryReceipt, ClaudeAgentSdkTelemetrySignal, } from "./agent-sdk.js";
33
+ export { captureClaudeAgentSdkRun } from "./agent-sdk-run.js";
34
+ export type { CaptureClaudeAgentSdkRunOptions, CaptureClaudeAgentSdkRunResult, CaptureClaudeAgentSdkVerifier, } from "./agent-sdk-run.js";
35
+ export { AdapterRegistry, assertAdapterContract, UNIFORM_EVENT_FAMILIES, validateUniformEvents, } from "./uniform-events.js";
36
+ export type { AdapterCapability, AdapterCapabilityProfile, CapturedNativeRecord, ContentReference, EvidenceUnavailable, EvidenceValue, HarnessAdapter, NativeCaptureAdapter, NativeEvidenceReference, NativeEvidenceResolution, NativeEvidenceResolver, NativeOrderEvidence, NormalizationInput, NormalizationResult, QualifiedNativeCapture, UniformAttributeScalar, UniformAttributeValue, UniformEvent, UniformEventFamily, UniformEventNormalizationAdapter, UnmappedNativeRecord, } from "./uniform-events.js";
37
+ export { assessComparisonEligibility, assessLegacyComparisonEligibility, createCapturedNativeEvidenceResolver, describeNormalizedDataset, validateNormalizedCorpus, validateNormalizedDataset, } from "./normalization-integrity.js";
38
+ export { CLAUDE_AGENT_SDK_NORMALIZATION_ADAPTER_VERSION, createAgentSdkStructuralObservationSet, createStructuralObservationSet, STRUCTURAL_EXTRACTOR_REGISTRY, STRUCTURAL_EXTRACTOR_VERSION, validateStructuralObservationSet, } from "./structural-observations.js";
39
+ export type { StructuralObservation, StructuralObservationSet, } from "./structural-observations.js";
40
+ export { createAgentSdkBehaviorEvidence, DEFAULT_BEHAVIOR_VOCABULARY, isConfirmedBehaviorAssertion, validateAgentSdkBehaviorAssertion, validateBehaviorAssertion, validateBehaviorReview, } from "./behavior-assertions.js";
41
+ export type { AgentSdkBehaviorEvidence, BehaviorAssertion, BehaviorCitation, BehaviorReview, BehaviorVocabulary, ResolvedBehaviorCitation, } from "./behavior-assertions.js";
42
+ export { assertCalibrationDestination, effectiveReviewOutcome, isDisputedReviewOutcome, importReviewDecision, selectReviewSample, summarizeCalibration, revalidateReviewSample, terminalVerifierOutcome, validateReviewSample, validateReviewHistory, writeReviewPacket, } from "./human-calibration.js";
43
+ export type { CalibrationSummary, ReviewCandidate, ReviewDecision, ReviewFilters, ReviewHistory, ReviewSample, ReviewSampleCriteria, ReviewSourceSet, } from "./human-calibration.js";
44
+ export { aggregateEvaluation } from "./aggregation.js";
45
+ export type { AggregateMeasurement, AggregateMetric, AggregationDimension, AggregationInput, AggregationReport, AggregationRequest, AttemptSelectionPolicy, } from "./aggregation.js";
46
+ export { CLAUDE_SEMANTIC_JUDGE_BACKEND_ID, packageSemanticJudgeInput, parseSemanticJudgeResponse, runAgentSdkSemanticJudge, runClaudeAgentSdkSemanticJudge, SEMANTIC_JUDGE_PROMPT_VERSION, } from "./semantic-judge.js";
47
+ export type { RunAgentSdkSemanticJudgeOptions, SemanticJudgeBackend, SemanticJudgeBackendResult, SemanticJudgeEvidenceItem, SemanticJudgeInput, SemanticJudgeRequest, SemanticJudgmentRecord, SemanticJudgeUsage, } from "./semantic-judge.js";
48
+ export type { AdapterCoverageReport, ComparisonCandidate, ComparisonCapability, ComparisonReason, ComparisonReport, ComparisonRequest, LegacyComparisonReport, LegacyComparisonRequest, NormalizedDataset, NormalizedDatasetInput, NormalizedContentReference, NormalizedNativeRecord, } from "./normalization-integrity.js";
49
+ export { captureOpenHandsAgentServer, createOpenHandsHarnessAdapter, normalizeOpenHandsCapture, OPENHANDS_AGENT_SERVER_CAPABILITIES, OPENHANDS_AGENT_SERVER_VERSION, OPENHANDS_DEFAULT_MAX_RESPONSE_BYTES, OPENHANDS_MAX_RESPONSE_BYTES, OPENHANDS_DEFAULT_MAX_CAPTURE_BYTES, OPENHANDS_MAX_CAPTURE_BYTES, OPENHANDS_TYPESCRIPT_CLIENT_VERSION, } from "./openhands.js";
50
+ export type { OpenHandsCapture, OpenHandsCaptureRequest, OpenHandsNativeRecord, OpenHandsWebSocket, } from "./openhands.js";
51
+ export { captureOpenHandsAgentServerRun } from "./openhands-run.js";
52
+ export type { CaptureOpenHandsAgentServerRunOptions, CaptureOpenHandsAgentServerRunResult, CaptureOpenHandsAgentServerVerifier, OpenHandsAgentServerRunConfiguration, } from "./openhands-run.js";
53
+ export { CLAUDE_AGENT_SDK_HARNESS, CLAUDE_AGENT_SDK_NORMALIZATION_ADAPTER_ID, claudeAgentSdkNormalizationAdapter, createAgentSdkNativeEvidenceResolver, normalizeClaudeAgentSdkRunBundle, readQualifiedClaudeAgentSdkCapture, } from "./agent-sdk-normalizer.js";
54
+ export type { AgentSdkNativeRecord, AgentSdkNormalizationResult, } from "./agent-sdk-normalizer.js";
55
+ export { AGENT_SDK_CONFIG_SCHEMA_VERSION, resolveAgentSdkConfigurationRecord, runAgentSdkQueueEntry, } from "./agent-sdk-runner.js";
56
+ export { assertPiNativeRecord, capturePiSdkRun, createPiPassiveObserver, describeAndValidatePiDataset, filterPiToolEnvironment, normalizePiCapture, piCapabilityProfile, piNativeType, qualifyRetainedPiCapture, resolvePiConfigurationRecord, runPiQueueEntry, PI_ADAPTER_VERSION, PI_CONFIG_SCHEMA_VERSION, PI_HARNESS, PINNED_PI_SDK_VERSION, } from "./pi.js";
57
+ export type { CapturePiSdkRunOptions, CapturePiSdkRunResult, PiCaptureProfileConfiguration, PiConfigurationKind, PiConfigurationRecord, PiHarnessConfiguration, PiModelConfiguration, PiNativeLimitsConfiguration, PiNativeRecord, PiNativeToolPolicyConfiguration, PiRunSummary, PiSession, PiSessionFactory, PiSessionFactoryInput, RunPiQueueEntryOptions, } from "./pi.js";
58
+ export type { AgentSdkCaptureProfileConfiguration, AgentSdkConfigurationKind, AgentSdkConfigurationRecord, AgentSdkHarnessConfiguration, AgentSdkModelConfiguration, AgentSdkNativeLimitsConfiguration, AgentSdkNativeToolPolicyConfiguration, AgentSdkRunSummary, RunAgentSdkQueueEntryOptions, } from "./agent-sdk-runner.js";
59
+ export type { BoundedDiagnostic, JsonlEvidenceWriterOptions, ProcessTermination, ProtocolCapability, ProtocolCompletionEvidence, ProtocolIdentity, ProtocolObservation, ProtocolObservationInput, ProtocolObservationKind, ProtocolProcessOptions, ProtocolProcessResult, } from "./process-protocol.js";
60
+ export { assertCursorWorkspaceIsolation, captureCursorSdkRun, createCursorSdkBehaviorEvidence, CURSOR_SDK_ADAPTER_ID, CURSOR_SDK_ADAPTER_VERSION, CURSOR_SDK_CAPABILITIES, CURSOR_SDK_DEFAULT_SHUTDOWN_GRACE_MS, CURSOR_SDK_HARNESS, CURSOR_SDK_VERSION, normalizeCursorSdkCapture, } from "./cursor-sdk.js";
61
+ export type { CaptureCursorSdkRunOptions, CaptureCursorSdkRunResult, CaptureCursorSdkVerifier, CursorNativeRecord, CursorSdkAgentFactory, CursorSdkBehaviorEvidence, CursorSdkCaptureConfiguration, CursorSdkCaptureReport, CursorSdkToolPolicy, } from "./cursor-sdk.js";
62
+ export { CURSOR_SDK_CONFIG_SCHEMA_VERSION, resolveCursorSdkConfigurationRecord, runCursorSdkQueueEntry, } from "./cursor-sdk-runner.js";
63
+ export type { CursorSdkCaptureProfileConfiguration, CursorSdkConfigurationKind, CursorSdkConfigurationRecord, CursorSdkHarnessConfiguration, CursorSdkModelConfiguration, CursorSdkModelLister, CursorSdkNativeLimitsConfiguration, CursorSdkNativeToolPolicyConfiguration, CursorSdkRunSummary, RunCursorSdkQueueEntryOptions, } from "./cursor-sdk-runner.js";
64
+ export { createRetainedBehaviorEvidence } from "./retained-evidence.js";
65
+ export type { RetainedBehaviorEvidence } from "./retained-evidence.js";
66
+ export { createRetainedStructuralObservationSet } from "./structural-observations.js";
67
+ export { validateRetainedBehaviorAssertion } from "./behavior-assertions.js";
68
+ export { runAgentSdkSemanticJudge as runRetainedSemanticJudge } from "./semantic-judge.js";
69
+ export { runCodexSemanticJudge } from "./codex-judge.js";
70
+ export type { BehaviorAggregate } from "./aggregation.js";
71
+ export { selectAggregationAttempts } from "./aggregation.js";
@@ -0,0 +1,38 @@
1
+ export { main } from "./cli.js";
2
+ export { assertUniqueArtifactIdentities, canonicalizeMetadata, digestBytes, digestMetadata, inspectRetainedArtifact, readVerifiedArtifact, SUPPORTED_ARTIFACT_SCHEMA_VERSIONS, validateArtifact, validateExportManifest, validateRunManifestEvidence, verifyDigest, writeArtifactAtomically, writeMetadataAtomically, } from "./artifacts.js";
3
+ export { assertAdmittedTaskPackets, assertArchiveMeasurements, assertControlledPerturbationDigest, assertDeclaredOrder, assertNoSelectedSymlinks, assertResolvedExperimentConfigurationDigests, declaredMatrixCells, isSafeArtifactRelativePath, MAX_CONFIGURATION_BYTES, resolveBundleConfiguration, resolveBundleArtifact, resolveBundleArtifactDigest, resolveTaskArchive, readTaskArchive, validateTaskArchive, } from "./contracts.js";
4
+ export { admitTaskPacket, assertTaskPacketFreezeRecord, assertTaskPacketAdmitted, defaultFreezeLocator, formatErrors, freezeTaskPacket, inspectTaskPacket, modelVisibleTaskPacket, statusTaskPacket, MAX_TASK_PACKET_METADATA_BYTES, TASK_PACKET_FREEZE_SCHEMA_VERSION, } from "./task-packets.js";
5
+ export { assertValidRunQueue, compileRunQueue, expandMatrixCells, inspectRunQueue, LocalRunQueue, MAX_RUN_QUEUE_BYTES, MAX_RUN_QUEUE_ENTRIES, readRunQueue, validateRunQueue, writeRunQueue, } from "./scheduler.js";
6
+ export { digestWorkspace, digestWorkspaceTree, executeVerifier, serializeVerifierResult, writeVerifierResult, } from "./verifiers.js";
7
+ export { cleanupWorkspace, materializeWorkspace } from "./workspaces.js";
8
+ export { createAttemptIdentity, createRunIdentity, executeRunAttempt, InvalidLifecycleTransitionError, LifecycleController, retryAttempt, readAttemptRecord, writeAttemptRecord, } from "./lifecycle.js";
9
+ export { createRunBundleAssembler, qualifyRunBundle, RunBundleAssembler, } from "./run-bundles.js";
10
+ export { createPortableRunBundleExport, readPortableRunBundleExport } from "./exports.js";
11
+ export { buildCorpusIndex, packPortableExport, queryCorpusIndex, readCorpusIndex, unpackPortableExport, validateCorpusIndex, writeCorpusIndex, } from "./corpus.js";
12
+ export { BoundedDiagnosticCapture, JsonlEvidenceWriter, openJsonlEvidenceWriter, ProtocolEvidenceRecorder, ProtocolProcess, runProtocolProcess, spawnProtocolProcess, } from "./process-protocol.js";
13
+ export { loadAtlas, queryAtlas, serveAtlas, shareAtlas, writeAtlas } from "./atlas.js";
14
+ export { captureCodexAppServer, CODEX_ADAPTER_VERSION, CODEX_APP_SERVER_CAPABILITIES, CODEX_APP_SERVER_VERSION, CODEX_DEFAULT_SHUTDOWN_GRACE_MS, CODEX_HARNESS, createCodexHarnessAdapter, describeAndValidateCodexDataset, normalizeCodexCapture, } from "./codex.js";
15
+ export { captureCodexAppServerRun, CODEX_CONFIG_SCHEMA_VERSION, CODEX_CONTRACT_DIGEST, resolveCodexConfigurationRecord, runCodexQueueEntry, } from "./codex-run.js";
16
+ export { createDeepSeekHarnessAdapter, createDeepSeekRuntimeComposition, DEEPSEEK_ADAPTER_ID, DEEPSEEK_CAPABILITY_PROFILE, DEEPSEEK_HARNESS_ID, DEEPSEEK_SDK_VERSION, deepSeekCapabilities, deepSeekCompositionDigest, DeepSeekNativeCapture, executeDeepSeekHarness, normalizeDeepSeekCapture, qualifiedDeepSeekCapture, } from "./deepseek-adapter.js";
17
+ export { buildClaudeAgentSdkEnvironment, executeClaudeAgentSdk, openClaudeAgentSdkHookCapture, openClaudeAgentSdkStreamCapture, probeClaudeAgentSdkCapabilities, } from "./agent-sdk.js";
18
+ export { captureClaudeAgentSdkRun } from "./agent-sdk-run.js";
19
+ export { AdapterRegistry, assertAdapterContract, UNIFORM_EVENT_FAMILIES, validateUniformEvents, } from "./uniform-events.js";
20
+ export { assessComparisonEligibility, assessLegacyComparisonEligibility, createCapturedNativeEvidenceResolver, describeNormalizedDataset, validateNormalizedCorpus, validateNormalizedDataset, } from "./normalization-integrity.js";
21
+ export { CLAUDE_AGENT_SDK_NORMALIZATION_ADAPTER_VERSION, createAgentSdkStructuralObservationSet, createStructuralObservationSet, STRUCTURAL_EXTRACTOR_REGISTRY, STRUCTURAL_EXTRACTOR_VERSION, validateStructuralObservationSet, } from "./structural-observations.js";
22
+ export { createAgentSdkBehaviorEvidence, DEFAULT_BEHAVIOR_VOCABULARY, isConfirmedBehaviorAssertion, validateAgentSdkBehaviorAssertion, validateBehaviorAssertion, validateBehaviorReview, } from "./behavior-assertions.js";
23
+ export { assertCalibrationDestination, effectiveReviewOutcome, isDisputedReviewOutcome, importReviewDecision, selectReviewSample, summarizeCalibration, revalidateReviewSample, terminalVerifierOutcome, validateReviewSample, validateReviewHistory, writeReviewPacket, } from "./human-calibration.js";
24
+ export { aggregateEvaluation } from "./aggregation.js";
25
+ export { CLAUDE_SEMANTIC_JUDGE_BACKEND_ID, packageSemanticJudgeInput, parseSemanticJudgeResponse, runAgentSdkSemanticJudge, runClaudeAgentSdkSemanticJudge, SEMANTIC_JUDGE_PROMPT_VERSION, } from "./semantic-judge.js";
26
+ export { captureOpenHandsAgentServer, createOpenHandsHarnessAdapter, normalizeOpenHandsCapture, OPENHANDS_AGENT_SERVER_CAPABILITIES, OPENHANDS_AGENT_SERVER_VERSION, OPENHANDS_DEFAULT_MAX_RESPONSE_BYTES, OPENHANDS_MAX_RESPONSE_BYTES, OPENHANDS_DEFAULT_MAX_CAPTURE_BYTES, OPENHANDS_MAX_CAPTURE_BYTES, OPENHANDS_TYPESCRIPT_CLIENT_VERSION, } from "./openhands.js";
27
+ export { captureOpenHandsAgentServerRun } from "./openhands-run.js";
28
+ export { CLAUDE_AGENT_SDK_HARNESS, CLAUDE_AGENT_SDK_NORMALIZATION_ADAPTER_ID, claudeAgentSdkNormalizationAdapter, createAgentSdkNativeEvidenceResolver, normalizeClaudeAgentSdkRunBundle, readQualifiedClaudeAgentSdkCapture, } from "./agent-sdk-normalizer.js";
29
+ export { AGENT_SDK_CONFIG_SCHEMA_VERSION, resolveAgentSdkConfigurationRecord, runAgentSdkQueueEntry, } from "./agent-sdk-runner.js";
30
+ export { assertPiNativeRecord, capturePiSdkRun, createPiPassiveObserver, describeAndValidatePiDataset, filterPiToolEnvironment, normalizePiCapture, piCapabilityProfile, piNativeType, qualifyRetainedPiCapture, resolvePiConfigurationRecord, runPiQueueEntry, PI_ADAPTER_VERSION, PI_CONFIG_SCHEMA_VERSION, PI_HARNESS, PINNED_PI_SDK_VERSION, } from "./pi.js";
31
+ export { assertCursorWorkspaceIsolation, captureCursorSdkRun, createCursorSdkBehaviorEvidence, CURSOR_SDK_ADAPTER_ID, CURSOR_SDK_ADAPTER_VERSION, CURSOR_SDK_CAPABILITIES, CURSOR_SDK_DEFAULT_SHUTDOWN_GRACE_MS, CURSOR_SDK_HARNESS, CURSOR_SDK_VERSION, normalizeCursorSdkCapture, } from "./cursor-sdk.js";
32
+ export { CURSOR_SDK_CONFIG_SCHEMA_VERSION, resolveCursorSdkConfigurationRecord, runCursorSdkQueueEntry, } from "./cursor-sdk-runner.js";
33
+ export { createRetainedBehaviorEvidence } from "./retained-evidence.js";
34
+ export { createRetainedStructuralObservationSet } from "./structural-observations.js";
35
+ export { validateRetainedBehaviorAssertion } from "./behavior-assertions.js";
36
+ export { runAgentSdkSemanticJudge as runRetainedSemanticJudge } from "./semantic-judge.js";
37
+ export { runCodexSemanticJudge } from "./codex-judge.js";
38
+ export { selectAggregationAttempts } from "./aggregation.js";
@@ -0,0 +1,196 @@
1
+ import type { AssessmentMode } from "./contracts.js";
2
+ export type RunIdentity = {
3
+ id: string;
4
+ taskId: string;
5
+ modelId: string;
6
+ harnessId: string;
7
+ };
8
+ export type AttemptIdentity = {
9
+ id: string;
10
+ number: number;
11
+ retryOf?: string;
12
+ };
13
+ export type LifecycleState = "created" | "setup" | "running" | "verifying" | "cleaning" | "terminal";
14
+ export type LifecycleTransition = {
15
+ from: LifecycleState;
16
+ to: LifecycleState;
17
+ at: string;
18
+ };
19
+ export type LifecycleSnapshot = {
20
+ state: LifecycleState;
21
+ createdAt: string;
22
+ startedAt: string;
23
+ endedAt?: string;
24
+ timestamps: Partial<Record<LifecycleState, string>>;
25
+ transitions: LifecycleTransition[];
26
+ };
27
+ export type FailureClass = "none" | "infrastructure" | "task";
28
+ export type StopReason = "none" | "budget" | "policy";
29
+ export type TerminalState = "completed" | "failed" | "stopped" | "interrupted";
30
+ export type TerminalRecord = {
31
+ state: TerminalState;
32
+ failureClass: FailureClass;
33
+ stopReason: StopReason;
34
+ workspaceArtifactId?: string;
35
+ };
36
+ export type AttemptClassificationKind = "completed" | "task-failure" | "infrastructure-failure" | "verifier-error" | "budget-stop" | "policy-stop" | "interrupted" | "capture-incomplete";
37
+ export type AttemptClassification = {
38
+ kind: AttemptClassificationKind;
39
+ terminal: TerminalRecord;
40
+ reason?: string;
41
+ source?: "runner" | "workspace" | "harness" | "verifier" | "cleanup" | "capture";
42
+ underlying?: AttemptClassificationKind;
43
+ underlyingSource?: AttemptClassification["source"];
44
+ };
45
+ export type WorkspaceExecutionResult = {
46
+ status: "ready" | "failed";
47
+ path?: string;
48
+ artifactId?: string;
49
+ digest?: string;
50
+ retained?: boolean;
51
+ error?: string;
52
+ shutdownResult?: WorkspaceShutdownResult;
53
+ evidence?: unknown;
54
+ };
55
+ export type WorkspaceShutdownResult = {
56
+ status: "completed" | "failed" | "timed-out";
57
+ error?: string;
58
+ };
59
+ export type WorkspaceSetupContext = {
60
+ run: RunIdentity;
61
+ attempt: AttemptIdentity;
62
+ signal: AbortSignal;
63
+ registerShutdown: (shutdown: () => void | Promise<void>) => void;
64
+ };
65
+ export type WorkspaceCleanupContext = {
66
+ run: RunIdentity;
67
+ attempt: AttemptIdentity;
68
+ signal: AbortSignal;
69
+ outcome: TerminalRecord;
70
+ workspace?: WorkspaceExecutionResult;
71
+ };
72
+ export type WorkspaceCoordinator = {
73
+ setup: (context: WorkspaceSetupContext) => WorkspaceExecutionResult | Promise<WorkspaceExecutionResult>;
74
+ cleanup?: (context: WorkspaceCleanupContext) => void | Promise<void>;
75
+ };
76
+ export type HarnessExecutionContext = {
77
+ run: RunIdentity;
78
+ attempt: AttemptIdentity;
79
+ signal: AbortSignal;
80
+ budgetMs?: number;
81
+ workspace?: WorkspaceExecutionResult;
82
+ registerShutdown: (shutdown: () => void | Promise<void>) => void;
83
+ };
84
+ export type HarnessExecutionResult = {
85
+ status: "completed" | "failed" | "stopped" | "interrupted";
86
+ failureClass?: Exclude<FailureClass, "none">;
87
+ stopReason?: Exclude<StopReason, "none">;
88
+ reason?: string;
89
+ error?: string;
90
+ captureError?: string;
91
+ completionEvidence?: unknown;
92
+ evidence?: unknown;
93
+ shutdown?: () => void | Promise<void>;
94
+ shutdownResult?: HarnessShutdownResult;
95
+ };
96
+ export type HarnessShutdownResult = {
97
+ status: "completed" | "failed" | "timed-out";
98
+ error?: string;
99
+ };
100
+ export type HarnessExecutor = (context: HarnessExecutionContext) => HarnessExecutionResult | Promise<HarnessExecutionResult>;
101
+ export type VerifierExecutionContext = {
102
+ run: RunIdentity;
103
+ attempt: AttemptIdentity;
104
+ signal: AbortSignal;
105
+ workspace?: WorkspaceExecutionResult;
106
+ registerShutdown: (shutdown: () => void | Promise<void>) => void;
107
+ };
108
+ export type VerifierExecutionResult = {
109
+ status: "passed" | "failed" | "error" | "not-run";
110
+ error?: string;
111
+ shutdownResult?: VerifierShutdownResult;
112
+ evidence?: unknown;
113
+ };
114
+ export type VerifierShutdownResult = {
115
+ status: "completed" | "failed" | "timed-out";
116
+ error?: string;
117
+ };
118
+ export type VerifierExecutor = (context: VerifierExecutionContext) => VerifierExecutionResult | Promise<VerifierExecutionResult>;
119
+ export type EvidenceSink = {
120
+ flush?: () => void | Promise<void>;
121
+ };
122
+ export type RunAttemptOptions = {
123
+ run: RunIdentity;
124
+ assessmentMode?: AssessmentMode;
125
+ attempt?: AttemptIdentity;
126
+ workspace: WorkspaceCoordinator;
127
+ harness: HarnessExecutor;
128
+ verifier?: VerifierExecutor;
129
+ maxWallClockMs?: number;
130
+ harnessBudgetMs?: number;
131
+ signal?: AbortSignal;
132
+ evidence?: EvidenceSink;
133
+ recordPath?: string;
134
+ now?: () => string;
135
+ shutdownGraceMs?: number;
136
+ };
137
+ export type AttemptRecord = {
138
+ schemaVersion: "ebo.attempt/v1";
139
+ assessmentMode: AssessmentMode;
140
+ run: RunIdentity;
141
+ attempt: AttemptIdentity;
142
+ lifecycle: LifecycleSnapshot;
143
+ terminal?: TerminalRecord;
144
+ classification?: AttemptClassification;
145
+ workspace?: WorkspaceExecutionResult;
146
+ harness?: HarnessExecutionResult;
147
+ verifier?: VerifierExecutionResult;
148
+ harnessTerminationConfirmed?: boolean;
149
+ verifierTerminationConfirmed?: boolean;
150
+ cleanup?: {
151
+ status: "completed" | "failed" | "timed-out";
152
+ error?: string;
153
+ };
154
+ capture?: {
155
+ status: "complete" | "incomplete";
156
+ error?: string;
157
+ };
158
+ persistence?: {
159
+ status: "complete" | "incomplete";
160
+ error?: string;
161
+ };
162
+ partial: boolean;
163
+ };
164
+ export type RunAttemptResult = {
165
+ run: RunIdentity;
166
+ attempt: AttemptIdentity;
167
+ record: AttemptRecord;
168
+ terminal: TerminalRecord;
169
+ classification: AttemptClassification;
170
+ };
171
+ export declare class InvalidLifecycleTransitionError extends Error {
172
+ constructor(from: LifecycleState, to: LifecycleState);
173
+ }
174
+ export declare function createRunIdentity(input: {
175
+ id?: string;
176
+ taskId: string;
177
+ modelId: string;
178
+ harnessId: string;
179
+ }): RunIdentity;
180
+ export declare function createAttemptIdentity(runId: string, number?: number, id?: string, retryOf?: string): AttemptIdentity;
181
+ export declare function retryAttempt(previous: AttemptIdentity | Pick<AttemptRecord, "attempt">, id?: string): AttemptIdentity;
182
+ export declare class LifecycleController {
183
+ private readonly now;
184
+ private readonly transitions;
185
+ private readonly timestamps;
186
+ private current;
187
+ private readonly createdAt;
188
+ private endedAt;
189
+ constructor(now?: () => string);
190
+ get state(): LifecycleState;
191
+ transition(to: LifecycleState, at?: string): LifecycleSnapshot;
192
+ snapshot(): LifecycleSnapshot;
193
+ }
194
+ export declare function executeRunAttempt(options: RunAttemptOptions): Promise<RunAttemptResult>;
195
+ export declare function writeAttemptRecord(path: string, record: AttemptRecord): Promise<void>;
196
+ export declare function readAttemptRecord(path: string): Promise<AttemptRecord>;