@whispering233/ai-editor-db 0.0.29 → 0.0.30

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 (59) hide show
  1. package/dist/connection.js +1 -1
  2. package/dist/connection.js.map +1 -1
  3. package/dist/migrations/003_timepoint.js +1 -1
  4. package/dist/migrations/003_timepoint.js.map +1 -1
  5. package/dist/migrations/004_setting_tags.js +2 -2
  6. package/dist/migrations/004_setting_tags.js.map +1 -1
  7. package/dist/migrations/005_reference.js +2 -2
  8. package/dist/migrations/005_reference.js.map +1 -1
  9. package/dist/migrations/index.d.ts +1 -1
  10. package/dist/migrations/index.d.ts.map +1 -1
  11. package/dist/migrations/index.js +2 -2
  12. package/dist/migrations/index.js.map +1 -1
  13. package/dist/queries/chat.d.ts +3 -3
  14. package/dist/queries/chat.d.ts.map +1 -1
  15. package/dist/queries/chat.js +5 -5
  16. package/dist/queries/chat.js.map +1 -1
  17. package/dist/queries/compute-state.d.ts +3 -3
  18. package/dist/queries/compute-state.js +5 -5
  19. package/dist/queries/delta.d.ts +4 -4
  20. package/dist/queries/delta.d.ts.map +1 -1
  21. package/dist/queries/delta.js +4 -4
  22. package/dist/queries/delta.js.map +1 -1
  23. package/dist/queries/entity.d.ts +11 -11
  24. package/dist/queries/entity.d.ts.map +1 -1
  25. package/dist/queries/entity.js +29 -29
  26. package/dist/queries/entity.js.map +1 -1
  27. package/dist/queries/migration.d.ts +7 -7
  28. package/dist/queries/migration.d.ts.map +1 -1
  29. package/dist/queries/migration.js +8 -8
  30. package/dist/queries/migration.js.map +1 -1
  31. package/dist/queries/outline-ops.d.ts +11 -11
  32. package/dist/queries/outline-ops.d.ts.map +1 -1
  33. package/dist/queries/outline-ops.js +15 -15
  34. package/dist/queries/outline-ops.js.map +1 -1
  35. package/dist/queries/relation.d.ts +6 -6
  36. package/dist/queries/relation.d.ts.map +1 -1
  37. package/dist/queries/relation.js +9 -9
  38. package/dist/queries/relation.js.map +1 -1
  39. package/dist/queries/trash.d.ts +3 -3
  40. package/dist/queries/trash.d.ts.map +1 -1
  41. package/dist/queries/trash.js +3 -3
  42. package/dist/queries/trash.js.map +1 -1
  43. package/dist/query-db.js +1 -1
  44. package/dist/query-db.js.map +1 -1
  45. package/dist/schema.d.ts +2 -2
  46. package/dist/schema.js +3 -3
  47. package/dist/schema.js.map +1 -1
  48. package/dist/storage/atomic.d.ts +1 -1
  49. package/dist/storage/atomic.js +3 -3
  50. package/dist/storage/atomic.js.map +1 -1
  51. package/dist/storage/outline.js +1 -1
  52. package/dist/storage/project.d.ts +2 -2
  53. package/dist/storage/project.js +3 -3
  54. package/dist/storage/project.js.map +1 -1
  55. package/dist/tables.d.ts +1 -1
  56. package/dist/tables.d.ts.map +1 -1
  57. package/dist/tables.js +13 -13
  58. package/dist/tables.js.map +1 -1
  59. package/package.json +2 -2
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // id/name/language/prompt/schema_version/current_position/created_at/updated_at,
4
4
  // 文件写入走 原子写同款流程(第 186 行),DeepSeek key 绝不写入本文件。
5
- // (2026-08 批次十): 项目规则文件读写也收敛于此(「」节)——
5
+ // (2026-08):项目规则文件读写也收敛于此——
6
6
  // 项目规则唯一事实源 = 项目目录 (取代 project.json `prompt` 字段,不再读写)。
7
7
  import { join } from "node:path";
8
8
  import { statSync } from "node:fs";
@@ -50,7 +50,7 @@ function validateProjectFile(parsed) {
50
50
  return parsed;
51
51
  }
