index.js 3.98 KB
/**
 * `@drama/contracts` 包根 —— 只暴露跨产品的工具函数。
 *
 * 业务 schema 按产品拆到三个子路径导入(深导入被 ESLint 拦截,子路径为声明的公共面):
 *   - `@drama/contracts/drama`:drama 主站业务 schema。
 *   - `@drama/contracts/visual-game`:visual-game 业务 schema。
 *   - `@drama/contracts/platform`:账号/鉴权/计费/支付等两条线共用的平台 schema。
 *
 * 包根只留两类工具函数:
 *   1. 各 `parseXxx` 边界校验助手(HTTP 入口唯一校验入口)。
 *   2. `dumpSchemas`(确定性 schema 快照,供 CI schema gate 比对)。
 *
 * 本包零 IO、零 `@drama/*` 依赖、零 `process.env`:纯定义 + 纯函数,可在
 * 浏览器与 Node 同时 import。
 */

// === parse 助手(HTTP 入口边界校验唯一入口;失败抛 Valibot ValiError)===
export {
  parseScriptLine,
  parseBundle,
  parseDrama,
  parseApiError,
  parseLogin,
  parseLoginResponse,
  parseAccount,
  parseUnlockReq,
  parseTopupCheckoutReq,
  parseTelemetryEvent,
  parseShareMeta,
  parseBillingSummary,
  parseVisualGameKpAgentOutput,
  parseVisualGameNpcActorOutput,
  parseVisualGameNpcActionKpOutput,
  parseVisualGameScenarioListItem,
  parseVisualGameScenarioPage,
  parseVisualGameAssetManifest,
  parseVisualGameTtsVoiceList,
  parseVisualGameCreateRunResponse,
  parseVisualGameRunDetail,
  parseVisualGameRunList,
  parseVisualGameRunVideo,
  parseVisualGameRunVideoGeneration,
  parseVisualGameRunVideoGenerationResult,
  parseVisualGameStoryVideoLog,
  parseVisualGameNotification,
  parseVisualGameNotificationList,
  parseVisualGameScenarioVideoList,
  parseVisualGameShowcaseVideoPage,
  parseVisualGameVideoEngagement,
  parseVisualGameSeasonList,
  parseVisualGameRunEvent,
  parseVisualGameRunEventList,
  parseVisualGameAgentCallList,
  parseVisualGameProgress,
  parseVisualGameProgressPatch,
  parseVisualGamePaywallInfo,
  parseVisualGameSaveSlot,
  parseVisualGameSaveSlotList,
  parseVisualGameDeleteSaveSlotResponse,
  parseVisualGameTurnEvent,
  parseVisualGameEndingText,
  parseVisualGameScenarioVersion,
  parseVisualGamePack,
  parseVisualGamePackList,
  parseVisualGamePackCompileResponse,
  parseVisualGameContentTranslationStatus,
  parseVisualGameContentTranslationResult,
  parseVisualGameContentTranslationInventory,
  parseVisualGameContentTranslationProgress,
  parseVisualGamePackAssetUploadResponse,
  parseVisualGamePackDeleteResponse,
  parseVisualGamePreviewTokenResponse,
  parseVisualGamePublishCheckList,
  parseVisualGameEditAuditLogList,
  parseVisualGameCreatorProject,
  parseVisualGameCreatorProjectList,
  parseVisualGameAdminUserSummary,
  parseVisualGameAdminUserListResponse,
  parseVisualGameAdminUserDetailResponse,
  parseVisualGameAdminUserProvisionRequest,
  parseVisualGameAdminUserProfileUpdateRequest,
  parseVisualGameAdminUserCreditsAdjustRequest,
  parseVisualGameAdminUserSubscriptionUpdateRequest,
  parseVisualGameAdminUserActionResponse,
  parseVisualGameAdminBillingActionPolicy,
  parseVisualGameAdminBillingPolicyList,
  parseVisualGameAdminBillingProduct,
  parseVisualGameAdminBillingProductList,
  parseVisualGameAdminBillingOrderPage,
  parseVisualGameAdminBillingLedgerPage,
  parseVisualGameAdminBillingDashboard,
  parseVisualGameAdminAnalyticsOverviewResponse,
  parseVisualGameAdminAnalyticsDrilldownResponse,
  parseVisualGameAdminPlayerInteractionsResponse,
  parseVisualGameAdminContentAnalyticsResponse,
  parseVisualGameAdminGa4BehaviorResponse,
  parseWaitlistJoinRequest,
  parseWaitlistJoinResponse,
  parseWaitlistInviteValidateResponse,
  parseWaitlistSendRegisterCodeResponse,
  parseWaitlistEntryListResponse,
  parseWaitlistEntryDetailResponse,
  parseWaitlistCreateManualEntryRequest,
  parseWaitlistNoteRequest,
  parseWaitlistInviteRequest,
  parseWaitlistRejectRequest,
  parseWaitlistActionResponse,
  parseWaitlistExportResponse,
} from './parse.js'

// === schema 快照导出(CI gate 用,确定性序列化)===
export { dumpSchemas, describeSchema } from './dump.js'