effect-agent 0.1.0-beta.135 → 0.1.0-beta.138

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.
Files changed (59) hide show
  1. package/dist/{Admin-DKqg6zQa.d.mts → Admin-Fx85KT-W.d.mts} +5 -1
  2. package/dist/{DurableAgentRuntime-DgzI83ng.mjs → DurableAgentRuntime-Bso5grIH.mjs} +4 -4
  3. package/dist/{DurableAgentRuntime-DgzI83ng.mjs.map → DurableAgentRuntime-Bso5grIH.mjs.map} +1 -1
  4. package/dist/{EventSource-P4hq8Opp.d.mts → EventSource-DLT8oDK8.d.mts} +2 -2
  5. package/dist/{PreparedInputAdmission-ChcWS1xV.d.mts → PreparedInputAdmission-CKFgG6Em.d.mts} +3 -3
  6. package/dist/{RunJournal-BXrq0VIK.mjs → RunJournal-Gd83HYqG.mjs} +50 -27
  7. package/dist/RunJournal-Gd83HYqG.mjs.map +1 -0
  8. package/dist/{Subscription-jOOrT8Js.d.mts → Subscription-CCmHgOYM.d.mts} +2 -2
  9. package/dist/{SubscriptionInput-CPyqenXR.d.mts → SubscriptionInput-BFJMhu4K.d.mts} +2 -2
  10. package/dist/capabilities/McpClient.mjs +16 -3
  11. package/dist/capabilities/McpClient.mjs.map +1 -1
  12. package/dist/durable/Admin.d.mts +1 -1
  13. package/dist/durable/AgentRegistration.d.mts +1 -1
  14. package/dist/durable/Certification.d.mts +1 -1
  15. package/dist/durable/CommittedActivity.d.mts +1 -1
  16. package/dist/durable/DurableAgentRuntime.d.mts +1 -1
  17. package/dist/durable/DurableAgentRuntime.mjs +1 -1
  18. package/dist/durable/EventSource.d.mts +1 -1
  19. package/dist/durable/GitHubWorkflowSource.d.mts +3 -3
  20. package/dist/durable/MessageDelivery.d.mts +3 -3
  21. package/dist/durable/MessageDeliveryStoreConformance.d.mts +1 -1
  22. package/dist/durable/PersistentHistory.d.mts +1 -1
  23. package/dist/durable/PersistentHistory.mjs +1 -1
  24. package/dist/durable/PreparedInputAdmission.d.mts +1 -1
  25. package/dist/durable/Recovery.d.mts +1 -1
  26. package/dist/durable/RunJournal.d.mts +1 -1
  27. package/dist/durable/RunJournal.mjs +1 -1
  28. package/dist/durable/Scheduling.d.mts +1 -1
  29. package/dist/durable/SqlStorageV2Upgrade.d.mts +1 -1
  30. package/dist/durable/SqlSubscriptionStore.d.mts +1 -1
  31. package/dist/durable/SqlThreadNativeReads.d.mts +1 -1
  32. package/dist/durable/SqlThreadNativeReads.mjs +1 -1
  33. package/dist/durable/SubmissionLedger.d.mts +1 -1
  34. package/dist/durable/SubmissionLedgerConformance.d.mts +1 -1
  35. package/dist/durable/SubmissionLedgerConformance.mjs +1 -1
  36. package/dist/durable/SubmissionStatus.d.mts +1 -1
  37. package/dist/durable/Subscription.d.mts +1 -1
  38. package/dist/durable/SubscriptionInput.d.mts +1 -1
  39. package/dist/durable/SubscriptionStoreConformance.d.mts +1 -1
  40. package/dist/durable/SubscriptionTools.d.mts +2 -2
  41. package/dist/durable/SubscriptionTransition.d.mts +1 -1
  42. package/dist/durable/Subscriptions.d.mts +5 -5
  43. package/dist/durable/ThreadContextHistory.d.mts +1 -1
  44. package/dist/durable/ThreadInvariants.d.mts +1 -1
  45. package/dist/durable/ThreadInvariants.mjs +1 -1
  46. package/dist/durable/ThreadProjectionMaintenance.d.mts +1 -1
  47. package/dist/durable/ThreadStore.d.mts +1 -1
  48. package/dist/durable/ThreadStore.mjs +1 -1
  49. package/dist/durable/ThreadStoreConformance.d.mts +1 -1
  50. package/dist/durable/ThreadStoreConformance.mjs +1 -1
  51. package/dist/durable/WorkerHost.d.mts +1 -1
  52. package/dist/index.d.mts +5 -5
  53. package/dist/index.mjs +2 -2
  54. package/package.json +1 -1
  55. package/src/capabilities/McpClient.ts +19 -3
  56. package/src/durable/RunJournal.ts +120 -56
  57. package/src/durable/internal/journal-checkpoint.ts +1 -1
  58. package/src/durable/internal/journal-metadata.ts +10 -3
  59. package/dist/RunJournal-BXrq0VIK.mjs.map +0 -1
