@effect-agent/storage-cloudflare 0.1.0-beta.40 → 0.1.0-beta.42

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/index.mjs CHANGED
@@ -1,10 +1,12 @@
1
1
  import { t as DoStorageFailpoint } from "./do-storage-failpoint-C-Qtchs7.mjs";
2
- import { AbortCommand, AbortIntent, AcceptedEvent, AdmissionAdmitted, AdmissionConflict, AdmissionIndeterminate, AdmissionNotAdmitted, AdmissionRequest, AdmissionResolution, AdmissionResult, AppendConflict, AppendResult, ApprovalConflict, ApprovalDecision, ApprovalDecisionCommand, ApprovalDecisionIntent, AttachChildToReservationRequest, BeginChildBudgetReleaseRequest, CanonicalBatch, CanonicalRecord, CanonicalRecordEnvelope, CanonicalSequence, CheckpointRejected, ChildAttachmentSnapshot, ChildBudgetReservationRequest, ChildBudgetReservationSnapshot, ChildReservationConflict, ChildReservationStatus, ChildSettledNotification, ChildSettledOutcome, Claim, ClaimJoiningRequest, ClaimRequest, DEFAULT_OWNERSHIP_LEASE_DURATION, DefinitionDigests, DeliveryChange, Digest, EMPTY_TAIL_DIGEST, FenceRejected, FencedAppendRequest, InputAppliedMarker, JoinSnapshot, JoinedToHost, JoiningClaim, LedgerCapabilities, LedgerError, LoadCheckpointRequest, MarkInputAppliedRequest, MarkJoinedRequest, MarkReadyRequest, MarkUnknownRequest, ObservationOffset, OwnershipLost, OwnershipRenewal, OwnershipSnapshot, ParentLinkage, PersistedJson, ProducerEpoch, QueueSequence, RecordEnvelope, RecoverySnapshot, RecoverySnapshotRequest, ReleaseChildBudgetRequest, ReleaseOwnershipRequest, RenewOwnershipRequest, ReservedChildBudget, ReservedSettlement, RevertJoiningRequest, SaveCheckpointRequest, ScheduleCapacityError, ScheduleChange, ScheduleConflict, ScheduleDueCursor, ScheduleFailpoint, ScheduleId, ScheduleInstant, ScheduleKey, ScheduleNotFound, ScheduleOwner, SchedulePageRequest, ScheduleRecord, ScheduleStorageError, ScheduleStore, Settlement, SettlementConflict, SettlementFinalization, SettlementOutcome, SettlementReservation, SettlementReservationSnapshot, SourcePartition, SubmissionLedger, SubmissionLookup, SubmissionLookupById, SubmissionLookupByKey, SubmissionSnapshot, SubmissionState, SubscriptionDelivery, SubscriptionDeliveryKey, SubscriptionError, SubscriptionFailpoint, SubscriptionKey, SubscriptionLimits, SubscriptionName, SubscriptionRecord, SubscriptionScanCursors, SubscriptionStore, SuspendRequest, SuspensionReason, SuspensionSnapshot, ThreadCheckpoint, ThreadExport, ThreadExportRequest, ThreadMaterialization, ThreadNotMaterialized, ThreadObservation, ThreadRead, ThreadStore, ThreadStoreError, ThreadTail, ThreadTailRequest, UnknownResolution, UnknownResolutionCommand, UnknownResolutionConflict, UnknownResolutionIntent, applyScheduleChange, applySubscriptionDeliveryChange, defaultSchedulingLimits, digestCanonicalBatch, sameAcceptedEventIdentity, sameSourcePartition, scheduleDeadline, scheduleUsesCapacity, settlementFailureFromRecord, submissionAbortRecordId, subscriptionCanSelect, subscriptionDeliveryCanSelect, subscriptionDeliveryKeyString } from "@effect-agent/thread";
3
- import { Clock, Context, Crypto, DateTime, Duration, Effect, Layer, Option, Predicate, Ref, Result, Schema, Stream } from "effect";
2
+ import { AbortCommand, AbortIntent, AcceptedEvent, AdmissionAdmitted, AdmissionConflict, AdmissionIndeterminate, AdmissionNotAdmitted, AdmissionRequest, AdmissionResolution, AdmissionResult, AppendConflict, AppendResult, ApprovalConflict, ApprovalDecision, ApprovalDecisionCommand, ApprovalDecisionIntent, AttachChildToReservationRequest, BeginChildBudgetReleaseRequest, CanonicalBatch, CanonicalRecord, CanonicalRecordEnvelope, CanonicalSequence, CheckpointRejected, ChildAttachmentSnapshot, ChildBudgetReservationRequest, ChildBudgetReservationSnapshot, ChildReservationConflict, ChildReservationStatus, ChildSettledNotification, ChildSettledOutcome, Claim, ClaimJoiningRequest, ClaimRequest, DEFAULT_OWNERSHIP_LEASE_DURATION, DefinitionDigests, DeliveryChange, Digest, EMPTY_TAIL_DIGEST, FenceRejected, FencedAppendRequest, InputAppliedMarker, JoinSnapshot, JoinedToHost, JoiningClaim, LedgerCapabilities, LedgerError, LoadCheckpointRequest, MarkInputAppliedRequest, MarkJoinedRequest, MarkReadyRequest, MarkUnknownRequest, ObservationOffset, OwnershipLost, OwnershipRenewal, OwnershipSnapshot, ParentLinkage, PersistedJson, Principal, ProducerEpoch, QueueSequence, RecordEnvelope, RecoverySnapshot, RecoverySnapshotRequest, ReleaseChildBudgetRequest, ReleaseOwnershipRequest, RenewOwnershipRequest, ReservedChildBudget, ReservedSettlement, RevertJoiningRequest, SaveCheckpointRequest, ScheduleCapacityError, ScheduleChange, ScheduleConflict, ScheduleDueCursor, ScheduleFailpoint, ScheduleId, ScheduleInstant, ScheduleKey, ScheduleNotFound, ScheduleOwner, SchedulePageRequest, ScheduleRecord, ScheduleStorageError, ScheduleStore, Settlement, SettlementConflict, SettlementFinalization, SettlementOutcome, SettlementReservation, SettlementReservationSnapshot, SourcePartition, SubmissionLedger, SubmissionLookup, SubmissionLookupById, SubmissionLookupByKey, SubmissionSnapshot, SubmissionState, SubscriptionDelivery, SubscriptionDeliveryKey, SubscriptionError, SubscriptionFailpoint, SubscriptionKey, SubscriptionLimits, SubscriptionName, SubscriptionRecord, SubscriptionScanCursors, SubscriptionStore, SuspendRequest, SuspensionReason, SuspensionSnapshot, ThreadCheckpoint, ThreadExport, ThreadExportRequest, ThreadMaterialization, ThreadNotMaterialized, ThreadObservation, ThreadRead, ThreadStore, ThreadStoreError, ThreadTail, ThreadTailRequest, UnknownResolution, UnknownResolutionCommand, UnknownResolutionConflict, UnknownResolutionIntent, applyScheduleChange, applySubscriptionDeliveryChange, defaultSchedulingLimits, digestCanonicalBatch, sameAcceptedEventIdentity, sameSourcePartition, scheduleDeadline, scheduleUsesCapacity, settlementFailureFromRecord, submissionAbortRecordId, subscriptionCanSelect, subscriptionDeliveryCanSelect, subscriptionDeliveryKeyString } from "@effect-agent/thread";
3
+ import { Clock, Context, Crypto, DateTime, Duration, Effect, Encoding, Layer, Option, Predicate, Ref, Result, Schema, Stream } from "effect";
4
4
  import { SqliteClient, SqliteMigrator } from "@effect/sql-sqlite-do";
