@smthrs/harness 0.0.0-stage → 1.0.0-rc.4
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 +985 -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 +1142 -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 @@
|
|
|
1
|
+
{"version":3,"file":"FlowBinding.js","sourceRoot":"","sources":["../../src/FlowBinding.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * The executable-flow binding contract.\n *\n * A cell's only authority is `ctx.call(flow, input)`, so *every* capability an\n * agent can reach — a standard filesystem flow, a memory flow, an incoming MCP\n * tool, a durable child agent — has to arrive as an ordinary flow declaration\n * plus the code that runs it. This module is the smallest contract that pairs\n * the two.\n *\n * Three types carry the whole idea:\n *\n * - a {@link Binding} is one flow declaration, its projected\n * `Descriptor.FlowDescriptor`, and a runner that decodes cell input through\n * the flow's input schema, executes the handler, and validates the handler's\n * output back into serializable JSON;\n * - a {@link Source} produces bindings, possibly effectfully, so a lazily\n * connected server or a plugin can contribute without being resolved at\n * import time;\n * - a {@link Catalog} is the deterministic composition of sources, and it\n * refuses duplicate executable names rather than letting one descriptor be\n * dispatched to another implementation.\n *\n * This is deliberately *not* a second registry. The descriptors a catalog\n * projects are ordinary `FlowDescriptor`s, and {@link registry} composes them\n * onto an existing `Registry.Registry` behind that same contract — with the\n * file-discovered entries winning, so discovery precedence is untouched.\n *\n * The failure split is the one `EngineLike.call` declares. A refusal the agent\n * could plausibly correct — malformed input, a flow that failed, output that is\n * not serializable — becomes a `failure` {@link Cell.CallResult} the cell\n * observes as a resolved `{ ok: false, error }` envelope. The cell branches on\n * `.ok === false` and `.error.code` to recover; ordinary failures do not throw.\n * Anything the cell must never swallow, such as a permission requirement, an\n * abort, or a suspension, stays in the typed error channel. An interruption\n * is never caught at all.\n *\n * Governing design: `../docs/concepts.md#durable-cell-loop` and\n * `../docs/concepts.md#flow-registry`.\n *\n * @since 0.1.0\n */\n\nimport * as Permission from \"@smthrs/capability/Permission\"\nimport * as Digest from \"@smthrs/core/Digest\"\nimport type * as Effects from \"@smthrs/core/Effects\"\nimport * as Descriptor from \"@smthrs/registry/Descriptor\"\nimport * as Registry from \"@smthrs/registry/Registry\"\nimport type { Context, Schema as SchemaTypes } from \"effect\"\nimport { Effect, Option, Result, Schema, SchemaAST } from \"effect\"\nimport { width as callLedgerWidth } from \"./CallLedger.ts\"\nimport type * as Cell from \"./Cell.ts\"\nimport { CallResult } from \"./Cell.ts\"\nimport { HarnessError } from \"./HarnessError.ts\"\nimport * as elide from \"./internal/elide.ts\"\nimport { refusal, timedOut } from \"./internal/refusal.ts\"\n\n/**\n * The declaration half of a binding.\n *\n * Schema and metadata record accepted by bindings and registry admission.\n *\n * @category models\n * @since 0.1.0\n * @slop\n */\nexport interface Declared {\n readonly name?: string | undefined\n readonly description?: string | undefined\n readonly input?: SchemaTypes.Top | undefined\n readonly output?: SchemaTypes.Top | undefined\n readonly flows?: ReadonlyArray<string> | undefined\n readonly model?: string | ReadonlyArray<string> | undefined\n readonly annotations?: Context.Context<never> | undefined\n readonly budget?: Descriptor.FlowBudget | undefined\n readonly deadline?: number | undefined\n readonly modelInvocable?: boolean | undefined\n readonly disableModelInvocation?: boolean | undefined\n readonly capabilities: ReadonlyArray<string>\n readonly effects: Effects.Declaration | undefined\n}\n\n/**\n * The metadata a projected descriptor needs that a flow declaration does not\n * carry.\n *\n * Every default is the conservative one: a binding is model-invocable, has no\n * placement, and is attributed to the `binding` source.\n *\n * @category models\n * @since 0.1.0\n * @slop\n */\nexport interface DescriptorOptions {\n /** Overrides the declaration's own name. */\n readonly name?: string | undefined\n /** The stable locator recorded as the descriptor's body and path. */\n readonly path?: string | undefined\n /**\n * Content identity of the executable body. `make` derives this from the\n * handler when omitted; direct descriptor projections derive it from the\n * declaration they can observe.\n */\n readonly bodyDigest?: string | undefined\n readonly modelInvocable?: boolean | undefined\n readonly placement?: Option.Option<Descriptor.Placement> | undefined\n readonly provenance?: Descriptor.Provenance | undefined\n /**\n * The input schema as a JSON Schema document, carried by value.\n *\n * A binding holds the real schema, so recording a `binding://` locator\n * throws away the one description of the call's shape anything downstream\n * could read. {@link make} fills this in, which is what puts a parameter\n * schema beside every flow in `ctx.flows`.\n */\n readonly inputDocument?: Schema.Json | undefined\n /** The output schema as a JSON Schema document, carried by value. */\n readonly outputDocument?: Schema.Json | undefined\n /**\n * What a call to this flow does, for a reader of a run.\n *\n * Absent means unknown, and unknown stays unknown: a reader that is given\n * nothing says nothing rather than guessing from the flow's name. `bash` is\n * the deliberate absence — what a shell call does is in the command.\n */\n readonly activity?: Descriptor.FlowActivity | undefined\n /**\n * How one recorded call to this flow reads.\n *\n * This is the one authority a run card has for the words beside a call. It\n * grants nothing: {@link Descriptor.declarationDigest} and\n * {@link Descriptor.executionDigest} both exclude it, so declaring it cannot\n * invalidate a reviewed plan, a call identity, or a cached prompt.\n */\n readonly presentation?: Descriptor.CallPresentation | undefined\n}\n\n/**\n * The conservative effect declaration used when a flow declares none.\n *\n * `irreversible` is the safe default: it is never content-shared across\n * executions, so a binding that forgot to declare its tier can never replay\n * another run's recorded result.\n */\nconst declaredEffects = (effects: Effects.Declaration | undefined): Descriptor.EffectDeclaration => ({\n reads: effects?.reads ?? [],\n writes: effects?.writes ?? [],\n mode: effects?.mode ?? \"expected\",\n onConflict: effects?.onConflict ?? \"serialize\",\n tier: effects?.tier ?? \"irreversible\"\n})\n\n/** Only declared optional input properties that reject null can be omitted. */\nconst omittableNullKeys = (schema: SchemaTypes.Top): ReadonlySet<PropertyKey> => {\n const ast = SchemaAST.toEncoded(schema.ast)\n if (ast._tag !== \"Objects\") return new Set()\n return new Set(\n ast.propertySignatures\n .filter((field) => SchemaAST.isOptional(field.type) && !Schema.is(Schema.make(field.type))(null))\n .map((field) => field.name)\n )\n}\n\n/** The JSON omission retry is limited to known top-level optional properties. */\nconst withoutRejectedNulls = (input: unknown, keys: ReadonlySet<PropertyKey>): unknown => {\n if (typeof input !== \"object\" || input === null || Array.isArray(input)) return input\n return Object.fromEntries(Object.entries(input).filter(([key, value]) => value !== null || !keys.has(key)))\n}\n\n/**\n * Renders one schema as a JSON Schema document, or `undefined` when it has no\n * JSON Schema form.\n *\n * A schema that cannot be projected is not an error: the descriptor falls\n * back to the locator it always recorded, and only the catalog rendering is\n * poorer for it.\n */\nconst document = (schema: SchemaTypes.Top): Schema.Json | undefined => {\n try {\n return JSON.parse(JSON.stringify(Schema.toJsonSchemaDocument(schema, { onExcessProperty: \"error\" }))) as Schema.Json\n } catch {\n return undefined\n }\n}\n\n/**\n * Projects an ordinary flow declaration into a registry descriptor.\n *\n * @category conversions\n * @since 0.1.0\n * @slop\n */\nexport const descriptorOf = (\n declaration: Declared,\n options: DescriptorOptions = {}\n): Descriptor.FlowDescriptor => {\n const name = options.name ?? declaration.name ?? \"\"\n const path = options.path ?? `binding://${name}`\n const bodyDigest = options.bodyDigest ?? Digest.digest(Digest.canonical({\n capabilities: declaration.capabilities,\n description: declaration.description ?? \"\",\n effects: declaration.effects ?? null,\n name\n }))\n return new Descriptor.FlowDescriptor({\n name,\n description: declaration.description ?? \"\",\n body: new Descriptor.BodyRefModule({ path, contentDigest: bodyDigest }),\n input: options.inputDocument === undefined\n ? new Descriptor.SchemaRefModule({ path, field: \"input\" })\n : new Descriptor.SchemaRefInline({ document: options.inputDocument }),\n output: options.outputDocument === undefined\n ? new Descriptor.SchemaRefModule({ path, field: \"output\" })\n : new Descriptor.SchemaRefInline({ document: options.outputDocument }),\n model: Option.none(),\n flows: [],\n capabilities: declaration.capabilities,\n effects: declaredEffects(declaration.effects),\n placement: options.placement ?? Option.none(),\n modelInvocable: options.modelInvocable ?? true,\n // Omitted rather than carried as `undefined`: an absent display field is\n // the absence of the claim, and `Descriptor.FlowDescriptor` encodes an\n // omitted optional field away instead of writing a null nobody declared.\n ...(options.activity === undefined ? {} : { activity: options.activity }),\n ...(options.presentation === undefined ? {} : { presentation: options.presentation }),\n path,\n frontmatter: {},\n provenance: options.provenance ?? new Descriptor.Provenance({ source: \"binding\", root: \"binding://\" })\n })\n}\n\n/**\n * One flow declaration and the code that runs it.\n *\n * `R` is whatever the handler still needs from the host. A catalog only accepts\n * fully supplied bindings, so a host uses {@link provide} to close `R` with the\n * context it built.\n *\n * @category models\n * @since 0.1.0\n * @slop\n */\nexport interface Binding<R = never> {\n readonly descriptor: Descriptor.FlowDescriptor\n readonly run: (call: Cell.Call) => Effect.Effect<CallResult, HarnessError, R>\n}\n\n/** Bounds a schema rejection before it enters the journal and later frames. */\nconst describeFailure = (error: Schema.SchemaError): string =>\n elide.head(error.message, callLedgerWidth * 4, \"reissue the call to see the whole failure\")\n\n/** Only explicitly public text may cross the host boundary. Renderer failures stay opaque too. */\nconst publicMessage = <E>(error: E, render: ((error: E) => string | undefined) | undefined): string | undefined => {\n try {\n const message = render?.(error)\n return typeof message === \"string\"\n ? elide.head(message, callLedgerWidth * 4, \"ask the host for the full public failure\")\n : undefined\n } catch {\n return undefined\n }\n}\n\n/**\n * Decides whether a handler failure is the cell's business.\n *\n * A permission requirement, a denial, and every harness-level failure are the\n * controller's to act on: parking, escalating, or aborting the run. Returning\n * them as call results would let a cell ignore its own permission park and\n * proceed as though it had authority.\n */\nconst escalated = (error: unknown): HarnessError | undefined => {\n if (error instanceof HarnessError) return error\n if (error instanceof Permission.PermissionRequired) {\n return new HarnessError({ code: \"suspended\", message: error.message, cause: error })\n }\n if (error instanceof Permission.PermissionDenied) {\n return new HarnessError({ code: \"suspended\", message: error.message, cause: error })\n }\n return undefined\n}\n\n/**\n * Everything one executable binding declares.\n *\n * @category models\n * @since 0.1.0\n * @slop\n */\nexport interface Options<\n I extends SchemaTypes.Top & SchemaTypes.ConstraintDecoder<unknown, never>,\n O extends SchemaTypes.Top & SchemaTypes.ConstraintEncoder<unknown, never>,\n E,\n R\n> extends DescriptorOptions {\n /** The ordinary flow declaration. Its schemas are the call's contract. */\n readonly flow: {\n readonly input: I\n readonly output: O\n } & Declared\n /**\n * The runtime implementation, with whatever requirements the host supplies.\n *\n * The decoded input is the whole contract for an ordinary capability. The\n * call is passed as well because a handler that opens a *durable* boundary of\n * its own — a timer, a child run — needs a replay-stable name for it, and\n * `call.identity` is exactly that name: re-executing the cell reaches the\n * same ordinal with the same declaration.\n */\n readonly handler: (input: I[\"Type\"], call: Cell.Call) => Effect.Effect<O[\"Type\"], E, R>\n /**\n * Opts safe handler-failure details into cell-visible, journaled text.\n * Forward message only for error classes the host authored with model-facing\n * text; never forward messages of transport, SDK, OS, or unknown errors,\n * headers, URLs, or serialized causes.\n * Undefined or a thrown renderer uses the opaque default. Permission errors\n * and existing HarnessErrors bypass this renderer and stay in the error channel.\n * Inspect raw causes in the host handler, redacting before any persistence.\n */\n readonly publicError?: ((error: E) => string | undefined) | undefined\n /**\n * Whether a handler failure is the flow's own timeout (a command past its\n * limit, or a wait that gave up), and the limit in milliseconds it ran past\n * when the failure says. Undefined for any other failure. The cell reads a\n * timeout as a `timeout` call failure, the code of the call boundary's own\n * limit, and a host that guards timeouts parks the run on it with this\n * limit. Absent, every failure is `flow_failed`.\n */\n readonly timedOut?: ((error: E) => { readonly limitMillis?: number | undefined } | undefined) | undefined\n}\n\n/**\n * Binds one flow declaration to its runtime implementation.\n *\n * @category constructors\n * @since 0.1.0\n * @slop\n */\nexport const make = <\n I extends SchemaTypes.Top & SchemaTypes.ConstraintDecoder<unknown, never>,\n O extends SchemaTypes.Top & SchemaTypes.ConstraintEncoder<unknown, never>,\n E,\n R = never\n>(options: Options<I, O, E, R>): Binding<R> => {\n const descriptor = descriptorOf({ ...options.flow, capabilities: [...new Set(options.flow.capabilities)].sort() }, {\n ...options,\n bodyDigest: options.bodyDigest ?? Digest.digest(Function.prototype.toString.call(options.handler)),\n ...(options.inputDocument === undefined ? { inputDocument: document(options.flow.input) } : {}),\n ...(options.outputDocument === undefined ? { outputDocument: document(options.flow.output) } : {})\n })\n const decodeInput = Schema.decodeUnknownResult(options.flow.input)\n // Retry JSON nulls as omissions only where the encoded struct declares an\n // optional field that rejects null. Other nullable fields must survive even\n // when a sibling caused the original decode to fail. The full input schema\n // still validates the retry, including refinements and transformations.\n const nullKeys = omittableNullKeys(options.flow.input)\n const decodeCall = (input: unknown): ReturnType<typeof decodeInput> => {\n const first = decodeInput(input)\n if (first._tag !== \"Failure\") return first\n // A cell that omits the input (`ctx.call(\"tab.list\")`) sends JSON null.\n // Retry it as `{}`, so an all-optional object schema accepts the call.\n const retried = decodeInput(input === null ? {} : withoutRejectedNulls(input, nullKeys))\n // When the retry fails too, the first attempt's failure is the one worth\n // reporting: it names the key the caller actually wrote.\n return retried._tag === \"Failure\" ? first : retried\n }\n const encodeOutput = Schema.encodeUnknownResult(options.flow.output)\n const asJson = Schema.decodeUnknownResult(Schema.Json)\n return {\n descriptor,\n run: (call) =>\n Effect.gen(function*() {\n const decoded = decodeCall(call.input)\n if (decoded._tag === \"Failure\") {\n return refusal(\n \"invalid_input\",\n `Flow ${descriptor.name} rejected its input: ${\n describeFailure(decoded.failure)\n }. Re-read ctx.flows and reissue the call.`\n )\n }\n const produced = yield* Effect.result(options.handler(decoded.success, call))\n if (produced._tag === \"Failure\") {\n const escalate = escalated(produced.failure)\n if (escalate !== undefined) return yield* Effect.fail(escalate)\n const message = publicMessage(produced.failure, options.publicError)\n const rendered = message === undefined\n ? `Flow ${descriptor.name} failed.`\n : `Flow ${descriptor.name} failed: ${message}`\n const timeout = options.timedOut?.(produced.failure)\n return timeout === undefined\n ? refusal(\"flow_failed\", rendered)\n : timeout.limitMillis === undefined\n ? refusal(\"timeout\", rendered)\n : timedOut(rendered, timeout.limitMillis)\n }\n const encoded = encodeOutput(produced.success)\n if (encoded._tag === \"Failure\") {\n return refusal(\"flow_failed\", `Flow ${descriptor.name} produced output its own schema rejects.`)\n }\n const json = asJson(encoded.success)\n if (json._tag === \"Failure\") {\n return refusal(\"flow_failed\", `Flow ${descriptor.name} produced output that is not serializable.`)\n }\n return new CallResult({ outcome: \"success\", value: json.success })\n })\n }\n}\n\n/**\n * Supplies a binding's remaining requirements from a context the host built.\n *\n * @category combinators\n * @since 0.1.0\n * @slop\n */\nexport const provide = <R, R2>(\n self: Binding<R>,\n services: Context.Context<R2>\n): Binding<Exclude<R, R2>> => ({\n descriptor: self.descriptor,\n run: (call) => Effect.provide(self.run(call), services)\n})\n\n/**\n * A named producer of executable bindings.\n *\n * Producing bindings is an effect so a source may connect a server, read a\n * manifest, or resolve a credential the first time a host composes it — the\n * lazy lifecycle an incoming MCP wrapper needs, expressed once here instead of\n * as a special case in the controller.\n *\n * @category models\n * @since 0.1.0\n * @slop\n */\nexport interface Source {\n readonly name: string\n readonly bindings: () => Effect.Effect<ReadonlyArray<Binding>, HarnessError>\n}\n\n/**\n * Constructs a source over a fixed binding list.\n *\n * @category constructors\n * @since 0.1.0\n * @slop\n */\nexport const source = (name: string, bindings: ReadonlyArray<Binding>): Source => ({\n name,\n bindings: () => Effect.succeed(bindings)\n})\n\n/**\n * The deterministic composition of every executable binding a host resolved.\n *\n * @category models\n * @since 0.1.0\n * @slop\n */\nexport interface Catalog {\n /** Bindings in composition order. */\n readonly entries: ReadonlyArray<Binding>\n /** The same bindings, keyed by flow name. */\n readonly bindings: ReadonlyMap<string, Binding>\n /** The descriptors those bindings project, in composition order. */\n readonly descriptors: ReadonlyArray<Descriptor.FlowDescriptor>\n}\n\n/** The empty catalog, which resolves nothing and discloses nothing. */\nconst emptyCatalog: Catalog = { entries: [], bindings: new Map(), descriptors: [] }\n\n/**\n * The empty catalog.\n *\n * @category constructors\n * @since 0.1.0\n * @slop\n */\nexport const empty = (): Catalog => emptyCatalog\n\nconst duplicate = (name: string): HarnessError =>\n new HarnessError({\n code: \"assembly_failed\",\n message:\n `Two executable bindings are named \"${name}\". A flow name resolves to exactly one implementation; rename one or drop it before composing the host.`\n })\n\nconst unnamed = (): HarnessError =>\n new HarnessError({\n code: \"assembly_failed\",\n message: \"An executable binding has no flow name. Give the declaration a name, or pass one to FlowBinding.make.\"\n })\n\n/**\n * Composes bindings into a catalog, refusing duplicate names.\n *\n * @category constructors\n * @since 0.1.0\n * @slop\n */\nexport const catalogResult = (\n bindings: ReadonlyArray<Binding>\n): Result.Result<Catalog, HarnessError> => {\n const composed = new Map<string, Binding>()\n const descriptors: Array<Descriptor.FlowDescriptor> = []\n for (const binding of bindings) {\n const name = binding.descriptor.name\n if (name.length === 0) return Result.fail(unnamed())\n if (composed.has(name)) return Result.fail(duplicate(name))\n composed.set(name, binding)\n descriptors.push(binding.descriptor)\n }\n return Result.succeed({\n entries: Object.freeze([...bindings]),\n bindings: composed,\n descriptors: Object.freeze(descriptors)\n })\n}\n\n/**\n * Resolves ordered sources into one catalog.\n *\n * @category constructors\n * @since 0.1.0\n * @slop\n */\nexport const catalog = (\n sources: ReadonlyArray<Source>\n): Effect.Effect<Catalog, HarnessError> =>\n Effect.gen(function*() {\n const collected: Array<Binding> = []\n for (const entry of sources) {\n collected.push(...(yield* entry.bindings()))\n }\n return yield* Effect.fromResult(catalogResult(collected))\n })\n\n/**\n * Discloses a catalog's descriptors through an existing registry.\n *\n * File-discovered entries win: a binding whose name a source already discovered\n * is not disclosed, which is what keeps `flow.ts > flow.mdx > SKILL.md`\n * precedence exactly where discovery put it. The shadowed binding is reported\n * as an ordinary `duplicate_name` warning rather than silently dispatched, and\n * the resolver refuses the shadowed name with a resolved failure envelope.\n *\n * @category constructors\n * @since 0.1.0\n * @slop\n */\nexport const registry = (base: Registry.Registry, self: Catalog): Registry.Registry => {\n const added = (entries: ReadonlyArray<Descriptor.FlowDescriptor>): ReadonlyArray<Descriptor.FlowDescriptor> => {\n const discovered = new Set(entries.map((entry) => entry.name))\n return self.descriptors.filter((entry) => !discovered.has(entry.name))\n }\n const list = () => Effect.map(base.list(), (entries) => [...entries, ...added(entries)])\n // Shadowing is decided against everything discovery found, never against the\n // narrower visible set. A discovered entry that is not model-invocable still\n // owns its name — resolving it is what `getOption` does — so deciding\n // visibility against `base.visible()` would disclose a binding the boundary\n // then refuses on every call, and would make `visible()` report a flow\n // `list()` does not contain.\n const visible = () =>\n Effect.gen(function*() {\n const shown = yield* base.visible()\n const discovered = yield* base.list()\n return [...shown, ...added(discovered).filter((entry) => entry.modelInvocable)]\n })\n const getOption = (name: string) =>\n Effect.flatMap(base.getOption(name), (found) =>\n Option.isSome(found)\n ? Effect.succeed(found)\n : Effect.map(base.list(), (entries) =>\n entries.some((entry) => entry.name === name)\n ? Option.none()\n : Option.fromUndefinedOr(self.bindings.get(name)?.descriptor)))\n return Registry.makeNoop({\n list,\n visible,\n getOption,\n get: (name) =>\n Effect.flatMap(getOption(name), (found) => Option.isSome(found) ? Effect.succeed(found.value) : base.get(name)),\n loadBody: base.loadBody,\n runPrompt: base.runPrompt,\n refresh: base.refresh,\n warnings: () =>\n Effect.gen(function*() {\n const declared = yield* base.warnings()\n const entries = yield* base.list()\n const discovered = new Set(entries.map((entry) => entry.name))\n const shadowed = self.descriptors.filter((entry) => discovered.has(entry.name)).map((entry) =>\n new Descriptor.DiscoveryWarning({\n code: \"duplicate_name\",\n path: entry.path,\n name: entry.name,\n message:\n `Executable binding \"${entry.name}\" is shadowed by a discovered flow; the discovered entry keeps the name.`\n })\n )\n return [...declared, ...shadowed]\n })\n })\n}\n"]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stable failures reported at the harness translation boundary.
|
|
3
|
+
*
|
|
4
|
+
* @since 0.1.0
|
|
5
|
+
*/
|
|
6
|
+
import * as Evaluator from "@smthrs/model/Evaluator";
|
|
7
|
+
import { Schema } from "effect";
|
|
8
|
+
/**
|
|
9
|
+
* Stable harness failure codes.
|
|
10
|
+
*
|
|
11
|
+
* The set is closed to codes this package and `@smthrs/agent` actually raise;
|
|
12
|
+
* `test/Contracts.test.ts` pins every member to a construction site under
|
|
13
|
+
* `src`. Interrupting a run does not raise one: `CellTurn` emits
|
|
14
|
+
* `AgentEvent.Aborted` and forwards the interrupt cause unchanged, and a
|
|
15
|
+
* failed projection is `Transcript.TranscriptError`. A foreign CLI adapter declares its own error family beside the adapter in
|
|
16
|
+
* `@smthrs/agent` rather than borrowing this one.
|
|
17
|
+
*
|
|
18
|
+
* @category models
|
|
19
|
+
* @since 0.1.0
|
|
20
|
+
* @slop
|
|
21
|
+
*/
|
|
22
|
+
export declare const HarnessErrorCode: Schema.Literals<readonly ["assembly_failed", "approval_unavailable", "incompatible_journal", "render_failed", "model_failed", "engine_failed", "read_only_cap", "completion_unjudged", "completion_incomplete", "claim_unproven", "suspended"]>;
|
|
23
|
+
/**
|
|
24
|
+
* Stable harness failure codes.
|
|
25
|
+
*
|
|
26
|
+
* @category models
|
|
27
|
+
* @since 0.1.0
|
|
28
|
+
* @slop
|
|
29
|
+
*/
|
|
30
|
+
export type HarnessErrorCode = typeof HarnessErrorCode.Type;
|
|
31
|
+
declare const HarnessError_base: Schema.Class<HarnessError, Schema.TaggedStruct<"/harness/HarnessError", {
|
|
32
|
+
readonly code: Schema.Literals<readonly ["assembly_failed", "approval_unavailable", "incompatible_journal", "render_failed", "model_failed", "engine_failed", "read_only_cap", "completion_unjudged", "completion_incomplete", "claim_unproven", "suspended"]>;
|
|
33
|
+
readonly message: Schema.String;
|
|
34
|
+
readonly cause: Schema.optional<Schema.Union<readonly [typeof Evaluator.EvaluatorError, Schema.Defect]>>;
|
|
35
|
+
}>, import("effect/Cause").YieldableError>;
|
|
36
|
+
/**
|
|
37
|
+
* A failure while translating a recorded agent turn.
|
|
38
|
+
*
|
|
39
|
+
* Evaluator causes retain their typed fields across replay. Other causes use
|
|
40
|
+
* {@link Schema.Defect} rather than {@link Schema.Unknown}: a
|
|
41
|
+
* `HarnessError` is a member of `@smthrs/agent/AgentAction`'s `AgentFailure`
|
|
42
|
+
* union, which is encoded through the durable exit schema for journaling. A
|
|
43
|
+
* raw `Error` (or any other non-JSON value) attached as `cause` has no safe
|
|
44
|
+
* JSON representation under `Schema.Unknown`, so encoding it dies with a
|
|
45
|
+
* `SchemaError` that replaces the real failure instead of reporting it.
|
|
46
|
+
* `Schema.Defect` decodes to the same `unknown` type but encodes any value —
|
|
47
|
+
* including a real `Error` — to JSON, with the same graceful degradation
|
|
48
|
+
* `Cause` defects already rely on elsewhere in this codebase.
|
|
49
|
+
*
|
|
50
|
+
* @category errors
|
|
51
|
+
* @since 0.1.0
|
|
52
|
+
* @slop
|
|
53
|
+
*/
|
|
54
|
+
export declare class HarnessError extends HarnessError_base {
|
|
55
|
+
}
|
|
56
|
+
export {};
|
|
57
|
+
//# sourceMappingURL=HarnessError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HarnessError.d.ts","sourceRoot":"","sources":["../../src/HarnessError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,iPAY3B,CAAA;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;;;;;;AAY3D;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,YAAa,SAAQ,iBAIhC;CAAG"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stable failures reported at the harness translation boundary.
|
|
3
|
+
*
|
|
4
|
+
* @since 0.1.0
|
|
5
|
+
*/
|
|
6
|
+
import * as Fault from "@smthrs/flow/Fault";
|
|
7
|
+
import * as Evaluator from "@smthrs/model/Evaluator";
|
|
8
|
+
import { Schema } from "effect";
|
|
9
|
+
/**
|
|
10
|
+
* Stable harness failure codes.
|
|
11
|
+
*
|
|
12
|
+
* The set is closed to codes this package and `@smthrs/agent` actually raise;
|
|
13
|
+
* `test/Contracts.test.ts` pins every member to a construction site under
|
|
14
|
+
* `src`. Interrupting a run does not raise one: `CellTurn` emits
|
|
15
|
+
* `AgentEvent.Aborted` and forwards the interrupt cause unchanged, and a
|
|
16
|
+
* failed projection is `Transcript.TranscriptError`. A foreign CLI adapter declares its own error family beside the adapter in
|
|
17
|
+
* `@smthrs/agent` rather than borrowing this one.
|
|
18
|
+
*
|
|
19
|
+
* @category models
|
|
20
|
+
* @since 0.1.0
|
|
21
|
+
* @slop
|
|
22
|
+
*/
|
|
23
|
+
export const HarnessErrorCode = Schema.Literals([
|
|
24
|
+
"assembly_failed",
|
|
25
|
+
"approval_unavailable",
|
|
26
|
+
"incompatible_journal",
|
|
27
|
+
"render_failed",
|
|
28
|
+
"model_failed",
|
|
29
|
+
"engine_failed",
|
|
30
|
+
"read_only_cap",
|
|
31
|
+
"completion_unjudged",
|
|
32
|
+
"completion_incomplete",
|
|
33
|
+
"claim_unproven",
|
|
34
|
+
"suspended"
|
|
35
|
+
]);
|
|
36
|
+
/*
|
|
37
|
+
* Every schema and error identifier in this package — this one, and the
|
|
38
|
+
* `flows/harness/...` ids on the classes in `Cell`, `ContextWindow`,
|
|
39
|
+
* `CellTurn` and the rest — is a durable name, not a label. It is written into
|
|
40
|
+
* a journal, into a sealed step key, and into an encoded exit, so renaming one
|
|
41
|
+
* makes an existing run undecodable rather than tidier. They keep the names
|
|
42
|
+
* they were journaled under. Context service tags carry no such history: they
|
|
43
|
+
* are runtime keys, resolved and discarded within a process, so those all read
|
|
44
|
+
* `@smthrs/harness/...` after the package.
|
|
45
|
+
*/
|
|
46
|
+
/**
|
|
47
|
+
* A failure while translating a recorded agent turn.
|
|
48
|
+
*
|
|
49
|
+
* Evaluator causes retain their typed fields across replay. Other causes use
|
|
50
|
+
* {@link Schema.Defect} rather than {@link Schema.Unknown}: a
|
|
51
|
+
* `HarnessError` is a member of `@smthrs/agent/AgentAction`'s `AgentFailure`
|
|
52
|
+
* union, which is encoded through the durable exit schema for journaling. A
|
|
53
|
+
* raw `Error` (or any other non-JSON value) attached as `cause` has no safe
|
|
54
|
+
* JSON representation under `Schema.Unknown`, so encoding it dies with a
|
|
55
|
+
* `SchemaError` that replaces the real failure instead of reporting it.
|
|
56
|
+
* `Schema.Defect` decodes to the same `unknown` type but encodes any value —
|
|
57
|
+
* including a real `Error` — to JSON, with the same graceful degradation
|
|
58
|
+
* `Cause` defects already rely on elsewhere in this codebase.
|
|
59
|
+
*
|
|
60
|
+
* @category errors
|
|
61
|
+
* @since 0.1.0
|
|
62
|
+
* @slop
|
|
63
|
+
*/
|
|
64
|
+
export class HarnessError extends Schema.TaggedError()("/harness/HarnessError", {
|
|
65
|
+
code: HarnessErrorCode,
|
|
66
|
+
message: Schema.String,
|
|
67
|
+
cause: Schema.optional(Schema.Union([Evaluator.EvaluatorError, Schema.Defect()]))
|
|
68
|
+
}) {
|
|
69
|
+
}
|
|
70
|
+
Fault.register("/harness/HarnessError", {
|
|
71
|
+
assembly_failed: "bug",
|
|
72
|
+
approval_unavailable: "dependency",
|
|
73
|
+
incompatible_journal: "bug",
|
|
74
|
+
render_failed: "bug",
|
|
75
|
+
model_failed: "dependency",
|
|
76
|
+
completion_unjudged: "dependency",
|
|
77
|
+
engine_failed: "infra",
|
|
78
|
+
// A spent cap, unfinished work or an unproven claim is the plan not
|
|
79
|
+
// converging: a replan's to fix.
|
|
80
|
+
read_only_cap: "factory",
|
|
81
|
+
completion_incomplete: "factory",
|
|
82
|
+
claim_unproven: "factory",
|
|
83
|
+
suspended: "wait"
|
|
84
|
+
});
|
|
85
|
+
//# sourceMappingURL=HarnessError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HarnessError.js","sourceRoot":"","sources":["../../src/HarnessError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC9C,iBAAiB;IACjB,sBAAsB;IACtB,sBAAsB;IACtB,eAAe;IACf,cAAc;IACd,eAAe;IACf,eAAe;IACf,qBAAqB;IACrB,uBAAuB;IACvB,gBAAgB;IAChB,WAAW;CACZ,CAAC,CAAA;AAWF;;;;;;;;;GASG;AACH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC,WAAW,EAAgB,CAAC,uBAAuB,EAAE;IAC5F,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CAClF,CAAC;CAAG;AACL,KAAK,CAAC,QAAQ,CACZ,uBAAuB,EACvB;IACE,eAAe,EAAE,KAAK;IACtB,oBAAoB,EAAE,YAAY;IAClC,oBAAoB,EAAE,KAAK;IAC3B,aAAa,EAAE,KAAK;IACpB,YAAY,EAAE,YAAY;IAC1B,mBAAmB,EAAE,YAAY;IACjC,aAAa,EAAE,OAAO;IACtB,oEAAoE;IACpE,iCAAiC;IACjC,aAAa,EAAE,SAAS;IACxB,qBAAqB,EAAE,SAAS;IAChC,cAAc,EAAE,SAAS;IACzB,SAAS,EAAE,MAAM;CACqB,CACzC,CAAA","sourcesContent":["/**\n * Stable failures reported at the harness translation boundary.\n *\n * @since 0.1.0\n */\n\nimport * as Fault from \"@smthrs/flow/Fault\"\nimport * as Evaluator from \"@smthrs/model/Evaluator\"\nimport { Schema } from \"effect\"\n\n/**\n * Stable harness failure codes.\n *\n * The set is closed to codes this package and `@smthrs/agent` actually raise;\n * `test/Contracts.test.ts` pins every member to a construction site under\n * `src`. Interrupting a run does not raise one: `CellTurn` emits\n * `AgentEvent.Aborted` and forwards the interrupt cause unchanged, and a\n * failed projection is `Transcript.TranscriptError`. A foreign CLI adapter declares its own error family beside the adapter in\n * `@smthrs/agent` rather than borrowing this one.\n *\n * @category models\n * @since 0.1.0\n * @slop\n */\nexport const HarnessErrorCode = Schema.Literals([\n \"assembly_failed\",\n \"approval_unavailable\",\n \"incompatible_journal\",\n \"render_failed\",\n \"model_failed\",\n \"engine_failed\",\n \"read_only_cap\",\n \"completion_unjudged\",\n \"completion_incomplete\",\n \"claim_unproven\",\n \"suspended\"\n])\n\n/**\n * Stable harness failure codes.\n *\n * @category models\n * @since 0.1.0\n * @slop\n */\nexport type HarnessErrorCode = typeof HarnessErrorCode.Type\n\n/*\n * Every schema and error identifier in this package — this one, and the\n * `flows/harness/...` ids on the classes in `Cell`, `ContextWindow`,\n * `CellTurn` and the rest — is a durable name, not a label. It is written into\n * a journal, into a sealed step key, and into an encoded exit, so renaming one\n * makes an existing run undecodable rather than tidier. They keep the names\n * they were journaled under. Context service tags carry no such history: they\n * are runtime keys, resolved and discarded within a process, so those all read\n * `@smthrs/harness/...` after the package.\n */\n/**\n * A failure while translating a recorded agent turn.\n *\n * Evaluator causes retain their typed fields across replay. Other causes use\n * {@link Schema.Defect} rather than {@link Schema.Unknown}: a\n * `HarnessError` is a member of `@smthrs/agent/AgentAction`'s `AgentFailure`\n * union, which is encoded through the durable exit schema for journaling. A\n * raw `Error` (or any other non-JSON value) attached as `cause` has no safe\n * JSON representation under `Schema.Unknown`, so encoding it dies with a\n * `SchemaError` that replaces the real failure instead of reporting it.\n * `Schema.Defect` decodes to the same `unknown` type but encodes any value —\n * including a real `Error` — to JSON, with the same graceful degradation\n * `Cause` defects already rely on elsewhere in this codebase.\n *\n * @category errors\n * @since 0.1.0\n * @slop\n */\nexport class HarnessError extends Schema.TaggedError<HarnessError>()(\"/harness/HarnessError\", {\n code: HarnessErrorCode,\n message: Schema.String,\n cause: Schema.optional(Schema.Union([Evaluator.EvaluatorError, Schema.Defect()]))\n}) {}\nFault.register(\n \"/harness/HarnessError\",\n {\n assembly_failed: \"bug\",\n approval_unavailable: \"dependency\",\n incompatible_journal: \"bug\",\n render_failed: \"bug\",\n model_failed: \"dependency\",\n completion_unjudged: \"dependency\",\n engine_failed: \"infra\",\n // A spent cap, unfinished work or an unproven claim is the plan not\n // converging: a replan's to fix.\n read_only_cap: \"factory\",\n completion_incomplete: \"factory\",\n claim_unproven: \"factory\",\n suspended: \"wait\"\n } satisfies Fault.Rows<HarnessErrorCode>\n)\n"]}
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one way this package asks Jev a question.
|
|
3
|
+
*
|
|
4
|
+
* Every reading a control takes — the supervisor's, the completion brake's,
|
|
5
|
+
* and every relevance, compaction, monitor and routing reading after them —
|
|
6
|
+
* goes through here, so each is metered the same way and fails the same way.
|
|
7
|
+
*
|
|
8
|
+
* Two layers. {@link measured} asks through the bound `Evaluator` and keeps
|
|
9
|
+
* what the classifier drops: the transport's usage, the provider's own
|
|
10
|
+
* confidence, the state exactly as it was sent, and the wall-clock latency.
|
|
11
|
+
* Its failure is the transport's own. {@link read} is the fail-closed layer
|
|
12
|
+
* above it: a host with no `Evaluator` and a transport that could not answer
|
|
13
|
+
* both fail as {@link Unjudged}, with a detail that is safe to journal. There
|
|
14
|
+
* is no reading Jev did not make, and nothing here fills one in.
|
|
15
|
+
*
|
|
16
|
+
* {@link perItem} asks one set of questions about each of many items. Items
|
|
17
|
+
* go in as few requests as fit {@link maxStateBytes}, in order, and a reading
|
|
18
|
+
* is whole or it fails: one failed request fails every item, and partial
|
|
19
|
+
* answers are never returned.
|
|
20
|
+
*
|
|
21
|
+
* {@link recorded} is how a reading taken inside a run is journaled: through
|
|
22
|
+
* `EngineLike.record`, so a replayed frame is served what the first attempt
|
|
23
|
+
* read and never asks again, with the `decision-settled` or
|
|
24
|
+
* `decision-unjudged` rows {@link emitRecorded} journals beside it.
|
|
25
|
+
*
|
|
26
|
+
* @since 1.0.0-rc.0
|
|
27
|
+
*/
|
|
28
|
+
import * as Classifier from "@smthrs/model/Classifier";
|
|
29
|
+
import * as Evaluator from "@smthrs/model/Evaluator";
|
|
30
|
+
import * as Effect from "effect/Effect";
|
|
31
|
+
import * as Schema from "effect/Schema";
|
|
32
|
+
import * as AgentEvent from "./AgentEvent.ts";
|
|
33
|
+
import type * as EngineLike from "./EngineLike.ts";
|
|
34
|
+
import type { HarnessError } from "./HarnessError.ts";
|
|
35
|
+
/**
|
|
36
|
+
* Why a reading could not be judged, and what went wrong in words safe to
|
|
37
|
+
* journal. `reason` is `unconfigured`, `interrupted`, or the transport's own
|
|
38
|
+
* error code; an `unreachable` detail is `Evaluator.unreachableMessage`.
|
|
39
|
+
*
|
|
40
|
+
* @category models
|
|
41
|
+
* @since 1.0.0-rc.0
|
|
42
|
+
*/
|
|
43
|
+
export interface Unjudged {
|
|
44
|
+
readonly reason: typeof AgentEvent.UnjudgedReason.Type;
|
|
45
|
+
readonly detail: string;
|
|
46
|
+
/**
|
|
47
|
+
* What each request of the failed reading paid, when the provider metered
|
|
48
|
+
* it before the reading failed: a failed reading is still spend (#3010).
|
|
49
|
+
*/
|
|
50
|
+
readonly usage?: ReadonlyArray<Evaluator.Usage> | undefined;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* The failure of a reading on a host that binds no `Evaluator`.
|
|
54
|
+
*
|
|
55
|
+
* @category constants
|
|
56
|
+
* @since 1.0.0-rc.0
|
|
57
|
+
*/
|
|
58
|
+
export declare const unconfigured: Unjudged;
|
|
59
|
+
/**
|
|
60
|
+
* What one request asked and what came back, in the shape
|
|
61
|
+
* `AgentEvent.DecisionSettled` carries.
|
|
62
|
+
*
|
|
63
|
+
* @category models
|
|
64
|
+
* @since 1.0.0-rc.0
|
|
65
|
+
*/
|
|
66
|
+
export interface Asked {
|
|
67
|
+
/** The classifier's stable id. */
|
|
68
|
+
readonly classifier: string;
|
|
69
|
+
/** `Classifier.digest`. */
|
|
70
|
+
readonly digest: string;
|
|
71
|
+
readonly questions: Classifier.Questions;
|
|
72
|
+
/** The encoded state, as the transport was sent it. */
|
|
73
|
+
readonly state: Schema.Json;
|
|
74
|
+
readonly answers: Readonly<Record<string, AgentEvent.DecisionAnswer>>;
|
|
75
|
+
/** Wall-clock milliseconds the evaluation took. */
|
|
76
|
+
readonly latencyMs: number;
|
|
77
|
+
/** Token usage the transport reported, absent when it reported none. */
|
|
78
|
+
readonly usage?: Evaluator.Usage | undefined;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* One reading: the decoded answers and the record of asking.
|
|
82
|
+
*
|
|
83
|
+
* @category models
|
|
84
|
+
* @since 1.0.0-rc.0
|
|
85
|
+
*/
|
|
86
|
+
export interface Read<Qs extends Classifier.Questions> {
|
|
87
|
+
readonly answers: Classifier.AnswersOf<Qs>;
|
|
88
|
+
readonly asked: Asked;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Asks every question of `classifier` about `state` through the bound
|
|
92
|
+
* `Evaluator`, keeping the usage, the provider's confidence, the state as
|
|
93
|
+
* sent and the latency. The transport's failure is kept as it is.
|
|
94
|
+
*
|
|
95
|
+
* @category constructors
|
|
96
|
+
* @since 1.0.0-rc.0
|
|
97
|
+
*/
|
|
98
|
+
export declare const measured: <Id extends string, S extends Schema.Codec<any, any>, Qs extends Classifier.Questions>(classifier: Classifier.Classifier<Id, S, Qs>, state: S["Type"]) => Effect.Effect<Read<Qs>, Classifier.ClassifierError, Evaluator.Evaluator>;
|
|
99
|
+
/**
|
|
100
|
+
* Asks like {@link measured}, and fails as {@link Unjudged} whenever no
|
|
101
|
+
* answer could be obtained: no `Evaluator` bound, a refusal, a deadline, an
|
|
102
|
+
* answer that does not decode.
|
|
103
|
+
*
|
|
104
|
+
* @category constructors
|
|
105
|
+
* @since 1.0.0-rc.0
|
|
106
|
+
*/
|
|
107
|
+
export declare const read: <Id extends string, S extends Schema.Codec<any, any>, Qs extends Classifier.Questions>(classifier: Classifier.Classifier<Id, S, Qs>, state: S["Type"]) => Effect.Effect<Read<Qs>, Unjudged>;
|
|
108
|
+
/**
|
|
109
|
+
* The largest state one reading sends, in UTF-8 bytes of its JSON: the
|
|
110
|
+
* ceiling the `jev` flow applies to a cell's own calls.
|
|
111
|
+
*
|
|
112
|
+
* @category constants
|
|
113
|
+
* @since 1.0.0-rc.0
|
|
114
|
+
*/
|
|
115
|
+
export declare const maxStateBytes = 262144;
|
|
116
|
+
/**
|
|
117
|
+
* The questions {@link perItem} asks about each item, each built for the
|
|
118
|
+
* item's index within its request.
|
|
119
|
+
*
|
|
120
|
+
* @category models
|
|
121
|
+
* @since 1.0.0-rc.0
|
|
122
|
+
*/
|
|
123
|
+
export type ItemQuestions = Readonly<Record<string, (index: number) => Classifier.Question>>;
|
|
124
|
+
/**
|
|
125
|
+
* The answers {@link perItem} reads for one item, keyed as its questions are.
|
|
126
|
+
*
|
|
127
|
+
* @category models
|
|
128
|
+
* @since 1.0.0-rc.0
|
|
129
|
+
*/
|
|
130
|
+
export type ItemAnswers<Qs extends ItemQuestions> = {
|
|
131
|
+
readonly [Key in keyof Qs]: Classifier.AnswerOf<ReturnType<Qs[Key]>>;
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* What {@link perItem} declares.
|
|
135
|
+
*
|
|
136
|
+
* @category models
|
|
137
|
+
* @since 1.0.0-rc.0
|
|
138
|
+
*/
|
|
139
|
+
export interface PerItemOptions<Ctx, Item, Qs extends ItemQuestions> {
|
|
140
|
+
/** The classifier's stable id. */
|
|
141
|
+
readonly id: string;
|
|
142
|
+
readonly description: string;
|
|
143
|
+
/** What every request carries beside its items. */
|
|
144
|
+
readonly context: Schema.Codec<Ctx, any>;
|
|
145
|
+
readonly item: Schema.Codec<Item, any>;
|
|
146
|
+
/** Asked once per item; the question id is `${key}_${index}`. */
|
|
147
|
+
readonly questions: Qs;
|
|
148
|
+
/** Requests in flight at once. Defaults to `Classifier.defaultConcurrency`. */
|
|
149
|
+
readonly concurrency?: number | undefined;
|
|
150
|
+
/** The ceiling one request's state is packed under. Defaults to {@link maxStateBytes}. */
|
|
151
|
+
readonly maxStateBytes?: number | undefined;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* The state of one {@link perItem} request.
|
|
155
|
+
*
|
|
156
|
+
* @category models
|
|
157
|
+
* @since 1.0.0-rc.0
|
|
158
|
+
*/
|
|
159
|
+
export interface ItemState<Ctx, Item> {
|
|
160
|
+
readonly context: Ctx;
|
|
161
|
+
readonly items: ReadonlyArray<Item>;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* One per-item reading: an answer record per item, in input order, and the
|
|
165
|
+
* record of every request it took.
|
|
166
|
+
*
|
|
167
|
+
* @category models
|
|
168
|
+
* @since 1.0.0-rc.0
|
|
169
|
+
*/
|
|
170
|
+
export interface ItemsRead<Qs extends ItemQuestions> {
|
|
171
|
+
readonly answers: ReadonlyArray<ItemAnswers<Qs>>;
|
|
172
|
+
readonly asked: ReadonlyArray<Asked>;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* A declared per-item reading.
|
|
176
|
+
*
|
|
177
|
+
* @category models
|
|
178
|
+
* @since 1.0.0-rc.0
|
|
179
|
+
*/
|
|
180
|
+
export interface PerItem<Ctx, Item, Qs extends ItemQuestions> {
|
|
181
|
+
/** The classifier for a request of `n` items; the same object for the same `n`. */
|
|
182
|
+
readonly classifierFor: (n: number) => Classifier.Classifier<string, Schema.Codec<ItemState<Ctx, Item>, any>, Classifier.Questions>;
|
|
183
|
+
/** Asks every question about every item; whole or failed. */
|
|
184
|
+
readonly read: (context: Ctx, items: ReadonlyArray<Item>) => Effect.Effect<ItemsRead<Qs>, Unjudged>;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Declares one set of questions asked about each of many items.
|
|
188
|
+
*
|
|
189
|
+
* Items are packed in order, greedily, into requests whose encoded state fits
|
|
190
|
+
* `maxStateBytes`, and each request numbers its items from 0. Requests run at
|
|
191
|
+
* most `concurrency` at once, and the first that fails fails the reading. An
|
|
192
|
+
* item too large to send even alone fails as `invalid_question`, and no items
|
|
193
|
+
* send no request.
|
|
194
|
+
*
|
|
195
|
+
* @category constructors
|
|
196
|
+
* @since 1.0.0-rc.0
|
|
197
|
+
*/
|
|
198
|
+
export declare const perItem: <Ctx, Item, const Qs extends ItemQuestions>(options: PerItemOptions<Ctx, Item, Qs>) => PerItem<Ctx, Item, Qs>;
|
|
199
|
+
/**
|
|
200
|
+
* The `decision-settled` row for one request. `decidedBy` is `jev`, and the
|
|
201
|
+
* transport's usage is carried when it reported any.
|
|
202
|
+
*
|
|
203
|
+
* @category conversions
|
|
204
|
+
* @since 1.0.0-rc.0
|
|
205
|
+
*/
|
|
206
|
+
export declare const decision: (asked: Asked, at: {
|
|
207
|
+
readonly scope: string;
|
|
208
|
+
readonly frame: number;
|
|
209
|
+
readonly acted: boolean;
|
|
210
|
+
}) => AgentEvent.DecisionSettled;
|
|
211
|
+
/**
|
|
212
|
+
* The `decision-unjudged` row for a reading that failed.
|
|
213
|
+
*
|
|
214
|
+
* @category conversions
|
|
215
|
+
* @since 1.0.0-rc.0
|
|
216
|
+
*/
|
|
217
|
+
export declare const unjudgedEvent: (unjudged: Unjudged, at: {
|
|
218
|
+
readonly scope: string;
|
|
219
|
+
readonly frame: number;
|
|
220
|
+
readonly classifier: string;
|
|
221
|
+
readonly items: number;
|
|
222
|
+
}) => AgentEvent.DecisionUnjudged;
|
|
223
|
+
/**
|
|
224
|
+
* What one {@link recorded} reading holds: the caller's value, or `null`
|
|
225
|
+
* when the reading failed, and the rows to journal for it.
|
|
226
|
+
*
|
|
227
|
+
* @category models
|
|
228
|
+
* @since 1.0.0-rc.0
|
|
229
|
+
*/
|
|
230
|
+
export interface Recorded<A> {
|
|
231
|
+
readonly value: A | null;
|
|
232
|
+
readonly decisions: ReadonlyArray<AgentEvent.DecisionSettled>;
|
|
233
|
+
readonly unjudged: AgentEvent.DecisionUnjudged | null;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* The durable schema of {@link Recorded} over the caller's value schema.
|
|
237
|
+
*
|
|
238
|
+
* @category schemas
|
|
239
|
+
* @since 1.0.0-rc.0
|
|
240
|
+
*/
|
|
241
|
+
export declare const Recorded: <A>(value: EngineLike.DurableSchema<A>) => EngineLike.DurableSchema<Recorded<A>>;
|
|
242
|
+
/**
|
|
243
|
+
* Takes one reading inside a run as a durable boundary.
|
|
244
|
+
*
|
|
245
|
+
* `execute` runs once; its value is recorded with a `decision-settled` row
|
|
246
|
+
* per request, or, when it fails, a `null` value with one `decision-unjudged`
|
|
247
|
+
* row over `items`. A replayed frame is served the record and never asks.
|
|
248
|
+
* `identity.session` is the rows' scope.
|
|
249
|
+
*
|
|
250
|
+
* @category constructors
|
|
251
|
+
* @since 1.0.0-rc.0
|
|
252
|
+
*/
|
|
253
|
+
export declare const recorded: <A>(engine: EngineLike.EngineLike, boundary: {
|
|
254
|
+
readonly name: string;
|
|
255
|
+
readonly identity: EngineLike.BoundaryIdentity & {
|
|
256
|
+
readonly session: string;
|
|
257
|
+
};
|
|
258
|
+
readonly classifier: string;
|
|
259
|
+
readonly value: EngineLike.DurableSchema<A>;
|
|
260
|
+
readonly items: number;
|
|
261
|
+
}, execute: Effect.Effect<{
|
|
262
|
+
readonly value: A;
|
|
263
|
+
readonly asked: ReadonlyArray<Asked>;
|
|
264
|
+
readonly acted: boolean;
|
|
265
|
+
}, Unjudged>) => Effect.Effect<Recorded<A>, HarnessError>;
|
|
266
|
+
/**
|
|
267
|
+
* Journals a {@link Recorded} reading: its decisions in order, then its
|
|
268
|
+
* `decision-unjudged` row.
|
|
269
|
+
*
|
|
270
|
+
* @category conversions
|
|
271
|
+
* @since 1.0.0-rc.0
|
|
272
|
+
*/
|
|
273
|
+
export declare const emitRecorded: <E, R>(emit: (event: AgentEvent.AgentEvent) => Effect.Effect<void, E, R>, record: Recorded<unknown>) => Effect.Effect<void, E, R>;
|
|
274
|
+
/**
|
|
275
|
+
* The most of a run's task one reading carries, in UTF-8 bytes; both ends
|
|
276
|
+
* kept, for the reason `CompletionClaim` keeps both.
|
|
277
|
+
*
|
|
278
|
+
* @category constants
|
|
279
|
+
* @since 1.0.0-rc.0
|
|
280
|
+
*/
|
|
281
|
+
export declare const taskBytes = 4096;
|
|
282
|
+
/**
|
|
283
|
+
* The task as a reading carries it, both ends kept.
|
|
284
|
+
*
|
|
285
|
+
* @category conversions
|
|
286
|
+
* @since 1.0.0-rc.0
|
|
287
|
+
*/
|
|
288
|
+
export declare const task: (text: string) => string;
|
|
289
|
+
//# sourceMappingURL=Judgement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Judgement.d.ts","sourceRoot":"","sources":["../../src/Judgement.ts"],"names":[],"mappings":"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"}
|