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,250 @@
|
|
|
1
|
+
import { Context, Effect, Schema } from "effect";
|
|
2
|
+
|
|
3
|
+
import * as MemoryNamespace from "./MemoryNamespace.ts";
|
|
4
|
+
import { MemoryPassage } from "./MemoryReference.ts";
|
|
5
|
+
import { ActiveMemoryDocument, MemoryKey } from "./MemoryStore.ts";
|
|
6
|
+
|
|
7
|
+
const Identity = Schema.NonEmptyString.check(Schema.isMaxLength(256));
|
|
8
|
+
|
|
9
|
+
const Positive = Schema.Int.check(
|
|
10
|
+
Schema.isBetween({ minimum: 1, maximum: Number.MAX_SAFE_INTEGER }),
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
const Timestamp = Schema.Finite.check(Schema.isGreaterThanOrEqualTo(0));
|
|
14
|
+
const Vector = Schema.Array(Schema.Finite).check(Schema.isMinLength(1), Schema.isMaxLength(4_096));
|
|
15
|
+
|
|
16
|
+
/** A host declaration of the exact embedding space and deterministic chunking policy. */
|
|
17
|
+
export class SemanticMemoryProfile extends Schema.Class<SemanticMemoryProfile>(
|
|
18
|
+
"@effect-agent/core/SemanticMemoryProfile",
|
|
19
|
+
)({
|
|
20
|
+
version: Schema.Literal(1),
|
|
21
|
+
provider: Identity,
|
|
22
|
+
model: Identity,
|
|
23
|
+
modelRevision: Identity,
|
|
24
|
+
dimensions: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 4_096 })),
|
|
25
|
+
chunker: Schema.Literal("utf8-codepoint@1"),
|
|
26
|
+
maxChunkBytes: Schema.Int.check(Schema.isBetween({ minimum: 4, maximum: 8_192 })),
|
|
27
|
+
distance: Schema.Literal("cosine"),
|
|
28
|
+
}) {}
|
|
29
|
+
|
|
30
|
+
export class SemanticMemoryChunk extends Schema.Class<SemanticMemoryChunk>(
|
|
31
|
+
"@effect-agent/core/SemanticMemoryChunk",
|
|
32
|
+
)({
|
|
33
|
+
passageId: MemoryPassage.fields.passageId,
|
|
34
|
+
ordinal: Schema.Int.check(Schema.isBetween({ minimum: 0, maximum: 255 })),
|
|
35
|
+
startByte: Schema.Natural,
|
|
36
|
+
endByte: Schema.Natural,
|
|
37
|
+
text: Schema.NonEmptyString.check(Schema.isMaxLength(8_192)),
|
|
38
|
+
vector: Vector,
|
|
39
|
+
}) {}
|
|
40
|
+
|
|
41
|
+
const SourceFields = {
|
|
42
|
+
key: MemoryKey.Wire,
|
|
43
|
+
source: ActiveMemoryDocument.Wire.fields.source,
|
|
44
|
+
sourceGeneration: Positive,
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
class MemoryIndexSourceWire extends Schema.Class<MemoryIndexSourceWire>(
|
|
48
|
+
"@effect-agent/core/MemoryIndexSource",
|
|
49
|
+
)(SourceFields) {}
|
|
50
|
+
|
|
51
|
+
export type MemoryIndexSource<Namespace extends MemoryNamespace.Any = MemoryNamespace.Any> = Omit<
|
|
52
|
+
MemoryIndexSourceWire,
|
|
53
|
+
"key"
|
|
54
|
+
> & { readonly key: MemoryKey<Namespace> };
|
|
55
|
+
|
|
56
|
+
export const MemoryIndexSource = {
|
|
57
|
+
Wire: MemoryIndexSourceWire,
|
|
58
|
+
make: <Namespace extends MemoryNamespace.Any>(
|
|
59
|
+
fields: MemoryIndexSource<Namespace>,
|
|
60
|
+
): MemoryIndexSource<Namespace> =>
|
|
61
|
+
Object.assign(Schema.decodeUnknownSync(MemoryIndexSourceWire)(fields), {
|
|
62
|
+
key: MemoryKey.make(fields.key),
|
|
63
|
+
}),
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
/** A complete replacement, prepared before touching the disposable index. */
|
|
67
|
+
class MemoryIndexReplacementWire extends Schema.Class<MemoryIndexReplacementWire>(
|
|
68
|
+
"@effect-agent/core/MemoryIndexReplacement",
|
|
69
|
+
)({
|
|
70
|
+
source: MemoryIndexSource.Wire,
|
|
71
|
+
profile: SemanticMemoryProfile,
|
|
72
|
+
chunks: Schema.Array(SemanticMemoryChunk).check(Schema.isMinLength(1), Schema.isMaxLength(256)),
|
|
73
|
+
}) {}
|
|
74
|
+
|
|
75
|
+
export type MemoryIndexReplacement<Namespace extends MemoryNamespace.Any = MemoryNamespace.Any> =
|
|
76
|
+
Omit<MemoryIndexReplacementWire, "source"> & { readonly source: MemoryIndexSource<Namespace> };
|
|
77
|
+
|
|
78
|
+
export const MemoryIndexReplacement = {
|
|
79
|
+
Wire: MemoryIndexReplacementWire,
|
|
80
|
+
make: <Namespace extends MemoryNamespace.Any>(
|
|
81
|
+
fields: MemoryIndexReplacement<Namespace>,
|
|
82
|
+
): MemoryIndexReplacement<Namespace> =>
|
|
83
|
+
Object.assign(Schema.decodeUnknownSync(MemoryIndexReplacementWire)(fields), {
|
|
84
|
+
source: fields.source,
|
|
85
|
+
}),
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
class MemoryIndexCandidateWire extends Schema.Class<MemoryIndexCandidateWire>(
|
|
89
|
+
"@effect-agent/core/MemoryIndexCandidate",
|
|
90
|
+
)({
|
|
91
|
+
...SourceFields,
|
|
92
|
+
passageId: SemanticMemoryChunk.fields.passageId,
|
|
93
|
+
ordinal: SemanticMemoryChunk.fields.ordinal,
|
|
94
|
+
startByte: SemanticMemoryChunk.fields.startByte,
|
|
95
|
+
endByte: SemanticMemoryChunk.fields.endByte,
|
|
96
|
+
text: SemanticMemoryChunk.fields.text,
|
|
97
|
+
score: Schema.Finite.check(Schema.isBetween({ minimum: -1, maximum: 1 })),
|
|
98
|
+
indexedAt: Timestamp,
|
|
99
|
+
}) {}
|
|
100
|
+
|
|
101
|
+
export type MemoryIndexCandidate<Namespace extends MemoryNamespace.Any = MemoryNamespace.Any> =
|
|
102
|
+
Omit<MemoryIndexCandidateWire, "key"> & { readonly key: MemoryKey<Namespace> };
|
|
103
|
+
|
|
104
|
+
export const MemoryIndexCandidate = {
|
|
105
|
+
Wire: MemoryIndexCandidateWire,
|
|
106
|
+
make: <Namespace extends MemoryNamespace.Any>(
|
|
107
|
+
fields: MemoryIndexCandidate<Namespace>,
|
|
108
|
+
): MemoryIndexCandidate<Namespace> =>
|
|
109
|
+
Object.assign(Schema.decodeUnknownSync(MemoryIndexCandidateWire)(fields), {
|
|
110
|
+
key: MemoryKey.make(fields.key),
|
|
111
|
+
}),
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
class MemoryIndexQueryWire extends Schema.Class<MemoryIndexQueryWire>(
|
|
115
|
+
"@effect-agent/core/MemoryIndexQuery",
|
|
116
|
+
)({
|
|
117
|
+
namespace: MemoryKey.Wire.fields.namespace,
|
|
118
|
+
vector: Vector,
|
|
119
|
+
limit: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 128 })),
|
|
120
|
+
minScore: Schema.Finite.check(Schema.isBetween({ minimum: -1, maximum: 1 })),
|
|
121
|
+
maxScannedChunks: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 65_536 })),
|
|
122
|
+
}) {}
|
|
123
|
+
|
|
124
|
+
export type MemoryIndexQuery<Namespace extends MemoryNamespace.Any = MemoryNamespace.Any> = Omit<
|
|
125
|
+
MemoryIndexQueryWire,
|
|
126
|
+
"namespace"
|
|
127
|
+
> & { readonly namespace: Namespace };
|
|
128
|
+
|
|
129
|
+
export const MemoryIndexQuery = {
|
|
130
|
+
Wire: MemoryIndexQueryWire,
|
|
131
|
+
make: <Namespace extends MemoryNamespace.Any>(
|
|
132
|
+
fields: MemoryIndexQuery<Namespace>,
|
|
133
|
+
): MemoryIndexQuery<Namespace> =>
|
|
134
|
+
Object.assign(Schema.decodeUnknownSync(MemoryIndexQueryWire)(fields), {
|
|
135
|
+
namespace: fields.namespace,
|
|
136
|
+
}),
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
class MemoryIndexSearchWire extends Schema.Class<MemoryIndexSearchWire>(
|
|
140
|
+
"@effect-agent/core/MemoryIndexSearch",
|
|
141
|
+
)({
|
|
142
|
+
candidates: Schema.Array(MemoryIndexCandidate.Wire).check(Schema.isMaxLength(128)),
|
|
143
|
+
scannedChunks: Schema.Natural,
|
|
144
|
+
}) {}
|
|
145
|
+
|
|
146
|
+
export type MemoryIndexSearch<Namespace extends MemoryNamespace.Any = MemoryNamespace.Any> = Omit<
|
|
147
|
+
MemoryIndexSearchWire,
|
|
148
|
+
"candidates"
|
|
149
|
+
> & { readonly candidates: ReadonlyArray<MemoryIndexCandidate<Namespace>> };
|
|
150
|
+
|
|
151
|
+
export const MemoryIndexSearch = {
|
|
152
|
+
Wire: MemoryIndexSearchWire,
|
|
153
|
+
make: <Namespace extends MemoryNamespace.Any>(
|
|
154
|
+
fields: MemoryIndexSearch<Namespace>,
|
|
155
|
+
): MemoryIndexSearch<Namespace> =>
|
|
156
|
+
Object.assign(Schema.decodeUnknownSync(MemoryIndexSearchWire)(fields), {
|
|
157
|
+
candidates: fields.candidates,
|
|
158
|
+
}),
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
export class MemoryIndexError extends Schema.TaggedError<MemoryIndexError>()("MemoryIndexError", {
|
|
162
|
+
operation: Identity,
|
|
163
|
+
reason: Schema.Literals([
|
|
164
|
+
"invalid-input",
|
|
165
|
+
"unavailable",
|
|
166
|
+
"corrupt",
|
|
167
|
+
"incompatible",
|
|
168
|
+
"fenced",
|
|
169
|
+
"budget",
|
|
170
|
+
]),
|
|
171
|
+
}) {}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Optional disposable ranking index with one fixed embedding/chunking profile.
|
|
175
|
+
* replace validates a complete replacement before atomically exchanging chunks. Failure leaves
|
|
176
|
+
* the last successful index intact. Older generations and divergent same-generation source
|
|
177
|
+
* identities are fenced; refreshing the same source is allowed. Source IDs must equal key IDs.
|
|
178
|
+
* withdraw retains a terminal tombstone that fences every later replacement for that key.
|
|
179
|
+
*
|
|
180
|
+
* Vectors match the profile dimensions and have positive finite squared norms. Chunks form a
|
|
181
|
+
* nonempty contiguous ordinal/byte sequence starting at zero, with unique passage IDs and exact
|
|
182
|
+
* UTF-8 byte ranges bounded by maxChunkBytes. Implementations snapshot mutable caller values.
|
|
183
|
+
*
|
|
184
|
+
* Bounded adapters count every source key, including tombstones, against capacity. Replacement
|
|
185
|
+
* capacity is measured after removing the old chunks. Search rejects scans over maxScannedChunks
|
|
186
|
+
* instead of ranking a truncated prefix. scannedChunks counts all indexed chunks in the namespace
|
|
187
|
+
* before threshold/limit. Ties sort by source ID, revision, then ordinal in UTF-16 code-unit order.
|
|
188
|
+
* Scope close clears the index and makes captured methods fail unavailable.
|
|
189
|
+
*
|
|
190
|
+
* Search is ranking only: callers MUST recheck authoritative revision, access, and withdrawal.
|
|
191
|
+
* This port tracks no builds, extraction progress, or corpus completeness. The host owns source
|
|
192
|
+
* discovery, refresh scheduling, and required freshness.
|
|
193
|
+
*/
|
|
194
|
+
export class SemanticMemoryIndex extends Context.Service<
|
|
195
|
+
SemanticMemoryIndex,
|
|
196
|
+
{
|
|
197
|
+
readonly profile: SemanticMemoryProfile;
|
|
198
|
+
readonly replace: <Namespace extends MemoryNamespace.Any>(
|
|
199
|
+
request: MemoryIndexReplacement<Namespace>,
|
|
200
|
+
) => Effect.Effect<void, MemoryIndexError>;
|
|
201
|
+
readonly withdraw: <Namespace extends MemoryNamespace.Any>(
|
|
202
|
+
source: MemoryIndexSource<Namespace>,
|
|
203
|
+
) => Effect.Effect<void, MemoryIndexError>;
|
|
204
|
+
readonly search: <Namespace extends MemoryNamespace.Any>(
|
|
205
|
+
query: MemoryIndexQuery<Namespace>,
|
|
206
|
+
) => Effect.Effect<MemoryIndexSearch<Namespace>, MemoryIndexError>;
|
|
207
|
+
}
|
|
208
|
+
>()("@effect-agent/core/SemanticMemoryIndex") {
|
|
209
|
+
static fromAdapter(adapter: {
|
|
210
|
+
readonly profile: SemanticMemoryProfile;
|
|
211
|
+
readonly replace: (request: MemoryIndexReplacement) => Effect.Effect<void, MemoryIndexError>;
|
|
212
|
+
readonly withdraw: (source: MemoryIndexSource) => Effect.Effect<void, MemoryIndexError>;
|
|
213
|
+
readonly search: (
|
|
214
|
+
query: MemoryIndexQuery,
|
|
215
|
+
) => Effect.Effect<MemoryIndexSearch, MemoryIndexError>;
|
|
216
|
+
}): SemanticMemoryIndex["Service"] {
|
|
217
|
+
return {
|
|
218
|
+
...adapter,
|
|
219
|
+
search: Effect.fn("SemanticMemoryIndex.search")(function* <
|
|
220
|
+
Namespace extends MemoryNamespace.Any,
|
|
221
|
+
>(query: MemoryIndexQuery<Namespace>) {
|
|
222
|
+
const result = yield* adapter.search(query);
|
|
223
|
+
|
|
224
|
+
const checked = yield* Schema.decodeEffect(MemoryIndexSearch.Wire)(result).pipe(
|
|
225
|
+
Effect.mapError(() =>
|
|
226
|
+
MemoryIndexError.make({ operation: "restore index search", reason: "corrupt" }),
|
|
227
|
+
),
|
|
228
|
+
);
|
|
229
|
+
|
|
230
|
+
const candidates: Array<MemoryIndexCandidate<Namespace>> = [];
|
|
231
|
+
|
|
232
|
+
for (const candidate of checked.candidates) {
|
|
233
|
+
if (!MemoryNamespace.equals(candidate.key.namespace, query.namespace))
|
|
234
|
+
return yield* MemoryIndexError.make({
|
|
235
|
+
operation: "restore index namespace",
|
|
236
|
+
reason: "corrupt",
|
|
237
|
+
});
|
|
238
|
+
candidates.push(
|
|
239
|
+
MemoryIndexCandidate.make({
|
|
240
|
+
...candidate,
|
|
241
|
+
key: MemoryKey.make({ ...candidate.key, namespace: query.namespace }),
|
|
242
|
+
}),
|
|
243
|
+
);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
return MemoryIndexSearch.make({ ...checked, candidates });
|
|
247
|
+
}),
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import { Effect, Encoding, Schema } from "effect";
|
|
2
|
+
|
|
3
|
+
import { utf8ByteLength as byteLength } from "./internal/utf8.ts";
|
|
4
|
+
import { MemoryLookup, MemoryPassage } from "./MemoryReference.ts";
|
|
5
|
+
import { MemoryAccess } from "./MemoryRevalidation.ts";
|
|
6
|
+
import type { MemoryKey } from "./MemoryStore.ts";
|
|
7
|
+
import { MemoryDocument, MemoryReader, MemoryStorageError } from "./MemoryStore.ts";
|
|
8
|
+
import type { MemoryIndexCandidate } from "./SemanticMemoryIndex.ts";
|
|
9
|
+
import {
|
|
10
|
+
MemoryIndexError,
|
|
11
|
+
MemoryIndexSearch,
|
|
12
|
+
SemanticMemoryProfile,
|
|
13
|
+
} from "./SemanticMemoryIndex.ts";
|
|
14
|
+
|
|
15
|
+
export class SemanticMemoryError extends Schema.TaggedError<SemanticMemoryError>()(
|
|
16
|
+
"SemanticMemoryError",
|
|
17
|
+
{
|
|
18
|
+
operation: Schema.NonEmptyString,
|
|
19
|
+
reason: Schema.Literals([
|
|
20
|
+
"invalid-input",
|
|
21
|
+
"invalid-embedding",
|
|
22
|
+
"budget",
|
|
23
|
+
"timeout",
|
|
24
|
+
"source-changed",
|
|
25
|
+
"unavailable",
|
|
26
|
+
]),
|
|
27
|
+
},
|
|
28
|
+
) {}
|
|
29
|
+
|
|
30
|
+
export class SemanticCandidateLimits extends Schema.Class<SemanticCandidateLimits>(
|
|
31
|
+
"@effect-agent/core/SemanticCandidateLimits",
|
|
32
|
+
)({
|
|
33
|
+
maxCandidates: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 128 })),
|
|
34
|
+
maxScannedChunks: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 65_536 })),
|
|
35
|
+
maxSourceBytes: Schema.optionalKey(
|
|
36
|
+
Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 67_108_864 })),
|
|
37
|
+
),
|
|
38
|
+
/** Aggregate UTF-8 JSON passage bytes, including repeated provenance; defaults to 16 MiB. */
|
|
39
|
+
maxOutputBytes: Schema.optionalKey(
|
|
40
|
+
Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 67_108_864 })),
|
|
41
|
+
),
|
|
42
|
+
minScore: Schema.Finite.check(Schema.isBetween({ minimum: -1, maximum: 1 })),
|
|
43
|
+
}) {}
|
|
44
|
+
|
|
45
|
+
export class SemanticCandidateResult extends Schema.Class<SemanticCandidateResult>(
|
|
46
|
+
"@effect-agent/core/SemanticCandidateResult",
|
|
47
|
+
)({
|
|
48
|
+
lookup: MemoryLookup,
|
|
49
|
+
scannedChunks: Schema.Natural,
|
|
50
|
+
staleExcluded: Schema.Natural,
|
|
51
|
+
unauthorizedExcluded: Schema.Natural,
|
|
52
|
+
}) {}
|
|
53
|
+
|
|
54
|
+
const readDocument = Effect.fn("semanticCandidates.readDocument")(function* (key: MemoryKey) {
|
|
55
|
+
const reader = yield* MemoryReader;
|
|
56
|
+
|
|
57
|
+
const document = yield* reader.get(key).pipe(
|
|
58
|
+
Effect.flatMap(Schema.decodeUnknownEffect(Schema.NullOr(MemoryDocument.Wire))),
|
|
59
|
+
Effect.catchTag("SchemaError", () =>
|
|
60
|
+
Effect.fail(
|
|
61
|
+
MemoryStorageError.make({ operation: "validate semantic source", reason: "corrupt" }),
|
|
62
|
+
),
|
|
63
|
+
),
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
if (
|
|
67
|
+
document !== null &&
|
|
68
|
+
(document.key.namespace.address !== key.namespace.address ||
|
|
69
|
+
document.key.id !== key.id ||
|
|
70
|
+
document.source.id !== key.id)
|
|
71
|
+
)
|
|
72
|
+
return yield* MemoryStorageError.make({
|
|
73
|
+
operation: "validate semantic source identity",
|
|
74
|
+
reason: "corrupt",
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
return document;
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Revalidate one ranked batch locally. No embedding or index access; stale scored text is excluded.
|
|
82
|
+
* Charge each accepted passage's full JSON encoding before retaining it, including duplicates and
|
|
83
|
+
* authoritative metadata/attribution. maxOutputBytes bounds their aggregate, not source reads or
|
|
84
|
+
* a transport envelope. One passage is constructed at a time before this check.
|
|
85
|
+
*/
|
|
86
|
+
export const revalidateSemanticMemoryCandidates = Effect.fn("revalidateSemanticMemoryCandidates")(
|
|
87
|
+
function* (
|
|
88
|
+
found: MemoryIndexSearch,
|
|
89
|
+
access: MemoryAccess,
|
|
90
|
+
profile: SemanticMemoryProfile,
|
|
91
|
+
limits: SemanticCandidateLimits,
|
|
92
|
+
) {
|
|
93
|
+
const input = yield* Schema.decodeEffect(
|
|
94
|
+
Schema.Struct({
|
|
95
|
+
found: MemoryIndexSearch.Wire,
|
|
96
|
+
access: MemoryAccess.Wire,
|
|
97
|
+
profile: SemanticMemoryProfile,
|
|
98
|
+
limits: SemanticCandidateLimits,
|
|
99
|
+
}),
|
|
100
|
+
)({ found, access, profile, limits }).pipe(
|
|
101
|
+
Effect.mapError(() =>
|
|
102
|
+
MemoryIndexError.make({ operation: "validate candidates", reason: "corrupt" }),
|
|
103
|
+
),
|
|
104
|
+
);
|
|
105
|
+
|
|
106
|
+
found = input.found;
|
|
107
|
+
access = input.access;
|
|
108
|
+
profile = input.profile;
|
|
109
|
+
limits = input.limits;
|
|
110
|
+
if (
|
|
111
|
+
found.candidates.length > limits.maxCandidates ||
|
|
112
|
+
found.scannedChunks > limits.maxScannedChunks ||
|
|
113
|
+
found.scannedChunks < found.candidates.length
|
|
114
|
+
) {
|
|
115
|
+
return yield* MemoryIndexError.make({
|
|
116
|
+
operation: "validate candidate bounds",
|
|
117
|
+
reason: "corrupt",
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
const groups = new Map<
|
|
122
|
+
string,
|
|
123
|
+
{
|
|
124
|
+
readonly key: MemoryKey;
|
|
125
|
+
readonly candidates: Array<{
|
|
126
|
+
readonly rank: number;
|
|
127
|
+
readonly candidate: MemoryIndexCandidate;
|
|
128
|
+
}>;
|
|
129
|
+
}
|
|
130
|
+
>();
|
|
131
|
+
|
|
132
|
+
const rankedPassages: Array<{ readonly rank: number; readonly passage: MemoryPassage }> = [];
|
|
133
|
+
let staleExcluded = 0;
|
|
134
|
+
let unauthorizedExcluded = 0;
|
|
135
|
+
|
|
136
|
+
for (const [rank, candidate] of found.candidates.entries()) {
|
|
137
|
+
if (
|
|
138
|
+
candidate.key.namespace.address !== access.namespace.address ||
|
|
139
|
+
candidate.source.id !== candidate.key.id ||
|
|
140
|
+
candidate.score < limits.minScore
|
|
141
|
+
) {
|
|
142
|
+
return yield* MemoryIndexError.make({
|
|
143
|
+
operation: "validate candidate identity",
|
|
144
|
+
reason: "corrupt",
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
const group = groups.get(candidate.key.id);
|
|
148
|
+
|
|
149
|
+
if (group === undefined) {
|
|
150
|
+
groups.set(candidate.key.id, { key: candidate.key, candidates: [{ rank, candidate }] });
|
|
151
|
+
} else group.candidates.push({ rank, candidate });
|
|
152
|
+
}
|
|
153
|
+
const maxSourceBytes = limits.maxSourceBytes ?? 16_777_216;
|
|
154
|
+
const maxOutputBytes = limits.maxOutputBytes ?? 16_777_216;
|
|
155
|
+
let sourceBytes = 0;
|
|
156
|
+
let outputBytes = 0;
|
|
157
|
+
|
|
158
|
+
for (const group of groups.values()) {
|
|
159
|
+
yield* Effect.yieldNow;
|
|
160
|
+
const document = yield* readDocument(group.key);
|
|
161
|
+
|
|
162
|
+
if (document === null || document._tag === "WithdrawnMemoryDocument") {
|
|
163
|
+
staleExcluded += group.candidates.length;
|
|
164
|
+
continue;
|
|
165
|
+
}
|
|
166
|
+
if (!document.scopes.includes(access.scope)) {
|
|
167
|
+
unauthorizedExcluded += group.candidates.length;
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
const current = group.candidates.filter(
|
|
172
|
+
({ candidate }) =>
|
|
173
|
+
document.generation === candidate.sourceGeneration &&
|
|
174
|
+
document.source.revision === candidate.source.revision &&
|
|
175
|
+
document.source.locator === candidate.source.locator,
|
|
176
|
+
);
|
|
177
|
+
|
|
178
|
+
staleExcluded += group.candidates.length - current.length;
|
|
179
|
+
if (current.length === 0) continue;
|
|
180
|
+
const encoded = JSON.stringify(document);
|
|
181
|
+
const remainingSourceBytes = maxSourceBytes - sourceBytes;
|
|
182
|
+
const encodedBytes = encoded.length <= remainingSourceBytes ? byteLength(encoded) : undefined;
|
|
183
|
+
|
|
184
|
+
if (encodedBytes === undefined || encodedBytes > remainingSourceBytes) {
|
|
185
|
+
return yield* SemanticMemoryError.make({
|
|
186
|
+
operation: "query source bytes",
|
|
187
|
+
reason: "budget",
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
sourceBytes += encodedBytes;
|
|
191
|
+
const encodedDocument = Encoding.encodeHex(document.content.text);
|
|
192
|
+
|
|
193
|
+
for (const { rank, candidate } of current) {
|
|
194
|
+
if (!sameExcerpt(encodedDocument, candidate, profile.maxChunkBytes)) {
|
|
195
|
+
staleExcluded += 1;
|
|
196
|
+
continue;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
const passage = MemoryPassage.make({
|
|
200
|
+
version: 1,
|
|
201
|
+
authority: access.namespace.address,
|
|
202
|
+
source: document.source,
|
|
203
|
+
passageId: candidate.passageId,
|
|
204
|
+
content: { ...document.content, text: candidate.text },
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
const encodedPassage = JSON.stringify(passage);
|
|
208
|
+
const remainingOutputBytes = maxOutputBytes - outputBytes;
|
|
209
|
+
|
|
210
|
+
const passageBytes =
|
|
211
|
+
encodedPassage.length <= remainingOutputBytes ? byteLength(encodedPassage) : undefined;
|
|
212
|
+
|
|
213
|
+
if (passageBytes === undefined || passageBytes > remainingOutputBytes) {
|
|
214
|
+
return yield* SemanticMemoryError.make({
|
|
215
|
+
operation: "query output bytes",
|
|
216
|
+
reason: "budget",
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
outputBytes += passageBytes;
|
|
220
|
+
rankedPassages.push({ rank, passage });
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
const passages = rankedPassages
|
|
225
|
+
.sort((left, right) => left.rank - right.rank)
|
|
226
|
+
.map(({ passage }) => passage);
|
|
227
|
+
|
|
228
|
+
return SemanticCandidateResult.make({
|
|
229
|
+
lookup: passages.length === 0 ? { _tag: "NoMatch" } : { _tag: "Found", passages },
|
|
230
|
+
scannedChunks: found.scannedChunks,
|
|
231
|
+
staleExcluded,
|
|
232
|
+
unauthorizedExcluded,
|
|
233
|
+
});
|
|
234
|
+
},
|
|
235
|
+
);
|
|
236
|
+
|
|
237
|
+
const sameExcerpt = (
|
|
238
|
+
encodedDocument: string,
|
|
239
|
+
candidate: {
|
|
240
|
+
readonly startByte: number;
|
|
241
|
+
readonly endByte: number;
|
|
242
|
+
readonly text: string;
|
|
243
|
+
},
|
|
244
|
+
maxChunkBytes: number,
|
|
245
|
+
): boolean => {
|
|
246
|
+
const hex = Encoding.encodeHex(candidate.text);
|
|
247
|
+
|
|
248
|
+
return (
|
|
249
|
+
candidate.startByte < candidate.endByte &&
|
|
250
|
+
hex.length / 2 === candidate.endByte - candidate.startByte &&
|
|
251
|
+
hex.length / 2 <= maxChunkBytes &&
|
|
252
|
+
encodedDocument.slice(candidate.startByte * 2, candidate.endByte * 2) === hex
|
|
253
|
+
);
|
|
254
|
+
};
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { Context, Schema } from "effect";
|
|
2
|
+
|
|
3
|
+
import { AgentId, ThreadId, DelegationId, RunId, ToolCallId, SubmissionId } from "./Identifiers.ts";
|
|
4
|
+
|
|
5
|
+
const Natural = Schema.Natural;
|
|
6
|
+
|
|
7
|
+
/** Tree authority ceiling. Each child exposes only its own Toolkit's permitted names. */
|
|
8
|
+
export class SubagentGrant extends Schema.Class<SubagentGrant>(
|
|
9
|
+
"@effect-agent/capabilities/SubagentGrant",
|
|
10
|
+
)({
|
|
11
|
+
allowedToolNames: Schema.Array(Schema.NonEmptyString).check(Schema.isMaxLength(128)),
|
|
12
|
+
maxDepth: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 16 })),
|
|
13
|
+
/** Omitted permits either lifetime within the depth and reserved subtree budgets. */
|
|
14
|
+
childLifetimes: Schema.optionalKey(
|
|
15
|
+
Schema.Array(Schema.Literals(["attached", "background"])).check(Schema.isMaxLength(2)),
|
|
16
|
+
),
|
|
17
|
+
}) {}
|
|
18
|
+
|
|
19
|
+
/** Intersect inherited authority; another delegation can never restore a removed capability. */
|
|
20
|
+
export const narrowSubagentGrant = (
|
|
21
|
+
declared: SubagentGrant,
|
|
22
|
+
inherited?: SubagentGrant,
|
|
23
|
+
): SubagentGrant =>
|
|
24
|
+
inherited === undefined
|
|
25
|
+
? declared
|
|
26
|
+
: SubagentGrant.make({
|
|
27
|
+
allowedToolNames: declared.allowedToolNames.filter((name) =>
|
|
28
|
+
inherited.allowedToolNames.includes(name),
|
|
29
|
+
),
|
|
30
|
+
maxDepth: Math.min(declared.maxDepth, inherited.maxDepth),
|
|
31
|
+
childLifetimes: (declared.childLifetimes ?? ["attached", "background"]).filter((lifetime) =>
|
|
32
|
+
(inherited.childLifetimes ?? ["attached", "background"]).includes(lifetime),
|
|
33
|
+
),
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
/** Finite delegable caps for one parent Run. Absent means not configured; present values are finite. */
|
|
37
|
+
export class SubagentDelegationCaps extends Schema.Class<SubagentDelegationCaps>(
|
|
38
|
+
"@effect-agent/capabilities/SubagentDelegationCaps",
|
|
39
|
+
)({
|
|
40
|
+
maxTotalChildInvocations: Schema.optionalKey(Natural),
|
|
41
|
+
maxConcurrentChildren: Schema.optionalKey(Natural),
|
|
42
|
+
maxTurns: Schema.optionalKey(Natural),
|
|
43
|
+
maxToolCalls: Schema.optionalKey(Natural),
|
|
44
|
+
maxDurationMillis: Schema.optionalKey(Natural),
|
|
45
|
+
maxInputTokens: Schema.optionalKey(Natural),
|
|
46
|
+
maxOutputTokens: Schema.optionalKey(Natural),
|
|
47
|
+
maxCostMicrousd: Schema.optionalKey(Natural),
|
|
48
|
+
maxResultBytes: Schema.optionalKey(Natural),
|
|
49
|
+
}) {}
|
|
50
|
+
|
|
51
|
+
const AmountFields = {
|
|
52
|
+
turns: Natural,
|
|
53
|
+
toolCalls: Natural,
|
|
54
|
+
durationMillis: Natural,
|
|
55
|
+
inputTokens: Natural,
|
|
56
|
+
outputTokens: Natural,
|
|
57
|
+
costMicrousd: Natural,
|
|
58
|
+
resultBytes: Natural,
|
|
59
|
+
} as const;
|
|
60
|
+
|
|
61
|
+
/** Exact amounts across every reservable delegation dimension. */
|
|
62
|
+
export class SubagentReservationAmounts extends Schema.Class<SubagentReservationAmounts>(
|
|
63
|
+
"@effect-agent/capabilities/SubagentReservationAmounts",
|
|
64
|
+
)(AmountFields) {}
|
|
65
|
+
|
|
66
|
+
/** One child reservation against the parent Run's shared delegation pool. */
|
|
67
|
+
export const SubagentBudgetReservation = Schema.Struct({
|
|
68
|
+
caps: SubagentDelegationCaps,
|
|
69
|
+
allocation: SubagentReservationAmounts,
|
|
70
|
+
/** Slots reserved for every descendant input beneath this input; absent reserves none. */
|
|
71
|
+
descendantInvocations: Schema.optionalKey(Natural),
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
export type SubagentBudgetReservation = typeof SubagentBudgetReservation.Type;
|
|
75
|
+
|
|
76
|
+
/** Root-relative delegation depth; the direct child of a top-level run has depth 1. */
|
|
77
|
+
export const DelegationDepth = Schema.Int.check(Schema.isGreaterThanOrEqualTo(1));
|
|
78
|
+
export type DelegationDepth = typeof DelegationDepth.Type;
|
|
79
|
+
|
|
80
|
+
/** @deprecated Names are application-owned; use DelegationTool metadata for classification. */
|
|
81
|
+
export const delegationToolPrefix = "delegate_";
|
|
82
|
+
|
|
83
|
+
/** @deprecated Checks a legacy spelling only, never execution, nesting or recovery semantics. */
|
|
84
|
+
export const isDelegationToolName = (toolName: string): boolean =>
|
|
85
|
+
toolName.startsWith(delegationToolPrefix);
|
|
86
|
+
|
|
87
|
+
/** Marks a Tool implementing the idempotent Subagent establishment protocol. */
|
|
88
|
+
export const DelegationTool = Context.Reference<boolean>("@effect-agent/core/DelegationTool", {
|
|
89
|
+
defaultValue: () => false,
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
/** Marks a host-managed idempotent worker operation, independently of its Tool name. */
|
|
93
|
+
export const WorkerOperationTool = Context.Reference<boolean>(
|
|
94
|
+
"@effect-agent/core/WorkerOperationTool",
|
|
95
|
+
{
|
|
96
|
+
defaultValue: () => false,
|
|
97
|
+
},
|
|
98
|
+
);
|
|
99
|
+
|
|
100
|
+
/** Identifies the background launch operation within a generated management Toolkit. */
|
|
101
|
+
export const BackgroundSpawnTool = Context.Reference<boolean>(
|
|
102
|
+
"@effect-agent/core/BackgroundSpawnTool",
|
|
103
|
+
{
|
|
104
|
+
defaultValue: () => false,
|
|
105
|
+
},
|
|
106
|
+
);
|
|
107
|
+
|
|
108
|
+
/** Declaration metadata and inherited authority determine the effective visible Tool set. */
|
|
109
|
+
export const isSubagentToolAllowed = (
|
|
110
|
+
grant: SubagentGrant | undefined,
|
|
111
|
+
depth: number,
|
|
112
|
+
name: string,
|
|
113
|
+
annotations: Context.Context<never>,
|
|
114
|
+
): boolean =>
|
|
115
|
+
grant === undefined ||
|
|
116
|
+
(grant.allowedToolNames.includes(name) &&
|
|
117
|
+
(Context.get(annotations, BackgroundSpawnTool)
|
|
118
|
+
? depth < grant.maxDepth &&
|
|
119
|
+
(grant.childLifetimes ?? ["attached", "background"]).includes("background")
|
|
120
|
+
: Context.get(annotations, DelegationTool)
|
|
121
|
+
? depth < grant.maxDepth &&
|
|
122
|
+
(grant.childLifetimes ?? ["attached", "background"]).includes("attached")
|
|
123
|
+
: true));
|
|
124
|
+
|
|
125
|
+
/** Persisted preparation classification, checked against the resolved Tool before replay. */
|
|
126
|
+
export const ToolExecutionKind = Schema.Literals(["ordinary", "delegation", "orchestration"]);
|
|
127
|
+
export type ToolExecutionKind = typeof ToolExecutionKind.Type;
|
|
128
|
+
|
|
129
|
+
/** Resolve only trusted declaration metadata; names never authorize automatic replay. */
|
|
130
|
+
export const getToolExecutionKind = (annotations: Context.Context<never>): ToolExecutionKind =>
|
|
131
|
+
Context.get(annotations, WorkerOperationTool)
|
|
132
|
+
? "orchestration"
|
|
133
|
+
: Context.get(annotations, DelegationTool)
|
|
134
|
+
? "delegation"
|
|
135
|
+
: "ordinary";
|
|
136
|
+
|
|
137
|
+
/** Immutable lineage from a child Thread to the parent identity that established it. */
|
|
138
|
+
export class SubagentParentLink extends Schema.Class<SubagentParentLink>("SubagentParentLink")({
|
|
139
|
+
delegationId: DelegationId,
|
|
140
|
+
parentAgentId: AgentId,
|
|
141
|
+
parentThreadId: ThreadId,
|
|
142
|
+
parentRunId: RunId,
|
|
143
|
+
parentToolCallId: ToolCallId,
|
|
144
|
+
depth: DelegationDepth,
|
|
145
|
+
}) {}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Classification of one bounded durable delegation failure.
|
|
149
|
+
* `"child-failed"` and `"child-aborted"` project the
|
|
150
|
+
* child's canonical failed/aborted Settlement; `"child-compatibility"`
|
|
151
|
+
* projects the framework's `ChildCompatibilityFailure` child Settlement (the
|
|
152
|
+
* stored child Binding digest was unavailable — recovery never substituted
|
|
153
|
+
* current code); `"establishment-denied"` is a fail-closed coordinator
|
|
154
|
+
* refusal (lineage/digest verification, divergent replay); and
|
|
155
|
+
* `"declaration-unavailable"` is retained for decoding failures recorded by
|
|
156
|
+
* versions that required an explicit durable digest declaration.
|
|
157
|
+
*/
|
|
158
|
+
export const SubagentExecutionFailureClassification = Schema.Literals([
|
|
159
|
+
"child-failed",
|
|
160
|
+
"child-aborted",
|
|
161
|
+
"child-compatibility",
|
|
162
|
+
"establishment-denied",
|
|
163
|
+
"declaration-unavailable",
|
|
164
|
+
]);
|
|
165
|
+
|
|
166
|
+
export type SubagentExecutionFailureClassification =
|
|
167
|
+
typeof SubagentExecutionFailureClassification.Type;
|
|
168
|
+
|
|
169
|
+
export const maxErrorTagLength = 256;
|
|
170
|
+
const BoundedErrorTag = Schema.NonEmptyString.check(Schema.isMaxLength(maxErrorTagLength));
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Bounded framework projection of a durable child failure, shared by attached joins and reports.
|
|
174
|
+
* A failed or aborted durable child
|
|
175
|
+
* joins its parent Tool Call as exactly this typed failure: a classification,
|
|
176
|
+
* the child references, and the coordinator's bounded `{errorTag, message}`
|
|
177
|
+
* projection — never a raw Cause, stack, provider response, secret, or child
|
|
178
|
+
* payload. The typed child failure union does not survive a durable
|
|
179
|
+
* Settlement, so `mapChildFailure` remains the ephemeral-path contract;
|
|
180
|
+
* Schema-declared durable domain-failure mapping is a recorded later
|
|
181
|
+
* extension.
|
|
182
|
+
*/
|
|
183
|
+
export class SubagentExecutionFailure extends Schema.TaggedError<SubagentExecutionFailure>()(
|
|
184
|
+
"SubagentExecutionFailure",
|
|
185
|
+
{
|
|
186
|
+
delegationId: DelegationId,
|
|
187
|
+
targetAgentId: AgentId,
|
|
188
|
+
classification: SubagentExecutionFailureClassification,
|
|
189
|
+
/** Child references, present once establishment reached a child identity. */
|
|
190
|
+
childThreadId: Schema.optionalKey(ThreadId),
|
|
191
|
+
childSubmissionId: Schema.optionalKey(SubmissionId),
|
|
192
|
+
childRunId: Schema.optionalKey(RunId),
|
|
193
|
+
errorTag: BoundedErrorTag,
|
|
194
|
+
message: Schema.String.check(Schema.isMaxLength(4 * 1024)),
|
|
195
|
+
},
|
|
196
|
+
) {}
|