effect-agent 0.1.0-beta.85 → 0.1.0-beta.87
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/dist/Agent-CN0EWRsR.d.mts +226 -0
- package/dist/Agent-RklVROrm.mjs +83 -0
- package/dist/Agent-RklVROrm.mjs.map +1 -0
- package/dist/AgentError-CggcAQ7V.d.mts +101 -0
- package/dist/AgentPolicy-CetmQrf3.d.mts +96 -0
- package/dist/AgentRuntime-BLyETCPo.mjs +4562 -0
- package/dist/AgentRuntime-BLyETCPo.mjs.map +1 -0
- package/dist/AgentRuntime-uxR_a4VM.d.mts +346 -0
- package/dist/AgentUpdates-DMJ-_xow.d.mts +53 -0
- package/dist/ContextCompactor-Dxu5zhOL.d.mts +161 -0
- package/dist/ContextWindow-DRQ5Mbm2.d.mts +58 -0
- package/dist/DurableAgentRuntime-uggeJpv3.mjs +6368 -0
- package/dist/DurableAgentRuntime-uggeJpv3.mjs.map +1 -0
- package/dist/DurableFailpoint-Oinuuedm.d.mts +41 -0
- package/dist/DurableStep-Cry_iol4.d.mts +103 -0
- package/dist/Ephemeral.d.mts +22 -0
- package/dist/Ephemeral.mjs +22 -0
- package/dist/Ephemeral.mjs.map +1 -0
- package/dist/EventSource-OqS_P9ug.d.mts +51 -0
- package/dist/Identifiers-CN2s30fF.d.mts +40 -0
- package/dist/MemoryNamespace-BbRW5p71.d.mts +36 -0
- package/dist/MemoryReference-B8Q3UJoJ.d.mts +79 -0
- package/dist/Messaging-CkcIdt4I.d.mts +490 -0
- package/dist/MessagingHost-CRk0kXzT.d.mts +246 -0
- package/dist/MessagingHost-CWi_PP3g.mjs +137 -0
- package/dist/MessagingHost-CWi_PP3g.mjs.map +1 -0
- package/dist/OperationAuthorizer-TzcQtpX5.d.mts +61 -0
- package/dist/Output-D6SkedVx.d.mts +25 -0
- package/dist/PageCapture-Df8Xwskw.d.mts +583 -0
- package/dist/PageScreenshot-BpgZKAxl.d.mts +48 -0
- package/dist/PreparedInputAdmission-C4HbjHgl.d.mts +38 -0
- package/dist/Receipt-BAHyigAF.d.mts +33 -0
- package/dist/Records-BAGkekt8.d.mts +3570 -0
- package/dist/RunEvent-DIrzkjLr.d.mts +460 -0
- package/dist/RunEventSink-D5aVhISG.d.mts +108 -0
- package/dist/RunJournal-Cgg1kNvc.mjs +825 -0
- package/dist/RunJournal-Cgg1kNvc.mjs.map +1 -0
- package/dist/RunOptions-g1aigcKI.d.mts +915 -0
- package/dist/RunPolicyUsage-ClZxyR46.d.mts +21 -0
- package/dist/Sandbox-CEsDWBLq.d.mts +173 -0
- package/dist/Schedule-H3SEYX9g.d.mts +842 -0
- package/dist/Scheduling-C9aIP8zT.mjs +691 -0
- package/dist/Scheduling-C9aIP8zT.mjs.map +1 -0
- package/dist/Subagent-Cy_hU1tv.mjs +1469 -0
- package/dist/Subagent-Cy_hU1tv.mjs.map +1 -0
- package/dist/Subagent-DyfzHNdv.d.mts +826 -0
- package/dist/SubagentContract-DdT7Cqe6.d.mts +116 -0
- package/dist/SubagentHost-CJUBQlcc.d.mts +140 -0
- package/dist/Subscription-BEP8oQO5.d.mts +921 -0
- package/dist/SubscriptionInput-vAAOBrK7.d.mts +41 -0
- package/dist/Thread-DOBQ0QUY.d.mts +96 -0
- package/dist/ThreadHistory-tS1KwxHR.d.mts +60 -0
- package/dist/ToolBroker-DWs4tZra.d.mts +133 -0
- package/dist/ToolExposure-9uF_Yo0T.mjs +10 -0
- package/dist/ToolExposure-9uF_Yo0T.mjs.map +1 -0
- package/dist/ToolExposure-C93U1sPu.mjs +30 -0
- package/dist/ToolExposure-C93U1sPu.mjs.map +1 -0
- package/dist/ToolExposure-UCN12eCd.d.mts +39 -0
- package/dist/ToolExposure-r2eOWk4F.d.mts +46 -0
- package/dist/ToolExposure.d.mts +6 -5
- package/dist/ToolExposure.mjs +17 -9
- package/dist/ToolExposure.mjs.map +1 -1
- package/dist/ToolReconciler-DQVaJfpE.d.mts +76 -0
- package/dist/ToolResult-DmmgoChv.d.mts +61 -0
- package/dist/Usage-Dx0aknfk.d.mts +121 -0
- package/dist/WakeScheduler-EjUF-GhC.d.mts +56 -0
- package/dist/Worker-CaPYykpe.d.mts +228 -0
- package/dist/agent-registration-CWDMOAZA.mjs +172 -0
- package/dist/agent-registration-CWDMOAZA.mjs.map +1 -0
- package/dist/capabilities/Approval.d.mts +114 -0
- package/dist/capabilities/Approval.mjs +226 -0
- package/dist/capabilities/Approval.mjs.map +1 -0
- package/dist/capabilities/Budget.d.mts +112 -0
- package/dist/capabilities/Budget.mjs +346 -0
- package/dist/capabilities/Budget.mjs.map +1 -0
- package/dist/capabilities/CodeMode.d.mts +157 -0
- package/dist/capabilities/CodeMode.mjs +522 -0
- package/dist/capabilities/CodeMode.mjs.map +1 -0
- package/dist/capabilities/Commands.d.mts +55 -0
- package/dist/capabilities/Commands.mjs +57 -0
- package/dist/capabilities/Commands.mjs.map +1 -0
- package/dist/capabilities/ContextTools.d.mts +321 -0
- package/dist/capabilities/ContextTools.mjs +126 -0
- package/dist/capabilities/ContextTools.mjs.map +1 -0
- package/dist/capabilities/Mcp.d.mts +108 -0
- package/dist/capabilities/Mcp.mjs +260 -0
- package/dist/capabilities/Mcp.mjs.map +1 -0
- package/dist/capabilities/McpClient.d.mts +115 -0
- package/dist/capabilities/McpClient.mjs +506 -0
- package/dist/capabilities/McpClient.mjs.map +1 -0
- package/dist/capabilities/MemoryNotes.d.mts +424 -0
- package/dist/capabilities/MemoryNotes.mjs +128 -0
- package/dist/capabilities/MemoryNotes.mjs.map +1 -0
- package/dist/capabilities/Messaging.d.mts +3 -0
- package/dist/capabilities/Messaging.mjs +151 -0
- package/dist/capabilities/Messaging.mjs.map +1 -0
- package/dist/capabilities/ModelContext.d.mts +89 -0
- package/dist/capabilities/ModelContext.mjs +168 -0
- package/dist/capabilities/ModelContext.mjs.map +1 -0
- package/dist/capabilities/Redaction.d.mts +37 -0
- package/dist/capabilities/Redaction.mjs +104 -0
- package/dist/capabilities/Redaction.mjs.map +1 -0
- package/dist/capabilities/Remembering.d.mts +434 -0
- package/dist/capabilities/Remembering.mjs +290 -0
- package/dist/capabilities/Remembering.mjs.map +1 -0
- package/dist/capabilities/RunHooks.d.mts +82 -0
- package/dist/capabilities/RunHooks.mjs +144 -0
- package/dist/capabilities/RunHooks.mjs.map +1 -0
- package/dist/capabilities/SemanticMemory.d.mts +431 -0
- package/dist/capabilities/SemanticMemory.mjs +315 -0
- package/dist/capabilities/SemanticMemory.mjs.map +1 -0
- package/dist/capabilities/Subagent.d.mts +4 -0
- package/dist/capabilities/Subagent.mjs +5 -0
- package/dist/capabilities/SubagentReservations.d.mts +186 -0
- package/dist/capabilities/SubagentReservations.mjs +479 -0
- package/dist/capabilities/SubagentReservations.mjs.map +1 -0
- package/dist/capabilities/ToolDiscovery.d.mts +109 -0
- package/dist/capabilities/ToolDiscovery.mjs +211 -0
- package/dist/capabilities/ToolDiscovery.mjs.map +1 -0
- package/dist/capabilities/WebCapture.d.mts +163 -0
- package/dist/capabilities/WebCapture.mjs +335 -0
- package/dist/capabilities/WebCapture.mjs.map +1 -0
- package/dist/capabilities/WebSearch.d.mts +71 -0
- package/dist/capabilities/WebSearch.mjs +112 -0
- package/dist/capabilities/WebSearch.mjs.map +1 -0
- package/dist/compaction-C2OTceKw.mjs +505 -0
- package/dist/compaction-C2OTceKw.mjs.map +1 -0
- package/dist/core/Agent.d.mts +2 -0
- package/dist/core/Agent.mjs +2 -0
- package/dist/core/AgentError.d.mts +2 -0
- package/dist/core/AgentError.mjs +117 -0
- package/dist/core/AgentError.mjs.map +1 -0
- package/dist/core/AgentPolicy.d.mts +2 -0
- package/dist/core/AgentPolicy.mjs +94 -0
- package/dist/core/AgentPolicy.mjs.map +1 -0
- package/dist/core/AgentUpdates.d.mts +2 -0
- package/dist/core/AgentUpdates.mjs +63 -0
- package/dist/core/AgentUpdates.mjs.map +1 -0
- package/dist/core/IdGenerator.d.mts +26 -0
- package/dist/core/IdGenerator.mjs +27 -0
- package/dist/core/IdGenerator.mjs.map +1 -0
- package/dist/core/Identifiers.d.mts +2 -0
- package/dist/core/Identifiers.mjs +43 -0
- package/dist/core/Identifiers.mjs.map +1 -0
- package/dist/core/Memory.d.mts +57 -0
- package/dist/core/Memory.mjs +203 -0
- package/dist/core/Memory.mjs.map +1 -0
- package/dist/core/MemoryNamespace.d.mts +2 -0
- package/dist/core/MemoryNamespace.mjs +116 -0
- package/dist/core/MemoryNamespace.mjs.map +1 -0
- package/dist/core/MemoryReference.d.mts +2 -0
- package/dist/core/MemoryReference.mjs +109 -0
- package/dist/core/MemoryReference.mjs.map +1 -0
- package/dist/core/MemoryRevalidation.d.mts +65 -0
- package/dist/core/MemoryRevalidation.mjs +126 -0
- package/dist/core/MemoryRevalidation.mjs.map +1 -0
- package/dist/core/MemoryStore.d.mts +186 -0
- package/dist/core/MemoryStore.mjs +243 -0
- package/dist/core/MemoryStore.mjs.map +1 -0
- package/dist/core/Receipt.d.mts +2 -0
- package/dist/core/Receipt.mjs +36 -0
- package/dist/core/Receipt.mjs.map +1 -0
- package/dist/core/RememberingStore.d.mts +1562 -0
- package/dist/core/RememberingStore.mjs +190 -0
- package/dist/core/RememberingStore.mjs.map +1 -0
- package/dist/core/RunEvent.d.mts +2 -0
- package/dist/core/RunEvent.mjs +337 -0
- package/dist/core/RunEvent.mjs.map +1 -0
- package/dist/core/RunPolicyUsage.d.mts +2 -0
- package/dist/core/RunPolicyUsage.mjs +21 -0
- package/dist/core/RunPolicyUsage.mjs.map +1 -0
- package/dist/core/SemanticMemoryIndex.d.mts +826 -0
- package/dist/core/SemanticMemoryIndex.mjs +185 -0
- package/dist/core/SemanticMemoryIndex.mjs.map +1 -0
- package/dist/core/SemanticMemoryRevalidation.d.mts +45 -0
- package/dist/core/SemanticMemoryRevalidation.mjs +191 -0
- package/dist/core/SemanticMemoryRevalidation.mjs.map +1 -0
- package/dist/core/SubagentContract.d.mts +2 -0
- package/dist/core/SubagentContract.mjs +148 -0
- package/dist/core/SubagentContract.mjs.map +1 -0
- package/dist/core/Thread.d.mts +2 -0
- package/dist/core/Thread.mjs +250 -0
- package/dist/core/Thread.mjs.map +1 -0
- package/dist/core/ToolResult.d.mts +2 -0
- package/dist/core/ToolResult.mjs +140 -0
- package/dist/core/ToolResult.mjs.map +1 -0
- package/dist/core/Usage.d.mts +2 -0
- package/dist/core/Usage.mjs +319 -0
- package/dist/core/Usage.mjs.map +1 -0
- package/dist/core/Worker.d.mts +3 -0
- package/dist/core/Worker.mjs +147 -0
- package/dist/core/Worker.mjs.map +1 -0
- package/dist/durable/ActivityStore.d.mts +116 -0
- package/dist/durable/ActivityStore.mjs +131 -0
- package/dist/durable/ActivityStore.mjs.map +1 -0
- package/dist/durable/Admin.d.mts +2 -0
- package/dist/durable/Admin.mjs +328 -0
- package/dist/durable/Admin.mjs.map +1 -0
- package/dist/durable/AgentRegistration.d.mts +2 -0
- package/dist/durable/AgentRegistration.mjs +14 -0
- package/dist/durable/AgentRegistration.mjs.map +1 -0
- package/dist/durable/Certification.d.mts +111 -0
- package/dist/durable/Certification.mjs +159 -0
- package/dist/durable/Certification.mjs.map +1 -0
- package/dist/durable/CommittedActivity.d.mts +62 -0
- package/dist/durable/CommittedActivity.mjs +159 -0
- package/dist/durable/CommittedActivity.mjs.map +1 -0
- package/dist/durable/Digest.d.mts +2 -0
- package/dist/durable/Digest.mjs +50 -0
- package/dist/durable/Digest.mjs.map +1 -0
- package/dist/durable/DurableAgentRuntime.d.mts +3 -0
- package/dist/durable/DurableAgentRuntime.mjs +3 -0
- package/dist/durable/DurableFailpoint.d.mts +2 -0
- package/dist/durable/DurableFailpoint.mjs +94 -0
- package/dist/durable/DurableFailpoint.mjs.map +1 -0
- package/dist/durable/DurableFailpointTestControl.d.mts +15 -0
- package/dist/durable/DurableFailpointTestControl.mjs +19 -0
- package/dist/durable/DurableFailpointTestControl.mjs.map +1 -0
- package/dist/durable/EventSource.d.mts +2 -0
- package/dist/durable/EventSource.mjs +65 -0
- package/dist/durable/EventSource.mjs.map +1 -0
- package/dist/durable/GitHubWorkflowSource.d.mts +144 -0
- package/dist/durable/GitHubWorkflowSource.mjs +209 -0
- package/dist/durable/GitHubWorkflowSource.mjs.map +1 -0
- package/dist/durable/MessageDelivery.d.mts +492 -0
- package/dist/durable/MessageDelivery.mjs +495 -0
- package/dist/durable/MessageDelivery.mjs.map +1 -0
- package/dist/durable/MessageDeliveryStoreConformance.d.mts +358 -0
- package/dist/durable/MessageDeliveryStoreConformance.mjs +243 -0
- package/dist/durable/MessageDeliveryStoreConformance.mjs.map +1 -0
- package/dist/durable/OperationAuthorizer.d.mts +2 -0
- package/dist/durable/OperationAuthorizer.mjs +70 -0
- package/dist/durable/OperationAuthorizer.mjs.map +1 -0
- package/dist/durable/PersistentHistory.d.mts +16 -0
- package/dist/durable/PersistentHistory.mjs +125 -0
- package/dist/durable/PersistentHistory.mjs.map +1 -0
- package/dist/durable/PreparedInputAdmission.d.mts +2 -0
- package/dist/durable/PreparedInputAdmission.mjs +34 -0
- package/dist/durable/PreparedInputAdmission.mjs.map +1 -0
- package/dist/durable/Records.d.mts +2 -0
- package/dist/durable/Records.mjs +795 -0
- package/dist/durable/Records.mjs.map +1 -0
- package/dist/durable/Recovery.d.mts +2 -0
- package/dist/durable/Recovery.mjs +739 -0
- package/dist/durable/Recovery.mjs.map +1 -0
- package/dist/durable/RunJournal.d.mts +2 -0
- package/dist/durable/RunJournal.mjs +2 -0
- package/dist/durable/Schedule.d.mts +2 -0
- package/dist/durable/Schedule.mjs +382 -0
- package/dist/durable/Schedule.mjs.map +1 -0
- package/dist/durable/ScheduleStoreConformance.d.mts +18 -0
- package/dist/durable/ScheduleStoreConformance.mjs +420 -0
- package/dist/durable/ScheduleStoreConformance.mjs.map +1 -0
- package/dist/durable/ScheduleTransition.d.mts +24 -0
- package/dist/durable/ScheduleTransition.mjs +180 -0
- package/dist/durable/ScheduleTransition.mjs.map +1 -0
- package/dist/durable/Scheduling.d.mts +54 -0
- package/dist/durable/Scheduling.mjs +2 -0
- package/dist/durable/SqlMemoryStore.d.mts +30 -0
- package/dist/durable/SqlMemoryStore.mjs +435 -0
- package/dist/durable/SqlMemoryStore.mjs.map +1 -0
- package/dist/durable/SqlMessageDeliveryStore.d.mts +40 -0
- package/dist/durable/SqlMessageDeliveryStore.mjs +167 -0
- package/dist/durable/SqlMessageDeliveryStore.mjs.map +1 -0
- package/dist/durable/SqlStorageV2Upgrade.d.mts +22 -0
- package/dist/durable/SqlStorageV2Upgrade.mjs +459 -0
- package/dist/durable/SqlStorageV2Upgrade.mjs.map +1 -0
- package/dist/durable/SqlSubscriptionStore.d.mts +63 -0
- package/dist/durable/SqlSubscriptionStore.mjs +751 -0
- package/dist/durable/SqlSubscriptionStore.mjs.map +1 -0
- package/dist/durable/SubmissionLedger.d.mts +3 -0
- package/dist/durable/SubmissionLedger.mjs +914 -0
- package/dist/durable/SubmissionLedger.mjs.map +1 -0
- package/dist/durable/SubmissionLedgerConformance.d.mts +30 -0
- package/dist/durable/SubmissionLedgerConformance.mjs +1986 -0
- package/dist/durable/SubmissionLedgerConformance.mjs.map +1 -0
- package/dist/durable/SubmissionStatus.d.mts +2 -0
- package/dist/durable/SubmissionStatus.mjs +18 -0
- package/dist/durable/SubmissionStatus.mjs.map +1 -0
- package/dist/durable/Subscription.d.mts +2 -0
- package/dist/durable/Subscription.mjs +360 -0
- package/dist/durable/Subscription.mjs.map +1 -0
- package/dist/durable/SubscriptionInput.d.mts +2 -0
- package/dist/durable/SubscriptionInput.mjs +52 -0
- package/dist/durable/SubscriptionInput.mjs.map +1 -0
- package/dist/durable/SubscriptionStoreConformance.d.mts +17 -0
- package/dist/durable/SubscriptionStoreConformance.mjs +625 -0
- package/dist/durable/SubscriptionStoreConformance.mjs.map +1 -0
- package/dist/durable/SubscriptionTools.d.mts +273 -0
- package/dist/durable/SubscriptionTools.mjs +190 -0
- package/dist/durable/SubscriptionTools.mjs.map +1 -0
- package/dist/durable/SubscriptionTransition.d.mts +21 -0
- package/dist/durable/SubscriptionTransition.mjs +148 -0
- package/dist/durable/SubscriptionTransition.mjs.map +1 -0
- package/dist/durable/Subscriptions.d.mts +73 -0
- package/dist/durable/Subscriptions.mjs +627 -0
- package/dist/durable/Subscriptions.mjs.map +1 -0
- package/dist/durable/ThreadContextHistory.d.mts +32 -0
- package/dist/durable/ThreadContextHistory.mjs +152 -0
- package/dist/durable/ThreadContextHistory.mjs.map +1 -0
- package/dist/durable/ThreadContextHistoryProjection.d.mts +60 -0
- package/dist/durable/ThreadContextHistoryProjection.mjs +149 -0
- package/dist/durable/ThreadContextHistoryProjection.mjs.map +1 -0
- package/dist/durable/ThreadInvariants.d.mts +74 -0
- package/dist/durable/ThreadInvariants.mjs +200 -0
- package/dist/durable/ThreadInvariants.mjs.map +1 -0
- package/dist/durable/ThreadProjection.d.mts +78 -0
- package/dist/durable/ThreadProjection.mjs +158 -0
- package/dist/durable/ThreadProjection.mjs.map +1 -0
- package/dist/durable/ThreadProjectionMaintenance.d.mts +49 -0
- package/dist/durable/ThreadProjectionMaintenance.mjs +33 -0
- package/dist/durable/ThreadProjectionMaintenance.mjs.map +1 -0
- package/dist/durable/ThreadStore.d.mts +2 -0
- package/dist/durable/ThreadStore.mjs +147 -0
- package/dist/durable/ThreadStore.mjs.map +1 -0
- package/dist/durable/ThreadStoreConformance.d.mts +29 -0
- package/dist/durable/ThreadStoreConformance.mjs +248 -0
- package/dist/durable/ThreadStoreConformance.mjs.map +1 -0
- package/dist/durable/ToolReconciler.d.mts +2 -0
- package/dist/durable/ToolReconciler.mjs +81 -0
- package/dist/durable/ToolReconciler.mjs.map +1 -0
- package/dist/durable/WakeScheduler.d.mts +2 -0
- package/dist/durable/WakeScheduler.mjs +85 -0
- package/dist/durable/WakeScheduler.mjs.map +1 -0
- package/dist/durable/WorkerHost.d.mts +129 -0
- package/dist/durable/WorkerHost.mjs +77 -0
- package/dist/durable/WorkerHost.mjs.map +1 -0
- package/dist/engine/AgentRuntime.d.mts +2 -0
- package/dist/engine/AgentRuntime.mjs +2 -0
- package/dist/engine/Compaction.d.mts +7 -0
- package/dist/engine/Compaction.mjs +16 -0
- package/dist/engine/Compaction.mjs.map +1 -0
- package/dist/engine/ContextCompactor.d.mts +2 -0
- package/dist/engine/ContextCompactor.mjs +119 -0
- package/dist/engine/ContextCompactor.mjs.map +1 -0
- package/dist/engine/ContextHistory.d.mts +65 -0
- package/dist/engine/ContextHistory.mjs +76 -0
- package/dist/engine/ContextHistory.mjs.map +1 -0
- package/dist/engine/ContextWindow.d.mts +2 -0
- package/dist/engine/ContextWindow.mjs +59 -0
- package/dist/engine/ContextWindow.mjs.map +1 -0
- package/dist/engine/DurableStep.d.mts +2 -0
- package/dist/engine/DurableStep.mjs +62 -0
- package/dist/engine/DurableStep.mjs.map +1 -0
- package/dist/engine/MessagingHost.d.mts +2 -0
- package/dist/engine/MessagingHost.mjs +2 -0
- package/dist/engine/Output.d.mts +2 -0
- package/dist/engine/Output.mjs +8 -0
- package/dist/engine/Output.mjs.map +1 -0
- package/dist/engine/RunEventSink.d.mts +2 -0
- package/dist/engine/RunEventSink.mjs +22 -0
- package/dist/engine/RunEventSink.mjs.map +1 -0
- package/dist/engine/RunOptions.d.mts +2 -0
- package/dist/engine/RunOptions.mjs +122 -0
- package/dist/engine/RunOptions.mjs.map +1 -0
- package/dist/engine/SubagentHost.d.mts +2 -0
- package/dist/engine/SubagentHost.mjs +72 -0
- package/dist/engine/SubagentHost.mjs.map +1 -0
- package/dist/engine/ThreadHistory.d.mts +2 -0
- package/dist/engine/ThreadHistory.mjs +67 -0
- package/dist/engine/ThreadHistory.mjs.map +1 -0
- package/dist/engine/ToolBroker.d.mts +2 -0
- package/dist/engine/ToolBroker.mjs +42 -0
- package/dist/engine/ToolBroker.mjs.map +1 -0
- package/dist/foreign-diagnostic-DBQ1XHKh.mjs +37 -0
- package/dist/foreign-diagnostic-DBQ1XHKh.mjs.map +1 -0
- package/dist/index.d.mts +88 -54
- package/dist/index.mjs +97 -54
- package/dist/output-contract-BC7tjlGw.mjs +84 -0
- package/dist/output-contract-BC7tjlGw.mjs.map +1 -0
- package/dist/rolldown-runtime-D7D4PA-g.mjs +13 -0
- package/dist/sandbox/CodeExecutor.d.mts +194 -0
- package/dist/sandbox/CodeExecutor.mjs +278 -0
- package/dist/sandbox/CodeExecutor.mjs.map +1 -0
- package/dist/sandbox/InteractiveBrowser.d.mts +142 -0
- package/dist/sandbox/InteractiveBrowser.mjs +165 -0
- package/dist/sandbox/InteractiveBrowser.mjs.map +1 -0
- package/dist/sandbox/PageCapture.d.mts +2 -0
- package/dist/sandbox/PageCapture.mjs +450 -0
- package/dist/sandbox/PageCapture.mjs.map +1 -0
- package/dist/sandbox/PageCrawl.d.mts +88 -0
- package/dist/sandbox/PageCrawl.mjs +124 -0
- package/dist/sandbox/PageCrawl.mjs.map +1 -0
- package/dist/sandbox/PageScreenshot.d.mts +2 -0
- package/dist/sandbox/PageScreenshot.mjs +53 -0
- package/dist/sandbox/PageScreenshot.mjs.map +1 -0
- package/dist/sandbox/ProtectedBrowser.d.mts +252 -0
- package/dist/sandbox/ProtectedBrowser.mjs +270 -0
- package/dist/sandbox/ProtectedBrowser.mjs.map +1 -0
- package/dist/sandbox/Sandbox.d.mts +2 -0
- package/dist/sandbox/Sandbox.mjs +208 -0
- package/dist/sandbox/Sandbox.mjs.map +1 -0
- package/dist/utf8-BYfhEkcj.mjs +11 -0
- package/dist/utf8-BYfhEkcj.mjs.map +1 -0
- package/dist/utf8-DchGZRBd.mjs +23 -0
- package/dist/utf8-DchGZRBd.mjs.map +1 -0
- package/package.json +1 -1
- package/src/Ephemeral.ts +17 -0
- package/src/ToolExposure.ts +2 -2
- package/src/capabilities/Approval.ts +352 -0
- package/src/capabilities/Budget.ts +536 -0
- package/src/capabilities/CodeMode.ts +1090 -0
- package/src/capabilities/Commands.ts +86 -0
- package/src/capabilities/ContextTools.ts +184 -0
- package/src/capabilities/Mcp.ts +427 -0
- package/src/capabilities/McpClient.ts +967 -0
- package/src/capabilities/MemoryNotes.ts +174 -0
- package/src/capabilities/Messaging.ts +261 -0
- package/src/capabilities/ModelContext.ts +354 -0
- package/src/capabilities/Redaction.ts +157 -0
- package/src/capabilities/Remembering.ts +550 -0
- package/src/capabilities/RunHooks.ts +280 -0
- package/src/capabilities/SemanticMemory.ts +447 -0
- package/src/capabilities/Subagent.ts +2277 -0
- package/src/capabilities/SubagentReservations.ts +850 -0
- package/src/capabilities/ToolDiscovery.ts +339 -0
- package/src/capabilities/WebCapture.ts +722 -0
- package/src/capabilities/WebSearch.ts +184 -0
- package/src/capabilities/internal/subagent-background.ts +1106 -0
- package/src/capabilities/internal/subagent-contract.ts +142 -0
- package/src/capabilities/internal/subagent-policy.ts +235 -0
- package/src/capabilities/internal/subagent-reporting.ts +261 -0
- package/src/capabilities/internal/utf8.ts +10 -0
- package/src/core/Agent.ts +575 -0
- package/src/core/AgentError.ts +152 -0
- package/src/core/AgentPolicy.ts +153 -0
- package/src/core/AgentUpdates.ts +100 -0
- package/src/core/IdGenerator.ts +39 -0
- package/src/core/Identifiers.ts +48 -0
- package/src/core/Memory.ts +290 -0
- package/src/core/MemoryNamespace.ts +196 -0
- package/src/core/MemoryReference.ts +121 -0
- package/src/core/MemoryRevalidation.ts +185 -0
- package/src/core/MemoryStore.ts +368 -0
- package/src/core/Messaging.ts +90 -0
- package/src/core/Receipt.ts +42 -0
- package/src/core/RememberingStore.ts +300 -0
- package/src/core/RunEvent.ts +366 -0
- package/src/core/RunPolicyUsage.ts +17 -0
- package/src/core/SemanticMemoryIndex.ts +250 -0
- package/src/core/SemanticMemoryRevalidation.ts +254 -0
- package/src/core/SubagentContract.ts +196 -0
- package/src/core/Thread.ts +371 -0
- package/src/core/ToolExposure.ts +74 -0
- package/src/core/ToolResult.ts +170 -0
- package/src/core/Usage.ts +529 -0
- package/src/core/Worker.ts +173 -0
- package/src/core/internal/agent-updates.ts +32 -0
- package/src/core/internal/utf8.ts +23 -0
- package/src/durable/ActivityStore.ts +160 -0
- package/src/durable/Admin.ts +496 -0
- package/src/durable/AgentRegistration.ts +13 -0
- package/src/durable/Certification.ts +210 -0
- package/src/durable/CommittedActivity.ts +296 -0
- package/src/durable/Digest.ts +93 -0
- package/src/durable/DurableAgentRuntime.ts +10340 -0
- package/src/durable/DurableFailpoint.ts +103 -0
- package/src/durable/DurableFailpointTestControl.ts +39 -0
- package/src/durable/EventSource.ts +172 -0
- package/src/durable/GitHubWorkflowSource.ts +453 -0
- package/src/durable/MessageDelivery.ts +708 -0
- package/src/durable/MessageDeliveryStoreConformance.ts +363 -0
- package/src/durable/OperationAuthorizer.ts +85 -0
- package/src/durable/PersistentHistory.ts +260 -0
- package/src/durable/PreparedInputAdmission.ts +44 -0
- package/src/durable/Records.ts +1010 -0
- package/src/durable/Recovery.ts +1018 -0
- package/src/durable/RunJournal.ts +1479 -0
- package/src/durable/Schedule.ts +504 -0
- package/src/durable/ScheduleStoreConformance.ts +638 -0
- package/src/durable/ScheduleTransition.ts +265 -0
- package/src/durable/Scheduling.ts +1077 -0
- package/src/durable/SqlMemoryStore.ts +774 -0
- package/src/durable/SqlMessageDeliveryStore.ts +302 -0
- package/src/durable/SqlStorageV2Upgrade.ts +500 -0
- package/src/durable/SqlSubscriptionStore.ts +1440 -0
- package/src/durable/SubmissionLedger.ts +1201 -0
- package/src/durable/SubmissionLedgerConformance.ts +4579 -0
- package/src/durable/SubmissionStatus.ts +14 -0
- package/src/durable/Subscription.ts +544 -0
- package/src/durable/SubscriptionInput.ts +144 -0
- package/src/durable/SubscriptionStoreConformance.ts +945 -0
- package/src/durable/SubscriptionTools.ts +327 -0
- package/src/durable/SubscriptionTransition.ts +302 -0
- package/src/durable/Subscriptions.ts +1210 -0
- package/src/durable/ThreadContextHistory.ts +227 -0
- package/src/durable/ThreadContextHistoryProjection.ts +216 -0
- package/src/durable/ThreadInvariants.ts +442 -0
- package/src/durable/ThreadProjection.ts +269 -0
- package/src/durable/ThreadProjectionMaintenance.ts +67 -0
- package/src/durable/ThreadStore.ts +242 -0
- package/src/durable/ThreadStoreConformance.ts +710 -0
- package/src/durable/ToolReconciler.ts +105 -0
- package/src/durable/WakeScheduler.ts +134 -0
- package/src/durable/WorkerHost.ts +171 -0
- package/src/durable/internal/agent-registration.ts +525 -0
- package/src/durable/internal/agent-updates.ts +302 -0
- package/src/durable/internal/foreign-diagnostic.ts +47 -0
- package/src/durable/internal/journal-checkpoint.ts +104 -0
- package/src/durable/internal/journal-metadata.ts +107 -0
- package/src/durable/internal/messaging-host.ts +608 -0
- package/src/durable/internal/schedule-time.ts +303 -0
- package/src/durable/internal/storage-v2-layout.ts +163 -0
- package/src/durable/internal/storage-v2.ts +73 -0
- package/src/durable/internal/worker-host.ts +2467 -0
- package/src/durable/internal/worker-runtime.ts +9 -0
- package/src/engine/AgentRuntime.ts +37 -0
- package/src/engine/Compaction.ts +11 -0
- package/src/engine/ContextCompactor.ts +277 -0
- package/src/engine/ContextHistory.ts +73 -0
- package/src/engine/ContextWindow.ts +72 -0
- package/src/engine/DurableStep.ts +132 -0
- package/src/engine/MessagingHost.ts +110 -0
- package/src/engine/Output.ts +2 -0
- package/src/engine/RunEventSink.ts +132 -0
- package/src/engine/RunOptions.ts +1077 -0
- package/src/engine/SubagentHost.ts +181 -0
- package/src/engine/ThreadHistory.ts +120 -0
- package/src/engine/ToolBroker.ts +157 -0
- package/src/engine/ToolExposure.ts +48 -0
- package/src/engine/internal/agent-runtime.ts +10117 -0
- package/src/engine/internal/bounded-value.ts +315 -0
- package/src/engine/internal/compaction.ts +678 -0
- package/src/engine/internal/error-diagnostic.ts +39 -0
- package/src/engine/internal/output-contract.ts +173 -0
- package/src/engine/internal/primitive-delta.ts +80 -0
- package/src/engine/internal/provider-result-staging.ts +211 -0
- package/src/engine/internal/tool-derivative.ts +106 -0
- package/src/engine/internal/tool-exposure.ts +224 -0
- package/src/engine/internal/tool-telemetry.ts +484 -0
- package/src/index.ts +96 -53
- package/src/sandbox/CodeExecutor.ts +352 -0
- package/src/sandbox/InteractiveBrowser.ts +257 -0
- package/src/sandbox/PageCapture.ts +692 -0
- package/src/sandbox/PageCrawl.ts +148 -0
- package/src/sandbox/PageScreenshot.ts +81 -0
- package/src/sandbox/ProtectedBrowser.ts +413 -0
- package/src/sandbox/Sandbox.ts +241 -0
- package/dist/Agent.d.mts +0 -5
- package/dist/Agent.mjs +0 -10
- package/dist/Agent.mjs.map +0 -1
- package/dist/AgentError.d.mts +0 -5
- package/dist/AgentError.mjs +0 -10
- package/dist/AgentError.mjs.map +0 -1
- package/dist/AgentPolicy.d.mts +0 -5
- package/dist/AgentPolicy.mjs +0 -10
- package/dist/AgentPolicy.mjs.map +0 -1
- package/dist/AgentRuntime.d.mts +0 -5
- package/dist/AgentRuntime.mjs +0 -10
- package/dist/AgentRuntime.mjs.map +0 -1
- package/dist/AgentUpdates.d.mts +0 -5
- package/dist/AgentUpdates.mjs +0 -10
- package/dist/AgentUpdates.mjs.map +0 -1
- package/dist/Approval.d.mts +0 -5
- package/dist/Approval.mjs +0 -10
- package/dist/Approval.mjs.map +0 -1
- package/dist/Budget.d.mts +0 -5
- package/dist/Budget.mjs +0 -10
- package/dist/Budget.mjs.map +0 -1
- package/dist/CodeMode.d.mts +0 -5
- package/dist/CodeMode.mjs +0 -10
- package/dist/CodeMode.mjs.map +0 -1
- package/dist/Commands.d.mts +0 -5
- package/dist/Commands.mjs +0 -10
- package/dist/Commands.mjs.map +0 -1
- package/dist/Compaction.d.mts +0 -5
- package/dist/Compaction.mjs +0 -10
- package/dist/Compaction.mjs.map +0 -1
- package/dist/ContextCompactor.d.mts +0 -5
- package/dist/ContextCompactor.mjs +0 -10
- package/dist/ContextCompactor.mjs.map +0 -1
- package/dist/ContextHistory.d.mts +0 -5
- package/dist/ContextHistory.mjs +0 -10
- package/dist/ContextHistory.mjs.map +0 -1
- package/dist/ContextTools.d.mts +0 -5
- package/dist/ContextTools.mjs +0 -10
- package/dist/ContextTools.mjs.map +0 -1
- package/dist/ContextWindow.d.mts +0 -5
- package/dist/ContextWindow.mjs +0 -10
- package/dist/ContextWindow.mjs.map +0 -1
- package/dist/DurableStep.d.mts +0 -5
- package/dist/DurableStep.mjs +0 -10
- package/dist/DurableStep.mjs.map +0 -1
- package/dist/EphemeralThreads.d.mts +0 -5
- package/dist/EphemeralThreads.mjs +0 -10
- package/dist/EphemeralThreads.mjs.map +0 -1
- package/dist/IdGenerator.d.mts +0 -5
- package/dist/IdGenerator.mjs +0 -10
- package/dist/IdGenerator.mjs.map +0 -1
- package/dist/Identifiers.d.mts +0 -5
- package/dist/Identifiers.mjs +0 -10
- package/dist/Identifiers.mjs.map +0 -1
- package/dist/Mcp.d.mts +0 -5
- package/dist/Mcp.mjs +0 -10
- package/dist/Mcp.mjs.map +0 -1
- package/dist/McpClient.d.mts +0 -5
- package/dist/McpClient.mjs +0 -10
- package/dist/McpClient.mjs.map +0 -1
- package/dist/Memory.d.mts +0 -5
- package/dist/Memory.mjs +0 -10
- package/dist/Memory.mjs.map +0 -1
- package/dist/MemoryNamespace.d.mts +0 -5
- package/dist/MemoryNamespace.mjs +0 -10
- package/dist/MemoryNamespace.mjs.map +0 -1
- package/dist/MemoryNotes.d.mts +0 -5
- package/dist/MemoryNotes.mjs +0 -10
- package/dist/MemoryNotes.mjs.map +0 -1
- package/dist/MemoryReference.d.mts +0 -5
- package/dist/MemoryReference.mjs +0 -10
- package/dist/MemoryReference.mjs.map +0 -1
- package/dist/MemoryRevalidation.d.mts +0 -5
- package/dist/MemoryRevalidation.mjs +0 -10
- package/dist/MemoryRevalidation.mjs.map +0 -1
- package/dist/MemoryStore.d.mts +0 -5
- package/dist/MemoryStore.mjs +0 -10
- package/dist/MemoryStore.mjs.map +0 -1
- package/dist/Messaging.d.mts +0 -5
- package/dist/Messaging.mjs +0 -10
- package/dist/Messaging.mjs.map +0 -1
- package/dist/MessagingHost.d.mts +0 -5
- package/dist/MessagingHost.mjs +0 -10
- package/dist/MessagingHost.mjs.map +0 -1
- package/dist/ModelContext.d.mts +0 -5
- package/dist/ModelContext.mjs +0 -10
- package/dist/ModelContext.mjs.map +0 -1
- package/dist/Receipt.d.mts +0 -5
- package/dist/Receipt.mjs +0 -10
- package/dist/Receipt.mjs.map +0 -1
- package/dist/Redaction.d.mts +0 -5
- package/dist/Redaction.mjs +0 -10
- package/dist/Redaction.mjs.map +0 -1
- package/dist/Remembering.d.mts +0 -5
- package/dist/Remembering.mjs +0 -10
- package/dist/Remembering.mjs.map +0 -1
- package/dist/RememberingStore.d.mts +0 -5
- package/dist/RememberingStore.mjs +0 -10
- package/dist/RememberingStore.mjs.map +0 -1
- package/dist/RunEvent.d.mts +0 -5
- package/dist/RunEvent.mjs +0 -10
- package/dist/RunEvent.mjs.map +0 -1
- package/dist/RunEventSink.d.mts +0 -5
- package/dist/RunEventSink.mjs +0 -10
- package/dist/RunEventSink.mjs.map +0 -1
- package/dist/RunHooks.d.mts +0 -5
- package/dist/RunHooks.mjs +0 -10
- package/dist/RunHooks.mjs.map +0 -1
- package/dist/RunOptions.d.mts +0 -5
- package/dist/RunOptions.mjs +0 -10
- package/dist/RunOptions.mjs.map +0 -1
- package/dist/RunPolicyUsage.d.mts +0 -5
- package/dist/RunPolicyUsage.mjs +0 -10
- package/dist/RunPolicyUsage.mjs.map +0 -1
- package/dist/SemanticMemory.d.mts +0 -5
- package/dist/SemanticMemory.mjs +0 -10
- package/dist/SemanticMemory.mjs.map +0 -1
- package/dist/SemanticMemoryIndex.d.mts +0 -5
- package/dist/SemanticMemoryIndex.mjs +0 -10
- package/dist/SemanticMemoryIndex.mjs.map +0 -1
- package/dist/SemanticMemoryRevalidation.d.mts +0 -5
- package/dist/SemanticMemoryRevalidation.mjs +0 -10
- package/dist/SemanticMemoryRevalidation.mjs.map +0 -1
- package/dist/Subagent.d.mts +0 -5
- package/dist/Subagent.mjs +0 -10
- package/dist/Subagent.mjs.map +0 -1
- package/dist/SubagentContract.d.mts +0 -5
- package/dist/SubagentContract.mjs +0 -10
- package/dist/SubagentContract.mjs.map +0 -1
- package/dist/SubagentHost.d.mts +0 -5
- package/dist/SubagentHost.mjs +0 -10
- package/dist/SubagentHost.mjs.map +0 -1
- package/dist/SubagentReservations.d.mts +0 -5
- package/dist/SubagentReservations.mjs +0 -10
- package/dist/SubagentReservations.mjs.map +0 -1
- package/dist/ThreadHistory.d.mts +0 -5
- package/dist/ThreadHistory.mjs +0 -10
- package/dist/ThreadHistory.mjs.map +0 -1
- package/dist/ToolBroker.d.mts +0 -5
- package/dist/ToolBroker.mjs +0 -10
- package/dist/ToolBroker.mjs.map +0 -1
- package/dist/ToolDiscovery.d.mts +0 -5
- package/dist/ToolDiscovery.mjs +0 -10
- package/dist/ToolDiscovery.mjs.map +0 -1
- package/dist/ToolResult.d.mts +0 -5
- package/dist/ToolResult.mjs +0 -10
- package/dist/ToolResult.mjs.map +0 -1
- package/dist/Usage.d.mts +0 -5
- package/dist/Usage.mjs +0 -10
- package/dist/Usage.mjs.map +0 -1
- package/dist/WebCapture.d.mts +0 -5
- package/dist/WebCapture.mjs +0 -10
- package/dist/WebCapture.mjs.map +0 -1
- package/dist/WebSearch.d.mts +0 -5
- package/dist/WebSearch.mjs +0 -10
- package/dist/WebSearch.mjs.map +0 -1
- package/dist/Worker.d.mts +0 -5
- package/dist/Worker.mjs +0 -10
- package/dist/Worker.mjs.map +0 -1
- package/dist/rolldown-runtime-BBjsoOtd.mjs +0 -27
- package/src/Agent.ts +0 -1
- package/src/AgentError.ts +0 -1
- package/src/AgentPolicy.ts +0 -1
- package/src/AgentRuntime.ts +0 -1
- package/src/AgentUpdates.ts +0 -1
- package/src/Approval.ts +0 -1
- package/src/Budget.ts +0 -1
- package/src/CodeMode.ts +0 -1
- package/src/Commands.ts +0 -1
- package/src/Compaction.ts +0 -1
- package/src/ContextCompactor.ts +0 -1
- package/src/ContextHistory.ts +0 -1
- package/src/ContextTools.ts +0 -1
- package/src/ContextWindow.ts +0 -1
- package/src/DurableStep.ts +0 -1
- package/src/EphemeralThreads.ts +0 -1
- package/src/IdGenerator.ts +0 -1
- package/src/Identifiers.ts +0 -1
- package/src/Mcp.ts +0 -1
- package/src/McpClient.ts +0 -1
- package/src/Memory.ts +0 -1
- package/src/MemoryNamespace.ts +0 -1
- package/src/MemoryNotes.ts +0 -1
- package/src/MemoryReference.ts +0 -1
- package/src/MemoryRevalidation.ts +0 -1
- package/src/MemoryStore.ts +0 -1
- package/src/Messaging.ts +0 -1
- package/src/MessagingHost.ts +0 -1
- package/src/ModelContext.ts +0 -1
- package/src/Receipt.ts +0 -1
- package/src/Redaction.ts +0 -1
- package/src/Remembering.ts +0 -1
- package/src/RememberingStore.ts +0 -1
- package/src/RunEvent.ts +0 -1
- package/src/RunEventSink.ts +0 -1
- package/src/RunHooks.ts +0 -1
- package/src/RunOptions.ts +0 -1
- package/src/RunPolicyUsage.ts +0 -1
- package/src/SemanticMemory.ts +0 -1
- package/src/SemanticMemoryIndex.ts +0 -1
- package/src/SemanticMemoryRevalidation.ts +0 -1
- package/src/Subagent.ts +0 -1
- package/src/SubagentContract.ts +0 -1
- package/src/SubagentHost.ts +0 -1
- package/src/SubagentReservations.ts +0 -1
- package/src/ThreadHistory.ts +0 -1
- package/src/ToolBroker.ts +0 -1
- package/src/ToolDiscovery.ts +0 -1
- package/src/ToolResult.ts +0 -1
- package/src/Usage.ts +0 -1
- package/src/WebCapture.ts +0 -1
- package/src/WebSearch.ts +0 -1
- package/src/Worker.ts +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Recovery.mjs","names":[],"sources":["../../src/durable/Recovery.ts"],"sourcesContent":["import { Effect, Schema } from \"effect\";\n\nimport { ThreadId, SettlementId, SubmissionId, ToolCallId } from \"../core/Identifiers.ts\";\nimport { SettlementOutcome, ToolCallPrepared } from \"./Records.ts\";\nimport {\n ChildReservationId,\n submissionSettlementId,\n WaitingChild,\n type ChildAttachmentSnapshot,\n type ChildBudgetReservationSnapshot,\n type RecoverySnapshot,\n} from \"./SubmissionLedger.ts\";\n\n/** One canonical `ToolCallPrepared` without a settling or resolving canonical record (DUR-009). */\nexport class OpenToolCallEvidence extends Schema.Class<OpenToolCallEvidence>(\n \"@effect-agent/thread/OpenToolCallEvidence\",\n)({\n toolCallId: ToolCallId,\n toolName: ToolCallPrepared.fields.toolName,\n turn: ToolCallPrepared.fields.turn,\n}) {}\n\n/**\n * A committed tool-declaring response with ZERO prepared and ZERO settled records for its Turn:\n * the provably-safe durability §15 window — no prepared records means no handler ran, so the\n * declared batch resumes without model re-invocation and without Unknown.\n */\nexport class DeclaredPendingBatchEvidence extends Schema.Class<DeclaredPendingBatchEvidence>(\n \"@effect-agent/thread/DeclaredPendingBatchEvidence\",\n)({\n turn: ToolCallPrepared.fields.turn,\n callCount: Schema.Int.check(Schema.isGreaterThan(0)),\n}) {}\n\n/** One canonical `ToolApprovalRequested` without a canonical `ToolApprovalDecided`. */\nexport class PendingApprovalEvidence extends Schema.Class<PendingApprovalEvidence>(\n \"@effect-agent/thread/PendingApprovalEvidence\",\n)({\n toolCallId: ToolCallId,\n turn: ToolCallPrepared.fields.turn,\n}) {}\n\n/**\n * The authoritative tri-state admission answer recorded as pure classifier evidence (SUB-031):\n * the recovery pass queries `resolveAdmission` with the deterministic child idempotency key for\n * a requested-but-unstarted delegation call and records the result here. Absence of this field\n * means the lookup was not performed — the classifier treats that exactly like `indeterminate`\n * (fail-closed: only a proven `not-admitted` ever permits an admission attempt).\n */\nexport const DelegationAdmissionEvidence = Schema.Literals([\n \"not-admitted\",\n \"admitted\",\n \"indeterminate\",\n]);\n\nexport type DelegationAdmissionEvidence = typeof DelegationAdmissionEvidence.Type;\n\n/**\n * One prepared-without-outcome parent Tool Call that IS a delegation (plan §4.1), separated from\n * `openToolCalls` because its establishment protocol is idempotent by construction and must\n * NEVER be marked Unknown (spec §13 vs. DUR-009). Delegation detection is durable and\n * fail-closed: canonical preparation records carry the definition-owned execution kind;\n * child reservations and request records must agree with that classification. Names never\n * authorize replay, including in the pre-reservation window. The\n * `requested`/`started`/`joined` flags come from the parent-log canonical records; the child\n * identity fields are present exactly when those records (or the reservation attachment) carry\n * them.\n */\nexport class OpenDelegationCallEvidence extends Schema.Class<OpenDelegationCallEvidence>(\n \"@effect-agent/thread/OpenDelegationCallEvidence\",\n)({\n toolCallId: ToolCallId,\n toolName: ToolCallPrepared.fields.toolName,\n turn: ToolCallPrepared.fields.turn,\n /** The canonical `SubagentRequested` record exists for this call. */\n requested: Schema.Boolean,\n /** The canonical `SubagentStarted` record exists for this call. */\n started: Schema.Boolean,\n /** The canonical `SubagentJoined` record exists for this call. */\n joined: Schema.Boolean,\n childThreadId: Schema.optionalKey(ThreadId),\n childSubmissionId: Schema.optionalKey(SubmissionId),\n admission: Schema.optionalKey(DelegationAdmissionEvidence),\n}) {}\n\n/**\n * Canonical-log facts about one Submission, read strongly consistently alongside the ledger\n * `RecoverySnapshot` (STORE-003). Canonical history wins over every ledger marker (DUR-015), so\n * the classifier consults these facts before trusting ledger state — with one deliberate Phase 5\n * inversion: a RECORDED terminal outcome now beats open tool calls, because a canonical\n * settlement is never revisited (DUR-002/DUR-015); the P4 rule that unknown-beats-settlement is\n * gone.\n *\n * `openToolCalls` is the DUR-009 seam: every `ToolCallPrepared` without a matching\n * `ToolCallSettled` or `ToolCallResolved`. S2 separates `openDelegationCalls` from it (plan\n * §4.1): a delegation's prepared-without-outcome state is provably replay-safe, so those calls\n * route through the Subagent recovery rows and never through `MarkUnknown`. Names and\n * operational reservation rows cannot upgrade ordinary classification. `joinedInputCovered`\n * implements the plan §2.5 prompt-coverage rule for the joined side: a joined input is covered\n * iff a later `ModelResponseRecorded` of the host Run exists after the `input:{sid}` record.\n * `hostSettlementOutcome` is the joined-side view of the host's canonical `SubmissionSettled`\n * record, present exactly when that record exists.\n */\nexport class RecoveryEvidence extends Schema.Class<RecoveryEvidence>(\n \"@effect-agent/thread/RecoveryEvidence\",\n)({\n /** The Thread exists in the ThreadStore. */\n threadMaterialized: Schema.Boolean,\n /** The deterministic canonical `UserInputRecorded` record (`input:{sid}`) is committed. */\n inputRecorded: Schema.Boolean,\n /**\n * The committed canonical `SubmissionSettled` outcome (`settlement:{sid}`). Present exactly\n * when the canonical settlement record exists, so the flag and the outcome cannot diverge.\n */\n recordedSettlementOutcome: Schema.optionalKey(SettlementOutcome),\n /** The deterministic canonical `AbortRequested` record (`abort:{sid}`) is committed. */\n abortRecorded: Schema.Boolean,\n /** Prepared ordinary Tool Calls without a canonical settled/resolved outcome (DUR-009). */\n openToolCalls: Schema.Array(OpenToolCallEvidence),\n /**\n * Delegation Tool Calls with an open parent-side obligation (plan §4.1), removed from\n * `openToolCalls`. Wire-required; construction alone defaults it so pre-S2 evidence\n * assemblers stay valid while the classifier's fail-closed detection still protects them.\n */\n openDelegationCalls: Schema.Array(OpenDelegationCallEvidence).pipe(\n Schema.withConstructorDefault(Effect.succeed([])),\n ),\n /** Only persisted orchestration classification authorizes idempotent host-operation replay. */\n openWorkerCalls: Schema.optionalKey(Schema.Array(OpenToolCallEvidence)),\n /** A declared-but-unprepared tool batch: response canonical, zero prepared, zero settled. */\n declaredPendingBatch: Schema.optionalKey(DeclaredPendingBatchEvidence),\n /** Canonically requested approvals without a canonical decision. */\n approvalsPending: Schema.Array(PendingApprovalEvidence),\n /** Joined-side prompt coverage (plan §2.5); `true` whenever the Submission is not joined. */\n joinedInputCovered: Schema.Boolean,\n /** Joined-side view of the host's canonical settlement record, when it exists. */\n hostSettlementOutcome: Schema.optionalKey(SettlementOutcome),\n /**\n * The Thread carries its canonical `SubagentLineageRecorded` record. Only\n * consulted for a parent-linked Submission: a child whose lineage is not yet canonical defers\n * its own materialization/readiness repair to the parent's idempotent establishment\n * (`AwaitParentEstablishment`). Defaults to `false` so an assembler that does not compute it\n * stays fail-closed: deferring is safe because the parent's establishment completes the child;\n * running a Turn before lineage is recorded would violate the child establishment ordering.\n */\n subagentLineageRecorded: Schema.Boolean.pipe(\n Schema.withConstructorDefault(Effect.succeed(false)),\n ),\n}) {}\n\n/** Ledger admission committed but the Thread is not durable: finish materialization,\n * append `ThreadCreated`, and mark readiness (crash between admit and materialize). */\nexport class CompleteMaterialization extends Schema.TaggedClass<CompleteMaterialization>(\n \"@effect-agent/thread/CompleteMaterialization\",\n)(\"CompleteMaterialization\", { submissionId: SubmissionId }) {}\n\n/** Thread durable but the readiness marker is missing: idempotent `markReady`. */\nexport class RepairReadiness extends Schema.TaggedClass<RepairReadiness>(\n \"@effect-agent/thread/RepairReadiness\",\n)(\"RepairReadiness\", { submissionId: SubmissionId }) {}\n\n/** No canonical input yet: append the deterministic `UserInputRecorded` record and mark it. */\nexport class ApplyInput extends Schema.TaggedClass<ApplyInput>(\"@effect-agent/thread/ApplyInput\")(\n \"ApplyInput\",\n { submissionId: SubmissionId },\n) {}\n\n/** Canonical input exists but the ledger marker was lost: repair the marker only (DUR-015). */\nexport class RepairInputMarker extends Schema.TaggedClass<RepairInputMarker>(\n \"@effect-agent/thread/RepairInputMarker\",\n)(\"RepairInputMarker\", { submissionId: SubmissionId }) {}\n\n/** Input applied and no terminal work reserved: a worker resumes the Run from the last committed\n * Turn boundary (D6; the model may be re-invoked, duplicate cost is observable — the resuming\n * worker appends `ModelResponseInterrupted` when superseding a prior owner, durability §9). */\nexport class ResumeFromTurnBoundary extends Schema.TaggedClass<ResumeFromTurnBoundary>(\n \"@effect-agent/thread/ResumeFromTurnBoundary\",\n)(\"ResumeFromTurnBoundary\", { submissionId: SubmissionId }) {}\n\n/** A settlement is reserved but not canonical: append the EXACT reserved record, then finalize. */\nexport class AppendReservedSettlement extends Schema.TaggedClass<AppendReservedSettlement>(\n \"@effect-agent/thread/AppendReservedSettlement\",\n)(\"AppendReservedSettlement\", {\n submissionId: SubmissionId,\n settlementId: SettlementId,\n outcome: SettlementOutcome,\n}) {}\n\n/** The canonical settlement record exists: rebuild/finalize the ledger from history and never\n * rewrite history from the cached ledger status (DUR-011, DUR-015). */\nexport class FinalizeLedgerFromHistory extends Schema.TaggedClass<FinalizeLedgerFromHistory>(\n \"@effect-agent/thread/FinalizeLedgerFromHistory\",\n)(\"FinalizeLedgerFromHistory\", {\n submissionId: SubmissionId,\n settlementId: SettlementId,\n outcome: SettlementOutcome,\n}) {}\n\n/** A durable abort intent exists, no terminal outcome is reserved, and no attached-child\n * obligation remains open: settle aborted (DUR-012). The executor first appends\n * `ToolCallUnknown` audit records for any open ordinary calls — abort settles the obligation but\n * never asserts external rollback (durability §13). */\nexport class SettleAborted extends Schema.TaggedClass<SettleAborted>(\n \"@effect-agent/thread/SettleAborted\",\n)(\"SettleAborted\", { submissionId: SubmissionId }) {}\n\n/** Prepared ordinary Tool Calls have no canonical outcome: the executor reconciles each open\n * call (recovered result / never-started / safe-retry) and marks the remainder Unknown — never\n * an automatic replay (DUR-009/DUR-017). Delegation calls are excluded: their establishment is\n * idempotent by construction and routes through the Subagent rows instead (plan §4.3). */\nexport class MarkUnknown extends Schema.TaggedClass<MarkUnknown>(\n \"@effect-agent/thread/MarkUnknown\",\n)(\"MarkUnknown\", {\n submissionId: SubmissionId,\n reason: Schema.String,\n openToolCallIds: Schema.Array(ToolCallId),\n}) {}\n\n/** A committed tool-declaring response has zero prepared and zero settled records: a worker\n * resumes the declared batch — no model re-invocation, no Unknown (durability §15). S2 also\n * routes an open delegation call WITHOUT establishment evidence here (spec §13 row 1): the\n * declared batch re-executes and the idempotent establishment converges on one child. */\nexport class ResumePendingToolBatch extends Schema.TaggedClass<ResumePendingToolBatch>(\n \"@effect-agent/thread/ResumePendingToolBatch\",\n)(\"ResumePendingToolBatch\", {\n submissionId: SubmissionId,\n turn: DeclaredPendingBatchEvidence.fields.turn,\n}) {}\n\n/** Canonically requested approvals lack decisions: the lane waits durably (the executor repairs\n * the ledger suspension from history when the suspend transition itself was lost). */\nexport class AwaitApprovalDecision extends Schema.TaggedClass<AwaitApprovalDecision>(\n \"@effect-agent/thread/AwaitApprovalDecision\",\n)(\"AwaitApprovalDecision\", { submissionId: SubmissionId }) {}\n\n/** Every pending approval has a durable decision: a worker resumes the declared batch via the\n * batch-resume seam, appending the canonical `ToolApprovalDecided` records first. */\nexport class ResumeSuspended extends Schema.TaggedClass<ResumeSuspended>(\n \"@effect-agent/thread/ResumeSuspended\",\n)(\"ResumeSuspended\", { submissionId: SubmissionId }) {}\n\n/** Unknown Outcomes lack covering resolutions: the lane stays blocked awaiting the authorized\n * DUR-017 resolution path; the obligation stays visible, nothing replays. */\nexport class AwaitUnknownResolution extends Schema.TaggedClass<AwaitUnknownResolution>(\n \"@effect-agent/thread/AwaitUnknownResolution\",\n)(\"AwaitUnknownResolution\", { submissionId: SubmissionId }) {}\n\n/** Durable resolution intents cover every open call: apply them canonically\n * (`ToolCallResolved` + `ToolCallSettled` for recovered results) and reopen the lane. */\nexport class ApplyUnknownResolutions extends Schema.TaggedClass<ApplyUnknownResolutions>(\n \"@effect-agent/thread/ApplyUnknownResolutions\",\n)(\"ApplyUnknownResolutions\", { submissionId: SubmissionId }) {}\n\n/** `joining` without a canonical `input:{sid}` record: revert to `ready` — the input was never\n * consumed and will be delivered exactly once later (DUR-016). */\nexport class RevertJoining extends Schema.TaggedClass<RevertJoining>(\n \"@effect-agent/thread/RevertJoining\",\n)(\"RevertJoining\", { submissionId: SubmissionId }) {}\n\n/** The canonical input exists but the `joined` marker was lost: repair the marker only, exactly\n * like `RepairInputMarker` (DUR-015/DUR-016); the input reattaches, never duplicates. */\nexport class RepairJoinMarker extends Schema.TaggedClass<RepairJoinMarker>(\n \"@effect-agent/thread/RepairJoinMarker\",\n)(\"RepairJoinMarker\", { submissionId: SubmissionId }) {}\n\n/** The host Run settled canonically: settle this joined Submission with the host outcome\n * (each joined Submission is owed its own settlement, DUR-002). */\nexport class SettleJoinedWithHost extends Schema.TaggedClass<SettleJoinedWithHost>(\n \"@effect-agent/thread/SettleJoinedWithHost\",\n)(\"SettleJoinedWithHost\", {\n submissionId: SubmissionId,\n outcome: SettlementOutcome,\n}) {}\n\n/** The Submission is `joined` and its host Run is still live: nothing to repair — the input\n * reattaches through the host's resume and the Submission settles with the host. */\nexport class AwaitHostSettlement extends Schema.TaggedClass<AwaitHostSettlement>(\n \"@effect-agent/thread/AwaitHostSettlement\",\n)(\"AwaitHostSettlement\", {\n submissionId: SubmissionId,\n hostSubmissionId: Schema.optionalKey(SubmissionId),\n}) {}\n\n/** A canonical `SubagentRequested` exists and the authoritative admission lookup proved\n * `notAdmitted`: idempotently admit the intended child from the canonical request payload — it\n * carries the encoded child input (D3), the intended child identity, and every digest — then\n * materialize the child Thread, append its immutable lineage, and mark it ready. No live\n * delegation handler is required (spec §13, SUB-016/SUB-031). */\nexport class CompleteChildAdmission extends Schema.TaggedClass<CompleteChildAdmission>(\n \"@effect-agent/thread/CompleteChildAdmission\",\n)(\"CompleteChildAdmission\", {\n submissionId: SubmissionId,\n toolCallId: ToolCallId,\n}) {}\n\n/** A canonical `SubagentRequested` exists but the authoritative admission lookup answered\n * `indeterminate` — or was not (yet) performed: wait and retry the authoritative owner directly.\n * Absence from a projection is never proof of absence and a second admission NEVER occurs\n * (spec §12, SUB-031). */\nexport class AwaitChildAdmissionResolution extends Schema.TaggedClass<AwaitChildAdmissionResolution>(\n \"@effect-agent/thread/AwaitChildAdmissionResolution\",\n)(\"AwaitChildAdmissionResolution\", {\n submissionId: SubmissionId,\n toolCallId: ToolCallId,\n}) {}\n\n/** The child Submission is admitted but the parent's `SubagentStarted` link is missing (or its\n * reservation attachment was lost): resolve the SAME child by its deterministic idempotency key\n * and append the exact deterministic start record, then attach the child to its reservation —\n * the same Receipt on every replay (spec §13, SUB-016/SUB-017). */\nexport class RepairSubagentStartLink extends Schema.TaggedClass<RepairSubagentStartLink>(\n \"@effect-agent/thread/RepairSubagentStartLink\",\n)(\"RepairSubagentStartLink\", {\n submissionId: SubmissionId,\n toolCallId: ToolCallId,\n}) {}\n\n/** Children are established and at least one is nonterminal while the parent lane is NOT\n * durably suspended: restore the `waitingForChild` suspension so the lane holds no worker\n * permit while each child runs on its own lane. Recovery reattaches the one existing child and\n * NEVER spawns a replacement (spec §13, SUB-018/SUB-030). */\nexport class EnsureWaitingForChild extends Schema.TaggedClass<EnsureWaitingForChild>(\n \"@effect-agent/thread/EnsureWaitingForChild\",\n)(\"EnsureWaitingForChild\", {\n submissionId: SubmissionId,\n children: Schema.NonEmptyArray(WaitingChild),\n}) {}\n\n/** The parent is durably suspended `WaitingForChild` and at least one listed child is not yet\n * provably settled: the lane stays dormant and consumes no permit; the child's Settlement wakes\n * it durably (spec §12 step 10). An unresolved ordinary Tool inside a child keeps the parent\n * here honestly — the obligation stays visible and aged, nothing is fabricated (SUB-021). */\nexport class AwaitChildSettlement extends Schema.TaggedClass<AwaitChildSettlement>(\n \"@effect-agent/thread/AwaitChildSettlement\",\n)(\"AwaitChildSettlement\", { submissionId: SubmissionId }) {}\n\n/** Every relevant child is provably settled but the parent has not joined (legacy data, or a\n * canonical settlement whose idempotent wake still needs replay): record/replay the durable wake\n * so a claiming worker resumes the declared batch and joins each child's canonical Settlement —\n * the join itself needs the parent Binding and is deferred to that worker (spec §13). */\nexport class ResumeWaitingParent extends Schema.TaggedClass<ResumeWaitingParent>(\n \"@effect-agent/thread/ResumeWaitingParent\",\n)(\"ResumeWaitingParent\", {\n submissionId: SubmissionId,\n children: Schema.NonEmptyArray(WaitingChild),\n}) {}\n\n/** The canonical `SubagentJoined` record exists but the reservation release is incomplete:\n * replay `beginChildBudgetRelease` with the accounting decision FROM the canonical record, then\n * apply `releaseChildBudget` — budget stays unavailable until repair, never available twice\n * (spec §12 join step 6, DUR-015). */\nexport class ApplyJoinAccounting extends Schema.TaggedClass<ApplyJoinAccounting>(\n \"@effect-agent/thread/ApplyJoinAccounting\",\n)(\"ApplyJoinAccounting\", {\n submissionId: SubmissionId,\n toolCallId: ToolCallId,\n reservationId: ChildReservationId,\n}) {}\n\n/** Parent abort is canonical while attached children are nonterminal: idempotently issue each\n * child's durable abort command and keep the parent waiting for the joins —\n * request-abort-and-join is the ONLY close behavior; the replayed command returns the recorded\n * child intent unchanged, so the intent row IS the propagation marker (spec §13.1, SUB-022,\n * DUR-012). */\nexport class PropagateChildAbort extends Schema.TaggedClass<PropagateChildAbort>(\n \"@effect-agent/thread/PropagateChildAbort\",\n)(\"PropagateChildAbort\", {\n submissionId: SubmissionId,\n children: Schema.NonEmptyArray(WaitingChild),\n}) {}\n\n/** A child budget reservation can no longer bind a child — its request is absent with no\n * resumable batch, or the parent is aborting and the child provably never admitted: freeze the\n * deterministic zero-consumed accounting decision and release the unused allocation exactly\n * once (spec §13/§14: \"releases the reservation exactly once\"). */\nexport class ReleaseOrphanChildReservation extends Schema.TaggedClass<ReleaseOrphanChildReservation>(\n \"@effect-agent/thread/ReleaseOrphanChildReservation\",\n)(\"ReleaseOrphanChildReservation\", {\n submissionId: SubmissionId,\n reservationIds: Schema.NonEmptyArray(ChildReservationId),\n}) {}\n\n/**\n * A parent-linked `admitted` Submission whose Thread lacks the canonical\n * `SubagentLineageRecorded` record: the child lane DEFERS its own materialization/readiness\n * repair — the parent's idempotent establishment (admit → materialize → lineage → ready)\n * completes it, so a child never runs a Turn before its lineage record is canonical.\n * This preserves the child establishment ordering. It is ordering/liveness hygiene, not a\n * safety repair — the join already fails closed without lineage (SUB-019).\n */\nexport class AwaitParentEstablishment extends Schema.TaggedClass<AwaitParentEstablishment>(\n \"@effect-agent/thread/AwaitParentEstablishment\",\n)(\"AwaitParentEstablishment\", {\n submissionId: SubmissionId,\n parentSubmissionId: SubmissionId,\n parentToolCallId: ToolCallId,\n}) {}\n\n/** The Submission is settled; nothing is owed. */\nexport class NoAction extends Schema.TaggedClass<NoAction>(\"@effect-agent/thread/NoAction\")(\n \"NoAction\",\n { submissionId: SubmissionId },\n) {}\n\n/** The executable recovery decision table's output alphabet (plan §Recovery classifier). */\nexport const RecoveryDecision = Schema.Union([\n CompleteMaterialization,\n RepairReadiness,\n ApplyInput,\n RepairInputMarker,\n ResumeFromTurnBoundary,\n AppendReservedSettlement,\n FinalizeLedgerFromHistory,\n SettleAborted,\n MarkUnknown,\n ResumePendingToolBatch,\n AwaitApprovalDecision,\n ResumeSuspended,\n AwaitUnknownResolution,\n ApplyUnknownResolutions,\n RevertJoining,\n RepairJoinMarker,\n SettleJoinedWithHost,\n AwaitHostSettlement,\n CompleteChildAdmission,\n AwaitChildAdmissionResolution,\n RepairSubagentStartLink,\n EnsureWaitingForChild,\n AwaitChildSettlement,\n ResumeWaitingParent,\n ApplyJoinAccounting,\n PropagateChildAbort,\n ReleaseOrphanChildReservation,\n AwaitParentEstablishment,\n NoAction,\n]);\n\nexport type RecoveryDecision = typeof RecoveryDecision.Type;\n\n/**\n * The classifier's merged per-call view of one delegation Tool Call: canonical parent-log flags\n * from the evidence, the reservation row, and the child attachment from the ledger snapshot.\n */\ninterface DelegationCallView {\n readonly toolCallId: ToolCallId;\n turn: number | undefined;\n /** A prepared-without-outcome record exists, so the declared batch is worker-resumable. */\n open: boolean;\n requested: boolean;\n started: boolean;\n joined: boolean;\n admission: DelegationAdmissionEvidence | undefined;\n childSubmissionId: SubmissionId | undefined;\n reservation: ChildBudgetReservationSnapshot | undefined;\n attachment: ChildAttachmentSnapshot | undefined;\n}\n\n/** The attachment proves the child's canonical Settlement exists. */\nconst isTerminalAttachment = (attachment: ChildAttachmentSnapshot): boolean =>\n attachment.childState === \"settled\" || attachment.childOutcome !== undefined;\n\n/**\n * Merge every durable delegation-detection source into per-call views (plan §4.1): the\n * explicitly classified `openDelegationCalls`, reservation rows and child attachments.\n * Reservations may need cleanup, but never upgrade an ordinary call into a replayable delegation.\n */\nconst delegationViewsOf = (\n snapshot: RecoverySnapshot,\n evidence: RecoveryEvidence,\n): Array<DelegationCallView> => {\n const views = new Map<ToolCallId, DelegationCallView>();\n\n const ensure = (toolCallId: ToolCallId): DelegationCallView => {\n const existing = views.get(toolCallId);\n\n if (existing !== undefined) return existing;\n\n const created: DelegationCallView = {\n toolCallId,\n turn: undefined,\n open: false,\n requested: false,\n started: false,\n joined: false,\n admission: undefined,\n childSubmissionId: undefined,\n reservation: undefined,\n attachment: undefined,\n };\n\n views.set(toolCallId, created);\n\n return created;\n };\n\n for (const call of evidence.openDelegationCalls) {\n const view = ensure(call.toolCallId);\n\n view.turn = call.turn;\n view.open = true;\n view.requested = call.requested;\n view.started = call.started;\n view.joined = call.joined;\n view.admission = call.admission;\n view.childSubmissionId = call.childSubmissionId;\n }\n for (const reservation of snapshot.childReservations) {\n let view = views.get(reservation.parentToolCallId);\n\n if (view === undefined) {\n view = ensure(reservation.parentToolCallId);\n }\n view.reservation = reservation;\n if (view.childSubmissionId === undefined && reservation.childSubmissionId !== undefined) {\n view.childSubmissionId = reservation.childSubmissionId;\n }\n }\n for (const attachment of snapshot.childAttachments) {\n const view = ensure(attachment.toolCallId);\n\n view.attachment = attachment;\n if (view.childSubmissionId === undefined) {\n view.childSubmissionId = attachment.childSubmissionId;\n }\n }\n\n return [...views.values()];\n};\n\nconst waitingChildOf = (view: DelegationCallView, childSubmissionId: SubmissionId): WaitingChild =>\n WaitingChild.make({ toolCallId: view.toolCallId, childSubmissionId });\n\nconst nonEmpty = <A>(values: ReadonlyArray<A>): readonly [A, ...Array<A>] | undefined => {\n const [first, ...rest] = values;\n\n return first === undefined ? undefined : [first, ...rest];\n};\n\n/**\n * The reservation's frozen accounting decision has not been applied: whether frozen by a\n * canonical join or by an orphan zero-consumed decision, `releasePending` always finishes\n * through the idempotent `releaseChildBudget` replay — never through a second freeze, whose\n * divergent accounting would conflict (`ChildReservationConflict`).\n */\nconst releasePendingReservation = (\n view: DelegationCallView,\n): ChildBudgetReservationSnapshot | undefined =>\n view.reservation !== undefined && view.reservation.status === \"releasePending\"\n ? view.reservation\n : undefined;\n\n/** The reservation still holds unfrozen allocation (`reserved`). */\nconst reservedReservation = (\n view: DelegationCallView,\n): ChildBudgetReservationSnapshot | undefined =>\n view.reservation !== undefined && view.reservation.status === \"reserved\"\n ? view.reservation\n : undefined;\n\n/**\n * The spec §13 Subagent rows for a live (non-suspended) parent WITHOUT a durable abort intent,\n * in most-repairing-first order. Returns `undefined` when no delegation obligation is open so\n * the ordinary rows apply.\n */\nconst classifyDelegationRepairs = (\n submissionId: SubmissionId,\n views: ReadonlyArray<DelegationCallView>,\n): RecoveryDecision | undefined => {\n const applyJoins: Array<DelegationCallView> = [];\n const completeAdmissions: Array<DelegationCallView> = [];\n const repairStartLinks: Array<DelegationCallView> = [];\n const awaitAdmissions: Array<DelegationCallView> = [];\n const resumeBatches: Array<DelegationCallView> = [];\n const waiting: Array<WaitingChild> = [];\n const terminalUnjoined: Array<WaitingChild> = [];\n const orphanReservations: Array<ChildBudgetReservationSnapshot> = [];\n\n for (const view of views) {\n if (view.reservation !== undefined && view.reservation.status === \"released\") {\n // The reservation lifecycle is complete: release happens only after the canonical join\n // (or a provably-childless orphan decision), so no parent-side budget or waiting\n // obligation remains on this call.\n continue;\n }\n if (releasePendingReservation(view) !== undefined) {\n // Row: budget release incomplete with the accounting decision already frozen → finish\n // the idempotent release; a second freeze would conflict.\n applyJoins.push(view);\n continue;\n }\n if (view.joined) {\n // Row: parent join canonical, budget release incomplete → apply the canonical accounting.\n if (reservedReservation(view) !== undefined) applyJoins.push(view);\n continue;\n }\n if (view.started && view.childSubmissionId !== undefined) {\n // Rows: started + child nonterminal → waiting; child terminal + join missing → wake.\n const child = waitingChildOf(view, view.childSubmissionId);\n\n if (view.attachment !== undefined && isTerminalAttachment(view.attachment)) {\n terminalUnjoined.push(child);\n } else {\n waiting.push(child);\n }\n continue;\n }\n if (view.started || view.childSubmissionId !== undefined || view.admission === \"admitted\") {\n // Row: child admitted, parent start record missing (or the start/attachment link is\n // incomplete) → resolve the same child by key and append the exact link.\n repairStartLinks.push(view);\n continue;\n }\n if (view.requested) {\n // Rows: requested + notAdmitted → admit exactly one child; indeterminate (or unqueried,\n // fail-closed) → wait/retry the authoritative owner, never a second admission.\n if (view.admission === \"not-admitted\") completeAdmissions.push(view);\n else awaitAdmissions.push(view);\n continue;\n }\n if (view.open) {\n // Row: no reservation and no request (or reservation without a request on a live parent)\n // → the declared batch re-executes; establishment is idempotent by construction.\n resumeBatches.push(view);\n continue;\n }\n const reservation = reservedReservation(view);\n\n if (reservation !== undefined) {\n // Row: reservation exists, request absent, no resumable batch → release exactly once.\n orphanReservations.push(reservation);\n }\n }\n\n const applyJoin = applyJoins[0];\n\n if (applyJoin?.reservation !== undefined) {\n return ApplyJoinAccounting.make({\n submissionId,\n toolCallId: applyJoin.toolCallId,\n reservationId: applyJoin.reservation.reservationId,\n });\n }\n const completeAdmission = completeAdmissions[0];\n\n if (completeAdmission !== undefined) {\n return CompleteChildAdmission.make({ submissionId, toolCallId: completeAdmission.toolCallId });\n }\n const repairStartLink = repairStartLinks[0];\n\n if (repairStartLink !== undefined) {\n return RepairSubagentStartLink.make({ submissionId, toolCallId: repairStartLink.toolCallId });\n }\n const awaitAdmission = awaitAdmissions[0];\n\n if (awaitAdmission !== undefined) {\n return AwaitChildAdmissionResolution.make({\n submissionId,\n toolCallId: awaitAdmission.toolCallId,\n });\n }\n const resumeBatch = resumeBatches[0];\n\n if (resumeBatch?.turn !== undefined) {\n return ResumePendingToolBatch.make({ submissionId, turn: resumeBatch.turn });\n }\n const waitingChildren = nonEmpty([...waiting, ...terminalUnjoined]);\n\n if (waiting.length > 0 && waitingChildren !== undefined) {\n return EnsureWaitingForChild.make({ submissionId, children: waitingChildren });\n }\n const settledChildren = nonEmpty(terminalUnjoined);\n\n if (settledChildren !== undefined) {\n return ResumeWaitingParent.make({ submissionId, children: settledChildren });\n }\n const orphans = nonEmpty(orphanReservations.map((reservation) => reservation.reservationId));\n\n if (orphans !== undefined) {\n return ReleaseOrphanChildReservation.make({ submissionId, reservationIds: orphans });\n }\n\n return undefined;\n};\n\n/**\n * The spec §13/§13.1 Subagent rows under a canonical parent abort intent: request-abort-and-join\n * is the only close behavior, so a nonterminal attached child converts `SettleAborted` into\n * `PropagateChildAbort`, terminal-but-unjoined children are joined first, incomplete releases\n * are applied, provably childless reservations release exactly once, and only a parent with no\n * open child obligation settles aborted. Returns `undefined` for exactly that last case.\n */\nconst classifyDelegationAbort = (\n submissionId: SubmissionId,\n views: ReadonlyArray<DelegationCallView>,\n): RecoveryDecision | undefined => {\n const awaitAdmissions: Array<DelegationCallView> = [];\n const repairStartLinks: Array<DelegationCallView> = [];\n const nonterminal: Array<WaitingChild> = [];\n const terminalUnjoined: Array<WaitingChild> = [];\n const applyJoins: Array<DelegationCallView> = [];\n const orphanReservations: Array<ChildBudgetReservationSnapshot> = [];\n\n for (const view of views) {\n if (view.reservation !== undefined && view.reservation.status === \"released\") {\n // Fully closed (release only follows the canonical join or a provably-childless orphan\n // decision): nothing left to abort, join, or release for this call.\n continue;\n }\n if (releasePendingReservation(view) !== undefined) {\n // The accounting decision is already frozen: finish the idempotent release; a second\n // (zero-consumed) freeze would conflict with the frozen decision.\n applyJoins.push(view);\n continue;\n }\n if (view.joined) {\n if (reservedReservation(view) !== undefined) applyJoins.push(view);\n continue;\n }\n if (view.childSubmissionId !== undefined) {\n if (!view.started) {\n // The child exists but the canonical start link is missing: repair it first so the\n // abort command targets a canonically linked child.\n repairStartLinks.push(view);\n continue;\n }\n const child = waitingChildOf(view, view.childSubmissionId);\n\n if (view.attachment !== undefined && isTerminalAttachment(view.attachment)) {\n terminalUnjoined.push(child);\n } else {\n nonterminal.push(child);\n }\n continue;\n }\n if (view.started || view.admission === \"admitted\") {\n repairStartLinks.push(view);\n continue;\n }\n if (view.requested) {\n if (view.admission === \"not-admitted\") {\n // Provably childless request under abort: never admit a child merely to abort it;\n // release the unused reservation exactly once.\n const reservation = reservedReservation(view);\n\n if (reservation !== undefined) orphanReservations.push(reservation);\n } else {\n // Indeterminate or unqueried: a child may exist — never release, settle, or re-admit\n // until the authoritative owner answers (SUB-031).\n awaitAdmissions.push(view);\n }\n continue;\n }\n const reservation = reservedReservation(view);\n\n if (reservation !== undefined) orphanReservations.push(reservation);\n // An open delegation call with no reservation carries no child obligation: establishment\n // never started, so the ordinary aborted settlement (with its unknown-audit for open\n // calls) is honest.\n }\n\n const awaitAdmission = awaitAdmissions[0];\n\n if (awaitAdmission !== undefined) {\n return AwaitChildAdmissionResolution.make({\n submissionId,\n toolCallId: awaitAdmission.toolCallId,\n });\n }\n const repairStartLink = repairStartLinks[0];\n\n if (repairStartLink !== undefined) {\n return RepairSubagentStartLink.make({ submissionId, toolCallId: repairStartLink.toolCallId });\n }\n const abortChildren = nonEmpty(nonterminal);\n\n if (abortChildren !== undefined) {\n return PropagateChildAbort.make({ submissionId, children: abortChildren });\n }\n const settledChildren = nonEmpty(terminalUnjoined);\n\n if (settledChildren !== undefined) {\n return ResumeWaitingParent.make({ submissionId, children: settledChildren });\n }\n const applyJoin = applyJoins[0];\n\n if (applyJoin?.reservation !== undefined) {\n return ApplyJoinAccounting.make({\n submissionId,\n toolCallId: applyJoin.toolCallId,\n reservationId: applyJoin.reservation.reservationId,\n });\n }\n const orphans = nonEmpty(orphanReservations.map((reservation) => reservation.reservationId));\n\n if (orphans !== undefined) {\n return ReleaseOrphanChildReservation.make({ submissionId, reservationIds: orphans });\n }\n\n return undefined;\n};\n\n/**\n * Pure recovery classifier (durability §14, DUR-013): a finite persisted snapshot plus canonical\n * evidence deterministically selects exactly one decision. Precedence, most-settled first\n * (plan §4.2/§4.3 — note the deliberate P5 reorder: canonical settlement and reservation beat\n * open tool calls, because a recorded terminal outcome is never revisited, DUR-002/DUR-015; and\n * the three S2 edits: the abort row propagates to nonterminal attached children, delegation\n * calls never mark Unknown, and the suspended row branches on the suspension reason):\n *\n * 1. `settled` → NoAction — terminal outcomes are never revisited (DUR-002).\n * 2. canonical settlement record → FinalizeLedgerFromHistory — history beats every ledger\n * marker (DUR-015), including a missing or divergent reservation AND open tool calls.\n * 3. reservation → FinalizeLedgerFromHistory when finalized, else AppendReservedSettlement —\n * the reserved record is the single exact outcome owed (DUR-011); it also beats a pending\n * abort intent (DUR-012).\n * 4. joined-side states (DUR-016): `joining` without canonical input → RevertJoining; `joining`\n * with canonical input → RepairJoinMarker (marker lost); `joined` + host settled →\n * SettleJoinedWithHost; `joined` + host live → AwaitHostSettlement (deferred).\n * 5. abort intent → the S2 abort rows (spec §13.1 request-abort-and-join): an unproven child\n * admission waits, an admitted-but-unlinked child repairs its start link, a nonterminal\n * attached child gets PropagateChildAbort — the parent does NOT settle — terminal children\n * are joined, incomplete releases applied, provably childless reservations released; ONLY a\n * parent with no open child obligation reaches SettleAborted, where open ordinary calls\n * become `ToolCallUnknown` audit records, never a rollback claim (§13). SettleAborted is\n * position-blind by design (P7 §7(c)): an aborted, never-claimed `ready` Submission earns it\n * ANYWHERE in the queue — the executor settles it immediately without waiting for it to head\n * the lane, because settlement order of never-run work is not execution order (DUR-004\n * bounds execution order; DUR-012 permits settling inactive accepted work without an\n * Attempt).\n * 6. ordinary open tool calls (state not yet `unknown`) → MarkUnknown — reconcile-then-mark,\n * never an automatic replay (DUR-009). Delegation calls are EXCLUDED (plan §4.3's most\n * important edit): their prepared-without-outcome state is provably replay-safe and routes\n * through rows 5/8/9 instead. A lane already `unknown` is in the DUR-017 resolution regime\n * (row 7) and is not re-marked.\n * 7. state `unknown` → ApplyUnknownResolutions when durable intents cover every open ordinary\n * call, else AwaitUnknownResolution.\n * 8. state `suspended` branches on the stored reason: `WaitingForChild` → ResumeWaitingParent\n * when every listed child is provably settled (replay the idempotent wake), else\n * AwaitChildSettlement (SUB-030); `ApprovalPending` keeps the P5 behavior — undecided\n * canonical approval requests → AwaitApprovalDecision (repairing a lost suspend transition\n * from history), every request decided → ResumeSuspended.\n * 9. the S2 establishment/join rows for a live parent (spec §13, most-repairing first):\n * ApplyJoinAccounting → CompleteChildAdmission → RepairSubagentStartLink →\n * AwaitChildAdmissionResolution → ResumePendingToolBatch (idempotent handler re-entry) →\n * EnsureWaitingForChild → ResumeWaitingParent → ReleaseOrphanChildReservation.\n * 10. declared-but-unprepared tool batch → ResumePendingToolBatch — no handler ran (no prepared\n * records), so the batch resumes with no model re-invocation and no Unknown (§15).\n * 11. `admitted` → a parent-linked Submission whose Thread lacks the canonical lineage\n * record defers (AwaitParentEstablishment: the parent's idempotent establishment\n * completes it); otherwise\n * CompleteMaterialization / RepairReadiness by Thread durability.\n * 12. otherwise → ApplyInput / RepairInputMarker / ResumeFromTurnBoundary by canonical input\n * evidence, with the ledger marker repaired from history, never the reverse.\n *\n * A CHILD Submission (one whose snapshot carries `parentLinkage`) classifies through exactly\n * the same rows as any Submission — child recovery proceeds under its own ownership token and\n * epoch (spec §13, SUB-020); nothing here consults the parent's lane.\n *\n * Ownership leases are deliberately ignored here: the executor's fenced claim is the only\n * authority over liveness, and a stale Attempt is fenced by producer epoch regardless (DUR-006).\n */\nexport const classifyRecovery = (\n snapshot: RecoverySnapshot,\n evidence: RecoveryEvidence,\n): RecoveryDecision => {\n const submissionId = snapshot.submission.submissionId;\n const state = snapshot.submission.state;\n\n if (state === \"settled\") {\n return NoAction.make({ submissionId });\n }\n if (evidence.recordedSettlementOutcome !== undefined) {\n return FinalizeLedgerFromHistory.make({\n submissionId,\n settlementId: snapshot.reservation?.settlementId ?? submissionSettlementId(submissionId),\n outcome: evidence.recordedSettlementOutcome,\n });\n }\n if (snapshot.reservation !== undefined) {\n if (snapshot.reservation.finalized) {\n return FinalizeLedgerFromHistory.make({\n submissionId,\n settlementId: snapshot.reservation.settlementId,\n outcome: snapshot.reservation.outcome,\n });\n }\n\n return AppendReservedSettlement.make({\n submissionId,\n settlementId: snapshot.reservation.settlementId,\n outcome: snapshot.reservation.outcome,\n });\n }\n if (state === \"joining\") {\n return evidence.inputRecorded\n ? RepairJoinMarker.make({ submissionId })\n : RevertJoining.make({ submissionId });\n }\n if (state === \"joined\") {\n if (evidence.hostSettlementOutcome !== undefined) {\n return SettleJoinedWithHost.make({\n submissionId,\n outcome: evidence.hostSettlementOutcome,\n });\n }\n\n return AwaitHostSettlement.make({\n submissionId,\n ...(snapshot.hostSubmissionId === undefined\n ? {}\n : { hostSubmissionId: snapshot.hostSubmissionId }),\n });\n }\n const delegationViews = delegationViewsOf(snapshot, evidence);\n\n if (snapshot.abortIntent !== undefined) {\n return (\n classifyDelegationAbort(submissionId, delegationViews) ?? SettleAborted.make({ submissionId })\n );\n }\n\n const delegationCallIds = new Set<string>(\n evidence.openDelegationCalls.map((call) => call.toolCallId),\n );\n\n const ordinaryOpenCalls = evidence.openToolCalls.filter(\n (call) => !delegationCallIds.has(call.toolCallId),\n );\n\n if (state !== \"unknown\" && ordinaryOpenCalls.length > 0) {\n return MarkUnknown.make({\n submissionId,\n reason: \"An ordinary Tool call may have executed without a canonical outcome\",\n openToolCallIds: ordinaryOpenCalls.map((call) => call.toolCallId),\n });\n }\n if (state === \"unknown\") {\n const resolved = new Set(\n snapshot.unknownResolutions.map((resolution) => resolution.toolCallId),\n );\n\n const covered = ordinaryOpenCalls.every((call) => resolved.has(call.toolCallId));\n\n return covered\n ? ApplyUnknownResolutions.make({ submissionId })\n : AwaitUnknownResolution.make({ submissionId });\n }\n const decided = new Set(snapshot.approvalDecisions.map((decision) => decision.toolCallId));\n\n const undecidedApprovals = evidence.approvalsPending.filter(\n (pending) => !decided.has(pending.toolCallId),\n );\n\n if (state === \"suspended\") {\n const reason = snapshot.suspension?.reason;\n\n if (reason !== undefined && reason._tag === \"WaitingForChild\") {\n const terminalChildIds = new Set(\n snapshot.childAttachments\n .filter(isTerminalAttachment)\n .map((attachment) => attachment.childSubmissionId),\n );\n\n return reason.children.every((child) => terminalChildIds.has(child.childSubmissionId))\n ? ResumeWaitingParent.make({ submissionId, children: reason.children })\n : AwaitChildSettlement.make({ submissionId });\n }\n\n return undecidedApprovals.length === 0\n ? ResumeSuspended.make({ submissionId })\n : AwaitApprovalDecision.make({ submissionId });\n }\n if (undecidedApprovals.length > 0) {\n return AwaitApprovalDecision.make({ submissionId });\n }\n const delegationDecision = classifyDelegationRepairs(submissionId, delegationViews);\n\n if (delegationDecision !== undefined) {\n return delegationDecision;\n }\n if (evidence.declaredPendingBatch !== undefined) {\n return ResumePendingToolBatch.make({\n submissionId,\n turn: evidence.declaredPendingBatch.turn,\n });\n }\n const workerCall = evidence.openWorkerCalls?.[0];\n\n if (workerCall !== undefined) {\n return ResumePendingToolBatch.make({ submissionId, turn: workerCall.turn });\n }\n if (state === \"admitted\") {\n // A parent-linked child never self-repairs readiness before its immutable\n // lineage record is canonical — the parent's establishment appends lineage BEFORE\n // markReady, so the parent completes the child idempotently.\n const linkage = snapshot.submission.parentLinkage ?? snapshot.parentLinkage;\n\n if (linkage !== undefined && !evidence.subagentLineageRecorded) {\n return AwaitParentEstablishment.make({\n submissionId,\n parentSubmissionId: linkage.parentSubmissionId,\n parentToolCallId: linkage.parentToolCallId,\n });\n }\n\n return evidence.threadMaterialized\n ? RepairReadiness.make({ submissionId })\n : CompleteMaterialization.make({ submissionId });\n }\n if (!evidence.inputRecorded) {\n return ApplyInput.make({ submissionId });\n }\n if (snapshot.inputApplied === undefined) {\n return RepairInputMarker.make({ submissionId });\n }\n\n return ResumeFromTurnBoundary.make({ submissionId });\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { $n as turnBatchId, An as runCompletedRecordId, Bn as subagentStartedBatchId, Cn as markUnknownBatchId, Dn as projectRunJournal, En as modelResponseRecordId, Fn as subagentJoinedRecordId, Gn as toolCallResolutionBatchId, Hn as toolApprovalDecisionRecordId, In as subagentLineageBatchId, Jn as toolCallSettledRecordId, Kn as toolCallResolvedRecordId, Ln as subagentLineageRecordId, Mn as runStartedBatchId, Nn as runStartedRecordId, On as projectRunJournalStream, Pn as subagentJoinBatchId, Qn as turnApprovalsBatchId, Rn as subagentRequestedBatchId, Sn as compactionRecordId, Tn as modelResponseInterruptedRecordId, Un as toolApprovalRequestRecordId, Vn as subagentStartedRecordId, Wn as toolCallPreparedRecordId, Xn as toolStepSettledBatchId, Yn as toolCallUnknownRecordId, Zn as toolStepSettledRecordId, _n as TurnCommitInput, ar as turnResultsBatch, bn as childThreadIdFor, er as turnCanonicalBatch, fn as JournalBoundary, hn as RunJournalUsage, ir as turnResponseBatchId, jn as runIdForSubmission, kn as promptFromCanonicalRecords, mn as RunJournalProjection, nr as turnPreparedBatchId, or as turnResultsBatchId, pn as RunJournalError, qn as toolCallResultBatchId, rr as turnResponseBatch, tr as turnIdForRun, vn as approvalDecisionBatchId, wn as modelResponseInterruptedBatchId, xn as compactionBatchId, yn as childIdempotencyKeyFor, zn as subagentRequestedRecordId } from "../Records-BAGkekt8.mjs";
|
|
2
|
+
export { JournalBoundary, RunJournalError, RunJournalProjection, RunJournalUsage, TurnCommitInput, approvalDecisionBatchId, childIdempotencyKeyFor, childThreadIdFor, compactionBatchId, compactionRecordId, markUnknownBatchId, modelResponseInterruptedBatchId, modelResponseInterruptedRecordId, modelResponseRecordId, projectRunJournal, projectRunJournalStream, promptFromCanonicalRecords, runCompletedRecordId, runIdForSubmission, runStartedBatchId, runStartedRecordId, subagentJoinBatchId, subagentJoinedRecordId, subagentLineageBatchId, subagentLineageRecordId, subagentRequestedBatchId, subagentRequestedRecordId, subagentStartedBatchId, subagentStartedRecordId, toolApprovalDecisionRecordId, toolApprovalRequestRecordId, toolCallPreparedRecordId, toolCallResolutionBatchId, toolCallResolvedRecordId, toolCallResultBatchId, toolCallSettledRecordId, toolCallUnknownRecordId, toolStepSettledBatchId, toolStepSettledRecordId, turnApprovalsBatchId, turnBatchId, turnCanonicalBatch, turnIdForRun, turnPreparedBatchId, turnResponseBatch, turnResponseBatchId, turnResultsBatch, turnResultsBatchId };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { A as toolCallResolutionBatchId, B as turnIdForRun, C as subagentRequestedBatchId, D as toolApprovalDecisionRecordId, E as subagentStartedRecordId, F as toolStepSettledBatchId, G as turnResultsBatchId, H as turnResponseBatch, I as toolStepSettledRecordId, L as turnApprovalsBatchId, M as toolCallResultBatchId, N as toolCallSettledRecordId, O as toolApprovalRequestRecordId, P as toolCallUnknownRecordId, R as turnBatchId, S as subagentLineageRecordId, T as subagentStartedBatchId, U as turnResponseBatchId, V as turnPreparedBatchId, W as turnResultsBatch, _ as runStartedBatchId, a as childThreadIdFor, b as subagentJoinedRecordId, c as markUnknownBatchId, d as modelResponseRecordId, f as projectRunJournal, g as runIdForSubmission, h as runCompletedRecordId, i as childIdempotencyKeyFor, j as toolCallResolvedRecordId, k as toolCallPreparedRecordId, l as modelResponseInterruptedBatchId, m as promptFromCanonicalRecords, o as compactionBatchId, p as projectRunJournalStream, r as approvalDecisionBatchId, s as compactionRecordId, t as RunJournalError, u as modelResponseInterruptedRecordId, v as runStartedRecordId, w as subagentRequestedRecordId, x as subagentLineageBatchId, y as subagentJoinBatchId, z as turnCanonicalBatch } from "../RunJournal-Cgg1kNvc.mjs";
|
|
2
|
+
export { RunJournalError, approvalDecisionBatchId, childIdempotencyKeyFor, childThreadIdFor, compactionBatchId, compactionRecordId, markUnknownBatchId, modelResponseInterruptedBatchId, modelResponseInterruptedRecordId, modelResponseRecordId, projectRunJournal, projectRunJournalStream, promptFromCanonicalRecords, runCompletedRecordId, runIdForSubmission, runStartedBatchId, runStartedRecordId, subagentJoinBatchId, subagentJoinedRecordId, subagentLineageBatchId, subagentLineageRecordId, subagentRequestedBatchId, subagentRequestedRecordId, subagentStartedBatchId, subagentStartedRecordId, toolApprovalDecisionRecordId, toolApprovalRequestRecordId, toolCallPreparedRecordId, toolCallResolutionBatchId, toolCallResolvedRecordId, toolCallResultBatchId, toolCallSettledRecordId, toolCallUnknownRecordId, toolStepSettledBatchId, toolStepSettledRecordId, turnApprovalsBatchId, turnBatchId, turnCanonicalBatch, turnIdForRun, turnPreparedBatchId, turnResponseBatch, turnResponseBatchId, turnResultsBatch, turnResultsBatchId };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { A as ScheduleSnapshotPage, B as ScheduledInputAdmission, C as ScheduleRecord, D as ScheduleScope, E as ScheduleRetryReason, F as ScheduleTimingRequest, G as defaultSchedulingLimits, H as ScheduledInputRefused, I as ScheduleValidationError, L as ScheduleWake, M as ScheduleStore, N as ScheduleStoreFailure, O as ScheduleSkippedRange, P as ScheduleTiming, S as SchedulePending, T as ScheduleRetry, U as ScheduledInputRetryable, V as ScheduledInputFailure, W as SchedulingLimits, _ as ScheduleNotFound, a as ScheduleChange, b as SchedulePage, c as ScheduleDestination, d as ScheduleFailpointError, f as ScheduleId, g as ScheduleManagementOperation, h as ScheduleManagementAuthorization, i as ScheduleCapacityError, j as ScheduleStorageError, k as ScheduleSnapshot, l as ScheduleDueCursor, m as ScheduleKey, n as ScheduleAuthorizationError, o as ScheduleConfiguration, p as ScheduleInstant, r as ScheduleAuthorizer, s as ScheduleConflict, t as ScheduleAuthorizationDecision, u as ScheduleFailpoint, v as ScheduleOccurrenceAuthorization, w as ScheduleRefusal, x as SchedulePageRequest, y as ScheduleOwner, z as ScheduledEnvelope } from "../Schedule-H3SEYX9g.mjs";
|
|
2
|
+
export { ScheduleAuthorizationDecision, ScheduleAuthorizationError, ScheduleAuthorizer, ScheduleCapacityError, ScheduleChange, ScheduleConfiguration, ScheduleConflict, ScheduleDestination, ScheduleDueCursor, ScheduleFailpoint, ScheduleFailpointError, ScheduleId, ScheduleInstant, ScheduleKey, ScheduleManagementAuthorization, ScheduleManagementOperation, ScheduleNotFound, ScheduleOccurrenceAuthorization, ScheduleOwner, SchedulePage, SchedulePageRequest, SchedulePending, ScheduleRecord, ScheduleRefusal, ScheduleRetry, ScheduleRetryReason, ScheduleScope, ScheduleSkippedRange, ScheduleSnapshot, ScheduleSnapshotPage, ScheduleStorageError, ScheduleStore, ScheduleStoreFailure, ScheduleTiming, ScheduleTimingRequest, ScheduleValidationError, ScheduleWake, ScheduledEnvelope, ScheduledInputAdmission, ScheduledInputFailure, ScheduledInputRefused, ScheduledInputRetryable, SchedulingLimits, defaultSchedulingLimits };
|
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
import { t as __exportAll } from "../rolldown-runtime-D7D4PA-g.mjs";
|
|
2
|
+
import { AgentId, ThreadId } from "../core/Identifiers.mjs";
|
|
3
|
+
import { IdempotencyKey, Principal, Receipt } from "../core/Receipt.mjs";
|
|
4
|
+
import { DefinitionDigests, Digest, PersistedJson } from "./Records.mjs";
|
|
5
|
+
import { AdmissionFence, AdmissionGroup } from "./SubmissionLedger.mjs";
|
|
6
|
+
import { Context, Effect, Schema } from "effect";
|
|
7
|
+
//#region src/durable/Schedule.ts
|
|
8
|
+
var Schedule_exports = /* @__PURE__ */ __exportAll({
|
|
9
|
+
ScheduleAuthorizationDecision: () => ScheduleAuthorizationDecision,
|
|
10
|
+
ScheduleAuthorizationError: () => ScheduleAuthorizationError,
|
|
11
|
+
ScheduleAuthorizer: () => ScheduleAuthorizer,
|
|
12
|
+
ScheduleCapacityError: () => ScheduleCapacityError,
|
|
13
|
+
ScheduleChange: () => ScheduleChange,
|
|
14
|
+
ScheduleConfiguration: () => ScheduleConfiguration,
|
|
15
|
+
ScheduleConflict: () => ScheduleConflict,
|
|
16
|
+
ScheduleDestination: () => ScheduleDestination,
|
|
17
|
+
ScheduleDueCursor: () => ScheduleDueCursor,
|
|
18
|
+
ScheduleFailpoint: () => ScheduleFailpoint,
|
|
19
|
+
ScheduleFailpointError: () => ScheduleFailpointError,
|
|
20
|
+
ScheduleId: () => ScheduleId,
|
|
21
|
+
ScheduleInstant: () => ScheduleInstant,
|
|
22
|
+
ScheduleKey: () => ScheduleKey,
|
|
23
|
+
ScheduleNotFound: () => ScheduleNotFound,
|
|
24
|
+
ScheduleOwner: () => ScheduleOwner,
|
|
25
|
+
SchedulePage: () => SchedulePage,
|
|
26
|
+
SchedulePageRequest: () => SchedulePageRequest,
|
|
27
|
+
SchedulePending: () => SchedulePending,
|
|
28
|
+
ScheduleRecord: () => ScheduleRecord,
|
|
29
|
+
ScheduleRefusal: () => ScheduleRefusal,
|
|
30
|
+
ScheduleRetry: () => ScheduleRetry,
|
|
31
|
+
ScheduleRetryReason: () => ScheduleRetryReason,
|
|
32
|
+
ScheduleScope: () => ScheduleScope,
|
|
33
|
+
ScheduleSkippedRange: () => ScheduleSkippedRange,
|
|
34
|
+
ScheduleSnapshot: () => ScheduleSnapshot,
|
|
35
|
+
ScheduleSnapshotPage: () => ScheduleSnapshotPage,
|
|
36
|
+
ScheduleStorageError: () => ScheduleStorageError,
|
|
37
|
+
ScheduleStore: () => ScheduleStore,
|
|
38
|
+
ScheduleTiming: () => ScheduleTiming,
|
|
39
|
+
ScheduleTimingRequest: () => ScheduleTimingRequest,
|
|
40
|
+
ScheduleValidationError: () => ScheduleValidationError,
|
|
41
|
+
ScheduleWake: () => ScheduleWake,
|
|
42
|
+
ScheduledEnvelope: () => ScheduledEnvelope,
|
|
43
|
+
ScheduledInputAdmission: () => ScheduledInputAdmission,
|
|
44
|
+
ScheduledInputRefused: () => ScheduledInputRefused,
|
|
45
|
+
ScheduledInputRetryable: () => ScheduledInputRetryable,
|
|
46
|
+
SchedulingLimits: () => SchedulingLimits,
|
|
47
|
+
defaultSchedulingLimits: () => defaultSchedulingLimits
|
|
48
|
+
});
|
|
49
|
+
const Name = Schema.NonEmptyString.check(Schema.isMaxLength(128), Schema.isPattern(/^[^\p{Surrogate}]*$/u));
|
|
50
|
+
/** Milliseconds since the Unix epoch, within DateTime's supported range. */
|
|
51
|
+
const ScheduleInstant = Schema.Int.check(Schema.isGreaterThanOrEqualTo(0), Schema.isLessThanOrEqualTo(864e13));
|
|
52
|
+
const Positive = Schema.Int.check(Schema.isGreaterThan(0));
|
|
53
|
+
const ScheduleId = Name.pipe(Schema.brand("@effect-agent/thread/ScheduleId"));
|
|
54
|
+
const ScheduleOwner = Schema.Struct({
|
|
55
|
+
tenantId: Name,
|
|
56
|
+
ownerId: Name
|
|
57
|
+
});
|
|
58
|
+
const ScheduleKey = Schema.Struct({
|
|
59
|
+
owner: ScheduleOwner,
|
|
60
|
+
scheduleId: ScheduleId
|
|
61
|
+
});
|
|
62
|
+
const ScheduleScope = Schema.Struct({
|
|
63
|
+
owner: ScheduleOwner,
|
|
64
|
+
principal: Principal
|
|
65
|
+
});
|
|
66
|
+
const At = Schema.Struct({
|
|
67
|
+
_tag: Schema.Literal("At"),
|
|
68
|
+
atMillis: ScheduleInstant
|
|
69
|
+
});
|
|
70
|
+
const After = Schema.Struct({
|
|
71
|
+
_tag: Schema.Literal("After"),
|
|
72
|
+
delayMillis: Positive
|
|
73
|
+
});
|
|
74
|
+
const Interval = Schema.Struct({
|
|
75
|
+
_tag: Schema.Literal("Interval"),
|
|
76
|
+
everyMillis: Positive,
|
|
77
|
+
anchorMillis: ScheduleInstant
|
|
78
|
+
});
|
|
79
|
+
const Cron$1 = Schema.Struct({
|
|
80
|
+
_tag: Schema.Literal("Cron"),
|
|
81
|
+
expression: Schema.NonEmptyString.check(Schema.isMaxLength(256)),
|
|
82
|
+
timeZone: Schema.NonEmptyString.check(Schema.isMaxLength(128))
|
|
83
|
+
});
|
|
84
|
+
/** A relative delay is a request value, never a stored unresolved deadline. */
|
|
85
|
+
const ScheduleTimingRequest = Schema.Union([
|
|
86
|
+
At,
|
|
87
|
+
After,
|
|
88
|
+
Schema.Struct({
|
|
89
|
+
_tag: Schema.Literal("Interval"),
|
|
90
|
+
everyMillis: Positive,
|
|
91
|
+
anchorMillis: Schema.optionalKey(ScheduleInstant)
|
|
92
|
+
}),
|
|
93
|
+
Schema.Struct({
|
|
94
|
+
_tag: Schema.Literal("Cron"),
|
|
95
|
+
expression: Schema.NonEmptyString.check(Schema.isMaxLength(256)),
|
|
96
|
+
timeZone: Schema.optionalKey(Schema.NonEmptyString.check(Schema.isMaxLength(128)))
|
|
97
|
+
})
|
|
98
|
+
]);
|
|
99
|
+
const ScheduleTiming = Schema.Union([
|
|
100
|
+
At,
|
|
101
|
+
Interval,
|
|
102
|
+
Cron$1
|
|
103
|
+
]);
|
|
104
|
+
const ScheduleDestination = Schema.Union([Schema.Struct({
|
|
105
|
+
_tag: Schema.Literal("ExistingThread"),
|
|
106
|
+
threadId: ThreadId
|
|
107
|
+
}), Schema.Struct({ _tag: Schema.Literal("FreshThread") })]);
|
|
108
|
+
const ScheduleConfiguration = Schema.Struct({
|
|
109
|
+
timing: ScheduleTiming,
|
|
110
|
+
destination: ScheduleDestination,
|
|
111
|
+
deliveryPrincipal: Principal,
|
|
112
|
+
admissionGroup: Schema.optionalKey(AdmissionGroup),
|
|
113
|
+
admissionFence: Schema.optionalKey(AdmissionFence),
|
|
114
|
+
agentId: AgentId,
|
|
115
|
+
definitions: DefinitionDigests,
|
|
116
|
+
input: PersistedJson,
|
|
117
|
+
inputDigest: Digest
|
|
118
|
+
});
|
|
119
|
+
/** Persist only bounded policy identifiers, never credentials or arbitrary diagnostics. */
|
|
120
|
+
const ScheduleAuthorizationDecision = Schema.Struct({
|
|
121
|
+
policyId: Name,
|
|
122
|
+
decisionId: Name
|
|
123
|
+
});
|
|
124
|
+
const ScheduledEnvelope = Schema.Struct({
|
|
125
|
+
schemaVersion: Schema.Literal(1),
|
|
126
|
+
owner: ScheduleOwner,
|
|
127
|
+
scheduleId: ScheduleId,
|
|
128
|
+
configurationRevision: Positive,
|
|
129
|
+
intendedAtMillis: ScheduleInstant,
|
|
130
|
+
preparedAtMillis: ScheduleInstant,
|
|
131
|
+
occurrenceId: Digest,
|
|
132
|
+
threadId: ThreadId,
|
|
133
|
+
deliveryPrincipal: Principal,
|
|
134
|
+
admissionGroup: Schema.optionalKey(AdmissionGroup),
|
|
135
|
+
admissionFence: Schema.optionalKey(AdmissionFence),
|
|
136
|
+
agentId: AgentId,
|
|
137
|
+
definitions: DefinitionDigests,
|
|
138
|
+
input: PersistedJson,
|
|
139
|
+
inputDigest: Digest,
|
|
140
|
+
admissionKey: IdempotencyKey,
|
|
141
|
+
authorization: ScheduleAuthorizationDecision
|
|
142
|
+
});
|
|
143
|
+
const ScheduleRetryReason = Schema.Literals([
|
|
144
|
+
"transport",
|
|
145
|
+
"capacity",
|
|
146
|
+
"storage",
|
|
147
|
+
"host-closed",
|
|
148
|
+
"timeout",
|
|
149
|
+
"ambiguous"
|
|
150
|
+
]);
|
|
151
|
+
const ScheduleRetry = Schema.Struct({
|
|
152
|
+
attempts: Schema.Natural,
|
|
153
|
+
generation: Schema.Natural,
|
|
154
|
+
automaticAttempts: Schema.Natural,
|
|
155
|
+
parked: Schema.Boolean,
|
|
156
|
+
nextAttemptAtMillis: ScheduleInstant,
|
|
157
|
+
lastAttemptAtMillis: Schema.NullOr(ScheduleInstant),
|
|
158
|
+
lastFailure: Schema.NullOr(ScheduleRetryReason)
|
|
159
|
+
});
|
|
160
|
+
const SchedulePending = Schema.Struct({
|
|
161
|
+
envelope: ScheduledEnvelope,
|
|
162
|
+
retry: ScheduleRetry
|
|
163
|
+
});
|
|
164
|
+
const ScheduleRefusal = Schema.Struct({
|
|
165
|
+
atMillis: ScheduleInstant,
|
|
166
|
+
intendedAtMillis: ScheduleInstant,
|
|
167
|
+
occurrenceId: Schema.NullOr(Digest),
|
|
168
|
+
phase: Schema.Literals(["preparation", "admission"]),
|
|
169
|
+
code: Name
|
|
170
|
+
});
|
|
171
|
+
/** Half-open interval [fromMillis, toMillis); the upper bound is not skipped. */
|
|
172
|
+
const ScheduleSkippedRange = Schema.Struct({
|
|
173
|
+
fromMillis: ScheduleInstant,
|
|
174
|
+
toMillis: ScheduleInstant
|
|
175
|
+
});
|
|
176
|
+
const ScheduleRecord = Schema.Struct({
|
|
177
|
+
schemaVersion: Schema.Literal(1),
|
|
178
|
+
owner: ScheduleOwner,
|
|
179
|
+
scheduleId: ScheduleId,
|
|
180
|
+
creationFingerprint: Digest,
|
|
181
|
+
createdBy: Principal,
|
|
182
|
+
createdAtMillis: ScheduleInstant,
|
|
183
|
+
updatedAtMillis: ScheduleInstant,
|
|
184
|
+
configurationRevision: Positive,
|
|
185
|
+
version: Positive,
|
|
186
|
+
configuration: ScheduleConfiguration,
|
|
187
|
+
state: Schema.Literals([
|
|
188
|
+
"active",
|
|
189
|
+
"paused",
|
|
190
|
+
"cancelled"
|
|
191
|
+
]),
|
|
192
|
+
nextAtMillis: Schema.NullOr(ScheduleInstant),
|
|
193
|
+
pending: Schema.NullOr(SchedulePending),
|
|
194
|
+
lastReceipt: Schema.NullOr(Schema.Struct({
|
|
195
|
+
atMillis: ScheduleInstant,
|
|
196
|
+
intendedAtMillis: ScheduleInstant,
|
|
197
|
+
occurrenceId: Digest,
|
|
198
|
+
receipt: Receipt
|
|
199
|
+
})),
|
|
200
|
+
lastRefusal: Schema.NullOr(ScheduleRefusal),
|
|
201
|
+
lastSkippedRange: Schema.NullOr(ScheduleSkippedRange)
|
|
202
|
+
});
|
|
203
|
+
const ScheduleSnapshot = Schema.Struct({
|
|
204
|
+
owner: ScheduleOwner,
|
|
205
|
+
scheduleId: ScheduleId,
|
|
206
|
+
createdAtMillis: ScheduleInstant,
|
|
207
|
+
updatedAtMillis: ScheduleInstant,
|
|
208
|
+
configurationRevision: Positive,
|
|
209
|
+
configuration: Schema.Struct({
|
|
210
|
+
timing: ScheduleTiming,
|
|
211
|
+
destination: ScheduleDestination,
|
|
212
|
+
deliveryPrincipal: Principal,
|
|
213
|
+
admissionGroup: Schema.optionalKey(AdmissionGroup),
|
|
214
|
+
admissionFence: Schema.optionalKey(AdmissionFence),
|
|
215
|
+
agentId: AgentId
|
|
216
|
+
}),
|
|
217
|
+
state: Schema.Literals([
|
|
218
|
+
"active",
|
|
219
|
+
"paused",
|
|
220
|
+
"cancelled"
|
|
221
|
+
]),
|
|
222
|
+
nextAtMillis: Schema.NullOr(ScheduleInstant),
|
|
223
|
+
pending: Schema.NullOr(Schema.Struct({
|
|
224
|
+
intendedAtMillis: ScheduleInstant,
|
|
225
|
+
preparedAtMillis: ScheduleInstant,
|
|
226
|
+
configurationRevision: Schema.optionalKey(Positive),
|
|
227
|
+
occurrenceId: Digest,
|
|
228
|
+
retry: ScheduleRetry
|
|
229
|
+
})),
|
|
230
|
+
lastReceipt: Schema.NullOr(Schema.Struct({
|
|
231
|
+
atMillis: ScheduleInstant,
|
|
232
|
+
intendedAtMillis: ScheduleInstant,
|
|
233
|
+
occurrenceId: Digest,
|
|
234
|
+
receipt: Receipt
|
|
235
|
+
})),
|
|
236
|
+
lastRefusal: Schema.NullOr(ScheduleRefusal),
|
|
237
|
+
lastSkippedRange: Schema.NullOr(ScheduleSkippedRange),
|
|
238
|
+
observedAtMillis: ScheduleInstant,
|
|
239
|
+
pendingAgeMillis: Schema.NullOr(Schema.Natural),
|
|
240
|
+
latenessMillis: Schema.Natural
|
|
241
|
+
});
|
|
242
|
+
const ScheduleSnapshotPage = Schema.Struct({
|
|
243
|
+
items: Schema.Array(ScheduleSnapshot).check(Schema.isMaxLength(100)),
|
|
244
|
+
next: Schema.NullOr(ScheduleId)
|
|
245
|
+
});
|
|
246
|
+
var ScheduleValidationError = class extends Schema.TaggedError()("ScheduleValidationError", { message: Schema.String }) {};
|
|
247
|
+
var ScheduleConflict = class extends Schema.TaggedError()("ScheduleConflict", {
|
|
248
|
+
reason: Schema.Literals([
|
|
249
|
+
"creation",
|
|
250
|
+
"revision",
|
|
251
|
+
"cancelled"
|
|
252
|
+
]),
|
|
253
|
+
key: ScheduleKey
|
|
254
|
+
}) {};
|
|
255
|
+
var ScheduleNotFound = class extends Schema.TaggedError()("ScheduleNotFound", { key: ScheduleKey }) {};
|
|
256
|
+
var ScheduleAuthorizationError = class extends Schema.TaggedError()("ScheduleAuthorizationError", { code: Name }) {};
|
|
257
|
+
var ScheduleCapacityError = class extends Schema.TaggedError()("ScheduleCapacityError", { limit: Positive }) {};
|
|
258
|
+
var ScheduleStorageError = class extends Schema.TaggedError()("ScheduleStorageError", {
|
|
259
|
+
cause: Schema.optionalKey(Schema.Defect()),
|
|
260
|
+
operation: Schema.String,
|
|
261
|
+
reason: Schema.Literals(["unavailable", "corrupt"])
|
|
262
|
+
}) {};
|
|
263
|
+
/** Only when the unchanged envelope was not admitted and cannot succeed, including on replay. */
|
|
264
|
+
var ScheduledInputRefused = class extends Schema.TaggedError()("ScheduledInputRefused", { code: Name }) {};
|
|
265
|
+
/** Includes lost replies: admission may already have committed. */
|
|
266
|
+
var ScheduledInputRetryable = class extends Schema.TaggedError()("ScheduledInputRetryable", { reason: ScheduleRetryReason }) {};
|
|
267
|
+
var ScheduledInputAdmission = class extends Context.Service()("@effect-agent/thread/ScheduledInputAdmission") {};
|
|
268
|
+
/** Hosts must supply an explicit authorizer. There is no possession/default allow Layer. */
|
|
269
|
+
var ScheduleAuthorizer = class extends Context.Service()("@effect-agent/thread/ScheduleAuthorizer") {};
|
|
270
|
+
const SchedulingLimits = Schema.Struct({
|
|
271
|
+
maxSchedulesPerOwner: Positive.check(Schema.isLessThanOrEqualTo(1e5)),
|
|
272
|
+
minIntervalMillis: Positive,
|
|
273
|
+
maxInputBytes: Positive.check(Schema.isLessThanOrEqualTo(65536)),
|
|
274
|
+
dueBatchSize: Positive.check(Schema.isLessThanOrEqualTo(1024)),
|
|
275
|
+
admissionConcurrency: Positive.check(Schema.isLessThanOrEqualTo(64)),
|
|
276
|
+
retryBaseMillis: Positive,
|
|
277
|
+
retryMaxMillis: Positive,
|
|
278
|
+
admissionTimeoutMillis: Positive,
|
|
279
|
+
recoveryPollMillis: Positive,
|
|
280
|
+
maxAutomaticAttempts: Schema.optionalKey(Positive)
|
|
281
|
+
});
|
|
282
|
+
const defaultSchedulingLimits = {
|
|
283
|
+
maxSchedulesPerOwner: 1e3,
|
|
284
|
+
minIntervalMillis: 6e4,
|
|
285
|
+
maxInputBytes: 65536,
|
|
286
|
+
dueBatchSize: 64,
|
|
287
|
+
admissionConcurrency: 8,
|
|
288
|
+
retryBaseMillis: 1e3,
|
|
289
|
+
retryMaxMillis: 3e5,
|
|
290
|
+
admissionTimeoutMillis: 3e4,
|
|
291
|
+
recoveryPollMillis: 3e4,
|
|
292
|
+
maxAutomaticAttempts: 8
|
|
293
|
+
};
|
|
294
|
+
const SchedulePageRequest = Schema.Struct({
|
|
295
|
+
owner: ScheduleOwner,
|
|
296
|
+
after: Schema.optionalKey(ScheduleId),
|
|
297
|
+
limit: Positive.check(Schema.isLessThanOrEqualTo(100))
|
|
298
|
+
});
|
|
299
|
+
const SchedulePage = Schema.Struct({
|
|
300
|
+
items: Schema.Array(ScheduleRecord).check(Schema.isMaxLength(100)),
|
|
301
|
+
next: Schema.NullOr(ScheduleId)
|
|
302
|
+
});
|
|
303
|
+
/** Driver pagination uses the index only; a corrupt record cannot poison an entire page. */
|
|
304
|
+
const ScheduleDueCursor = Schema.Struct({
|
|
305
|
+
owner: ScheduleOwner,
|
|
306
|
+
scheduleId: ScheduleId,
|
|
307
|
+
deadlineAtMillis: ScheduleInstant
|
|
308
|
+
});
|
|
309
|
+
/** Local transaction commands. Admission is deliberately absent from this union. */
|
|
310
|
+
const ScheduleChange = Schema.Union([
|
|
311
|
+
Schema.Struct({
|
|
312
|
+
_tag: Schema.Literal("Recover"),
|
|
313
|
+
expectedGeneration: Schema.Natural,
|
|
314
|
+
expectedRevision: Positive,
|
|
315
|
+
occurrenceId: Digest,
|
|
316
|
+
nowMillis: ScheduleInstant
|
|
317
|
+
}),
|
|
318
|
+
Schema.Struct({
|
|
319
|
+
_tag: Schema.Literal("Update"),
|
|
320
|
+
expectedRevision: Positive,
|
|
321
|
+
configuration: ScheduleConfiguration,
|
|
322
|
+
nextAtMillis: Schema.NullOr(ScheduleInstant),
|
|
323
|
+
nowMillis: ScheduleInstant
|
|
324
|
+
}),
|
|
325
|
+
Schema.Struct({
|
|
326
|
+
_tag: Schema.Literal("Control"),
|
|
327
|
+
expectedRevision: Positive,
|
|
328
|
+
expectedVersion: Positive,
|
|
329
|
+
action: Schema.Literals([
|
|
330
|
+
"pause",
|
|
331
|
+
"resume",
|
|
332
|
+
"cancel"
|
|
333
|
+
]),
|
|
334
|
+
nextAtMillis: Schema.NullOr(ScheduleInstant),
|
|
335
|
+
nowMillis: ScheduleInstant,
|
|
336
|
+
skippedRange: Schema.NullOr(ScheduleSkippedRange)
|
|
337
|
+
}),
|
|
338
|
+
Schema.Struct({
|
|
339
|
+
_tag: Schema.Literal("Prepare"),
|
|
340
|
+
expectedRevision: Positive,
|
|
341
|
+
expectedCursor: ScheduleInstant,
|
|
342
|
+
envelope: ScheduledEnvelope,
|
|
343
|
+
nextAtMillis: Schema.NullOr(ScheduleInstant),
|
|
344
|
+
skippedRange: Schema.NullOr(ScheduleSkippedRange),
|
|
345
|
+
nowMillis: ScheduleInstant
|
|
346
|
+
}),
|
|
347
|
+
Schema.Struct({
|
|
348
|
+
_tag: Schema.Literal("DenyPreparation"),
|
|
349
|
+
expectedRevision: Positive,
|
|
350
|
+
expectedCursor: ScheduleInstant,
|
|
351
|
+
refusal: ScheduleRefusal,
|
|
352
|
+
nowMillis: ScheduleInstant
|
|
353
|
+
}),
|
|
354
|
+
Schema.Struct({
|
|
355
|
+
_tag: Schema.Literal("Complete"),
|
|
356
|
+
occurrenceId: Digest,
|
|
357
|
+
receipt: Receipt,
|
|
358
|
+
nowMillis: ScheduleInstant
|
|
359
|
+
}),
|
|
360
|
+
Schema.Struct({
|
|
361
|
+
_tag: Schema.Literal("Retry"),
|
|
362
|
+
occurrenceId: Digest,
|
|
363
|
+
retry: ScheduleRetry,
|
|
364
|
+
nowMillis: ScheduleInstant
|
|
365
|
+
}),
|
|
366
|
+
Schema.Struct({
|
|
367
|
+
_tag: Schema.Literal("Refuse"),
|
|
368
|
+
occurrenceId: Digest,
|
|
369
|
+
refusal: ScheduleRefusal,
|
|
370
|
+
nowMillis: ScheduleInstant
|
|
371
|
+
})
|
|
372
|
+
]);
|
|
373
|
+
/** Each insert/change is one atomic local transaction, including platform wake changes. */
|
|
374
|
+
var ScheduleStore = class extends Context.Service()("@effect-agent/thread/ScheduleStore") {};
|
|
375
|
+
/** A dropped hint is repaired by the driver's indexed recovery query. */
|
|
376
|
+
var ScheduleWake = class extends Context.Service()("@effect-agent/thread/ScheduleWake") {};
|
|
377
|
+
var ScheduleFailpointError = class extends Schema.TaggedError()("ScheduleFailpointError", { point: Schema.String }) {};
|
|
378
|
+
const ScheduleFailpoint = Context.Reference("@effect-agent/thread/ScheduleFailpoint", { defaultValue: () => ({ hit: () => Effect.void }) });
|
|
379
|
+
//#endregion
|
|
380
|
+
export { ScheduleAuthorizationDecision, ScheduleAuthorizationError, ScheduleAuthorizer, ScheduleCapacityError, ScheduleChange, ScheduleConfiguration, ScheduleConflict, ScheduleDestination, ScheduleDueCursor, ScheduleFailpoint, ScheduleFailpointError, ScheduleId, ScheduleInstant, ScheduleKey, ScheduleNotFound, ScheduleOwner, SchedulePage, SchedulePageRequest, SchedulePending, ScheduleRecord, ScheduleRefusal, ScheduleRetry, ScheduleRetryReason, ScheduleScope, ScheduleSkippedRange, ScheduleSnapshot, ScheduleSnapshotPage, ScheduleStorageError, ScheduleStore, ScheduleTiming, ScheduleTimingRequest, ScheduleValidationError, ScheduleWake, ScheduledEnvelope, ScheduledInputAdmission, ScheduledInputRefused, ScheduledInputRetryable, SchedulingLimits, defaultSchedulingLimits, Schedule_exports as t };
|
|
381
|
+
|
|
382
|
+
//# sourceMappingURL=Schedule.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Schedule.mjs","names":["Cron"],"sources":["../../src/durable/Schedule.ts"],"sourcesContent":["import { Context, Effect, Schema } from \"effect\";\n\nimport { AgentId, ThreadId } from \"../core/Identifiers.ts\";\nimport { Receipt } from \"../core/Receipt.ts\";\nimport { DefinitionDigests, Digest, PersistedJson } from \"./Records.ts\";\nimport { AdmissionFence, AdmissionGroup, IdempotencyKey, Principal } from \"./SubmissionLedger.ts\";\n\nconst Name = Schema.NonEmptyString.check(\n Schema.isMaxLength(128),\n Schema.isPattern(/^[^\\p{Surrogate}]*$/u),\n);\n\n/** Milliseconds since the Unix epoch, within DateTime's supported range. */\nexport const ScheduleInstant = Schema.Int.check(\n Schema.isGreaterThanOrEqualTo(0),\n Schema.isLessThanOrEqualTo(8_640_000_000_000_000),\n);\n\nconst Positive = Schema.Int.check(Schema.isGreaterThan(0));\n\nexport const ScheduleId = Name.pipe(Schema.brand(\"@effect-agent/thread/ScheduleId\"));\nexport type ScheduleId = typeof ScheduleId.Type;\nexport const ScheduleOwner = Schema.Struct({ tenantId: Name, ownerId: Name });\nexport type ScheduleOwner = typeof ScheduleOwner.Type;\nexport const ScheduleKey = Schema.Struct({ owner: ScheduleOwner, scheduleId: ScheduleId });\nexport type ScheduleKey = typeof ScheduleKey.Type;\nexport const ScheduleScope = Schema.Struct({ owner: ScheduleOwner, principal: Principal });\nexport type ScheduleScope = typeof ScheduleScope.Type;\n\nconst At = Schema.Struct({ _tag: Schema.Literal(\"At\"), atMillis: ScheduleInstant });\nconst After = Schema.Struct({ _tag: Schema.Literal(\"After\"), delayMillis: Positive });\n\nconst Interval = Schema.Struct({\n _tag: Schema.Literal(\"Interval\"),\n everyMillis: Positive,\n anchorMillis: ScheduleInstant,\n});\n\nconst Cron = Schema.Struct({\n _tag: Schema.Literal(\"Cron\"),\n expression: Schema.NonEmptyString.check(Schema.isMaxLength(256)),\n timeZone: Schema.NonEmptyString.check(Schema.isMaxLength(128)),\n});\n\n/** A relative delay is a request value, never a stored unresolved deadline. */\nexport const ScheduleTimingRequest = Schema.Union([\n At,\n After,\n Schema.Struct({\n _tag: Schema.Literal(\"Interval\"),\n everyMillis: Positive,\n anchorMillis: Schema.optionalKey(ScheduleInstant),\n }),\n Schema.Struct({\n _tag: Schema.Literal(\"Cron\"),\n expression: Schema.NonEmptyString.check(Schema.isMaxLength(256)),\n timeZone: Schema.optionalKey(Schema.NonEmptyString.check(Schema.isMaxLength(128))),\n }),\n]);\n\nexport type ScheduleTimingRequest = typeof ScheduleTimingRequest.Type;\nexport const ScheduleTiming = Schema.Union([At, Interval, Cron]);\nexport type ScheduleTiming = typeof ScheduleTiming.Type;\n\nexport const ScheduleDestination = Schema.Union([\n Schema.Struct({ _tag: Schema.Literal(\"ExistingThread\"), threadId: ThreadId }),\n Schema.Struct({ _tag: Schema.Literal(\"FreshThread\") }),\n]);\n\nexport type ScheduleDestination = typeof ScheduleDestination.Type;\n\nexport const ScheduleConfiguration = Schema.Struct({\n timing: ScheduleTiming,\n destination: ScheduleDestination,\n deliveryPrincipal: Principal,\n admissionGroup: Schema.optionalKey(AdmissionGroup),\n admissionFence: Schema.optionalKey(AdmissionFence),\n agentId: AgentId,\n definitions: DefinitionDigests,\n input: PersistedJson,\n inputDigest: Digest,\n});\n\nexport type ScheduleConfiguration = typeof ScheduleConfiguration.Type;\n\n/** Persist only bounded policy identifiers, never credentials or arbitrary diagnostics. */\nexport const ScheduleAuthorizationDecision = Schema.Struct({\n policyId: Name,\n decisionId: Name,\n});\n\nexport type ScheduleAuthorizationDecision = typeof ScheduleAuthorizationDecision.Type;\n\nexport const ScheduledEnvelope = Schema.Struct({\n schemaVersion: Schema.Literal(1),\n owner: ScheduleOwner,\n scheduleId: ScheduleId,\n configurationRevision: Positive,\n intendedAtMillis: ScheduleInstant,\n preparedAtMillis: ScheduleInstant,\n occurrenceId: Digest,\n threadId: ThreadId,\n deliveryPrincipal: Principal,\n admissionGroup: Schema.optionalKey(AdmissionGroup),\n admissionFence: Schema.optionalKey(AdmissionFence),\n agentId: AgentId,\n definitions: DefinitionDigests,\n input: PersistedJson,\n inputDigest: Digest,\n admissionKey: IdempotencyKey,\n authorization: ScheduleAuthorizationDecision,\n});\n\nexport type ScheduledEnvelope = typeof ScheduledEnvelope.Type;\n\nexport const ScheduleRetryReason = Schema.Literals([\n \"transport\",\n \"capacity\",\n \"storage\",\n \"host-closed\",\n \"timeout\",\n \"ambiguous\",\n]);\n\nexport type ScheduleRetryReason = typeof ScheduleRetryReason.Type;\n\nexport const ScheduleRetry = Schema.Struct({\n attempts: Schema.Natural,\n generation: Schema.Natural,\n automaticAttempts: Schema.Natural,\n parked: Schema.Boolean,\n nextAttemptAtMillis: ScheduleInstant,\n lastAttemptAtMillis: Schema.NullOr(ScheduleInstant),\n lastFailure: Schema.NullOr(ScheduleRetryReason),\n});\n\nexport type ScheduleRetry = typeof ScheduleRetry.Type;\nexport const SchedulePending = Schema.Struct({ envelope: ScheduledEnvelope, retry: ScheduleRetry });\nexport type SchedulePending = typeof SchedulePending.Type;\n\nexport const ScheduleRefusal = Schema.Struct({\n atMillis: ScheduleInstant,\n intendedAtMillis: ScheduleInstant,\n occurrenceId: Schema.NullOr(Digest),\n phase: Schema.Literals([\"preparation\", \"admission\"]),\n code: Name,\n});\n\nexport type ScheduleRefusal = typeof ScheduleRefusal.Type;\n\n/** Half-open interval [fromMillis, toMillis); the upper bound is not skipped. */\nexport const ScheduleSkippedRange = Schema.Struct({\n fromMillis: ScheduleInstant,\n toMillis: ScheduleInstant,\n});\n\nexport type ScheduleSkippedRange = typeof ScheduleSkippedRange.Type;\n\nexport const ScheduleRecord = Schema.Struct({\n schemaVersion: Schema.Literal(1),\n owner: ScheduleOwner,\n scheduleId: ScheduleId,\n creationFingerprint: Digest,\n createdBy: Principal,\n createdAtMillis: ScheduleInstant,\n updatedAtMillis: ScheduleInstant,\n configurationRevision: Positive,\n version: Positive,\n configuration: ScheduleConfiguration,\n state: Schema.Literals([\"active\", \"paused\", \"cancelled\"]),\n nextAtMillis: Schema.NullOr(ScheduleInstant),\n pending: Schema.NullOr(SchedulePending),\n lastReceipt: Schema.NullOr(\n Schema.Struct({\n atMillis: ScheduleInstant,\n intendedAtMillis: ScheduleInstant,\n occurrenceId: Digest,\n receipt: Receipt,\n }),\n ),\n lastRefusal: Schema.NullOr(ScheduleRefusal),\n lastSkippedRange: Schema.NullOr(ScheduleSkippedRange),\n});\n\nexport type ScheduleRecord = typeof ScheduleRecord.Type;\n\nexport const ScheduleSnapshot = Schema.Struct({\n owner: ScheduleOwner,\n scheduleId: ScheduleId,\n createdAtMillis: ScheduleInstant,\n updatedAtMillis: ScheduleInstant,\n configurationRevision: Positive,\n configuration: Schema.Struct({\n timing: ScheduleTiming,\n destination: ScheduleDestination,\n deliveryPrincipal: Principal,\n admissionGroup: Schema.optionalKey(AdmissionGroup),\n admissionFence: Schema.optionalKey(AdmissionFence),\n agentId: AgentId,\n }),\n state: Schema.Literals([\"active\", \"paused\", \"cancelled\"]),\n nextAtMillis: Schema.NullOr(ScheduleInstant),\n pending: Schema.NullOr(\n Schema.Struct({\n intendedAtMillis: ScheduleInstant,\n preparedAtMillis: ScheduleInstant,\n configurationRevision: Schema.optionalKey(Positive),\n occurrenceId: Digest,\n retry: ScheduleRetry,\n }),\n ),\n lastReceipt: Schema.NullOr(\n Schema.Struct({\n atMillis: ScheduleInstant,\n intendedAtMillis: ScheduleInstant,\n occurrenceId: Digest,\n receipt: Receipt,\n }),\n ),\n lastRefusal: Schema.NullOr(ScheduleRefusal),\n lastSkippedRange: Schema.NullOr(ScheduleSkippedRange),\n observedAtMillis: ScheduleInstant,\n pendingAgeMillis: Schema.NullOr(Schema.Natural),\n latenessMillis: Schema.Natural,\n});\n\nexport type ScheduleSnapshot = typeof ScheduleSnapshot.Type;\n\nexport const ScheduleSnapshotPage = Schema.Struct({\n items: Schema.Array(ScheduleSnapshot).check(Schema.isMaxLength(100)),\n next: Schema.NullOr(ScheduleId),\n});\n\nexport type ScheduleSnapshotPage = typeof ScheduleSnapshotPage.Type;\n\nexport class ScheduleValidationError extends Schema.TaggedError<ScheduleValidationError>()(\n \"ScheduleValidationError\",\n { message: Schema.String },\n) {}\n\nexport class ScheduleConflict extends Schema.TaggedError<ScheduleConflict>()(\"ScheduleConflict\", {\n reason: Schema.Literals([\"creation\", \"revision\", \"cancelled\"]),\n key: ScheduleKey,\n}) {}\n\nexport class ScheduleNotFound extends Schema.TaggedError<ScheduleNotFound>()(\"ScheduleNotFound\", {\n key: ScheduleKey,\n}) {}\n\nexport class ScheduleAuthorizationError extends Schema.TaggedError<ScheduleAuthorizationError>()(\n \"ScheduleAuthorizationError\",\n { code: Name },\n) {}\n\nexport class ScheduleCapacityError extends Schema.TaggedError<ScheduleCapacityError>()(\n \"ScheduleCapacityError\",\n { limit: Positive },\n) {}\n\nexport class ScheduleStorageError extends Schema.TaggedError<ScheduleStorageError>()(\n \"ScheduleStorageError\",\n {\n cause: Schema.optionalKey(Schema.Defect()),\n operation: Schema.String,\n reason: Schema.Literals([\"unavailable\", \"corrupt\"]),\n },\n) {}\n\n/** Only when the unchanged envelope was not admitted and cannot succeed, including on replay. */\nexport class ScheduledInputRefused extends Schema.TaggedError<ScheduledInputRefused>()(\n \"ScheduledInputRefused\",\n { code: Name },\n) {}\n\n/** Includes lost replies: admission may already have committed. */\nexport class ScheduledInputRetryable extends Schema.TaggedError<ScheduledInputRetryable>()(\n \"ScheduledInputRetryable\",\n { reason: ScheduleRetryReason },\n) {}\n\nexport type ScheduledInputFailure =\n | ScheduledInputRefused\n | ScheduledInputRetryable\n | ScheduleStorageError;\n\nexport class ScheduledInputAdmission extends Context.Service<\n ScheduledInputAdmission,\n {\n readonly submit: (envelope: ScheduledEnvelope) => Effect.Effect<Receipt, ScheduledInputFailure>;\n }\n>()(\"@effect-agent/thread/ScheduledInputAdmission\") {}\n\nexport type ScheduleManagementOperation =\n | \"create\"\n | \"get\"\n | \"list\"\n | \"update\"\n | \"pause\"\n | \"resume\"\n | \"cancel\"\n | \"recover\";\n\nexport interface ScheduleManagementAuthorization {\n readonly operation: ScheduleManagementOperation;\n readonly scope: ScheduleScope;\n readonly scheduleId?: ScheduleId;\n readonly configuration?: ScheduleConfiguration;\n}\n\nexport interface ScheduleOccurrenceAuthorization {\n readonly key: ScheduleKey;\n readonly configurationRevision: number;\n readonly configuration: ScheduleConfiguration;\n readonly intendedAtMillis: number;\n readonly occurrenceId: Digest;\n}\n\n/** Hosts must supply an explicit authorizer. There is no possession/default allow Layer. */\nexport class ScheduleAuthorizer extends Context.Service<\n ScheduleAuthorizer,\n {\n readonly manage: (\n request: ScheduleManagementAuthorization,\n ) => Effect.Effect<void, ScheduleAuthorizationError | ScheduleStorageError>;\n readonly prepare: (\n request: ScheduleOccurrenceAuthorization,\n ) => Effect.Effect<\n ScheduleAuthorizationDecision,\n ScheduleAuthorizationError | ScheduleStorageError\n >;\n }\n>()(\"@effect-agent/thread/ScheduleAuthorizer\") {}\n\nexport const SchedulingLimits = Schema.Struct({\n maxSchedulesPerOwner: Positive.check(Schema.isLessThanOrEqualTo(100_000)),\n minIntervalMillis: Positive,\n maxInputBytes: Positive.check(Schema.isLessThanOrEqualTo(65_536)),\n dueBatchSize: Positive.check(Schema.isLessThanOrEqualTo(1_024)),\n admissionConcurrency: Positive.check(Schema.isLessThanOrEqualTo(64)),\n retryBaseMillis: Positive,\n retryMaxMillis: Positive,\n admissionTimeoutMillis: Positive,\n recoveryPollMillis: Positive,\n maxAutomaticAttempts: Schema.optionalKey(Positive),\n});\n\nexport type SchedulingLimits = typeof SchedulingLimits.Type;\n\nexport const defaultSchedulingLimits: SchedulingLimits = {\n maxSchedulesPerOwner: 1_000,\n minIntervalMillis: 60_000,\n maxInputBytes: 65_536,\n dueBatchSize: 64,\n admissionConcurrency: 8,\n retryBaseMillis: 1_000,\n retryMaxMillis: 300_000,\n admissionTimeoutMillis: 30_000,\n recoveryPollMillis: 30_000,\n maxAutomaticAttempts: 8,\n};\n\nexport const SchedulePageRequest = Schema.Struct({\n owner: ScheduleOwner,\n after: Schema.optionalKey(ScheduleId),\n limit: Positive.check(Schema.isLessThanOrEqualTo(100)),\n});\n\nexport type SchedulePageRequest = typeof SchedulePageRequest.Type;\n\nexport const SchedulePage = Schema.Struct({\n items: Schema.Array(ScheduleRecord).check(Schema.isMaxLength(100)),\n next: Schema.NullOr(ScheduleId),\n});\n\nexport type SchedulePage = typeof SchedulePage.Type;\n\n/** Driver pagination uses the index only; a corrupt record cannot poison an entire page. */\nexport const ScheduleDueCursor = Schema.Struct({\n owner: ScheduleOwner,\n scheduleId: ScheduleId,\n deadlineAtMillis: ScheduleInstant,\n});\n\nexport type ScheduleDueCursor = typeof ScheduleDueCursor.Type;\n\n/** Local transaction commands. Admission is deliberately absent from this union. */\nexport const ScheduleChange = Schema.Union([\n Schema.Struct({\n _tag: Schema.Literal(\"Recover\"),\n expectedGeneration: Schema.Natural,\n expectedRevision: Positive,\n occurrenceId: Digest,\n nowMillis: ScheduleInstant,\n }),\n Schema.Struct({\n _tag: Schema.Literal(\"Update\"),\n expectedRevision: Positive,\n configuration: ScheduleConfiguration,\n nextAtMillis: Schema.NullOr(ScheduleInstant),\n nowMillis: ScheduleInstant,\n }),\n Schema.Struct({\n _tag: Schema.Literal(\"Control\"),\n expectedRevision: Positive,\n expectedVersion: Positive,\n action: Schema.Literals([\"pause\", \"resume\", \"cancel\"]),\n nextAtMillis: Schema.NullOr(ScheduleInstant),\n nowMillis: ScheduleInstant,\n skippedRange: Schema.NullOr(ScheduleSkippedRange),\n }),\n Schema.Struct({\n _tag: Schema.Literal(\"Prepare\"),\n expectedRevision: Positive,\n expectedCursor: ScheduleInstant,\n envelope: ScheduledEnvelope,\n nextAtMillis: Schema.NullOr(ScheduleInstant),\n skippedRange: Schema.NullOr(ScheduleSkippedRange),\n nowMillis: ScheduleInstant,\n }),\n Schema.Struct({\n _tag: Schema.Literal(\"DenyPreparation\"),\n expectedRevision: Positive,\n expectedCursor: ScheduleInstant,\n refusal: ScheduleRefusal,\n nowMillis: ScheduleInstant,\n }),\n Schema.Struct({\n _tag: Schema.Literal(\"Complete\"),\n occurrenceId: Digest,\n receipt: Receipt,\n nowMillis: ScheduleInstant,\n }),\n Schema.Struct({\n _tag: Schema.Literal(\"Retry\"),\n occurrenceId: Digest,\n retry: ScheduleRetry,\n nowMillis: ScheduleInstant,\n }),\n Schema.Struct({\n _tag: Schema.Literal(\"Refuse\"),\n occurrenceId: Digest,\n refusal: ScheduleRefusal,\n nowMillis: ScheduleInstant,\n }),\n]);\n\nexport type ScheduleChange = typeof ScheduleChange.Type;\n\nexport type ScheduleStoreFailure =\n | ScheduleStorageError\n | ScheduleConflict\n | ScheduleNotFound\n | ScheduleCapacityError\n | ScheduleFailpointError;\n\n/** Each insert/change is one atomic local transaction, including platform wake changes. */\nexport class ScheduleStore extends Context.Service<\n ScheduleStore,\n {\n readonly insert: (\n record: ScheduleRecord,\n ownerLimit: number,\n ) => Effect.Effect<ScheduleRecord, ScheduleStoreFailure>;\n readonly get: (key: ScheduleKey) => Effect.Effect<ScheduleRecord | null, ScheduleStorageError>;\n readonly list: (\n request: SchedulePageRequest,\n ) => Effect.Effect<SchedulePage, ScheduleStorageError>;\n readonly change: (\n key: ScheduleKey,\n change: ScheduleChange,\n ownerLimit?: number,\n ) => Effect.Effect<ScheduleRecord, ScheduleStoreFailure>;\n /** Internal driver query, not a public management listing. Pending deadlines take precedence. */\n readonly due: (\n nowMillis: number,\n limit: number,\n owner?: ScheduleOwner,\n after?: ScheduleDueCursor,\n ) => Effect.Effect<ReadonlyArray<ScheduleDueCursor>, ScheduleStorageError>;\n readonly nextDeadline: (\n owner?: ScheduleOwner,\n ) => Effect.Effect<number | null, ScheduleStorageError>;\n }\n>()(\"@effect-agent/thread/ScheduleStore\") {}\n\n/** A dropped hint is repaired by the driver's indexed recovery query. */\nexport class ScheduleWake extends Context.Service<\n ScheduleWake,\n {\n readonly notify: Effect.Effect<void>;\n readonly await: Effect.Effect<void>;\n }\n>()(\"@effect-agent/thread/ScheduleWake\") {}\n\nexport class ScheduleFailpointError extends Schema.TaggedError<ScheduleFailpointError>()(\n \"ScheduleFailpointError\",\n { point: Schema.String },\n) {}\n\nexport const ScheduleFailpoint = Context.Reference<{\n readonly hit: (point: string) => Effect.Effect<void, ScheduleFailpointError>;\n}>(\"@effect-agent/thread/ScheduleFailpoint\", {\n defaultValue: () => ({ hit: () => Effect.void }),\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { M as ScheduleStore, N as ScheduleStoreFailure } from "../Schedule-H3SEYX9g.mjs";
|
|
2
|
+
import { Effect, Schema } from "effect";
|
|
3
|
+
//#region src/durable/ScheduleStoreConformance.d.ts
|
|
4
|
+
declare const ScheduleStoreConformanceViolation_base: Schema.Class<ScheduleStoreConformanceViolation, Schema.TaggedStruct<"ScheduleStoreConformanceViolation", {
|
|
5
|
+
readonly caseName: Schema.String;
|
|
6
|
+
readonly message: Schema.String;
|
|
7
|
+
}>, import("effect/Cause").YieldableError>;
|
|
8
|
+
declare class ScheduleStoreConformanceViolation extends ScheduleStoreConformanceViolation_base {}
|
|
9
|
+
type ScheduleStoreConformanceFailure = ScheduleStoreFailure | ScheduleStoreConformanceViolation;
|
|
10
|
+
interface ScheduleStoreConformanceCase {
|
|
11
|
+
readonly name: string;
|
|
12
|
+
readonly run: Effect.Effect<void, ScheduleStoreConformanceFailure, ScheduleStore>;
|
|
13
|
+
}
|
|
14
|
+
/** Adapter-neutral contract cases. Each case uses disjoint owner and Schedule identities. */
|
|
15
|
+
declare const scheduleStoreConformanceCases: ReadonlyArray<ScheduleStoreConformanceCase>;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { ScheduleStoreConformanceCase, ScheduleStoreConformanceFailure, ScheduleStoreConformanceViolation, scheduleStoreConformanceCases };
|
|
18
|
+
//# sourceMappingURL=ScheduleStoreConformance.d.mts.map
|