effect-agent 0.1.0-beta.125 → 0.1.0-beta.129
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/{Records-uGX4_EGf.d.mts → Admin-C34cVKlT.d.mts} +2908 -3941
- package/dist/{AgentRuntime-ov0LFEb-.d.mts → AgentRuntime-DEDvMkAR.d.mts} +2 -2
- package/dist/Digest-U69rDHuO.d.mts +22 -0
- package/dist/{DurableAgentRuntime-BvDGe7F9.mjs → DurableAgentRuntime-BydyN_n-.mjs} +88 -15
- package/dist/DurableAgentRuntime-BydyN_n-.mjs.map +1 -0
- package/dist/{EventSource-CNBoY8AA.d.mts → EventSource-Bac0SxKL.d.mts} +3 -3
- package/dist/{PreparedInputAdmission--_APJzWY.d.mts → PreparedInputAdmission-DcQGQ0Yp.d.mts} +4 -4
- package/dist/Records-B5GFWCpn.d.mts +1104 -0
- package/dist/{Schedule-C8ze8WTW.d.mts → Schedule-CtYREFnz.d.mts} +2 -2
- package/dist/{Subagent-CudP5BlT.mjs → Subagent-DJeZDrbD.mjs} +5 -2
- package/dist/Subagent-DJeZDrbD.mjs.map +1 -0
- package/dist/{Subagent-CCf7rY70.d.mts → Subagent-DRFyQxdb.d.mts} +13 -4
- package/dist/{SubagentHost-B0-cRCqs.d.mts → SubagentHost-DQjHFGqH.d.mts} +7 -2
- package/dist/{Subscription-CYb8ltMK.d.mts → Subscription-Bk2Smmqc.d.mts} +34 -3
- package/dist/{SubscriptionInput-C1XE9Vyi.d.mts → SubscriptionInput-ekbJz3pF.d.mts} +3 -3
- package/dist/capabilities/Subagent.d.mts +1 -1
- package/dist/capabilities/Subagent.mjs +1 -1
- package/dist/durable/ActivityStore.d.mts +1 -1
- package/dist/durable/Admin.d.mts +1 -1
- package/dist/durable/AgentRegistration.d.mts +1 -1
- package/dist/durable/Certification.d.mts +1 -1
- package/dist/durable/CommittedActivity.d.mts +3 -1
- package/dist/durable/Digest.d.mts +1 -1
- package/dist/durable/DurableAgentRuntime.d.mts +1 -1
- package/dist/durable/DurableAgentRuntime.mjs +1 -1
- package/dist/durable/EventSource.d.mts +1 -1
- package/dist/durable/GitHubWorkflowSource.d.mts +3 -3
- package/dist/durable/MessageDelivery.d.mts +44 -3
- package/dist/durable/MessageDeliveryStoreConformance.d.mts +23 -1
- package/dist/durable/PersistentHistory.d.mts +1 -1
- package/dist/durable/PreparedInputAdmission.d.mts +1 -1
- package/dist/durable/Records.d.mts +2 -2
- package/dist/durable/Records.mjs +12 -2
- package/dist/durable/Records.mjs.map +1 -1
- package/dist/durable/Recovery.d.mts +1 -1
- package/dist/durable/RunJournal.d.mts +1 -1
- package/dist/durable/Schedule.d.mts +1 -1
- package/dist/durable/ScheduleStoreConformance.d.mts +1 -1
- package/dist/durable/ScheduleTransition.d.mts +1 -1
- package/dist/durable/Scheduling.d.mts +3 -2
- package/dist/durable/SqlStorageV2Upgrade.d.mts +2 -2
- package/dist/durable/SqlSubscriptionStore.d.mts +2 -2
- package/dist/durable/SqlThreadNativeReads.d.mts +2 -1
- package/dist/durable/SqlThreadNativeReads.mjs +1 -1
- package/dist/durable/SqlThreadNativeReads.mjs.map +1 -1
- package/dist/durable/SubmissionLedger.d.mts +1 -1
- package/dist/durable/SubmissionLedgerConformance.d.mts +2 -1
- package/dist/durable/SubmissionStatus.d.mts +1 -1
- package/dist/durable/Subscription.d.mts +1 -1
- package/dist/durable/SubscriptionInput.d.mts +1 -1
- package/dist/durable/SubscriptionStoreConformance.d.mts +1 -1
- package/dist/durable/SubscriptionTools.d.mts +4 -3
- package/dist/durable/SubscriptionTransition.d.mts +1 -1
- package/dist/durable/Subscriptions.d.mts +6 -5
- package/dist/durable/ThreadContextHistory.d.mts +1 -1
- package/dist/durable/ThreadContextHistoryProjection.d.mts +1 -1
- package/dist/durable/ThreadInvariants.d.mts +2 -1
- package/dist/durable/ThreadProjection.d.mts +1 -1
- package/dist/durable/ThreadProjectionMaintenance.d.mts +1 -1
- package/dist/durable/ThreadStore.d.mts +1 -1
- package/dist/durable/ThreadStoreConformance.d.mts +1 -1
- package/dist/durable/ThreadStoreConformance.mjs +10 -1
- package/dist/durable/ThreadStoreConformance.mjs.map +1 -1
- package/dist/durable/WorkerHost.d.mts +9 -2
- package/dist/durable/WorkerHost.mjs.map +1 -1
- package/dist/engine/AgentRuntime.d.mts +1 -1
- package/dist/engine/SubagentHost.d.mts +1 -1
- package/dist/engine/SubagentHost.mjs.map +1 -1
- package/dist/index.d.mts +12 -10
- package/dist/index.mjs +2 -2
- package/package.json +1 -1
- package/src/capabilities/internal/subagent-background.ts +25 -3
- package/src/durable/Records.ts +13 -1
- package/src/durable/SqlThreadNativeReads.ts +1 -1
- package/src/durable/ThreadStoreConformance.ts +28 -0
- package/src/durable/WorkerHost.ts +14 -2
- package/src/durable/internal/worker-host.ts +282 -9
- package/src/engine/SubagentHost.ts +6 -0
- package/dist/DurableAgentRuntime-BvDGe7F9.mjs.map +0 -1
- package/dist/Subagent-CudP5BlT.mjs.map +0 -1
package/dist/index.d.mts
CHANGED
|
@@ -46,28 +46,30 @@ import { t as MemoryRevalidation_d_exports } from "./core/MemoryRevalidation.mjs
|
|
|
46
46
|
import { t as SemanticMemoryIndex_d_exports } from "./core/SemanticMemoryIndex.mjs";
|
|
47
47
|
import { t as SemanticMemoryRevalidation_d_exports } from "./core/SemanticMemoryRevalidation.mjs";
|
|
48
48
|
import { t as SemanticMemory_d_exports } from "./capabilities/SemanticMemory.mjs";
|
|
49
|
-
import { s as SubagentHost_d_exports } from "./SubagentHost-
|
|
50
|
-
import { t as AgentRuntime_d_exports } from "./AgentRuntime-
|
|
49
|
+
import { s as SubagentHost_d_exports } from "./SubagentHost-DQjHFGqH.mjs";
|
|
50
|
+
import { t as AgentRuntime_d_exports } from "./AgentRuntime-DEDvMkAR.mjs";
|
|
51
51
|
import { i as RunEventSink_d_exports } from "./RunEventSink-D5aVhISG.mjs";
|
|
52
|
-
import { v as Subagent_d_exports } from "./Subagent-
|
|
52
|
+
import { v as Subagent_d_exports } from "./Subagent-DRFyQxdb.mjs";
|
|
53
53
|
import { t as ToolDiscovery_d_exports } from "./capabilities/ToolDiscovery.mjs";
|
|
54
54
|
import { D as PageCapture_d_exports } from "./PageCapture-Df8Xwskw.mjs";
|
|
55
55
|
import { t as WebCapture_d_exports } from "./capabilities/WebCapture.mjs";
|
|
56
56
|
import { t as WebSearch_d_exports } from "./capabilities/WebSearch.mjs";
|
|
57
57
|
import { t as IdGenerator_d_exports } from "./core/IdGenerator.mjs";
|
|
58
58
|
import { t as Memory_d_exports } from "./core/Memory.mjs";
|
|
59
|
-
import {
|
|
59
|
+
import { N as Records_d_exports } from "./Records-B5GFWCpn.mjs";
|
|
60
|
+
import { t as ActivityStore_d_exports } from "./durable/ActivityStore.mjs";
|
|
61
|
+
import { n as Digest_d_exports } from "./Digest-U69rDHuO.mjs";
|
|
62
|
+
import { J as Recovery_d_exports, Xn as DurableAgentRuntime_d_exports, ni as ThreadStore_d_exports, pi as SubmissionStatus_d_exports, t as Admin_d_exports, va as AgentRegistration_d_exports, vi as RunJournal_d_exports, yn as SubmissionLedger_d_exports } from "./Admin-C34cVKlT.mjs";
|
|
60
63
|
import { t as DurableFailpoint_d_exports } from "./DurableFailpoint-Cnr3wx1L.mjs";
|
|
61
64
|
import { a as OperationAuthorizer_d_exports } from "./OperationAuthorizer-TzcQtpX5.mjs";
|
|
62
65
|
import { l as ToolReconciler_d_exports } from "./ToolReconciler-BmVRAHKs.mjs";
|
|
63
66
|
import { n as WakeScheduler_d_exports } from "./WakeScheduler-EjUF-GhC.mjs";
|
|
64
|
-
import { t as ActivityStore_d_exports } from "./durable/ActivityStore.mjs";
|
|
65
67
|
import { t as CommittedActivity_d_exports } from "./durable/CommittedActivity.mjs";
|
|
66
|
-
import { R as Schedule_d_exports } from "./Schedule-
|
|
67
|
-
import { k as Subscription_d_exports } from "./Subscription-
|
|
68
|
-
import { n as EventSource_d_exports } from "./EventSource-
|
|
69
|
-
import { n as PreparedInputAdmission_d_exports } from "./PreparedInputAdmission
|
|
70
|
-
import { r as SubscriptionInput_d_exports } from "./SubscriptionInput-
|
|
68
|
+
import { R as Schedule_d_exports } from "./Schedule-CtYREFnz.mjs";
|
|
69
|
+
import { k as Subscription_d_exports } from "./Subscription-Bk2Smmqc.mjs";
|
|
70
|
+
import { n as EventSource_d_exports } from "./EventSource-Bac0SxKL.mjs";
|
|
71
|
+
import { n as PreparedInputAdmission_d_exports } from "./PreparedInputAdmission-DcQGQ0Yp.mjs";
|
|
72
|
+
import { r as SubscriptionInput_d_exports } from "./SubscriptionInput-ekbJz3pF.mjs";
|
|
71
73
|
import { t as Subscriptions_d_exports } from "./durable/Subscriptions.mjs";
|
|
72
74
|
import { t as MessageDelivery_d_exports } from "./durable/MessageDelivery.mjs";
|
|
73
75
|
import { t as PersistentHistory_d_exports } from "./durable/PersistentHistory.mjs";
|
package/dist/index.mjs
CHANGED
|
@@ -56,7 +56,7 @@ import { t as RunHooks_exports } from "./capabilities/RunHooks.mjs";
|
|
|
56
56
|
import { t as SemanticMemoryIndex_exports } from "./core/SemanticMemoryIndex.mjs";
|
|
57
57
|
import { t as SemanticMemoryRevalidation_exports } from "./core/SemanticMemoryRevalidation.mjs";
|
|
58
58
|
import { t as SemanticMemory_exports } from "./capabilities/SemanticMemory.mjs";
|
|
59
|
-
import { r as Subagent_exports } from "./Subagent-
|
|
59
|
+
import { r as Subagent_exports } from "./Subagent-DJeZDrbD.mjs";
|
|
60
60
|
import { t as ToolDiscovery_exports } from "./capabilities/ToolDiscovery.mjs";
|
|
61
61
|
import { t as ToolExposure_exports } from "./ToolExposure.mjs";
|
|
62
62
|
import { t as WebCapture_exports } from "./capabilities/WebCapture.mjs";
|
|
@@ -68,7 +68,7 @@ import { t as Recovery_exports } from "./durable/Recovery.mjs";
|
|
|
68
68
|
import { t as Admin_exports } from "./durable/Admin.mjs";
|
|
69
69
|
import { t as Digest_exports } from "./durable/Digest.mjs";
|
|
70
70
|
import { t as AgentRegistration_exports } from "./durable/AgentRegistration.mjs";
|
|
71
|
-
import { r as DurableAgentRuntime_exports } from "./DurableAgentRuntime-
|
|
71
|
+
import { r as DurableAgentRuntime_exports } from "./DurableAgentRuntime-BydyN_n-.mjs";
|
|
72
72
|
import { n as RunJournal_exports } from "./RunJournal-BXrq0VIK.mjs";
|
|
73
73
|
import { t as ThreadStore_exports } from "./durable/ThreadStore.mjs";
|
|
74
74
|
import { t as CommittedActivity_exports } from "./durable/CommittedActivity.mjs";
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"effect-agent","version":"0.1.0-beta.125","devDependencies":{"@effect/platform-node":"4.0.0-rc.116","@effect/vitest":"4.0.0-rc.116","effect":"4.0.0-rc.116","typescript":"7.0.2","vite-plus":"0.3.2"},"peerDependencies":{"effect":"^4.0.0-rc.116"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"./activity-store":{"types":"./dist/durable/ActivityStore.d.mts","default":"./dist/durable/ActivityStore.mjs"},"./admin":{"types":"./dist/durable/Admin.d.mts","default":"./dist/durable/Admin.mjs"},"./agent":{"types":"./dist/core/Agent.d.mts","default":"./dist/core/Agent.mjs"},"./agent-error":{"types":"./dist/core/AgentError.d.mts","default":"./dist/core/AgentError.mjs"},"./agent-policy":{"types":"./dist/core/AgentPolicy.d.mts","default":"./dist/core/AgentPolicy.mjs"},"./agent-registration":{"types":"./dist/durable/AgentRegistration.d.mts","default":"./dist/durable/AgentRegistration.mjs"},"./agent-runtime":{"types":"./dist/engine/AgentRuntime.d.mts","default":"./dist/engine/AgentRuntime.mjs"},"./agent-updates":{"types":"./dist/core/AgentUpdates.d.mts","default":"./dist/core/AgentUpdates.mjs"},"./approval":{"types":"./dist/capabilities/Approval.d.mts","default":"./dist/capabilities/Approval.mjs"},"./budget":{"types":"./dist/capabilities/Budget.d.mts","default":"./dist/capabilities/Budget.mjs"},"./code-executor":{"types":"./dist/sandbox/CodeExecutor.d.mts","default":"./dist/sandbox/CodeExecutor.mjs"},"./code-mode":{"types":"./dist/capabilities/CodeMode.d.mts","default":"./dist/capabilities/CodeMode.mjs"},"./commands":{"types":"./dist/capabilities/Commands.d.mts","default":"./dist/capabilities/Commands.mjs"},"./committed-activity":{"types":"./dist/durable/CommittedActivity.d.mts","default":"./dist/durable/CommittedActivity.mjs"},"./compaction":{"types":"./dist/engine/Compaction.d.mts","default":"./dist/engine/Compaction.mjs"},"./context-compactor":{"types":"./dist/engine/ContextCompactor.d.mts","default":"./dist/engine/ContextCompactor.mjs"},"./context-history":{"types":"./dist/engine/ContextHistory.d.mts","default":"./dist/engine/ContextHistory.mjs"},"./context-tools":{"types":"./dist/capabilities/ContextTools.d.mts","default":"./dist/capabilities/ContextTools.mjs"},"./context-window":{"types":"./dist/engine/ContextWindow.d.mts","default":"./dist/engine/ContextWindow.mjs"},"./digest":{"types":"./dist/durable/Digest.d.mts","default":"./dist/durable/Digest.mjs"},"./durable-agent-runtime":{"types":"./dist/durable/DurableAgentRuntime.d.mts","default":"./dist/durable/DurableAgentRuntime.mjs"},"./durable-failpoint":{"types":"./dist/durable/DurableFailpoint.d.mts","default":"./dist/durable/DurableFailpoint.mjs"},"./durable-step":{"types":"./dist/engine/DurableStep.d.mts","default":"./dist/engine/DurableStep.mjs"},"./event-source":{"types":"./dist/durable/EventSource.d.mts","default":"./dist/durable/EventSource.mjs"},"./failure-diagnostic":{"types":"./dist/core/FailureDiagnostic.d.mts","default":"./dist/core/FailureDiagnostic.mjs"},"./git-hub-workflow-source":{"types":"./dist/durable/GitHubWorkflowSource.d.mts","default":"./dist/durable/GitHubWorkflowSource.mjs"},"./id-generator":{"types":"./dist/core/IdGenerator.d.mts","default":"./dist/core/IdGenerator.mjs"},"./identifiers":{"types":"./dist/core/Identifiers.d.mts","default":"./dist/core/Identifiers.mjs"},"./in-memory":{"types":"./dist/InMemory.d.mts","default":"./dist/InMemory.mjs"},"./interactive-browser":{"types":"./dist/sandbox/InteractiveBrowser.d.mts","default":"./dist/sandbox/InteractiveBrowser.mjs"},"./mcp":{"types":"./dist/capabilities/Mcp.d.mts","default":"./dist/capabilities/Mcp.mjs"},"./mcp-client":{"types":"./dist/capabilities/McpClient.d.mts","default":"./dist/capabilities/McpClient.mjs"},"./memory":{"types":"./dist/core/Memory.d.mts","default":"./dist/core/Memory.mjs"},"./memory-namespace":{"types":"./dist/core/MemoryNamespace.d.mts","default":"./dist/core/MemoryNamespace.mjs"},"./memory-notes":{"types":"./dist/capabilities/MemoryNotes.d.mts","default":"./dist/capabilities/MemoryNotes.mjs"},"./memory-reference":{"types":"./dist/core/MemoryReference.d.mts","default":"./dist/core/MemoryReference.mjs"},"./memory-revalidation":{"types":"./dist/core/MemoryRevalidation.d.mts","default":"./dist/core/MemoryRevalidation.mjs"},"./memory-store":{"types":"./dist/core/MemoryStore.d.mts","default":"./dist/core/MemoryStore.mjs"},"./message-delivery":{"types":"./dist/durable/MessageDelivery.d.mts","default":"./dist/durable/MessageDelivery.mjs"},"./messaging":{"types":"./dist/capabilities/Messaging.d.mts","default":"./dist/capabilities/Messaging.mjs"},"./messaging-host":{"types":"./dist/engine/MessagingHost.d.mts","default":"./dist/engine/MessagingHost.mjs"},"./model-context":{"types":"./dist/capabilities/ModelContext.d.mts","default":"./dist/capabilities/ModelContext.mjs"},"./operation-authorizer":{"types":"./dist/durable/OperationAuthorizer.d.mts","default":"./dist/durable/OperationAuthorizer.mjs"},"./output":{"types":"./dist/engine/Output.d.mts","default":"./dist/engine/Output.mjs"},"./page-capture":{"types":"./dist/sandbox/PageCapture.d.mts","default":"./dist/sandbox/PageCapture.mjs"},"./page-crawl":{"types":"./dist/sandbox/PageCrawl.d.mts","default":"./dist/sandbox/PageCrawl.mjs"},"./page-screenshot":{"types":"./dist/sandbox/PageScreenshot.d.mts","default":"./dist/sandbox/PageScreenshot.mjs"},"./persistent-history":{"types":"./dist/durable/PersistentHistory.d.mts","default":"./dist/durable/PersistentHistory.mjs"},"./prepared-input-admission":{"types":"./dist/durable/PreparedInputAdmission.d.mts","default":"./dist/durable/PreparedInputAdmission.mjs"},"./receipt":{"types":"./dist/core/Receipt.d.mts","default":"./dist/core/Receipt.mjs"},"./records":{"types":"./dist/durable/Records.d.mts","default":"./dist/durable/Records.mjs"},"./recovery":{"types":"./dist/durable/Recovery.d.mts","default":"./dist/durable/Recovery.mjs"},"./redaction":{"types":"./dist/capabilities/Redaction.d.mts","default":"./dist/capabilities/Redaction.mjs"},"./remembering":{"types":"./dist/capabilities/Remembering.d.mts","default":"./dist/capabilities/Remembering.mjs"},"./remembering-store":{"types":"./dist/core/RememberingStore.d.mts","default":"./dist/core/RememberingStore.mjs"},"./run-event":{"types":"./dist/core/RunEvent.d.mts","default":"./dist/core/RunEvent.mjs"},"./run-event-sink":{"types":"./dist/engine/RunEventSink.d.mts","default":"./dist/engine/RunEventSink.mjs"},"./run-hooks":{"types":"./dist/capabilities/RunHooks.d.mts","default":"./dist/capabilities/RunHooks.mjs"},"./run-journal":{"types":"./dist/durable/RunJournal.d.mts","default":"./dist/durable/RunJournal.mjs"},"./run-options":{"types":"./dist/engine/RunOptions.d.mts","default":"./dist/engine/RunOptions.mjs"},"./run-policy-usage":{"types":"./dist/core/RunPolicyUsage.d.mts","default":"./dist/core/RunPolicyUsage.mjs"},"./sandbox":{"types":"./dist/sandbox/Sandbox.d.mts","default":"./dist/sandbox/Sandbox.mjs"},"./schedule":{"types":"./dist/durable/Schedule.d.mts","default":"./dist/durable/Schedule.mjs"},"./schedule-transition":{"types":"./dist/durable/ScheduleTransition.d.mts","default":"./dist/durable/ScheduleTransition.mjs"},"./scheduling":{"types":"./dist/durable/Scheduling.d.mts","default":"./dist/durable/Scheduling.mjs"},"./semantic-memory":{"types":"./dist/capabilities/SemanticMemory.d.mts","default":"./dist/capabilities/SemanticMemory.mjs"},"./semantic-memory-index":{"types":"./dist/core/SemanticMemoryIndex.d.mts","default":"./dist/core/SemanticMemoryIndex.mjs"},"./semantic-memory-revalidation":{"types":"./dist/core/SemanticMemoryRevalidation.d.mts","default":"./dist/core/SemanticMemoryRevalidation.mjs"},"./sql-thread-native-reads":{"types":"./dist/durable/SqlThreadNativeReads.d.mts","default":"./dist/durable/SqlThreadNativeReads.mjs"},"./sql-memory-store":{"types":"./dist/durable/SqlMemoryStore.d.mts","default":"./dist/durable/SqlMemoryStore.mjs"},"./sql-message-delivery-store":{"types":"./dist/durable/SqlMessageDeliveryStore.d.mts","default":"./dist/durable/SqlMessageDeliveryStore.mjs"},"./sql-storage-v2-upgrade":{"types":"./dist/durable/SqlStorageV2Upgrade.d.mts","default":"./dist/durable/SqlStorageV2Upgrade.mjs"},"./sql-subscription-store":{"types":"./dist/durable/SqlSubscriptionStore.d.mts","default":"./dist/durable/SqlSubscriptionStore.mjs"},"./subagent":{"types":"./dist/capabilities/Subagent.d.mts","default":"./dist/capabilities/Subagent.mjs"},"./subagent-contract":{"types":"./dist/core/SubagentContract.d.mts","default":"./dist/core/SubagentContract.mjs"},"./subagent-host":{"types":"./dist/engine/SubagentHost.d.mts","default":"./dist/engine/SubagentHost.mjs"},"./subagent-reservations":{"types":"./dist/capabilities/SubagentReservations.d.mts","default":"./dist/capabilities/SubagentReservations.mjs"},"./submission-ledger":{"types":"./dist/durable/SubmissionLedger.d.mts","default":"./dist/durable/SubmissionLedger.mjs"},"./submission-status":{"types":"./dist/durable/SubmissionStatus.d.mts","default":"./dist/durable/SubmissionStatus.mjs"},"./subscription":{"types":"./dist/durable/Subscription.d.mts","default":"./dist/durable/Subscription.mjs"},"./subscription-input":{"types":"./dist/durable/SubscriptionInput.d.mts","default":"./dist/durable/SubscriptionInput.mjs"},"./subscription-tools":{"types":"./dist/durable/SubscriptionTools.d.mts","default":"./dist/durable/SubscriptionTools.mjs"},"./subscription-transition":{"types":"./dist/durable/SubscriptionTransition.d.mts","default":"./dist/durable/SubscriptionTransition.mjs"},"./subscriptions":{"types":"./dist/durable/Subscriptions.d.mts","default":"./dist/durable/Subscriptions.mjs"},"./testing/certification":{"types":"./dist/durable/Certification.d.mts","default":"./dist/durable/Certification.mjs"},"./testing/durable-failpoint-test-control":{"types":"./dist/durable/DurableFailpointTestControl.d.mts","default":"./dist/durable/DurableFailpointTestControl.mjs"},"./testing/message-delivery-store-conformance":{"types":"./dist/durable/MessageDeliveryStoreConformance.d.mts","default":"./dist/durable/MessageDeliveryStoreConformance.mjs"},"./testing/schedule-store-conformance":{"types":"./dist/durable/ScheduleStoreConformance.d.mts","default":"./dist/durable/ScheduleStoreConformance.mjs"},"./testing/submission-ledger-conformance":{"types":"./dist/durable/SubmissionLedgerConformance.d.mts","default":"./dist/durable/SubmissionLedgerConformance.mjs"},"./testing/subscription-store-conformance":{"types":"./dist/durable/SubscriptionStoreConformance.d.mts","default":"./dist/durable/SubscriptionStoreConformance.mjs"},"./testing/thread-store-conformance":{"types":"./dist/durable/ThreadStoreConformance.d.mts","default":"./dist/durable/ThreadStoreConformance.mjs"},"./thread":{"types":"./dist/core/Thread.d.mts","default":"./dist/core/Thread.mjs"},"./thread-context-history":{"types":"./dist/durable/ThreadContextHistory.d.mts","default":"./dist/durable/ThreadContextHistory.mjs"},"./thread-context-history-projection":{"types":"./dist/durable/ThreadContextHistoryProjection.d.mts","default":"./dist/durable/ThreadContextHistoryProjection.mjs"},"./thread-history":{"types":"./dist/engine/ThreadHistory.d.mts","default":"./dist/engine/ThreadHistory.mjs"},"./thread-invariants":{"types":"./dist/durable/ThreadInvariants.d.mts","default":"./dist/durable/ThreadInvariants.mjs"},"./thread-projection":{"types":"./dist/durable/ThreadProjection.d.mts","default":"./dist/durable/ThreadProjection.mjs"},"./thread-projection-maintenance":{"types":"./dist/durable/ThreadProjectionMaintenance.d.mts","default":"./dist/durable/ThreadProjectionMaintenance.mjs"},"./thread-store":{"types":"./dist/durable/ThreadStore.d.mts","default":"./dist/durable/ThreadStore.mjs"},"./tool-broker":{"types":"./dist/engine/ToolBroker.d.mts","default":"./dist/engine/ToolBroker.mjs"},"./tool-discovery":{"types":"./dist/capabilities/ToolDiscovery.d.mts","default":"./dist/capabilities/ToolDiscovery.mjs"},"./tool-exposure":{"types":"./dist/ToolExposure.d.mts","default":"./dist/ToolExposure.mjs"},"./tool-reconciler":{"types":"./dist/durable/ToolReconciler.d.mts","default":"./dist/durable/ToolReconciler.mjs"},"./tool-result":{"types":"./dist/core/ToolResult.d.mts","default":"./dist/core/ToolResult.mjs"},"./usage":{"types":"./dist/core/Usage.d.mts","default":"./dist/core/Usage.mjs"},"./wake-scheduler":{"types":"./dist/durable/WakeScheduler.d.mts","default":"./dist/durable/WakeScheduler.mjs"},"./web-capture":{"types":"./dist/capabilities/WebCapture.d.mts","default":"./dist/capabilities/WebCapture.mjs"},"./web-search":{"types":"./dist/capabilities/WebSearch.d.mts","default":"./dist/capabilities/WebSearch.mjs"},"./worker":{"types":"./dist/core/Worker.d.mts","default":"./dist/core/Worker.mjs"},"./worker-host":{"types":"./dist/durable/WorkerHost.d.mts","default":"./dist/durable/WorkerHost.mjs"}},"description":"Effect-native agents, execution, subagents, and sandbox contracts in one tree-shakeable package.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/danieljvdm/effect-agent.git","directory":"packages/effect-agent"},"files":["dist","src"],"type":"module","sideEffects":[],"publishConfig":{"access":"public"},"scripts":{"build":"vp pack","check":"tsc --noEmit -p tsconfig.json","test":"vp test --passWithNoTests"}}
|
|
1
|
+
{"name":"effect-agent","version":"0.1.0-beta.129","devDependencies":{"@effect/platform-node":"4.0.0-rc.116","@effect/vitest":"4.0.0-rc.116","effect":"4.0.0-rc.116","typescript":"7.0.2","vite-plus":"0.3.2"},"peerDependencies":{"effect":"^4.0.0-rc.116"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"./activity-store":{"types":"./dist/durable/ActivityStore.d.mts","default":"./dist/durable/ActivityStore.mjs"},"./admin":{"types":"./dist/durable/Admin.d.mts","default":"./dist/durable/Admin.mjs"},"./agent":{"types":"./dist/core/Agent.d.mts","default":"./dist/core/Agent.mjs"},"./agent-error":{"types":"./dist/core/AgentError.d.mts","default":"./dist/core/AgentError.mjs"},"./agent-policy":{"types":"./dist/core/AgentPolicy.d.mts","default":"./dist/core/AgentPolicy.mjs"},"./agent-registration":{"types":"./dist/durable/AgentRegistration.d.mts","default":"./dist/durable/AgentRegistration.mjs"},"./agent-runtime":{"types":"./dist/engine/AgentRuntime.d.mts","default":"./dist/engine/AgentRuntime.mjs"},"./agent-updates":{"types":"./dist/core/AgentUpdates.d.mts","default":"./dist/core/AgentUpdates.mjs"},"./approval":{"types":"./dist/capabilities/Approval.d.mts","default":"./dist/capabilities/Approval.mjs"},"./budget":{"types":"./dist/capabilities/Budget.d.mts","default":"./dist/capabilities/Budget.mjs"},"./code-executor":{"types":"./dist/sandbox/CodeExecutor.d.mts","default":"./dist/sandbox/CodeExecutor.mjs"},"./code-mode":{"types":"./dist/capabilities/CodeMode.d.mts","default":"./dist/capabilities/CodeMode.mjs"},"./commands":{"types":"./dist/capabilities/Commands.d.mts","default":"./dist/capabilities/Commands.mjs"},"./committed-activity":{"types":"./dist/durable/CommittedActivity.d.mts","default":"./dist/durable/CommittedActivity.mjs"},"./compaction":{"types":"./dist/engine/Compaction.d.mts","default":"./dist/engine/Compaction.mjs"},"./context-compactor":{"types":"./dist/engine/ContextCompactor.d.mts","default":"./dist/engine/ContextCompactor.mjs"},"./context-history":{"types":"./dist/engine/ContextHistory.d.mts","default":"./dist/engine/ContextHistory.mjs"},"./context-tools":{"types":"./dist/capabilities/ContextTools.d.mts","default":"./dist/capabilities/ContextTools.mjs"},"./context-window":{"types":"./dist/engine/ContextWindow.d.mts","default":"./dist/engine/ContextWindow.mjs"},"./digest":{"types":"./dist/durable/Digest.d.mts","default":"./dist/durable/Digest.mjs"},"./durable-agent-runtime":{"types":"./dist/durable/DurableAgentRuntime.d.mts","default":"./dist/durable/DurableAgentRuntime.mjs"},"./durable-failpoint":{"types":"./dist/durable/DurableFailpoint.d.mts","default":"./dist/durable/DurableFailpoint.mjs"},"./durable-step":{"types":"./dist/engine/DurableStep.d.mts","default":"./dist/engine/DurableStep.mjs"},"./event-source":{"types":"./dist/durable/EventSource.d.mts","default":"./dist/durable/EventSource.mjs"},"./failure-diagnostic":{"types":"./dist/core/FailureDiagnostic.d.mts","default":"./dist/core/FailureDiagnostic.mjs"},"./git-hub-workflow-source":{"types":"./dist/durable/GitHubWorkflowSource.d.mts","default":"./dist/durable/GitHubWorkflowSource.mjs"},"./id-generator":{"types":"./dist/core/IdGenerator.d.mts","default":"./dist/core/IdGenerator.mjs"},"./identifiers":{"types":"./dist/core/Identifiers.d.mts","default":"./dist/core/Identifiers.mjs"},"./in-memory":{"types":"./dist/InMemory.d.mts","default":"./dist/InMemory.mjs"},"./interactive-browser":{"types":"./dist/sandbox/InteractiveBrowser.d.mts","default":"./dist/sandbox/InteractiveBrowser.mjs"},"./mcp":{"types":"./dist/capabilities/Mcp.d.mts","default":"./dist/capabilities/Mcp.mjs"},"./mcp-client":{"types":"./dist/capabilities/McpClient.d.mts","default":"./dist/capabilities/McpClient.mjs"},"./memory":{"types":"./dist/core/Memory.d.mts","default":"./dist/core/Memory.mjs"},"./memory-namespace":{"types":"./dist/core/MemoryNamespace.d.mts","default":"./dist/core/MemoryNamespace.mjs"},"./memory-notes":{"types":"./dist/capabilities/MemoryNotes.d.mts","default":"./dist/capabilities/MemoryNotes.mjs"},"./memory-reference":{"types":"./dist/core/MemoryReference.d.mts","default":"./dist/core/MemoryReference.mjs"},"./memory-revalidation":{"types":"./dist/core/MemoryRevalidation.d.mts","default":"./dist/core/MemoryRevalidation.mjs"},"./memory-store":{"types":"./dist/core/MemoryStore.d.mts","default":"./dist/core/MemoryStore.mjs"},"./message-delivery":{"types":"./dist/durable/MessageDelivery.d.mts","default":"./dist/durable/MessageDelivery.mjs"},"./messaging":{"types":"./dist/capabilities/Messaging.d.mts","default":"./dist/capabilities/Messaging.mjs"},"./messaging-host":{"types":"./dist/engine/MessagingHost.d.mts","default":"./dist/engine/MessagingHost.mjs"},"./model-context":{"types":"./dist/capabilities/ModelContext.d.mts","default":"./dist/capabilities/ModelContext.mjs"},"./operation-authorizer":{"types":"./dist/durable/OperationAuthorizer.d.mts","default":"./dist/durable/OperationAuthorizer.mjs"},"./output":{"types":"./dist/engine/Output.d.mts","default":"./dist/engine/Output.mjs"},"./page-capture":{"types":"./dist/sandbox/PageCapture.d.mts","default":"./dist/sandbox/PageCapture.mjs"},"./page-crawl":{"types":"./dist/sandbox/PageCrawl.d.mts","default":"./dist/sandbox/PageCrawl.mjs"},"./page-screenshot":{"types":"./dist/sandbox/PageScreenshot.d.mts","default":"./dist/sandbox/PageScreenshot.mjs"},"./persistent-history":{"types":"./dist/durable/PersistentHistory.d.mts","default":"./dist/durable/PersistentHistory.mjs"},"./prepared-input-admission":{"types":"./dist/durable/PreparedInputAdmission.d.mts","default":"./dist/durable/PreparedInputAdmission.mjs"},"./receipt":{"types":"./dist/core/Receipt.d.mts","default":"./dist/core/Receipt.mjs"},"./records":{"types":"./dist/durable/Records.d.mts","default":"./dist/durable/Records.mjs"},"./recovery":{"types":"./dist/durable/Recovery.d.mts","default":"./dist/durable/Recovery.mjs"},"./redaction":{"types":"./dist/capabilities/Redaction.d.mts","default":"./dist/capabilities/Redaction.mjs"},"./remembering":{"types":"./dist/capabilities/Remembering.d.mts","default":"./dist/capabilities/Remembering.mjs"},"./remembering-store":{"types":"./dist/core/RememberingStore.d.mts","default":"./dist/core/RememberingStore.mjs"},"./run-event":{"types":"./dist/core/RunEvent.d.mts","default":"./dist/core/RunEvent.mjs"},"./run-event-sink":{"types":"./dist/engine/RunEventSink.d.mts","default":"./dist/engine/RunEventSink.mjs"},"./run-hooks":{"types":"./dist/capabilities/RunHooks.d.mts","default":"./dist/capabilities/RunHooks.mjs"},"./run-journal":{"types":"./dist/durable/RunJournal.d.mts","default":"./dist/durable/RunJournal.mjs"},"./run-options":{"types":"./dist/engine/RunOptions.d.mts","default":"./dist/engine/RunOptions.mjs"},"./run-policy-usage":{"types":"./dist/core/RunPolicyUsage.d.mts","default":"./dist/core/RunPolicyUsage.mjs"},"./sandbox":{"types":"./dist/sandbox/Sandbox.d.mts","default":"./dist/sandbox/Sandbox.mjs"},"./schedule":{"types":"./dist/durable/Schedule.d.mts","default":"./dist/durable/Schedule.mjs"},"./schedule-transition":{"types":"./dist/durable/ScheduleTransition.d.mts","default":"./dist/durable/ScheduleTransition.mjs"},"./scheduling":{"types":"./dist/durable/Scheduling.d.mts","default":"./dist/durable/Scheduling.mjs"},"./semantic-memory":{"types":"./dist/capabilities/SemanticMemory.d.mts","default":"./dist/capabilities/SemanticMemory.mjs"},"./semantic-memory-index":{"types":"./dist/core/SemanticMemoryIndex.d.mts","default":"./dist/core/SemanticMemoryIndex.mjs"},"./semantic-memory-revalidation":{"types":"./dist/core/SemanticMemoryRevalidation.d.mts","default":"./dist/core/SemanticMemoryRevalidation.mjs"},"./sql-thread-native-reads":{"types":"./dist/durable/SqlThreadNativeReads.d.mts","default":"./dist/durable/SqlThreadNativeReads.mjs"},"./sql-memory-store":{"types":"./dist/durable/SqlMemoryStore.d.mts","default":"./dist/durable/SqlMemoryStore.mjs"},"./sql-message-delivery-store":{"types":"./dist/durable/SqlMessageDeliveryStore.d.mts","default":"./dist/durable/SqlMessageDeliveryStore.mjs"},"./sql-storage-v2-upgrade":{"types":"./dist/durable/SqlStorageV2Upgrade.d.mts","default":"./dist/durable/SqlStorageV2Upgrade.mjs"},"./sql-subscription-store":{"types":"./dist/durable/SqlSubscriptionStore.d.mts","default":"./dist/durable/SqlSubscriptionStore.mjs"},"./subagent":{"types":"./dist/capabilities/Subagent.d.mts","default":"./dist/capabilities/Subagent.mjs"},"./subagent-contract":{"types":"./dist/core/SubagentContract.d.mts","default":"./dist/core/SubagentContract.mjs"},"./subagent-host":{"types":"./dist/engine/SubagentHost.d.mts","default":"./dist/engine/SubagentHost.mjs"},"./subagent-reservations":{"types":"./dist/capabilities/SubagentReservations.d.mts","default":"./dist/capabilities/SubagentReservations.mjs"},"./submission-ledger":{"types":"./dist/durable/SubmissionLedger.d.mts","default":"./dist/durable/SubmissionLedger.mjs"},"./submission-status":{"types":"./dist/durable/SubmissionStatus.d.mts","default":"./dist/durable/SubmissionStatus.mjs"},"./subscription":{"types":"./dist/durable/Subscription.d.mts","default":"./dist/durable/Subscription.mjs"},"./subscription-input":{"types":"./dist/durable/SubscriptionInput.d.mts","default":"./dist/durable/SubscriptionInput.mjs"},"./subscription-tools":{"types":"./dist/durable/SubscriptionTools.d.mts","default":"./dist/durable/SubscriptionTools.mjs"},"./subscription-transition":{"types":"./dist/durable/SubscriptionTransition.d.mts","default":"./dist/durable/SubscriptionTransition.mjs"},"./subscriptions":{"types":"./dist/durable/Subscriptions.d.mts","default":"./dist/durable/Subscriptions.mjs"},"./testing/certification":{"types":"./dist/durable/Certification.d.mts","default":"./dist/durable/Certification.mjs"},"./testing/durable-failpoint-test-control":{"types":"./dist/durable/DurableFailpointTestControl.d.mts","default":"./dist/durable/DurableFailpointTestControl.mjs"},"./testing/message-delivery-store-conformance":{"types":"./dist/durable/MessageDeliveryStoreConformance.d.mts","default":"./dist/durable/MessageDeliveryStoreConformance.mjs"},"./testing/schedule-store-conformance":{"types":"./dist/durable/ScheduleStoreConformance.d.mts","default":"./dist/durable/ScheduleStoreConformance.mjs"},"./testing/submission-ledger-conformance":{"types":"./dist/durable/SubmissionLedgerConformance.d.mts","default":"./dist/durable/SubmissionLedgerConformance.mjs"},"./testing/subscription-store-conformance":{"types":"./dist/durable/SubscriptionStoreConformance.d.mts","default":"./dist/durable/SubscriptionStoreConformance.mjs"},"./testing/thread-store-conformance":{"types":"./dist/durable/ThreadStoreConformance.d.mts","default":"./dist/durable/ThreadStoreConformance.mjs"},"./thread":{"types":"./dist/core/Thread.d.mts","default":"./dist/core/Thread.mjs"},"./thread-context-history":{"types":"./dist/durable/ThreadContextHistory.d.mts","default":"./dist/durable/ThreadContextHistory.mjs"},"./thread-context-history-projection":{"types":"./dist/durable/ThreadContextHistoryProjection.d.mts","default":"./dist/durable/ThreadContextHistoryProjection.mjs"},"./thread-history":{"types":"./dist/engine/ThreadHistory.d.mts","default":"./dist/engine/ThreadHistory.mjs"},"./thread-invariants":{"types":"./dist/durable/ThreadInvariants.d.mts","default":"./dist/durable/ThreadInvariants.mjs"},"./thread-projection":{"types":"./dist/durable/ThreadProjection.d.mts","default":"./dist/durable/ThreadProjection.mjs"},"./thread-projection-maintenance":{"types":"./dist/durable/ThreadProjectionMaintenance.d.mts","default":"./dist/durable/ThreadProjectionMaintenance.mjs"},"./thread-store":{"types":"./dist/durable/ThreadStore.d.mts","default":"./dist/durable/ThreadStore.mjs"},"./tool-broker":{"types":"./dist/engine/ToolBroker.d.mts","default":"./dist/engine/ToolBroker.mjs"},"./tool-discovery":{"types":"./dist/capabilities/ToolDiscovery.d.mts","default":"./dist/capabilities/ToolDiscovery.mjs"},"./tool-exposure":{"types":"./dist/ToolExposure.d.mts","default":"./dist/ToolExposure.mjs"},"./tool-reconciler":{"types":"./dist/durable/ToolReconciler.d.mts","default":"./dist/durable/ToolReconciler.mjs"},"./tool-result":{"types":"./dist/core/ToolResult.d.mts","default":"./dist/core/ToolResult.mjs"},"./usage":{"types":"./dist/core/Usage.d.mts","default":"./dist/core/Usage.mjs"},"./wake-scheduler":{"types":"./dist/durable/WakeScheduler.d.mts","default":"./dist/durable/WakeScheduler.mjs"},"./web-capture":{"types":"./dist/capabilities/WebCapture.d.mts","default":"./dist/capabilities/WebCapture.mjs"},"./web-search":{"types":"./dist/capabilities/WebSearch.d.mts","default":"./dist/capabilities/WebSearch.mjs"},"./worker":{"types":"./dist/core/Worker.d.mts","default":"./dist/core/Worker.mjs"},"./worker-host":{"types":"./dist/durable/WorkerHost.d.mts","default":"./dist/durable/WorkerHost.mjs"}},"description":"Effect-native agents, execution, subagents, and sandbox contracts in one tree-shakeable package.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/danieljvdm/effect-agent.git","directory":"packages/effect-agent"},"files":["dist","src"],"type":"module","sideEffects":[],"publishConfig":{"access":"public"},"scripts":{"build":"vp pack","check":"tsc --noEmit -p tsconfig.json","test":"vp test --passWithNoTests"}}
|
|
@@ -258,7 +258,11 @@ const operations = <
|
|
|
258
258
|
|
|
259
259
|
const start = Effect.fn("Subagent.start")(function* (
|
|
260
260
|
parameters: Parameters["Type"],
|
|
261
|
-
options: {
|
|
261
|
+
options: {
|
|
262
|
+
readonly idempotencyKey: IdempotencyKey;
|
|
263
|
+
readonly budgetScope?: WorkerBudgetScope;
|
|
264
|
+
readonly continuationOf?: WorkerRef;
|
|
265
|
+
},
|
|
262
266
|
) {
|
|
263
267
|
const service = yield* host;
|
|
264
268
|
const caller = yield* context;
|
|
@@ -297,6 +301,7 @@ const operations = <
|
|
|
297
301
|
idempotencyKey: key,
|
|
298
302
|
encodedParameters,
|
|
299
303
|
encodedGrant,
|
|
304
|
+
...(options.continuationOf === undefined ? {} : { continuationOf: options.continuationOf }),
|
|
300
305
|
...(options.budgetScope === undefined ? {} : { budgetScope: options.budgetScope }),
|
|
301
306
|
prepare: Effect.gen(function* () {
|
|
302
307
|
const encodedInput = yield* prepare(parameters, caller);
|
|
@@ -304,6 +309,9 @@ const operations = <
|
|
|
304
309
|
const effectiveTarget = yield* service.resolveTargetPolicy({
|
|
305
310
|
target: declaration.target,
|
|
306
311
|
encodedInput,
|
|
312
|
+
...(options.continuationOf === undefined
|
|
313
|
+
? {}
|
|
314
|
+
: { continuationOf: options.continuationOf }),
|
|
307
315
|
});
|
|
308
316
|
|
|
309
317
|
const resolvedTarget = Option.getOrUndefined(effectiveTarget);
|
|
@@ -600,7 +608,11 @@ export const start = <
|
|
|
600
608
|
>(
|
|
601
609
|
declaration: Declaration<Name, Input, Output, Parameters, Success, Failure, Prepare, Project>,
|
|
602
610
|
parameters: Parameters["Type"],
|
|
603
|
-
options: {
|
|
611
|
+
options: {
|
|
612
|
+
readonly idempotencyKey: IdempotencyKey;
|
|
613
|
+
readonly budgetScope?: WorkerBudgetScope;
|
|
614
|
+
readonly continuationOf?: WorkerRef;
|
|
615
|
+
},
|
|
604
616
|
) => operations(declaration).start(parameters, options);
|
|
605
617
|
|
|
606
618
|
/** Retain typed follow-up parameters for the same worker Thread; inspect its MessageRef for delivery. */
|
|
@@ -837,6 +849,13 @@ export interface BackgroundOptions {
|
|
|
837
849
|
* The first accepted emission freezes the decision; replay does not reevaluate it.
|
|
838
850
|
*/
|
|
839
851
|
readonly reportUpdate?: (update: Update) => boolean;
|
|
852
|
+
/**
|
|
853
|
+
* With reportToParent, select which settled Runs notify the parent before result projection.
|
|
854
|
+
* The pure predicate sees canonical encoded output and outcome. False retains a filtered
|
|
855
|
+
* report decision without parent delivery; later Runs and explicit updates are independent.
|
|
856
|
+
* Recovery reuses a committed decision, but may reevaluate before that decision commits.
|
|
857
|
+
*/
|
|
858
|
+
readonly reportCompletion?: WorkerReporting["reportCompletion"];
|
|
840
859
|
readonly start?: true;
|
|
841
860
|
readonly followUp?: true;
|
|
842
861
|
readonly inspect?: true;
|
|
@@ -849,7 +868,7 @@ export interface BackgroundOptions {
|
|
|
849
868
|
|
|
850
869
|
type Operation = Exclude<
|
|
851
870
|
keyof BackgroundOptions,
|
|
852
|
-
"budgetScope" | "reportToParent" | "reportUpdate"
|
|
871
|
+
"budgetScope" | "reportToParent" | "reportUpdate" | "reportCompletion"
|
|
853
872
|
>;
|
|
854
873
|
type Suffix = {
|
|
855
874
|
start: "start";
|
|
@@ -1083,6 +1102,9 @@ export const background = <
|
|
|
1083
1102
|
: {
|
|
1084
1103
|
...report,
|
|
1085
1104
|
...(selected.reportUpdate === undefined ? {} : { reportUpdate: selected.reportUpdate }),
|
|
1105
|
+
...(selected.reportCompletion === undefined
|
|
1106
|
+
? {}
|
|
1107
|
+
: { reportCompletion: selected.reportCompletion }),
|
|
1086
1108
|
prepare: (value) =>
|
|
1087
1109
|
Effect.flatMap(Effect.serviceOption(reportService), (service) =>
|
|
1088
1110
|
Option.isSome(service)
|
package/src/durable/Records.ts
CHANGED
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
TurnId,
|
|
20
20
|
} from "../core/Identifiers.ts";
|
|
21
21
|
import { utf8ByteLength } from "../core/internal/utf8.ts";
|
|
22
|
-
import { IdempotencyKey, Principal } from "../core/Receipt.ts";
|
|
22
|
+
import { IdempotencyKey, Principal, Receipt } from "../core/Receipt.ts";
|
|
23
23
|
import { ExhaustedLimit } from "../core/RunEvent.ts";
|
|
24
24
|
import { RunPolicyUsage } from "../core/RunPolicyUsage.ts";
|
|
25
25
|
import {
|
|
@@ -826,10 +826,21 @@ export const WorkerReportingIntent = Schema.Struct({
|
|
|
826
826
|
Schema.makeFilter((value) => (value.mode === "standard") === (value.returnAddress !== undefined)),
|
|
827
827
|
);
|
|
828
828
|
|
|
829
|
+
/** Exact successful predecessor evidence; a locator alone grants no authority. */
|
|
830
|
+
export const WorkerContinuation = Schema.Struct({
|
|
831
|
+
worker: WorkerRef,
|
|
832
|
+
receipt: Receipt,
|
|
833
|
+
settlementId: SettlementId,
|
|
834
|
+
}).check(Schema.makeFilter((value) => value.worker.threadId === value.receipt.threadId));
|
|
835
|
+
|
|
836
|
+
export type WorkerContinuation = typeof WorkerContinuation.Type;
|
|
837
|
+
|
|
829
838
|
/** Immutable worker Thread origin. Each input has its own digest and parameters separately. */
|
|
830
839
|
export const WorkerOrigin = Schema.Struct({
|
|
831
840
|
worker: WorkerRef,
|
|
832
841
|
source: WorkerSource,
|
|
842
|
+
/** A new assignment may continue this completed, immutable predecessor. */
|
|
843
|
+
continuationOf: Schema.optionalKey(WorkerContinuation),
|
|
833
844
|
/** Omitted retains source-subtree funding; worker-run renews only for a new native Run. */
|
|
834
845
|
budgetScope: Schema.optionalKey(WorkerBudgetScope),
|
|
835
846
|
/** Frozen at worker creation; older origins remain reusable. */
|
|
@@ -940,6 +951,7 @@ export class WorkerReportRefused extends Schema.TaggedClass<WorkerReportRefused>
|
|
|
940
951
|
runId: RunId,
|
|
941
952
|
messageId: IdempotencyKey,
|
|
942
953
|
reason: Schema.Literals([
|
|
954
|
+
"filtered",
|
|
943
955
|
"declaration-unavailable",
|
|
944
956
|
"destination",
|
|
945
957
|
"projection",
|
|
@@ -200,7 +200,7 @@ export const makeSelectedReads = Effect.fnUntraced(function* (
|
|
|
200
200
|
|
|
201
201
|
rows = yield* sql`
|
|
202
202
|
SELECT thread_id, sequence, record_id, batch_id, record_json FROM effect_agent_canonical_records
|
|
203
|
-
WHERE thread_id = ${request.threadId} AND sequence > ${after} AND json_extract(record_json, '$.payload._tag') IN ('ThreadCreated', 'WorkerOriginRecorded', 'SubagentLineageRecorded', 'WorkerInputRequested', 'WorkerInputCompleted')
|
|
203
|
+
WHERE thread_id = ${request.threadId} AND sequence > ${after} AND json_extract(record_json, '$.payload._tag') IN ('ThreadCreated', 'WorkerOriginRecorded', 'SubagentLineageRecorded', 'WorkerInputRequested', 'WorkerInputCompleted', 'WorkerStopRequested')
|
|
204
204
|
UNION ALL
|
|
205
205
|
SELECT thread_id, sequence, record_id, batch_id, record_json FROM effect_agent_canonical_records
|
|
206
206
|
WHERE thread_id = ${request.threadId} AND sequence > ${after} AND json_extract(record_json, '$.payload._tag') = 'SubtreeBudgetReserved' AND json_extract(record_json, '$.payload.sourceSubmissionId') IS ${selection.sourceSubmissionId ?? null}
|
|
@@ -36,6 +36,7 @@ import {
|
|
|
36
36
|
ToolCallSettled,
|
|
37
37
|
WorkerInputRequested,
|
|
38
38
|
WorkerInputCompleted,
|
|
39
|
+
WorkerStopRequested,
|
|
39
40
|
SubtreeBudgetReserved,
|
|
40
41
|
PeerMessagePrepared,
|
|
41
42
|
} from "./Records.ts";
|
|
@@ -1130,6 +1131,33 @@ const nativeWorkerAccounting = conformanceCase(
|
|
|
1130
1131
|
accounting.tailSequence === tail.lastSequence && accounting.tailDigest === tail.tailDigest,
|
|
1131
1132
|
"The accounting snapshot carries the full canonical CAS tail",
|
|
1132
1133
|
);
|
|
1134
|
+
// Regression: https://github.com/danieljvdm/effect-agent/blob/c721a292205e06185f0136c3ed05dcf53e29ca66/packages/effect-agent/src/durable/SqlThreadNativeReads.ts#L195-L214
|
|
1135
|
+
yield* append(
|
|
1136
|
+
threadId,
|
|
1137
|
+
batch("stop-worker", [
|
|
1138
|
+
envelope(
|
|
1139
|
+
"stop-worker",
|
|
1140
|
+
WorkerStopRequested.make({
|
|
1141
|
+
command: {
|
|
1142
|
+
worker: origin.worker,
|
|
1143
|
+
idempotencyKey: Schema.decodeSync(IdempotencyKey)("stop-worker"),
|
|
1144
|
+
},
|
|
1145
|
+
}),
|
|
1146
|
+
),
|
|
1147
|
+
]),
|
|
1148
|
+
tail,
|
|
1149
|
+
);
|
|
1150
|
+
|
|
1151
|
+
const stopped = yield* readWorkerState({
|
|
1152
|
+
threadId,
|
|
1153
|
+
sourceSubmissionId: CONFORMANCE_SUBMISSION,
|
|
1154
|
+
limit: 5,
|
|
1155
|
+
});
|
|
1156
|
+
|
|
1157
|
+
yield* ensure(
|
|
1158
|
+
stopped.records.some(({ record }) => record.payload._tag === "WorkerStopRequested"),
|
|
1159
|
+
"Native worker state retains explicit stop intent after assignment completion",
|
|
1160
|
+
);
|
|
1133
1161
|
}),
|
|
1134
1162
|
);
|
|
1135
1163
|
|
|
@@ -5,7 +5,13 @@ import type { AgentPolicy } from "../core/AgentPolicy.ts";
|
|
|
5
5
|
import type { SubmissionId, ThreadId } from "../core/Identifiers.ts";
|
|
6
6
|
import type { SubagentBudgetReservation } from "../core/SubagentContract.ts";
|
|
7
7
|
import { WorkerError, type WorkerRef, type WorkerSource } from "../core/Worker.ts";
|
|
8
|
-
import type {
|
|
8
|
+
import type {
|
|
9
|
+
DefinitionDigests,
|
|
10
|
+
Digest,
|
|
11
|
+
PersistedJson,
|
|
12
|
+
WorkerOrigin,
|
|
13
|
+
WorkerContinuation,
|
|
14
|
+
} from "./Records.ts";
|
|
9
15
|
import type { Principal, SubmissionSnapshot } from "./SubmissionLedger.ts";
|
|
10
16
|
|
|
11
17
|
/** Host-verified source input; absence never means the latest input in the Thread. */
|
|
@@ -24,6 +30,7 @@ export type WorkerPolicyTarget = {
|
|
|
24
30
|
} & (
|
|
25
31
|
| {
|
|
26
32
|
readonly _tag: "InitialInput";
|
|
33
|
+
readonly continuationOf?: WorkerContinuation;
|
|
27
34
|
readonly sourceSubmission?: SubmissionSnapshot;
|
|
28
35
|
readonly input: PersistedJson;
|
|
29
36
|
readonly inputDigest: Digest;
|
|
@@ -83,6 +90,7 @@ export const WorkerConcurrencyResolver = Context.Reference<{
|
|
|
83
90
|
readonly source: WorkerSource;
|
|
84
91
|
readonly sourceSubmission?: SubmissionSnapshot;
|
|
85
92
|
readonly worker: WorkerRef;
|
|
93
|
+
readonly continuationOf?: WorkerContinuation;
|
|
86
94
|
readonly principal: Principal;
|
|
87
95
|
}) => Effect.Effect<Option.Option<WorkerConcurrencyLimit>, WorkerError>;
|
|
88
96
|
}>("@effect-agent/thread/WorkerConcurrencyResolver", {
|
|
@@ -133,8 +141,11 @@ export interface WorkerHostAuthorizationRequest {
|
|
|
133
141
|
readonly sourceSubmissionId?: SubmissionId;
|
|
134
142
|
readonly principal: Principal;
|
|
135
143
|
readonly operation: WorkerError["operation"];
|
|
136
|
-
|
|
144
|
+
/** Report access follows native frozen-message proof and preserves the destination principal. */
|
|
145
|
+
readonly access: "context" | "read" | "send" | "control" | "report";
|
|
137
146
|
readonly worker?: WorkerRef;
|
|
147
|
+
/** Native-verified successful predecessor, never a caller-supplied authorization grant. */
|
|
148
|
+
readonly continuationOf?: WorkerContinuation;
|
|
138
149
|
}
|
|
139
150
|
|
|
140
151
|
export const WorkerHostAuthorizer = Context.Reference<{
|
|
@@ -161,6 +172,7 @@ export const WorkerBudgetAuthorizer = Context.Reference<{
|
|
|
161
172
|
readonly source: WorkerSource;
|
|
162
173
|
readonly principal: Principal;
|
|
163
174
|
readonly worker: WorkerRef;
|
|
175
|
+
readonly continuationOf?: WorkerContinuation;
|
|
164
176
|
readonly policy: AgentPolicy;
|
|
165
177
|
readonly budget: SubagentBudgetReservation;
|
|
166
178
|
}) => Effect.Effect<void, WorkerError>;
|