@botmesh/core/spi — the service-provider interface: what authors of backends and
transports build on, kept out of the application entry (@botmesh/core).
- Stores (
IStore): the message-key helpers, the checkpoint record types, the user-data rows. Every store runs the shared conformance suite (test-utils/store-conformance.ts). - Durability backends (
DurabilityBackend):KvDurabilityover anyDurableKv, the referenceMemoryKv, the inbox/outbox journal contracts and record types, the retry policy and the errors a backend throws. - Schedule stores (
ScheduleStore): the record types, the referenceMemoryScheduleStoreand the claim/complete rules every backend must follow. - Leases and coordinators (
LeaseProvider,Coordinator): the referenceMemoryLeaseProviderand the turn/leadership types. - Transports (
IProvider):toInboundLocation(), the native-form helpers and the built-in message catalog for texts rendered outside a bot. - Tracer integrations (
BotTracer): the no-op tracer and the W3C trace-context helpers. - Flow interpreters (code that runs declarative steps inside a
do, such as@botmesh/flow-schema): the cancellable pause and the form runner of the core interpreter.
@botmesh/core/internal, everything here follows semver: a breaking change is a
major release of @botmesh/core.
Example
Forms
- formReplyBody
- parseFormReply
- formOptionEntries
- isFieldRequired
- assertFormDefinition
- selectionBounds
- FieldCheck
- parseFormDate
- parseFieldAnswer
- FormFieldError
- FormValidation
- validateFormValues
i18n
Store
User data
Scheduler
- ScheduleKind
- ScheduleRecord
- ClaimResult
- CompletePatch
- MemoryScheduleStore
- isScheduleClaimable
- applyScheduleComplete
Errors
Provider
Durability
- DEFAULT_BACKOFF
- computeBackoff
- KvInbox
- KvOutbox
- KvDurabilityOptions
- KvDurability
- DurableTable
- DurableKvEntry
- DurableKvIndex
- KvMutation
- MemoryKvSnapshot
- MemoryKv
- assertKvMutation
- InboxState
- InboxRecord
- InboxAppend
- LeaseOptions
- ClaimOptions
- OutboxClaimOptions
- InboxJournal
- OutboxState
- OutboxError
- OutboxRecord
- OutboxPut
- ClaimedSend
- OutboxJournal