@zhin.js/adapter-email 1.0.1 → 1.1.0

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/lib/endpoint.d.ts CHANGED
@@ -1,33 +1,28 @@
1
- import { Endpoint, Message, MessageSegment, SendOptions } from 'zhin.js';
2
- import { EventEmitter } from "events";
3
- import type { EmailEndpointConfig, EmailMessage } from "./types.js";
4
- import type { EmailAdapter } from "./adapter.js";
5
- export declare class EmailEndpoint extends EventEmitter implements Endpoint<EmailEndpointConfig, EmailMessage> {
6
- adapter: EmailAdapter;
7
- $config: EmailEndpointConfig;
8
- $connected: boolean;
9
- private smtpTransporter;
10
- private imapConnection;
11
- private checkTimer;
12
- get logger(): import("zhin.js").Logger;
13
- get $id(): string;
14
- constructor(adapter: EmailAdapter, config: EmailEndpointConfig);
15
- $connect(): Promise<void>;
16
- $disconnect(): Promise<void>;
17
- private setupImapListeners;
18
- private startEmailCheck;
19
- private checkForNewEmails;
20
- private handleImapMessage;
21
- private parseEmailMessage;
22
- $formatMessage(emailMsg: EmailMessage): Message<EmailMessage>;
23
- static parseEmailContent(email: EmailMessage): MessageSegment[];
24
- $sendMessage(options: SendOptions): Promise<string>;
25
- $recallMessage(id: string): Promise<void>;
26
- private formatSendContent;
27
- private downloadAttachment;
28
- /**
29
- * HTML → 纯文本转换,处理常见标签和实体
30
- */
31
- static htmlToText(html: string): string;
1
+ import { Endpoint } from 'zhin.js/adapter';
2
+ import { type EndpointSendRequest } from 'zhin.js/adapter';
3
+ import type { CapabilityId } from 'zhin.js';
4
+ import { type EmailMessage, type ResolvedEmailConfig } from './protocol.js';
5
+ import { type EmailImapTransport, type EmailSmtpTransport } from './transport.js';
6
+ import { EmailClient } from './client.js';
7
+ export interface EmailEndpointOptions {
8
+ readonly id: CapabilityId;
9
+ readonly config: ResolvedEmailConfig;
10
+ readonly createSmtp?: (config: ResolvedEmailConfig['smtp']) => EmailSmtpTransport | Promise<EmailSmtpTransport>;
11
+ readonly createImap?: (config: ResolvedEmailConfig['imap']) => EmailImapTransport;
12
+ }
13
+ /**
14
+ * Email(SMTP/IMAP)无好友/群/频道等社交图谱概念,
15
+ * 不适用 EndpointManagement 语义端口;本 endpoint 不暴露该端口。
16
+ */
17
+ export declare class EmailEndpoint extends Endpoint<EmailClient> {
18
+ #private;
19
+ readonly client: EmailClient;
20
+ constructor(options: EmailEndpointOptions);
21
+ start(): Promise<void>;
22
+ open(): void;
23
+ close(): void;
24
+ stop(): Promise<void>;
25
+ send({ conversation, payload }: EndpointSendRequest): Promise<string>;
26
+ /** Test / internal: admit a parsed mail when the endpoint is open. */
27
+ admit(email: EmailMessage): void;
32
28
  }
33
- //# sourceMappingURL=endpoint.d.ts.map