/** * [ref] A9 域模块 —— v2 leader 端点([ref])。 * * 路由:`POST /v1/leader`(异步,形同 `/v1/runs`)· `GET /v1/leader/:id`。整域由 `deps.leaderEndpoint` * 的存在与否开关;身份层与 `/v1/runs` 同款(BL-4:此前整条路跳过 authorize/requirePrincipal 且不记 owner, * 任何持服务令牌者能提交/读任意租户的 leader run),owner 用 crypto 验证过的 `gatedPrincipal`。本域零可变状态。 */ import type { IncomingMessage, ServerResponse } from "node:http"; import type { RouteCtx, RouteMatch, RouteIdsOf } from "../route-ctx.js"; /** 路由体 = 从 `server.ts` 的 `handle()` 里**整段剪切**过来的原文(唯一改动:统一去缩进两格)。 * 注意本域的落空语义:`deps.leaderEndpoint` 在但 URL 不匹配、或 endpoint 返回 undefined,都要**继续** * 往下走(原文的 if 块不 return),故只有真的应答过才算已处理——由末尾的 `miss.fell` 如实表达。 */ /** 本域两条路径的**单一属主**(下面的声明行与那只接缝的回拼都引它,不再各写一遍字面量)。 */ export declare const LEADER_SUBMIT_PATH = "/v1/leader"; export declare function handleLeader(req: IncomingMessage, res: ServerResponse, match: RouteMatch, ctx: RouteCtx): Promise; export declare const LEADER_ROUTES: readonly [{ readonly id: "leader-submit"; readonly path: "/v1/leader"; readonly billable: true; readonly methods: readonly ["POST"]; }, { readonly id: "leader-detail"; readonly pattern: RegExp; readonly label: "/v1/leader/:id"; readonly methods: readonly ["GET"]; }]; /** 本域可分派行的 `id` 闭集 —— handler 的 `switch` 按它判穷尽(漏一口 = 编译红)。 */ export type LeaderRouteId = RouteIdsOf; //# sourceMappingURL=leader.d.ts.map