feat(P25-1/P25-5/P26-1/P26-3/P24-1/P29-4): 落地内部OA够用版后端与试运行能力

关联 Issue: P25-1, P25-2, P25-3, P25-4, P25-5, P26-1, P26-3, P24-1, P24-2, P29-1, P29-2, P29-3, P29-4
这个提交包含在:
2026-03-21 18:03:20 +08:00
父节点 9b7cd818f7
当前提交 e39e41287e
共修改 45 个文件,包含 4571 行新增和 328 行删除
+8
查看文件
@@ -85,6 +85,7 @@ function getConfig() {
pgBossSchema: process.env.PG_BOSS_SCHEMA ?? "pgboss",
ocrProvider: process.env.OCR_PROVIDER ?? "off",
ocrCronEnabled: process.env.OCR_CRON_ENABLED !== "false",
ocrBatchSize: Number(process.env.OCR_BATCH_SIZE ?? 10),
ocrLockTtlSeconds: Number(process.env.OCR_LOCK_TTL_SECONDS ?? 300),
ocrPollCron: process.env.OCR_POLL_CRON ?? "* * * * *",
@@ -103,6 +104,13 @@ function getConfig() {
verificationTimeoutMs: Number(process.env.VERIFICATION_TIMEOUT_MS ?? 5000),
budgetControlMode: process.env.BUDGET_CONTROL_MODE ?? "warn",
budgetPrecheckEnabled: process.env.BUDGET_PRECHECK_ENABLED === "true",
paymentBatchEnabled: process.env.PAYMENT_BATCH_ENABLED === "true",
portalHomeEnabled: process.env.PORTAL_HOME_ENABLED === "true",
globalSearchEnabled: process.env.GLOBAL_SEARCH_ENABLED === "true",
announcementsEnabled: process.env.ANNOUNCEMENTS_ENABLED === "true",
workflowDefinitionAdminEnabled: process.env.WORKFLOW_DEFINITION_ADMIN_ENABLED === "true",
cutoverConsoleEnabled: process.env.CUTOVER_CONSOLE_ENABLED === "true",
aiAssistEnabled: process.env.AI_ASSIST_ENABLED === "true",
aiProvider: process.env.AI_PROVIDER ?? "mock",