import { type BlockExecutor } from '../orchestration-schema.js'; /** * @serverBlockDoc * { * "version": 1, * "functionName": "linkOAuthIdentity", * "displayName": "绑定 OAuth 身份", * "category": "auth", * "description": "把已验证的 OAuth 身份幂等绑定到 Fragment 创建的 employee,并返回可写入 Session 的用户。", * "inputs": [ * { "key": "datasource", "type": "string", "required": true, "description": "Mokelay 用户库数据源。" }, * { "key": "provider", "type": "google|github", "required": true, "description": "OAuth provider。" }, * { "key": "employeeId", "type": "string", "required": true, "description": "待绑定员工 ID。" }, * { "key": "providerUserId", "type": "string", "required": true, "description": "Provider 用户唯一标识。" }, * { "key": "providerEmail", "type": "string", "required": true, "description": "Provider 已验证邮箱。" }, * { "key": "emailVerified", "type": "boolean", "required": true, "description": "Provider 邮箱验证状态,必须为 true。" }, * { "key": "profile", "type": "Record", "required": true, "description": "Provider 原始 profile。" } * ], * "outputs": [ * { "key": "user", "type": "EmployeeSession", "description": "身份所属用户。" }, * { "key": "linkedIdentity", "type": "boolean", "description": "本次是否新建了绑定;重复执行时为 false。" } * ], * "errors": [ * { "code": "BLOCK_OAUTH_INPUT_INVALID", "description": "输入字段无效。" }, * { "code": "BLOCK_OAUTH_EMAIL_UNVERIFIED", "description": "Provider 邮箱未验证。" }, * { "code": "BLOCK_OAUTH_ACCOUNT_CONFLICT", "description": "身份已属于其他账号,或 employee 与邮箱不匹配。" } * ], * "config": [], * "runtime": [ * { "key": "requiresDatasource", "type": "boolean", "value": true, "description": "读取 employee 并写入 employee_auth_identities。" } * ], * "examples": [] * } */ export declare const executeLinkOAuthIdentityBlock: BlockExecutor;