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
@@ -24,7 +24,7 @@ class SessionManager {
24
24
  };
25
25
  (0, config_dir_1.ensureConfigDir)();
26
26
  this.sessionId = this.generateSessionId();
27
- this.sessionPath = (0, path_1.join)((0, config_dir_1.getConfigDir)(), 'sessions');
27
+ this.sessionPath = (0, path_1.join)((0, config_dir_1.getCacheDir)(), 'active-sessions');
28
28
  this.ensureSessionDir();
29
29
  }
30
30
  /**
@@ -39,9 +39,8 @@ class SessionManager {
39
39
  * 确保会话目录存在
40
40
  */
41
41
  ensureSessionDir() {
42
- const sessionsDir = (0, path_1.join)((0, config_dir_1.getConfigDir)(), 'sessions');
43
- if (!(0, fs_1.existsSync)(sessionsDir)) {
44
- (0, fs_1.writeFileSync)(sessionsDir, ''); // 创建目录标记
42
+ if (!(0, fs_1.existsSync)(this.sessionPath)) {
43
+ (0, fs_1.mkdirSync)(this.sessionPath, { recursive: true, mode: 0o700 });
45
44
  }
46
45
  }
47
46
  /**
@@ -118,7 +117,7 @@ class SessionManager {
118
117
  */
119
118
  getActiveSessions() {
120
119
  const sessions = [];
121
- const sessionsDir = (0, path_1.join)((0, config_dir_1.getConfigDir)(), 'sessions');
120
+ const sessionsDir = this.sessionPath;
122
121
  if (!(0, fs_1.existsSync)(sessionsDir)) {
123
122
  return sessions;
124
123
  }
@@ -182,7 +181,7 @@ class SessionManager {
182
181
  * 获取会话文件路径
183
182
  */
184
183
  getSessionFilePath(sessionId) {
185
- return (0, path_1.join)((0, config_dir_1.getConfigDir)(), 'sessions', `${sessionId}.json`);
184
+ return (0, path_1.join)(this.sessionPath, `${sessionId}.json`);
186
185
  }
187
186
  /**
188
187
  * 启动心跳
@@ -206,7 +205,7 @@ class SessionManager {
206
205
  */
207
206
  cleanup() {
208
207
  let cleaned = 0;
209
- const sessionsDir = (0, path_1.join)((0, config_dir_1.getConfigDir)(), 'sessions');
208
+ const sessionsDir = this.sessionPath;
210
209
  if (!(0, fs_1.existsSync)(sessionsDir)) {
211
210
  return cleaned;
212
211
  }
@@ -1 +1 @@
1
- {"version":3,"file":"concurrent-sessions.js","sourceRoot":"","sources":["../../src/services/concurrent-sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"concurrent-sessions.js","sourceRoot":"","sources":["../../src/services/concurrent-sessions.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,15 @@ export declare function getConfigDir(): string;
16
16
  * 创建时使用 0o700 权限(仅用户可读写执行)
17
17
  */
18
18
  export declare function ensureConfigDir(): void;
19
+ export declare const PROJECT_METADATA_SCHEMA_VERSION = 1;
20
+ /** Project-scoped storage metadata persisted in projects/<project-key>/project.json. */
21
+ export interface ProjectMetadata {
22
+ schemaVersion: number;
23
+ projectKey: string;
24
+ projectPath: string;
25
+ createdAt: string;
26
+ lastSeenAt: string;
27
+ }
19
28
  /** 全局配置文件路径 */
20
29
  export declare function getGlobalConfigPath(): string;
21
30
  /** 运行时设置文件路径 */
@@ -24,28 +33,42 @@ export declare function getSettingsPath(): string;
24
33
  export declare function getUserMemoryPath(): string;
25
34
  /** 命令历史文件路径 (JSONL) */
26
35
  export declare function getHistoryPath(): string;
27
- /** 会话目录路径 */
28
- export declare function getSessionsDir(): string;
29
- /** 单个会话元数据文件路径 */
30
- export declare function getSessionMetaPath(sessionId: string): string;
31
- /** 单个会话对话记录文件路径 (JSONL) */
32
- export declare function getSessionMessagesPath(sessionId: string): string;
33
36
  /** 项目配置目录路径 */
34
37
  export declare function getProjectsDir(): string;
35
38
  /** Encode an absolute project path into a stable, readable directory key. */
36
39
  export declare function encodeProjectPath(projectPath: string): string;
40
+ /** Resolve a project path for storage identity without depending on session-storage. */
41
+ export declare function resolveProjectStoragePath(projectPath: string): string;
42
+ /** Canonical project key used for all project-scoped storage. */
43
+ export declare function getCanonicalProjectKey(projectPath: string): string;
37
44
  /** 项目状态目录路径 */
38
45
  export declare function getProjectDir(projectPath: string): string;
46
+ /** Project metadata file path. */
47
+ export declare function getProjectMetadataPath(projectPath: string): string;
39
48
  /** 项目会话目录路径 */
40
49
  export declare function getProjectSessionsDir(projectPath: string): string;
41
50
  /** 确保项目状态目录存在 */
42
51
  export declare function ensureProjectDir(projectPath: string): void;
52
+ /** Read project metadata, returning null for missing or invalid files. */
53
+ export declare function readProjectMetadata(projectPath: string): ProjectMetadata | null;
54
+ /** Create or refresh project metadata without changing the project identity. */
55
+ export declare function updateProjectMetadata(projectPath: string, now?: Date): ProjectMetadata;
43
56
  /** 项目内单个会话元数据文件路径 */
44
57
  export declare function getProjectSessionMetaPath(projectPath: string, sessionId: string): string;
45
58
  /** 项目内单个会话对话记录文件路径 */
46
59
  export declare function getProjectSessionMessagesPath(projectPath: string, sessionId: string): string;
47
60
  /** 项目内单个会话 Harness sidecar 路径 */
48
61
  export declare function getProjectSessionHarnessPath(projectPath: string, sessionId: string): string;
62
+ /** 项目 Memory 目录路径 */
63
+ export declare function getProjectMemoryDir(projectPath: string): string;
64
+ /** Legacy hash-based project Memory 目录路径(只读兼容) */
65
+ export declare function getLegacyProjectMemoryDir(projectPath: string): string;
66
+ /** 项目工具 Artifact 目录路径 */
67
+ export declare function getProjectArtifactsDir(projectPath: string): string;
68
+ /** 项目 Checkpoint 目录路径 */
69
+ export declare function getProjectCheckpointsDir(projectPath: string): string;
70
+ /** 项目索引目录路径 */
71
+ export declare function getProjectIndexesDir(projectPath: string): string;
49
72
  /** 成本记录目录路径 */
50
73
  export declare function getCostDir(): string;
51
74
  /** 每日成本记录文件路径 */
@@ -1 +1 @@
1
- {"version":3,"file":"config-dir.d.ts","sourceRoot":"","sources":["../../src/services/config-dir.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,8BAA8B;AAC9B,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,IAAI,CActC;AAMD,eAAe;AACf,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,gBAAgB;AAChB,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,sBAAsB;AACtB,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,uBAAuB;AACvB,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,aAAa;AACb,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,kBAAkB;AAClB,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,2BAA2B;AAC3B,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,eAAe;AACf,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAM7D;AAED,eAAe;AACf,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,eAAe;AACf,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,iBAAiB;AACjB,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAY1D;AAED,qBAAqB;AACrB,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAExF;AAED,sBAAsB;AACtB,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE5F;AAED,iCAAiC;AACjC,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE3F;AAED,eAAe;AACf,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,iBAAiB;AACjB,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CAIpD;AAED,aAAa;AACb,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAMD,gBAAgB;AAChB,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEtD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAWpE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAK7D"}
1
+ {"version":3,"file":"config-dir.d.ts","sourceRoot":"","sources":["../../src/services/config-dir.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  * 支持 OPENHORSE_CONFIG_DIR 环境变量覆盖。
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.PROJECT_METADATA_SCHEMA_VERSION = void 0;
9
10
  exports.getConfigHome = getConfigHome;
10
11
  exports.getConfigDir = getConfigDir;
11
12
  exports.ensureConfigDir = ensureConfigDir;
@@ -13,17 +14,24 @@ exports.getGlobalConfigPath = getGlobalConfigPath;
13
14
  exports.getSettingsPath = getSettingsPath;
14
15
  exports.getUserMemoryPath = getUserMemoryPath;
15
16
  exports.getHistoryPath = getHistoryPath;
16
- exports.getSessionsDir = getSessionsDir;
17
- exports.getSessionMetaPath = getSessionMetaPath;
18
- exports.getSessionMessagesPath = getSessionMessagesPath;
19
17
  exports.getProjectsDir = getProjectsDir;
20
18
  exports.encodeProjectPath = encodeProjectPath;
19
+ exports.resolveProjectStoragePath = resolveProjectStoragePath;
20
+ exports.getCanonicalProjectKey = getCanonicalProjectKey;
21
21
  exports.getProjectDir = getProjectDir;
22
+ exports.getProjectMetadataPath = getProjectMetadataPath;
22
23
  exports.getProjectSessionsDir = getProjectSessionsDir;
23
24
  exports.ensureProjectDir = ensureProjectDir;
25
+ exports.readProjectMetadata = readProjectMetadata;
26
+ exports.updateProjectMetadata = updateProjectMetadata;
24
27
  exports.getProjectSessionMetaPath = getProjectSessionMetaPath;
25
28
  exports.getProjectSessionMessagesPath = getProjectSessionMessagesPath;
26
29
  exports.getProjectSessionHarnessPath = getProjectSessionHarnessPath;
30
+ exports.getProjectMemoryDir = getProjectMemoryDir;
31
+ exports.getLegacyProjectMemoryDir = getLegacyProjectMemoryDir;
32
+ exports.getProjectArtifactsDir = getProjectArtifactsDir;
33
+ exports.getProjectCheckpointsDir = getProjectCheckpointsDir;
34
+ exports.getProjectIndexesDir = getProjectIndexesDir;
27
35
  exports.getCostDir = getCostDir;
28
36
  exports.getDailyCostPath = getDailyCostPath;
29
37
  exports.getCacheDir = getCacheDir;
@@ -32,6 +40,9 @@ exports.getExistingMemoryPaths = getExistingMemoryPaths;
32
40
  const os_1 = require("os");
33
41
  const path_1 = require("path");
34
42
  const fs_1 = require("fs");
43
+ const child_process_1 = require("child_process");
44
+ const crypto_1 = require("crypto");
45
+ const atomic_write_1 = require("./atomic-write");
35
46
  // ============================================================================
36
47
  // 配置目录根路径
37
48
  // ============================================================================
@@ -56,7 +67,7 @@ function ensureConfigDir() {
56
67
  (0, fs_1.mkdirSync)(dir, { recursive: true, mode: 0o700 });
57
68
  }
58
69
  // 确保子目录存在
59
- const subdirs = ['sessions', 'projects', 'cost', 'cache'];
70
+ const subdirs = ['projects', 'cost', 'cache'];
60
71
  for (const subdir of subdirs) {
61
72
  const path = (0, path_1.join)(dir, subdir);
62
73
  if (!(0, fs_1.existsSync)(path)) {
@@ -67,6 +78,7 @@ function ensureConfigDir() {
67
78
  // ============================================================================
68
79
  // 各文件/目录路径
69
80
  // ============================================================================
81
+ exports.PROJECT_METADATA_SCHEMA_VERSION = 1;
70
82
  /** 全局配置文件路径 */
71
83
  function getGlobalConfigPath() {
72
84
  return (0, path_1.join)(getConfigHome(), 'openhorse.json');
@@ -83,18 +95,6 @@ function getUserMemoryPath() {
83
95
  function getHistoryPath() {
84
96
  return (0, path_1.join)(getConfigHome(), 'history.jsonl');
85
97
  }
86
- /** 会话目录路径 */
87
- function getSessionsDir() {
88
- return (0, path_1.join)(getConfigHome(), 'sessions');
89
- }
90
- /** 单个会话元数据文件路径 */
91
- function getSessionMetaPath(sessionId) {
92
- return (0, path_1.join)(getSessionsDir(), `${sessionId}.json`);
93
- }
94
- /** 单个会话对话记录文件路径 (JSONL) */
95
- function getSessionMessagesPath(sessionId) {
96
- return (0, path_1.join)(getSessionsDir(), `${sessionId}.jsonl`);
97
- }
98
98
  /** 项目配置目录路径 */
99
99
  function getProjectsDir() {
100
100
  return (0, path_1.join)(getConfigHome(), 'projects');
@@ -107,9 +107,41 @@ function encodeProjectPath(projectPath) {
107
107
  .replace(/^-+|-+$/g, '');
108
108
  return encoded || 'root';
109
109
  }
110
+ /** Resolve a project path for storage identity without depending on session-storage. */
111
+ function resolveProjectStoragePath(projectPath) {
112
+ const absolute = (0, path_1.resolve)(projectPath);
113
+ if ((0, fs_1.existsSync)(absolute)) {
114
+ try {
115
+ const root = (0, child_process_1.execFileSync)('git', ['-C', absolute, 'rev-parse', '--show-toplevel'], {
116
+ encoding: 'utf-8',
117
+ stdio: ['ignore', 'pipe', 'ignore'],
118
+ }).trim();
119
+ if (root)
120
+ return (0, fs_1.realpathSync)(root);
121
+ }
122
+ catch {
123
+ // Not a git worktree, or git is unavailable.
124
+ }
125
+ try {
126
+ return (0, fs_1.realpathSync)(absolute);
127
+ }
128
+ catch {
129
+ // Fall through to absolute path.
130
+ }
131
+ }
132
+ return absolute;
133
+ }
134
+ /** Canonical project key used for all project-scoped storage. */
135
+ function getCanonicalProjectKey(projectPath) {
136
+ return encodeProjectPath(resolveProjectStoragePath(projectPath));
137
+ }
110
138
  /** 项目状态目录路径 */
111
139
  function getProjectDir(projectPath) {
112
- return (0, path_1.join)(getProjectsDir(), encodeProjectPath(projectPath));
140
+ return (0, path_1.join)(getProjectsDir(), getCanonicalProjectKey(projectPath));
141
+ }
142
+ /** Project metadata file path. */
143
+ function getProjectMetadataPath(projectPath) {
144
+ return (0, path_1.join)(getProjectDir(projectPath), 'project.json');
113
145
  }
114
146
  /** 项目会话目录路径 */
115
147
  function getProjectSessionsDir(projectPath) {
@@ -126,6 +158,54 @@ function ensureProjectDir(projectPath) {
126
158
  if (!(0, fs_1.existsSync)(sessionsDir)) {
127
159
  (0, fs_1.mkdirSync)(sessionsDir, { recursive: true, mode: 0o700 });
128
160
  }
161
+ updateProjectMetadata(projectPath);
162
+ }
163
+ /** Read project metadata, returning null for missing or invalid files. */
164
+ function readProjectMetadata(projectPath) {
165
+ const metadataPath = getProjectMetadataPath(projectPath);
166
+ if (!(0, fs_1.existsSync)(metadataPath))
167
+ return null;
168
+ try {
169
+ const parsed = JSON.parse((0, fs_1.readFileSync)(metadataPath, 'utf8'));
170
+ if (parsed?.schemaVersion !== exports.PROJECT_METADATA_SCHEMA_VERSION ||
171
+ typeof parsed.projectKey !== 'string' ||
172
+ typeof parsed.projectPath !== 'string') {
173
+ return null;
174
+ }
175
+ return parsed;
176
+ }
177
+ catch {
178
+ return null;
179
+ }
180
+ }
181
+ /** Create or refresh project metadata without changing the project identity. */
182
+ function updateProjectMetadata(projectPath, now = new Date()) {
183
+ const resolvedPath = resolveProjectStoragePath(projectPath);
184
+ const projectKey = encodeProjectPath(resolvedPath);
185
+ const projectDir = (0, path_1.join)(getProjectsDir(), projectKey);
186
+ if (!(0, fs_1.existsSync)(projectDir)) {
187
+ (0, fs_1.mkdirSync)(projectDir, { recursive: true, mode: 0o700 });
188
+ }
189
+ const metadataPath = (0, path_1.join)(projectDir, 'project.json');
190
+ let createdAt = now.toISOString();
191
+ try {
192
+ const existing = JSON.parse((0, fs_1.readFileSync)(metadataPath, 'utf8'));
193
+ if (typeof existing.createdAt === 'string' && existing.createdAt) {
194
+ createdAt = existing.createdAt;
195
+ }
196
+ }
197
+ catch {
198
+ // Missing or invalid metadata is replaced below.
199
+ }
200
+ const metadata = {
201
+ schemaVersion: exports.PROJECT_METADATA_SCHEMA_VERSION,
202
+ projectKey,
203
+ projectPath: resolvedPath,
204
+ createdAt,
205
+ lastSeenAt: now.toISOString(),
206
+ };
207
+ (0, atomic_write_1.atomicWriteFileSync)(metadataPath, JSON.stringify(metadata, null, 2), { mode: 0o600 });
208
+ return metadata;
129
209
  }
130
210
  /** 项目内单个会话元数据文件路径 */
131
211
  function getProjectSessionMetaPath(projectPath, sessionId) {
@@ -139,6 +219,27 @@ function getProjectSessionMessagesPath(projectPath, sessionId) {
139
219
  function getProjectSessionHarnessPath(projectPath, sessionId) {
140
220
  return (0, path_1.join)(getProjectSessionsDir(projectPath), `${sessionId}.harness.json`);
141
221
  }
222
+ /** 项目 Memory 目录路径 */
223
+ function getProjectMemoryDir(projectPath) {
224
+ return (0, path_1.join)(getProjectDir(projectPath), 'memory');
225
+ }
226
+ /** Legacy hash-based project Memory 目录路径(只读兼容) */
227
+ function getLegacyProjectMemoryDir(projectPath) {
228
+ const hash = (0, crypto_1.createHash)('sha256').update(projectPath).digest('hex').slice(0, 16);
229
+ return (0, path_1.join)(getProjectsDir(), hash, 'memory');
230
+ }
231
+ /** 项目工具 Artifact 目录路径 */
232
+ function getProjectArtifactsDir(projectPath) {
233
+ return (0, path_1.join)(getProjectDir(projectPath), 'artifacts');
234
+ }
235
+ /** 项目 Checkpoint 目录路径 */
236
+ function getProjectCheckpointsDir(projectPath) {
237
+ return (0, path_1.join)(getProjectDir(projectPath), 'checkpoints');
238
+ }
239
+ /** 项目索引目录路径 */
240
+ function getProjectIndexesDir(projectPath) {
241
+ return (0, path_1.join)(getProjectDir(projectPath), 'indexes');
242
+ }
142
243
  /** 成本记录目录路径 */
143
244
  function getCostDir() {
144
245
  return (0, path_1.join)(getConfigHome(), 'cost');
@@ -1 +1 @@
1
- {"version":3,"file":"config-dir.js","sourceRoot":"","sources":["../../src/services/config-dir.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-dir.js","sourceRoot":"","sources":["../../src/services/config-dir.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAiBH,sCAEC;AAGD,oCAEC;AAMD,0CAcC;AAkBD,kDAEC;AAGD,0CAEC;AAGD,8CAEC;AAGD,wCAEC;AAGD,wCAEC;AAGD,8CAMC;AAGD,8DAsBC;AAGD,wDAEC;AAGD,sCAEC;AAGD,wDAEC;AAGD,sDAEC;AAGD,4CAcC;AAGD,kDAiBC;AAGD,sDA6BC;AAGD,8DAEC;AAGD,sEAEC;AAGD,oEAEC;AAGD,kDAEC;AAGD,8DAGC;AAGD,wDAEC;AAGD,4DAEC;AAGD,oDAEC;AAGD,gCAEC;AAGD,4CAIC;AAGD,kCAEC;AAeD,sCAWC;AAMD,wDAKC;AA5SD,2BAA6B;AAC7B,+BAAqC;AACrC,2BAAuE;AACvE,iDAA6C;AAC7C,mCAAoC;AACpC,iDAAqD;AAErD,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E;;;GAGG;AACH,SAAgB,aAAa;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,YAAY,CAAC,CAAC;AAC3E,CAAC;AAED,8BAA8B;AAC9B,SAAgB,YAAY;IAC1B,OAAO,aAAa,EAAE,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe;IAC7B,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,IAAA,eAAU,EAAC,GAAG,CAAC,EAAE,CAAC;QACrB,IAAA,cAAS,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,UAAU;IACV,MAAM,OAAO,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAA,cAAS,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAElE,QAAA,+BAA+B,GAAG,CAAC,CAAC;AAWjD,eAAe;AACf,SAAgB,mBAAmB;IACjC,OAAO,IAAA,WAAI,EAAC,aAAa,EAAE,EAAE,gBAAgB,CAAC,CAAC;AACjD,CAAC;AAED,gBAAgB;AAChB,SAAgB,eAAe;IAC7B,OAAO,IAAA,WAAI,EAAC,aAAa,EAAE,EAAE,eAAe,CAAC,CAAC;AAChD,CAAC;AAED,sBAAsB;AACtB,SAAgB,iBAAiB;IAC/B,OAAO,IAAA,WAAI,EAAC,aAAa,EAAE,EAAE,cAAc,CAAC,CAAC;AAC/C,CAAC;AAED,uBAAuB;AACvB,SAAgB,cAAc;IAC5B,OAAO,IAAA,WAAI,EAAC,aAAa,EAAE,EAAE,eAAe,CAAC,CAAC;AAChD,CAAC;AAED,eAAe;AACf,SAAgB,cAAc;IAC5B,OAAO,IAAA,WAAI,EAAC,aAAa,EAAE,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC;AAED,6EAA6E;AAC7E,SAAgB,iBAAiB,CAAC,WAAmB;IACnD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,UAAU;SACvB,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3B,OAAO,OAAO,IAAI,MAAM,CAAC;AAC3B,CAAC;AAED,wFAAwF;AACxF,SAAgB,yBAAyB,CAAC,WAAmB;IAC3D,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,WAAW,CAAC,CAAC;IAEtC,IAAI,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAA,4BAAY,EAAC,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE;gBACjF,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;aACpC,CAAC,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,IAAI;gBAAE,OAAO,IAAA,iBAAY,EAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;QAC/C,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAA,iBAAY,EAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,iEAAiE;AACjE,SAAgB,sBAAsB,CAAC,WAAmB;IACxD,OAAO,iBAAiB,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,eAAe;AACf,SAAgB,aAAa,CAAC,WAAmB;IAC/C,OAAO,IAAA,WAAI,EAAC,cAAc,EAAE,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,kCAAkC;AAClC,SAAgB,sBAAsB,CAAC,WAAmB;IACxD,OAAO,IAAA,WAAI,EAAC,aAAa,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC,CAAC;AAC1D,CAAC;AAED,eAAe;AACf,SAAgB,qBAAqB,CAAC,WAAmB;IACvD,OAAO,IAAA,WAAI,EAAC,aAAa,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC;AACtD,CAAC;AAED,iBAAiB;AACjB,SAAgB,gBAAgB,CAAC,WAAmB;IAClD,eAAe,EAAE,CAAC;IAElB,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,IAAA,cAAS,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,WAAW,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACvD,IAAI,CAAC,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,IAAA,cAAS,EAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,qBAAqB,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC;AAED,0EAA0E;AAC1E,SAAgB,mBAAmB,CAAC,WAAmB;IACrD,MAAM,YAAY,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACzD,IAAI,CAAC,IAAA,eAAU,EAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAE3C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,YAAY,EAAE,MAAM,CAAC,CAAoB,CAAC;QACjF,IACE,MAAM,EAAE,aAAa,KAAK,uCAA+B;YACzD,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;YACrC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,EACtC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,SAAgB,qBAAqB,CAAC,WAAmB,EAAE,MAAY,IAAI,IAAI,EAAE;IAC/E,MAAM,YAAY,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,cAAc,EAAE,EAAE,UAAU,CAAC,CAAC;IACtD,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,IAAA,cAAS,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACtD,IAAI,SAAS,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,YAAY,EAAE,MAAM,CAAC,CAA6B,CAAC;QAC5F,IAAI,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACjE,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACjC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iDAAiD;IACnD,CAAC;IAED,MAAM,QAAQ,GAAoB;QAChC,aAAa,EAAE,uCAA+B;QAC9C,UAAU;QACV,WAAW,EAAE,YAAY;QACzB,SAAS;QACT,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;KAC9B,CAAC;IAEF,IAAA,kCAAmB,EAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,qBAAqB;AACrB,SAAgB,yBAAyB,CAAC,WAAmB,EAAE,SAAiB;IAC9E,OAAO,IAAA,WAAI,EAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;AACvE,CAAC;AAED,sBAAsB;AACtB,SAAgB,6BAA6B,CAAC,WAAmB,EAAE,SAAiB;IAClF,OAAO,IAAA,WAAI,EAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,GAAG,SAAS,QAAQ,CAAC,CAAC;AACxE,CAAC;AAED,iCAAiC;AACjC,SAAgB,4BAA4B,CAAC,WAAmB,EAAE,SAAiB;IACjF,OAAO,IAAA,WAAI,EAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,GAAG,SAAS,eAAe,CAAC,CAAC;AAC/E,CAAC;AAED,qBAAqB;AACrB,SAAgB,mBAAmB,CAAC,WAAmB;IACrD,OAAO,IAAA,WAAI,EAAC,aAAa,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;AACpD,CAAC;AAED,kDAAkD;AAClD,SAAgB,yBAAyB,CAAC,WAAmB;IAC3D,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjF,OAAO,IAAA,WAAI,EAAC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,yBAAyB;AACzB,SAAgB,sBAAsB,CAAC,WAAmB;IACxD,OAAO,IAAA,WAAI,EAAC,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;AACvD,CAAC;AAED,yBAAyB;AACzB,SAAgB,wBAAwB,CAAC,WAAmB;IAC1D,OAAO,IAAA,WAAI,EAAC,aAAa,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,CAAC;AACzD,CAAC;AAED,eAAe;AACf,SAAgB,oBAAoB,CAAC,WAAmB;IACtD,OAAO,IAAA,WAAI,EAAC,aAAa,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;AACrD,CAAC;AAED,eAAe;AACf,SAAgB,UAAU;IACxB,OAAO,IAAA,WAAI,EAAC,aAAa,EAAE,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,iBAAiB;AACjB,SAAgB,gBAAgB,CAAC,IAAW;IAC1C,MAAM,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC;IACjI,OAAO,IAAA,WAAI,EAAC,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED,aAAa;AACb,SAAgB,WAAW;IACzB,OAAO,IAAA,WAAI,EAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AASD;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,IAAgB,EAAE,GAAY;IAC1D,MAAM,OAAO,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAErC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,iBAAiB,EAAE,CAAC;QAC7B,KAAK,SAAS;YACZ,OAAO,IAAA,WAAI,EAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QACvC,KAAK,OAAO;YACV,OAAO,IAAA,WAAI,EAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,GAAY;IACjD,MAAM,KAAK,GAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACzD,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,eAAU,EAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC"}
@@ -10,11 +10,14 @@
10
10
  * 4. Agent 内部默认值
11
11
  *
12
12
  * UI renderer is intentionally not read from openhorse.json or env. The stable
13
- * native terminal UI is the default; --ui tui keeps the renderer-owned TUI
14
- * available for explicit testing while it matures.
13
+ * native terminal UI is the default; --ui tui and --ui ink keep beta renderer
14
+ * experiments available for explicit testing while they mature.
15
15
  */
16
16
  import { type ToolConfirmationPolicy, type UIConfig, type UIRenderer, type UIConfirmationMode, type WebSearchMcpConfig } from './global-config';
17
17
  export type { ToolConfirmationPolicy, UIConfig, UIRenderer, UIConfirmationMode, WebSearchMcpConfig };
18
+ export declare const STABLE_UI_RENDERER: UIRenderer;
19
+ export declare const BETA_UI_RENDERERS: readonly ["tui", "ink"];
20
+ export declare const SUPPORTED_UI_RENDERERS: readonly ["terminal", "tui", "ink"];
18
21
  /**
19
22
  * OpenHorse 运行时配置
20
23
  * 用户可配置核心项:apiKey, apiBaseUrl, model, fallbackModel, toolConfirmation
@@ -42,6 +45,10 @@ export interface OpenHorseCLIConfig {
42
45
  /** 日志级别 */
43
46
  logLevel: 'debug' | 'info' | 'warn' | 'error';
44
47
  }
48
+ export declare function resolveUIRenderer(value: unknown): UIRenderer | undefined;
49
+ export declare function isSupportedUIRenderer(value: unknown): value is UIRenderer;
50
+ export declare function isInteractiveUIRenderer(value: unknown): value is UIRenderer;
51
+ export declare function isBetaUIRenderer(value: unknown): value is typeof BETA_UI_RENDERERS[number];
45
52
  /**
46
53
  * 从多源加载配置
47
54
  * 优先级:命令行 > 配置文件 > 环境变量 > Agent 内部默认值
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/services/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACxB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,sBAAsB,EAAE,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;AAMrG;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAEjC,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,sFAAsF;IACtF,EAAE,CAAC,EAAE,QAAQ,CAAC;IAGd,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,IAAI,EAAE,aAAa,GAAG,YAAY,CAAC;IACnC,WAAW;IACX,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC/C;AAqGD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,SAAS,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAAG,kBAAkB,CA+B1F;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAEhE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAMpE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAenF"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/services/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACxB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,sBAAsB,EAAE,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;AAErG,eAAO,MAAM,kBAAkB,EAAE,UAAuB,CAAC;AACzD,eAAO,MAAM,iBAAiB,yBAA0D,CAAC;AACzF,eAAO,MAAM,sBAAsB,qCAAsF,CAAC;AAM1H;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAEjC,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,sFAAsF;IACtF,EAAE,CAAC,EAAE,QAAQ,CAAC;IAGd,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,IAAI,EAAE,aAAa,GAAG,YAAY,CAAC;IACnC,WAAW;IACX,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC/C;AA4BD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAGxE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAEzE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAE3E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAE1F;AAoED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,SAAS,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAAG,kBAAkB,CA+B1F;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAEhE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAMpE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAenF"}
@@ -11,15 +11,23 @@
11
11
  * 4. Agent 内部默认值
12
12
  *
13
13
  * UI renderer is intentionally not read from openhorse.json or env. The stable
14
- * native terminal UI is the default; --ui tui keeps the renderer-owned TUI
15
- * available for explicit testing while it matures.
14
+ * native terminal UI is the default; --ui tui and --ui ink keep beta renderer
15
+ * experiments available for explicit testing while they mature.
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.SUPPORTED_UI_RENDERERS = exports.BETA_UI_RENDERERS = exports.STABLE_UI_RENDERER = void 0;
19
+ exports.resolveUIRenderer = resolveUIRenderer;
20
+ exports.isSupportedUIRenderer = isSupportedUIRenderer;
21
+ exports.isInteractiveUIRenderer = isInteractiveUIRenderer;
22
+ exports.isBetaUIRenderer = isBetaUIRenderer;
18
23
  exports.loadConfig = loadConfig;
19
24
  exports.isConfigured = isConfigured;
20
25
  exports.getConfigErrors = getConfigErrors;
21
26
  exports.getConfigSummary = getConfigSummary;
22
27
  const global_config_1 = require("./global-config");
28
+ exports.STABLE_UI_RENDERER = 'terminal';
29
+ exports.BETA_UI_RENDERERS = ['tui', 'ink'];
30
+ exports.SUPPORTED_UI_RENDERERS = [exports.STABLE_UI_RENDERER, ...exports.BETA_UI_RENDERERS];
23
31
  // ============================================================================
24
32
  // Agent 内部默认值(用户无需关心)
25
33
  // ============================================================================
@@ -43,12 +51,19 @@ function normalizeToolConfirmationPolicy(value) {
43
51
  ? value
44
52
  : undefined;
45
53
  }
46
- function normalizeUIRenderer(value) {
54
+ function resolveUIRenderer(value) {
47
55
  if (value === 'stable')
48
56
  return 'terminal';
49
- return value === 'terminal' || value === 'tui' || value === 'ink' || value === 'legacy' || value === 'v2'
50
- ? value
51
- : undefined;
57
+ return isSupportedUIRenderer(value) ? value : undefined;
58
+ }
59
+ function isSupportedUIRenderer(value) {
60
+ return typeof value === 'string' && exports.SUPPORTED_UI_RENDERERS.includes(value);
61
+ }
62
+ function isInteractiveUIRenderer(value) {
63
+ return isSupportedUIRenderer(value);
64
+ }
65
+ function isBetaUIRenderer(value) {
66
+ return typeof value === 'string' && exports.BETA_UI_RENDERERS.includes(value);
52
67
  }
53
68
  function normalizeUIConfirmationMode(value) {
54
69
  return value === 'config' || value === 'interactive'
@@ -96,7 +111,7 @@ function loadWebSearchConfig(globalConfig, overrides) {
96
111
  function loadUIConfig(globalConfig, overrides) {
97
112
  const envConfirmations = process.env.OPENHORSE_UI_CONFIRMATIONS;
98
113
  return {
99
- renderer: normalizeUIRenderer(overrides.ui?.renderer)
114
+ renderer: resolveUIRenderer(overrides.ui?.renderer)
100
115
  ?? INTERNAL_DEFAULTS.ui.renderer,
101
116
  confirmations: normalizeUIConfirmationMode(overrides.ui?.confirmations)
102
117
  ?? normalizeUIConfirmationMode(globalConfig.ui?.confirmations)
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/services/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/services/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/services/doctor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAKjE,OAAO,EAA2C,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE9F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;CACvC;AA4HD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,YAAY,CA4DpE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAE/D;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA6B/D"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/services/doctor.ts"],"names":[],"mappings":"AAWA,OAAO,EAAkC,KAAK,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAKnF,OAAO,EAA2C,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE9F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGhD,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;CACvC;AA6PD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,YAAY,CA+DpE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAE/D;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA6B/D"}