API Reference drink_me_alice v#0.1.0
Copy MarkdownModules
A bounded SurrealDB client for Elixir, qualified against SurrealDB 3.0.5 (see the README's Compatibility section for the version policy and the cleartext-transport deployment boundary).
Short-lived administrative work under the root identity: provisioning
(namespace, database, the database-scoped runtime user) and schema
migrations. Never pooled, never a process — each call opens its own
DrinkMeAlice.Session, runs, and closes.
Attribute ↔ SurrealDB value mapping for the Ash data layer, keyed on
Ash.Type.storage_type/2.
An Ash data layer over a supervised DrinkMeAlice.Conn.
Translate an Ash filter into a parameterized SurrealQL WHERE clause.
A write that may or may not have committed: the request reached the wire but no classifiable reply came back (lost reply, timeout, inconclusive reply shape). This is NOT a failure — reconcile by reading the record, or by retrying the identical write (creates are idempotent on the primary key: a replayed create that already landed is refused as "already taken", which proves it committed).
A read or write the store rejected, or a bound this data layer enforces.
SurrealQL DDL for resources using DrinkMeAlice.Ash.DataLayer,
shaped as DrinkMeAlice.Migrations migrations.
The store refused before the request was sent (credit bound, connection down, deadline passed while queued, session refused, clock uncertainty) — certified not submitted, safe to retry.
The single supervised connection owner: one Mint/MintWebSocket
connection, one outstanding RPC at a time, bounded admission via
DrinkMeAlice.Credits before any mailbox send.
The 32-credit RPC admission bound — a fixed slot table whose rows also hold the bounded request payload.
A typed error: a stable code string and a bounded detail term.
Bounded WebSocket framing guard — production adaptation of the accepted
BF-02A SurrealTransport.FrameGuard.
Graph edges between records — SurrealDB's RELATE — with the same
honest write outcomes as DrinkMeAlice.Tx.
Bounded decoder/encoder boundary for SurrealDB JSON-RPC payloads.
A checksummed, locked, versioned migration runner; the migration list is supplied by the caller.
Classifies raw SurrealDB replies for possibly-submitted mutations and reads into facts.
A caller-owned, synchronous SurrealDB session: one socket, owned by the process that opened it, one request at a time, no background process.
Owned, private, loopback-only SurrealDB server child — for tests of this library and of anything built on it.
Transaction scripts with a classifier-ready shape, and the one write path that maps transport facts plus the reply into a write outcome.
Passive, bounded WebSocket transport over Mint 1.10.1 /
mint_web_socket 1.0.6 — production adaptation of the accepted BF-02A
SurrealTransport.Ws probe.