52
52
  /**
53
- * 原子写 project.json( 同款流程:临时文件 + fsync + rename,)。
53
+ * 原子写 project.json(同款流程:临时文件 + fsync + rename)。
54
54
  * schema_version 随 config 原样写入——与 outline.json 同步写入是调用方职责。
55
55
  */
56
56
  export function writeProjectFile(dir, config) {
@@ -71,7 +71,7 @@ export function readAgentsFile(dir) {
71
71
  return readTextFileOrNull(join(dir, AGENTS_FILE_NAME));
72
72
  }
73
73
  /**
74
- * 原子写项目规则文件 ( 同款流程:临时文件 + fsync + rename)。
74
+ * 原子写项目规则文件 (同款流程:临时文件 + fsync + rename)。
75
75
  * 文件不存在时自动创建;内容**整体替换**(空串 = 清空规则,保留空文件不删除——exists 语义稳定)。
76
76
  *
77
77
  * @param dir 项目根目录
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/storage/project.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,EAAE;AACF,iFAAiF;AACjF,+CAA+C;AAC/C,sCAAsC;AACtC,uDAAuD;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnF,8BAA8B;AAC9B,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAEhD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAE5C;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC7D,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,4BAA4B;AAC3E,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,MAAe;IAC1C,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,KAAK,IAAI;QACf,OAAQ,MAAkC,CAAC,EAAE,KAAK,QAAQ;QAC1D,OAAQ,MAAkC,CAAC,IAAI,KAAK,QAAQ;QAC5D,OAAQ,MAAkC,CAAC,cAAc,KAAK,QAAQ,EACtE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,MAA2B,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,MAAyB;IACrE,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,mCAAmC;AAEnC;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAO,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,OAAe;IAC1D,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IACnE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAClE,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/storage/project.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,EAAE;AACF,iFAAiF;AACjF,+CAA+C;AAC/C,4BAA4B;AAC5B,uDAAuD;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnF,8BAA8B;AAC9B,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAC;AAEhD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAE5C;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC7D,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,4BAA4B;AAC3E,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,MAAe;IAC1C,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,KAAK,IAAI;QACf,OAAQ,MAAkC,CAAC,EAAE,KAAK,QAAQ;QAC1D,OAAQ,MAAkC,CAAC,IAAI,KAAK,QAAQ;QAC5D,OAAQ,MAAkC,CAAC,cAAc,KAAK,QAAQ,EACtE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,MAA2B,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,MAAyB;IACrE,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,mCAAmC;AAEnC;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAO,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,OAAe;IAC1D,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IACnE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAClE,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
package/dist/tables.d.ts CHANGED
@@ -714,5 +714,5 @@ export declare const chatMessages: import("drizzle-orm/sqlite-core").SQLiteTable
714
714
  * 四张业务表 + 索引的建表 SQL(幂等:CREATE TABLE/INDEX IF NOT EXISTS)——建表执行的事实来源。
715
715
  * 与上方 sqliteTable 定义必须同步(schema.test.ts 对齐断言覆盖)。
716
716
  */
717
- export declare const CREATE_TABLES_SQL = "\n-- entities\uFF1A\u5B9E\u4F53\u8868\uFF08\u4EBA\u7269/\u8BBE\u5B9A/\u5730\u70B9/\u4F0F\u7B14/\u65F6\u95F4\u8F74\u4E8B\u4EF6/\u65F6\u95F4\u6807\u7B7E\u70B9\uFF09\nCREATE TABLE IF NOT EXISTS entities (\n id TEXT PRIMARY KEY,\n type TEXT NOT NULL CHECK(type IN ('character', 'setting', 'location', 'hook', 'event', 'timepoint', 'reference')),\n name TEXT NOT NULL,\n data TEXT NOT NULL DEFAULT '{}', -- JSON: \u5404\u7C7B\u578B\u7684\u4E13\u5C5E\u5B57\u6BB5\n sort_order INTEGER, -- \u65F6\u95F4\u8F74\u7EBF\u6027\u5E8F\uFF08 + G2 \u4FEE\u8BA2\uFF09\uFF1Aevent \u4E0E timepoint \u5404\u7C7B\u578B\u5185\u7EBF\u6027\uFF08\u5404\u81EA 0..n-1\uFF09\uFF0C\u5176\u4F59\u7C7B\u578B\u6052\u4E3A NULL\n created_at TEXT NOT NULL, -- ISO 8601\uFF0C\u5E94\u7528\u5C42\u5199\u5165\n updated_at TEXT NOT NULL, -- ISO 8601\uFF0C\u5E94\u7528\u5C42\u5199\u5165\uFF08\u63D0\u6848\u5FEB\u7167\u6BD4\u5BF9\uFF0C\uFF09\n deleted_at TEXT -- \u8F6F\u5220\u6807\u8BB0\uFF08\uFF09\uFF0CNULL \u8868\u793A\u672A\u5220\u9664\uFF1B\u975E NULL \u65F6\u8BE5\u5B9E\u4F53\u8FDB\u5165\u56DE\u6536\u7AD9\uFF0C\u672C\u4F53\u4FDD\u7559\u53EF\u8FD8\u539F\n);\n\n-- relation_records\uFF1A\u901A\u7528\u5173\u7CFB\u8868\nCREATE TABLE IF NOT EXISTS relation_records (\n id TEXT PRIMARY KEY,\n source_type TEXT NOT NULL, -- \u7AEF\u70B9\u7C7B\u578B\uFF1A\u5B9E\u4F53 'character'|'setting'|'location'|'hook'|'event'\uFF0C\u5927\u7EB2\u8282\u70B9 'outline_node'\n source_id TEXT NOT NULL,\n target_type TEXT NOT NULL,\n target_id TEXT NOT NULL,\n relation_type TEXT NOT NULL,\n metadata TEXT, -- JSON \u6269\u5C55\u5143\u6570\u636E\n created_at TEXT NOT NULL, -- ISO 8601\uFF0C\u5E94\u7528\u5C42\u5199\u5165\n updated_at TEXT NOT NULL, -- ISO 8601\uFF0C\u5E94\u7528\u5C42\u5199\u5165\uFF08\u63D0\u6848\u5FEB\u7167\u6BD4\u5BF9\uFF0C\uFF1B\u8F6F\u5220/\u8FD8\u539F\u4EA6\u66F4\u65B0\uFF0C\uFF09\n deleted_at TEXT -- \u7EA7\u8054\u8F6F\u5220\u6807\u8BB0\uFF08\uFF09\uFF1A\u4EC5\u5B9E\u4F53/\u8282\u70B9\u7EA7\u8054\u5220\u9664\u65F6\u5199\u5165\uFF1B\n -- \u624B\u52A8\u5220\u9664\u5173\u7CFB = \u7269\u7406\u5220\uFF08\u4E0D\u7F6E deleted_at\uFF0C\u4E0D\u8FDB\u5165\u56DE\u6536\u7AD9\uFF09\n);\n\n-- \u7D22\u5F15\uFF08\u8865\uFF09\uFF1Ak \u8DF3\u904D\u5386\u4E0E\u9AD8\u9891\u5173\u7CFB\u67E5\u8BE2\uFF08\u90E8\u5206\u7D22\u5F15\uFF0C\u4EC5\u8986\u76D6\u672A\u8F6F\u5220\u884C\uFF09\nCREATE INDEX IF NOT EXISTS idx_relation_source ON relation_records(source_id) WHERE deleted_at IS NULL;\nCREATE INDEX IF NOT EXISTS idx_relation_target ON relation_records(target_id) WHERE deleted_at IS NULL;\nCREATE INDEX IF NOT EXISTS idx_relation_type ON relation_records(relation_type) WHERE deleted_at IS NULL;\n\n-- delta_records\uFF1A\u5C5E\u6027\u53D8\u66F4\u8868\nCREATE TABLE IF NOT EXISTS delta_records (\n id TEXT PRIMARY KEY,\n node_id TEXT NOT NULL, -- \u89E6\u53D1\u53D8\u66F4\u7684\u5927\u7EB2\u8282\u70B9\n target_type TEXT NOT NULL,\n target_id TEXT NOT NULL,\n changes TEXT NOT NULL, -- JSON: [{field, op, from?, to?, value?}]\n description TEXT NOT NULL, -- \u4EBA\u7C7B\u53EF\u8BFB\u63CF\u8FF0\n \"order\" INTEGER NOT NULL DEFAULT 0, -- \u540C\u4E00\u8282\u70B9\u5185\u591A\u4E2A Delta \u7684\u6392\u5E8F\uFF08\u5168\u5C40\u5355\u8C03\u9012\u589E\uFF0C\u670D\u52A1\u7AEF\u751F\u6210\uFF09\n created_at TEXT NOT NULL, -- ISO 8601\uFF0C\u5E94\u7528\u5C42\u5199\u5165\n updated_at TEXT NOT NULL, -- ISO 8601\uFF0C\u5E94\u7528\u5C42\u5199\u5165\uFF08\u63D0\u6848\u5FEB\u7167\u6BD4\u5BF9\uFF0C\uFF09\n deleted_at TEXT -- \u7EA7\u8054\u8F6F\u5220\u6807\u8BB0\uFF08\uFF09\uFF1A\u4EC5\u5B9E\u4F53/\u8282\u70B9\u7EA7\u8054\u5220\u9664\u65F6\u5199\u5165\u3002\n -- \u53EF\u89C1\u6027\u8054\u52A8\u89E6\u53D1\u8282\u70B9\u4E0E\u76EE\u6807\u5B9E\u4F53\uFF08\uFF09\uFF1A\u4EFB\u4E00\u7AEF\u8F6F\u5220\u5373\u4E0D\u53EF\u89C1\n);\n\n-- chat_messages\uFF1A\u5BF9\u8BDD\u5386\u53F2\u8868\uFF08\uFF0C\u4E0E data.db \u540C\u5E93\uFF09\nCREATE TABLE IF NOT EXISTS chat_messages (\n id TEXT PRIMARY KEY,\n session_id TEXT NOT NULL,\n project_id TEXT NOT NULL, -- \u4F1A\u8BDD\u6309\u9879\u76EE\u9694\u79BB\uFF08\uFF09\n role TEXT NOT NULL CHECK(role IN ('user','assistant','tool')),\n content TEXT,\n tool_calls TEXT, -- JSON: \u52A9\u624B\u6D88\u606F\u7684\u5DE5\u5177\u8C03\u7528\u6570\u7EC4\n tool_call_id TEXT, -- tool \u6D88\u606F\u5173\u8054\u7684 assistant \u5DE5\u5177\u8C03\u7528 id\uFF08\uFF09\n created_at TEXT NOT NULL -- ISO 8601\uFF0C\u5E94\u7528\u5C42\u5199\u5165\n);\n\nCREATE INDEX IF NOT EXISTS idx_chat_session ON chat_messages(session_id, created_at);\n";
717
+ export declare const CREATE_TABLES_SQL = "\n-- entities\uFF1A\u5B9E\u4F53\u8868\uFF08\u4EBA\u7269/\u8BBE\u5B9A/\u5730\u70B9/\u4F0F\u7B14/\u65F6\u95F4\u8F74\u4E8B\u4EF6/\u65F6\u95F4\u6807\u7B7E\u70B9\uFF09\nCREATE TABLE IF NOT EXISTS entities (\n id TEXT PRIMARY KEY,\n type TEXT NOT NULL CHECK(type IN ('character', 'setting', 'location', 'hook', 'event', 'timepoint', 'reference')),\n name TEXT NOT NULL,\n data TEXT NOT NULL DEFAULT '{}', -- JSON: \u5404\u7C7B\u578B\u7684\u4E13\u5C5E\u5B57\u6BB5\n sort_order INTEGER, -- \u65F6\u95F4\u8F74\u7EBF\u6027\u5E8F\uFF08G2 \u4FEE\u8BA2\uFF09\uFF1Aevent \u4E0E timepoint \u5404\u7C7B\u578B\u5185\u7EBF\u6027\uFF08\u5404\u81EA 0..n-1\uFF09\uFF0C\u5176\u4F59\u7C7B\u578B\u6052\u4E3A NULL\n created_at TEXT NOT NULL, -- ISO 8601\uFF0C\u5E94\u7528\u5C42\u5199\u5165\n updated_at TEXT NOT NULL, -- ISO 8601\uFF0C\u5E94\u7528\u5C42\u5199\u5165\uFF08\u63D0\u6848\u5FEB\u7167\u6BD4\u5BF9\uFF09\n deleted_at TEXT -- \u8F6F\u5220\u6807\u8BB0\uFF0CNULL \u8868\u793A\u672A\u5220\u9664\uFF1B\u975E NULL \u65F6\u8BE5\u5B9E\u4F53\u8FDB\u5165\u56DE\u6536\u7AD9\uFF0C\u672C\u4F53\u4FDD\u7559\u53EF\u8FD8\u539F\n);\n\n-- relation_records\uFF1A\u901A\u7528\u5173\u7CFB\u8868\nCREATE TABLE IF NOT EXISTS relation_records (\n id TEXT PRIMARY KEY,\n source_type TEXT NOT NULL, -- \u7AEF\u70B9\u7C7B\u578B\uFF1A\u5B9E\u4F53 'character'|'setting'|'location'|'hook'|'event'\uFF0C\u5927\u7EB2\u8282\u70B9 'outline_node'\n source_id TEXT NOT NULL,\n target_type TEXT NOT NULL,\n target_id TEXT NOT NULL,\n relation_type TEXT NOT NULL,\n metadata TEXT, -- JSON \u6269\u5C55\u5143\u6570\u636E\n created_at TEXT NOT NULL, -- ISO 8601\uFF0C\u5E94\u7528\u5C42\u5199\u5165\n updated_at TEXT NOT NULL, -- ISO 8601\uFF0C\u5E94\u7528\u5C42\u5199\u5165\uFF08\u63D0\u6848\u5FEB\u7167\u6BD4\u5BF9\uFF1B\u8F6F\u5220/\u8FD8\u539F\u4EA6\u66F4\u65B0\uFF09\n deleted_at TEXT -- \u7EA7\u8054\u8F6F\u5220\u6807\u8BB0\uFF1A\u4EC5\u5B9E\u4F53/\u8282\u70B9\u7EA7\u8054\u5220\u9664\u65F6\u5199\u5165\uFF1B\n -- \u624B\u52A8\u5220\u9664\u5173\u7CFB = \u7269\u7406\u5220\uFF08\u4E0D\u7F6E deleted_at\uFF0C\u4E0D\u8FDB\u5165\u56DE\u6536\u7AD9\uFF09\n);\n\n-- \u7D22\u5F15\uFF08\u8865\uFF09\uFF1Ak \u8DF3\u904D\u5386\u4E0E\u9AD8\u9891\u5173\u7CFB\u67E5\u8BE2\uFF08\u90E8\u5206\u7D22\u5F15\uFF0C\u4EC5\u8986\u76D6\u672A\u8F6F\u5220\u884C\uFF09\nCREATE INDEX IF NOT EXISTS idx_relation_source ON relation_records(source_id) WHERE deleted_at IS NULL;\nCREATE INDEX IF NOT EXISTS idx_relation_target ON relation_records(target_id) WHERE deleted_at IS NULL;\nCREATE INDEX IF NOT EXISTS idx_relation_type ON relation_records(relation_type) WHERE deleted_at IS NULL;\n\n-- delta_records\uFF1A\u5C5E\u6027\u53D8\u66F4\u8868\nCREATE TABLE IF NOT EXISTS delta_records (\n id TEXT PRIMARY KEY,\n node_id TEXT NOT NULL, -- \u89E6\u53D1\u53D8\u66F4\u7684\u5927\u7EB2\u8282\u70B9\n target_type TEXT NOT NULL,\n target_id TEXT NOT NULL,\n changes TEXT NOT NULL, -- JSON: [{field, op, from?, to?, value?}]\n description TEXT NOT NULL, -- \u4EBA\u7C7B\u53EF\u8BFB\u63CF\u8FF0\n \"order\" INTEGER NOT NULL DEFAULT 0, -- \u540C\u4E00\u8282\u70B9\u5185\u591A\u4E2A Delta \u7684\u6392\u5E8F\uFF08\u5168\u5C40\u5355\u8C03\u9012\u589E\uFF0C\u670D\u52A1\u7AEF\u751F\u6210\uFF09\n created_at TEXT NOT NULL, -- ISO 8601\uFF0C\u5E94\u7528\u5C42\u5199\u5165\n updated_at TEXT NOT NULL, -- ISO 8601\uFF0C\u5E94\u7528\u5C42\u5199\u5165\uFF08\u63D0\u6848\u5FEB\u7167\u6BD4\u5BF9\uFF09\n deleted_at TEXT -- \u7EA7\u8054\u8F6F\u5220\u6807\u8BB0\uFF1A\u4EC5\u5B9E\u4F53/\u8282\u70B9\u7EA7\u8054\u5220\u9664\u65F6\u5199\u5165\u3002\n -- \u53EF\u89C1\u6027\u8054\u52A8\u89E6\u53D1\u8282\u70B9\u4E0E\u76EE\u6807\u5B9E\u4F53\uFF1A\u4EFB\u4E00\u7AEF\u8F6F\u5220\u5373\u4E0D\u53EF\u89C1\n);\n\n-- chat_messages\uFF1A\u5BF9\u8BDD\u5386\u53F2\u8868\uFF08\u4E0E data.db \u540C\u5E93\uFF09\nCREATE TABLE IF NOT EXISTS chat_messages (\n id TEXT PRIMARY KEY,\n session_id TEXT NOT NULL,\n project_id TEXT NOT NULL, -- \u4F1A\u8BDD\u6309\u9879\u76EE\u9694\u79BB\n role TEXT NOT NULL CHECK(role IN ('user','assistant','tool')),\n content TEXT,\n tool_calls TEXT, -- JSON: \u52A9\u624B\u6D88\u606F\u7684\u5DE5\u5177\u8C03\u7528\u6570\u7EC4\n tool_call_id TEXT, -- tool \u6D88\u606F\u5173\u8054\u7684 assistant \u5DE5\u5177\u8C03\u7528 id\n created_at TEXT NOT NULL -- ISO 8601\uFF0C\u5E94\u7528\u5C42\u5199\u5165\n);\n\nCREATE INDEX IF NOT EXISTS idx_chat_session ON chat_messages(session_id, created_at);\n";
718
718
  //# sourceMappingURL=tables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../src/tables.ts"],"names":[],"mappings":"AAgBA,iDAAiD;AACjD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBpB,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoB3B,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcxB,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,w3JA6D7B,CAAC"}
1
+ {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../src/tables.ts"],"names":[],"mappings":"AAgBA,iDAAiD;AACjD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBpB,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoB3B,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcxB,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,+wJA6D7B,CAAC"}
package/dist/tables.js CHANGED
@@ -1,4 +1,4 @@
1
- // @whispering233/ai-editor-db 表结构声明(批次十五 15.1)
1
+ // @whispering233/ai-editor-db 表结构声明
2
2
  //
3
3
  // **双份声明**:sqliteTable 定义(查询构建/行类型推断用)+ 同文件 CREATE_TABLES_SQL 常量
4
4
  // (建表执行用,connection.openDatabase → schema.createTables 执行)——两处必须同步,
@@ -19,7 +19,7 @@ export const entities = sqliteTable("entities", {
19
19
  name: text("name").notNull(),
20
20
  // data 列保持 text 模式(坏 JSON 防御在行映射层,不用 drizzle json mode)
21
21
  data: text("data").notNull().default("{}"),
22
- // 时间轴线性序( + G2 修订):event 与 timepoint 各类型内线性(各自 0..n-1),其余类型恒为 NULL
22
+ // 时间轴线性序(G2 修订):event 与 timepoint 各类型内线性(各自 0..n-1),其余类型恒为 NULL
23
23
  sort_order: integer("sort_order"),
24
24
  created_at: text("created_at").notNull(),
25
25
  updated_at: text("updated_at").notNull(),
@@ -83,10 +83,10 @@ CREATE TABLE IF NOT EXISTS entities (
83
83
  type TEXT NOT NULL CHECK(type IN ('character', 'setting', 'location', 'hook', 'event', 'timepoint', 'reference')),
84
84
  name TEXT NOT NULL,
85
85
  data TEXT NOT NULL DEFAULT '{}', -- JSON: 各类型的专属字段
86
- sort_order INTEGER, -- 时间轴线性序( + G2 修订):event 与 timepoint 各类型内线性(各自 0..n-1),其余类型恒为 NULL
86
+ sort_order INTEGER, -- 时间轴线性序(G2 修订):event 与 timepoint 各类型内线性(各自 0..n-1),其余类型恒为 NULL
87
87
  created_at TEXT NOT NULL, -- ISO 8601,应用层写入
88
- updated_at TEXT NOT NULL, -- ISO 8601,应用层写入(提案快照比对,)
89
- deleted_at TEXT -- 软删标记(),NULL 表示未删除;非 NULL 时该实体进入回收站,本体保留可还原
88
+ updated_at TEXT NOT NULL, -- ISO 8601,应用层写入(提案快照比对)
89
+ deleted_at TEXT -- 软删标记,NULL 表示未删除;非 NULL 时该实体进入回收站,本体保留可还原
90
90
  );
91
91
 
92
92
  -- relation_records:通用关系表
@@ -99,8 +99,8 @@ CREATE TABLE IF NOT EXISTS relation_records (
99
99
  relation_type TEXT NOT NULL,
100
100
  metadata TEXT, -- JSON 扩展元数据
101
101
  created_at TEXT NOT NULL, -- ISO 8601,应用层写入
102
- updated_at TEXT NOT NULL, -- ISO 8601,应用层写入(提案快照比对,;软删/还原亦更新,)
103
- deleted_at TEXT -- 级联软删标记():仅实体/节点级联删除时写入;
102
+ updated_at TEXT NOT NULL, -- ISO 8601,应用层写入(提案快照比对;软删/还原亦更新)
103
+ deleted_at TEXT -- 级联软删标记:仅实体/节点级联删除时写入;
104
104
  -- 手动删除关系 = 物理删(不置 deleted_at,不进入回收站)
105
105
  );
106
106
 
@@ -119,20 +119,20 @@ CREATE TABLE IF NOT EXISTS delta_records (
119
119
  description TEXT NOT NULL, -- 人类可读描述
120
120
  "order" INTEGER NOT NULL DEFAULT 0, -- 同一节点内多个 Delta 的排序(全局单调递增,服务端生成)
121
121
  created_at TEXT NOT NULL, -- ISO 8601,应用层写入
122
- updated_at TEXT NOT NULL, -- ISO 8601,应用层写入(提案快照比对,)
123
- deleted_at TEXT -- 级联软删标记():仅实体/节点级联删除时写入。
124
- -- 可见性联动触发节点与目标实体():任一端软删即不可见
122
+ updated_at TEXT NOT NULL, -- ISO 8601,应用层写入(提案快照比对)
123
+ deleted_at TEXT -- 级联软删标记:仅实体/节点级联删除时写入。
124
+ -- 可见性联动触发节点与目标实体:任一端软删即不可见
125
125
  );
126
126
 
127
- -- chat_messages:对话历史表(,与 data.db 同库)
127
+ -- chat_messages:对话历史表(与 data.db 同库)
128
128
  CREATE TABLE IF NOT EXISTS chat_messages (
129
129
  id TEXT PRIMARY KEY,
130
130
  session_id TEXT NOT NULL,
131
- project_id TEXT NOT NULL, -- 会话按项目隔离()
131
+ project_id TEXT NOT NULL, -- 会话按项目隔离
132
132
  role TEXT NOT NULL CHECK(role IN ('user','assistant','tool')),
133
133
  content TEXT,
134
134
  tool_calls TEXT, -- JSON: 助手消息的工具调用数组
135
- tool_call_id TEXT, -- tool 消息关联的 assistant 工具调用 id()
135
+ tool_call_id TEXT, -- tool 消息关联的 assistant 工具调用 id
136
136
  created_at TEXT NOT NULL -- ISO 8601,应用层写入
137
137
  );
138
138
 
@@ -1 +1 @@
1
- {"version":3,"file":"tables.js","sourceRoot":"","sources":["../src/tables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tables.js","sourceRoot":"","sources":["../src/tables.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whispering233/ai-editor-db",
3
- "version": "0.0.29",
3
+ "version": "0.0.30",
4
4
  "license": "MIT",
5
5
  "description": "数据库层:better-sqlite3 连接 / 建表 / 查询",
6
6
  "type": "module",
@@ -26,7 +26,7 @@
26
26
  "postpack": "node ../../scripts/restore-package-json.mjs"
27
27
  },
28
28
  "dependencies": {
29
- "@whispering233/ai-editor-shared": "0.0.29",
29
+ "@whispering233/ai-editor-shared": "0.0.30",
30
30
  "better-sqlite3": "^13.0.0",
31
31
  "drizzle-orm": "0.45.2",
32
32
  "nanoid": "^5.1.0"