继续收紧 TypeScript:ClaimIdentity 契约与 flow 出口类型

- 新增 types/claim-identity,统一 ClaimIdentity / Payload / AdminSummary
- 导出 KuaishouCloudFlow、KuaishouFeifeiFlow 作为 normalize 出口
- 生产路径 JsonObject 统一从 types/json 导入,去掉 rebind as any
- 前后端 claimIdentity 类型字段对齐
This commit is contained in:
yml2213
2026-07-10 15:56:25 +08:00
parent 8bcd9bbd81
commit 042574dea3
20 changed files with 219 additions and 88 deletions
@@ -1,14 +1,19 @@
import { createHttpError } from '../../utils/http.js'
import { parseTaskContext } from '../../utils/task-json.js'
import { isTaskFinalStatus, normalizeTaskStatus, TASK_STATUS } from '../../domain/task-status.js'
import type {
ClaimIdentity,
ClaimIdentityAdminSummary,
ClaimIdentityPayload,
} from '../../types/claim-identity.js'
import type { TaskRow } from '../../types/repository/rows.js'
import type { JsonObject } from '../../types/json.js'
export type ClaimIdentity = {
expectedUid: string
submittedAt: string | null
source: string
}
export type {
ClaimIdentity,
ClaimIdentityAdminSummary,
ClaimIdentityPayload,
} from '../../types/claim-identity.js'
const CLAIM_UID_MAX_LENGTH = 64
@@ -130,18 +135,6 @@ export function assertLewanAutoFulfillmentUidReady(
return expectedUid
}
export type ClaimIdentityAdminSummary = {
expectedUid: string
submittedAt: string | null
source: string
ready: boolean
boundUid: string
boundRoleName: string
uidMatched: boolean | null
compatibilityMode: 'uid' | 'legacy_no_uid'
note: string
}
export function buildClaimIdentityAdminSummary(
context: unknown,
options: { flowLike?: unknown; taskRoleId?: unknown; taskRoleName?: unknown } = {},
@@ -261,7 +254,7 @@ export function appendUidToUrl(targetUrl: unknown, uid: unknown): string {
}
}
export function buildClaimIdentityPayload(value: unknown) {
export function buildClaimIdentityPayload(value: unknown): ClaimIdentityPayload {
const identity = normalizeClaimIdentity(value)
return {
expectedUid: identity.expectedUid,