/** * 入站路由契约(编码规范 §8.1)。 * * 通道入站 → 归属解析 → 统一事件流(OS 06)。MVP 的邮件通道以**模拟通道**接入: * mock 只允许出现在**外界**(邮件通道与外部系统),系统内部机制不得 mock(README MVP 完成判据)。 */ import { z } from 'zod'; /** 一封入站邮件的归一形状 —— 真实邮件通道与模拟通道共用 */ export declare const inboundMailSchema: z.ZodObject<{ messageId: z.ZodString; threadId: z.ZodOptional; from: z.ZodString; to: z.ZodArray; cc: z.ZodDefault>; subject: z.ZodString; body: z.ZodString; receivedAt: z.ZodISODateTime; attachments: z.ZodDefault>>; }, z.core.$strip>; export type InboundMail = z.infer; export declare const ingestMailRoute: { readonly method: "POST"; readonly path: "/api/ingest/channel/:channelId/mail"; readonly params: z.ZodObject<{ channelId: z.core.$ZodBranded; }, z.core.$strip>; readonly body: z.ZodObject<{ messageId: z.ZodString; threadId: z.ZodOptional; from: z.ZodString; to: z.ZodArray; cc: z.ZodDefault>; subject: z.ZodString; body: z.ZodString; receivedAt: z.ZodISODateTime; attachments: z.ZodDefault>>; }, z.core.$strip>; readonly output: z.ZodObject<{ eventId: z.core.$ZodBranded; resolution: z.ZodDiscriminatedUnion<[z.ZodObject<{ outcome: z.ZodLiteral<"owned">; rule: z.ZodEnum<{ thread: "thread"; "listener-key": "listener-key"; "address-window": "address-window"; }>; taskId: z.core.$ZodBranded; }, z.core.$strip>, z.ZodObject<{ outcome: z.ZodLiteral<"unowned">; reason: z.ZodEnum<{ "no-match": "no-match"; ambiguous: "ambiguous"; "extract-failed": "extract-failed"; }>; fallbackPosition: z.ZodOptional>; }, z.core.$strip>], "outcome">; listenersHit: z.ZodNumber; triggersHit: z.ZodNumber; fellBackToMessage: z.ZodBoolean; }, z.core.$strip>; };