/** * Test SDK subpath for plugin state stores, ingress queues, and state DB helpers. */ export { createPluginStateKeyedStore as createPluginStateKeyedStoreForTests, createPluginStateSyncKeyedStore as createPluginStateSyncKeyedStoreForTests, getPluginStateCapacity as getPluginStateCapacityForTests, importPluginStateEntriesForDoctor as importPluginStateEntriesForDoctorForTests, resetPluginStateStoreForTests, } from "../plugin-state/plugin-state-store.js"; export { setMaxMemoryHostEventsForTests } from "../memory-host-sdk/event-store.js"; export { createPluginBlobStoreForTests, resetPluginBlobStoreForTests, } from "../plugin-state/plugin-blob-store.js"; export { createChannelIngressQueue as createChannelIngressQueueForTests } from "../channels/message/ingress-queue.js"; export { executeSqliteQuerySync, getNodeSqliteKysely } from "../infra/kysely-sync.js"; export type { DB as OpenClawStateKyselyDatabaseForTests } from "../state/openclaw-state-db.generated.js"; export { closeOpenClawStateDatabaseForTest, openOpenClawStateDatabase, } from "../state/openclaw-state-db.js"; // Test-only ingress reliability helpers: core predicates polling/webhook tests // assert directly; excluded from the public SDK surface (private-local subpath). export { INGRESS_CLAIM_LEASE_MS, isIngressClaimOwnedByOtherLiveProcess, } from "../channels/message/ingress-claim-owner.js"; export { resolveIngressRetryDelayMs, shouldDeadLetterRetryableIngressEvent, } from "../channels/message/ingress-retry-policy.js"; // Test-only pairing-store seeding so channel tests exercise the real // store-backed authorization path instead of injecting fake readers. export { addChannelAllowFromStoreEntry } from "../pairing/pairing-store.js";