openhorse 0.2.6 → 0.2.9

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 (185) hide show
  1. package/README.md +2 -2
  2. package/README.zh-CN.md +10 -1
  3. package/dist/cli.d.ts +1 -1
  4. package/dist/cli.js +9 -16
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/index.d.ts.map +1 -1
  7. package/dist/commands/index.js +69 -24
  8. package/dist/commands/index.js.map +1 -1
  9. package/dist/commands/types.d.ts +7 -28
  10. package/dist/commands/types.d.ts.map +1 -1
  11. package/dist/commands/types.js.map +1 -1
  12. package/dist/core/checkpoint.d.ts +42 -0
  13. package/dist/core/checkpoint.d.ts.map +1 -0
  14. package/dist/core/checkpoint.js +222 -0
  15. package/dist/core/checkpoint.js.map +1 -0
  16. package/dist/core/tool-artifacts.d.ts.map +1 -1
  17. package/dist/core/tool-artifacts.js +19 -15
  18. package/dist/core/tool-artifacts.js.map +1 -1
  19. package/dist/framework/index.d.ts +1 -0
  20. package/dist/framework/index.d.ts.map +1 -1
  21. package/dist/framework/index.js +5 -1
  22. package/dist/framework/index.js.map +1 -1
  23. package/dist/framework/tool-serializer.d.ts +21 -0
  24. package/dist/framework/tool-serializer.d.ts.map +1 -0
  25. package/dist/framework/tool-serializer.js +68 -0
  26. package/dist/framework/tool-serializer.js.map +1 -0
  27. package/dist/framework/tool.d.ts +5 -1
  28. package/dist/framework/tool.d.ts.map +1 -1
  29. package/dist/framework/tool.js.map +1 -1
  30. package/dist/harness/context-harness.d.ts.map +1 -1
  31. package/dist/harness/context-harness.js +5 -0
  32. package/dist/harness/context-harness.js.map +1 -1
  33. package/dist/harness/evidence.d.ts +5 -0
  34. package/dist/harness/evidence.d.ts.map +1 -1
  35. package/dist/harness/evidence.js +23 -0
  36. package/dist/harness/evidence.js.map +1 -1
  37. package/dist/harness/index.d.ts +1 -1
  38. package/dist/harness/index.d.ts.map +1 -1
  39. package/dist/harness/index.js +2 -1
  40. package/dist/harness/index.js.map +1 -1
  41. package/dist/harness/intent.d.ts.map +1 -1
  42. package/dist/harness/intent.js +8 -0
  43. package/dist/harness/intent.js.map +1 -1
  44. package/dist/harness/types.d.ts +4 -1
  45. package/dist/harness/types.d.ts.map +1 -1
  46. package/dist/ink-ui/App.d.ts +2 -2
  47. package/dist/ink-ui/App.d.ts.map +1 -1
  48. package/dist/ink-ui/components/PixelHorseBanner.d.ts +2 -2
  49. package/dist/ink-ui/components/PixelHorseBanner.d.ts.map +1 -1
  50. package/dist/ink-ui/components/StatusLine.d.ts +2 -2
  51. package/dist/ink-ui/components/StatusLine.d.ts.map +1 -1
  52. package/dist/ink-ui/launch.d.ts +2 -2
  53. package/dist/ink-ui/launch.d.ts.map +1 -1
  54. package/dist/ink-ui/launch.js.map +1 -1
  55. package/dist/ink-ui/screens/ReplScreen.d.ts +2 -2
  56. package/dist/ink-ui/screens/ReplScreen.d.ts.map +1 -1
  57. package/dist/ink-ui/screens/ReplScreen.js +4 -2
  58. package/dist/ink-ui/screens/ReplScreen.js.map +1 -1
  59. package/dist/memory/storage.d.ts +2 -0
  60. package/dist/memory/storage.d.ts.map +1 -1
  61. package/dist/memory/storage.js +56 -32
  62. package/dist/memory/storage.js.map +1 -1
  63. package/dist/memory/vector-store.d.ts +23 -3
  64. package/dist/memory/vector-store.d.ts.map +1 -1
  65. package/dist/memory/vector-store.js +107 -37
  66. package/dist/memory/vector-store.js.map +1 -1
  67. package/dist/print-ui/launch.d.ts +44 -2
  68. package/dist/print-ui/launch.d.ts.map +1 -1
  69. package/dist/print-ui/launch.js +12 -0
  70. package/dist/print-ui/launch.js.map +1 -1
  71. package/dist/runtime/agent-runtime-controller.d.ts +3 -1
  72. package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
  73. package/dist/runtime/agent-runtime-controller.js +12 -1
  74. package/dist/runtime/agent-runtime-controller.js.map +1 -1
  75. package/dist/runtime/agent-runtime-protocol.d.ts +7 -1
  76. package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
  77. package/dist/runtime/agent-runtime-protocol.js +12 -0
  78. package/dist/runtime/agent-runtime-protocol.js.map +1 -1
  79. package/dist/runtime/chat-controller.d.ts +4 -1
  80. package/dist/runtime/chat-controller.d.ts.map +1 -1
  81. package/dist/runtime/chat-controller.js +16 -0
  82. package/dist/runtime/chat-controller.js.map +1 -1
  83. package/dist/runtime/ui-events.d.ts +29 -2
  84. package/dist/runtime/ui-events.d.ts.map +1 -1
  85. package/dist/runtime/ui-events.js +34 -0
  86. package/dist/runtime/ui-events.js.map +1 -1
  87. package/dist/services/concurrent-sessions.d.ts.map +1 -1
  88. package/dist/services/concurrent-sessions.js +6 -7
  89. package/dist/services/concurrent-sessions.js.map +1 -1
  90. package/dist/services/config-dir.d.ts +29 -6
  91. package/dist/services/config-dir.d.ts.map +1 -1
  92. package/dist/services/config-dir.js +118 -17
  93. package/dist/services/config-dir.js.map +1 -1
  94. package/dist/services/config.d.ts +9 -2
  95. package/dist/services/config.d.ts.map +1 -1
  96. package/dist/services/config.js +22 -7
  97. package/dist/services/config.js.map +1 -1
  98. package/dist/services/doctor.d.ts.map +1 -1
  99. package/dist/services/doctor.js +140 -4
  100. package/dist/services/doctor.js.map +1 -1
  101. package/dist/services/format.d.ts +2 -0
  102. package/dist/services/format.d.ts.map +1 -0
  103. package/dist/services/format.js +20 -0
  104. package/dist/services/format.js.map +1 -0
  105. package/dist/services/global-config.d.ts +3 -3
  106. package/dist/services/global-config.d.ts.map +1 -1
  107. package/dist/services/session-storage.d.ts.map +1 -1
  108. package/dist/services/session-storage.js +42 -89
  109. package/dist/services/session-storage.js.map +1 -1
  110. package/dist/services/storage-maintenance.d.ts +53 -0
  111. package/dist/services/storage-maintenance.d.ts.map +1 -0
  112. package/dist/services/storage-maintenance.js +369 -0
  113. package/dist/services/storage-maintenance.js.map +1 -0
  114. package/dist/terminal-ui/launch.d.ts +30 -2
  115. package/dist/terminal-ui/launch.d.ts.map +1 -1
  116. package/dist/terminal-ui/launch.js +6 -14
  117. package/dist/terminal-ui/launch.js.map +1 -1
  118. package/dist/tools/index.js +9 -9
  119. package/dist/tools/index.js.map +1 -1
  120. package/dist/tui-ui/launch.d.ts +2 -2
  121. package/dist/tui-ui/launch.d.ts.map +1 -1
  122. package/dist/tui-ui/launch.js +2 -0
  123. package/dist/tui-ui/launch.js.map +1 -1
  124. package/dist/tui-ui/layout.d.ts.map +1 -1
  125. package/dist/tui-ui/layout.js +2 -13
  126. package/dist/tui-ui/layout.js.map +1 -1
  127. package/dist/tui-ui/state.d.ts +13 -1
  128. package/dist/tui-ui/state.d.ts.map +1 -1
  129. package/dist/tui-ui/state.js +13 -0
  130. package/dist/tui-ui/state.js.map +1 -1
  131. package/dist/ui/command-panel.d.ts +1 -1
  132. package/dist/ui/command-panel.d.ts.map +1 -1
  133. package/dist/ui/command-panel.js +37 -34
  134. package/dist/ui/command-panel.js.map +1 -1
  135. package/dist/ui/file-completion.d.ts +1 -1
  136. package/dist/ui/file-completion.d.ts.map +1 -1
  137. package/dist/ui/file-completion.js +4 -4
  138. package/dist/ui/file-completion.js.map +1 -1
  139. package/dist/ui/shared/command-palette.d.ts +3 -0
  140. package/dist/ui/shared/command-palette.d.ts.map +1 -0
  141. package/dist/ui/shared/command-palette.js +54 -0
  142. package/dist/ui/shared/command-palette.js.map +1 -0
  143. package/dist/ui/shared/command-suggestions.d.ts +19 -0
  144. package/dist/ui/shared/command-suggestions.d.ts.map +1 -0
  145. package/dist/ui/shared/command-suggestions.js +67 -0
  146. package/dist/ui/shared/command-suggestions.js.map +1 -0
  147. package/dist/ui/shared/input-frame.d.ts +19 -0
  148. package/dist/ui/shared/input-frame.d.ts.map +1 -0
  149. package/dist/ui/shared/input-frame.js +74 -0
  150. package/dist/ui/shared/input-frame.js.map +1 -0
  151. package/dist/ui/shared/text.d.ts +5 -0
  152. package/dist/ui/shared/text.d.ts.map +1 -0
  153. package/dist/ui/shared/text.js +55 -0
  154. package/dist/ui/shared/text.js.map +1 -0
  155. package/dist/ui/shared/types.d.ts +27 -0
  156. package/dist/ui/shared/types.d.ts.map +1 -0
  157. package/dist/ui/shared/types.js +3 -0
  158. package/dist/ui/shared/types.js.map +1 -0
  159. package/dist/ui/user-input.js +2 -2
  160. package/dist/ui/user-input.js.map +1 -1
  161. package/dist/ui-v2/components/command-palette.d.ts +1 -5
  162. package/dist/ui-v2/components/command-palette.d.ts.map +1 -1
  163. package/dist/ui-v2/components/command-palette.js +15 -54
  164. package/dist/ui-v2/components/command-palette.js.map +1 -1
  165. package/dist/ui-v2/components/shell.d.ts +1 -14
  166. package/dist/ui-v2/components/shell.d.ts.map +1 -1
  167. package/dist/ui-v2/components/shell.js +4 -55
  168. package/dist/ui-v2/components/shell.js.map +1 -1
  169. package/dist/ui-v2/runtime/text.d.ts +1 -7
  170. package/dist/ui-v2/runtime/text.d.ts.map +1 -1
  171. package/dist/ui-v2/runtime/text.js +15 -55
  172. package/dist/ui-v2/runtime/text.js.map +1 -1
  173. package/dist/ui-v2/state/sessions.d.ts +1 -1
  174. package/dist/ui-v2/state/sessions.d.ts.map +1 -1
  175. package/dist/ui-v2/state/sessions.js +5 -18
  176. package/dist/ui-v2/state/sessions.js.map +1 -1
  177. package/dist/ui-v2/state/suggestions.d.ts +1 -21
  178. package/dist/ui-v2/state/suggestions.d.ts.map +1 -1
  179. package/dist/ui-v2/state/suggestions.js +15 -67
  180. package/dist/ui-v2/state/suggestions.js.map +1 -1
  181. package/dist/ui-v2/types.d.ts +1 -32
  182. package/dist/ui-v2/types.d.ts.map +1 -1
  183. package/dist/ui-v2/types.js +15 -6
  184. package/dist/ui-v2/types.js.map +1 -1
  185. package/package.json +4 -1
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.MAX_ENTRYPOINT_BYTES = exports.MAX_ENTRYPOINT_LINES = exports.ENTRYPOINT_NAME = exports.MEMORY_SUBDIR = exports.PROJECTS_SUBDIR = void 0;
13
13
  exports.getProjectHash = getProjectHash;
