@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,514 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var frame_exports = {};
|
|
30
|
+
__export(frame_exports, {
|
|
31
|
+
account: () => account,
|
|
32
|
+
discipline: () => discipline,
|
|
33
|
+
handBackRoom: () => handBackRoom,
|
|
34
|
+
hasNextFrame: () => hasNextFrame,
|
|
35
|
+
judgeCompletion: () => judgeCompletion,
|
|
36
|
+
taskText: () => taskText
|
|
37
|
+
});
|
|
38
|
+
module.exports = __toCommonJS(frame_exports);
|
|
39
|
+
var import_model = require("@smthrs/model");
|
|
40
|
+
var import_effect = require("effect");
|
|
41
|
+
var AgentEvent = __toESM(require("../AgentEvent.js"), 1);
|
|
42
|
+
var CallLedger = __toESM(require("../CallLedger.js"), 1);
|
|
43
|
+
var CompletionClaim = __toESM(require("../CompletionClaim.js"), 1);
|
|
44
|
+
var FailedCall = __toESM(require("../FailedCall.js"), 1);
|
|
45
|
+
var NarrowedCheck = __toESM(require("../NarrowedCheck.js"), 1);
|
|
46
|
+
var Sufficiency = __toESM(require("../Sufficiency.js"), 1);
|
|
47
|
+
var TruncatedOutput = __toESM(require("../TruncatedOutput.js"), 1);
|
|
48
|
+
var UnmovedTree = __toESM(require("../UnmovedTree.js"), 1);
|
|
49
|
+
var UnresolvedFailure = __toESM(require("../UnresolvedFailure.js"), 1);
|
|
50
|
+
var VariablesPanel = __toESM(require("../VariablesPanel.js"), 1);
|
|
51
|
+
var bytes = __toESM(require("./bytes.js"), 1);
|
|
52
|
+
var DemandText = __toESM(require("./demandText.js"), 1);
|
|
53
|
+
var elide = __toESM(require("./elide.js"), 1);
|
|
54
|
+
var import_paidUsage = require("./paidUsage.js");
|
|
55
|
+
var UnfinishedWork = __toESM(require("./unfinishedWork.js"), 1);
|
|
56
|
+
var UnobservedCall = __toESM(require("./unobservedCall.js"), 1);
|
|
57
|
+
const eventType = AgentEvent.eventType;
|
|
58
|
+
const hasNextFrame = (state) => state.maxFrames === 0 || state.frame + 1 < state.maxFrames;
|
|
59
|
+
const handBackRoom = (state, readOnlyFrames) => hasNextFrame(state) && (state.readOnlyCap === 0 || readOnlyFrames + 1 < state.readOnlyCap * 2);
|
|
60
|
+
const invalidProbeNotice = (calls) => {
|
|
61
|
+
const lines = calls.flatMap(
|
|
62
|
+
(call) => call.invalidProbe === void 0 ? [] : [`- ${call.flow} (${call.invalidProbe.reason}): ${call.invalidProbe.message}`]
|
|
63
|
+
);
|
|
64
|
+
if (lines.length === 0) return void 0;
|
|
65
|
+
return `Invalid probe \u2014 ${lines.length} call${lines.length === 1 ? "" : "s"} this frame failed about the command, not about the code:
|
|
66
|
+
${lines.join("\n")}
|
|
67
|
+
That result is not a reproduction and is not a regression: it reads identically on a broken tree and on a fixed one, so it can neither prove the bug nor prove the repair. Repair the command before editing anything \u2014 find the real names first \u2014 and do not store it as \`state.verification\` or name it when you complete.`;
|
|
68
|
+
};
|
|
69
|
+
const retainedSignatures = 64;
|
|
70
|
+
const remember = (known, made) => {
|
|
71
|
+
const newest = new Set(known);
|
|
72
|
+
for (const digest of made) {
|
|
73
|
+
newest.delete(digest);
|
|
74
|
+
newest.add(digest);
|
|
75
|
+
}
|
|
76
|
+
const distinct = [...newest];
|
|
77
|
+
return distinct.slice(Math.max(0, distinct.length - retainedSignatures));
|
|
78
|
+
};
|
|
79
|
+
const account = (options) => {
|
|
80
|
+
const { calls, closed, opened, state } = options;
|
|
81
|
+
const declaredWrites = calls.filter((call) => call.mutates).length;
|
|
82
|
+
const measured = import_effect.Option.isSome(opened) && import_effect.Option.isSome(closed);
|
|
83
|
+
const covered = measured && opened.value.complete && closed.value.complete;
|
|
84
|
+
const standingWrites = calls.filter((call) => call.mutates && (call.ok || !covered)).length;
|
|
85
|
+
const mutated = standingWrites > 0 || covered && opened.value.digest !== closed.value.digest;
|
|
86
|
+
const remoteWrites = calls.filter((call) => call.ok && call.mutates && call.remote).length;
|
|
87
|
+
const closingDigest = import_effect.Option.match(closed, { onNone: () => "", onSome: (value) => value.digest });
|
|
88
|
+
const signatures = calls.map((call) => call.signature);
|
|
89
|
+
const asked = new Set(state.callSignatures);
|
|
90
|
+
const novel = signatures.some((signature) => !asked.has(signature));
|
|
91
|
+
const repeatFrames = signatures.length === 0 ? state.repeatFrames : novel || mutated ? 0 : state.repeatFrames + 1;
|
|
92
|
+
const workspaceDigest = covered ? closingDigest : "";
|
|
93
|
+
const standingAt = calls.map((call) => call.mutates && (call.ok || !covered));
|
|
94
|
+
const lastStandingWrite = standingAt.lastIndexOf(true);
|
|
95
|
+
const unattributedMutation = mutated && lastStandingWrite === -1;
|
|
96
|
+
const readings = (checkpointed) => calls.flatMap((call, index) => {
|
|
97
|
+
if (!call.ok || call.mutates || call.at !== void 0 !== checkpointed) return [];
|
|
98
|
+
const recorded = NarrowedCheck.check({
|
|
99
|
+
flow: call.flow,
|
|
100
|
+
signature: call.subject,
|
|
101
|
+
input: call.input,
|
|
102
|
+
// A reading taken against a checkpoint is a reading of a tree that is
|
|
103
|
+
// not this workspace, so it carries no workspace digest: every ledger
|
|
104
|
+
// that reads one asks a question about the tree the run is standing
|
|
105
|
+
// on, and an entry stamped with this frame's digest would answer that
|
|
106
|
+
// question with somebody else's tree. Empty makes it inert there.
|
|
107
|
+
digest: checkpointed ? "" : workspaceDigest,
|
|
108
|
+
failing: call.failing,
|
|
109
|
+
passing: call.passing,
|
|
110
|
+
// Whether the tree stamped above is the tree this call read. Every
|
|
111
|
+
// write the frame declared is a call with a position among these ones,
|
|
112
|
+
// so the answer is positional: a check with no standing write after it
|
|
113
|
+
// read the closing tree, and one with a write after it read a tree
|
|
114
|
+
// that is gone. That is what lets the loop a real agent runs — edit,
|
|
115
|
+
// then run the check that was red, in one frame — hold its own
|
|
116
|
+
// evidence, while `check, then edit` still stamps nothing.
|
|
117
|
+
//
|
|
118
|
+
// A checkpointed reading is stable for a different reason: the tree it
|
|
119
|
+
// read was pinned and cannot move, so the ordering is established by
|
|
120
|
+
// the pin rather than by position — which is exactly what that surface
|
|
121
|
+
// exists to buy, and what the run used to buy by reverting its work.
|
|
122
|
+
stable: checkpointed || !unattributedMutation && index > lastStandingWrite
|
|
123
|
+
});
|
|
124
|
+
return recorded === void 0 ? [] : [recorded];
|
|
125
|
+
});
|
|
126
|
+
const frameChecks = readings(false);
|
|
127
|
+
return {
|
|
128
|
+
mutated,
|
|
129
|
+
calls,
|
|
130
|
+
source: options.source ?? "",
|
|
131
|
+
observed: new AgentEvent.MutationObserved({
|
|
132
|
+
eventType: eventType.mutationObserved,
|
|
133
|
+
basis: covered ? "observed" : measured ? "partial" : "declared",
|
|
134
|
+
mutated,
|
|
135
|
+
digest: closingDigest,
|
|
136
|
+
paths: import_effect.Option.match(closed, { onNone: () => 0, onSome: (value) => value.paths }),
|
|
137
|
+
declaredWrites
|
|
138
|
+
}),
|
|
139
|
+
workspaceDigest,
|
|
140
|
+
frameChecks,
|
|
141
|
+
probeNotice: invalidProbeNotice(calls),
|
|
142
|
+
facts: {
|
|
143
|
+
// Seeded from what earlier frames were handed and appended to as this
|
|
144
|
+
// frame's calls settled.
|
|
145
|
+
truncatedOutputs: TruncatedOutput.retain(options.captures),
|
|
146
|
+
workspace: closed,
|
|
147
|
+
// A frame is read-only when it changed nothing; see
|
|
148
|
+
// `State.readOnlyFrames` for why that is measured and not declared.
|
|
149
|
+
// Once the run has written something, a read-only frame that settled a
|
|
150
|
+
// call this run had not issued before holds the streak where it was: it
|
|
151
|
+
// asked a new question about work that exists, which is debugging, not a
|
|
152
|
+
// stall. Before the first write every read-only frame counts, because a
|
|
153
|
+
// run that only ever reads new things is the failure the cap was built
|
|
154
|
+
// for. Zero-call and repeat-only frames always advance it.
|
|
155
|
+
readOnlyFrames: mutated ? 0 : novel && state.mutations > 0 ? state.readOnlyFrames : state.readOnlyFrames + 1,
|
|
156
|
+
repeatFrames,
|
|
157
|
+
callSignatures: remember(state.callSignatures, signatures),
|
|
158
|
+
// Ids this frame pinned: a checkpoint a frame minted before it raised is
|
|
159
|
+
// still a tree the run holds, and forgetting it would leak a stored tree
|
|
160
|
+
// nothing can name.
|
|
161
|
+
checkpointIds: options.minted.length === 0 ? state.checkpointIds : [...state.checkpointIds, ...options.minted],
|
|
162
|
+
// Live readings only. Every consumer of this ledger — the narrowing
|
|
163
|
+
// demand, the unresolved-failure demand, the vacuous-verification notice
|
|
164
|
+
// — asks whether the tree the run is completing on was checked, and a
|
|
165
|
+
// checkpointed reading is not a reading of that tree.
|
|
166
|
+
checks: NarrowedCheck.remember(state.checks, frameChecks),
|
|
167
|
+
// What this frame asked, folded into what the run had already asked. A
|
|
168
|
+
// raise carries it too: a call that settled before the throw is work
|
|
169
|
+
// the run paid for, and the ledger is the only place the next model turn
|
|
170
|
+
// can read it.
|
|
171
|
+
callLedger: CallLedger.remember(state.callLedger, calls),
|
|
172
|
+
// Every call that reported an exit status, writes included, for the
|
|
173
|
+
// claim brake. See `CompletionClaim.record`.
|
|
174
|
+
reported: CompletionClaim.record(state.reported, calls),
|
|
175
|
+
// Which of this frame's checks failed before any change did, and how
|
|
176
|
+
// many frames have changed the workspace. Both, because this is the one
|
|
177
|
+
// ledger a checkpointed reading belongs in: its whole question is an
|
|
178
|
+
// ordering — this failed, then something changed, then that passed — and
|
|
179
|
+
// a pinned tree answers the first half honestly from a frame that also
|
|
180
|
+
// did the changing.
|
|
181
|
+
failures: Sufficiency.remember(state.failures, {
|
|
182
|
+
frame: [...readings(true), ...frameChecks],
|
|
183
|
+
epoch: state.mutations
|
|
184
|
+
}),
|
|
185
|
+
mutations: state.mutations + (mutated ? 1 : 0),
|
|
186
|
+
remoteMutations: state.remoteMutations + remoteWrites,
|
|
187
|
+
// The tree the run was handed, fixed the first time a frame measured one
|
|
188
|
+
// and never restamped. See `State.openingDigest`.
|
|
189
|
+
openingDigest: state.openingDigest !== "" ? state.openingDigest : import_effect.Option.match(opened, {
|
|
190
|
+
onNone: () => "",
|
|
191
|
+
onSome: (value) => value.complete ? value.digest : ""
|
|
192
|
+
}),
|
|
193
|
+
// The panel the next frame opens with, stamped by the frame that ran.
|
|
194
|
+
panel: VariablesPanel.stamp(state.panel, options.bindings, state.frame),
|
|
195
|
+
...mutated ? { readOnlyGrace: 0, pendingReadOnlyDemand: void 0 } : {}
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
};
|
|
199
|
+
const taughtTerms = (window) => NarrowedCheck.terms(
|
|
200
|
+
window.segments.filter((segment) => segment.zone === "prefix").flatMap((segment) => segment.content).map((part) => "text" in part && typeof part.text === "string" ? part.text : "").join("\n")
|
|
201
|
+
);
|
|
202
|
+
const stands = {
|
|
203
|
+
observed: void 0,
|
|
204
|
+
demand: void 0,
|
|
205
|
+
unproven: void 0,
|
|
206
|
+
decision: void 0
|
|
207
|
+
};
|
|
208
|
+
const handBack = (demand, decision) => ({
|
|
209
|
+
observed: void 0,
|
|
210
|
+
demand,
|
|
211
|
+
unproven: void 0,
|
|
212
|
+
decision
|
|
213
|
+
});
|
|
214
|
+
const taskText = (window) => window.segments.filter((segment) => segment.zone === "prefix" && segment.kind === "instructions").flatMap((segment) => segment.content).map((part) => "text" in part && typeof part.text === "string" ? part.text : "").filter((text) => text !== "").join("\n\n");
|
|
215
|
+
const lastCheck = (calls) => {
|
|
216
|
+
for (let index = calls.length - 1; index >= 0; index--) {
|
|
217
|
+
const call = calls[index];
|
|
218
|
+
if (!call.ok || call.mutates) continue;
|
|
219
|
+
const status = UnresolvedFailure.exitStatus(call.value);
|
|
220
|
+
if (status === void 0) continue;
|
|
221
|
+
return {
|
|
222
|
+
command: CompletionClaim.quote(call.input),
|
|
223
|
+
exitCode: status,
|
|
224
|
+
output: CompletionClaim.newest(CompletionClaim.quote(call.value))
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
return void 0;
|
|
228
|
+
};
|
|
229
|
+
const measuredDemand = (state, accounting, contextWindow, nextFrame, claim) => {
|
|
230
|
+
const { calls, facts, frameChecks, workspaceDigest } = accounting;
|
|
231
|
+
if (state.failedCallDemands < FailedCall.cap) {
|
|
232
|
+
const failures = FailedCall.find(calls, claim, accounting.source);
|
|
233
|
+
if (failures.length > 0) {
|
|
234
|
+
return {
|
|
235
|
+
event: new AgentEvent.FailedCallDemanded({
|
|
236
|
+
eventType: eventType.failedCallDemanded,
|
|
237
|
+
failures: failures.map((failure) => ({ flow: failure.flow, message: failure.message })),
|
|
238
|
+
nextFrame
|
|
239
|
+
}),
|
|
240
|
+
note: FailedCall.demand(failures),
|
|
241
|
+
keeps: false,
|
|
242
|
+
spent: { failedCallDemands: state.failedCallDemands + 1 }
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
if (state.unobservedDemands < UnobservedCall.cap) {
|
|
247
|
+
const unread = UnobservedCall.find(calls, accounting.source);
|
|
248
|
+
if (unread.length > 0) {
|
|
249
|
+
return {
|
|
250
|
+
event: new AgentEvent.UnobservedDemanded({
|
|
251
|
+
eventType: eventType.unobservedDemanded,
|
|
252
|
+
calls: unread,
|
|
253
|
+
nextFrame
|
|
254
|
+
}),
|
|
255
|
+
note: UnobservedCall.demand(unread),
|
|
256
|
+
keeps: true,
|
|
257
|
+
spent: { unobservedDemands: state.unobservedDemands + 1 }
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
if (state.unresolvedDemands < state.unresolvedCap) {
|
|
262
|
+
const unresolved = UnresolvedFailure.find({ ledger: facts.checks, digest: workspaceDigest });
|
|
263
|
+
if (unresolved !== void 0) {
|
|
264
|
+
return {
|
|
265
|
+
event: new AgentEvent.UnresolvedDemanded({
|
|
266
|
+
eventType: eventType.unresolvedDemanded,
|
|
267
|
+
flow: unresolved.failed.flow,
|
|
268
|
+
failed: unresolved.failed.label,
|
|
269
|
+
instead: unresolved.instead.label,
|
|
270
|
+
currentDigest: workspaceDigest,
|
|
271
|
+
nextFrame
|
|
272
|
+
}),
|
|
273
|
+
note: UnresolvedFailure.demand(unresolved),
|
|
274
|
+
keeps: true,
|
|
275
|
+
spent: { unresolvedDemands: state.unresolvedDemands + 1 }
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
if (state.narrowingDemands >= state.narrowingCap) return void 0;
|
|
280
|
+
const spent = { narrowingDemands: state.narrowingDemands + 1 };
|
|
281
|
+
const narrowing = NarrowedCheck.find({ ledger: state.checks, frame: frameChecks, digest: workspaceDigest });
|
|
282
|
+
if (narrowing !== void 0) {
|
|
283
|
+
return {
|
|
284
|
+
event: new AgentEvent.NarrowedDemanded({
|
|
285
|
+
eventType: eventType.narrowedDemanded,
|
|
286
|
+
flow: narrowing.earlier.flow,
|
|
287
|
+
broader: narrowing.earlier.label,
|
|
288
|
+
narrower: narrowing.later.label,
|
|
289
|
+
broaderDigest: narrowing.earlier.digest,
|
|
290
|
+
currentDigest: workspaceDigest,
|
|
291
|
+
nextFrame
|
|
292
|
+
}),
|
|
293
|
+
note: NarrowedCheck.demand(narrowing),
|
|
294
|
+
keeps: true,
|
|
295
|
+
spent
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
const only = NarrowedCheck.findOnly({
|
|
299
|
+
ledger: facts.checks,
|
|
300
|
+
before: state.checks.map((entry) => entry.signature),
|
|
301
|
+
frame: frameChecks,
|
|
302
|
+
taught: taughtTerms(contextWindow)
|
|
303
|
+
});
|
|
304
|
+
if (only === void 0) return void 0;
|
|
305
|
+
return {
|
|
306
|
+
event: new AgentEvent.NarrowOnlyDemanded({
|
|
307
|
+
eventType: eventType.narrowOnlyDemanded,
|
|
308
|
+
flow: only.later.flow,
|
|
309
|
+
check: only.later.label,
|
|
310
|
+
targets: only.targets,
|
|
311
|
+
currentDigest: workspaceDigest,
|
|
312
|
+
nextFrame
|
|
313
|
+
}),
|
|
314
|
+
note: NarrowedCheck.demandOnly(only),
|
|
315
|
+
keeps: true,
|
|
316
|
+
spent
|
|
317
|
+
};
|
|
318
|
+
};
|
|
319
|
+
const judgeCompletion = (state, accounting, contextWindow, claim, read = CompletionClaim.read) => import_effect.Effect.gen(function* () {
|
|
320
|
+
const { calls, facts, workspaceDigest } = accounting;
|
|
321
|
+
const room = handBackRoom(state, facts.readOnlyFrames) && state.demandedFrame !== state.frame;
|
|
322
|
+
const nextFrame = state.frame + 1;
|
|
323
|
+
if (room) {
|
|
324
|
+
const measured = measuredDemand(state, accounting, contextWindow, nextFrame, claim);
|
|
325
|
+
if (measured !== void 0) return handBack(measured);
|
|
326
|
+
}
|
|
327
|
+
if (state.claimCap === 0) return stands;
|
|
328
|
+
const originalTask = taskText(contextWindow).trim();
|
|
329
|
+
const recallTask = "the run record has the whole task";
|
|
330
|
+
const task = elide.middle(
|
|
331
|
+
originalTask,
|
|
332
|
+
CompletionClaim.proseBytes - elide.noticeCost(bytes.size(originalTask), recallTask),
|
|
333
|
+
recallTask
|
|
334
|
+
);
|
|
335
|
+
const check = lastCheck(calls);
|
|
336
|
+
const unmovedTree = UnmovedTree.find({
|
|
337
|
+
opened: facts.openingDigest,
|
|
338
|
+
digest: workspaceDigest,
|
|
339
|
+
elsewhere: facts.remoteMutations
|
|
340
|
+
});
|
|
341
|
+
const evidence = {
|
|
342
|
+
task,
|
|
343
|
+
claim: CompletionClaim.prose(claim),
|
|
344
|
+
// The `UnmovedTree` fact, read the other way round. An unmeasured tree
|
|
345
|
+
// reads as moved, which is the reading that asks for nothing.
|
|
346
|
+
treeMoved: unmovedTree === void 0,
|
|
347
|
+
checksRun: facts.reported,
|
|
348
|
+
callsRun: facts.callLedger.map((entry) => ({
|
|
349
|
+
flow: entry.flow,
|
|
350
|
+
input: entry.subject,
|
|
351
|
+
ok: entry.ok,
|
|
352
|
+
resultSummary: entry.digest
|
|
353
|
+
})),
|
|
354
|
+
...check === void 0 ? {} : { lastCheck: check }
|
|
355
|
+
};
|
|
356
|
+
const reading = yield* read(evidence);
|
|
357
|
+
if (reading === void 0) return stands;
|
|
358
|
+
const found = CompletionClaim.find(reading);
|
|
359
|
+
const bounced = found !== void 0 && room && state.claimDemands < state.claimCap;
|
|
360
|
+
const unmoved = found !== void 0 && room && state.unmovedDemands < state.unmovedCap ? unmovedTree : void 0;
|
|
361
|
+
const refused = found !== void 0 && !bounced && unmoved === void 0 && CompletionClaim.unrecorded(found);
|
|
362
|
+
const unfinished = found !== void 0 && !bounced && unmoved === void 0 && !refused && reading.complete <= CompletionClaim.disprovenAt ? yield* UnfinishedWork.read(evidence, reading.usage) : void 0;
|
|
363
|
+
const incomplete = unfinished !== void 0 && unfinished.unfinished >= UnfinishedWork.reportedAt;
|
|
364
|
+
const usage = (0, import_paidUsage.paidTogether)(reading.usage, unfinished?.usage);
|
|
365
|
+
const event = new AgentEvent.ClaimDemanded({
|
|
366
|
+
eventType: eventType.claimDemanded,
|
|
367
|
+
complete: reading.complete,
|
|
368
|
+
overclaims: reading.overclaims,
|
|
369
|
+
invented: reading.invented,
|
|
370
|
+
latencyMs: reading.latencyMs + (unfinished?.latencyMs ?? 0),
|
|
371
|
+
...usage === void 0 ? {} : { usage },
|
|
372
|
+
demanded: bounced && unmoved === void 0,
|
|
373
|
+
refused,
|
|
374
|
+
currentDigest: workspaceDigest,
|
|
375
|
+
nextFrame
|
|
376
|
+
});
|
|
377
|
+
const decision = reading.asked === void 0 ? void 0 : new AgentEvent.DecisionSettled({
|
|
378
|
+
eventType: eventType.decisionSettled,
|
|
379
|
+
scope: state.session,
|
|
380
|
+
frame: state.frame,
|
|
381
|
+
classifier: CompletionClaim.classifier.id,
|
|
382
|
+
digest: CompletionClaim.classifier.digest,
|
|
383
|
+
state: reading.asked.state,
|
|
384
|
+
questions: CompletionClaim.classifier.questions,
|
|
385
|
+
answers: reading.asked.answers,
|
|
386
|
+
latencyMs: reading.latencyMs,
|
|
387
|
+
acted: bounced || refused || unmoved !== void 0 || incomplete,
|
|
388
|
+
decidedBy: "jev"
|
|
389
|
+
});
|
|
390
|
+
const unfinishedDecision = unfinished === void 0 ? void 0 : new AgentEvent.DecisionSettled({
|
|
391
|
+
eventType: eventType.decisionSettled,
|
|
392
|
+
scope: state.session,
|
|
393
|
+
frame: state.frame,
|
|
394
|
+
classifier: unfinished.asked.classifier,
|
|
395
|
+
digest: unfinished.asked.digest,
|
|
396
|
+
state: unfinished.asked.state,
|
|
397
|
+
questions: unfinished.asked.questions,
|
|
398
|
+
answers: unfinished.asked.answers,
|
|
399
|
+
latencyMs: unfinished.latencyMs,
|
|
400
|
+
acted: incomplete,
|
|
401
|
+
decidedBy: "jev"
|
|
402
|
+
});
|
|
403
|
+
const sentenceDecision = reading.sentences === void 0 ? void 0 : new AgentEvent.DecisionSettled({
|
|
404
|
+
eventType: eventType.decisionSettled,
|
|
405
|
+
scope: state.session,
|
|
406
|
+
frame: state.frame,
|
|
407
|
+
classifier: reading.sentences.classifier,
|
|
408
|
+
digest: reading.sentences.digest,
|
|
409
|
+
state: reading.sentences.state,
|
|
410
|
+
questions: reading.sentences.questions,
|
|
411
|
+
answers: reading.sentences.answers,
|
|
412
|
+
latencyMs: reading.sentences.latencyMs,
|
|
413
|
+
acted: bounced || refused || unmoved !== void 0,
|
|
414
|
+
decidedBy: "jev"
|
|
415
|
+
});
|
|
416
|
+
if (found === void 0) {
|
|
417
|
+
return { observed: event, demand: void 0, unproven: void 0, decision, sentenceDecision };
|
|
418
|
+
}
|
|
419
|
+
if (unmoved !== void 0) {
|
|
420
|
+
return {
|
|
421
|
+
...handBack({
|
|
422
|
+
event: new AgentEvent.UnmovedDemanded({
|
|
423
|
+
eventType: eventType.unmovedDemanded,
|
|
424
|
+
openedDigest: unmoved.opened,
|
|
425
|
+
currentDigest: unmoved.closed,
|
|
426
|
+
nextFrame
|
|
427
|
+
}),
|
|
428
|
+
note: UnmovedTree.demand(unmoved),
|
|
429
|
+
keeps: !CompletionClaim.unrecorded(found),
|
|
430
|
+
spent: { unmovedDemands: state.unmovedDemands + 1 }
|
|
431
|
+
}, decision),
|
|
432
|
+
observed: event,
|
|
433
|
+
sentenceDecision
|
|
434
|
+
};
|
|
435
|
+
}
|
|
436
|
+
if (bounced) {
|
|
437
|
+
return {
|
|
438
|
+
...handBack({
|
|
439
|
+
event,
|
|
440
|
+
note: CompletionClaim.demand(),
|
|
441
|
+
// A bounce the brake would not refuse is worth restoring against an
|
|
442
|
+
// exhausted budget; one it would refuse is not. See `CompletionDemand`.
|
|
443
|
+
keeps: !CompletionClaim.unrecorded(found),
|
|
444
|
+
spent: { claimDemands: state.claimDemands + 1 }
|
|
445
|
+
}, decision),
|
|
446
|
+
sentenceDecision
|
|
447
|
+
};
|
|
448
|
+
}
|
|
449
|
+
return {
|
|
450
|
+
observed: event,
|
|
451
|
+
demand: void 0,
|
|
452
|
+
// Either bounce handed the claim back: the unmoved demand spends its
|
|
453
|
+
// own cap in the claim brake's place.
|
|
454
|
+
unproven: refused ? CompletionClaim.unproven(found, state.claimDemands + state.unmovedDemands > 0, claim) : incomplete ? UnfinishedWork.incomplete(reading.complete, unfinished.unfinished, claim) : void 0,
|
|
455
|
+
decision,
|
|
456
|
+
sentenceDecision,
|
|
457
|
+
...unfinishedDecision === void 0 ? {} : { unfinishedDecision }
|
|
458
|
+
};
|
|
459
|
+
});
|
|
460
|
+
const discipline = (state, accounting, justification) => {
|
|
461
|
+
const { facts } = accounting;
|
|
462
|
+
const cap = state.readOnlyCap;
|
|
463
|
+
const readOnly = !accounting.mutated;
|
|
464
|
+
const graceLeft = readOnly ? state.readOnlyGrace : 0;
|
|
465
|
+
const justified = readOnly && state.pendingReadOnlyDemand !== void 0 && (justification ?? "").trim().length > 0;
|
|
466
|
+
const advanced = readOnly && facts.readOnlyFrames > state.readOnlyFrames;
|
|
467
|
+
const demanded = cap > 0 && advanced && facts.readOnlyFrames >= cap && graceLeft === 0 && !justified;
|
|
468
|
+
const repeated = state.repeatCap > 0 && facts.repeatFrames >= state.repeatCap;
|
|
469
|
+
const sufficient = state.sufficiencyStated ? void 0 : Sufficiency.find({ ledger: facts.failures, frame: accounting.frameChecks, epoch: facts.mutations });
|
|
470
|
+
const nextFrame = state.frame + 1;
|
|
471
|
+
return {
|
|
472
|
+
events: [
|
|
473
|
+
...demanded ? [
|
|
474
|
+
new AgentEvent.ReadOnlyDemandIssued({
|
|
475
|
+
eventType: eventType.readOnlyDemandIssued,
|
|
476
|
+
streak: facts.readOnlyFrames,
|
|
477
|
+
cap,
|
|
478
|
+
nextFrame
|
|
479
|
+
})
|
|
480
|
+
] : [],
|
|
481
|
+
...repeated ? [
|
|
482
|
+
new AgentEvent.RepeatDemanded({
|
|
483
|
+
eventType: eventType.repeatDemanded,
|
|
484
|
+
frames: facts.repeatFrames,
|
|
485
|
+
cap: state.repeatCap,
|
|
486
|
+
nextFrame
|
|
487
|
+
})
|
|
488
|
+
] : [],
|
|
489
|
+
...sufficient === void 0 ? [] : [
|
|
490
|
+
new AgentEvent.SufficiencyObserved({
|
|
491
|
+
eventType: eventType.sufficiencyObserved,
|
|
492
|
+
flow: sufficient.failed.flow,
|
|
493
|
+
failed: sufficient.failed.label,
|
|
494
|
+
passed: sufficient.passed.label,
|
|
495
|
+
epoch: sufficient.failed.epoch,
|
|
496
|
+
nextFrame
|
|
497
|
+
})
|
|
498
|
+
]
|
|
499
|
+
],
|
|
500
|
+
messages: [
|
|
501
|
+
...accounting.probeNotice === void 0 ? [] : [import_model.ModelRequest.Message.user(accounting.probeNotice)],
|
|
502
|
+
...demanded ? [import_model.ModelRequest.Message.user(DemandText.readOnly(cap, facts.readOnlyFrames))] : [],
|
|
503
|
+
...repeated ? [import_model.ModelRequest.Message.user(DemandText.repeat(facts.repeatFrames, state.repeatCap))] : [],
|
|
504
|
+
...sufficient === void 0 ? [] : [import_model.ModelRequest.Message.user(Sufficiency.observation(sufficient))]
|
|
505
|
+
],
|
|
506
|
+
changes: {
|
|
507
|
+
readOnlyGrace: justified ? cap : Math.max(0, graceLeft - 1),
|
|
508
|
+
repeatFrames: repeated ? 0 : facts.repeatFrames,
|
|
509
|
+
...sufficient === void 0 ? {} : { sufficiencyStated: true },
|
|
510
|
+
pendingReadOnlyDemand: demanded ? { streak: facts.readOnlyFrames, cap } : void 0
|
|
511
|
+
}
|
|
512
|
+
};
|
|
513
|
+
};
|
|
514
|
+
//# sourceMappingURL=frame.js.map
|