@musnows/scriverse 0.6.2 → 0.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/ai-protocol.js +22 -9
  2. package/dist/ai-protocol.js.map +1 -1
  3. package/dist/ai-tool-results.js +71 -0
  4. package/dist/ai-tool-results.js.map +1 -1
  5. package/dist/ai.js +913 -195
  6. package/dist/ai.js.map +1 -1
  7. package/dist/app.js +245 -46
  8. package/dist/app.js.map +1 -1
  9. package/dist/cli-core.js +23 -13
  10. package/dist/cli-core.js.map +1 -1
  11. package/dist/database.js +251 -2
  12. package/dist/database.js.map +1 -1
  13. package/dist/docx-export.js +89 -0
  14. package/dist/docx-export.js.map +1 -0
  15. package/dist/google-vertex-auth.js +155 -0
  16. package/dist/google-vertex-auth.js.map +1 -0
  17. package/dist/image-captcha.js +8 -5
  18. package/dist/image-captcha.js.map +1 -1
  19. package/dist/public/ai-context-meter.js +4 -0
  20. package/dist/public/ai-mentions.js +10 -0
  21. package/dist/public/ai-message-time.js +3 -9
  22. package/dist/public/ai-tool-call.js +4 -0
  23. package/dist/public/app.js +1004 -131
  24. package/dist/public/display-labels.js +2 -1
  25. package/dist/public/index.html +75 -16
  26. package/dist/public/page-route.js +2 -2
  27. package/dist/public/styles.css +155 -19
  28. package/dist/public/system-status.d.ts +12 -0
  29. package/dist/public/system-status.js +16 -0
  30. package/dist/public/theme-init.js +2 -2
  31. package/dist/security.js +101 -9
  32. package/dist/security.js.map +1 -1
  33. package/dist/store.js +290 -21
  34. package/dist/store.js.map +1 -1
  35. package/dist/user-auth.js +62 -24
  36. package/dist/user-auth.js.map +1 -1
  37. package/dist/version.js +1 -1
  38. package/dist/writing-progress-time.js +23 -0
  39. package/dist/writing-progress-time.js.map +1 -1
  40. package/package.json +2 -1
