@smthrs/harness 0.0.0-stage → 1.0.0-rc.3
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 +387 -0
- package/LICENSE +21 -0
- package/README.md +138 -2
- package/dist/cjs/AgentEvent.d.ts +3092 -0
- package/dist/cjs/AgentEvent.d.ts.map +1 -0
- package/dist/cjs/AgentEvent.js +1116 -0
- package/dist/cjs/AgentEvent.js.map +7 -0
- package/dist/cjs/CallLedger.d.ts +378 -0
- package/dist/cjs/CallLedger.d.ts.map +1 -0
- package/dist/cjs/CallLedger.js +240 -0
- package/dist/cjs/CallLedger.js.map +7 -0
- package/dist/cjs/Cell.d.ts +774 -0
- package/dist/cjs/Cell.d.ts.map +1 -0
- package/dist/cjs/Cell.js +431 -0
- package/dist/cjs/Cell.js.map +7 -0
- package/dist/cjs/CellCalls.d.ts +115 -0
- package/dist/cjs/CellCalls.d.ts.map +1 -0
- package/dist/cjs/CellCalls.js +98 -0
- package/dist/cjs/CellCalls.js.map +7 -0
- package/dist/cjs/CellHistory.d.ts +102 -0
- package/dist/cjs/CellHistory.d.ts.map +1 -0
- package/dist/cjs/CellHistory.js +54 -0
- package/dist/cjs/CellHistory.js.map +7 -0
- package/dist/cjs/CellTurn.d.ts +1071 -0
- package/dist/cjs/CellTurn.d.ts.map +1 -0
- package/dist/cjs/CellTurn.js +2618 -0
- package/dist/cjs/CellTurn.js.map +7 -0
- package/dist/cjs/CellValidation.d.ts +94 -0
- package/dist/cjs/CellValidation.d.ts.map +1 -0
- package/dist/cjs/CellValidation.js +218 -0
- package/dist/cjs/CellValidation.js.map +7 -0
- package/dist/cjs/Compaction.d.ts +158 -0
- package/dist/cjs/Compaction.d.ts.map +1 -0
- package/dist/cjs/Compaction.js +189 -0
- package/dist/cjs/Compaction.js.map +7 -0
- package/dist/cjs/CompletionClaim.d.ts +801 -0
- package/dist/cjs/CompletionClaim.d.ts.map +1 -0
- package/dist/cjs/CompletionClaim.js +303 -0
- package/dist/cjs/CompletionClaim.js.map +7 -0
- package/dist/cjs/ContextWindow.d.ts +435 -0
- package/dist/cjs/ContextWindow.d.ts.map +1 -0
- package/dist/cjs/ContextWindow.js +319 -0
- package/dist/cjs/ContextWindow.js.map +7 -0
- package/dist/cjs/EngineLike.d.ts +546 -0
- package/dist/cjs/EngineLike.d.ts.map +1 -0
- package/dist/cjs/EngineLike.js +114 -0
- package/dist/cjs/EngineLike.js.map +7 -0
- package/dist/cjs/ExternalTranscript.d.ts +349 -0
- package/dist/cjs/ExternalTranscript.d.ts.map +1 -0
- package/dist/cjs/ExternalTranscript.js +826 -0
- package/dist/cjs/ExternalTranscript.js.map +7 -0
- package/dist/cjs/FailedCall.d.ts +132 -0
- package/dist/cjs/FailedCall.d.ts.map +1 -0
- package/dist/cjs/FailedCall.js +53 -0
- package/dist/cjs/FailedCall.js.map +7 -0
- package/dist/cjs/FlowBinding.d.ts +289 -0
- package/dist/cjs/FlowBinding.d.ts.map +1 -0
- package/dist/cjs/FlowBinding.js +251 -0
- package/dist/cjs/FlowBinding.js.map +7 -0
- package/dist/cjs/HarnessError.d.ts +57 -0
- package/dist/cjs/HarnessError.d.ts.map +1 -0
- package/dist/cjs/HarnessError.js +75 -0
- package/dist/cjs/HarnessError.js.map +7 -0
- package/dist/cjs/Judgement.d.ts +289 -0
- package/dist/cjs/Judgement.d.ts.map +1 -0
- package/dist/cjs/Judgement.js +240 -0
- package/dist/cjs/Judgement.js.map +7 -0
- package/dist/cjs/Monitor.d.ts +374 -0
- package/dist/cjs/Monitor.d.ts.map +1 -0
- package/dist/cjs/Monitor.js +233 -0
- package/dist/cjs/Monitor.js.map +7 -0
- package/dist/cjs/NarrowedCheck.d.ts +523 -0
- package/dist/cjs/NarrowedCheck.d.ts.map +1 -0
- package/dist/cjs/NarrowedCheck.js +263 -0
- package/dist/cjs/NarrowedCheck.js.map +7 -0
- package/dist/cjs/Notifications.d.ts +42 -0
- package/dist/cjs/Notifications.d.ts.map +1 -0
- package/dist/cjs/Notifications.js +177 -0
- package/dist/cjs/Notifications.js.map +7 -0
- package/dist/cjs/Plan.d.ts +127 -0
- package/dist/cjs/Plan.d.ts.map +1 -0
- package/dist/cjs/Plan.js +77 -0
- package/dist/cjs/Plan.js.map +7 -0
- package/dist/cjs/QuickJSSandbox.d.ts +151 -0
- package/dist/cjs/QuickJSSandbox.d.ts.map +1 -0
- package/dist/cjs/QuickJSSandbox.js +987 -0
- package/dist/cjs/QuickJSSandbox.js.map +7 -0
- package/dist/cjs/Relevance.d.ts +213 -0
- package/dist/cjs/Relevance.d.ts.map +1 -0
- package/dist/cjs/Relevance.js +183 -0
- package/dist/cjs/Relevance.js.map +7 -0
- package/dist/cjs/Sandbox.d.ts +637 -0
- package/dist/cjs/Sandbox.d.ts.map +1 -0
- package/dist/cjs/Sandbox.js +260 -0
- package/dist/cjs/Sandbox.js.map +7 -0
- package/dist/cjs/Steering.d.ts +464 -0
- package/dist/cjs/Steering.d.ts.map +1 -0
- package/dist/cjs/Steering.js +153 -0
- package/dist/cjs/Steering.js.map +7 -0
- package/dist/cjs/StructuredOutput.d.ts +252 -0
- package/dist/cjs/StructuredOutput.d.ts.map +1 -0
- package/dist/cjs/StructuredOutput.js +266 -0
- package/dist/cjs/StructuredOutput.js.map +7 -0
- package/dist/cjs/Sufficiency.d.ts +195 -0
- package/dist/cjs/Sufficiency.d.ts.map +1 -0
- package/dist/cjs/Sufficiency.js +110 -0
- package/dist/cjs/Sufficiency.js.map +7 -0
- package/dist/cjs/Supervisor.d.ts +719 -0
- package/dist/cjs/Supervisor.d.ts.map +1 -0
- package/dist/cjs/Supervisor.js +313 -0
- package/dist/cjs/Supervisor.js.map +7 -0
- package/dist/cjs/Tokens.d.ts +86 -0
- package/dist/cjs/Tokens.d.ts.map +1 -0
- package/dist/cjs/Tokens.js +72 -0
- package/dist/cjs/Tokens.js.map +7 -0
- package/dist/cjs/Transcript.d.ts +171 -0
- package/dist/cjs/Transcript.d.ts.map +1 -0
- package/dist/cjs/Transcript.js +342 -0
- package/dist/cjs/Transcript.js.map +7 -0
- package/dist/cjs/TruncatedOutput.d.ts +186 -0
- package/dist/cjs/TruncatedOutput.d.ts.map +1 -0
- package/dist/cjs/TruncatedOutput.js +143 -0
- package/dist/cjs/TruncatedOutput.js.map +7 -0
- package/dist/cjs/UnmovedTree.d.ts +113 -0
- package/dist/cjs/UnmovedTree.d.ts.map +1 -0
- package/dist/cjs/UnmovedTree.js +38 -0
- package/dist/cjs/UnmovedTree.js.map +7 -0
- package/dist/cjs/UnresolvedFailure.d.ts +196 -0
- package/dist/cjs/UnresolvedFailure.d.ts.map +1 -0
- package/dist/cjs/UnresolvedFailure.js +77 -0
- package/dist/cjs/UnresolvedFailure.js.map +7 -0
- package/dist/cjs/VacuousVerification.d.ts +237 -0
- package/dist/cjs/VacuousVerification.d.ts.map +1 -0
- package/dist/cjs/VacuousVerification.js +91 -0
- package/dist/cjs/VacuousVerification.js.map +7 -0
- package/dist/cjs/VariablesPanel.d.ts +117 -0
- package/dist/cjs/VariablesPanel.d.ts.map +1 -0
- package/dist/cjs/VariablesPanel.js +108 -0
- package/dist/cjs/VariablesPanel.js.map +7 -0
- package/dist/cjs/index.d.ts +172 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +99 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/internal/bytes.d.ts +36 -0
- package/dist/cjs/internal/bytes.d.ts.map +1 -0
- package/dist/cjs/internal/bytes.js +57 -0
- package/dist/cjs/internal/bytes.js.map +7 -0
- package/dist/cjs/internal/cellPrompt.d.ts +122 -0
- package/dist/cjs/internal/cellPrompt.d.ts.map +1 -0
- package/dist/cjs/internal/cellPrompt.js +146 -0
- package/dist/cjs/internal/cellPrompt.js.map +7 -0
- package/dist/cjs/internal/compactable.d.ts +44 -0
- package/dist/cjs/internal/compactable.d.ts.map +1 -0
- package/dist/cjs/internal/compactable.js +56 -0
- package/dist/cjs/internal/compactable.js.map +7 -0
- package/dist/cjs/internal/compactionMarks.d.ts +278 -0
- package/dist/cjs/internal/compactionMarks.d.ts.map +1 -0
- package/dist/cjs/internal/compactionMarks.js +212 -0
- package/dist/cjs/internal/compactionMarks.js.map +7 -0
- package/dist/cjs/internal/demandText.d.ts +95 -0
- package/dist/cjs/internal/demandText.d.ts.map +1 -0
- package/dist/cjs/internal/demandText.js +70 -0
- package/dist/cjs/internal/demandText.js.map +7 -0
- package/dist/cjs/internal/elide.d.ts +109 -0
- package/dist/cjs/internal/elide.d.ts.map +1 -0
- package/dist/cjs/internal/elide.js +59 -0
- package/dist/cjs/internal/elide.js.map +7 -0
- package/dist/cjs/internal/frame.d.ts +463 -0
- package/dist/cjs/internal/frame.d.ts.map +1 -0
- package/dist/cjs/internal/frame.js +514 -0
- package/dist/cjs/internal/frame.js.map +7 -0
- package/dist/cjs/internal/nonNegativeSafeInt.d.ts +20 -0
- package/dist/cjs/internal/nonNegativeSafeInt.d.ts.map +1 -0
- package/dist/cjs/internal/nonNegativeSafeInt.js +29 -0
- package/dist/cjs/internal/nonNegativeSafeInt.js.map +7 -0
- package/dist/cjs/internal/paidUsage.d.ts +52 -0
- package/dist/cjs/internal/paidUsage.d.ts.map +1 -0
- package/dist/cjs/internal/paidUsage.js +70 -0
- package/dist/cjs/internal/paidUsage.js.map +7 -0
- package/dist/cjs/internal/printChannel.d.ts +233 -0
- package/dist/cjs/internal/printChannel.d.ts.map +1 -0
- package/dist/cjs/internal/printChannel.js +165 -0
- package/dist/cjs/internal/printChannel.js.map +7 -0
- package/dist/cjs/internal/printsObservation.d.ts +26 -0
- package/dist/cjs/internal/printsObservation.d.ts.map +1 -0
- package/dist/cjs/internal/printsObservation.js +27 -0
- package/dist/cjs/internal/printsObservation.js.map +7 -0
- package/dist/cjs/internal/refusal.d.ts +40 -0
- package/dist/cjs/internal/refusal.d.ts.map +1 -0
- package/dist/cjs/internal/refusal.js +45 -0
- package/dist/cjs/internal/refusal.js.map +7 -0
- package/dist/cjs/internal/supervision.d.ts +174 -0
- package/dist/cjs/internal/supervision.d.ts.map +1 -0
- package/dist/cjs/internal/supervision.js +402 -0
- package/dist/cjs/internal/supervision.js.map +7 -0
- package/dist/cjs/internal/unfinishedWork.d.ts +99 -0
- package/dist/cjs/internal/unfinishedWork.d.ts.map +1 -0
- package/dist/cjs/internal/unfinishedWork.js +80 -0
- package/dist/cjs/internal/unfinishedWork.js.map +7 -0
- package/dist/cjs/internal/unobservedCall.d.ts +112 -0
- package/dist/cjs/internal/unobservedCall.d.ts.map +1 -0
- package/dist/cjs/internal/unobservedCall.js +345 -0
- package/dist/cjs/internal/unobservedCall.js.map +7 -0
- package/dist/cjs/internal/untrustedData.d.ts +14 -0
- package/dist/cjs/internal/untrustedData.d.ts.map +1 -0
- package/dist/cjs/internal/untrustedData.js +30 -0
- package/dist/cjs/internal/untrustedData.js.map +7 -0
- package/dist/cjs/package.json +1 -0
- package/dist/esm/AgentEvent.d.ts +3092 -0
- package/dist/esm/AgentEvent.d.ts.map +1 -0
- package/dist/esm/AgentEvent.js +1610 -0
- package/dist/esm/AgentEvent.js.map +1 -0
- package/dist/esm/CallLedger.d.ts +378 -0
- package/dist/esm/CallLedger.d.ts.map +1 -0
- package/dist/esm/CallLedger.js +506 -0
- package/dist/esm/CallLedger.js.map +1 -0
- package/dist/esm/Cell.d.ts +774 -0
- package/dist/esm/Cell.d.ts.map +1 -0
- package/dist/esm/Cell.js +772 -0
- package/dist/esm/Cell.js.map +1 -0
- package/dist/esm/CellCalls.d.ts +115 -0
- package/dist/esm/CellCalls.d.ts.map +1 -0
- package/dist/esm/CellCalls.js +97 -0
- package/dist/esm/CellCalls.js.map +1 -0
- package/dist/esm/CellHistory.d.ts +102 -0
- package/dist/esm/CellHistory.d.ts.map +1 -0
- package/dist/esm/CellHistory.js +91 -0
- package/dist/esm/CellHistory.js.map +1 -0
- package/dist/esm/CellTurn.d.ts +1071 -0
- package/dist/esm/CellTurn.d.ts.map +1 -0
- package/dist/esm/CellTurn.js +3410 -0
- package/dist/esm/CellTurn.js.map +1 -0
- package/dist/esm/CellValidation.d.ts +94 -0
- package/dist/esm/CellValidation.d.ts.map +1 -0
- package/dist/esm/CellValidation.js +335 -0
- package/dist/esm/CellValidation.js.map +1 -0
- package/dist/esm/Compaction.d.ts +158 -0
- package/dist/esm/Compaction.d.ts.map +1 -0
- package/dist/esm/Compaction.js +216 -0
- package/dist/esm/Compaction.js.map +1 -0
- package/dist/esm/CompletionClaim.d.ts +801 -0
- package/dist/esm/CompletionClaim.d.ts.map +1 -0
- package/dist/esm/CompletionClaim.js +833 -0
- package/dist/esm/CompletionClaim.js.map +1 -0
- package/dist/esm/ContextWindow.d.ts +435 -0
- package/dist/esm/ContextWindow.d.ts.map +1 -0
- package/dist/esm/ContextWindow.js +427 -0
- package/dist/esm/ContextWindow.js.map +1 -0
- package/dist/esm/EngineLike.d.ts +546 -0
- package/dist/esm/EngineLike.d.ts.map +1 -0
- package/dist/esm/EngineLike.js +218 -0
- package/dist/esm/EngineLike.js.map +1 -0
- package/dist/esm/ExternalTranscript.d.ts +349 -0
- package/dist/esm/ExternalTranscript.d.ts.map +1 -0
- package/dist/esm/ExternalTranscript.js +987 -0
- package/dist/esm/ExternalTranscript.js.map +1 -0
- package/dist/esm/FailedCall.d.ts +132 -0
- package/dist/esm/FailedCall.d.ts.map +1 -0
- package/dist/esm/FailedCall.js +131 -0
- package/dist/esm/FailedCall.js.map +1 -0
- package/dist/esm/FlowBinding.d.ts +289 -0
- package/dist/esm/FlowBinding.d.ts.map +1 -0
- package/dist/esm/FlowBinding.js +376 -0
- package/dist/esm/FlowBinding.js.map +1 -0
- package/dist/esm/HarnessError.d.ts +57 -0
- package/dist/esm/HarnessError.d.ts.map +1 -0
- package/dist/esm/HarnessError.js +85 -0
- package/dist/esm/HarnessError.js.map +1 -0
- package/dist/esm/Judgement.d.ts +289 -0
- package/dist/esm/Judgement.d.ts.map +1 -0
- package/dist/esm/Judgement.js +305 -0
- package/dist/esm/Judgement.js.map +1 -0
- package/dist/esm/Monitor.d.ts +374 -0
- package/dist/esm/Monitor.d.ts.map +1 -0
- package/dist/esm/Monitor.js +370 -0
- package/dist/esm/Monitor.js.map +1 -0
- package/dist/esm/NarrowedCheck.d.ts +523 -0
- package/dist/esm/NarrowedCheck.d.ts.map +1 -0
- package/dist/esm/NarrowedCheck.js +612 -0
- package/dist/esm/NarrowedCheck.js.map +1 -0
- package/dist/esm/Notifications.d.ts +42 -0
- package/dist/esm/Notifications.d.ts.map +1 -0
- package/dist/esm/Notifications.js +215 -0
- package/dist/esm/Notifications.js.map +1 -0
- package/dist/esm/Plan.d.ts +127 -0
- package/dist/esm/Plan.d.ts.map +1 -0
- package/dist/esm/Plan.js +97 -0
- package/dist/esm/Plan.js.map +1 -0
- package/dist/esm/QuickJSSandbox.d.ts +151 -0
- package/dist/esm/QuickJSSandbox.d.ts.map +1 -0
- package/dist/esm/QuickJSSandbox.js +1364 -0
- package/dist/esm/QuickJSSandbox.js.map +1 -0
- package/dist/esm/Relevance.d.ts +213 -0
- package/dist/esm/Relevance.d.ts.map +1 -0
- package/dist/esm/Relevance.js +254 -0
- package/dist/esm/Relevance.js.map +1 -0
- package/dist/esm/Sandbox.d.ts +637 -0
- package/dist/esm/Sandbox.d.ts.map +1 -0
- package/dist/esm/Sandbox.js +464 -0
- package/dist/esm/Sandbox.js.map +1 -0
- package/dist/esm/Steering.d.ts +464 -0
- package/dist/esm/Steering.d.ts.map +1 -0
- package/dist/esm/Steering.js +193 -0
- package/dist/esm/Steering.js.map +1 -0
- package/dist/esm/StructuredOutput.d.ts +252 -0
- package/dist/esm/StructuredOutput.d.ts.map +1 -0
- package/dist/esm/StructuredOutput.js +430 -0
- package/dist/esm/StructuredOutput.js.map +1 -0
- package/dist/esm/Sufficiency.d.ts +195 -0
- package/dist/esm/Sufficiency.d.ts.map +1 -0
- package/dist/esm/Sufficiency.js +207 -0
- package/dist/esm/Sufficiency.js.map +1 -0
- package/dist/esm/Supervisor.d.ts +719 -0
- package/dist/esm/Supervisor.d.ts.map +1 -0
- package/dist/esm/Supervisor.js +575 -0
- package/dist/esm/Supervisor.js.map +1 -0
- package/dist/esm/Tokens.d.ts +86 -0
- package/dist/esm/Tokens.d.ts.map +1 -0
- package/dist/esm/Tokens.js +92 -0
- package/dist/esm/Tokens.js.map +1 -0
- package/dist/esm/Transcript.d.ts +171 -0
- package/dist/esm/Transcript.d.ts.map +1 -0
- package/dist/esm/Transcript.js +424 -0
- package/dist/esm/Transcript.js.map +1 -0
- package/dist/esm/TruncatedOutput.d.ts +186 -0
- package/dist/esm/TruncatedOutput.d.ts.map +1 -0
- package/dist/esm/TruncatedOutput.js +257 -0
- package/dist/esm/TruncatedOutput.js.map +1 -0
- package/dist/esm/UnmovedTree.d.ts +113 -0
- package/dist/esm/UnmovedTree.d.ts.map +1 -0
- package/dist/esm/UnmovedTree.js +90 -0
- package/dist/esm/UnmovedTree.js.map +1 -0
- package/dist/esm/UnresolvedFailure.d.ts +196 -0
- package/dist/esm/UnresolvedFailure.d.ts.map +1 -0
- package/dist/esm/UnresolvedFailure.js +218 -0
- package/dist/esm/UnresolvedFailure.js.map +1 -0
- package/dist/esm/VacuousVerification.d.ts +237 -0
- package/dist/esm/VacuousVerification.d.ts.map +1 -0
- package/dist/esm/VacuousVerification.js +245 -0
- package/dist/esm/VacuousVerification.js.map +1 -0
- package/dist/esm/VariablesPanel.d.ts +117 -0
- package/dist/esm/VariablesPanel.d.ts.map +1 -0
- package/dist/esm/VariablesPanel.js +142 -0
- package/dist/esm/VariablesPanel.js.map +1 -0
- package/dist/esm/index.d.ts +172 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +172 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal/bytes.d.ts +36 -0
- package/dist/esm/internal/bytes.d.ts.map +1 -0
- package/dist/esm/internal/bytes.js +70 -0
- package/dist/esm/internal/bytes.js.map +1 -0
- package/dist/esm/internal/cellPrompt.d.ts +122 -0
- package/dist/esm/internal/cellPrompt.d.ts.map +1 -0
- package/dist/esm/internal/cellPrompt.js +276 -0
- package/dist/esm/internal/cellPrompt.js.map +1 -0
- package/dist/esm/internal/compactable.d.ts +44 -0
- package/dist/esm/internal/compactable.d.ts.map +1 -0
- package/dist/esm/internal/compactable.js +71 -0
- package/dist/esm/internal/compactable.js.map +1 -0
- package/dist/esm/internal/compactionMarks.d.ts +278 -0
- package/dist/esm/internal/compactionMarks.d.ts.map +1 -0
- package/dist/esm/internal/compactionMarks.js +317 -0
- package/dist/esm/internal/compactionMarks.js.map +1 -0
- package/dist/esm/internal/demandText.d.ts +95 -0
- package/dist/esm/internal/demandText.d.ts.map +1 -0
- package/dist/esm/internal/demandText.js +128 -0
- package/dist/esm/internal/demandText.js.map +1 -0
- package/dist/esm/internal/elide.d.ts +109 -0
- package/dist/esm/internal/elide.d.ts.map +1 -0
- package/dist/esm/internal/elide.js +123 -0
- package/dist/esm/internal/elide.js.map +1 -0
- package/dist/esm/internal/frame.d.ts +463 -0
- package/dist/esm/internal/frame.d.ts.map +1 -0
- package/dist/esm/internal/frame.js +861 -0
- package/dist/esm/internal/frame.js.map +1 -0
- package/dist/esm/internal/nonNegativeSafeInt.d.ts +20 -0
- package/dist/esm/internal/nonNegativeSafeInt.d.ts.map +1 -0
- package/dist/esm/internal/nonNegativeSafeInt.js +20 -0
- package/dist/esm/internal/nonNegativeSafeInt.js.map +1 -0
- package/dist/esm/internal/paidUsage.d.ts +52 -0
- package/dist/esm/internal/paidUsage.d.ts.map +1 -0
- package/dist/esm/internal/paidUsage.js +72 -0
- package/dist/esm/internal/paidUsage.js.map +1 -0
- package/dist/esm/internal/printChannel.d.ts +233 -0
- package/dist/esm/internal/printChannel.d.ts.map +1 -0
- package/dist/esm/internal/printChannel.js +376 -0
- package/dist/esm/internal/printChannel.js.map +1 -0
- package/dist/esm/internal/printsObservation.d.ts +26 -0
- package/dist/esm/internal/printsObservation.d.ts.map +1 -0
- package/dist/esm/internal/printsObservation.js +29 -0
- package/dist/esm/internal/printsObservation.js.map +1 -0
- package/dist/esm/internal/refusal.d.ts +40 -0
- package/dist/esm/internal/refusal.d.ts.map +1 -0
- package/dist/esm/internal/refusal.js +47 -0
- package/dist/esm/internal/refusal.js.map +1 -0
- package/dist/esm/internal/supervision.d.ts +174 -0
- package/dist/esm/internal/supervision.d.ts.map +1 -0
- package/dist/esm/internal/supervision.js +485 -0
- package/dist/esm/internal/supervision.js.map +1 -0
- package/dist/esm/internal/unfinishedWork.d.ts +99 -0
- package/dist/esm/internal/unfinishedWork.d.ts.map +1 -0
- package/dist/esm/internal/unfinishedWork.js +85 -0
- package/dist/esm/internal/unfinishedWork.js.map +1 -0
- package/dist/esm/internal/unobservedCall.d.ts +112 -0
- package/dist/esm/internal/unobservedCall.d.ts.map +1 -0
- package/dist/esm/internal/unobservedCall.js +501 -0
- package/dist/esm/internal/unobservedCall.js.map +1 -0
- package/dist/esm/internal/untrustedData.d.ts +14 -0
- package/dist/esm/internal/untrustedData.d.ts.map +1 -0
- package/dist/esm/internal/untrustedData.js +15 -0
- package/dist/esm/internal/untrustedData.js.map +1 -0
- package/docs/README.md +129 -0
- package/docs/api.md +1869 -0
- package/docs/concepts.md +238 -0
- package/docs/external-transcripts.md +245 -0
- package/docs/guides/bind-flows.md +167 -0
- package/docs/guides/drive-the-loop.md +265 -0
- package/docs/guides/run-cells.md +262 -0
- package/docs/guides/workerd.md +144 -0
- package/docs/installation.md +69 -0
- package/docs/quickstart.md +121 -0
- package/docs/reference.md +954 -0
- package/docs/troubleshooting.md +177 -0
- package/package.json +463 -3
- package/src/AgentEvent.ts +1772 -0
- package/src/CallLedger.ts +560 -0
- package/src/Cell.ts +926 -0
- package/src/CellCalls.ts +198 -0
- package/src/CellHistory.ts +128 -0
- package/src/CellTurn.ts +4450 -0
- package/src/CellValidation.ts +382 -0
- package/src/Compaction.ts +330 -0
- package/src/CompletionClaim.ts +1013 -0
- package/src/ContextWindow.ts +669 -0
- package/src/EngineLike.ts +614 -0
- package/src/ExternalTranscript.ts +1143 -0
- package/src/FailedCall.ts +163 -0
- package/src/FlowBinding.ts +603 -0
- package/src/HarnessError.ts +98 -0
- package/src/Judgement.ts +526 -0
- package/src/Monitor.ts +579 -0
- package/src/NarrowedCheck.ts +694 -0
- package/src/Notifications.ts +262 -0
- package/src/Plan.ts +113 -0
- package/src/QuickJSSandbox.ts +1557 -0
- package/src/Relevance.ts +352 -0
- package/src/Sandbox.ts +908 -0
- package/src/Steering.ts +405 -0
- package/src/StructuredOutput.ts +484 -0
- package/src/Sufficiency.ts +247 -0
- package/src/Supervisor.ts +798 -0
- package/src/Tokens.ts +108 -0
- package/src/Transcript.ts +513 -0
- package/src/TruncatedOutput.ts +297 -0
- package/src/UnmovedTree.ts +121 -0
- package/src/UnresolvedFailure.ts +240 -0
- package/src/VacuousVerification.ts +280 -0
- package/src/VariablesPanel.ts +165 -0
- package/src/index.ts +204 -0
- package/src/internal/bytes.ts +70 -0
- package/src/internal/cellPrompt.ts +337 -0
- package/src/internal/compactable.ts +76 -0
- package/src/internal/compactionMarks.ts +454 -0
- package/src/internal/demandText.ts +145 -0
- package/src/internal/elide.ts +130 -0
- package/src/internal/frame.ts +1178 -0
- package/src/internal/nonNegativeSafeInt.ts +24 -0
- package/src/internal/paidUsage.ts +90 -0
- package/src/internal/printChannel.ts +434 -0
- package/src/internal/printsObservation.ts +31 -0
- package/src/internal/refusal.ts +53 -0
- package/src/internal/supervision.ts +652 -0
- package/src/internal/unfinishedWork.ts +123 -0
- package/src/internal/unobservedCall.ts +536 -0
- package/src/internal/untrustedData.ts +19 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/AgentEvent.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Serializable events emitted by harness adapters.\n *\n * @since 0.1.0\n */\n\nimport * as Permission from \"@smthrs/capability/Permission\"\nimport type * as Classifier from \"@smthrs/model/Classifier\"\nimport * as Evaluator from \"@smthrs/model/Evaluator\"\nimport * as ModelError from \"@smthrs/model/ModelError\"\nimport * as ModelEvent from \"@smthrs/model/ModelEvent\"\nimport * as ModelRequest from \"@smthrs/model/ModelRequest\"\nimport * as Pricing from \"@smthrs/model/Pricing\"\nimport { Context, Effect, Schema } from \"effect\"\nimport * as Cell from \"./Cell.ts\"\nimport * as EngineLike from \"./EngineLike.ts\"\nimport { NonNegativeSafeInt } from \"./internal/nonNegativeSafeInt.ts\"\nimport * as Sandbox from \"./Sandbox.ts\"\n\n/**\n * Observes an event before the controller advances or parks. Durable hosts\n * finish their checkpoint here; stream consumers may lag behind the source.\n * @category services\n * @since 1.0.0-rc.0\n */\nexport const Observer = Context.Reference<(event: AgentEvent) => Effect.Effect<void>>(\n \"@smthrs/harness/AgentEvent/Observer\",\n { defaultValue: () => () => Effect.void }\n)\n\n/**\n * Journals an event into the run whose cell called the current flow. The\n * controller provides it around each flow call, so a flow that asks Jev\n * itself journals its receipts beside the run's own. Outside a run there is\n * no journal, and it does nothing.\n * @category services\n * @since 1.0.0-rc.0\n */\nexport const Journal = Context.Reference<(event: AgentEvent) => Effect.Effect<void>>(\n \"@smthrs/harness/AgentEvent/Journal\",\n { defaultValue: () => () => Effect.void }\n)\n\n/**\n * The kind of a human-provided item a relevance reading may withhold.\n *\n * @category models\n * @since 1.0.0-rc.0\n */\nexport const RelevanceKind = Schema.Literals([\"flow\", \"skill\", \"instruction\", \"memory\"])\n\n/**\n * What a compaction reading did with one replaced message.\n *\n * @category models\n * @since 1.0.0-rc.0\n */\nexport const CompactionMark = Schema.Literals([\"keep\", \"squash\", \"remove\"])\n\n/**\n * The invariant that kept a message from being removed, whatever it was marked.\n *\n * @category models\n * @since 1.0.0-rc.0\n */\nexport const CompactionPin = Schema.Literals([\"summary\", \"person\", \"steering\", \"mutated\", \"failing\", \"pair\", \"budget\"])\n\n/**\n * Why a compaction ran: the context `budget` was crossed, or a drained\n * supervisor reading found the run carrying `outdated_context` or\n * `irrelevant_context`.\n *\n * @category models\n * @since 1.0.0-rc.0\n */\nexport const CompactionCause = Schema.Literals([\"budget\", \"outdated_context\", \"irrelevant_context\"])\n\n/**\n * What a supervisor monitor watches for.\n *\n * @category models\n * @since 1.0.0-rc.0\n */\nexport const MonitorKind = Schema.Literals([\"mood\", \"skill\", \"lint\"])\n\n/**\n * The static stance a run's monitors deliver under.\n *\n * @category models\n * @since 1.0.0-rc.0\n */\nexport const Stance = Schema.Literals([\"careful\", \"paranoid\"])\n\n/**\n * Why a crossed monitor was not delivered.\n *\n * @category models\n * @since 1.0.0-rc.0\n */\nexport const Suppression = Schema.Literals([\"streak\", \"cooldown\", \"limit\", \"slot\"])\n\n/**\n * Why a reading could not be judged: `unconfigured`, `interrupted`, or the\n * transport's own error code.\n *\n * @category models\n * @since 1.0.0-rc.0\n */\nexport const UnjudgedReason = Schema.Literals([\"interrupted\", ...Evaluator.EvaluatorErrorCode.literals])\n\n/**\n * Token usage an evaluator reported for one reading, and the model that read\n * it when the transport named it: what prices the reading (#3010).\n */\nconst Usage = Schema.Struct({\n inputTokens: Schema.Number,\n outputTokens: Schema.Number,\n modelId: Schema.optional(Schema.String)\n})\n\n/**\n * The loop discipline a run was armed with, journaled once when it starts.\n *\n * Arming used to be observable only through the events a disciplined run\n * *reaches*: the read-cap failure proves the cap was armed, and a run that\n * times out before it fires proves nothing \u2014 so a grader could not tell \"armed\n * but never reached\" from \"never armed\", which is exactly what the 2026-08-19\n * SWE-bench wave could not decide about its django instance. This event is the\n * positive record: it says what was armed, before anything has had a chance to\n * fire.\n *\n * @category events\n * @since 0.1.0\n * @slop\n */\nexport class DisciplineArmed extends Schema.TaggedClass<DisciplineArmed>(\n \"flows/harness/AgentEvent/DisciplineArmed\"\n)(\"discipline-armed\", {\n eventType: Schema.Literal(\"flows.harness.discipline-armed.v1\"),\n /** Consecutive read-only frames allowed; zero means the cap is disarmed. */\n readOnlyCap: Schema.Number,\n /** The frame budget the run stops at. */\n maxFrames: Schema.Number,\n /**\n * Whether a human can answer this run.\n *\n * False says nothing is listening: a `park` transition is refused and\n * answered in the frame that returned it, because a run that waits for an\n * answer nobody will give has stopped working with its budget unspent.\n */\n approvalChannel: Schema.Boolean,\n /**\n * Wall-clock milliseconds one model call may spend; zero means disarmed.\n *\n * Every other budget here caps the cell \u2014 the calls it makes, the memory and\n * time its code spends, the run's frames. This one caps the step in between,\n * which was the only unbounded thing the loop did.\n */\n modelCallMs: Schema.Number,\n /**\n * Consecutive repeat-observation frames allowed; zero disarms the demand.\n *\n * Armed here for the same reason the read-only cap is: a run that never\n * reaches a control proves nothing about whether the control was armed, and\n * a grader must be able to tell \"armed and never needed\" from \"never armed\".\n */\n repeatCap: Schema.Number,\n /**\n * Completions this run may have bounced for narrowed evidence; zero disarms.\n *\n * Journaled with the rest because the demand it governs fires at most once\n * in a run and often not at all, so its absence from a wave says nothing on\n * its own. One is the armed default: the loop names the missing check once,\n * and the answer that comes back is the answer that stands.\n */\n narrowingCap: Schema.Number,\n /**\n * Completions this run may have bounced for an unmoved tree; zero disarms.\n *\n * Journaled for the same reason as the other two completion caps: the demand\n * fires at most once and usually not at all, so a wave that records none must\n * be able to say whether the control was armed and never needed.\n */\n unmovedCap: Schema.Number,\n /**\n * Times one frame may answer its own unparseable cell before ending; zero\n * disarms the answer.\n *\n * Journaled with the rest because a wave that records no\n * `cell-rejected-in-frame` must be able to say whether the answer was armed\n * and never needed or never armed at all.\n */\n revalidations: Schema.Number.pipe(\n Schema.withConstructorDefault(Effect.succeed(0)),\n Schema.withDecodingDefaultKey(Effect.succeed(0))\n ),\n /**\n * Completions this run may have bounced for a failing check it replaced\n * rather than answered; zero disarms.\n */\n unresolvedCap: Schema.Number,\n /**\n * Completions this run may have bounced for a claim its own record does not\n * support; zero disarms.\n *\n * Journaled with the other completion caps, and it says less than they do on\n * its own: the control it arms is also a no-op wherever no `Evaluator` is\n * bound, so an armed cap and no `claim-demanded` event anywhere in a run\n * means either that nothing was asked or that everything asked came back\n * inside the thresholds. Defaulted so journals written before this control\n * existed decode unchanged. See `CompletionClaim`.\n */\n claimCap: Schema.Number.pipe(\n Schema.withConstructorDefault(Effect.succeed(0)),\n Schema.withDecodingDefaultKey(Effect.succeed(0))\n ),\n /**\n * Whether a supervisor reading could nudge the run, as journals written\n * before {@link judged} said it. Later writers omit it: `judged` says the\n * same.\n */\n supervisorSteer: Schema.optional(Schema.Boolean),\n /** Maximum calls per cell, when this binding can enforce one. */\n calls: Schema.optional(Schema.Number),\n /** Maximum sandbox heap, when this binding can enforce one. */\n memoryBytes: Schema.optional(Schema.Number),\n /** Maximum interpreter steps, when this binding can enforce one. */\n steps: Schema.optional(Schema.Number),\n /** Maximum cell-compute time, when this binding can enforce one. */\n timeMs: Schema.optional(Schema.Number),\n /** Maximum whole-evaluation time, when this binding can enforce one. */\n totalMs: Schema.optional(Schema.Number),\n /** Maximum wall-clock time for one flow call. */\n callMs: Schema.optional(Schema.Number),\n /** Whether a judge was bound, so Jev's readings run. Absent before it existed. */\n judged: Schema.optional(Schema.Boolean),\n /** The relevance gate: the withhold threshold and the item ids never offered to it. */\n relevance: Schema.optional(Schema.Struct({ withholdAt: Schema.Number, pinned: Schema.Array(Schema.String) })),\n /** The supervisor monitors armed, with their delivery gates. */\n monitors: Schema.optional(Schema.Array(Schema.Struct({\n id: Schema.String,\n kind: MonitorKind,\n /** The probability at or above which the monitor crosses. */\n at: Schema.Number,\n /** Consecutive crossed readings required before a delivery. */\n consecutive: NonNegativeSafeInt,\n /** Frames after a delivery during which the monitor is not delivered again. */\n cooldownFrames: NonNegativeSafeInt,\n /** Deliveries allowed in one run. */\n limit: NonNegativeSafeInt\n }))),\n /** The static stance the monitors deliver under. */\n stance: Schema.optional(Stance)\n}) {}\n\n/**\n * The serializable snapshot fixed when a turn opens.\n *\n * @category events\n * @since 0.1.0\n * @slop\n */\nexport class TurnOpened extends Schema.TaggedClass<TurnOpened>(\n \"flows/harness/AgentEvent/TurnOpened\"\n)(\"turn-opened\", {\n eventType: Schema.Literal(\"flows.harness.turn-opened.v1\"),\n seat: Schema.String,\n modelParams: ModelRequest.GenerationParams,\n /**\n * The tool set the turn opened with, which the cell-first controller always\n * opens empty: it declares no provider tools. The field stays on the event\n * so journals written before the provider-tool loop was retired keep\n * decoding, and so a foreign-adapter loop has somewhere to put one.\n */\n activeToolNames: Schema.Array(Schema.String),\n contextDigest: Schema.String\n}) {}\n\n/**\n * What one model call was asked, written before the call is made.\n *\n * `model-settled` journals what a call answered and what it cost, and until\n * this event nothing journaled what it was asked: the request existed only in\n * the sealed step's key material, as a digest. A reader that wants to open one\n * step and run it again needs the request itself, so this is the request\n * itself, carried whole here and bounded where it is journaled.\n *\n * It is written when the call is OPENED rather than when it settles, so a call\n * that never settles (a deadline, a refusal, a process that died mid-stream)\n * still leaves what it asked on the record.\n *\n * `scope`, `frame` and `attempt` are the join keys, and they are on the record\n * because position is not one. `scope` is the run's session, which for a\n * module step is the step's recorded scope; `frame` is the controller's own\n * frame number; `attempt` counts the model calls one frame made, from one,\n * and is the same number `cell-rejected-in-frame` names when it refuses that\n * call's answer. A compaction call runs before its frame's `turn-opened`, so a\n * reader counting turns would file it under the frame before; `purpose` and\n * `frame` say where it belongs.\n *\n * Credential-free by construction. The request is the provider-neutral\n * `ModelRequest`, which has no member a credential can occupy, and\n * {@link EngineLike.Binding} carries two names read off the prepared request\n * that exists before any secret is signed on.\n *\n * @category events\n * @since 1.0.0-rc.0\n */\nexport class ModelRequested extends Schema.TaggedClass<ModelRequested>(\n \"flows/harness/AgentEvent/ModelRequested\"\n)(\"model-requested\", {\n eventType: Schema.Literal(\"flows.harness.model-requested.v1\"),\n /** The run's session, which is the recorded scope of the step that made the call. */\n scope: Schema.String,\n /** The controller's frame number for the turn this call belongs to. */\n frame: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)),\n /** Which model call of that frame and purpose this is, counting from one. */\n attempt: Schema.Int.check(Schema.isGreaterThanOrEqualTo(1)),\n /** What the call is for: the frame's own turn, or the compaction ahead of it. */\n purpose: Schema.Literals([\"frame\", \"compaction\"]),\n /** The seat the frame ran on, as `turn-opened` names it. */\n seat: Schema.String,\n /** The route the host resolved, absent where the host names none. */\n binding: Schema.optional(EngineLike.Binding),\n /** The request the provider is sent, whole: after any rewrite the host applies. */\n request: ModelRequest.ModelRequest\n}) {}\n\n/**\n * The host selected the seat that will receive this capacity attempt.\n * @category events\n * @since 1.0.0-rc.1\n */\nexport class ModelSelected extends Schema.TaggedClass<ModelSelected>(\n \"flows/harness/AgentEvent/ModelSelected\"\n)(\"model-selected\", {\n eventType: Schema.Literal(\"flows.harness.model-selected.v1\"),\n seat: Schema.String\n}) {}\n\n/**\n * A capacity refusal moved the current frame to another seat.\n * @category events\n * @since 1.0.0-rc.1\n */\nexport class SeatFailedOver extends Schema.TaggedClass<SeatFailedOver>(\n \"flows/harness/AgentEvent/SeatFailedOver\"\n)(\"seat-failed-over\", {\n eventType: Schema.Literal(\"flows.harness.seat-failed-over.v1\"),\n from: Schema.String,\n to: Schema.String,\n code: ModelError.ModelErrorCode,\n resetAtEpochMillis: Schema.optional(Schema.Number),\n retryAfterMillis: Schema.optional(Schema.Number),\n httpStatus: Schema.optional(Schema.Number),\n quotaScope: Schema.optional(Schema.Literals([\"account\", \"model\"]))\n}) {}\n\n/**\n * All configured model seats are cooling until this instant.\n * @category events\n * @since 1.0.0-rc.1\n */\nexport class ModelParked extends Schema.TaggedClass<ModelParked>(\n \"flows/harness/AgentEvent/ModelParked\"\n)(\"model-parked\", {\n eventType: Schema.Literal(\"flows.harness.model-parked.v1\"),\n seat: Schema.String,\n wakeAt: Schema.Number,\n source: Schema.Literals([\"reset\", \"retry-after\", \"default\"]),\n code: ModelError.ModelErrorCode\n}) {}\n\n/**\n * A parked model frame may issue a new request.\n * @category events\n * @since 1.0.0-rc.1\n */\nexport class ModelUnparked extends Schema.TaggedClass<ModelUnparked>(\n \"flows/harness/AgentEvent/ModelUnparked\"\n)(\"model-unparked\", {\n eventType: Schema.Literal(\"flows.harness.model-unparked.v1\"),\n seat: Schema.String,\n at: Schema.Number\n}) {}\n\n/**\n * One provider-neutral model progress event.\n *\n * @category events\n * @since 0.1.0\n * @slop\n */\nexport class ModelDelta extends Schema.TaggedClass<ModelDelta>(\n \"flows/harness/AgentEvent/ModelDelta\"\n)(\"model-delta\", {\n eventType: Schema.Literal(\"flows.harness.model-delta.v1\"),\n delta: ModelEvent.ModelEvent\n}) {}\n\n/**\n * A transport-only model retry taken before the sealed step settled.\n *\n * @category events\n * @since 0.1.0\n */\nexport class ModelRetried extends Schema.TaggedClass<ModelRetried>(\n \"flows/harness/AgentEvent/ModelRetried\"\n)(\"model-retried\", {\n eventType: Schema.Literal(\"flows.harness.model-retried.v1\"),\n attempt: Schema.Int,\n code: Schema.String,\n /**\n * Milliseconds the boundary waited before this attempt.\n *\n * Every retry of one sealed step is journaled at the moment the step\n * settles, so the event timestamps cannot show the schedule. This carries\n * it. Zero is what an unscheduled retry, or a record written before the\n * field existed, reports.\n */\n delayMillis: Schema.Number.pipe(\n Schema.withConstructorDefault(Effect.succeed(0)),\n Schema.withDecodingDefaultKey(Effect.succeed(0))\n )\n}) {}\n\n/**\n * The complete recorded model settlement and usage.\n *\n * @category events\n * @since 0.1.0\n * @slop\n */\nexport class ModelSettled extends Schema.TaggedClass<ModelSettled>(\n \"flows/harness/AgentEvent/ModelSettled\"\n)(\"model-settled\", {\n eventType: Schema.Literal(\"flows.harness.model-settled.v1\"),\n message: ModelRequest.AssistantMessage,\n usage: ModelEvent.Usage,\n /**\n * The call's USD cost: the provider's reported charge, or its usage priced\n * under the model's rate card. Absent for an unpriced model.\n */\n costUsd: Schema.optional(Schema.Number),\n /** Where {@link costUsd} came from. */\n costSource: Schema.optional(Pricing.CostSource),\n /** The vendor session that answered, for a wrapped CLI seat: `claude --resume <sessionId>`. */\n sessionId: Schema.optional(Schema.String),\n /**\n * Wall-clock milliseconds the sealed step took, measured on the injected\n * clock.\n *\n * Usage alone answers what a call cost, never how long it took, so a\n * benchmark could compare tokens per run but not seconds per call \u2014 and\n * speed was the larger half of the gap the first head-to-head measured.\n * Zero is what an event carries when nothing timed it.\n */\n durationMillis: Schema.Number.pipe(\n Schema.withConstructorDefault(Effect.succeed(0)),\n Schema.withDecodingDefaultKey(Effect.succeed(0))\n )\n}) {}\n\n/**\n * The cell source recovered from one model settlement.\n *\n * The source itself is durable evidence: replay re-executes exactly this text,\n * and every call identity inside the frame folds in its digest.\n *\n * @category events\n * @since 0.1.0\n * @slop\n */\nexport class CellProduced extends Schema.TaggedClass<CellProduced>(\n \"flows/harness/AgentEvent/CellProduced\"\n)(\"cell-produced\", {\n eventType: Schema.Literal(\"flows.harness.cell-produced.v1\"),\n cell: Cell.Source,\n /**\n * How many fenced cell blocks the reply was written in.\n *\n * Journaled because it is the only record of how the model laid its frame\n * out, and because the count above one is the shape whose whole program the\n * harness used to discard. See `Cell.extract`.\n */\n blocks: Schema.Int.check(Schema.isGreaterThanOrEqualTo(1)).pipe(\n Schema.withConstructorDefault(Effect.succeed(1)),\n Schema.withDecodingDefaultKey(Effect.succeed(1))\n )\n}) {}\n\n/**\n * One reply the boundary parse refused, answered inside the frame it arrived\n * in rather than by ending the frame.\n *\n * Journaled because it is spend: a re-prompt is a real model call, cached\n * prefix or not, and a wave counting cost per frame would otherwise see the\n * output of an answer it has no record of asking for. It is also the only\n * measure of whether validating at the boundary is worth what it costs \u2014 the\n * ratio of this event to `cell-settled` rejections says how often one re-ask\n * recovers a frame.\n *\n * @category events\n * @since 0.1.0\n * @slop\n */\nexport class CellRejectedInFrame extends Schema.TaggedClass<CellRejectedInFrame>(\n \"flows/harness/AgentEvent/CellRejectedInFrame\"\n)(\"cell-rejected-in-frame\", {\n eventType: Schema.Literal(\"flows.harness.cell-rejected-in-frame.v1\"),\n /** Which attempt of this frame was refused, counting from one. */\n attempt: Schema.Int.check(Schema.isGreaterThanOrEqualTo(1)),\n /** Why the parse refused it. */\n code: Cell.RejectionCode,\n /** What the frame told the model, verbatim. */\n message: Schema.String\n}) {}\n\n/**\n * One flow call opened from inside a running cell.\n *\n * @category events\n * @since 0.1.0\n * @slop\n */\nexport class CellCallStarted extends Schema.TaggedClass<CellCallStarted>(\n \"flows/harness/AgentEvent/CellCallStarted\"\n)(\"cell-call-started\", {\n eventType: Schema.Literal(\"flows.harness.cell-call-started.v1\"),\n call: Cell.Call\n}) {}\n\n/**\n * One settled flow call made from inside a running cell.\n *\n * @category events\n * @since 0.1.0\n * @slop\n */\nexport class CellCallSettled extends Schema.TaggedClass<CellCallSettled>(\n \"flows/harness/AgentEvent/CellCallSettled\"\n)(\"cell-call-settled\", {\n eventType: Schema.Literal(\"flows.harness.cell-call-settled.v1\"),\n flowName: Schema.String,\n identity: Cell.CallIdentity,\n result: Cell.CallResult\n}) {}\n\n/**\n * What one REPL cell printed, as the next model turn will read it.\n *\n * The print buffer is the whole of the context channel in REPL mode, so it is\n * journaled rather than derived: a transcript projection rebuilds a resumed\n * run's window from the journal without re-running anything, exactly as it does\n * for the context a filing cell projected. Bounded before it is emitted, so the\n * journal carries what the model saw and nothing larger.\n *\n * @category events\n * @since 0.1.0\n */\nexport class CellPrinted extends Schema.TaggedClass<CellPrinted>(\n \"flows/harness/AgentEvent/CellPrinted\"\n)(\"cell-printed\", {\n eventType: Schema.Literal(\"flows.harness.cell-printed.v1\"),\n /** The digest of the cell whose prints these are. */\n cell: Schema.String,\n /** The frame's whole print buffer, already bounded; empty when it printed nothing. */\n text: Schema.String\n}) {}\n\n/**\n * The outcome of executing one cell, whether it settled, threw, or was\n * rejected before it ran.\n *\n * @category events\n * @since 0.1.0\n * @slop\n */\nexport class CellSettled extends Schema.TaggedClass<CellSettled>(\n \"flows/harness/AgentEvent/CellSettled\"\n)(\"cell-settled\", {\n eventType: Schema.Literal(\"flows.harness.cell-settled.v1\"),\n cell: Schema.String,\n outcome: Cell.Outcome,\n /** Absent in journals written before execution frontiers were recorded. */\n boundary: Schema.optional(Sandbox.FrameBoundary)\n}) {}\n\n/**\n * The durable transition the controller applied after a cell settled.\n *\n * @category events\n * @since 0.1.0\n * @slop\n */\nexport class TransitionApplied extends Schema.TaggedClass<TransitionApplied>(\n \"flows/harness/AgentEvent/TransitionApplied\"\n)(\"transition-applied\", {\n eventType: Schema.Literal(\"flows.harness.transition-applied.v1\"),\n transition: Cell.Transition\n}) {}\n\n/**\n * The controller issuing a read-cap intervention to the next frame.\n *\n * Kept separately from {@link ReadOnlyDemanded}: this event records the user\n * message entering the model transcript, while that event records how a later\n * frame answered it. A crash between those boundaries must retain the demand.\n *\n * @category events\n * @since 1.0.0-rc.0\n */\nexport class ReadOnlyDemandIssued extends Schema.TaggedClass<ReadOnlyDemandIssued>(\n \"flows/harness/AgentEvent/ReadOnlyDemandIssued\"\n)(\"read-only-demand-issued\", {\n eventType: Schema.Literal(\"flows.harness.read-only-demand-issued.v1\"),\n /** Consecutive read-only frames the run had spent. */\n streak: Schema.Int,\n /** The armed threshold that streak reached. */\n cap: Schema.Int,\n /** The frame the demand was attached to, which is the one that must answer it. */\n nextFrame: Schema.Int\n}) {}\n\n/**\n * The outcome of the frame immediately following a read-cap intervention.\n *\n * @category events\n * @since 0.1.0\n */\nexport class ReadOnlyDemanded extends Schema.TaggedClass<ReadOnlyDemanded>(\n \"flows/harness/AgentEvent/ReadOnlyDemanded\"\n)(\"read-only-demanded\", {\n eventType: Schema.Literal(\"flows.harness.read-only-demanded.v1\"),\n streak: Schema.Int,\n cap: Schema.Int,\n nextFrame: Schema.Int,\n nextAction: Schema.Literals([\"write\", \"justification\", \"read-only\", \"park\"])\n}) {}\n\n/**\n * The controller telling a run it has stopped learning anything.\n *\n * Written when a run reaches its repeat-observation threshold: consecutive\n * frames that issued calls, issued none the run had not already issued, and\n * changed nothing. Both this and {@link ReadOnlyDemandIssued} are written when\n * their demand is issued; {@link ReadOnlyDemanded} additionally records the\n * read-cap demand's later answer because that answer is a field on a\n * transition. A repeat demand is answered by the shape of the next frame's\n * calls, which the journal already writes one by one.\n *\n * @category events\n * @since 0.1.0\n */\nexport class RepeatDemanded extends Schema.TaggedClass<RepeatDemanded>(\n \"flows/harness/AgentEvent/RepeatDemanded\"\n)(\"repeat-demanded\", {\n eventType: Schema.Literal(\"flows.harness.repeat-demanded.v1\"),\n /** Consecutive repeat-observation frames the run had spent. */\n frames: Schema.Int,\n /** The armed threshold that streak reached. */\n cap: Schema.Int,\n /** The frame the demand was attached to, which is the one that must answer it. */\n nextFrame: Schema.Int\n}) {}\n\n/**\n * The controller refusing one completion whose evidence was narrowed.\n *\n * Written when a frame returns `complete` while the check it ran is a strict\n * narrowing of one the run had already run in full, over a tree that has since\n * changed and never re-run since. Written when the demand is *issued*, like the\n * repeat demand and unlike the read-cap one, because what answers it is the\n * shape of the next frame's calls and its output \u2014 both of which the journal\n * already writes.\n *\n * The event is the whole audit trail for the bounce. `broader` and `narrower`\n * quote the two inputs as the run wrote them, and the two digests say which\n * trees they were measured over, so a grader can decide after the fact whether\n * the demand was right without replaying anything.\n *\n * @category events\n * @since 0.1.0\n */\nexport class NarrowedDemanded extends Schema.TaggedClass<NarrowedDemanded>(\n \"flows/harness/AgentEvent/NarrowedDemanded\"\n)(\"narrowed-demanded\", {\n eventType: Schema.Literal(\"flows.harness.narrowed-demanded.v1\"),\n /** The flow both checks named. */\n flow: Schema.String,\n /** The broader check's input as the run wrote it, clipped. */\n broader: Schema.String,\n /** The narrowing check's input as the run wrote it, clipped. */\n narrower: Schema.String,\n /** Workspace digest the broader check was last run over. */\n broaderDigest: Schema.String,\n /** Workspace digest the completing frame closed on. */\n currentDigest: Schema.String,\n /** The frame the demand was attached to, which is the one that must answer it. */\n nextFrame: Schema.Int\n}) {}\n\n/**\n * The controller refusing one completion with no change behind it.\n *\n * Written when a frame returns `complete` while the tree it closed on is\n * byte-for-byte the tree the run opened on. Written when the demand is\n * *issued*, like the narrowing demand, because what answers it is the next\n * frame's own record \u2014 an edit that moves the digest, or a second completion\n * saying no change was needed \u2014 and the journal already writes both.\n *\n * The two digests are the whole audit trail: a grader can decide after the fact\n * whether the demand was right by comparing them to the run's\n * `mutation-observed` record, without replaying anything.\n *\n * @category events\n * @since 0.1.0\n */\nexport class UnmovedDemanded extends Schema.TaggedClass<UnmovedDemanded>(\n \"flows/harness/AgentEvent/UnmovedDemanded\"\n)(\"unmoved-demanded\", {\n eventType: Schema.Literal(\"flows.harness.unmoved-demanded.v1\"),\n /** Workspace digest the run opened on. */\n openedDigest: Schema.String,\n /** Workspace digest the completing frame closed on, equal to the first. */\n currentDigest: Schema.String,\n /** The frame the demand was attached to, which is the one that must answer it. */\n nextFrame: Schema.Int\n}) {}\n\n/**\n * The controller refusing one completion that stepped around a failing check.\n *\n * Written when a frame returns `complete` while a check recorded over the same\n * tree reported a failing exit status, was never re-run, and a later check went\n * back to the same subject with a different command.\n *\n * `failed` and `instead` quote the two inputs as the run wrote them, and\n * `currentDigest` is the tree both were measured over, so the record says which\n * reading the completion stands on and which one replaced it.\n *\n * @category events\n * @since 0.1.0\n */\nexport class UnresolvedDemanded extends Schema.TaggedClass<UnresolvedDemanded>(\n \"flows/harness/AgentEvent/UnresolvedDemanded\"\n)(\"unresolved-demanded\", {\n eventType: Schema.Literal(\"flows.harness.unresolved-demanded.v1\"),\n /** The flow both checks named. */\n flow: Schema.String,\n /** The failing check's input as the run wrote it, clipped. */\n failed: Schema.String,\n /** The input of the reading the run took instead, clipped. */\n instead: Schema.String,\n /** Workspace digest both checks were recorded over, and the frame closed on. */\n currentDigest: Schema.String,\n /** The frame the demand was attached to, which is the one that must answer it. */\n nextFrame: Schema.Int\n}) {}\n\n/**\n * The controller handing back a completion its own cell wrote before a call\n * in that cell failed.\n *\n * `failures` quotes each failed call's flow and message as the flow reported\n * them, so the record says which results the completion was written without.\n * See `FailedCall`.\n *\n * @category events\n * @since 1.0.0-rc.1\n */\nexport class FailedCallDemanded extends Schema.TaggedClass<FailedCallDemanded>(\n \"flows/harness/AgentEvent/FailedCallDemanded\"\n)(\"failed-call-demanded\", {\n eventType: Schema.Literal(\"flows.harness.failed-call-demanded.v1\"),\n /** The calls the completing frame settled as failures, oldest first. */\n failures: Schema.Array(Schema.Struct({ flow: Schema.String, message: Schema.String })),\n /** The frame the demand was attached to, which is the one that must answer it. */\n nextFrame: Schema.Int\n}) {}\n\n/**\n * The controller handing back a completion whose output does not fit the\n * shape the host declared for it.\n *\n * `note` is the correction the run was shown, verbatim, so a transcript\n * rebuilt from the journal holds what the model read. The same session\n * answers it, with everything its earlier frames bound still in scope.\n *\n * @category events\n * @since 1.0.0-rc.1\n */\nexport class OutputDemanded extends Schema.TaggedClass<OutputDemanded>(\n \"flows/harness/AgentEvent/OutputDemanded\"\n)(\"output-demanded\", {\n eventType: Schema.Literal(\"flows.harness.output-demanded.v1\"),\n /** The correction handed back with the completion. */\n note: Schema.String,\n /** The frame the demand was attached to, which is the one that must answer it. */\n nextFrame: Schema.Int\n}) {}\n\n/**\n * The controller handing back a completion its own cell wrote before reading\n * the calls it made.\n *\n * `calls` names each call the completing frame settled, in ledger order, with\n * the head of the result the next frame was shown, so the record says which\n * results the completion was written without.\n *\n * @category events\n * @since 1.0.0-rc.1\n */\nexport class UnobservedDemanded extends Schema.TaggedClass<UnobservedDemanded>(\n \"flows/harness/AgentEvent/UnobservedDemanded\"\n)(\"unobserved-demanded\", {\n eventType: Schema.Literal(\"flows.harness.unobserved-demanded.v1\"),\n /** The calls the completion was written without reading, oldest first. */\n calls: Schema.Array(\n Schema.Struct({ flow: Schema.String, ordinal: Schema.Int, ok: Schema.Boolean, summary: Schema.String })\n ),\n /** The frame the demand was attached to, which is the one that must answer it. */\n nextFrame: Schema.Int\n}) {}\n\n/**\n * The controller refusing one completion that holds a single reading.\n *\n * Written when a frame returns `complete` while the last check it ran names\n * subjects no other check of the run covers together, and the run never issued\n * that exact call before. The sibling of `narrowed-demanded`, from the other\n * side: that one fires when a broader check exists in the ledger and was not\n * re-run, this one when no broader check was ever taken.\n *\n * `check` quotes the input as the run wrote it and `targets` names the subjects\n * the demand is about, so a grader can decide after the fact whether the demand\n * was right without replaying anything.\n *\n * @category events\n * @since 0.1.0\n */\nexport class NarrowOnlyDemanded extends Schema.TaggedClass<NarrowOnlyDemanded>(\n \"flows/harness/AgentEvent/NarrowOnlyDemanded\"\n)(\"narrow-only-demanded\", {\n eventType: Schema.Literal(\"flows.harness.narrow-only-demanded.v1\"),\n /** The flow the check named. */\n flow: Schema.String,\n /** The check's input as the run wrote it, clipped. */\n check: Schema.String,\n /** The subjects it names, sorted. */\n targets: Schema.Array(Schema.String),\n /** Workspace digest the completing frame closed on; empty when unmeasured. */\n currentDigest: Schema.String,\n /** The frame the demand was attached to, which is the one that must answer it. */\n nextFrame: Schema.Int\n}) {}\n\n/**\n * What Jev read off one completion claim, whether or not it braked.\n *\n * The only demand event written on every evaluation rather than only on a\n * firing, and it is written that way on purpose: the other five demands are\n * derived from facts a grader can recompute from the journal, and this one is\n * a model's reading that exists nowhere else. Without the passing readings the\n * record would answer \"how often did it fire\" and could never answer \"how\n * often did it agree\", which is the only question that says whether arming it\n * was right. `demanded` is the field that separates them, and it says exactly one\n * thing: whether this reading handed the completion back for a frame. A\n * reading comes out three ways, not two. It passes, and cost the run nothing.\n * It demands, and cost the run a frame. Or it reads against a run with no\n * bounce left to spend, where `demanded` is false and the run ends on\n * `CompletionClaim.unproven`: the verdict is in the run's failure, and the two\n * probabilities here are what a grader re-applies a threshold to either way.\n *\n * `complete` and `overclaims` are the transport's probabilities for the\n * classifier's two questions, verbatim, so a grader can re-apply any\n * threshold to a whole wave without re-asking. `latencyMs` is what the\n * evaluation cost in wall clock on the hot path of a completion. No event is\n * written where the brake is disarmed (`claimCap` of zero), where the\n * transport failed, or where there was no task and no claim to ask about:\n * nothing was read, so there is nothing to record. A spent cap is no longer\n * one of those cases \u2014 the reading still happens, and it is the reading that\n * ends the run. See `CompletionClaim`.\n *\n * @category events\n * @since 1.0.0-rc.0\n */\nexport class ClaimDemanded extends Schema.TaggedClass<ClaimDemanded>(\n \"flows/harness/AgentEvent/ClaimDemanded\"\n)(\"claim-demanded\", {\n eventType: Schema.Literal(\"flows.harness.claim-demanded.v1\"),\n /** Probability the transport gave to \"the task as stated is done\"; journaled, decides nothing. */\n complete: Schema.Number,\n /** Probability it gave to \"the claim asserts what the evidence does not show\"; journaled, decides nothing. */\n overclaims: Schema.Number,\n /** Probability it gave to \"the claim reports a command or a result the evidence does not record\"; the one that decides. */\n invented: Schema.Number,\n /** Wall-clock milliseconds the evaluation took. */\n latencyMs: Schema.Int,\n /** Token usage reported by the evaluator, absent from older journal entries. */\n usage: Schema.optional(Usage),\n /** Whether this reading handed the completion back. */\n demanded: Schema.Boolean,\n /**\n * Whether this reading ended the run instead of handing the completion back.\n *\n * The third of the three ways a reading comes out, and the one that had no\n * field. `demanded` false meant both \"the claim stands\" and \"the claim is\n * refused and the run is over\", which a projection cannot tell apart, so the\n * refusal wrote no card and the sentence it refused was nowhere a person\n * could read. Absent from older journal entries, where it decodes false: a\n * journal written before this field carries its verdict in the run's\n * failure, which is where it always was.\n */\n refused: Schema.Boolean.pipe(\n Schema.withConstructorDefault(Effect.succeed(false)),\n Schema.withDecodingDefaultKey(Effect.succeed(false))\n ),\n /** Workspace digest the completing frame closed on; empty when unmeasured. */\n currentDigest: Schema.String,\n /** The frame the demand was attached to, which is the one that must answer it. */\n nextFrame: Schema.Int\n}) {}\n\nconst Probability = Schema.Number.check(Schema.isBetween({ minimum: 0, maximum: 1 }))\n\n/**\n * One classifier answer as `decision-settled` journals it, tagged by kind.\n *\n * `confidence` is the PROVIDER's number, `Evaluator.Response.confidence`, and\n * it is absent whenever the provider sent none. It is never the largest\n * probability wearing the name: `Classifier.confidence` reads 1 for an answer\n * that carried no distribution at all, so a record that filled the field from\n * it would report certainty exactly where the provider reported nothing. A\n * boolean has no such field because its probability is the whole answer.\n *\n * @category models\n * @since 1.0.0-rc.0\n */\nexport const DecisionAnswer = Schema.Union([\n Schema.Struct({\n kind: Schema.Literal(\"boolean\"),\n /** The probability the transport gave to yes. */\n p: Probability\n }),\n Schema.Struct({\n kind: Schema.Literal(\"choice\"),\n /** The option chosen. */\n value: Schema.String,\n probabilities: Schema.Record(Schema.String, Probability),\n /** The provider's own number, unchecked: it is theirs to define, and a record must not fail a run. */\n confidence: Schema.optionalKey(Schema.Number)\n }),\n Schema.Struct({\n kind: Schema.Literal(\"score\"),\n /** The score as the transport gave it, interpolated over rung indexes. */\n value: Schema.Number,\n /** The label of the nearest rung. */\n label: Schema.String,\n probabilities: Schema.Record(Schema.String, Probability),\n /** The provider's own number, unchecked: it is theirs to define, and a record must not fail a run. */\n confidence: Schema.optionalKey(Schema.Number)\n })\n])\n\n/**\n * The decoded form of {@link DecisionAnswer}.\n *\n * @category models\n * @since 1.0.0-rc.0\n */\nexport type DecisionAnswer = typeof DecisionAnswer.Type\n\n/**\n * The answers of one evaluation in the shape {@link DecisionSettled} carries.\n *\n * `confidence` is `Evaluator.Response.confidence`, passed through per question\n * and left out per question: see {@link DecisionAnswer}.\n *\n * @category conversions\n * @since 1.0.0-rc.0\n */\nexport const decisionAnswers = (\n answers: Readonly<Record<string, Classifier.Answer>>,\n confidence: Readonly<Record<string, number>> | undefined\n): Readonly<Record<string, DecisionAnswer>> =>\n Object.fromEntries(\n Object.entries(answers).map(([id, answer]): readonly [string, DecisionAnswer] => {\n if (\"probability\" in answer) return [id, { kind: \"boolean\", p: answer.probability }]\n const reported = confidence !== undefined && Object.hasOwn(confidence, id) ? confidence[id] : undefined\n const provided = reported === undefined ? {} : { confidence: reported }\n return \"label\" in answer\n ? [id, {\n kind: \"score\",\n value: answer.value,\n label: answer.label,\n probabilities: answer.probabilities,\n ...provided\n }]\n : [id, { kind: \"choice\", value: answer.value, probabilities: answer.probabilities, ...provided }]\n })\n )\n\n/**\n * One decision a classifier made, with everything a reader needs to make it\n * again: the state it read, the questions it was asked, and what it answered.\n *\n * The generalisation of {@link ClaimDemanded}, which stays. That event is three\n * probabilities and a verdict, and it cannot say what the probabilities were\n * probabilities OF: the evidence the brake assembled exists nowhere else, so a\n * reading could be re-thresholded and never re-asked. This one carries the\n * evidence. It is written beside `claim-demanded` rather than instead of it,\n * because every projection that counts readings counts that event.\n *\n * `classifier` is the declaration's stable id, never its description, and\n * `digest` is `Classifier.digest`, so a reader can tell a decision made under\n * questions that have since been reworded from one it can reproduce.\n * `questions` are the wire shapes the transport was sent.\n *\n * `acted` says whether the decision changed what the run did next. For the\n * completion brake that is a completion handed back or a run ended; a reading\n * that let the claim stand is `false`, and it is journaled all the same,\n * because the passing decisions are what say whether asking was right.\n *\n * `decidedBy` names who answered: `jev` for the decision-only model behind\n * `Evaluator`, `seat` for a generation seat asked to judge, `human` for a\n * person. Only `jev` is written today.\n *\n * `scope` and `frame` are the join keys {@link ModelRequested} carries, for the\n * reason it carries them.\n *\n * An emitter must produce the reading inside a recorded boundary, as the\n * completion brake does, and emit what the record holds. The answers are a\n * model's and the latency is a clock's, so a replayed frame that asked again\n * would journal a second, different decision at the same coordinates.\n *\n * @category events\n * @since 1.0.0-rc.0\n */\nexport class DecisionSettled extends Schema.TaggedClass<DecisionSettled>(\n \"flows/harness/AgentEvent/DecisionSettled\"\n)(\"decision-settled\", {\n eventType: Schema.Literal(\"flows.harness.decision-settled.v1\"),\n /** The run's session, which is the recorded scope of the step that decided. */\n scope: Schema.String,\n /** The controller's frame number for the turn the decision was made in. */\n frame: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)),\n /** The classifier's stable id. */\n classifier: Schema.String,\n /** `Classifier.digest`: the canonical hash of the id and the questions. */\n digest: Schema.String,\n /** The encoded state the questions were asked about, as the transport was sent it. */\n state: Schema.Json,\n /** The questions as they crossed the wire, keyed by question id. */\n questions: Schema.Record(Schema.String, Evaluator.Question),\n /** One answer per question id, tagged by kind. */\n answers: Schema.Record(Schema.String, DecisionAnswer),\n /** Wall-clock milliseconds the evaluation took. */\n latencyMs: Schema.Int,\n /** Whether this decision changed what the run did next. */\n acted: Schema.Boolean,\n /** Who answered. */\n decidedBy: Schema.Literals([\"jev\", \"seat\", \"human\"]),\n /** Token usage reported by the evaluator, absent when it supplied none. */\n usage: Schema.optional(Usage)\n}) {}\n\nconst Level = Schema.Literals([\"none\", \"mild\", \"strong\"])\n\n/**\n * What Jev read off one frame of a running run, whether or not it nudged.\n *\n * Written by the supervisor fiber for every snapshot it read, at some time\n * after the frame it is a reading of closed: the reading is taken off the\n * cell loop's hot path, so its position among the frame's other events is not\n * fixed and `scope` and `frame` are its coordinates. `frame` is the frame the\n * snapshot was built from, not the frame that will read any nudge.\n *\n * `thrashing`, `onTarget` and `suspect` are the transport's probabilities\n * verbatim, so a wave re-applies any threshold without re-asking. The five\n * levels and `needsHelp` are the transport's words: nothing here is a default\n * a failed reading fills in, because a failed reading writes\n * {@link SupervisorUnjudged} and never this. `crossed` says whether the\n * reading passed a nudge threshold; `nudged` whether a nudge was handed to\n * the next boundary, which needs the host to have armed steering. The\n * recalled rows are judged by Relevance and journaled beside this as\n * `relevance-settled`. `decision-settled` beside this carries the snapshot\n * and every answer.\n *\n * @category events\n * @since 1.0.0-rc.0\n */\nexport class SupervisorSettled extends Schema.TaggedClass<SupervisorSettled>(\n \"flows/harness/AgentEvent/SupervisorSettled\"\n)(\"supervisor-settled\", {\n eventType: Schema.Literal(\"flows.harness.supervisor-settled.v1\"),\n /** The run's session. */\n scope: Schema.String,\n /** The frame the snapshot was built from. */\n frame: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)),\n /** Probability the run is repeating itself without converging. */\n thrashing: Schema.Number,\n /** Probability the run is still working on the task as stated. */\n onTarget: Schema.Number,\n /** Probability the run's evidence is suspect. */\n suspect: Schema.Number,\n /** Probability visible earlier context is contradicted by later evidence. */\n outdatedContext: Schema.optional(Schema.Number),\n /** Probability visible earlier context is no longer useful for this task. */\n irrelevantContext: Schema.optional(Schema.Number),\n frustrated: Level,\n anxious: Level,\n scared: Level,\n confused: Level,\n confident: Level,\n /** The one word a person is shown. */\n needsHelp: Schema.Literals([\"none\", \"clarification\", \"permission\", \"stuck\", \"risky_action\"]),\n /** Whether the reading crossed a nudge threshold. */\n crossed: Schema.Boolean,\n /** Whether a nudge was handed to the next boundary. */\n nudged: Schema.Boolean,\n /**\n * Whether steering was armed for this reading. `discipline-armed` states it\n * once, at a run's first frame; a resumed run may be armed differently, and\n * this is where the journal says what the reading actually ran under.\n * Absent from readings journaled before it existed.\n */\n steer: Schema.optional(Schema.Boolean),\n /**\n * Whether the snapshot had more uncalled skills than `Supervisor.skillLimit`,\n * so some were not scored. Absent when every one was.\n */\n skillsCapped: Schema.optional(Schema.Boolean),\n /** Wall-clock milliseconds the evaluation took. */\n latencyMs: Schema.Int,\n /** Token usage reported by the evaluator, absent when it supplied none. */\n usage: Schema.optional(Usage),\n /** Each armed monitor's probability in this reading, and whether it crossed. */\n monitors: Schema.optional(Schema.Array(Schema.Struct({\n id: Schema.String,\n kind: MonitorKind,\n p: Schema.Number,\n crossed: Schema.Boolean\n })))\n}) {}\n\n/**\n * A supervisor snapshot nobody could judge, and why.\n *\n * Written instead of {@link SupervisorSettled}, never beside it: no\n * evaluator on the host, a refusal, a deadline, an answer that does not\n * decode, a run that ended with the reading in flight. `reason` is\n * `unconfigured`, `interrupted`, or the transport's own error code. A reading\n * that fails inserts nothing and reports no level, so a\n * wave counting calm runs counts only runs Jev read. An `interrupted` reading\n * was asked and may have cost a call, so a wave counting Jev's cost counts it.\n *\n * @category events\n * @since 1.0.0-rc.0\n */\nexport class SupervisorUnjudged extends Schema.TaggedClass<SupervisorUnjudged>(\n \"flows/harness/AgentEvent/SupervisorUnjudged\"\n)(\"supervisor-unjudged\", {\n eventType: Schema.Literal(\"flows.harness.supervisor-unjudged.v1\"),\n /** The run's session. */\n scope: Schema.String,\n /** The frame the snapshot was built from. */\n frame: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)),\n /** `unconfigured`, `interrupted`, or the transport's own error code. */\n reason: UnjudgedReason,\n /** What went wrong, safe to journal: see `Evaluator.publicMessage`. */\n detail: Schema.String,\n /** What each request of the failed reading paid; absent when none was metered. */\n usage: Schema.optional(Schema.Array(Usage))\n}) {}\n\n/**\n * A Jev reading that could not be judged, outside the supervisor.\n *\n * Written by a relevance, compaction or routing reading instead of its\n * settlement. The caller then keeps everything it would have filtered, so the\n * receipt is what says the filter did not run. `items` is how many items the\n * failed reading covered.\n *\n * @category events\n * @since 1.0.0-rc.0\n */\nexport class DecisionUnjudged extends Schema.TaggedClass<DecisionUnjudged>(\n \"flows/harness/AgentEvent/DecisionUnjudged\"\n)(\"decision-unjudged\", {\n eventType: Schema.Literal(\"flows.harness.decision-unjudged.v1\"),\n /** The run's session. */\n scope: Schema.String,\n /** The frame the reading was asked in. */\n frame: NonNegativeSafeInt,\n /** The classifier's stable id. */\n classifier: Schema.String,\n /** `unconfigured`, `interrupted`, or the transport's own error code. */\n reason: UnjudgedReason,\n /** What went wrong, safe to journal: see `Evaluator.publicMessage`. */\n detail: Schema.String,\n /** Items the failed reading covered. */\n items: NonNegativeSafeInt,\n /** What each request of the failed reading paid; absent when none was metered. */\n usage: Schema.optional(Schema.Array(Usage))\n}) {}\n\nconst RelevanceItem = Schema.Struct({\n kind: RelevanceKind,\n id: Schema.String,\n /** Digest of the item's text; the text itself is never journaled. */\n digest: Schema.String,\n /** Probability the item is unnecessary for the task as stated. */\n p: Schema.Number\n})\n\n/**\n * Which human-provided items a relevance reading kept and which it withheld.\n *\n * An item is withheld only at or above `withholdAt`. Ids and digests, never\n * item text.\n *\n * @category events\n * @since 1.0.0-rc.0\n */\nexport class RelevanceSettled extends Schema.TaggedClass<RelevanceSettled>(\n \"flows/harness/AgentEvent/RelevanceSettled\"\n)(\"relevance-settled\", {\n eventType: Schema.Literal(\"flows.harness.relevance-settled.v1\"),\n /** The run's session. */\n scope: Schema.String,\n /** The frame the reading was asked in. */\n frame: NonNegativeSafeInt,\n /**\n * `run` for the gate at run start, `supervisor` for recalled memory,\n * `recall` for a recall the model called.\n */\n source: Schema.Literals([\"run\", \"supervisor\", \"recall\"]),\n /** The probability at or above which an item is withheld. */\n withholdAt: Schema.Number,\n kept: Schema.Array(RelevanceItem),\n withheld: Schema.Array(RelevanceItem),\n /** Wall-clock milliseconds the evaluation took. */\n latencyMs: NonNegativeSafeInt,\n /** Token usage reported by the evaluator, absent when it supplied none. */\n usage: Schema.optional(Usage)\n}) {}\n\n/**\n * A withheld flow restored because the run called it by name.\n *\n * @category events\n * @since 1.0.0-rc.0\n */\nexport class RelevanceRestored extends Schema.TaggedClass<RelevanceRestored>(\n \"flows/harness/AgentEvent/RelevanceRestored\"\n)(\"relevance-restored\", {\n eventType: Schema.Literal(\"flows.harness.relevance-restored.v1\"),\n /** The run's session. */\n scope: Schema.String,\n /** The frame whose call restored it. */\n frame: NonNegativeSafeInt,\n /** The flow restored. */\n flow: Schema.String\n}) {}\n\n/**\n * A panel a routed run fans out to: each member seat, with the backups it\n * fails over to, answers the task, and `merger` merges their answers.\n *\n * @category schemas\n * @since 1.0.0-rc.0\n */\nexport const SeatPanel = Schema.Struct({\n seats: Schema.Array(Schema.Struct({ seat: Schema.String, backups: Schema.Array(Schema.String) })),\n merger: Schema.String\n})\n\n/**\n * The seat a run with no declared model was routed to, and who chose it.\n *\n * `decidedBy` is `jev` when Jev answered the routing questions. Rows written\n * before the routing graph may say `only` and carry the seat choice's\n * `confidence`.\n *\n * @category events\n * @since 1.0.0-rc.0\n */\nexport class SeatRouted extends Schema.TaggedClass<SeatRouted>(\n \"flows/harness/AgentEvent/SeatRouted\"\n)(\"seat-routed\", {\n eventType: Schema.Literal(\"flows.harness.seat-routed.v1\"),\n /** The run's session. */\n scope: Schema.String,\n /** What the flow declared, such as `auto`. */\n declared: Schema.String,\n /** The seat chosen. */\n seat: Schema.String,\n /** The chosen seat's model. */\n modelId: Schema.String,\n /** The system-prompt variant chosen with it, when one was. */\n variant: Schema.NullOr(Schema.String),\n /** The seats offered. */\n candidates: Schema.Array(Schema.String),\n decidedBy: Schema.Literals([\"jev\", \"only\"]),\n /** The provider's own number, absent when it sent none. */\n confidence: Schema.optional(Schema.Number),\n /** Wall-clock milliseconds the routing took. */\n latencyMs: NonNegativeSafeInt,\n /** The seats `seat` fails over to, in order; absent when there are none. */\n backups: Schema.optionalKey(Schema.Array(Schema.String)),\n /** The panel the task was routed to, whose merger is `seat`; absent for one seat. */\n panel: Schema.optionalKey(SeatPanel)\n}) {}\n\n/**\n * A memory read or write the store refused.\n *\n * A `recall` is written by the supervisor fiber beside the reading it belongs\n * to, never instead of it: a memory fault is not a supervisor fault, and the\n * reading still settles. A `remember` is written at run end by the transcript\n * miner, for a fact Jev accepted that the store did not keep, and the run\n * still ends as it would have. `operation` says which side failed; `detail`\n * is the store's own account. A wave counts these rather than reading a log, because a\n * concurrent writer that loses a lock looks exactly like a run that\n * remembered nothing.\n *\n * @category events\n * @since 1.0.0-rc.0\n */\nexport class SupervisorMemoryFailed extends Schema.TaggedClass<SupervisorMemoryFailed>(\n \"flows/harness/AgentEvent/SupervisorMemoryFailed\"\n)(\"supervisor-memory-failed\", {\n eventType: Schema.Literal(\"flows.harness.supervisor-memory-failed.v1\"),\n /** The run's session. */\n scope: Schema.String,\n /** The frame whose reading asked; for a `remember`, the run's last frame. */\n frame: Schema.Int.check(Schema.isGreaterThanOrEqualTo(0)),\n /** `recall` for a read, `remember` for a write. */\n operation: Schema.Literals([\"recall\", \"remember\"]),\n /** The store's own account of the failure. */\n detail: Schema.String\n}) {}\n\n/**\n * The controller telling a run that its own evidence is complete.\n *\n * The one control that is not a brake, and the only one written for a frame\n * that has done nothing wrong: the run watched a check fail before it changed\n * anything and watched the same check, or a broader one, pass after. Written\n * when the observation is *issued*, at most once per run, because what answers\n * it is the next frame's transition and the journal already writes that.\n *\n * `failed` and `passed` quote the two inputs as the run wrote them, and `epoch`\n * is the run's count of mutating frames when the failure was recorded, so the\n * ordering the observation asserts is checkable after the fact. Nothing is\n * refused and no cap is spent, so there is no cap field to record.\n *\n * @category events\n * @since 0.1.0\n */\nexport class SufficiencyObserved extends Schema.TaggedClass<SufficiencyObserved>(\n \"flows/harness/AgentEvent/SufficiencyObserved\"\n)(\"sufficiency-observed\", {\n eventType: Schema.Literal(\"flows.harness.sufficiency-observed.v1\"),\n /** The flow that ran the failing check. */\n flow: Schema.String,\n /** The failing check's input as the run wrote it, clipped. */\n failed: Schema.String,\n /** The input of the passing check that answered it, clipped. */\n passed: Schema.String,\n /** Mutating frames the run had spent when the failure was recorded. */\n epoch: Schema.Int,\n /** The frame the observation was attached to. */\n nextFrame: Schema.Int\n}) {}\n\n/**\n * The controller telling a run that its stored proof was already green.\n *\n * **Nothing emits this.** `VacuousVerification` is unwired from `CellTurn`;\n * the event stays declared so the r93 journals that carry it keep decoding and\n * so a controlled re-measure needs no schema change. See `VacuousVerification`\n * for the evidence that turned the arm off.\n *\n * The second control in this package that is not a brake, and the narrower of\n * the two: a cell stored `state.verification` naming a call this run had\n * already watched pass over the tree it was handed, before any frame changed a\n * byte. Written when the observation is issued, at most once per distinct\n * verification input, and delivered on the `invalidProbe` channel because it is\n * the same class of fact \u2014 a result that reads identically on a broken tree and\n * on a fixed one.\n *\n * `check` quotes the stored input as the run wrote it, and `callDigest` is the\n * controller's own identity for that call, so a reader can reconcile the\n * observation against the run's own `cell-call-settled` rows without replaying\n * anything. Nothing is refused and no cap is spent, so there is no cap field.\n *\n * It is named for what it is -- the digest of `{ flow, input }`, nothing signs\n * it -- rather than `signature`, the controller's own word for it everywhere\n * else. The journal redacts by field name, and `signature` names a credential\n * often enough in this repository (an HMAC over share claims, a grant\n * envelope, a webhook header) that the rule stays. A field this row exists to\n * be reconciled by cannot be written as `[REDACTED]`, so the field carries the\n * honest word and the rule keeps its reach.\n *\n * @category events\n * @since 0.1.0\n */\nexport class VacuousVerificationObserved extends Schema.TaggedClass<VacuousVerificationObserved>(\n \"flows/harness/AgentEvent/VacuousVerificationObserved\"\n)(\"vacuous-verification-observed\", {\n eventType: Schema.Literal(\"flows.harness.vacuous-verification-observed.v1\"),\n /** The flow the stored check named. */\n flow: Schema.String,\n /** The stored check's input as the run wrote it, clipped. */\n check: Schema.String,\n /** The controller's identity for that call: the digest of its flow and input. */\n callDigest: Schema.String,\n /** The frame the observation was attached to. */\n nextFrame: Schema.Int\n}) {}\n\n/**\n * What one frame did to the workspace, and how the controller knows.\n *\n * Emitted once per frame that ran a cell. It is the frame's own answer to the\n * question every later audit asks \u2014 \"did this frame change anything\" \u2014 written\n * before any control acts on it, so a run that never trips the cap still leaves\n * the evidence behind.\n *\n * `basis` is the field that keeps the record honest. `observed` means the frame\n * had two measurements around it that each covered the whole workspace, so the\n * tree itself could answer. `partial` means a measurement was taken and stopped\n * at a bound before it covered the tree, so it is set aside: a prefix chosen by\n * sort order cannot say the files being edited outside it held still, and its\n * own movement is as likely to be a tool's churn as work. `declared` means the\n * host measured nothing at all.\n * Under the last two, `mutated` is only what the frame's calls claimed about\n * themselves \u2014 which is exactly the signal that missed a shell redirect over a\n * tracked source file.\n *\n * `mutated` is the union of the two signals, with one exception. A declaration\n * by a call that *succeeded* stands even where the measurement cannot see the\n * path it touched, because the alternative is failing a run that has been\n * editing all along on the strength of a walk that never looked at its files.\n * A declaration by a call that *failed* is a claim about what it would have\n * written, and where `basis` is `observed` and the digest did not move, the\n * tree has answered that claim: nothing was written, and the frame is not\n * counted as a write. So `declaredWrites: 1` beside `mutated: false` under\n * `observed` is a declaration the measurement vetoed, and both numbers stay in\n * the record.\n *\n * @category events\n * @since 0.1.0\n */\nexport class MutationObserved extends Schema.TaggedClass<MutationObserved>(\n \"flows/harness/AgentEvent/MutationObserved\"\n)(\"mutation-observed\", {\n eventType: Schema.Literal(\"flows.harness.mutation-observed.v1\"),\n /** What the frame had to decide with: a full measurement, a partial one, or paperwork. */\n basis: Schema.Literals([\"observed\", \"partial\", \"declared\"]),\n /** Whether this frame changed anything: the tree said so, or a call declared it. */\n mutated: Schema.Boolean,\n /** Content address of the workspace as the frame left it; empty when unobserved. */\n digest: Schema.String,\n /** Paths the closing measurement covered; zero when unobserved. */\n paths: Schema.Int,\n /**\n * Calls this frame made that DECLARED a write, whether or not they landed.\n *\n * Journaled beside the observed answer rather than instead of it, because\n * the gap between the two numbers is the accounting defect itself: a frame\n * with `declaredWrites: 0` and `mutated: true` is a shell mutation nothing\n * else in the run can see, and a frame with `declaredWrites: 1` and\n * `mutated: false` under `observed` is a failed call whose declaration the\n * measurement contradicted.\n */\n declaredWrites: Schema.Int\n}) {}\n\n/**\n * One tree this run pinned, and the store's own name for it.\n *\n * Journaled at the mint rather than only at its use, because the two are\n * frames apart by design: a run pins the tree it is about to change and reads\n * against it later, and a journal that recorded only the reading could not say\n * which tree it was a reading of. `ref` is the host's vocabulary and the\n * controller never interprets it; a grader reconciles it against the store by\n * hand. See `EngineLike` `Snapshot`.\n *\n * @category events\n * @since 0.1.0\n */\nexport class CheckpointMinted extends Schema.TaggedClass<CheckpointMinted>(\n \"flows/harness/AgentEvent/CheckpointMinted\"\n)(\"checkpoint-minted\", {\n eventType: Schema.Literal(\"flows.harness.checkpoint-minted.v1\"),\n /** The handle the cell holds, and what a later call names in its `at`. */\n id: Schema.String,\n /** What the host recorded, in the host's own vocabulary. */\n ref: Schema.String,\n /** The cell that minted it, and where in that cell. */\n cell: Schema.String,\n ordinal: Schema.Int\n}) {}\n\n/**\n * The durable reason a cell execution parked.\n *\n * @category events\n * @since 0.1.0\n * @slop\n */\nexport class Suspended extends Schema.TaggedClass<Suspended>(\n \"flows/harness/AgentEvent/Suspended\"\n)(\"suspended\", {\n eventType: Schema.Literal(\"flows.harness.suspended.v1\"),\n reason: EngineLike.SuspendReason\n}) {}\n\n/**\n * A sealed compaction summary and the prefix it replaces.\n *\n * @category events\n * @since 0.1.0\n * @slop\n */\nexport class CompactionSettled extends Schema.TaggedClass<CompactionSettled>(\n \"flows/harness/AgentEvent/CompactionSettled\"\n)(\"compaction-settled\", {\n eventType: Schema.Literal(\"flows.harness.compaction-settled.v1\"),\n replacedPrefixDigest: Schema.String,\n // Counts messages, not segments: one live transcript segment can contain\n // both an assistant turn and its observations. Absent in older journals.\n retainedMessageCount: Schema.optional(Schema.Int.check(Schema.isGreaterThanOrEqualTo(0))),\n /** Absent when nothing replaced was squashed. */\n summary: Schema.optional(ModelRequest.Message),\n /** Replaced messages carried over verbatim, after the summary. */\n kept: Schema.optional(Schema.Array(ModelRequest.Message)),\n /** What a reading marked each replaced segment, by segment digest. */\n marks: Schema.optional(Schema.Array(Schema.Struct({\n digest: Schema.String,\n mark: CompactionMark,\n /** The invariant that overrode a `remove`, when one did. */\n pinned: Schema.optional(CompactionPin)\n }))),\n /** Estimated tokens the removed messages held. */\n removedTokens: Schema.optional(NonNegativeSafeInt),\n /**\n * True when a judged run could not mark: its facts do not describe every\n * transcript segment, as in state written before marks, so every replaced\n * message was squashed.\n */\n unaligned: Schema.optional(Schema.Boolean),\n /** Why the compaction ran, budget first. Absent in older journals, which compacted on the budget alone. */\n causes: Schema.optional(Schema.Array(CompactionCause))\n}) {}\n\n/**\n * Steering messages drained at a turn boundary.\n *\n * @category events\n * @since 0.1.0\n * @slop\n */\nexport class SteeringDrained extends Schema.TaggedClass<SteeringDrained>(\n \"flows/harness/AgentEvent/SteeringDrained\"\n)(\"steering-drained\", {\n eventType: Schema.Literal(\"flows.harness.steering-drained.v1\"),\n /** What the person sent, in admission order. */\n messages: Schema.Array(ModelRequest.Message),\n /**\n * What the run's supervisor delivered at the same boundary: a nudge or a\n * recalled row. The model reads these above the person's messages; they\n * never join the task the completion brake or the supervisor reads.\n */\n supervisor: Schema.optional(Schema.Array(ModelRequest.Message)),\n /** The monitor whose delivery `supervisor` carries, when one's does. */\n monitor: Schema.optional(Schema.String),\n /** Crossed monitors not delivered at this boundary, and why. */\n suppressed: Schema.optional(Schema.Array(Schema.Struct({ id: Schema.String, reason: Suppression }))),\n /** Keys of the memory rows delivered at this boundary. */\n memory: Schema.optional(Schema.Array(Schema.String))\n}) {}\n\n/**\n * The terminal decision made at a turn boundary.\n *\n * @category events\n * @since 0.1.0\n * @slop\n */\nexport class TurnClosed extends Schema.TaggedClass<TurnClosed>(\n \"flows/harness/AgentEvent/TurnClosed\"\n)(\"turn-closed\", {\n eventType: Schema.Literal(\"flows.harness.turn-closed.v1\"),\n stopReason: ModelRequest.StopReason,\n outcome: Schema.Literals([\"continue\", \"resolved\", \"aborted\", \"suspended\"])\n}) {}\n\n/**\n * A permission request reported for engine-owned suspension and resolution.\n *\n * @category events\n * @since 0.1.0\n * @slop\n */\nexport class PermissionRequired extends Schema.TaggedClass<PermissionRequired>(\n \"flows/harness/AgentEvent/PermissionRequired\"\n)(\"permission-required\", {\n eventType: Schema.Literal(\"flows.harness.permission-required.v1\"),\n request: Permission.PermissionRequired\n}) {}\n\n/**\n * A normalized harness abort.\n *\n * @category events\n * @since 0.1.0\n * @slop\n */\nexport class Aborted extends Schema.TaggedClass<Aborted>(\n \"flows/harness/AgentEvent/Aborted\"\n)(\"aborted\", {\n eventType: Schema.Literal(\"flows.harness.aborted.v1\"),\n reason: Schema.String\n}) {}\n\n/**\n * The final assistant message produced by the harness.\n *\n * @category events\n * @since 0.1.0\n * @slop\n */\nexport class Resolved extends Schema.TaggedClass<Resolved>(\n \"flows/harness/AgentEvent/Resolved\"\n)(\"resolved\", {\n eventType: Schema.Literal(\"flows.harness.resolved.v1\"),\n message: ModelRequest.AssistantMessage\n}) {}\n\n/**\n * All normalized events emitted by a harness adapter.\n *\n * @category events\n * @since 0.1.0\n * @slop\n */\nexport const AgentEvent = Schema.Union([\n DisciplineArmed,\n TurnOpened,\n ModelDelta,\n ModelRequested,\n ModelSelected,\n SeatFailedOver,\n ModelParked,\n ModelUnparked,\n ModelRetried,\n ModelSettled,\n CellProduced,\n CellRejectedInFrame,\n CellCallStarted,\n CellCallSettled,\n CellPrinted,\n CellSettled,\n TransitionApplied,\n MutationObserved,\n CheckpointMinted,\n ReadOnlyDemandIssued,\n ReadOnlyDemanded,\n RepeatDemanded,\n NarrowedDemanded,\n NarrowOnlyDemanded,\n UnmovedDemanded,\n UnresolvedDemanded,\n FailedCallDemanded,\n UnobservedDemanded,\n OutputDemanded,\n ClaimDemanded,\n DecisionSettled,\n SupervisorSettled,\n SupervisorUnjudged,\n SupervisorMemoryFailed,\n DecisionUnjudged,\n RelevanceSettled,\n RelevanceRestored,\n SeatRouted,\n SufficiencyObserved,\n VacuousVerificationObserved,\n Suspended,\n CompactionSettled,\n SteeringDrained,\n TurnClosed,\n PermissionRequired,\n Aborted,\n Resolved\n]).pipe(Schema.toTaggedUnion(\"_tag\"))\n\n/**\n * All normalized events emitted by a harness adapter.\n *\n * @category events\n * @since 0.1.0\n * @slop\n */\nexport type AgentEvent = typeof AgentEvent.Type\n\n/**\n * The journal event type of every member of {@link AgentEvent}, by tag.\n *\n * One table, because the literal used to be written three times: on the class,\n * in `CellTurn`'s emitter, and again in `Transcript`'s decoder. A projection\n * that reads a literal the emitter no longer writes silently returns an empty\n * transcript, and nothing failed when the two drifted. `CellTurn` and\n * `Transcript` both read this, and `Contracts.test.ts` pins it against the\n * union, so an event added without a row here fails a test rather than a run.\n *\n * @category events\n * @since 0.1.0\n * @slop\n */\nexport const eventType = {\n aborted: \"flows.harness.aborted.v1\",\n cellCallSettled: \"flows.harness.cell-call-settled.v1\",\n cellCallStarted: \"flows.harness.cell-call-started.v1\",\n cellPrinted: \"flows.harness.cell-printed.v1\",\n cellProduced: \"flows.harness.cell-produced.v1\",\n cellRejectedInFrame: \"flows.harness.cell-rejected-in-frame.v1\",\n cellSettled: \"flows.harness.cell-settled.v1\",\n checkpointMinted: \"flows.harness.checkpoint-minted.v1\",\n claimDemanded: \"flows.harness.claim-demanded.v1\",\n compactionSettled: \"flows.harness.compaction-settled.v1\",\n decisionSettled: \"flows.harness.decision-settled.v1\",\n decisionUnjudged: \"flows.harness.decision-unjudged.v1\",\n disciplineArmed: \"flows.harness.discipline-armed.v1\",\n modelDelta: \"flows.harness.model-delta.v1\",\n modelRequested: \"flows.harness.model-requested.v1\",\n modelSelected: \"flows.harness.model-selected.v1\",\n seatFailedOver: \"flows.harness.seat-failed-over.v1\",\n modelParked: \"flows.harness.model-parked.v1\",\n modelUnparked: \"flows.harness.model-unparked.v1\",\n modelRetried: \"flows.harness.model-retried.v1\",\n modelSettled: \"flows.harness.model-settled.v1\",\n mutationObserved: \"flows.harness.mutation-observed.v1\",\n narrowOnlyDemanded: \"flows.harness.narrow-only-demanded.v1\",\n narrowedDemanded: \"flows.harness.narrowed-demanded.v1\",\n permissionRequired: \"flows.harness.permission-required.v1\",\n readOnlyDemandIssued: \"flows.harness.read-only-demand-issued.v1\",\n readOnlyDemanded: \"flows.harness.read-only-demanded.v1\",\n relevanceRestored: \"flows.harness.relevance-restored.v1\",\n relevanceSettled: \"flows.harness.relevance-settled.v1\",\n repeatDemanded: \"flows.harness.repeat-demanded.v1\",\n resolved: \"flows.harness.resolved.v1\",\n seatRouted: \"flows.harness.seat-routed.v1\",\n steeringDrained: \"flows.harness.steering-drained.v1\",\n sufficiencyObserved: \"flows.harness.sufficiency-observed.v1\",\n supervisorSettled: \"flows.harness.supervisor-settled.v1\",\n supervisorUnjudged: \"flows.harness.supervisor-unjudged.v1\",\n supervisorMemoryFailed: \"flows.harness.supervisor-memory-failed.v1\",\n suspended: \"flows.harness.suspended.v1\",\n transitionApplied: \"flows.harness.transition-applied.v1\",\n turnClosed: \"flows.harness.turn-closed.v1\",\n turnOpened: \"flows.harness.turn-opened.v1\",\n unmovedDemanded: \"flows.harness.unmoved-demanded.v1\",\n unresolvedDemanded: \"flows.harness.unresolved-demanded.v1\",\n failedCallDemanded: \"flows.harness.failed-call-demanded.v1\",\n unobservedDemanded: \"flows.harness.unobserved-demanded.v1\",\n outputDemanded: \"flows.harness.output-demanded.v1\",\n vacuousVerificationObserved: \"flows.harness.vacuous-verification-observed.v1\"\n} as const\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The call ledger: what this run has already asked, rendered every frame.
|
|
3
|
+
*
|
|
4
|
+
* A cell's results are durable, but they are invisible to the next model turn
|
|
5
|
+
* unless the cell that made them happened to copy them into `context`. A cell
|
|
6
|
+
* is authored blind — the model writes the whole program before it sees any of
|
|
7
|
+
* its results — so copying is a guess made before the answer exists, and the
|
|
8
|
+
* rational response is to split one logical step across two frames: one frame
|
|
9
|
+
* to fetch, one to look. Thirty-one percent of the frames in one graded wave
|
|
10
|
+
* made no flow call at all, and the justifications they volunteered name the
|
|
11
|
+
* cause outright: "loaded the durable investigation results so the next frame
|
|
12
|
+
* can edit without repeating repository reads".
|
|
13
|
+
*
|
|
14
|
+
* This ledger removes the guess. Every settled call of the run contributes one
|
|
15
|
+
* line the harness derives on its own — ordinal, flow, what the call was about,
|
|
16
|
+
* whether it settled ok, and a structural digest of what came back — so a model
|
|
17
|
+
* can see what it has already asked without asking again. It carries no
|
|
18
|
+
* payloads: a line says `stdout=4096b`, never the four kilobytes.
|
|
19
|
+
*
|
|
20
|
+
* A call that *writes* gets two things more, because a repeated write is a
|
|
21
|
+
* different failure from a repeated read. The line says so and says how many
|
|
22
|
+
* bytes the call carried, and a write whose flow and input an earlier write
|
|
23
|
+
* already settled names that earlier one. The r95repl lane is why:
|
|
24
|
+
* `sympy__sympy-13878` applied one 4,789-byte patch five times across five
|
|
25
|
+
* frames, reverting the file between each, and nothing in the run's own record
|
|
26
|
+
* of itself said that the second application was the first one again. It spent
|
|
27
|
+
* 649 seconds and $1.20, the slowest instance in an arm whose median was 121 s.
|
|
28
|
+
* This is visibility and not a gate: re-applying is sometimes exactly right —
|
|
29
|
+
* the run had genuinely reverted the tree — and the exact-match refusal the
|
|
30
|
+
* truncated-write guard already carries is what stands between a run and a
|
|
31
|
+
* destructive repeat.
|
|
32
|
+
*
|
|
33
|
+
* It is a sibling of `NarrowedCheck` and `TruncatedOutput`: run-scoped
|
|
34
|
+
* controller state, bounded, journal-derivable, and interpreting nothing about
|
|
35
|
+
* any flow, tool, or repository.
|
|
36
|
+
*
|
|
37
|
+
* @since 0.1.0
|
|
38
|
+
*/
|
|
39
|
+
import { Schema } from "effect";
|
|
40
|
+
/**
|
|
41
|
+
* How many settled calls the rendered ledger carries, newest last.
|
|
42
|
+
*
|
|
43
|
+
* Thirty is above the whole call count of every round this harness has ever
|
|
44
|
+
* completed at or near par — the five golfed instances settle 7 to 25 calls —
|
|
45
|
+
* and it is a third of the call count of the worst recorded round, so a run
|
|
46
|
+
* that has genuinely lost the thread is shown its recent history rather than
|
|
47
|
+
* its whole one. Each line is bounded, so the section is bounded.
|
|
48
|
+
*
|
|
49
|
+
* @category constants
|
|
50
|
+
* @since 0.1.0
|
|
51
|
+
* @slop
|
|
52
|
+
*/
|
|
53
|
+
export declare const bound = 30;
|
|
54
|
+
/**
|
|
55
|
+
* How much of one call's subject or result digest a line may quote.
|
|
56
|
+
*
|
|
57
|
+
* @category constants
|
|
58
|
+
* @since 0.1.0
|
|
59
|
+
* @slop
|
|
60
|
+
*/
|
|
61
|
+
export declare const width = 120;
|
|
62
|
+
/**
|
|
63
|
+
* How many leaves of a result the digest may name.
|
|
64
|
+
*
|
|
65
|
+
* @category constants
|
|
66
|
+
* @since 0.1.0
|
|
67
|
+
* @slop
|
|
68
|
+
*/
|
|
69
|
+
export declare const members = 6;
|
|
70
|
+
/**
|
|
71
|
+
* How many levels below a result's own the digest descends.
|
|
72
|
+
*
|
|
73
|
+
* Five, because that is where a batched judgement keeps its answers. A
|
|
74
|
+
* `classify` batch answers under `results[].answers.<question>.value`, which
|
|
75
|
+
* is five levels down, and a digest that stopped above it reported
|
|
76
|
+
* `results=[4]` about a call that had answered four questions. Measured on the
|
|
77
|
+
* live seat over the three refused completions this bound was raised for:
|
|
78
|
+
* with `results=[4]` the narrow question read `invented` 0.86, 0.87 and 0.86;
|
|
79
|
+
* with the leaves named it read 0.11, 0.11 and 0.10. Below five the same
|
|
80
|
+
* states read 0.24 to 0.49, because naming the first member of a batch says
|
|
81
|
+
* what one state answered and the claim is about all of them.
|
|
82
|
+
*
|
|
83
|
+
* It is a depth and not a size: {@link resultWidth} is what keeps the line
|
|
84
|
+
* bounded, and {@link members} is what keeps a wide result from taking it
|
|
85
|
+
* over.
|
|
86
|
+
*
|
|
87
|
+
* @category constants
|
|
88
|
+
* @since 0.1.0
|
|
89
|
+
* @slop
|
|
90
|
+
*/
|
|
91
|
+
export declare const depth = 5;
|
|
92
|
+
/**
|
|
93
|
+
* How many distinct values one leaf may report before the rest are counted.
|
|
94
|
+
*
|
|
95
|
+
* A leaf folded across a batch takes one value per member, and what a reader
|
|
96
|
+
* needs from it is the spread: four states that all answered `true`, or three
|
|
97
|
+
* that answered `true` and one that did not. Three distinct values say that;
|
|
98
|
+
* a fourth says only that the leaf varies, which the count already said.
|
|
99
|
+
*
|
|
100
|
+
* @category constants
|
|
101
|
+
* @since 0.1.0
|
|
102
|
+
* @slop
|
|
103
|
+
*/
|
|
104
|
+
export declare const distinct = 3;
|
|
105
|
+
/**
|
|
106
|
+
* How much of one call's result digest a line may quote.
|
|
107
|
+
*
|
|
108
|
+
* Wider than {@link width} because a digest is a list of leaves and a name is
|
|
109
|
+
* one term. It is the bound the brake's receipt is held to as well: the
|
|
110
|
+
* digest travels twice, once in the state section this module renders and
|
|
111
|
+
* once as `CompletionClaim.Evidence.callsRun`'s `resultSummary`, and both are
|
|
112
|
+
* the same string. Three hundred and twenty bytes holds the six leaves
|
|
113
|
+
* {@link members} allows at the path lengths {@link depth} produces, and caps
|
|
114
|
+
* the ledger's whole contribution to a frame at thirty lines of it.
|
|
115
|
+
*
|
|
116
|
+
* @category constants
|
|
117
|
+
* @since 0.1.0
|
|
118
|
+
* @slop
|
|
119
|
+
*/
|
|
120
|
+
export declare const resultWidth = 320;
|
|
121
|
+
declare const Entry_base: Schema.Class<Entry, Schema.Struct<{
|
|
122
|
+
/** The call's one-based position in the run's whole settled sequence. */
|
|
123
|
+
readonly ordinal: Schema.Int;
|
|
124
|
+
/** The flow the call named. */
|
|
125
|
+
readonly flow: Schema.String;
|
|
126
|
+
/** What the call was about; see {@link subject}. */
|
|
127
|
+
readonly subject: Schema.String;
|
|
128
|
+
/** Whether the call settled successfully. This is not the exit status. */
|
|
129
|
+
readonly ok: Schema.Boolean;
|
|
130
|
+
/** The structural digest of what came back; see {@link digest}. */
|
|
131
|
+
readonly digest: Schema.String;
|
|
132
|
+
/**
|
|
133
|
+
* The whole of what came back, in bytes of canonical JSON.
|
|
134
|
+
*
|
|
135
|
+
* Stated on every line, because a line is an index entry and the size is what
|
|
136
|
+
* says how much the name it points at is holding.
|
|
137
|
+
*/
|
|
138
|
+
readonly bytes: Schema.withDecodingDefaultKey<Schema.withConstructorDefault<Schema.Int>, never>;
|
|
139
|
+
/**
|
|
140
|
+
* Whether this call reached the engine declaring that it changes the tree.
|
|
141
|
+
*
|
|
142
|
+
* A mutation is the one kind of call whose repetition is never compliance.
|
|
143
|
+
* Re-issuing a read costs bytes; re-issuing the check that failed is what rule
|
|
144
|
+
* 7 asks for; re-applying a hunk means the run either lost its own edit or
|
|
145
|
+
* undid it, and either way it is about to make a change it has already made.
|
|
146
|
+
* So the line says which calls wrote, and {@link render} points a repeated
|
|
147
|
+
* write back at the write it repeats.
|
|
148
|
+
*/
|
|
149
|
+
readonly mutates: Schema.withDecodingDefaultKey<Schema.withConstructorDefault<Schema.Boolean>, never>;
|
|
150
|
+
/**
|
|
151
|
+
* The bytes this call carried into the tree, for a call that declares a write.
|
|
152
|
+
*
|
|
153
|
+
* It is the longest string in the call's input — a `write`'s content, an
|
|
154
|
+
* `edit`'s replacement, a patch — measured the same flow-agnostic way
|
|
155
|
+
* `TruncatedOutput` measures a payload, and it is **not** a measured delta of
|
|
156
|
+
* the workspace. The harness has no per-call delta to report: its one honest
|
|
157
|
+
* measurement is `EngineLike.observe`, which covers a whole frame and counts
|
|
158
|
+
* paths rather than bytes. Stating the payload says what the call was, which
|
|
159
|
+
* is what makes two applications of one 4,789-byte patch legible as the same
|
|
160
|
+
* act; claiming a delta would say what the tree did, which this number does
|
|
161
|
+
* not know.
|
|
162
|
+
*
|
|
163
|
+
* The number is the payload and not the call: `sympy__sympy-13878` sent a
|
|
164
|
+
* 4,789-byte patch inside a 4,965-byte input, and it is the patch this reports,
|
|
165
|
+
* because the patch is the part two calls have in common.
|
|
166
|
+
*/
|
|
167
|
+
readonly payloadBytes: Schema.withDecodingDefaultKey<Schema.withConstructorDefault<Schema.Int>, never>;
|
|
168
|
+
/**
|
|
169
|
+
* The digest of this call's flow and input together.
|
|
170
|
+
*
|
|
171
|
+
* Held rather than rendered: it is what lets a later identical write name the
|
|
172
|
+
* earlier one, and it is a digest so the ledger stays small enough to live in
|
|
173
|
+
* journaled controller state.
|
|
174
|
+
*/
|
|
175
|
+
readonly signature: Schema.withDecodingDefaultKey<Schema.withConstructorDefault<Schema.String>, never>;
|
|
176
|
+
}>, {}>;
|
|
177
|
+
/**
|
|
178
|
+
* One settled call, as one line of the run's history.
|
|
179
|
+
*
|
|
180
|
+
* @category models
|
|
181
|
+
* @since 0.1.0
|
|
182
|
+
* @slop
|
|
183
|
+
*/
|
|
184
|
+
export declare class Entry extends Entry_base {
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* The run's settled calls, oldest first and bounded to {@link bound}.
|
|
188
|
+
*
|
|
189
|
+
* @category models
|
|
190
|
+
* @since 0.1.0
|
|
191
|
+
* @slop
|
|
192
|
+
*/
|
|
193
|
+
export declare const Ledger: Schema.withDecodingDefaultKey<Schema.withConstructorDefault<Schema.$Array<typeof Entry>>, never>;
|
|
194
|
+
/**
|
|
195
|
+
* The run's settled calls, oldest first and bounded to {@link bound}.
|
|
196
|
+
*
|
|
197
|
+
* @category models
|
|
198
|
+
* @since 0.1.0
|
|
199
|
+
* @slop
|
|
200
|
+
*/
|
|
201
|
+
export type Ledger = typeof Ledger.Type;
|
|
202
|
+
/**
|
|
203
|
+
* What one call was about: the first term of its input that names a target.
|
|
204
|
+
*
|
|
205
|
+
* `NarrowedCheck` already owns the lexer and the target/condition split, so a
|
|
206
|
+
* path, a test id, a dotted module name, or the file inside a shell command is
|
|
207
|
+
* picked out without this module knowing what any of those are. `names` is its
|
|
208
|
+
* stricter reading of a target, because a subject nobody can recognize is worse
|
|
209
|
+
* than no subject at all. An input with no such term is quoted whole instead,
|
|
210
|
+
* clipped — a grep that targets only a glob is named by its own pattern and
|
|
211
|
+
* root, which is what makes the line recognizable at all.
|
|
212
|
+
*
|
|
213
|
+
* @category conversions
|
|
214
|
+
* @since 0.1.0
|
|
215
|
+
* @slop
|
|
216
|
+
*/
|
|
217
|
+
export declare const subject: (input: Schema.Json) => string;
|
|
218
|
+
/**
|
|
219
|
+
* The one target an input names, or nothing when it names none or several.
|
|
220
|
+
*
|
|
221
|
+
* {@link target} takes the first, which is the right reading of a call about
|
|
222
|
+
* one thing and the wrong reading of a call about many. A `classify` batch
|
|
223
|
+
* over four files lexes four paths and was named by the first of them, so its
|
|
224
|
+
* line read `classify notes/n1.txt`: a call about four states, named after
|
|
225
|
+
* one of them, with the question it asked nowhere on the line. An input that
|
|
226
|
+
* names several targets is quoted whole instead, clipped, which is where the
|
|
227
|
+
* question is. Measured with the leaves of the result named either way, on
|
|
228
|
+
* the live seat over three refused completions: named after one state the
|
|
229
|
+
* narrow question read `invented` 0.73, 0.64 and 0.70; quoted whole it read
|
|
230
|
+
* 0.11, 0.11 and 0.10.
|
|
231
|
+
*
|
|
232
|
+
* Distinct, not total: a patch that names one path on every hunk header names
|
|
233
|
+
* one target, and it is the target.
|
|
234
|
+
*
|
|
235
|
+
* @category conversions
|
|
236
|
+
* @since 0.1.0
|
|
237
|
+
* @slop
|
|
238
|
+
*/
|
|
239
|
+
export declare const sole: (value: Schema.Json) => string | undefined;
|
|
240
|
+
/**
|
|
241
|
+
* The first term of a value that names a target, or nothing.
|
|
242
|
+
*
|
|
243
|
+
* Split out of {@link subject} because a write's target is not always in its
|
|
244
|
+
* input. Usually it is, even inside a blob: the lexer reads a patch's own text,
|
|
245
|
+
* so `sympy__sympy-13878`'s five applications each named
|
|
246
|
+
* `sympy/stats/crv_types.py` off the `*** Update File:` line. The split is for
|
|
247
|
+
* the write whose input names nothing a lexer can find — a patch that only adds
|
|
248
|
+
* a file, an input that carries bytes and a handle — where the result is the one
|
|
249
|
+
* place a path appears at all: `modified: ["sympy/stats/crv_types.py"]`. A line
|
|
250
|
+
* that named such a write by its payload's first hundred bytes said nothing a
|
|
251
|
+
* reader could match against the next one.
|
|
252
|
+
*
|
|
253
|
+
* @category conversions
|
|
254
|
+
* @since 0.1.0
|
|
255
|
+
* @slop
|
|
256
|
+
*/
|
|
257
|
+
export declare const target: (value: Schema.Json) => string | undefined;
|
|
258
|
+
/**
|
|
259
|
+
* The one-line structural digest of what a call returned.
|
|
260
|
+
*
|
|
261
|
+
* Counts and statuses, never payloads: a leaf that is a string reports its
|
|
262
|
+
* byte length, an array of scalars reports its length, and a number or boolean
|
|
263
|
+
* (an exit code, a truncation flag, a judgement) reports itself. Leaves are
|
|
264
|
+
* named by their path in canonical key order and capped at {@link members}, so
|
|
265
|
+
* the same result always renders the same line and a result with fifty leaves
|
|
266
|
+
* cannot take the frame over.
|
|
267
|
+
*
|
|
268
|
+
* It descends {@link depth} levels, and an array of records folds into one
|
|
269
|
+
* path per leaf with the values its members took, because the alternative was
|
|
270
|
+
* measured and it was the defect. A `classify` batch returns its judgements
|
|
271
|
+
* under `results[].answers.<question>.value`; a digest that named only the
|
|
272
|
+
* result's own keys reported `results=[4]`, which records that four answers
|
|
273
|
+
* arrived and not one of them. The completion brake reads this string as its
|
|
274
|
+
* receipt for work that reports no exit status, so a run that judged four
|
|
275
|
+
* files and said so was refused for reporting a result nothing recorded. See
|
|
276
|
+
* {@link depth} for the readings either way.
|
|
277
|
+
*
|
|
278
|
+
* @category conversions
|
|
279
|
+
* @since 0.1.0
|
|
280
|
+
* @slop
|
|
281
|
+
*/
|
|
282
|
+
export declare const digest: (value: Schema.Json) => string;
|
|
283
|
+
/**
|
|
284
|
+
* The bytes one call carried into the tree: the longest string in its input.
|
|
285
|
+
*
|
|
286
|
+
* Flow-agnostic on purpose, and the same walk `TruncatedOutput` uses to find the
|
|
287
|
+
* payload of a call it has never heard of. A `write` carries its content, an
|
|
288
|
+
* `edit` its replacement, `apply_patch` its patch, and every one of them is the
|
|
289
|
+
* longest string the input holds. A mutating call with no string at all — a
|
|
290
|
+
* revert that names only a path — carries nothing and says zero.
|
|
291
|
+
*
|
|
292
|
+
* @category conversions
|
|
293
|
+
* @since 0.1.0
|
|
294
|
+
* @slop
|
|
295
|
+
*/
|
|
296
|
+
export declare const payload: (input: Schema.Json) => number;
|
|
297
|
+
/**
|
|
298
|
+
* One settled call, as the controller observed it.
|
|
299
|
+
*
|
|
300
|
+
* @category models
|
|
301
|
+
* @since 0.1.0
|
|
302
|
+
* @slop
|
|
303
|
+
*/
|
|
304
|
+
export interface Settlement {
|
|
305
|
+
readonly flow: string;
|
|
306
|
+
readonly input: Schema.Json;
|
|
307
|
+
readonly ok: boolean;
|
|
308
|
+
readonly value: Schema.Json;
|
|
309
|
+
readonly message?: string | undefined;
|
|
310
|
+
/** Whether the call reached the engine declaring a write; see {@link Entry.mutates}. */
|
|
311
|
+
readonly mutates?: boolean | undefined;
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* Records one settled call.
|
|
315
|
+
*
|
|
316
|
+
* A call that failed carries what the flow said about the failure, because that
|
|
317
|
+
* text — an anchor near-miss, a missing path — is the whole content of the
|
|
318
|
+
* result and is otherwise seen only by a cell that thought to catch it.
|
|
319
|
+
*
|
|
320
|
+
* Every one of the four rendered fields is bounded, the flow name included. A
|
|
321
|
+
* name that matches no descriptor still settles — as a failure saying so — and
|
|
322
|
+
* the name is whatever the cell passed to `ctx.call`, which is a value the model
|
|
323
|
+
* writes. `ctx.call("Z".repeat(50000), {})` is one short line of JavaScript, and
|
|
324
|
+
* without this bound it put fifty kilobytes into durable controller state and
|
|
325
|
+
* into every remaining frame's prompt, thirty times over at the ledger's bound.
|
|
326
|
+
* A real flow name is far under {@link width}, so the clip is invisible to every
|
|
327
|
+
* call that names something callable.
|
|
328
|
+
*
|
|
329
|
+
* @category constructors
|
|
330
|
+
* @since 0.1.0
|
|
331
|
+
* @slop
|
|
332
|
+
*/
|
|
333
|
+
export declare const entry: (ordinal: number, call: Settlement) => Entry;
|
|
334
|
+
/**
|
|
335
|
+
* How many calls this run has settled, given a ledger some of whose lines have
|
|
336
|
+
* aged out.
|
|
337
|
+
*
|
|
338
|
+
* The ledger holds at most {@link bound} lines, so its length stops being the
|
|
339
|
+
* run's call count as soon as it fills. The newest entry's ordinal is the count
|
|
340
|
+
* and does not, which is why ordinals are stored rather than rendered from an
|
|
341
|
+
* index.
|
|
342
|
+
*
|
|
343
|
+
* @category conversions
|
|
344
|
+
* @since 0.1.0
|
|
345
|
+
* @slop
|
|
346
|
+
*/
|
|
347
|
+
export declare const settled: (ledger: Ledger) => number;
|
|
348
|
+
/**
|
|
349
|
+
* Folds one frame's settled calls into the run's ledger, newest last.
|
|
350
|
+
*
|
|
351
|
+
* Ordinals continue the run's own sequence, so the numbers a model reads stay
|
|
352
|
+
* the numbers the journal would give the same calls after older lines have aged
|
|
353
|
+
* out of the bound.
|
|
354
|
+
*
|
|
355
|
+
* The ledger is an index, not a store: what a call returned is under the name
|
|
356
|
+
* the cell bound it to, and it is that index the golf report credits with
|
|
357
|
+
* deleting a whole frame class.
|
|
358
|
+
*
|
|
359
|
+
* @category combinators
|
|
360
|
+
* @since 0.1.0
|
|
361
|
+
* @slop
|
|
362
|
+
*/
|
|
363
|
+
export declare const remember: (known: Ledger, made: ReadonlyArray<Settlement>) => Ledger;
|
|
364
|
+
/**
|
|
365
|
+
* Renders the ledger for the state section, or nothing when there is no call
|
|
366
|
+
* to list.
|
|
367
|
+
*
|
|
368
|
+
* `since` is the newest ordinal an earlier section in the window already
|
|
369
|
+
* listed. The window keeps every frame's section (see `CellTurn`), so a later
|
|
370
|
+
* section lists only the calls settled after it; zero lists the whole ledger.
|
|
371
|
+
*
|
|
372
|
+
* @category conversions
|
|
373
|
+
* @since 0.1.0
|
|
374
|
+
* @slop
|
|
375
|
+
*/
|
|
376
|
+
export declare const render: (ledger: Ledger, since?: number) => string | undefined;
|
|
377
|
+
export {};
|
|
378
|
+
//# sourceMappingURL=CallLedger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CallLedger.d.ts","sourceRoot":"","sources":["../../src/CallLedger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAIH,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AAKvC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,KAAK,KAAK,CAAA;AAEvB;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,MAAM,CAAA;AAExB;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,IAAI,CAAA;AAExB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,KAAK,IAAI,CAAA;AAEtB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ,IAAI,CAAA;AAEzB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW,MAAM,CAAA;;IAY5B,yEAAyE;;IAEzE,+BAA+B;;IAE/B,oDAAoD;;IAEpD,0EAA0E;;IAE1E,mEAAmE;;IAEnE;;;;;OAKG;;IAKH;;;;;;;;;OASG;;IAKH;;;;;;;;;;;;;;;;OAgBG;;IAKH;;;;;;OAMG;;;AArEL;;;;;;GAMG;AACH,qBAAa,KAAM,SAAQ,UAmEzB;CAAG;AAEL;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,kGAGlB,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;AAEvC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,CAAC,IAAI,KAAG,MAAoE,CAAA;AAEjH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,IAAI,GAAI,OAAO,MAAM,CAAC,IAAI,KAAG,MAAM,GAAG,SAIlD,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,MAAM,GAAI,OAAO,MAAM,CAAC,IAAI,KAAG,MAAM,GAAG,SAA+D,CAAA;AA6DpH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,MAAM,GAAI,OAAO,MAAM,CAAC,IAAI,KAAG,MAY3C,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,CAAC,IAAI,KAAG,MAK5C,CAAA;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAA;IAC3B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,wFAAwF;IACxF,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CACvC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,KAAK,GAAI,SAAS,MAAM,EAAE,MAAM,UAAU,KAAG,KAyBzD,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,GAAI,QAAQ,MAAM,KAAG,MAAsE,CAAA;AAE/G;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,EAAE,MAAM,aAAa,CAAC,UAAU,CAAC,KAAG,MAIzE,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,MAAM,GAAI,QAAQ,MAAM,EAAE,cAAS,KAAG,MAAM,GAAG,SAmC3D,CAAA"}
|