fix(admin): Fix Prompt management list not showing version info and add debug diagnostics

Summary:
- Fix Prompt list API response schema missing activeVersion and draftVersion fields
- Fastify was filtering out undefined schema fields, causing version columns to show empty
- Add detailed diagnostic logging for Prompt debug mode troubleshooting
- Verify debug mode works correctly (DRAFT version is used when debug enabled)

Changes:
- backend/src/common/prompt/prompt.routes.ts: Add activeVersion and draftVersion to response schema
- backend/src/common/prompt/prompt.service.ts: Add diagnostic logs for setDebugMode and get methods
- PKB module: Various authentication and document handling fixes from previous session

Tested: Debug mode verified working - v2 DRAFT version correctly loaded when debug enabled
This commit is contained in:
2026-01-13 22:22:10 +08:00
parent 4088275290
commit 4ed67a8846
272 changed files with 1382 additions and 161 deletions

View File

@@ -612,6 +612,8 @@ async saveProcessedData(recordId, newData) {

View File

@@ -799,6 +799,8 @@ export const AsyncProgressBar: React.FC<AsyncProgressBarProps> = ({

View File

@@ -295,3 +295,5 @@ Level 3: 兜底Prompt缓存也失效

View File

@@ -215,3 +215,5 @@ ADMIN-运营管理端/

View File

@@ -314,3 +314,5 @@ INST-机构管理端/

View File

@@ -538,3 +538,5 @@ frontend-v2/src/modules/aia/

View File

@@ -566,3 +566,5 @@ Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

View File

@@ -881,3 +881,5 @@ export interface SlashCommand {

View File

@@ -1292,6 +1292,8 @@ interface FulltextScreeningResult {

View File

@@ -406,6 +406,8 @@ GET /api/v1/asl/fulltext-screening/tasks/:taskId/export

View File

@@ -508,6 +508,8 @@ Failed to open file '\\tmp\\extraction_service\\temp_10000_test.pdf'

View File

@@ -574,6 +574,8 @@ df['creatinine'] = pd.to_numeric(df['creatinine'], errors='coerce')

View File

@@ -989,6 +989,8 @@ export const aiController = new AIController();

View File

@@ -1323,6 +1323,8 @@ npm install react-markdown

View File

@@ -231,6 +231,8 @@ FMA___基线 | FMA___1个月 | FMA___2个月

View File

@@ -389,6 +389,8 @@ formula = "FMA总分0-100 / 100"

View File

@@ -223,6 +223,8 @@ async handleFillnaMice(request, reply) {

View File

@@ -195,6 +195,8 @@ method: 'mean' | 'median' | 'mode' | 'constant' | 'ffill' | 'bfill'

View File

@@ -646,6 +646,8 @@ import { logger } from '../../../../common/logging/index.js';

View File

@@ -449,6 +449,8 @@ import { ChatContainer } from '@/shared/components/Chat';

View File

@@ -359,6 +359,8 @@ const initialMessages = defaultMessages.length > 0 ? defaultMessages : [{

View File

@@ -647,6 +647,8 @@ http://localhost:5173/data-cleaning/tool-c

View File

@@ -435,6 +435,8 @@ Docs: docs/03-业务模块/DC-数据清洗整理/06-开发记录/DC模块重建

View File

@@ -308,6 +308,8 @@ ConflictDetectionService // 冲突检测(字段级对比)

View File

@@ -472,6 +472,8 @@ Tool B后端代码**100%复用**了平台通用能力层,无任何重复开发

View File

@@ -249,6 +249,8 @@ $ node scripts/check-dc-tables.mjs

View File

@@ -482,6 +482,8 @@ ${fields.map((f, i) => `${i + 1}. ${f.name}${f.desc}`).join('\n')}

View File

@@ -690,3 +690,5 @@ private async processMessageAsync(xmlData: any) {

View File

@@ -1084,3 +1084,5 @@ async function testIntegration() {

View File

@@ -223,5 +223,7 @@ Content-Type: application/json

View File

@@ -645,3 +645,5 @@ REDCap API: exportRecords success { recordCount: 1 }

View File

@@ -651,3 +651,5 @@ backend/src/modules/iit-manager/

View File

@@ -801,3 +801,5 @@ CREATE TABLE iit_schema.wechat_tokens (

View File

@@ -558,3 +558,5 @@ Day 3 的开发工作虽然遇到了多个技术问题,但最终成功完成

View File

@@ -325,3 +325,5 @@ AI: "出生日期2017-01-04

View File

@@ -267,5 +267,7 @@ Day 4: REDCap EMWebhook推送← 作为增强,而非核心

View File

@@ -683,3 +683,5 @@ const answer = `根据研究方案[1]和CRF表格[2],纳入标准包括:

View File

@@ -440,3 +440,5 @@ export const calculateAvailableQuota = async (tenantId: string) => {

View File

@@ -313,3 +313,5 @@ https://platform.example.com/t/pharma-abc/login

View File

@@ -363,3 +363,5 @@ const newResults = resultsData.map((docResult: any) => ({

View File

@@ -773,3 +773,5 @@ docker exec redcap-apache php /tmp/create-redcap-password.php

View File

@@ -155,3 +155,5 @@ AIclinicalresearch/redcap-docker-dev/

View File

@@ -321,3 +321,5 @@ npx tsx check_iit_asl_data.ts

View File

@@ -189,3 +189,5 @@ interface DecodedToken {

View File

@@ -889,6 +889,8 @@ ACR镜像仓库

View File

@@ -1376,6 +1376,8 @@ SAE应用配置:

View File

@@ -1192,6 +1192,8 @@ docker exec -e PGPASSWORD="密码" ai-clinical-postgres psql -h RDS地址 -U air

View File

@@ -603,6 +603,8 @@ scripts/*.ts

View File

@@ -291,6 +291,8 @@ Node.js后端部署成功后

View File

@@ -514,6 +514,8 @@ Node.js后端 (SAE) ← http://172.17.173.88:3001

View File

@@ -229,6 +229,8 @@ curl http://localhost:3001/health

View File

@@ -267,6 +267,8 @@ npm run dev

View File

@@ -491,6 +491,8 @@ pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432

View File

@@ -1819,6 +1819,8 @@ curl http://8.140.53.236/

View File

@@ -367,6 +367,8 @@ crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-se

View File

@@ -689,6 +689,8 @@ docker login --username=gofeng117@163.com \

View File

@@ -500,6 +500,8 @@ NAT网关成本¥100/月,对初创团队是一笔开销

View File

@@ -405,6 +405,8 @@ curl http://你的SAE地址:3001/health

View File

@@ -737,6 +737,8 @@ const job = await queue.getJob(jobId);

View File

@@ -504,6 +504,8 @@ processLiteraturesInBackground(task.id, projectId, testLiteratures);

View File

@@ -981,6 +981,8 @@ ROI = (¥22,556 - ¥144) / ¥144 × 100% = 15,564%

View File

@@ -1038,6 +1038,8 @@ Redis 实例¥500/月

View File

@@ -496,6 +496,8 @@ import { ChatContainer } from '@/shared/components/Chat';

View File

@@ -205,3 +205,5 @@ VALUES ('user-mock-001', '13800000000', ..., 'tenant-mock-001', ...);

View File

@@ -417,3 +417,5 @@ frontend-v2/src/modules/pkb/

View File

@@ -279,3 +279,5 @@ npm run dev

View File

@@ -794,3 +794,5 @@ AIA智能问答模块

View File

@@ -936,6 +936,8 @@ CREATE INDEX idx_rvw_tasks_created_at ON rvw_schema.review_tasks(created_at);

View File

@@ -592,3 +592,5 @@ const typography = {

View File

@@ -904,3 +904,5 @@ app.use('/api/v1/knowledge', (req, res) => {

View File

@@ -218,3 +218,5 @@ rm -rf src/modules/pkb

View File

@@ -393,3 +393,5 @@ GET /api/v2/pkb/batch-tasks/batch/templates

View File

@@ -37,3 +37,5 @@ import pkbRoutes from './modules/pkb/routes/index.js';

View File

@@ -306,3 +306,5 @@ backend/

View File

@@ -517,3 +517,5 @@ const response = await fetch('/api/v2/pkb/batch-tasks/batch/execute', {