package/dist/cli-core.js CHANGED
@@ -77,6 +77,17 @@ function emitJson(stream, value, compact) {
77
77
  function emitText(stream, value) {
78
78
  stream.write(value.endsWith("\n") ? value : `${value}\n`);
79
79
  }
80
+ function emitHttpServerWarning(stream, server, compact) {
81
+ if (new URL(server).protocol !== "http:")
82
+ return;
83
+ emitJson(stream, {
84
+ warning: {
85
+ code: "CLI_SERVER_HTTP_WARNING",
86
+ message: "当前服务端使用 HTTP,API Key 和业务数据将以明文传输;请仅在可信局域网中使用,公网访问请配置 HTTPS",
87
+ server
88
+ }
89
+ }, compact);
90
+ }
80
91
  function configPath(parsed, dependencies) {
81
92
  const configured = option(parsed, "config") ?? dependencies.env.SCRIVERSE_CONFIG;
82
93
  if (configured)
@@ -95,12 +106,6 @@ function normalizeServer(value) {
95
106
  if (!["http:", "https:"].includes(url.protocol) || url.username || url.password || url.search || url.hash) {
96
107
  throw new CliError("CLI_SERVER_INVALID", "服务端地址必须是无内嵌凭据的 HTTP 或 HTTPS 地址");
97
108
  }
98
- const loopbackHttp = url.protocol === "http:" && (url.hostname === "localhost"
99
- || url.hostname === "127.0.0.1"
100
- || url.hostname === "[::1]");
101
- if (url.protocol === "http:" && !loopbackHttp) {
102
- throw new CliError("CLI_SERVER_INSECURE", "远程服务端地址必须使用 HTTPS;HTTP 仅允许连接本机回环地址");
103
- }
104
109
  if (url.pathname !== "/" && url.pathname !== "") {
105
110
  throw new CliError("CLI_SERVER_INVALID", "服务端地址不能包含路径,请只填写协议、主机和端口");
106
111
  }
@@ -445,7 +450,7 @@ function helpText() {
445
450
  scriverse work get <workId>
446
451
  scriverse work history <workId>
447
452
  scriverse work restore <workId> --version <number>
448
- scriverse manuscript get <workId> [--format json|markdown|txt] [--output <path>]
453
+ scriverse manuscript get <workId> [--format json|markdown|txt|docx] [--output <path>]
449
454
  scriverse search <workId> --query <text> [--type <type>] [--limit <number>]
450
455
  scriverse audit <workId>
451
456
  scriverse writing progress <workId>
@@ -481,7 +486,7 @@ AI 编辑辅助:
481
486
  }
482
487
  function schemaList() {
483
488
  return {
484
- output: "除 manuscript 的 markdown/txt 外,所有成功结果都输出 JSON;错误输出到 stderr 并返回非零状态码。",
489
+ output: "除 manuscript 的 markdown/txt/docx 外,所有成功结果都输出 JSON;错误输出到 stderr 并返回非零状态码。",
485
490
  input: {
486
491
  json: "create/update 使用 --input file.json 或 --input - 从标准输入读取 JSON 对象",
487
492
  longText: "使用可重复的 --field-file field=path 注入长文本字段",
@@ -542,8 +547,12 @@ async function execute(parsed, dependencies) {
542
547
  const config = readOptionalConfig(path);
543
548
  const requested = parsed.positionals[1];
544
549
  if (requested) {
545
- config.defaultServer = normalizeServer(requested);
550
+ const server = normalizeServer(requested);
551
+ const shouldWarn = server !== config.defaultServer;
552
+ config.defaultServer = server;
546
553
  writeConfig(path, config);
554
+ if (shouldWarn)
555
+ emitHttpServerWarning(dependencies.stderr, server, compact);
547
556
  }
548
557
  emitJson(dependencies.stdout, {
549
558
  defaultServer: config.defaultServer,
@@ -566,6 +575,7 @@ async function execute(parsed, dependencies) {
566
575
  throw new CliError("CLI_API_KEY_REQUIRED", "请通过 --api-key、--api-key-file 或 SCRIVERSE_API_KEY 三者之一提供 API Key");
567
576
  }
568
577
  const apiKey = supplied[0];
578
+ emitHttpServerWarning(dependencies.stderr, server, compact);
569
579
  const temporary = {
570
580
  server,
571
581
  apiKey,
@@ -705,15 +715,15 @@ async function execute(parsed, dependencies) {
705
715
  const workId = requiredPosition(parsed.positionals, 2, "workId");
706
716
  assertPositionCount(parsed.positionals, 3);
707
717
  const format = option(parsed, "format") ?? "json";
708
- if (!["json", "markdown", "txt"].includes(format))
709
- throw new CliError("CLI_FORMAT_INVALID", "format 必须是 json、markdown 或 txt");
718
+ if (!["json", "markdown", "txt", "docx"].includes(format))
719
+ throw new CliError("CLI_FORMAT_INVALID", "format 必须是 json、markdown、txtdocx");
710
720
  if (format === "json") {
711
721
  if (option(parsed, "output"))
712
722
  throw new CliError("CLI_OUTPUT_UNSUPPORTED", "JSON 格式直接输出到标准输出,不支持 --output");
713
723
  emitJson(dependencies.stdout, await apiRequest(dependencies.fetchImpl, config, `/api/works/${encoded(workId)}`), compact);
714
724
  }
715
- else if (format === "markdown") {
716
- const outputPath = option(parsed, "output") ?? `novel-${workId}.zip`;
725
+ else if (format === "markdown" || format === "docx") {
726
+ const outputPath = option(parsed, "output") ?? (format === "docx" ? `novel-${workId}.docx` : `novel-${workId}.zip`);
717
727
  emitJson(dependencies.stdout, {
718
728
  format,
719
729
  ...(await downloadToFile(dependencies.fetchImpl, config, `/api/works/${encoded(workId)}/export?format=${format}`, outputPath, dependencies.cwd))
@@ -1 +1 @@
1
- {"version":3,"file":"cli-core.js","sourceRoot":"","sources":["../src/cli-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-core.js","sourceRoot":"","sources":["../src/cli-core.ts"],"names":[],"mappings":"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"}
package/dist/database.js CHANGED
@@ -4,7 +4,7 @@ import { DatabaseSync } from "node:sqlite";
4
4
  import { logger, sanitizeError } from "./logger.js";
5
5
  import { documentShortSearchTerms, normalizeDocumentSearchText, splitDocumentParagraphs } from "./utils.js";
6
6
  export const PLATFORM_AI_WORK_ID = "__scriverse_platform_ai__";
7
- export const DATABASE_SCHEMA_VERSION = 60;
7
+ export const DATABASE_SCHEMA_VERSION = 70;
8
8
  export function readDatabaseSchemaVersion(filename) {
9
9
  if (!existsSync(filename))
10
10
  return null;
@@ -379,7 +379,7 @@ export class Database {
379
379
  work_id TEXT NOT NULL REFERENCES works(id) ON DELETE CASCADE,
380
380
  name TEXT NOT NULL,
381
381
  base_url TEXT NOT NULL,
382
- protocol TEXT NOT NULL DEFAULT 'openai-chat-completions' CHECK(protocol IN ('openai-chat-completions', 'anthropic-messages')),
382
+ protocol TEXT NOT NULL DEFAULT 'openai-chat-completions' CHECK(protocol IN ('openai-chat-completions', 'anthropic-messages', 'google-vertex')),
383
383
  encrypted_key TEXT NOT NULL,
384
384
  key_iv TEXT NOT NULL,
385
385
  key_tag TEXT NOT NULL,
@@ -438,6 +438,7 @@ export class Database {
438
438
  CREATE TABLE IF NOT EXISTS work_ai_settings (
439
439
  work_id TEXT PRIMARY KEY REFERENCES works(id) ON DELETE CASCADE,
440
440
  system_prompt TEXT NOT NULL DEFAULT '',
441
+ daily_token_quota INTEGER CHECK(daily_token_quota IS NULL OR daily_token_quota >= 10000),
441
442
  auto_run_enabled INTEGER NOT NULL DEFAULT 0,
442
443
  auto_run_concurrency INTEGER NOT NULL DEFAULT 2,
443
444
  auto_run_batch_limit INTEGER NOT NULL DEFAULT 20,
@@ -449,6 +450,8 @@ export class Database {
449
450
  auto_run_consecutive_failures INTEGER NOT NULL DEFAULT 0,
450
451
  book_summary_context_percent INTEGER NOT NULL DEFAULT 50 CHECK(book_summary_context_percent BETWEEN 1 AND 90),
451
452
  context_compact_threshold INTEGER NOT NULL DEFAULT 85 CHECK(context_compact_threshold BETWEEN 50 AND 90),
453
+ agent_tool_call_limit INTEGER NOT NULL DEFAULT 12 CHECK(agent_tool_call_limit BETWEEN 5 AND 48),
454
+ agent_tool_call_global_multiplier INTEGER NOT NULL DEFAULT 3 CHECK(agent_tool_call_global_multiplier BETWEEN 1 AND 6),
452
455
  agent_tools_json TEXT NOT NULL DEFAULT '["story_index","read_chapters","search_story_entities","grep","read_character_sections","search_drafts"]',
453
456
  title_generation_model_id TEXT REFERENCES models(id) ON DELETE SET NULL,
454
457
  updated_at TEXT NOT NULL
@@ -496,10 +499,16 @@ export class Database {
496
499
  CREATE TABLE IF NOT EXISTS ai_conversations (
497
500
  id TEXT PRIMARY KEY,
498
501
  work_id TEXT NOT NULL REFERENCES works(id) ON DELETE CASCADE,
502
+ roleplay_character_id TEXT REFERENCES characters(id) ON DELETE SET NULL,
503
+ task_type TEXT CHECK(task_type IN ('chat', 'roleplay', 'continue', 'polish')),
504
+ context_scope_json TEXT,
499
505
  title TEXT NOT NULL DEFAULT '新对话',
500
506
  compacted_summary TEXT NOT NULL DEFAULT '',
501
507
  compacted_message_count INTEGER NOT NULL DEFAULT 0,
502
508
  context_warning_at TEXT,
509
+ agent_tools_json TEXT,
510
+ injected_entities_json TEXT NOT NULL DEFAULT '{"characters":[],"races":[],"organizations":[]}',
511
+ system_clock_text TEXT NOT NULL DEFAULT '',
503
512
  created_at TEXT NOT NULL,
504
513
  updated_at TEXT NOT NULL
505
514
  );
@@ -2437,6 +2446,246 @@ export class Database {
2437
2446
  if (foreignKeys.length > 0)
2438
2447
  throw new Error(`数据库外键检查失败:发现 ${foreignKeys.length} 条异常记录`);
2439
2448
  }
2449
+ if (!applied.has(61)) {
2450
+ this.transaction(() => {
2451
+ const columns = new Set(this.all("PRAGMA table_info(work_ai_settings)").map((row) => String(row.name)));
2452
+ if (!columns.has("agent_tool_call_limit")) {
2453
+ this.run("ALTER TABLE work_ai_settings ADD COLUMN agent_tool_call_limit INTEGER NOT NULL DEFAULT 12 CHECK(agent_tool_call_limit BETWEEN 5 AND 48)");
2454
+ }
2455
+ this.run("INSERT INTO schema_migrations (version, applied_at) VALUES (61, ?)", new Date().toISOString());
2456
+ });
2457
+ const integrity = this.all("PRAGMA integrity_check");
2458
+ if (integrity.some((row) => row.integrity_check !== "ok")) {
2459
+ throw new Error(`数据库完整性检查失败:${integrity.map((row) => row.integrity_check).join(";")}`);
2460
+ }
2461
+ const foreignKeys = this.all("PRAGMA foreign_key_check");
2462
+ if (foreignKeys.length > 0)
2463
+ throw new Error(`数据库外键检查失败:发现 ${foreignKeys.length} 条异常记录`);
2464
+ }
2465
+ if (!applied.has(62)) {
2466
+ this.transaction(() => {
2467
+ this.run("UPDATE work_ai_settings SET agent_tool_call_limit = 5 WHERE agent_tool_call_limit < 5");
2468
+ this.run("INSERT INTO schema_migrations (version, applied_at) VALUES (62, ?)", new Date().toISOString());
2469
+ });
2470
+ const integrity = this.all("PRAGMA integrity_check");
2471
+ if (integrity.some((row) => row.integrity_check !== "ok")) {
2472
+ throw new Error(`数据库完整性检查失败:${integrity.map((row) => row.integrity_check).join(";")}`);
2473
+ }
2474
+ const foreignKeys = this.all("PRAGMA foreign_key_check");
2475
+ if (foreignKeys.length > 0)
2476
+ throw new Error(`数据库外键检查失败:发现 ${foreignKeys.length} 条异常记录`);
2477
+ }
2478
+ if (!applied.has(63)) {
2479
+ this.transaction(() => {
2480
+ const columns = new Set(this.all("PRAGMA table_info(work_ai_settings)").map((row) => String(row.name)));
2481
+ if (!columns.has("agent_tool_call_global_multiplier")) {
2482
+ this.run("ALTER TABLE work_ai_settings ADD COLUMN agent_tool_call_global_multiplier INTEGER NOT NULL DEFAULT 3 CHECK(agent_tool_call_global_multiplier BETWEEN 2 AND 10)");
2483
+ }
2484
+ this.run("INSERT INTO schema_migrations (version, applied_at) VALUES (63, ?)", new Date().toISOString());
2485
+ });
2486
+ const integrity = this.all("PRAGMA integrity_check");
2487
+ if (integrity.some((row) => row.integrity_check !== "ok")) {
2488
+ throw new Error(`数据库完整性检查失败:${integrity.map((row) => row.integrity_check).join(";")}`);
2489
+ }
2490
+ const foreignKeys = this.all("PRAGMA foreign_key_check");
2491
+ if (foreignKeys.length > 0)
2492
+ throw new Error(`数据库外键检查失败:发现 ${foreignKeys.length} 条异常记录`);
2493
+ }
2494
+ if (!applied.has(64)) {
2495
+ this.transaction(() => {
2496
+ this.run(`CREATE TABLE work_ai_settings_v64 (
2497
+ work_id TEXT PRIMARY KEY REFERENCES works(id) ON DELETE CASCADE,
2498
+ system_prompt TEXT NOT NULL DEFAULT '',
2499
+ auto_run_enabled INTEGER NOT NULL DEFAULT 0,
2500
+ auto_run_concurrency INTEGER NOT NULL DEFAULT 2,
2501
+ auto_run_batch_limit INTEGER NOT NULL DEFAULT 20,
2502
+ auto_run_daily_task_limit INTEGER NOT NULL DEFAULT 0 CHECK(auto_run_daily_task_limit BETWEEN 0 AND 10000),
2503
+ auto_run_failure_threshold INTEGER NOT NULL DEFAULT 3 CHECK(auto_run_failure_threshold BETWEEN 1 AND 10),
2504
+ auto_run_paused INTEGER NOT NULL DEFAULT 0 CHECK(auto_run_paused IN (0, 1)),
2505
+ auto_run_pause_reason TEXT NOT NULL DEFAULT '',
2506
+ auto_run_resume_at TEXT,
2507
+ auto_run_consecutive_failures INTEGER NOT NULL DEFAULT 0,
2508
+ book_summary_context_percent INTEGER NOT NULL DEFAULT 50 CHECK(book_summary_context_percent BETWEEN 1 AND 90),
2509
+ context_compact_threshold INTEGER NOT NULL DEFAULT 85 CHECK(context_compact_threshold BETWEEN 50 AND 90),
2510
+ agent_tool_call_limit INTEGER NOT NULL DEFAULT 12 CHECK(agent_tool_call_limit BETWEEN 5 AND 48),
2511
+ agent_tool_call_global_multiplier INTEGER NOT NULL DEFAULT 3 CHECK(agent_tool_call_global_multiplier BETWEEN 1 AND 6),
2512
+ agent_tools_json TEXT NOT NULL DEFAULT '["story_index","read_chapters","search_story_entities","grep","read_character_sections","search_drafts"]',
2513
+ title_generation_model_id TEXT REFERENCES models(id) ON DELETE SET NULL,
2514
+ updated_at TEXT NOT NULL
2515
+ )`);
2516
+ this.run(`INSERT INTO work_ai_settings_v64 (
2517
+ work_id, system_prompt, auto_run_enabled, auto_run_concurrency, auto_run_batch_limit,
2518
+ auto_run_daily_task_limit, auto_run_failure_threshold, auto_run_paused, auto_run_pause_reason,
2519
+ auto_run_resume_at, auto_run_consecutive_failures, book_summary_context_percent,
2520
+ context_compact_threshold, agent_tool_call_limit, agent_tool_call_global_multiplier,
2521
+ agent_tools_json, title_generation_model_id, updated_at
2522
+ )
2523
+ SELECT
2524
+ work_id, system_prompt, auto_run_enabled, auto_run_concurrency, auto_run_batch_limit,
2525
+ auto_run_daily_task_limit, auto_run_failure_threshold, auto_run_paused, auto_run_pause_reason,
2526
+ auto_run_resume_at, auto_run_consecutive_failures, book_summary_context_percent,
2527
+ context_compact_threshold, agent_tool_call_limit,
2528
+ CASE
2529
+ WHEN agent_tool_call_global_multiplier < 1 THEN 1
2530
+ WHEN agent_tool_call_global_multiplier > 6 THEN 6
2531
+ ELSE agent_tool_call_global_multiplier
2532
+ END,
2533
+ agent_tools_json, title_generation_model_id, updated_at
2534
+ FROM work_ai_settings`);
2535
+ this.run("DROP TABLE work_ai_settings");
2536
+ this.run("ALTER TABLE work_ai_settings_v64 RENAME TO work_ai_settings");
2537
+ this.run("INSERT INTO schema_migrations (version, applied_at) VALUES (64, ?)", new Date().toISOString());
2538
+ });
2539
+ const integrity = this.all("PRAGMA integrity_check");
2540
+ if (integrity.some((row) => row.integrity_check !== "ok")) {
2541
+ throw new Error(`数据库完整性检查失败:${integrity.map((row) => row.integrity_check).join(";")}`);
2542
+ }
2543
+ const foreignKeys = this.all("PRAGMA foreign_key_check");
2544
+ if (foreignKeys.length > 0)
2545
+ throw new Error(`数据库外键检查失败:发现 ${foreignKeys.length} 条异常记录`);
2546
+ }
2547
+ if (!applied.has(65)) {
2548
+ this.transaction(() => {
2549
+ const conversationColumns = new Set(this.all("PRAGMA table_info(ai_conversations)").map((row) => String(row.name)));
2550
+ if (!conversationColumns.has("agent_tools_json")) {
2551
+ this.run("ALTER TABLE ai_conversations ADD COLUMN agent_tools_json TEXT");
2552
+ }
2553
+ const workSettingsColumns = new Set(this.all("PRAGMA table_info(work_ai_settings)").map((row) => String(row.name)));
2554
+ if (!workSettingsColumns.has("daily_token_quota")) {
2555
+ this.run("ALTER TABLE work_ai_settings ADD COLUMN daily_token_quota INTEGER CHECK(daily_token_quota IS NULL OR daily_token_quota >= 10000)");
2556
+ }
2557
+ this.run("INSERT INTO schema_migrations (version, applied_at) VALUES (65, ?)", new Date().toISOString());
2558
+ });
2559
+ const integrity = this.all("PRAGMA integrity_check");
2560
+ if (integrity.some((row) => row.integrity_check !== "ok")) {
2561
+ throw new Error(`数据库完整性检查失败:${integrity.map((row) => row.integrity_check).join(";")}`);
2562
+ }
2563
+ const foreignKeys = this.all("PRAGMA foreign_key_check");
2564
+ if (foreignKeys.length > 0)
2565
+ throw new Error(`数据库外键检查失败:发现 ${foreignKeys.length} 条异常记录`);
2566
+ }
2567
+ if (!applied.has(66)) {
2568
+ this.raw.exec("PRAGMA foreign_keys = OFF");
2569
+ try {
2570
+ this.transaction(() => {
2571
+ this.run(`CREATE TABLE providers_v66 (
2572
+ id TEXT PRIMARY KEY,
2573
+ work_id TEXT NOT NULL REFERENCES works(id) ON DELETE CASCADE,
2574
+ name TEXT NOT NULL,
2575
+ base_url TEXT NOT NULL,
2576
+ protocol TEXT NOT NULL DEFAULT 'openai-chat-completions' CHECK(protocol IN ('openai-chat-completions', 'anthropic-messages', 'google-vertex')),
2577
+ encrypted_key TEXT NOT NULL,
2578
+ key_iv TEXT NOT NULL,
2579
+ key_tag TEXT NOT NULL,
2580
+ key_hint TEXT NOT NULL,
2581
+ status TEXT NOT NULL DEFAULT 'disabled',
2582
+ connection_status TEXT NOT NULL DEFAULT 'unchecked',
2583
+ concurrency_limit INTEGER NOT NULL DEFAULT 10 CHECK(concurrency_limit BETWEEN 1 AND 100),
2584
+ rpm_limit INTEGER NOT NULL DEFAULT 10 CHECK(rpm_limit BETWEEN 1 AND 10000),
2585
+ max_tokens INTEGER NOT NULL DEFAULT 32000 CHECK(max_tokens BETWEEN 1 AND 32768),
2586
+ default_model_id TEXT,
2587
+ note TEXT NOT NULL DEFAULT '',
2588
+ last_error TEXT,
2589
+ last_success_at TEXT,
2590
+ created_at TEXT NOT NULL,
2591
+ updated_at TEXT NOT NULL
2592
+ )`);
2593
+ this.run(`INSERT INTO providers_v66 (
2594
+ id, work_id, name, base_url, protocol, encrypted_key, key_iv, key_tag, key_hint, status,
2595
+ connection_status, concurrency_limit, rpm_limit, max_tokens, default_model_id, note,
2596
+ last_error, last_success_at, created_at, updated_at
2597
+ )
2598
+ SELECT
2599
+ id, work_id, name, base_url, protocol, encrypted_key, key_iv, key_tag, key_hint, status,
2600
+ connection_status, concurrency_limit, rpm_limit, max_tokens, default_model_id, note,
2601
+ last_error, last_success_at, created_at, updated_at
2602
+ FROM providers`);
2603
+ this.run("DROP TABLE providers");
2604
+ this.run("ALTER TABLE providers_v66 RENAME TO providers");
2605
+ this.run("INSERT INTO schema_migrations (version, applied_at) VALUES (66, ?)", new Date().toISOString());
2606
+ });
2607
+ }
2608
+ finally {
2609
+ this.raw.exec("PRAGMA foreign_keys = ON");
2610
+ }
2611
+ const integrity = this.all("PRAGMA integrity_check");
2612
+ if (integrity.some((row) => row.integrity_check !== "ok")) {
2613
+ throw new Error(`数据库完整性检查失败:${integrity.map((row) => row.integrity_check).join(";")}`);
2614
+ }
2615
+ const foreignKeys = this.all("PRAGMA foreign_key_check");
2616
+ if (foreignKeys.length > 0)
2617
+ throw new Error(`数据库外键检查失败:发现 ${foreignKeys.length} 条异常记录`);
2618
+ }
2619
+ if (!applied.has(67)) {
2620
+ this.transaction(() => {
2621
+ const conversationColumns = new Set(this.all("PRAGMA table_info(ai_conversations)").map((row) => String(row.name)));
2622
+ if (!conversationColumns.has("injected_entities_json")) {
2623
+ this.run(`ALTER TABLE ai_conversations ADD COLUMN injected_entities_json TEXT NOT NULL DEFAULT '{"characters":[],"races":[],"organizations":[]}'`);
2624
+ }
2625
+ if (!conversationColumns.has("system_clock_text")) {
2626
+ this.run("ALTER TABLE ai_conversations ADD COLUMN system_clock_text TEXT NOT NULL DEFAULT ''");
2627
+ }
2628
+ this.run("INSERT INTO schema_migrations (version, applied_at) VALUES (67, ?)", new Date().toISOString());
2629
+ });
2630
+ const integrity = this.all("PRAGMA integrity_check");
2631
+ if (integrity.some((row) => row.integrity_check !== "ok")) {
2632
+ throw new Error(`数据库完整性检查失败:${integrity.map((row) => row.integrity_check).join(";")}`);
2633
+ }
2634
+ const foreignKeys = this.all("PRAGMA foreign_key_check");
2635
+ if (foreignKeys.length > 0)
2636
+ throw new Error(`数据库外键检查失败:发现 ${foreignKeys.length} 条异常记录`);
2637
+ }
2638
+ if (!applied.has(68)) {
2639
+ this.transaction(() => {
2640
+ const columns = new Set(this.all("PRAGMA table_info(ai_conversations)").map((row) => String(row.name)));
2641
+ if (!columns.has("roleplay_character_id")) {
2642
+ this.run("ALTER TABLE ai_conversations ADD COLUMN roleplay_character_id TEXT REFERENCES characters(id) ON DELETE SET NULL");
2643
+ }
2644
+ this.run("CREATE INDEX IF NOT EXISTS idx_ai_conversations_roleplay_character ON ai_conversations(roleplay_character_id)");
2645
+ this.run("INSERT INTO schema_migrations (version, applied_at) VALUES (68, ?)", new Date().toISOString());
2646
+ });
2647
+ const integrity = this.all("PRAGMA integrity_check");
2648
+ if (integrity.some((row) => row.integrity_check !== "ok")) {
2649
+ throw new Error(`数据库完整性检查失败:${integrity.map((row) => row.integrity_check).join(";")}`);
2650
+ }
2651
+ const foreignKeys = this.all("PRAGMA foreign_key_check");
2652
+ if (foreignKeys.length > 0)
2653
+ throw new Error(`数据库外键检查失败:发现 ${foreignKeys.length} 条异常记录`);
2654
+ }
2655
+ if (!applied.has(69)) {
2656
+ this.transaction(() => {
2657
+ const columns = new Set(this.all("PRAGMA table_info(ai_conversations)").map((row) => String(row.name)));
2658
+ if (!columns.has("task_type")) {
2659
+ this.run("ALTER TABLE ai_conversations ADD COLUMN task_type TEXT CHECK(task_type IN ('chat', 'roleplay', 'continue', 'polish'))");
2660
+ }
2661
+ this.run("UPDATE ai_conversations SET task_type = CASE WHEN roleplay_character_id IS NOT NULL THEN 'roleplay' ELSE 'chat' END WHERE task_type IS NULL");
2662
+ this.run("INSERT INTO schema_migrations (version, applied_at) VALUES (69, ?)", new Date().toISOString());
2663
+ });
2664
+ const integrity = this.all("PRAGMA integrity_check");
2665
+ if (integrity.some((row) => row.integrity_check !== "ok")) {
2666
+ throw new Error(`数据库完整性检查失败:${integrity.map((row) => row.integrity_check).join(";")}`);
2667
+ }
2668
+ const foreignKeys = this.all("PRAGMA foreign_key_check");
2669
+ if (foreignKeys.length > 0)
2670
+ throw new Error(`数据库外键检查失败:发现 ${foreignKeys.length} 条异常记录`);
2671
+ }
2672
+ if (!applied.has(70)) {
2673
+ this.transaction(() => {
2674
+ const columns = new Set(this.all("PRAGMA table_info(ai_conversations)").map((row) => String(row.name)));
2675
+ if (!columns.has("context_scope_json")) {
2676
+ this.run("ALTER TABLE ai_conversations ADD COLUMN context_scope_json TEXT");
2677
+ }
2678
+ this.run("UPDATE ai_conversations SET context_scope_json = '{\"type\":\"none\"}' WHERE context_scope_json IS NULL");
2679
+ this.run("INSERT INTO schema_migrations (version, applied_at) VALUES (70, ?)", new Date().toISOString());
2680
+ });
2681
+ const integrity = this.all("PRAGMA integrity_check");
2682
+ if (integrity.some((row) => row.integrity_check !== "ok")) {
2683
+ throw new Error(`数据库完整性检查失败:${integrity.map((row) => row.integrity_check).join(";")}`);
2684
+ }
2685
+ const foreignKeys = this.all("PRAGMA foreign_key_check");
2686
+ if (foreignKeys.length > 0)
2687
+ throw new Error(`数据库外键检查失败:发现 ${foreignKeys.length} 条异常记录`);
2688
+ }
2440
2689
  }
2441
2690
  normalizeCharacterName(value) {
2442
2691
  return value.normalize("NFKC").trim().replace(/\s+/gu, " ").toLocaleLowerCase("zh-CN");