MemoryMailProvider
Defined in: src/provider/memory.ts:29
Deliberately thin: one page, one batch. Iteration, batching, retry, and resumability live in shared machinery (paging.ts / batching.ts), so adapters only encode transport quirks.
THE NEVER-DELETE GUARANTEE: this interface has no delete/destroy methods and never will. archive() is the only sanctioned “removal” — it drops the Inbox label and keeps every other label. The worst any bug can do is mislabel or archive mail, never lose it.
Extends
Section titled “Extends”Properties
Section titled “Properties”
readonlycaps:ProviderCapabilities
Defined in: src/provider/types.ts:36
Inherited from
Section titled “Inherited from”
readonlykind:"memory"
Defined in: src/provider/memory.ts:30
Overrides
Section titled “Overrides”Methods
Section titled “Methods”addLabels()
Section titled “addLabels()”addLabels(
emailIds,labelNames):Promise<void>
Defined in: src/provider/types.ts:51
One batch (caller chunks to <= caps.maxPageSize). Labels by name/path.
Parameters
Section titled “Parameters”emailIds
Section titled “emailIds”string[]
labelNames
Section titled “labelNames”string[]
Returns
Section titled “Returns”Promise<void>
Inherited from
Section titled “Inherited from”archive()
Section titled “archive()”archive(
emailIds):Promise<void>
Defined in: src/provider/types.ts:53
Remove from Inbox, keep all other labels. Never removeLabels: ['Inbox'].
Parameters
Section titled “Parameters”emailIds
Section titled “emailIds”string[]
Returns
Section titled “Returns”Promise<void>
Inherited from
Section titled “Inherited from”connect()
Section titled “connect()”connect():
Promise<void>
Defined in: src/provider/types.ts:39
JMAP: session discovery; MCP: initialize handshake. Idempotent.
Returns
Section titled “Returns”Promise<void>
Inherited from
Section titled “Inherited from”ensureLabels()
Section titled “ensureLabels()”ensureLabels(
names):Promise<Map<string,Label>>
Defined in: src/provider/types.ts:46
Idempotent bulk create of missing labels (names may be ‘Parent/Child’ paths). JMAP: single Mailbox/set with client ids c0,c1,… and modal-parent inference for bare names. Returns name -> Label for every requested name.
Parameters
Section titled “Parameters”string[]
Returns
Section titled “Returns”Promise<Map<string, Label>>
Inherited from
Section titled “Inherited from”getEmail()
Section titled “getEmail()”getEmail(
id):Promise<EmailMeta>
Defined in: src/provider/types.ts:49
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Promise<EmailMeta>
Inherited from
Section titled “Inherited from”listLabels()
Section titled “listLabels()”listLabels():
Promise<Label[]>
Defined in: src/provider/types.ts:40
Returns
Section titled “Returns”Promise<Label[]>
Inherited from
Section titled “Inherited from”searchEmails()
Section titled “searchEmails()”searchEmails(
query,page):Promise<SearchPage>
Defined in: src/provider/types.ts:48
One page. Adapters normalize array-vs-{items} response shapes.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”Promise<SearchPage>