5
5
  import * as SqlClient from "effect/unstable/sql/SqlClient";
6
6
  import { BrowserCrypto } from "@effect/platform-browser";
7
7
  import { SqlError } from "effect/unstable/sql/SqlError";
8
+ import { MemoryAccess, MemoryConflict, MemoryDocument, MemoryIndexError, MemoryIndexSearch, MemoryLookup, MemoryMutationFailpoint, MemoryMutationFailure, MemoryNamespace, MemoryOperationConflict, MemoryRecallError, MemoryRecallLimits, MemoryStorageError, MemoryWithdrawn, MemoryWrite, MemoryWriter, SemanticCandidateLimits, SemanticCandidateResult, SemanticMemoryError, SemanticMemoryProfile, revalidateMemoryLookup, revalidateSemanticMemoryCandidates } from "@effect-agent/core";
9
+ import { SqlMemoryLimits, memoryStoreLayerWithFailpoints } from "@effect-agent/thread/sql-memory";
8
10
  //#region src/errors.ts
9
11
  /** The Durable Object's SQLite storage uses a private-development format this adapter cannot read. */
10
12
  var DoStorageCompatibilityError = class extends Schema.TaggedError()("DoStorageCompatibilityError", {
@@ -4755,6 +4757,198 @@ const handleEncodedPortRequest = Effect.fn("DoPortRouting.handleEncodedPortReque
4755
4757
  return yield* encodePortResponse(response).pipe(Effect.catch((error) => Effect.succeed(encodedProtocolFailure(`The port response could not be encoded: ${error.message}`))));
4756
4758
  });
4757
4759
  //#endregion
4758
- export { CurrentDoStorageVersion, DEFAULT_MAX_STORED_VALUE_BYTES, DoAppendConflict, DoCheckpointConflict, DoFenceRejected, DoLedgerError, DoScheduleAlarmControl, DoScheduleTransaction, DoStorageCompatibilityError, DoStorageConfig, DoStorageConfigValue, DoStorageCorruptionError, DoStorageError, DoStorageFailpoint, DoStorageFailpointError, DoStorageFailpointLocation, DoSubscriptionAlarmControl, DoSubscriptionTransaction, DoValueBoundExceeded, LedgerAdmitCall, LedgerAdmitResult, LedgerLookupCall, LedgerLookupResult, LedgerMarkReadyCall, LedgerMarkReadyResult, LedgerRecordChildSettledCall, LedgerRecordChildSettledResult, LedgerRequestAbortCall, LedgerRequestAbortResult, LedgerResolveAdmissionCall, LedgerResolveAdmissionResult, MAX_PORT_DIAGNOSTIC_LENGTH, PortFailed, PortFailure, PortProtocolError, PortRequest, PortResponse, PortResult, PortSucceeded, PortTransportError, StoreAppendCall, StoreAppendResult, StoreExportCall, StoreExportResult, StoreInspectTailCall, StoreInspectTailResult, StoreMaterializeCall, StoreMaterializeResult, StoreReadPageCall, StoreReadPageResult, ThreadPortTransport, boundPortDiagnostic, decodePortRequest, decodePortResponse, doSubscriptionStoreLayer, encodePortRequest, encodePortResponse, executePortRequest, handleEncodedPortRequest, layer, ledgerLayer, observationOffsetAt, portTransportFailure, routedSubmissionLedgerLayer, routedThreadStoreLayer, scheduleStoreLayer, storageConfigLayer, storageFailpointLayer, submissionLedgerLayer, threadStoreLayer };
4760
+ //#region src/do-memory-store.ts
4761
+ var DoMemoryStorageLimits = class extends Schema.Class("@effect-agent/storage-cloudflare/DoMemoryStorageLimits")({
4762
+ maxRowBytes: Schema.Int.check(Schema.isBetween({
4763
+ minimum: 1,
4764
+ maximum: 19e5
4765
+ })),
4766
+ maxStorageBytes: Schema.Int.check(Schema.isBetween({
4767
+ minimum: 1,
4768
+ maximum: 536870912
4769
+ })),
4770
+ maxDocuments: Schema.Int.check(Schema.isBetween({
4771
+ minimum: 1,
4772
+ maximum: 1e5
4773
+ })),
4774
+ maxReceipts: Schema.Int.check(Schema.isBetween({
4775
+ minimum: 1,
4776
+ maximum: 1e6
4777
+ }))
4778
+ }) {};
4779
+ const defaultDoMemoryStorageLimits = DoMemoryStorageLimits.make({
4780
+ maxRowBytes: 19e5,
4781
+ maxStorageBytes: 536870912,
4782
+ maxDocuments: 1e4,
4783
+ maxReceipts: 1e5
4784
+ });
4785
+ /**
4786
+ * Local memory only, without Thread tables. Keep one SQL client per owner and pass the
4787
+ * full storage handle: sql-only handles cannot provide atomic receipts and revisions.
4788
+ * Byte limits conservatively count encoded rows, not SQLite page/index overhead.
4789
+ */
4790
+ const doMemoryStoreLayerWithFailpoints = (storage, limits = defaultDoMemoryStorageLimits) => Layer.unwrap(Schema.decodeUnknownEffect(DoMemoryStorageLimits)(limits).pipe(Effect.mapError(() => MemoryStorageError.make({
4791
+ operation: "memory storage limits",
4792
+ reason: "invalid-input"
4793
+ })), Effect.map((validated) => memoryStoreLayerWithFailpoints.pipe(Layer.provide(Layer.succeed(SqlMemoryLimits, validated)), Layer.provide(SqliteClient.layer({ storage }))))));
4794
+ const doMemoryStoreLayer = (storage, limits = defaultDoMemoryStorageLimits) => doMemoryStoreLayerWithFailpoints(storage, limits).pipe(Layer.provide(MemoryMutationFailpoint.layer));
4795
+ //#endregion
4796
+ //#region src/memory-protocol.ts
4797
+ var MemoryRpcError = class extends Schema.TaggedError()("MemoryRpcError", { reason: Schema.Literals([
4798
+ "denied",
4799
+ "protocol",
4800
+ "budget",
4801
+ "timeout",
4802
+ "unavailable"
4803
+ ]) }) {};
4804
+ var MemoryRpcLimits = class extends Schema.Class("@effect-agent/storage-cloudflare/MemoryRpcLimits")({
4805
+ maxRequestBytes: Schema.Int.check(Schema.isBetween({
4806
+ minimum: 256,
4807
+ maximum: 4194304
4808
+ })),
4809
+ maxResponseBytes: Schema.Int.check(Schema.isBetween({
4810
+ minimum: 256,
4811
+ maximum: 16777216
4812
+ })),
4813
+ maxSourceBytes: Schema.Int.check(Schema.isBetween({
4814
+ minimum: 1,
4815
+ maximum: 67108864
4816
+ })),
4817
+ maxSources: MemoryRecallLimits.fields.maxSources,
4818
+ timeoutMillis: MemoryRecallLimits.fields.timeoutMillis
4819
+ }) {};
4820
+ const defaultMemoryRpcLimits = MemoryRpcLimits.make({
4821
+ maxRequestBytes: 1048576,
4822
+ maxResponseBytes: 4194304,
4823
+ maxSourceBytes: 16777216,
4824
+ maxSources: 16,
4825
+ timeoutMillis: 1e4
4826
+ });
4827
+ const RequestFields = {
4828
+ version: Schema.Literal(1),
4829
+ access: MemoryAccess.Wire,
4830
+ /** Host-authenticated identity, never copied from model input. The owner still authorizes it. */
4831
+ principal: Principal,
4832
+ deadlineMillis: Schema.Finite.check(Schema.isGreaterThanOrEqualTo(0))
4833
+ };
4834
+ const RevalidateRequest = Schema.TaggedStruct("Revalidate", {
4835
+ ...RequestFields,
4836
+ lookup: MemoryLookup,
4837
+ limits: MemoryRecallLimits
4838
+ });
4839
+ const ChangeRequest = Schema.TaggedStruct("Change", {
4840
+ ...RequestFields,
4841
+ write: MemoryWrite.Wire
4842
+ });
4843
+ const SemanticRequest = Schema.TaggedStruct("RevalidateSemantic", {
4844
+ ...RequestFields,
4845
+ found: MemoryIndexSearch.Wire,
4846
+ profile: SemanticMemoryProfile,
4847
+ limits: SemanticCandidateLimits
4848
+ });
4849
+ const MemoryOwnerRequest = Schema.Union([
4850
+ RevalidateRequest,
4851
+ ChangeRequest,
4852
+ SemanticRequest
4853
+ ]);
4854
+ const MemoryOwnerFailure = Schema.Union([
4855
+ MemoryRpcError,
4856
+ MemoryStorageError,
4857
+ MemoryRecallError,
4858
+ MemoryConflict,
4859
+ MemoryWithdrawn,
4860
+ MemoryOperationConflict,
4861
+ MemoryMutationFailure,
4862
+ MemoryIndexError,
4863
+ SemanticMemoryError
4864
+ ]);
4865
+ const MemoryOwnerResponse = Schema.Union([
4866
+ Schema.TaggedStruct("Lookup", {
4867
+ access: MemoryAccess.Wire,
4868
+ lookup: MemoryLookup
4869
+ }),
4870
+ Schema.TaggedStruct("Changed", {
4871
+ access: MemoryAccess.Wire,
4872
+ document: MemoryDocument.Wire
4873
+ }),
4874
+ Schema.TaggedStruct("Semantic", {
4875
+ access: MemoryAccess.Wire,
4876
+ result: SemanticCandidateResult
4877
+ }),
4878
+ Schema.TaggedStruct("Failed", { failure: MemoryOwnerFailure })
4879
+ ]);
4880
+ /** Fail-closed application policy. Authorize the namespace, principal, scope, and full command. */
4881
+ var MemoryOwnerAuthorizer = class extends Context.Service()("@effect-agent/storage-cloudflare/MemoryOwnerAuthorizer") {};
4882
+ /** Canonical namespace derived from this object's idFromName identity, never its request. */
4883
+ var MemoryOwnerIdentity = class extends Context.Service()("@effect-agent/storage-cloudflare/MemoryOwnerIdentity") {};
4884
+ const memoryWireBytes = (text) => Encoding.encodeHex(text).length / 2;
4885
+ const decodeMemoryWire = Effect.fn("decodeMemoryWire")(function* (schema, raw, maxBytes) {
4886
+ const text = yield* Schema.decodeUnknownEffect(Schema.String)(raw).pipe(Effect.mapError(() => MemoryRpcError.make({ reason: "protocol" })));
4887
+ if (text.length > maxBytes || memoryWireBytes(text) > maxBytes) return yield* MemoryRpcError.make({ reason: "budget" });
4888
+ return yield* Schema.decodeEffect(Schema.fromJsonString(schema))(text).pipe(Effect.mapError(() => MemoryRpcError.make({ reason: "protocol" })));
4889
+ });
4890
+ const encodeMemoryWire = Effect.fn("encodeMemoryWire")(function* (schema, value, maxBytes) {
4891
+ const encoded = yield* Schema.encodeEffect(Schema.fromJsonString(schema))(value).pipe(Effect.mapError(() => MemoryRpcError.make({ reason: "protocol" })));
4892
+ if (encoded.length > maxBytes || memoryWireBytes(encoded) > maxBytes) return yield* MemoryRpcError.make({ reason: "budget" });
4893
+ return encoded;
4894
+ });
4895
+ /** One local read per distinct candidate source, with no per-document network calls. */
4896
+ const handleMemoryOwnerRequest = Effect.fn("MemoryOwner.handleRequest")(function* (raw, limits = defaultMemoryRpcLimits) {
4897
+ const result = yield* Effect.gen(function* () {
4898
+ limits = yield* Schema.decodeUnknownEffect(MemoryRpcLimits)(limits).pipe(Effect.mapError(() => MemoryRpcError.make({ reason: "protocol" })));
4899
+ const request = yield* decodeMemoryWire(MemoryOwnerRequest, raw, limits.maxRequestBytes);
4900
+ const { namespace } = yield* MemoryOwnerIdentity;
4901
+ if (!MemoryNamespace.equals(namespace, request.access.namespace) || request._tag === "Change" && !MemoryNamespace.equals(namespace, request.write.key.namespace) || request._tag === "RevalidateSemantic" && request.found.candidates.some((candidate) => !MemoryNamespace.equals(namespace, candidate.key.namespace))) return yield* MemoryRpcError.make({ reason: "denied" });
4902
+ const remaining = Math.min(limits.timeoutMillis, request.deadlineMillis - (yield* Clock.currentTimeMillis));
4903
+ if (remaining <= 0) return yield* MemoryRpcError.make({ reason: "timeout" });
4904
+ return yield* Effect.gen(function* () {
4905
+ yield* (yield* MemoryOwnerAuthorizer).authorize(request);
4906
+ if (request._tag === "Change") {
4907
+ const writer = yield* MemoryWriter;
4908
+ return {
4909
+ _tag: "Changed",
4910
+ access: request.access,
4911
+ document: yield* writer.change(request.write)
4912
+ };
4913
+ }
4914
+ if (request._tag === "RevalidateSemantic") {
4915
+ if (new Set(request.found.candidates.map((candidate) => candidate.key.id)).size > limits.maxSources) return yield* MemoryRpcError.make({ reason: "budget" });
4916
+ const result = yield* revalidateSemanticMemoryCandidates(request.found, request.access, request.profile, {
4917
+ ...request.limits,
4918
+ maxSourceBytes: Math.min(limits.maxSourceBytes, request.limits.maxSourceBytes ?? 16777216),
4919
+ maxOutputBytes: Math.min(limits.maxResponseBytes, request.limits.maxOutputBytes ?? 16777216)
4920
+ });
4921
+ return {
4922
+ _tag: "Semantic",
4923
+ access: request.access,
4924
+ result
4925
+ };
4926
+ }
4927
+ if ((request.lookup._tag === "Found" ? new Set(request.lookup.passages.map((passage) => passage.source.id)).size : 0) > Math.min(limits.maxSources, request.limits.maxSources)) return yield* MemoryRpcError.make({ reason: "budget" });
4928
+ const lookup = yield* revalidateMemoryLookup(request.lookup, request.access, {
4929
+ maxSourceBytes: limits.maxSourceBytes,
4930
+ maxInputBytes: Math.min(limits.maxSourceBytes, request.limits.maxInputBytes ?? 16777216)
4931
+ });
4932
+ return {
4933
+ _tag: "Lookup",
4934
+ access: request.access,
4935
+ lookup
4936
+ };
4937
+ }).pipe(Effect.scoped, Effect.timeoutOrElse({
4938
+ duration: remaining,
4939
+ orElse: () => Effect.fail(MemoryRpcError.make({ reason: "timeout" }))
4940
+ }));
4941
+ }).pipe(Effect.flatMap((response) => encodeMemoryWire(MemoryOwnerResponse, response, limits.maxResponseBytes)), Effect.result);
4942
+ if (result._tag === "Success") return result.success;
4943
+ return yield* encodeMemoryWire(MemoryOwnerResponse, {
4944
+ _tag: "Failed",
4945
+ failure: result.failure
4946
+ }, limits.maxResponseBytes).pipe(Effect.catch(() => Schema.encodeEffect(Schema.fromJsonString(MemoryOwnerResponse))({
4947
+ _tag: "Failed",
4948
+ failure: MemoryRpcError.make({ reason: "budget" })
4949
+ }).pipe(Effect.orDie)));
4950
+ });
4951
+ //#endregion
4952
+ export { CurrentDoStorageVersion, DEFAULT_MAX_STORED_VALUE_BYTES, DoAppendConflict, DoCheckpointConflict, DoFenceRejected, DoLedgerError, DoMemoryStorageLimits, DoScheduleAlarmControl, DoScheduleTransaction, DoStorageCompatibilityError, DoStorageConfig, DoStorageConfigValue, DoStorageCorruptionError, DoStorageError, DoStorageFailpoint, DoStorageFailpointError, DoStorageFailpointLocation, DoSubscriptionAlarmControl, DoSubscriptionTransaction, DoValueBoundExceeded, LedgerAdmitCall, LedgerAdmitResult, LedgerLookupCall, LedgerLookupResult, LedgerMarkReadyCall, LedgerMarkReadyResult, LedgerRecordChildSettledCall, LedgerRecordChildSettledResult, LedgerRequestAbortCall, LedgerRequestAbortResult, LedgerResolveAdmissionCall, LedgerResolveAdmissionResult, MAX_PORT_DIAGNOSTIC_LENGTH, MemoryOwnerAuthorizer, MemoryOwnerFailure, MemoryOwnerIdentity, MemoryOwnerRequest, MemoryOwnerResponse, MemoryRpcError, MemoryRpcLimits, PortFailed, PortFailure, PortProtocolError, PortRequest, PortResponse, PortResult, PortSucceeded, PortTransportError, StoreAppendCall, StoreAppendResult, StoreExportCall, StoreExportResult, StoreInspectTailCall, StoreInspectTailResult, StoreMaterializeCall, StoreMaterializeResult, StoreReadPageCall, StoreReadPageResult, ThreadPortTransport, boundPortDiagnostic, decodeMemoryWire, decodePortRequest, decodePortResponse, defaultDoMemoryStorageLimits, defaultMemoryRpcLimits, doMemoryStoreLayer, doMemoryStoreLayerWithFailpoints, doSubscriptionStoreLayer, encodeMemoryWire, encodePortRequest, encodePortResponse, executePortRequest, handleEncodedPortRequest, handleMemoryOwnerRequest, layer, ledgerLayer, memoryWireBytes, observationOffsetAt, portTransportFailure, routedSubmissionLedgerLayer, routedThreadStoreLayer, scheduleStoreLayer, storageConfigLayer, storageFailpointLayer, submissionLedgerLayer, threadStoreLayer };
4759
4953
 
4760
4954
  //# sourceMappingURL=index.mjs.map