14
14
  exports.getMemoryDir = getMemoryDir;
15
+ exports.getLegacyMemoryDir = getLegacyMemoryDir;
15
16
  exports.getEntrypointPath = getEntrypointPath;
16
17
  exports.ensureMemoryDir = ensureMemoryDir;
17
18
  exports.parseMemoryFrontmatter = parseMemoryFrontmatter;
@@ -65,11 +66,14 @@ function getProjectHash(projectPath) {
65
66
  function getMemoryDir(projectPath) {
66
67
  const configHome = (0, config_dir_1.getConfigHome)();
67
68
  if (projectPath) {
68
- const hash = getProjectHash(projectPath);
69
- return (0, path_1.join)(configHome, exports.PROJECTS_SUBDIR, hash, exports.MEMORY_SUBDIR);
69
+ return (0, config_dir_1.getProjectMemoryDir)(projectPath);
70
70
  }
71
71
  return (0, path_1.join)(configHome, exports.MEMORY_SUBDIR);
72
72
  }
73
+ /** Legacy hash-based memory directory kept as a read fallback. */
74
+ function getLegacyMemoryDir(projectPath) {
75
+ return (0, config_dir_1.getLegacyProjectMemoryDir)(projectPath);
76
+ }
73
77
  /**
74
78
  * Get MEMORY.md path for a project.
75
79
  */
@@ -82,7 +86,7 @@ function getEntrypointPath(projectPath) {
82
86
  function ensureMemoryDir(projectPath) {
83
87
  const dir = getMemoryDir(projectPath);
84
88
  if (!(0, fs_1.existsSync)(dir)) {
85
- (0, fs_1.mkdirSync)(dir, { recursive: true });
89
+ (0, fs_1.mkdirSync)(dir, { recursive: true, mode: 0o700 });
86
90
  }
87
91
  return dir;
88
92
  }
@@ -135,9 +139,16 @@ ${entry.content}`;
135
139
  * @param projectPath - Project path (defaults to cwd)
136
140
  */
137
141
  function loadAllMemories(projectPath) {
138
- const dir = ensureMemoryDir(projectPath);
139
- const memories = [];
140
- try {
142
+ const dirs = projectPath
143
+ ? [getMemoryDir(projectPath), getLegacyMemoryDir(projectPath)]
144
+ : [ensureMemoryDir(projectPath)];
145
+ const memoriesByName = new Map();
146
+ for (const dir of dirs) {
147
+ if (!(0, fs_1.existsSync)(dir)) {
148
+ if (!projectPath)
149
+ ensureMemoryDir(projectPath);
150
+ continue;
151
+ }
141
152
  const files = (0, fs_1.readdirSync)(dir);
142
153
  for (const file of files) {
143
154
  if (!file.endsWith('.md') || file === exports.ENTRYPOINT_NAME)
@@ -148,7 +159,10 @@ function loadAllMemories(projectPath) {
148
159
  const entry = parseMemoryFrontmatter(content);
149
160
  if (entry) {
150
161
  entry.name = (0, path_1.basename)(file, '.md');
151
- memories.push(entry);
162
+ // Canonical dir is first; keep it when legacy contains the same name.
163
+ if (!memoriesByName.has(entry.name)) {
164
+ memoriesByName.set(entry.name, entry);
165
+ }
152
166
  }
153
167
  }
154
168
  catch {
@@ -156,38 +170,44 @@ function loadAllMemories(projectPath) {
156
170
  }
157
171
  }
158
172
  }
159
- catch {
160
- // Directory doesn't exist or unreadable
161
- }
162
- return memories;
173
+ return Array.from(memoriesByName.values());
163
174
  }
164
175
  /**
165
176
  * Load MEMORY.md index for a project.
166
177
  */
167
178
  function loadMemoryIndex(projectPath) {
168
- const path = getEntrypointPath(projectPath);
169
- if (!(0, fs_1.existsSync)(path))
170
- return '';
171
- return (0, fs_1.readFileSync)(path, 'utf-8');
179
+ const paths = projectPath
180
+ ? [getEntrypointPath(projectPath), (0, path_1.join)(getLegacyMemoryDir(projectPath), exports.ENTRYPOINT_NAME)]
181
+ : [getEntrypointPath(projectPath)];
182
+ for (const path of paths) {
183
+ if (!(0, fs_1.existsSync)(path))
184
+ continue;
185
+ return (0, fs_1.readFileSync)(path, 'utf-8');
186
+ }
187
+ return '';
172
188
  }
173
189
  /**
174
190
  * Load specific memory by name from a project.
175
191
  */
176
192
  function loadMemory(name, projectPath) {
177
- const dir = getMemoryDir(projectPath);
178
- const filePath = (0, path_1.join)(dir, `${name}.md`);
179
- if (!(0, fs_1.existsSync)(filePath))
180
- return null;
181
- try {
182
- const content = (0, fs_1.readFileSync)(filePath, 'utf-8');
183
- const entry = parseMemoryFrontmatter(content);
184
- if (entry) {
185
- entry.name = name;
186
- return entry;
193
+ const dirs = projectPath
194
+ ? [getMemoryDir(projectPath), getLegacyMemoryDir(projectPath)]
195
+ : [getMemoryDir(projectPath)];
196
+ for (const dir of dirs) {
197
+ const filePath = (0, path_1.join)(dir, `${name}.md`);
198
+ if (!(0, fs_1.existsSync)(filePath))
199
+ continue;
200
+ try {
201
+ const content = (0, fs_1.readFileSync)(filePath, 'utf-8');
202
+ const entry = parseMemoryFrontmatter(content);
203
+ if (entry) {
204
+ entry.name = name;
205
+ return entry;
206
+ }
207
+ }
208
+ catch {
209
+ // File unreadable
187
210
  }
188
- }
189
- catch {
190
- // File unreadable
191
211
  }
192
212
  return null;
193
213
  }
@@ -214,11 +234,15 @@ function saveMemory(entry, projectPath) {
214
234
  * Hard-deletes the file so `memory_recall` no longer returns it.
215
235
  */
216
236
  function deleteMemory(name, projectPath) {
217
- const dir = getMemoryDir(projectPath);
218
- const filePath = (0, path_1.join)(dir, `${name}.md`);
219
- if ((0, fs_1.existsSync)(filePath)) {
237
+ const dirs = projectPath
238
+ ? [getMemoryDir(projectPath), getLegacyMemoryDir(projectPath)]
239
+ : [getMemoryDir(projectPath)];
240
+ const canonicalPath = (0, path_1.join)(dirs[0], `${name}.md`);
241
+ const legacyPath = dirs[1] ? (0, path_1.join)(dirs[1], `${name}.md`) : undefined;
242
+ const deletePath = (0, fs_1.existsSync)(canonicalPath) ? canonicalPath : legacyPath;
243
+ if (deletePath && (0, fs_1.existsSync)(deletePath)) {
220
244
  try {
221
- (0, fs_1.unlinkSync)(filePath);
245
+ (0, fs_1.unlinkSync)(deletePath);
222
246
  }
223
247
  catch {
224
248
  // ignore — index regeneration below will reflect whatever is on disk
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/memory/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/memory/storage.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,14 @@ export interface VectorStoreConfig {
18
18
  dbPath?: string;
19
19
  embeddingConfig?: EmbeddingConfig;
20
20
  }
21
+ export interface VectorProjectStats {
22
+ project: string;
23
+ rows: number;
24
+ }
25
+ export interface VectorCleanupResult {
26
+ orphanProjects: string[];
27
+ deletedRows: number;
28
+ }
21
29
  export declare class VectorStore {
22
30
  private db;
23
31
  private embeddingService;
@@ -30,7 +38,7 @@ export declare class VectorStore {
30
38
  /** Insert or update memory with embedding - Issue #32 #3.3: 使用事务 */
31
39
  upsert(entry: MemoryEntry, projectPath?: string): Promise<void>;
32
40
  /** Delete memory */
33
- delete(name: string): void;
41
+ delete(name: string, projectPath?: string): void;
34
42
  /** Search by similarity */
35
43
  search(query: string, limit?: number, projectPath?: string): Promise<SearchResult[]>;
36
44
  /** Semantic search using vectors */
@@ -39,8 +47,20 @@ export declare class VectorStore {
39
47
  private textSearch;
40
48
  /** Get all memories for a project */
41
49
  getAll(projectPath?: string): SearchResult[];
42
- /** Hash project path - Issue #32 #3.4: 使用 SHA256 避免路径冲突 */
43
- private hashProject;
50
+ /** Count rows by project key for storage maintenance diagnostics. */
51
+ getProjectStats(): VectorProjectStats[];
52
+ /** Delete all rows for projects that are not in validProjectKeys. */
53
+ cleanupOrphanProjects(validProjectKeys: string[]): VectorCleanupResult;
54
+ private deleteProjectRows;
55
+ private deleteMemoryIds;
56
+ private deleteVectorsForMemoryIds;
57
+ /** Canonical project key used by v0.2.8+ storage. */
58
+ private projectKey;
59
+ /** Legacy hash project key used by older memory/vector storage. */
60
+ private legacyProjectKey;
61
+ private projectKeys;
62
+ private memoryId;
63
+ private hasTable;
44
64
  /** Close database */
45
65
  close(): void;
46
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vector-store.d.ts","sourceRoot":"","sources":["../../src/memory/vector-store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAMvD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAMD,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,gBAAgB,CAAyC;IACjE,OAAO,CAAC,WAAW,CAAkB;gBAEzB,MAAM,CAAC,EAAE,iBAAiB;IAqBtC,iCAAiC;IACjC,OAAO,CAAC,UAAU;IAiDlB,0CAA0C;IAC1C,uBAAuB,IAAI,OAAO;IAIlC,oEAAoE;IAC9D,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+ErE,oBAAoB;IACpB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAW1B,2BAA2B;IACrB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAY9F,oCAAoC;YACtB,cAAc;IAgD5B,2BAA2B;IAC3B,OAAO,CAAC,UAAU;IAkClB,qCAAqC;IACrC,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE;IAsB5C,2DAA2D;IAC3D,OAAO,CAAC,WAAW;IAKnB,qBAAqB;IACrB,KAAK,IAAI,IAAI;CAGd;AAQD,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,WAAW,CAKtE;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC"}
1
+ {"version":3,"file":"vector-store.d.ts","sourceRoot":"","sources":["../../src/memory/vector-store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAOvD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAMD,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,gBAAgB,CAAyC;IACjE,OAAO,CAAC,WAAW,CAAkB;gBAEzB,MAAM,CAAC,EAAE,iBAAiB;IAoBtC,iCAAiC;IACjC,OAAO,CAAC,UAAU;IAiDlB,0CAA0C;IAC1C,uBAAuB,IAAI,OAAO;IAIlC,oEAAoE;IAC9D,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkFrE,oBAAoB;IACpB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAmBhD,2BAA2B;IACrB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAY9F,oCAAoC;YACtB,cAAc;IAiD5B,2BAA2B;IAC3B,OAAO,CAAC,UAAU;IAmClB,qCAAqC;IACrC,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE;IAuB5C,qEAAqE;IACrE,eAAe,IAAI,kBAAkB,EAAE;IAWvC,qEAAqE;IACrE,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,EAAE,GAAG,mBAAmB;IActE,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,yBAAyB;IAQjC,qDAAqD;IACrD,OAAO,CAAC,UAAU;IAIlB,mEAAmE;IACnE,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,QAAQ;IAKhB,qBAAqB;IACrB,KAAK,IAAI,IAAI;CAGd;AAQD,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,WAAW,CAKtE;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC"}
@@ -16,6 +16,7 @@ const path_1 = require("path");
16
16
  const fs_1 = require("fs");
17
17
  const crypto_1 = require("crypto"); // Issue #32 #3.4: 用于 hashProject
18
18
  const embeddings_1 = require("./embeddings");
19
+ const config_dir_1 = require("../services/config-dir");
19
20
  // ============================================================================
20
21
  // Vector Store
21
22
  // ============================================================================
@@ -23,8 +24,7 @@ class VectorStore {
23
24
  constructor(config) {
24
25
  this.initialized = false;
25
26
  // Determine database path
26
- const configHome = process.env.OPENHORSE_CONFIG_HOME || (0, path_1.join)(process.env.HOME || '', '.openhorse');
27
- const dbPath = config?.dbPath || (0, path_1.join)(configHome, 'vector.db');
27
+ const dbPath = config?.dbPath || (0, path_1.join)((0, config_dir_1.getConfigHome)(), 'vector.db');
28
28
  // Ensure directory exists
29
29
  const dbDir = (0, path_1.join)(dbPath, '..');
30
30
  if (!(0, fs_1.existsSync)(dbDir)) {
@@ -89,7 +89,8 @@ class VectorStore {
89
89
  }
90
90
  /** Insert or update memory with embedding - Issue #32 #3.3: 使用事务 */
91
91
  async upsert(entry, projectPath) {
92
- const projectHash = projectPath ? this.hashProject(projectPath) : 'global';
92
+ const projectKey = projectPath ? this.projectKey(projectPath) : 'global';
93
+ const memoryId = this.memoryId(projectKey, entry.name);
93
94
  // Issue #32 #3.3: 使用事务确保 embed 失败时不写 memories 表
94
95
  const upsertTransaction = this.db.transaction((data) => {
95
96
  // Insert/update memory record
@@ -97,7 +98,7 @@ class VectorStore {
97
98
  INSERT OR REPLACE INTO memories (id, name, type, content, description, project, created_at, updated_at)
98
99
  VALUES (?, ?, ?, ?, ?, ?, ?, ?)
99
100
  `);
100
- stmt.run(data.name, data.name, data.type, data.content, data.description, data.projectHash, data.createdAt, data.updatedAt);
101
+ stmt.run(data.id, data.name, data.type, data.content, data.description, data.projectKey, data.createdAt, data.updatedAt);
101
102
  });
