@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
package/src/CellCalls.ts
ADDED
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Registry-backed resolution for the flow calls a cell makes.
|
|
3
|
+
*
|
|
4
|
+
* A cell's only authority is `ctx.call(flow, input)`, so every effect an agent
|
|
5
|
+
* can reach is a registered flow. This module is where a call name becomes a
|
|
6
|
+
* flow: it resolves the name against `@smthrs/registry` — the same registry
|
|
7
|
+
* that discovered `flow.ts`, `flow.mdx`, and `SKILL.md` under the documented
|
|
8
|
+
* precedence — and dispatches to the body the descriptor declares.
|
|
9
|
+
*
|
|
10
|
+
* It is deliberately not a second registry. Discovery, precedence, first-found
|
|
11
|
+
* collision handling, and progressive disclosure all stay in
|
|
12
|
+
* `@smthrs/registry`; this module only decides which body runs and turns
|
|
13
|
+
* every resolution problem into a {@link Cell.CallResult} the cell can inspect.
|
|
14
|
+
*
|
|
15
|
+
* The split between a failed result and a failed effect is the contract
|
|
16
|
+
* `EngineLike.call` declares. A refusal the agent could plausibly correct — an
|
|
17
|
+
* unknown flow, a badly shaped input, a flow this host does not implement — is
|
|
18
|
+
* a `failure` result, so the cell observes a resolved `{ ok: false, error }`
|
|
19
|
+
* envelope and may recover by branching on `.ok === false` and `.error.code`.
|
|
20
|
+
* Ordinary call failures do not throw. Anything the cell must never swallow,
|
|
21
|
+
* such as a permission park or an abort, stays in the error channel of the
|
|
22
|
+
* implementation that raised it.
|
|
23
|
+
*
|
|
24
|
+
* The resolver's shape is exactly `FlowEngineLike.CallRunner["run"]`, so a
|
|
25
|
+
* durable host wires it in without this browser-safe package depending on the
|
|
26
|
+
* engine binding.
|
|
27
|
+
*
|
|
28
|
+
* Governing design: `../docs/concepts.md#durable-cell-loop` and
|
|
29
|
+
* `../docs/concepts.md#flow-registry`.
|
|
30
|
+
*
|
|
31
|
+
* @since 0.1.0
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
import * as MarkdownFlow from "@smthrs/registry/MarkdownFlow"
|
|
35
|
+
import type * as Registry from "@smthrs/registry/Registry"
|
|
36
|
+
import { Effect, Option, Schema } from "effect"
|
|
37
|
+
import * as Cell from "./Cell.ts"
|
|
38
|
+
import type * as FlowBinding from "./FlowBinding.ts"
|
|
39
|
+
import { HarnessError } from "./HarnessError.ts"
|
|
40
|
+
import { refusal } from "./internal/refusal.ts"
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* One module-backed flow, implemented by the host that discovered it.
|
|
44
|
+
*
|
|
45
|
+
* Discovery reads a module's metadata without evaluating it, so a descriptor
|
|
46
|
+
* never carries a callable body. The host binds the implementation it loaded
|
|
47
|
+
* for the flow, which keeps module evaluation out of both discovery and this
|
|
48
|
+
* package.
|
|
49
|
+
*
|
|
50
|
+
* @category models
|
|
51
|
+
* @since 0.1.0
|
|
52
|
+
* @slop
|
|
53
|
+
*/
|
|
54
|
+
export type Implementation = (
|
|
55
|
+
call: Cell.Call
|
|
56
|
+
) => Effect.Effect<Cell.CallResult, HarnessError>
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* One discovered markdown flow, rendered against the call's arguments.
|
|
60
|
+
*
|
|
61
|
+
* @category models
|
|
62
|
+
* @since 0.1.0
|
|
63
|
+
* @slop
|
|
64
|
+
*/
|
|
65
|
+
export interface Prompt {
|
|
66
|
+
readonly call: Cell.Call
|
|
67
|
+
readonly text: string
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Runs a rendered markdown flow.
|
|
72
|
+
*
|
|
73
|
+
* A markdown flow is a prompt, so running one is a nested agent run rather than
|
|
74
|
+
* a function call. The host supplies that runner; this module only resolves and
|
|
75
|
+
* renders. A runner whose child declares the `auto` model routes that child
|
|
76
|
+
* through `SeatRouter.durable` from `@smthrs/agent`, keyed by the child run.
|
|
77
|
+
*
|
|
78
|
+
* @category models
|
|
79
|
+
* @since 0.1.0
|
|
80
|
+
* @slop
|
|
81
|
+
*/
|
|
82
|
+
export type PromptRunner = (
|
|
83
|
+
prompt: Prompt
|
|
84
|
+
) => Effect.Effect<Cell.CallResult, HarnessError>
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* The collaborators registry-backed resolution needs.
|
|
88
|
+
*
|
|
89
|
+
* @category models
|
|
90
|
+
* @since 0.1.0
|
|
91
|
+
* @slop
|
|
92
|
+
*/
|
|
93
|
+
export interface Options {
|
|
94
|
+
readonly registry: Registry.Registry
|
|
95
|
+
/**
|
|
96
|
+
* The composed executable bindings this host resolved.
|
|
97
|
+
*
|
|
98
|
+
* Standard capabilities, plugin-contributed flows, incoming MCP tools, and
|
|
99
|
+
* durable children all arrive here, and all of them resolve through the one
|
|
100
|
+
* snapshot the registry disclosed.
|
|
101
|
+
*/
|
|
102
|
+
readonly catalog?: FlowBinding.Catalog | undefined
|
|
103
|
+
/** Host implementations for module-backed flows, keyed by flow name. */
|
|
104
|
+
readonly implementations?: ReadonlyMap<string, Implementation> | undefined
|
|
105
|
+
/** Runs a rendered markdown flow. A host with none answers with a resolved failure envelope. */
|
|
106
|
+
readonly prompt?: PromptRunner | undefined
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Resolves one cell call to the registered flow that answers it.
|
|
111
|
+
*
|
|
112
|
+
* @category models
|
|
113
|
+
* @since 0.1.0
|
|
114
|
+
* @slop
|
|
115
|
+
*/
|
|
116
|
+
export interface Resolver {
|
|
117
|
+
readonly run: (call: Cell.Call) => Effect.Effect<Cell.CallResult, HarnessError>
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Constructs registry-backed call resolution.
|
|
122
|
+
*
|
|
123
|
+
* @category constructors
|
|
124
|
+
* @since 0.1.0
|
|
125
|
+
* @slop
|
|
126
|
+
*/
|
|
127
|
+
export const make = (options: Options): Resolver => ({
|
|
128
|
+
run: (call) =>
|
|
129
|
+
Effect.gen(function*() {
|
|
130
|
+
const found = yield* options.registry.getOption(call.flowName)
|
|
131
|
+
if (Option.isNone(found)) {
|
|
132
|
+
return refusal(
|
|
133
|
+
"unknown_flow",
|
|
134
|
+
`Flow ${call.flowName} is not in the registry. Only the flows in ctx.flows are callable.`
|
|
135
|
+
)
|
|
136
|
+
}
|
|
137
|
+
const descriptor = found.value
|
|
138
|
+
if (!descriptor.modelInvocable) {
|
|
139
|
+
return refusal("capability_refused", `Flow ${call.flowName} is not model-invocable.`)
|
|
140
|
+
}
|
|
141
|
+
// The registry is refreshable, so the entry could have moved between the
|
|
142
|
+
// frame that showed the model this catalog and the boundary that runs the
|
|
143
|
+
// call. Re-deriving the digest here is what keeps a call bound to the
|
|
144
|
+
// declaration the agent actually chose.
|
|
145
|
+
if (Cell.declarationDigest(descriptor) !== call.identity.declaration) {
|
|
146
|
+
return refusal(
|
|
147
|
+
"declaration_changed",
|
|
148
|
+
`The registry entry for ${call.flowName} changed after this cell was written. Read ctx.flows again and reissue the call.`
|
|
149
|
+
)
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// An executable binding answers first, because a binding *is* the
|
|
153
|
+
// implementation of the declaration it projected. The identity check is
|
|
154
|
+
// what keeps that honest: if the name resolved to some other declaration
|
|
155
|
+
// — a discovered flow shadowing the binding, or two compositions crossed
|
|
156
|
+
// — the call is refused rather than dispatched to the wrong body.
|
|
157
|
+
const binding = options.catalog?.bindings.get(call.flowName)
|
|
158
|
+
if (binding !== undefined) {
|
|
159
|
+
if (Cell.declarationDigest(binding.descriptor) !== Cell.declarationDigest(descriptor)) {
|
|
160
|
+
return refusal(
|
|
161
|
+
"declaration_changed",
|
|
162
|
+
`Flow ${call.flowName} is disclosed by a declaration that does not match the bound implementation. The host must not bind two different declarations to one name.`
|
|
163
|
+
)
|
|
164
|
+
}
|
|
165
|
+
return yield* binding.run(call)
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
if (descriptor.body._tag === "Markdown") {
|
|
169
|
+
const prompt = options.prompt
|
|
170
|
+
if (prompt === undefined) {
|
|
171
|
+
return refusal("unimplemented", `Flow ${call.flowName} is a markdown flow and this host runs none.`)
|
|
172
|
+
}
|
|
173
|
+
const decoded = Schema.decodeUnknownResult(MarkdownFlow.Input)(call.input)
|
|
174
|
+
if (decoded._tag === "Failure") {
|
|
175
|
+
return refusal("invalid_input", `Flow ${call.flowName} takes { args: string }.`)
|
|
176
|
+
}
|
|
177
|
+
const text = yield* options.registry.runPrompt(call.flowName, decoded.success).pipe(
|
|
178
|
+
Effect.mapError((cause) =>
|
|
179
|
+
new HarnessError({
|
|
180
|
+
code: "engine_failed",
|
|
181
|
+
message: `The body of markdown flow ${call.flowName} could not be loaded`,
|
|
182
|
+
cause
|
|
183
|
+
})
|
|
184
|
+
)
|
|
185
|
+
)
|
|
186
|
+
return yield* prompt({ call, text })
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
const implementation = options.implementations?.get(call.flowName)
|
|
190
|
+
if (implementation === undefined) {
|
|
191
|
+
return refusal(
|
|
192
|
+
"unimplemented",
|
|
193
|
+
`Flow ${call.flowName} is discovered but this host has no implementation bound for it.`
|
|
194
|
+
)
|
|
195
|
+
}
|
|
196
|
+
return yield* implementation(call)
|
|
197
|
+
})
|
|
198
|
+
})
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The source of every cell the current turn executed.
|
|
3
|
+
*
|
|
4
|
+
* The controller runs one cell per frame and, once the realm has evaluated it,
|
|
5
|
+
* keeps only what the cell printed. A model that wants to turn the script it
|
|
6
|
+
* just ran into a saved flow needs the script itself back, so this is the one
|
|
7
|
+
* place the run keeps it: the controller appends each cell as it executes, and
|
|
8
|
+
* `flows/show-script` reads the list.
|
|
9
|
+
*
|
|
10
|
+
* The service is optional. A host that offers no way to save a flow binds
|
|
11
|
+
* nothing and the controller records nothing; {@link layerNoop} states the same
|
|
12
|
+
* answer explicitly.
|
|
13
|
+
*
|
|
14
|
+
* @since 0.1.0
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { Context, Effect, Layer } from "effect"
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* One cell the current turn executed.
|
|
21
|
+
*
|
|
22
|
+
* @category models
|
|
23
|
+
* @since 0.1.0
|
|
24
|
+
*/
|
|
25
|
+
export interface ExecutedCell {
|
|
26
|
+
/** Zero-based execution order within this turn. */
|
|
27
|
+
readonly ordinal: number
|
|
28
|
+
/** The cell's JavaScript, as it ran. */
|
|
29
|
+
readonly source: string
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Records and reports the current turn's executed cells.
|
|
34
|
+
*
|
|
35
|
+
* @category models
|
|
36
|
+
* @since 0.1.0
|
|
37
|
+
*/
|
|
38
|
+
export interface Service {
|
|
39
|
+
/** Records the source of one cell the controller is executing. */
|
|
40
|
+
readonly record: (source: string) => Effect.Effect<void>
|
|
41
|
+
/** Every cell this turn executed, oldest first. */
|
|
42
|
+
readonly cells: () => Effect.Effect<ReadonlyArray<ExecutedCell>>
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Service tag for the current turn's executed cells.
|
|
47
|
+
*
|
|
48
|
+
* @category services
|
|
49
|
+
* @since 0.1.0
|
|
50
|
+
*/
|
|
51
|
+
export class CellHistory extends Context.Service<CellHistory, Service>()("@smthrs/harness/CellHistory") {}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Constructs a history that records what the controller executes.
|
|
55
|
+
*
|
|
56
|
+
* Ordinals are the append order rather than the frame number: a frame that
|
|
57
|
+
* produced no usable cell executed nothing, and a gap in the script would tell
|
|
58
|
+
* the model a cell ran that never did. `cells` answers with a copy, so a list
|
|
59
|
+
* a caller is already reading does not grow underneath it.
|
|
60
|
+
*
|
|
61
|
+
* @category constructors
|
|
62
|
+
* @since 0.1.0
|
|
63
|
+
*/
|
|
64
|
+
export const make: Effect.Effect<Service> = Effect.sync(() => {
|
|
65
|
+
const recorded: Array<ExecutedCell> = []
|
|
66
|
+
return CellHistory.of({
|
|
67
|
+
record: (source) =>
|
|
68
|
+
Effect.sync(() => {
|
|
69
|
+
recorded.push({ ordinal: recorded.length, source })
|
|
70
|
+
}),
|
|
71
|
+
cells: () => Effect.sync(() => [...recorded])
|
|
72
|
+
})
|
|
73
|
+
})
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Constructs a history over a fixed cell list.
|
|
77
|
+
*
|
|
78
|
+
* For a host that recorded the turn its own way and reports it rather than
|
|
79
|
+
* replaying it into {@link make}. What it is told is dropped: the list it was
|
|
80
|
+
* built over is the whole history.
|
|
81
|
+
*
|
|
82
|
+
* @category constructors
|
|
83
|
+
* @since 0.1.0
|
|
84
|
+
*/
|
|
85
|
+
export const makeCells = (cells: ReadonlyArray<ExecutedCell>): Service =>
|
|
86
|
+
CellHistory.of({
|
|
87
|
+
record: () => Effect.void,
|
|
88
|
+
cells: () => Effect.succeed(cells)
|
|
89
|
+
})
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Constructs a history that records nothing, optionally overriding operations.
|
|
93
|
+
*
|
|
94
|
+
* @category constructors
|
|
95
|
+
* @since 0.1.0
|
|
96
|
+
*/
|
|
97
|
+
export const makeNoop = (overrides: Partial<Service> = {}): Service =>
|
|
98
|
+
CellHistory.of({
|
|
99
|
+
record: () => Effect.void,
|
|
100
|
+
cells: () => Effect.succeed([]),
|
|
101
|
+
...overrides
|
|
102
|
+
})
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Provides a history that records what the controller executes.
|
|
106
|
+
*
|
|
107
|
+
* @category layers
|
|
108
|
+
* @since 0.1.0
|
|
109
|
+
*/
|
|
110
|
+
export const layer: Layer.Layer<CellHistory> = Layer.effect(CellHistory)(make)
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Provides a history over a fixed cell list.
|
|
114
|
+
*
|
|
115
|
+
* @category layers
|
|
116
|
+
* @since 0.1.0
|
|
117
|
+
*/
|
|
118
|
+
export const layerCells = (cells: ReadonlyArray<ExecutedCell>): Layer.Layer<CellHistory> =>
|
|
119
|
+
Layer.succeed(CellHistory)(makeCells(cells))
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Provides a history that records nothing.
|
|
123
|
+
*
|
|
124
|
+
* @category layers
|
|
125
|
+
* @since 0.1.0
|
|
126
|
+
*/
|
|
127
|
+
export const layerNoop = (overrides: Partial<Service> = {}): Layer.Layer<CellHistory> =>
|
|
128
|
+
Layer.succeed(CellHistory)(makeNoop(overrides))
|