@@ -1,4 +1,4 @@
1
- import { Mr as FencedAppendRequest, kr as AppendResult } from "../Admin-DKqg6zQa.mjs";
1
+ import { Mr as FencedAppendRequest, kr as AppendResult } from "../Admin-Fx85KT-W.mjs";
2
2
  import { Context, Effect, Layer, Option, Schema } from "effect";
3
3
  declare namespace ThreadProjectionMaintenance_d_exports {
4
4
  export { ThreadProjectionError, ThreadProjectionMaintenance, ThreadProjectionMaintenanceService, drainDue };
@@ -1,2 +1,2 @@
1
- import { $r as ThreadRecoveryCheckpoints, Ar as CheckpointRejected, Br as ThreadExport, Fr as SaveCheckpointRequest, Gr as ThreadNotMaterialized, Hr as ThreadIdentity, Ir as SaveRecoveryCheckpointRequest, Jr as ThreadOutstandingRequest, Kr as ThreadObservation, Lr as SelectedThreadRead, Mr as FencedAppendRequest, Nr as LoadCheckpointRequest, Or as AppendConflict, Pr as MAX_THREAD_EXPORT_RECORDS, Qr as ThreadRecordRequest, Rr as ThreadCheckpoint, Ur as ThreadIdentityRequest, Vr as ThreadExportRequest, Wr as ThreadMaterialization, Xr as ThreadRead, Yr as ThreadPeerCountRequest, Zr as ThreadReadRequest, ai as ThreadStoreFailure, ci as ThreadTailRequest, di as getRunInput, ei as ThreadRunInputRequest, fi as readOutstanding, ii as ThreadStoreError, jr as FenceRejected, kr as AppendResult, li as ThreadWorkerStateRequest, ni as ThreadStore, pi as readWorkerState, qr as ThreadOutstanding, ri as ThreadStoreDiagnostic, si as ThreadTail, ti as ThreadSelection, ui as getRecord, zr as ThreadCheckpoints } from "../Admin-DKqg6zQa.mjs";
1
+ import { $r as ThreadRecoveryCheckpoints, Ar as CheckpointRejected, Br as ThreadExport, Fr as SaveCheckpointRequest, Gr as ThreadNotMaterialized, Hr as ThreadIdentity, Ir as SaveRecoveryCheckpointRequest, Jr as ThreadOutstandingRequest, Kr as ThreadObservation, Lr as SelectedThreadRead, Mr as FencedAppendRequest, Nr as LoadCheckpointRequest, Or as AppendConflict, Pr as MAX_THREAD_EXPORT_RECORDS, Qr as ThreadRecordRequest, Rr as ThreadCheckpoint, Ur as ThreadIdentityRequest, Vr as ThreadExportRequest, Wr as ThreadMaterialization, Xr as ThreadRead, Yr as ThreadPeerCountRequest, Zr as ThreadReadRequest, ai as ThreadStoreFailure, ci as ThreadTailRequest, di as getRunInput, ei as ThreadRunInputRequest, fi as readOutstanding, ii as ThreadStoreError, jr as FenceRejected, kr as AppendResult, li as ThreadWorkerStateRequest, ni as ThreadStore, pi as readWorkerState, qr as ThreadOutstanding, ri as ThreadStoreDiagnostic, si as ThreadTail, ti as ThreadSelection, ui as getRecord, zr as ThreadCheckpoints } from "../Admin-Fx85KT-W.mjs";
2
2
  export { AppendConflict, AppendResult, CheckpointRejected, FenceRejected, FencedAppendRequest, LoadCheckpointRequest, MAX_THREAD_EXPORT_RECORDS, SaveCheckpointRequest, SaveRecoveryCheckpointRequest, SelectedThreadRead, ThreadCheckpoint, ThreadCheckpoints, ThreadExport, ThreadExportRequest, ThreadIdentity, ThreadIdentityRequest, ThreadMaterialization, ThreadNotMaterialized, ThreadObservation, ThreadOutstanding, ThreadOutstandingRequest, ThreadPeerCountRequest, ThreadRead, ThreadReadRequest, ThreadRecordRequest, ThreadRecoveryCheckpoints, ThreadRunInputRequest, ThreadSelection, ThreadStore, ThreadStoreDiagnostic, ThreadStoreError, ThreadStoreFailure, ThreadTail, ThreadTailRequest, ThreadWorkerStateRequest, getRecord, getRunInput, readOutstanding, readWorkerState };
@@ -2,7 +2,7 @@ import { t as __exportAll } from "../rolldown-runtime-D7D4PA-g.mjs";
2
2
  import { RunId, SubmissionId, ThreadId } from "../core/Identifiers.mjs";
3
3
  import { BatchId, CanonicalBatch, CanonicalRecordEnvelope, CanonicalSequence, Digest, ObservationOffset, PersistedJson, ProducerEpoch, RecordId } from "./Records.mjs";
4
4
  import { SubmissionLedger, SubmissionLookupById } from "./SubmissionLedger.mjs";
5
- import { $ as workerOriginRecordId, F as toolCallPreparedRecordId, O as subagentLineageRecordId, S as runIdForSubmission } from "../RunJournal-BXrq0VIK.mjs";
5
+ import { $ as workerOriginRecordId, F as toolCallPreparedRecordId, O as subagentLineageRecordId, S as runIdForSubmission } from "../RunJournal-Gd83HYqG.mjs";
6
6
  import { Context, Effect, Option, Schema, Stream } from "effect";
7
7
  //#region src/durable/ThreadStore.ts
8
8
  var ThreadStore_exports = /* @__PURE__ */ __exportAll({
@@ -1,4 +1,4 @@
1
- import { Ar as CheckpointRejected, ai as ThreadStoreFailure, ni as ThreadStore } from "../Admin-DKqg6zQa.mjs";
1
+ import { Ar as CheckpointRejected, ai as ThreadStoreFailure, ni as ThreadStore } from "../Admin-Fx85KT-W.mjs";
2
2
  import { Effect, Schema } from "effect";
3
3
  //#region src/durable/ThreadStoreConformance.d.ts
4
4
  declare const ThreadStoreConformanceViolation_base: Schema.Class<ThreadStoreConformanceViolation, Schema.TaggedStruct<"ThreadStoreConformanceViolation", {
@@ -4,7 +4,7 @@ import { IdempotencyKey } from "../core/Receipt.mjs";
4
4
  import { SubagentDelegationCaps, SubagentGrant, SubagentReservationAmounts } from "../core/SubagentContract.mjs";
5
5
  import { BatchId, CanonicalBatch, CanonicalSequence, DeploymentId, PeerMessagePrepared, ProducerEpoch, ProducerId, RecordEnvelope, RecordId, SubtreeBudgetReserved, ToolCallPrepared, ToolCallResolved, ToolCallSettled, ToolCallUnknown, UserInputRecorded, WorkerInputCompleted, WorkerInputRequested, WorkerStopRequested } from "./Records.mjs";
6
6
  import { EMPTY_TAIL_DIGEST } from "./Digest.mjs";
7
- import { $ as workerOriginRecordId, O as subagentLineageRecordId } from "../RunJournal-BXrq0VIK.mjs";
7
+ import { $ as workerOriginRecordId, O as subagentLineageRecordId } from "../RunJournal-Gd83HYqG.mjs";
8
8
  import { AppendConflict, CheckpointRejected, FenceRejected, FencedAppendRequest, LoadCheckpointRequest, SaveCheckpointRequest, ThreadCheckpoint, ThreadExportRequest, ThreadIdentityRequest, ThreadMaterialization, ThreadNotMaterialized, ThreadObservation, ThreadRead, ThreadStore, ThreadTailRequest, getRecord, getRunInput, readWorkerState } from "./ThreadStore.mjs";
9
9
  import { DateTime, Effect, Option, Schema, Stream } from "effect";
10
10
  //#region src/durable/ThreadStoreConformance.ts
@@ -5,7 +5,7 @@ import { t as AgentPolicy } from "../AgentPolicy-BqDoSXO6.mjs";
5
5
  import { r as AnyDefinition, t as Agent_d_exports } from "../Agent-D9cXqfF3.mjs";
6
6
  import { c as WorkerError, f as WorkerRef, h as WorkerSource } from "../Worker-fwWkBg12.mjs";
7
7
  import { O as PersistedJson, _ as Digest, ft as WorkerOrigin, h as DefinitionDigests, lt as WorkerContinuation } from "../Records-B5GFWCpn.mjs";
8
- import { Tn as SubmissionSnapshot } from "../Admin-DKqg6zQa.mjs";
8
+ import { Tn as SubmissionSnapshot } from "../Admin-Fx85KT-W.mjs";
9
9
  import { Context, Effect, Option, Schema } from "effect";
10
10
  declare namespace WorkerHost_d_exports {
11
11
  export { WorkerBudgetAuthorizer, WorkerConcurrencyLimit, WorkerConcurrencyResolver, WorkerHostAuthorizationRequest, WorkerHostAuthorizer, WorkerHostConfig, WorkerHostLimits, WorkerPolicyResolver, WorkerPolicySource, WorkerPolicyTarget };
package/dist/index.d.mts CHANGED
@@ -59,17 +59,17 @@ import { t as Memory_d_exports } from "./core/Memory.mjs";
59
59
  import { N as Records_d_exports } from "./Records-B5GFWCpn.mjs";
60
60
  import { t as ActivityStore_d_exports } from "./durable/ActivityStore.mjs";
61
61
  import { n as Digest_d_exports } from "./Digest-U69rDHuO.mjs";
62
- import { J as Recovery_d_exports, Qn as DurableAgentRuntime_d_exports, Sa as AgentRegistration_d_exports, Si as RunJournal_d_exports, _i as SubmissionStatus_d_exports, bn as SubmissionLedger_d_exports, oi as ThreadStore_d_exports, t as Admin_d_exports } from "./Admin-DKqg6zQa.mjs";
62
+ import { J as Recovery_d_exports, Qn as DurableAgentRuntime_d_exports, Sa as AgentRegistration_d_exports, Si as RunJournal_d_exports, _i as SubmissionStatus_d_exports, bn as SubmissionLedger_d_exports, oi as ThreadStore_d_exports, t as Admin_d_exports } from "./Admin-Fx85KT-W.mjs";
63
63
  import { t as DurableFailpoint_d_exports } from "./DurableFailpoint-Cnr3wx1L.mjs";
64
64
  import { a as OperationAuthorizer_d_exports } from "./OperationAuthorizer-TzcQtpX5.mjs";
65
65
  import { l as ToolReconciler_d_exports } from "./ToolReconciler-BmVRAHKs.mjs";
66
66
  import { n as WakeScheduler_d_exports } from "./WakeScheduler-EjUF-GhC.mjs";
67
67
  import { t as CommittedActivity_d_exports } from "./durable/CommittedActivity.mjs";
68
68
  import { R as Schedule_d_exports } from "./Schedule-CtYREFnz.mjs";
69
- import { k as Subscription_d_exports } from "./Subscription-jOOrT8Js.mjs";
70
- import { n as EventSource_d_exports } from "./EventSource-P4hq8Opp.mjs";
71
- import { n as PreparedInputAdmission_d_exports } from "./PreparedInputAdmission-ChcWS1xV.mjs";
72
- import { r as SubscriptionInput_d_exports } from "./SubscriptionInput-CPyqenXR.mjs";
69
+ import { k as Subscription_d_exports } from "./Subscription-CCmHgOYM.mjs";
70
+ import { n as EventSource_d_exports } from "./EventSource-DLT8oDK8.mjs";
71
+ import { n as PreparedInputAdmission_d_exports } from "./PreparedInputAdmission-CKFgG6Em.mjs";
72
+ import { r as SubscriptionInput_d_exports } from "./SubscriptionInput-BFJMhu4K.mjs";
73
73
  import { t as Subscriptions_d_exports } from "./durable/Subscriptions.mjs";
74
74
  import { t as MessageDelivery_d_exports } from "./durable/MessageDelivery.mjs";
75
75
  import { t as PersistentHistory_d_exports } from "./durable/PersistentHistory.mjs";
package/dist/index.mjs CHANGED
@@ -68,8 +68,8 @@ 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-DgzI83ng.mjs";
72
- import { n as RunJournal_exports } from "./RunJournal-BXrq0VIK.mjs";
71
+ import { r as DurableAgentRuntime_exports } from "./DurableAgentRuntime-Bso5grIH.mjs";
72
+ import { n as RunJournal_exports } from "./RunJournal-Gd83HYqG.mjs";
73
73
  import { t as ThreadStore_exports } from "./durable/ThreadStore.mjs";
74
74
  import { t as CommittedActivity_exports } from "./durable/CommittedActivity.mjs";
75
75
  import { t as DurableFailpoint_exports } from "./durable/DurableFailpoint.mjs";
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"effect-agent","version":"0.1.0-beta.135","devDependencies":{"@effect/platform-node":"4.0.0-rc.117","@effect/vitest":"4.0.0-rc.117","effect":"4.0.0-rc.117","typescript":"7.0.2","vite-plus":"0.3.2"},"peerDependencies":{"effect":"^4.0.0-rc.117"},"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.138","devDependencies":{"@effect/platform-node":"4.0.0-rc.117","@effect/vitest":"4.0.0-rc.117","effect":"4.0.0-rc.117","typescript":"7.0.2","vite-plus":"0.3.2"},"peerDependencies":{"effect":"^4.0.0-rc.117"},"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"}}
@@ -159,6 +159,21 @@ const isServerRequest = Schema.is(ServerRequest);
159
159
  const isJsonRpcRequest = (message: unknown): message is RpcMessage.RequestEncoded =>
160
160
  isServerRequest(message);
161
161
 
162
+ /** Effect RPC's tracing extensions are not part of MCP's strict JSON-RPC request shape. */
163
+ const mcpWireMessage = (message: unknown): unknown => {
164
+ if (!Predicate.hasProperty(message, "_tag") || message._tag !== "Request") return message;
165
+ const payload = Predicate.hasProperty(message, "payload") ? message.payload : undefined;
166
+
167
+ return {
168
+ ...message,
169
+ payload: payload === null ? undefined : payload,
170
+ traceId: undefined,
171
+ spanId: undefined,
172
+ sampled: undefined,
173
+ headers: [],
174
+ };
175
+ };
176
+
162
177
  /** JSON-RPC error a client returns for a server-initiated request it does not serve. */
163
178
  const declineServerRequest = (
164
179
  request: RpcMessage.RequestEncoded,
@@ -371,7 +386,7 @@ const makeHttpProtocol = Effect.fn("McpHttpTransport.protocol")(function* (
371
386
  Effect.sync(() => {
372
387
  const encode = (message: unknown): Effect.Effect<string, RpcClientError.RpcClientError> =>
373
388
  Effect.suspend(() => {
374
- const encoded = parser.encode(message);
389
+ const encoded = parser.encode(mcpWireMessage(message));
375
390
 
376
391
  return typeof encoded === "string"
377
392
  ? Effect.succeed(encoded)
@@ -599,7 +614,7 @@ const makeStdioProtocol = Effect.fn("McpStdioTransport.protocol")(function* (
599
614
  const enqueue = (message: unknown): Effect.Effect<void, RpcClientError.RpcClientError> =>
600
615
  Effect.suspend(() => {
601
616
  if (closed !== undefined) return Effect.fail(closed);
602
- const encoded = parser.encode(message);
617
+ const encoded = parser.encode(mcpWireMessage(message));
603
618
 
604
619
  if (typeof encoded !== "string") {
605
620
  return Effect.fail(protocolDefect("Could not encode an MCP JSON-RPC message"));
@@ -711,6 +726,7 @@ const executionClassFor = (
711
726
  };
712
727
 
713
728
  const makeMcpTool = (tool: McpSchema.Tool, trustToolAnnotations: boolean): McpTool => {
729
+ // MCP servers may advertise valid JSON Schemas outside a model provider's strict subset.
714
730
  let dynamic: McpTool = Tool.dynamic(tool.name, {
715
731
  ...(tool.description === undefined ? {} : { description: tool.description }),
716
732
  parameters: tool.inputSchema,
@@ -719,7 +735,7 @@ const makeMcpTool = (tool: McpSchema.Tool, trustToolAnnotations: boolean): McpTo
719
735
  // MCP reports tool errors inside results so the model can self-correct;
720
736
  // `return` hands the typed failure to the model the same way.
721
737
  failureMode: "return",
722
- });
738
+ }).annotate(Tool.Strict, false);
723
739
 
724
740
  const title = tool.title ?? tool.annotations?.title;
725
741
 
@@ -555,6 +555,9 @@ const PROMPT_TRANSPARENT_TAGS: ReadonlySet<string> = new Set([
555
555
  * are never canonical settlements or evidence for compaction, recovery or accounting. Real
556
556
  * results replace them at the original declaration, including results appended after another Run.
557
557
  * Prior user intent and assistant text remain visible; prior system instructions do not.
558
+ * Each Run retains the history preceding its start and its own continuation. Other Runs'
559
+ * subsequent Turns cannot replace its input. Compaction covers only its creator's Run view;
560
+ * a projection without an owner retains interleaved exchanges from the complete Thread history.
558
561
  */
559
562
  /** @internal Lightweight canonical boundaries collected without retaining record payloads. */
560
563
  export interface JournalBoundary {
@@ -598,13 +601,11 @@ export const projectRunJournalStream = Effect.fn("RunJournal.projectRunJournalSt
598
601
  committedTurns: seed?.committedTurns ?? 0,
599
602
  };
600
603
 
601
- // RUN-026 pre-scan: the widest VALID compaction bounds govern the fold. A
602
- // valid record covers strictly below its own sequence and never splits a response from its
603
- // settled tool results. Pruning and rollovers may cover complete owner-Run batches;
604
- // a summarize record must carry its summary. Invalid records
605
- // are ignored fail-safe — the full history stays authoritative. Ties on
606
- // coversThrough resolve to the record appended later (higher sequence),
607
- // matching at-most-once replay intent.
604
+ // RUN-026 pre-scan: valid compactions retire only their creator's Run view. A bound
605
+ // stays below its own sequence and cannot split a visible response from its settled results.
606
+ // Pruning and rollovers may cover complete owner-Run batches; a summarize record carries
607
+ // its summary. Invalid records leave full history authoritative. A wider containing view
608
+ // replaces earlier coverage, with equal bounds preferring the later record.
608
609
  // One span per settled record, paired with its declaring response the same
609
610
  // way the fold pairs them: a settled belongs to the most recent
610
611
  // ModelResponseRecorded of its Run. A bound inside (response, settled)
@@ -634,9 +635,39 @@ export const projectRunJournalStream = Effect.fn("RunJournal.projectRunJournalSt
634
635
  toolExecutionEvidence,
635
636
  settledToolCallRecordIds,
636
637
  settledById,
637
- compactions,
638
638
  } = metadata;
639
639
 
640
+ const declarationByResultSequence = new Map(settledSpans.map(({ from, to }) => [to, from]));
641
+
642
+ const isInRunView = (
643
+ sequence: number,
644
+ payload: { readonly _tag: string; readonly runId?: RunId | undefined },
645
+ runId: RunId | undefined,
646
+ ): boolean => {
647
+ if (runId === undefined || payload.runId === undefined || payload.runId === runId) return true;
648
+ const first = firstSequenceByRun.get(runId) ?? Number.POSITIVE_INFINITY;
649
+
650
+ return (
651
+ sequence < first ||
652
+ (payload._tag === "ToolCallSettled" &&
653
+ (declarationByResultSequence.get(sequence) ?? Number.POSITIVE_INFINITY) < first)
654
+ );
655
+ };
656
+
657
+ const compactions = metadata.compactions.filter(({ sequence, payload }) =>
658
+ isInRunView(sequence, payload, ownerRunId),
659
+ );
660
+
661
+ const recordsForRun = records.pipe(
662
+ Stream.filter(({ sequence, record: { payload } }) =>
663
+ isInRunView(sequence, payload, ownerRunId),
664
+ ),
665
+ );
666
+
667
+ const isCovered = (envelope: CanonicalRecordEnvelope, compaction: CompactionCreated): boolean =>
668
+ envelope.sequence <= compaction.coversThrough &&
669
+ isInRunView(envelope.sequence, envelope.record.payload, compaction.runId);
670
+
640
671
  const settledCoverage = compactions.reduce(
641
672
  (through, { payload }) =>
642
673
  payload.kind !== "summarize" ? Math.max(through, payload.coversThrough) : through,
@@ -671,7 +702,7 @@ export const projectRunJournalStream = Effect.fn("RunJournal.projectRunJournalSt
671
702
  : yield* decodePromptMessages(seed.protectedContext);
672
703
 
673
704
  if (settledCoverage > 0) {
674
- yield* Stream.runForEach(records, (envelope) =>
705
+ yield* Stream.runForEach(recordsForRun, (envelope) =>
675
706
  Effect.gen(function* () {
676
707
  const payload = envelope.record.payload;
677
708
 
@@ -727,21 +758,54 @@ export const projectRunJournalStream = Effect.fn("RunJournal.projectRunJournalSt
727
758
  incompleteResponseSequences.some(
728
759
  (response) =>
729
760
  response.sequence <= coversThrough &&
761
+ isInRunView(
762
+ response.sequence,
763
+ { _tag: "ModelResponseRecorded", runId: response.runId },
764
+ runId,
765
+ ) &&
730
766
  !isTerminalPriorRun(response.runId, runId, ownSequence),
731
767
  )
732
768
  )
733
769
  return false;
734
770
  for (const span of settledSpans) {
735
- if (span.from <= coversThrough && coversThrough < span.to) return false;
771
+ if (
772
+ span.from <= coversThrough &&
773
+ coversThrough < span.to &&
774
+ isInRunView(span.from, { _tag: "ModelResponseRecorded", runId: span.runId }, runId)
775
+ )
776
+ return false;
736
777
  }
737
778
 
738
779
  return true;
739
780
  };
740
781
 
741
- let summarizeBound = 0;
742
- let replacement: CompactionCreated | undefined;
743
- let summarizeSequence = -1;
744
- let clearBound = 0;
782
+ type CompactionView = (typeof compactions)[number];
783
+
784
+ let replacements: ReadonlyArray<CompactionView> = [];
785
+ let clearings: ReadonlyArray<CompactionView> = [];
786
+
787
+ const retainCompaction = (views: ReadonlyArray<CompactionView>, next: CompactionView) => {
788
+ // Independent Run views overlap without containing one another. Retire an overlay only
789
+ // when the replacement actually contains its view, not merely a larger sequence number.
790
+ if (
791
+ views.some(
792
+ (prior) =>
793
+ prior.payload.coversThrough > next.payload.coversThrough &&
794
+ isInRunView(next.sequence, next.payload, prior.payload.runId),
795
+ )
796
+ )
797
+ return views;
798
+
799
+ return [
800
+ ...views.filter(
801
+ (prior) =>
802
+ next.payload.coversThrough < prior.payload.coversThrough ||
803
+ !isInRunView(prior.sequence, prior.payload, next.payload.runId),
804
+ ),
805
+ next,
806
+ ];
807
+ };
808
+
745
809
  let latestWindowId: string | undefined = seed?.contextWindowId;
746
810
  let latestWindowSequence = seed?.throughSequence ?? -1;
747
811
  let rolloverCoveredThrough = 0;
@@ -756,53 +820,48 @@ export const projectRunJournalStream = Effect.fn("RunJournal.projectRunJournalSt
756
820
  rolloverCoveredThrough = Math.max(rolloverCoveredThrough, payload.coversThrough);
757
821
  if (payload.kind === "summarize" || payload.kind === "rollover") {
758
822
  if (payload.kind === "summarize" && payload.summary === undefined) continue;
759
- if (
760
- payload.coversThrough > summarizeBound ||
761
- (payload.coversThrough === summarizeBound && sequence > summarizeSequence)
762
- ) {
763
- summarizeBound = payload.coversThrough;
764
- summarizeSequence = sequence;
765
- replacement = payload;
766
- }
767
- } else if (payload.coversThrough > clearBound) {
768
- clearBound = payload.coversThrough;
769
- }
823
+ replacements = retainCompaction(replacements, { payload, sequence });
824
+ } else clearings = retainCompaction(clearings, { payload, sequence });
770
825
  }
771
826
  let summaryEmitted = false;
772
827
 
773
- const retainedPrefix =
774
- replacement?.kind === "rollover" &&
775
- replacement.runId === ownerRunId &&
776
- ownerPrefixSequence <= summarizeBound
777
- ? (protectedContext?.content ?? [])
778
- : [];
828
+ const retainedPrefix = replacements.some(
829
+ ({ payload }) =>
830
+ payload.kind === "rollover" &&
831
+ payload.runId === ownerRunId &&
832
+ ownerPrefixSequence <= payload.coversThrough,
833
+ )
834
+ ? (protectedContext?.content ?? [])
835
+ : [];
779
836
 
780
- const replacementLength = replacement === undefined ? 0 : retainedPrefix.length + 1;
837
+ const replacementLength = retainedPrefix.length + replacements.length;
781
838
 
782
839
  if (seed?.frontier !== undefined)
783
840
  onBoundary?.({ ...seed.frontier, promptLength: replacementLength });
784
841
 
785
842
  const emitSummary = () => {
786
- if (summaryEmitted || replacement === undefined) return;
843
+ if (summaryEmitted || replacements.length === 0) return;
787
844
  summaryEmitted = true;
845
+ state.all.push(...retainedPrefix);
846
+ for (const { payload: replacement } of replacements) {
847
+ const message =
848
+ replacement.kind === "rollover"
849
+ ? contextWindowMessage(
850
+ contextWindowId(replacement.runId, replacement.turn),
851
+ replacement.handoff,
852
+ )
853
+ : Prompt.makeMessage("user", {
854
+ content: [
855
+ Prompt.makePart("text", {
856
+ text: `${COMPACTION_SUMMARY_PREFIX}${replacement.summary}`,
857
+ }),
858
+ ],
859
+ });
788
860
 
789
- const message =
790
- replacement.kind === "rollover"
791
- ? contextWindowMessage(
792
- contextWindowId(replacement.runId, replacement.turn),
793
- replacement.handoff,
794
- )
795
- : Prompt.makeMessage("user", {
796
- content: [
797
- Prompt.makePart("text", {
798
- text: `${COMPACTION_SUMMARY_PREFIX}${replacement.summary}`,
799
- }),
800
- ],
801
- });
802
-
803
- state.all.push(...retainedPrefix, message);
804
- if (replacement.kind !== "rollover" || replacement.runId !== ownerRunId)
805
- state.before.push(message);
861
+ state.all.push(message);
862
+ if (replacement.kind !== "rollover" || replacement.runId !== ownerRunId)
863
+ state.before.push(message);
864
+ }
806
865
  };
807
866
 
808
867
  const modelUsage: Array<ModelCallUsage> = [];
@@ -986,7 +1045,7 @@ export const projectRunJournalStream = Effect.fn("RunJournal.projectRunJournalSt
986
1045
  };
987
1046
  });
988
1047
 
989
- yield* Stream.runForEach(records, (envelope) =>
1048
+ yield* Stream.runForEach(recordsForRun, (envelope) =>
990
1049
  Effect.gen(function* () {
991
1050
  const payload = envelope.record.payload;
992
1051
 
@@ -1020,8 +1079,8 @@ export const projectRunJournalStream = Effect.fn("RunJournal.projectRunJournalSt
1020
1079
  (payload._tag === "ModelResponseRecorded" || payload._tag === "ToolCallSettled")
1021
1080
  )
1022
1081
  return;
1023
- if (envelope.sequence <= summarizeBound) {
1024
- // Projecting an earlier Run after a later summary still accounts for its covered responses.
1082
+ if (replacements.some(({ payload }) => isCovered(envelope, payload))) {
1083
+ // Retiring Prompt payloads does not retire the owning Run's policy or usage accounting.
1025
1084
  if (payload._tag === "ModelResponseRecorded" && payload.runId === ownerRunId) {
1026
1085
  const messages = yield* decodePromptMessages(payload.messages);
1027
1086
 
@@ -1032,7 +1091,7 @@ export const projectRunJournalStream = Effect.fn("RunJournal.projectRunJournalSt
1032
1091
  onBoundary?.({
1033
1092
  sequence: envelope.sequence,
1034
1093
  tag: payload._tag,
1035
- promptLength: replacementLength,
1094
+ promptLength: Math.max(replacementLength, state.all.length),
1036
1095
  ...(isTerminalPriorRun(payload.runId, ownerRunId, Number.POSITIVE_INFINITY)
1037
1096
  ? { terminalPriorRun: true }
1038
1097
  : {}),
@@ -1059,7 +1118,9 @@ export const projectRunJournalStream = Effect.fn("RunJournal.projectRunJournalSt
1059
1118
  slot.parts[slot.partIndex] = Prompt.makePart("tool-result", {
1060
1119
  id: payload.toolCallId,
1061
1120
  name: payload.toolName,
1062
- result: envelope.sequence <= clearBound ? CLEARED_TOOL_RESULT : payload.result,
1121
+ result: clearings.some(({ payload }) => isCovered(envelope, payload))
1122
+ ? CLEARED_TOOL_RESULT
1123
+ : payload.result,
1063
1124
  isFailure: payload.isFailure,
1064
1125
  providerExecuted: false,
1065
1126
  });
@@ -1086,7 +1147,10 @@ export const projectRunJournalStream = Effect.fn("RunJournal.projectRunJournalSt
1086
1147
  ) {
1087
1148
  state = yield* flushTools(state);
1088
1149
  }
1089
- state.pendingTools.push({ record: payload, cleared: envelope.sequence <= clearBound });
1150
+ state.pendingTools.push({
1151
+ record: payload,
1152
+ cleared: clearings.some(({ payload }) => isCovered(envelope, payload)),
1153
+ });
1090
1154
  state = {
1091
1155
  ...state,
1092
1156
  pendingToolsForRun: payload.runId === ownerRunId,
@@ -56,7 +56,7 @@ export class RecoveryCheckpointContents extends Schema.Class<RecoveryCheckpointC
56
56
  digest: Digest,
57
57
  }) {}
58
58
 
59
- export const RECOVERY_ENGINE_VERSION = "effect-agent/recovery@1";
59
+ export const RECOVERY_ENGINE_VERSION = "effect-agent/recovery@2";
60
60
 
61
61
  /**
62
62
  * Late evidence can invalidate an old compaction. Such histories use full canonical replay;
@@ -14,7 +14,11 @@ export interface JournalMetadata {
14
14
  readonly firstSequenceByRun: ReadonlyMap<string, number>;
15
15
  readonly lastResponseSequenceByRun: ReadonlyMap<string, number>;
16
16
  readonly terminalSequenceByRun: ReadonlyMap<string, number>;
17
- readonly settledSpans: ReadonlyArray<{ readonly from: number; readonly to: number }>;
17
+ readonly settledSpans: ReadonlyArray<{
18
+ readonly from: number;
19
+ readonly to: number;
20
+ readonly runId: RunId;
21
+ }>;
18
22
  readonly toolExecutionEvidence: ReadonlySet<string>;
19
23
  readonly settledToolCallRecordIds: ReadonlySet<string>;
20
24
  readonly settledById: ReadonlyMap<
@@ -45,7 +49,10 @@ export const makeJournalMetadata = (
45
49
  if (seed?.firstSequence !== undefined) firstSequenceByRun.set(seed.runId, seed.firstSequence);
46
50
  const lastResponseSequenceByRun = new Map<string, number>();
47
51
  const terminalSequenceByRun = new Map<string, number>();
48
- const settledSpans: Array<{ readonly from: number; readonly to: number }> = [];
52
+
53
+ const settledSpans: Array<{ readonly from: number; readonly to: number; readonly runId: RunId }> =
54
+ [];
55
+
49
56
  const toolExecutionEvidence = new Set<string>();
50
57
  const settledToolCallRecordIds = new Set<string>();
51
58
 
@@ -98,7 +105,7 @@ export const makeJournalMetadata = (
98
105
  const from = lastResponseSequenceByRun.get(payload.runId);
99
106
 
100
107
  if (from !== undefined && from < envelope.sequence)
101
- settledSpans.push({ from, to: envelope.sequence });
108
+ settledSpans.push({ from, to: envelope.sequence, runId: payload.runId });
102
109
  }
103
110
  },
104
111
  snapshot: (): JournalMetadata => ({