102
103
  // Generate embedding first (before transaction)
103
104
  if (this.initialized) {
@@ -105,22 +106,22 @@ class VectorStore {
105
106
  const vector = await this.embeddingService.embed(entry.content);
106
107
  // Now execute transaction with the data
107
108
  upsertTransaction({
109
+ id: memoryId,
108
110
  name: entry.name,
109
111
  type: entry.type,
110
112
  content: entry.content,
111
113
  description: entry.description || entry.content.slice(0, 100),
112
- projectHash,
114
+ projectKey,
113
115
  createdAt: entry.createdAt,
114
116
  updatedAt: entry.updatedAt,
115
117
  });
116
118
  // Delete old vector if exists
117
- this.db.prepare('DELETE FROM memory_vectors WHERE memory_id = ?').run(entry.name);
118
- this.db.prepare('DELETE FROM vec_memories WHERE rowid IN (SELECT vector_rowid FROM memory_vectors WHERE memory_id = ?)').run(entry.name);
119
+ this.deleteVectorsForMemoryIds([memoryId]);
119
120
  // Insert new vector
120
121
  const vectorStmt = this.db.prepare(`INSERT INTO vec_memories (embedding) VALUES (?)`);
121
122
  const result = vectorStmt.run(JSON.stringify(vector));
122
123
  // Link vector to memory
123
- this.db.prepare('INSERT INTO memory_vectors (memory_id, vector_rowid) VALUES (?, ?)').run(entry.name, result.lastInsertRowid);
124
+ this.db.prepare('INSERT INTO memory_vectors (memory_id, vector_rowid) VALUES (?, ?)').run(memoryId, result.lastInsertRowid);
124
125
  }
125
126
  catch (err) {
126
127
  console.warn(`[VectorStore] Failed to store embedding: ${err.message}`);
@@ -131,49 +132,58 @@ class VectorStore {
131
132
  else {
132
133
  // No vector search - just write memory
133
134
  upsertTransaction({
135
+ id: memoryId,
134
136
  name: entry.name,
135
137
  type: entry.type,
136
138
  content: entry.content,
137
139
  description: entry.description || entry.content.slice(0, 100),
138
- projectHash,
140
+ projectKey,
139
141
  createdAt: entry.createdAt,
140
142
  updatedAt: entry.updatedAt,
141
143
  });
142
144
  }
143
145
  }
144
146
  /** Delete memory */
145
- delete(name) {
146
- // Delete vector link
147
- if (this.initialized) {
148
- this.db.prepare('DELETE FROM vec_memories WHERE rowid IN (SELECT vector_rowid FROM memory_vectors WHERE memory_id = ?)').run(name);
149
- this.db.prepare('DELETE FROM memory_vectors WHERE memory_id = ?').run(name);
147
+ delete(name, projectPath) {
148
+ if (!projectPath) {
149
+ this.deleteMemoryIds([name]);
150
+ return;
150
151
  }
151
- // Delete memory record
152
- this.db.prepare('DELETE FROM memories WHERE id = ?').run(name);
152
+ const projectKeys = this.projectKeys(projectPath);
153
+ const scopedIds = projectKeys.map(projectKey => this.memoryId(projectKey, name));
154
+ const idPlaceholders = scopedIds.map(() => '?').join(', ');
155
+ const projectPlaceholders = projectKeys.map(() => '?').join(', ');
156
+ const rows = this.db.prepare(`
157
+ SELECT id FROM memories
158
+ WHERE id IN (${idPlaceholders})
159
+ OR (id = ? AND project IN (${projectPlaceholders}))
160
+ `).all(...scopedIds, name, ...projectKeys);
161
+ this.deleteMemoryIds(rows.map(row => row.id));
153
162
  }
154
163
  /** Search by similarity */
155
164
  async search(query, limit = 10, projectPath) {
156
- const projectHash = projectPath ? this.hashProject(projectPath) : undefined;
165
+ const projectKeys = projectPath ? this.projectKeys(projectPath) : undefined;
157
166
  // If vector search available, use semantic search
158
167
  if (this.initialized) {
159
- return this.semanticSearch(query, limit, projectHash);
168
+ return this.semanticSearch(query, limit, projectKeys);
160
169
  }
161
170
  // Otherwise fall back to text search
162
- return this.textSearch(query, limit, projectHash);
171
+ return this.textSearch(query, limit, projectKeys);
163
172
  }
164
173
  /** Semantic search using vectors */
165
- async semanticSearch(query, limit, projectHash) {
174
+ async semanticSearch(query, limit, projectKeys) {
166
175
  try {
167
176
  const queryVector = await this.embeddingService.embed(query);
177
+ const projectPlaceholders = projectKeys?.map(() => '?').join(', ');
168
178
  // Use sqlite-vec for similarity search
169
- const sql = projectHash
179
+ const sql = projectKeys
170
180
  ? `
171
181
  SELECT m.id, m.name, m.type, m.content, m.description, m.created_at,
172
182
  vec_distance_cosine(v.embedding, ?) as distance
173
183
  FROM memories m
174
184
  JOIN memory_vectors mv ON m.id = mv.memory_id
175
185
  JOIN vec_memories v ON mv.vector_rowid = v.rowid
176
- WHERE m.project = ?
186
+ WHERE m.project IN (${projectPlaceholders})
177
187
  ORDER BY distance ASC
178
188
  LIMIT ?
179
189
  `
@@ -187,8 +197,8 @@ class VectorStore {
187
197
  LIMIT ?
188
198
  `;
189
199
  const stmt = this.db.prepare(sql);
190
- const params = projectHash
191
- ? [JSON.stringify(queryVector), projectHash, limit]
200
+ const params = projectKeys
201
+ ? [JSON.stringify(queryVector), ...projectKeys, limit]
192
202
  : [JSON.stringify(queryVector), limit];
193
203
  const rows = stmt.all(...params);
194
204
  return rows.map(row => ({
@@ -203,16 +213,17 @@ class VectorStore {
203
213
  }
204
214
  catch (err) {
205
215
  console.warn(`[VectorStore] Semantic search failed: ${err.message}`);
206
- return this.textSearch(query, limit, projectHash);
216
+ return this.textSearch(query, limit, projectKeys);
207
217
  }
208
218
  }
209
219
  /** Text search fallback */
210
- textSearch(query, limit, projectHash) {
211
- const sql = projectHash
220
+ textSearch(query, limit, projectKeys) {
221
+ const projectPlaceholders = projectKeys?.map(() => '?').join(', ');
222
+ const sql = projectKeys
212
223
  ? `
213
224
  SELECT id, name, type, content, description, created_at
214
225
  FROM memories
215
- WHERE project = ? AND (content LIKE ? OR name LIKE ? OR description LIKE ?)
226
+ WHERE project IN (${projectPlaceholders}) AND (content LIKE ? OR name LIKE ? OR description LIKE ?)
216
227
  LIMIT ?
217
228
  `
218
229
  : `
@@ -223,8 +234,8 @@ class VectorStore {
223
234
  `;
224
235
  const searchTerm = `%${query}%`;
225
236
  const stmt = this.db.prepare(sql);
226
- const params = projectHash
227
- ? [projectHash, searchTerm, searchTerm, searchTerm, limit]
237
+ const params = projectKeys
238
+ ? [...projectKeys, searchTerm, searchTerm, searchTerm, limit]
228
239
  : [searchTerm, searchTerm, searchTerm, limit];
229
240
  const rows = stmt.all(...params);
230
241
  return rows.map(row => ({
@@ -239,12 +250,13 @@ class VectorStore {
239
250
  }
240
251
  /** Get all memories for a project */
241
252
  getAll(projectPath) {
242
- const projectHash = projectPath ? this.hashProject(projectPath) : undefined;
243
- const sql = projectHash
244
- ? 'SELECT id, name, type, content, description, created_at FROM memories WHERE project = ?'
253
+ const projectKeys = projectPath ? this.projectKeys(projectPath) : undefined;
254
+ const projectPlaceholders = projectKeys?.map(() => '?').join(', ');
255
+ const sql = projectKeys
256
+ ? `SELECT id, name, type, content, description, created_at FROM memories WHERE project IN (${projectPlaceholders})`
245
257
  : 'SELECT id, name, type, content, description, created_at FROM memories';
246
258
  const stmt = this.db.prepare(sql);
247
- const params = projectHash ? [projectHash] : [];
259
+ const params = projectKeys ?? [];
248
260
  const rows = stmt.all(...params);
249
261
  return rows.map(row => ({
250
262
  id: row.id,
@@ -256,11 +268,69 @@ class VectorStore {
256
268
  createdAt: row.created_at,
257
269
  }));
258
270
  }
259
- /** Hash project path - Issue #32 #3.4: 使用 SHA256 避免路径冲突 */
260
- hashProject(projectPath) {
261
- // 使用 SHA256 生成唯一哈希,避免路径冲突
271
+ /** Count rows by project key for storage maintenance diagnostics. */
272
+ getProjectStats() {
273
+ const rows = this.db.prepare(`
274
+ SELECT COALESCE(project, 'global') as project, COUNT(*) as rows
275
+ FROM memories
276
+ GROUP BY COALESCE(project, 'global')
277
+ ORDER BY rows DESC, project ASC
278
+ `).all();
279
+ return rows.map(row => ({ project: row.project, rows: row.rows }));
280
+ }
281
+ /** Delete all rows for projects that are not in validProjectKeys. */
282
+ cleanupOrphanProjects(validProjectKeys) {
283
+ const valid = new Set([...validProjectKeys, 'global']);
284
+ const orphanProjects = this.getProjectStats()
285
+ .map(stat => stat.project)
286
+ .filter(project => !valid.has(project));
287
+ let deletedRows = 0;
288
+ for (const project of orphanProjects) {
289
+ deletedRows += this.deleteProjectRows(project);
290
+ }
291
+ return { orphanProjects, deletedRows };
292
+ }
293
+ deleteProjectRows(project) {
294
+ const ids = this.db.prepare('SELECT id FROM memories WHERE project = ?').all(project)
295
+ .map(row => row.id);
296
+ if (ids.length === 0)
297
+ return 0;
298
+ this.deleteMemoryIds(ids);
299
+ return ids.length;
300
+ }
301
+ deleteMemoryIds(ids) {
302
+ const uniqueIds = [...new Set(ids)];
303
+ if (uniqueIds.length === 0)
304
+ return;
305
+ this.deleteVectorsForMemoryIds(uniqueIds);
306
+ const placeholders = uniqueIds.map(() => '?').join(', ');
307
+ this.db.prepare(`DELETE FROM memories WHERE id IN (${placeholders})`).run(...uniqueIds);
308
+ }
309
+ deleteVectorsForMemoryIds(ids) {
310
+ if (!this.hasTable('memory_vectors') || !this.hasTable('vec_memories') || ids.length === 0)
311
+ return;
312
+ const placeholders = ids.map(() => '?').join(', ');
313
+ this.db.prepare(`DELETE FROM vec_memories WHERE rowid IN (SELECT vector_rowid FROM memory_vectors WHERE memory_id IN (${placeholders}))`).run(...ids);
314
+ this.db.prepare(`DELETE FROM memory_vectors WHERE memory_id IN (${placeholders})`).run(...ids);
315
+ }
316
+ /** Canonical project key used by v0.2.8+ storage. */
317
+ projectKey(projectPath) {
318
+ return (0, config_dir_1.getCanonicalProjectKey)(projectPath);
319
+ }
320
+ /** Legacy hash project key used by older memory/vector storage. */
321
+ legacyProjectKey(projectPath) {
262
322
  return (0, crypto_1.createHash)('sha256').update(projectPath).digest('hex').slice(0, 16);
263
323
  }
324
+ projectKeys(projectPath) {
325
+ return [...new Set([this.projectKey(projectPath), this.legacyProjectKey(projectPath)])];
326
+ }
327
+ memoryId(projectKey, name) {
328
+ return projectKey === 'global' ? name : `${projectKey}:${name}`;
329
+ }
330
+ hasTable(name) {
331
+ const row = this.db.prepare("SELECT name FROM sqlite_master WHERE name = ?").get(name);
332
+ return !!row;
333
+ }
264
334
  /** Close database */
265
335
  close() {
266
336
  this.db.close();
@@ -1 +1 @@
1
- {"version":3,"file":"vector-store.js","sourceRoot":"","sources":["../../src/memory/vector-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vector-store.js","sourceRoot":"","sources":["../../src/memory/vector-store.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,50 @@
1
- import type { OpenHorseInkRuntime } from '../runtime/ui-events';
1
+ import type { EditPreviewRequest, OpenHorseUiRuntime, RuntimeToolFinishedEvent, RuntimeToolStartedEvent, SessionPickerRequest, ToolPermissionRequest, TranscriptAppendEntry, TranscriptEntry, UiEventSink } from '../runtime/ui-events';
2
2
  export type PrintOutputFormat = 'text' | 'json';
3
3
  export interface PrintModeOptions {
4
4
  outputFormat?: PrintOutputFormat;
5
5
  }
6
+ export interface PrintModeResult {
7
+ content: string;
8
+ entries: TranscriptEntry[];
9
+ toolEvents: PrintRuntimeToolEvent[];
10
+ statuses: string[];
11
+ errors: string[];
12
+ sessionId: string | null;
13
+ model: string;
14
+ }
15
+ export type PrintRuntimeToolEvent = ({
16
+ type: 'started';
17
+ } & RuntimeToolStartedEvent) | ({
18
+ type: 'finished';
19
+ } & RuntimeToolFinishedEvent);
20
+ export declare class PrintEventSink implements UiEventSink {
21
+ private readonly runtime;
22
+ private readonly outputFormat;
23
+ private readonly entries;
24
+ private readonly printedContent;
25
+ private readonly toolEvents;
26
+ private readonly statuses;
27
+ private readonly errors;
28
+ private idCounter;
29
+ constructor(runtime: OpenHorseUiRuntime, outputFormat: PrintOutputFormat);
30
+ append(entry: TranscriptAppendEntry): string;
31
+ update(id: string, patch: Partial<Omit<TranscriptEntry, 'id'>>): void;
32
+ finalize(id: string, patch?: Partial<Omit<TranscriptEntry, 'id'>>): void;
33
+ remove(id: string): void;
34
+ replaceTranscript(entries: TranscriptEntry[]): void;
35
+ clearTranscript(): void;
36
+ setStatus(message: string): void;
37
+ showSessionPicker(request: SessionPickerRequest): void;
38
+ showEditPreview(_request: EditPreviewRequest): void;
39
+ showPermissionRequest(request: ToolPermissionRequest): void;
40
+ toolStarted(event: RuntimeToolStartedEvent): void;
41
+ toolFinished(event: RuntimeToolFinishedEvent): void;
42
+ setProcessing(_processing: boolean): void;
43
+ result(): PrintModeResult;
44
+ hasErrors(): boolean;
45
+ private printEntry;
46
+ private printAssistantDelta;
47
+ }
6
48
  export declare function readPromptFromStdinIfAvailable(stdin?: NodeJS.ReadStream): Promise<string>;
7
- export declare function launchPrintMode(runtime: OpenHorseInkRuntime, input: string, options?: PrintModeOptions): Promise<number>;
49
+ export declare function launchPrintMode(runtime: OpenHorseUiRuntime, input: string, options?: PrintModeOptions): Promise<number>;
8
50
  //# sourceMappingURL=launch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../src/print-ui/launch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAsB,mBAAmB,EAA6E,MAAM,sBAAsB,CAAC;AAE/J,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAClC;AAuLD,wBAAsB,8BAA8B,CAAC,KAAK,GAAE,MAAM,CAAC,UAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CAS9G;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,MAAM,CAAC,CA4CjB"}
1
+ {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../src/print-ui/launch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,UAAU,EAAE,qBAAqB,EAAE,CAAC;IACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,qBAAqB,GAC7B,CAAC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GAAG,uBAAuB,CAAC,GAC/C,CAAC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG,wBAAwB,CAAC,CAAC;AAWtD,qBAAa,cAAe,YAAW,WAAW;IAS9C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAT/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsC;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,SAAS,CAAK;gBAGH,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAE,iBAAiB;IAGlD,MAAM,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM;IAa5C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI;IAQrE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI;IAQxE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKxB,iBAAiB,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI;IAQnD,eAAe,IAAI,IAAI;IAKvB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQhC,iBAAiB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAQtD,eAAe,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAQnD,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAQ3D,WAAW,CAAC,KAAK,EAAE,uBAAuB,GAAG,IAAI;IAIjD,YAAY,CAAC,KAAK,EAAE,wBAAwB,GAAG,IAAI;IAInD,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI;IAIzC,MAAM,IAAI,eAAe;IAoBzB,SAAS,IAAI,OAAO;IAIpB,OAAO,CAAC,UAAU;IA0BlB,OAAO,CAAC,mBAAmB;CAiB5B;AAED,wBAAsB,8BAA8B,CAAC,KAAK,GAAE,MAAM,CAAC,UAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CAS9G;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,MAAM,CAAC,CA6CjB"}