dsh-data-domain-knowledge 0.1.0-alpha.13 → 0.1.0-alpha.15

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 (266) hide show
  1. package/README.md +89 -56
  2. package/cordis.patch.yml +36 -129
  3. package/eval/benchmark-extraction-format.mjs +20 -0
  4. package/lib/client.js +3262 -4142
  5. package/lib/doc-page.js +1 -1
  6. package/lib/pages.js +1147 -364
  7. package/lib/types/axis-registry.d.ts +8 -1
  8. package/lib/types/axis-registry.d.ts.map +1 -1
  9. package/lib/types/axis-registry.js +62 -7
  10. package/lib/types/axis-registry.js.map +1 -1
  11. package/lib/types/convert/host.d.ts.map +1 -1
  12. package/lib/types/convert/host.js +3 -0
  13. package/lib/types/convert/host.js.map +1 -1
  14. package/lib/types/convert/ingest.d.ts +9 -0
  15. package/lib/types/convert/ingest.d.ts.map +1 -1
  16. package/lib/types/convert/ingest.js +68 -9
  17. package/lib/types/convert/ingest.js.map +1 -1
  18. package/lib/types/diagnosis/cards.d.ts +7 -3
  19. package/lib/types/diagnosis/cards.d.ts.map +1 -1
  20. package/lib/types/diagnosis/cards.js +13 -8
  21. package/lib/types/diagnosis/cards.js.map +1 -1
  22. package/lib/types/diagnosis/run.d.ts +4 -13
  23. package/lib/types/diagnosis/run.d.ts.map +1 -1
  24. package/lib/types/diagnosis/run.js +26 -16
  25. package/lib/types/diagnosis/run.js.map +1 -1
  26. package/lib/types/diagnosis/schema.js +2 -2
  27. package/lib/types/diagnosis/schema.js.map +1 -1
  28. package/lib/types/diagnosis/seed-source.d.ts +1 -1
  29. package/lib/types/diagnosis/seed-source.d.ts.map +1 -1
  30. package/lib/types/diagnosis/seed-source.js +5 -4
  31. package/lib/types/diagnosis/seed-source.js.map +1 -1
  32. package/lib/types/diagnosis/seed.d.ts +4 -4
  33. package/lib/types/diagnosis/seed.d.ts.map +1 -1
  34. package/lib/types/diagnosis/seed.js +6 -8
  35. package/lib/types/diagnosis/seed.js.map +1 -1
  36. package/lib/types/diagnosis/store.d.ts +18 -17
  37. package/lib/types/diagnosis/store.d.ts.map +1 -1
  38. package/lib/types/diagnosis/store.js +94 -66
  39. package/lib/types/diagnosis/store.js.map +1 -1
  40. package/lib/types/diagnosis/types.d.ts +10 -16
  41. package/lib/types/diagnosis/types.d.ts.map +1 -1
  42. package/lib/types/diagnosis/types.js.map +1 -1
  43. package/lib/types/environment/dsh-python.d.ts +77 -0
  44. package/lib/types/environment/dsh-python.d.ts.map +1 -0
  45. package/lib/types/environment/dsh-python.js +139 -0
  46. package/lib/types/environment/dsh-python.js.map +1 -0
  47. package/lib/types/environment/install.d.ts +9 -1
  48. package/lib/types/environment/install.d.ts.map +1 -1
  49. package/lib/types/environment/install.js +149 -24
  50. package/lib/types/environment/install.js.map +1 -1
  51. package/lib/types/environment/model-catalog.d.ts +34 -2
  52. package/lib/types/environment/model-catalog.d.ts.map +1 -1
  53. package/lib/types/environment/model-catalog.js +40 -2
  54. package/lib/types/environment/model-catalog.js.map +1 -1
  55. package/lib/types/environment/service.d.ts +13 -3
  56. package/lib/types/environment/service.d.ts.map +1 -1
  57. package/lib/types/environment/service.js +127 -23
  58. package/lib/types/environment/service.js.map +1 -1
  59. package/lib/types/environment/types.d.ts +9 -0
  60. package/lib/types/environment/types.d.ts.map +1 -1
  61. package/lib/types/events.d.ts +2 -0
  62. package/lib/types/events.d.ts.map +1 -1
  63. package/lib/types/events.js +13 -0
  64. package/lib/types/events.js.map +1 -1
  65. package/lib/types/extract-contract.d.ts +1 -1
  66. package/lib/types/extract-contract.d.ts.map +1 -1
  67. package/lib/types/extract-contract.js +34 -31
  68. package/lib/types/extract-contract.js.map +1 -1
  69. package/lib/types/extract-model.d.ts +2 -0
  70. package/lib/types/extract-model.d.ts.map +1 -1
  71. package/lib/types/extract-model.js.map +1 -1
  72. package/lib/types/extract-table-contract.d.ts +3 -0
  73. package/lib/types/extract-table-contract.d.ts.map +1 -0
  74. package/lib/types/extract-table-contract.js +30 -0
  75. package/lib/types/extract-table-contract.js.map +1 -0
  76. package/lib/types/extract-table.d.ts +8 -0
  77. package/lib/types/extract-table.d.ts.map +1 -0
  78. package/lib/types/extract-table.js +151 -0
  79. package/lib/types/extract-table.js.map +1 -0
  80. package/lib/types/extraction-runs.d.ts +30 -6
  81. package/lib/types/extraction-runs.d.ts.map +1 -1
  82. package/lib/types/extraction-runs.js +69 -8
  83. package/lib/types/extraction-runs.js.map +1 -1
  84. package/lib/types/fs-atomic.d.ts +0 -7
  85. package/lib/types/fs-atomic.d.ts.map +1 -1
  86. package/lib/types/fs-atomic.js +17 -2
  87. package/lib/types/fs-atomic.js.map +1 -1
  88. package/lib/types/images.d.ts +1 -1
  89. package/lib/types/images.d.ts.map +1 -1
  90. package/lib/types/images.js +2 -2
  91. package/lib/types/images.js.map +1 -1
  92. package/lib/types/index.d.ts.map +1 -1
  93. package/lib/types/index.js +232 -50
  94. package/lib/types/index.js.map +1 -1
  95. package/lib/types/intent/scope.d.ts.map +1 -1
  96. package/lib/types/intent/scope.js +1 -0
  97. package/lib/types/intent/scope.js.map +1 -1
  98. package/lib/types/intent/tools.d.ts +19 -0
  99. package/lib/types/intent/tools.d.ts.map +1 -1
  100. package/lib/types/intent/tools.js +37 -1
  101. package/lib/types/intent/tools.js.map +1 -1
  102. package/lib/types/knowledge-bases.d.ts.map +1 -1
  103. package/lib/types/knowledge-bases.js +5 -16
  104. package/lib/types/knowledge-bases.js.map +1 -1
  105. package/lib/types/knowledge.d.ts +3 -0
  106. package/lib/types/knowledge.d.ts.map +1 -1
  107. package/lib/types/knowledge.js +21 -5
  108. package/lib/types/knowledge.js.map +1 -1
  109. package/lib/types/materialize-snapshot.d.ts +49 -0
  110. package/lib/types/materialize-snapshot.d.ts.map +1 -0
  111. package/lib/types/materialize-snapshot.js +2 -0
  112. package/lib/types/materialize-snapshot.js.map +1 -0
  113. package/lib/types/model-text.d.ts +1 -1
  114. package/lib/types/model-text.d.ts.map +1 -1
  115. package/lib/types/model-text.js +5 -4
  116. package/lib/types/model-text.js.map +1 -1
  117. package/lib/types/oplog.d.ts.map +1 -1
  118. package/lib/types/oplog.js +7 -0
  119. package/lib/types/oplog.js.map +1 -1
  120. package/lib/types/pipeline/engine.d.ts +60 -0
  121. package/lib/types/pipeline/engine.d.ts.map +1 -0
  122. package/lib/types/pipeline/engine.js +338 -0
  123. package/lib/types/pipeline/engine.js.map +1 -0
  124. package/lib/types/pipeline/store.d.ts +73 -0
  125. package/lib/types/pipeline/store.d.ts.map +1 -0
  126. package/lib/types/pipeline/store.js +143 -0
  127. package/lib/types/pipeline/store.js.map +1 -0
  128. package/lib/types/pipeline/types.d.ts +101 -0
  129. package/lib/types/pipeline/types.d.ts.map +1 -0
  130. package/lib/types/pipeline/types.js +5 -0
  131. package/lib/types/pipeline/types.js.map +1 -0
  132. package/lib/types/present.d.ts +2 -0
  133. package/lib/types/present.d.ts.map +1 -1
  134. package/lib/types/present.js +9 -4
  135. package/lib/types/present.js.map +1 -1
  136. package/lib/types/retention.d.ts +39 -0
  137. package/lib/types/retention.d.ts.map +1 -0
  138. package/lib/types/retention.js +42 -0
  139. package/lib/types/retention.js.map +1 -0
  140. package/lib/types/runtime.d.ts +115 -5
  141. package/lib/types/runtime.d.ts.map +1 -1
  142. package/lib/types/runtime.js +862 -132
  143. package/lib/types/runtime.js.map +1 -1
  144. package/lib/types/source-evidence.d.ts +9 -1
  145. package/lib/types/source-evidence.d.ts.map +1 -1
  146. package/lib/types/source-evidence.js +13 -5
  147. package/lib/types/source-evidence.js.map +1 -1
  148. package/lib/types/store/axis-references.js +3 -3
  149. package/lib/types/store/axis-references.js.map +1 -1
  150. package/lib/types/store/derived.d.ts +1 -1
  151. package/lib/types/store/derived.d.ts.map +1 -1
  152. package/lib/types/store/derived.js +41 -7
  153. package/lib/types/store/derived.js.map +1 -1
  154. package/lib/types/store/knowledge-db.d.ts +18 -0
  155. package/lib/types/store/knowledge-db.d.ts.map +1 -1
  156. package/lib/types/store/knowledge-db.js +111 -6
  157. package/lib/types/store/knowledge-db.js.map +1 -1
  158. package/lib/types/store/migrate.js +1 -1
  159. package/lib/types/store/migrate.js.map +1 -1
  160. package/lib/types/trajectory-types.d.ts +172 -0
  161. package/lib/types/trajectory-types.d.ts.map +1 -0
  162. package/lib/types/trajectory-types.js +36 -0
  163. package/lib/types/trajectory-types.js.map +1 -0
  164. package/lib/types/types.d.ts +3 -4
  165. package/lib/types/types.d.ts.map +1 -1
  166. package/lib/types/types.js.map +1 -1
  167. package/lib/types/wiki-finalize.d.ts +16 -0
  168. package/lib/types/wiki-finalize.d.ts.map +1 -1
  169. package/lib/types/wiki-finalize.js +26 -0
  170. package/lib/types/wiki-finalize.js.map +1 -1
  171. package/lib/types/wiki-materialize.d.ts.map +1 -1
  172. package/lib/types/wiki-materialize.js +3 -15
  173. package/lib/types/wiki-materialize.js.map +1 -1
  174. package/lib/types/wiki-trial-types.d.ts +3 -0
  175. package/lib/types/wiki-trial-types.d.ts.map +1 -1
  176. package/lib/types/wiki-trial.d.ts +2 -0
  177. package/lib/types/wiki-trial.d.ts.map +1 -1
  178. package/lib/types/wiki-trial.js +31 -7
  179. package/lib/types/wiki-trial.js.map +1 -1
  180. package/package.json +6 -3
  181. package/preset/tita-data-agent/agent.cordis.yml +36 -129
  182. package/src/axis-registry.ts +57 -9
  183. package/src/client/AttributionEventGuide.tsx +10 -9
  184. package/src/client/CompileDialogs.tsx +10 -2
  185. package/src/client/EnvironmentSetup.tsx +76 -16
  186. package/src/client/ExpansionGraph.tsx +13 -7
  187. package/src/client/ExtractionTasksPage.tsx +543 -156
  188. package/src/client/ImportFilesDialog.tsx +2 -13
  189. package/src/client/IntentTab.tsx +3 -1
  190. package/src/client/KnowledgeBaseTab.tsx +139 -122
  191. package/src/client/KnowledgeLayerSection.tsx +19 -2
  192. package/src/client/KnowledgePanel.tsx +17 -3
  193. package/src/client/ListPager.tsx +15 -5
  194. package/src/client/MaterializeTrajectoryView.tsx +124 -0
  195. package/src/client/NodeSettings.tsx +90 -25
  196. package/src/client/NormalizeTrajectoryView.tsx +136 -0
  197. package/src/client/PipelineNotice.tsx +26 -0
  198. package/src/client/RecallPanel.tsx +55 -25
  199. package/src/client/TabGuide.tsx +4 -4
  200. package/src/client/TrialReportView.tsx +61 -16
  201. package/src/client/TypeDefinitionDrawer.tsx +33 -9
  202. package/src/client/WikiCardPreview.tsx +43 -10
  203. package/src/client/WikiFlowPanel.tsx +4 -4
  204. package/src/client/architecture.tsx +1 -1
  205. package/src/client/attribution/AttributionTab.tsx +37 -36
  206. package/src/client/attribution/CaseView.tsx +3 -1
  207. package/src/client/attribution/EventView.tsx +14 -4
  208. package/src/client/attribution/RunView.tsx +2 -2
  209. package/src/client/attribution/ViewSwitch.tsx +20 -5
  210. package/src/client/attribution/graph-options.ts +38 -31
  211. package/src/client/attribution/model.ts +16 -9
  212. package/src/client/graph/palette.ts +165 -0
  213. package/src/client/pages.css +224 -28
  214. package/src/client/pages.tsx +33 -11
  215. package/src/client/styles.css +61 -6
  216. package/src/client/wiki-trial.ts +30 -1
  217. package/src/convert/host.ts +3 -0
  218. package/src/convert/ingest.ts +73 -9
  219. package/src/diagnosis/cards.ts +13 -8
  220. package/src/diagnosis/run.ts +27 -17
  221. package/src/diagnosis/schema.ts +2 -2
  222. package/src/diagnosis/seed-source.ts +5 -4
  223. package/src/diagnosis/seed.ts +6 -8
  224. package/src/diagnosis/store.ts +99 -69
  225. package/src/diagnosis/types.ts +10 -16
  226. package/src/environment/dsh-python.ts +156 -0
  227. package/src/environment/install.ts +134 -19
  228. package/src/environment/model-catalog.ts +45 -3
  229. package/src/environment/service.ts +111 -23
  230. package/src/environment/types.ts +6 -0
  231. package/src/events.ts +12 -0
  232. package/src/extract-contract.ts +6 -3
  233. package/src/extract-model.ts +2 -0
  234. package/src/extract-table-contract.ts +29 -0
  235. package/src/extract-table.ts +126 -0
  236. package/src/extraction-runs.ts +70 -11
  237. package/src/fs-atomic.ts +19 -2
  238. package/src/images.ts +2 -2
  239. package/src/index.ts +207 -72
  240. package/src/intent/scope.ts +1 -0
  241. package/src/intent/tools.ts +38 -1
  242. package/src/knowledge-bases.ts +4 -12
  243. package/src/knowledge.ts +24 -4
  244. package/src/materialize-snapshot.ts +46 -0
  245. package/src/model-text.ts +5 -3
  246. package/src/oplog.ts +7 -0
  247. package/src/pipeline/engine.ts +312 -0
  248. package/src/pipeline/store.ts +147 -0
  249. package/src/pipeline/types.ts +92 -0
  250. package/src/present.ts +10 -4
  251. package/src/retention.ts +76 -0
  252. package/src/runtime.ts +853 -131
  253. package/src/source-evidence.ts +12 -5
  254. package/src/store/axis-references.ts +3 -3
  255. package/src/store/derived.ts +40 -7
  256. package/src/store/knowledge-db.ts +111 -5
  257. package/src/store/migrate.ts +1 -1
  258. package/src/trajectory-types.ts +142 -0
  259. package/src/types.ts +3 -4
  260. package/src/wiki-finalize.ts +28 -0
  261. package/src/wiki-materialize.ts +3 -14
  262. package/src/wiki-trial-types.ts +3 -0
  263. package/src/wiki-trial.ts +26 -7
  264. package/src/client/convert/ConvertPanel.tsx +0 -583
  265. package/src/client/convert/styles.css +0 -138
  266. package/src/client/convert/styles.ts +0 -49
@@ -1,4 +1,9 @@
1
- /** Models supported by the local embedding and reranking workers. Revisions are pinned in manifest.ts. */
1
+ /**
2
+ * Models supported by the local embedding and reranking workers. Revisions are pinned in manifest.ts.
3
+ *
4
+ * 这一份是**纯数据**:客户端也要 import 它(模型选项、下载量的文案),所以这里不能出现
5
+ * `node:*`。磁盘上有没有那份模型由服务端判(`modelOptionsView(root)`)。
6
+ */
2
7
  export declare const EMBEDDING_MODELS: readonly [{
3
8
  readonly id: "bge-small-zh-v1.5";
4
9
  readonly repo: "BAAI/bge-small-zh-v1.5";
@@ -89,6 +94,11 @@ export interface ModelOptionView {
89
94
  download: string;
90
95
  description: string;
91
96
  modelCardUrl?: string;
97
+ /**
98
+ * 这份模型在资源目录里是否**完整**(有 config、有权重、有分词器词表)。
99
+ * 省略 = 服务端没给资源目录,不知道 —— 不知道就不显示徽标,不猜。
100
+ */
101
+ installed?: boolean;
92
102
  }
93
103
  export declare const DEFAULT_MODEL_SELECTION: ModelSelection;
94
104
  export declare function isModelSelection(value: unknown): value is ModelSelection;
@@ -170,9 +180,30 @@ export declare function rerankModel(id: RerankModelId): {
170
180
  readonly download: "约 16.4 GB";
171
181
  readonly description: "资源占用最高;下载前请确认有足够磁盘与内存。";
172
182
  };
173
- export declare function modelOptionsView(): {
183
+ /**
184
+ * 把「约 1.1 GB」这样的文案换回字节数。
185
+ *
186
+ * 判据只留一份:**目录里写的就是那句文案**(顺序与大小都在那里定),再写一份数字字段迟早
187
+ * 会和它对不上。格式是我们自己定的(`约 <数字> MB|GB`),认不出来就返回 undefined ——
188
+ * 算不出总数时宁可不显示总数,也不编一个。
189
+ */
190
+ export declare function downloadBytes(text: string): number | undefined;
191
+ /** 字节数 → 「约 1.2 GB / 约 96 MB」。用于把几个模型加起来报一个总数。 */
192
+ export declare function formatBytes(bytes: number): string;
193
+ /**
194
+ * 模型选项。
195
+ *
196
+ * `installed` 是一个**回调**而不是路径:这一份是纯数据模块(客户端也 import 它),
197
+ * 而「磁盘上有没有、完不完整」要用 `node:fs` 判。服务端把判据传进来,顺便也就把它
198
+ * 与自检那一栏的「模型结构」检查绑成了**同一个函数** —— 否则会出现「选项说已下载、
199
+ * 自检说文件不全」这种同一件事两种说法。
200
+ *
201
+ * 不传回调就省略 `installed`:不知道就别猜,客户端也就不显示徽标。
202
+ */
203
+ export declare function modelOptionsView(installed?: (directory: string) => boolean): {
174
204
  embedding: {
175
205
  dimension?: number | undefined;
206
+ installed?: boolean | undefined;
176
207
  id: string;
177
208
  label: string;
178
209
  download: string;
@@ -181,6 +212,7 @@ export declare function modelOptionsView(): {
181
212
  }[];
182
213
  rerank: {
183
214
  dimension?: number | undefined;
215
+ installed?: boolean | undefined;
184
216
  id: string;
185
217
  label: string;
186
218
  download: string;
@@ -1 +1 @@
1
- {"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../../src/environment/model-catalog.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAC1G,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BnB,CAAA;AAEV,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BhB,CAAA;AAEV,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAA;AACtE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAA;AAChE,MAAM,WAAW,cAAc;IAAG,SAAS,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE;AACtF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AACD,eAAO,MAAM,uBAAuB,EAAE,cAGrC,CAAA;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAKxE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,iBAA0B,GAAG,cAAc,CAItG;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAElD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE5C;AAED,wBAAgB,gBAAgB;;;;;;;;;;;;;;;;;EAU/B"}
1
+ {"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../../src/environment/model-catalog.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BnB,CAAA;AAEV,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BhB,CAAA;AAEV,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAA;AACtE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAA;AAChE,MAAM,WAAW,cAAc;IAAG,SAAS,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE;AACtF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AACD,eAAO,MAAM,uBAAuB,EAAE,cAGrC,CAAA;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAKxE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,iBAA0B,GAAG,cAAc,CAItG;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAElD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE5C;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM9D;AAED,kDAAkD;AAClD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO;;;;;;;;;;;;;;;;;;;EAW1E"}
@@ -1,4 +1,9 @@
1
- /** Models supported by the local embedding and reranking workers. Revisions are pinned in manifest.ts. */
1
+ /**
2
+ * Models supported by the local embedding and reranking workers. Revisions are pinned in manifest.ts.
3
+ *
4
+ * 这一份是**纯数据**:客户端也要 import 它(模型选项、下载量的文案),所以这里不能出现
5
+ * `node:*`。磁盘上有没有那份模型由服务端判(`modelOptionsView(root)`)。
6
+ */
2
7
  export const EMBEDDING_MODELS = [
3
8
  {
4
9
  id: 'bge-small-zh-v1.5', repo: 'BAAI/bge-small-zh-v1.5', directory: 'bge-small-zh-v1.5',
@@ -77,10 +82,43 @@ export function embeddingModel(id) {
77
82
  export function rerankModel(id) {
78
83
  return RERANK_MODELS.find(model => model.id === id);
79
84
  }
80
- export function modelOptionsView() {
85
+ /**
86
+ * 把「约 1.1 GB」这样的文案换回字节数。
87
+ *
88
+ * 判据只留一份:**目录里写的就是那句文案**(顺序与大小都在那里定),再写一份数字字段迟早
89
+ * 会和它对不上。格式是我们自己定的(`约 <数字> MB|GB`),认不出来就返回 undefined ——
90
+ * 算不出总数时宁可不显示总数,也不编一个。
91
+ */
92
+ export function downloadBytes(text) {
93
+ const matched = /约\s*([\d.]+)\s*(MB|GB)/i.exec(text);
94
+ if (!matched)
95
+ return undefined;
96
+ const value = Number(matched[1]);
97
+ if (!Number.isFinite(value))
98
+ return undefined;
99
+ return Math.round(value * (matched[2].toUpperCase() === 'GB' ? 1024 ** 3 : 1024 ** 2));
100
+ }
101
+ /** 字节数 → 「约 1.2 GB / 约 96 MB」。用于把几个模型加起来报一个总数。 */
102
+ export function formatBytes(bytes) {
103
+ if (bytes >= 1024 ** 3)
104
+ return `约 ${(bytes / 1024 ** 3).toFixed(1)} GB`;
105
+ return `约 ${Math.max(1, Math.round(bytes / 1024 ** 2))} MB`;
106
+ }
107
+ /**
108
+ * 模型选项。
109
+ *
110
+ * `installed` 是一个**回调**而不是路径:这一份是纯数据模块(客户端也 import 它),
111
+ * 而「磁盘上有没有、完不完整」要用 `node:fs` 判。服务端把判据传进来,顺便也就把它
112
+ * 与自检那一栏的「模型结构」检查绑成了**同一个函数** —— 否则会出现「选项说已下载、
113
+ * 自检说文件不全」这种同一件事两种说法。
114
+ *
115
+ * 不传回调就省略 `installed`:不知道就别猜,客户端也就不显示徽标。
116
+ */
117
+ export function modelOptionsView(installed) {
81
118
  const present = (model) => ({
82
119
  id: model.id, label: model.label, download: model.download, description: model.description,
83
120
  modelCardUrl: `https://huggingface.co/${model.repo}`,
121
+ ...(installed === undefined ? {} : { installed: installed(model.directory) }),
84
122
  ...('dimension' in model ? { dimension: model.dimension } : {}),
85
123
  });
86
124
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"model-catalog.js","sourceRoot":"","sources":["../../../src/environment/model-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-catalog.js","sourceRoot":"","sources":["../../../src/environment/model-catalog.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { RuntimeKnowledgeConfig } from '../types.js';
2
2
  import { installRequiredEnvironment } from './install.js';
3
3
  import { runProcess } from './process.js';
4
- import type { EnvironmentReport, EnvironmentView } from './types.js';
4
+ import type { EnvironmentItemId, EnvironmentReport, EnvironmentView } from './types.js';
5
5
  export interface EnvironmentOptions {
6
6
  resourceRoot: string;
7
7
  snapshot: () => {
@@ -17,6 +17,7 @@ export interface EnvironmentOptions {
17
17
  message: string;
18
18
  }>;
19
19
  reload: () => void;
20
+ activateSelection?: () => Promise<() => Promise<void>>;
20
21
  run?: typeof runProcess;
21
22
  install?: typeof installRequiredEnvironment;
22
23
  }
@@ -35,10 +36,19 @@ export declare class KnowledgeEnvironment {
35
36
  private fingerprint;
36
37
  view(): EnvironmentView;
37
38
  invalidate(): void;
38
- requireReady(): Promise<void>;
39
- check(deep?: boolean): Promise<EnvironmentReport>;
39
+ requireReady(kind?: EnvironmentItemId): Promise<void>;
40
+ check(deep?: boolean, kind?: EnvironmentItemId): Promise<EnvironmentReport>;
40
41
  private item;
41
42
  private performCheck;
43
+ /**
44
+ * 这个解释器有没有「加载不了第三方原生扩展」的结构性问题。
45
+ *
46
+ * 目前只有一种:macOS 上带 hardened runtime(`codesign` 的 flags 里有 `runtime`)——
47
+ * 库校验只喂它自己 Team ID 签的 dylib,而 pip 上的 torch 等轮子是 ad-hoc 签名的。
48
+ * 判据来自 `dsh-python.ts`,安装那条路用的是同一个函数:**自检与安装必须看同一件事**,
49
+ * 否则会出现「自检说没问题、装的时候换了解释器」这种两边不对账的情况。
50
+ */
51
+ private interpreterProblem;
42
52
  start(action: 'check' | 'install', requestedSelection?: unknown): EnvironmentView;
43
53
  wait(): Promise<void>;
44
54
  cancel(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/environment/service.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,0BAA0B,EAAoB,MAAM,cAAc,CAAA;AAG3E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,KAAK,EAAsC,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAExG,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM;QAAE,MAAM,EAAE,sBAAsB,CAAC;QAAC,KAAK,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;IAC1H,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,QAAQ,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAClF,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,GAAG,CAAC,EAAE,OAAO,UAAU,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,0BAA0B,CAAA;CAC5C;AAmBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAWlE;AAED,2EAA2E;AAC3E,qBAAa,oBAAoB;IAQnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAPpC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,GAAG,CAAC,CAAwB;IACpC,OAAO,CAAC,YAAY,CAAC,CAA4B;IACjD,OAAO,CAAC,IAAI,CAAC,CAAe;IAC5B,OAAO,CAAC,UAAU,CAAC,CAAiB;IACpC,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAQ;gBACK,OAAO,EAAE,kBAAkB;IAExD,OAAO,CAAC,WAAW;IAWnB,IAAI,IAAI,eAAe;IAKvB,UAAU,IAAI,IAAI;IAEZ,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IASnC,KAAK,CAAC,IAAI,UAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQ9C,OAAO,CAAC,IAAI;YAIE,YAAY;IAqC1B,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,kBAAkB,CAAC,EAAE,OAAO,GAAG,eAAe;IAiE3E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAC3B,MAAM,IAAI,IAAI;IAId,KAAK,IAAI,IAAI;CACd"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/environment/service.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEzD,OAAO,EAAE,0BAA0B,EAAoB,MAAM,cAAc,CAAA;AAG3E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,KAAK,EAA4C,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjI,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM;QAAE,MAAM,EAAE,sBAAsB,CAAC;QAAC,KAAK,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;IAC1H,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,QAAQ,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAClF,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IACtD,GAAG,CAAC,EAAE,OAAO,UAAU,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,0BAA0B,CAAA;CAC5C;AAgDD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAWlE;AAED,2EAA2E;AAC3E,qBAAa,oBAAoB;IAQnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAPpC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,GAAG,CAAC,CAAwB;IACpC,OAAO,CAAC,YAAY,CAAC,CAA4B;IACjD,OAAO,CAAC,IAAI,CAAC,CAAe;IAC5B,OAAO,CAAC,UAAU,CAAC,CAAiB;IACpC,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAQ;gBACK,OAAO,EAAE,kBAAkB;IAIxD,OAAO,CAAC,WAAW;IAWnB,IAAI,IAAI,eAAe;IAkBvB,UAAU,IAAI,IAAI;IAEZ,YAAY,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D,KAAK,CAAC,IAAI,UAAO,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQxE,OAAO,CAAC,IAAI;YAIE,YAAY;IA0D1B;;;;;;;OAOG;YACW,kBAAkB;IAQhC,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,EAAE,kBAAkB,CAAC,EAAE,OAAO,GAAG,eAAe;IAoE3E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAC3B,MAAM,IAAI,IAAI;IAId,KAAK,IAAI,IAAI;CACd"}
@@ -1,16 +1,53 @@
1
1
  import { createHash, randomUUID } from 'node:crypto';
2
- import { readdirSync, statSync } from 'node:fs';
2
+ import { readFileSync, readdirSync, statSync } from 'node:fs';
3
3
  import { mkdir, writeFile } from 'node:fs/promises';
4
- import { dirname, isAbsolute, join } from 'node:path';
4
+ import { basename, dirname, isAbsolute, join, resolve } from 'node:path';
5
5
  import { embeddingFingerprint } from '../compiler/embedding-identity.js';
6
+ import { hasHardenedRuntime } from './dsh-python.js';
6
7
  import { installRequiredEnvironment, requirementsFile } from './install.js';
7
- import { modelOptionsView, parseModelSelection } from './model-catalog.js';
8
+ import { EMBEDDING_MODELS, modelOptionsView, parseModelSelection, RERANK_MODELS } from './model-catalog.js';
8
9
  import { ENVIRONMENT_PROBE_VERSION } from './manifest.js';
9
10
  import { runProcess } from './process.js';
10
11
  import { readModelSelection, writeModelSelection } from './selection.js';
11
12
  const labels = { embedding: '向量模型', rerank: '重排模型' };
13
+ const CHECK_FILE = 'environment-last-check.json';
14
+ function currentModel(root, path, catalog, disabled, provider) {
15
+ if (disabled)
16
+ return { state: 'disabled', label: '未启用' };
17
+ if (provider)
18
+ return { state: 'active', label: `${provider} · ${basename(path) || path || '未指定模型'}` };
19
+ const option = catalog.find(model => isAbsolute(path)
20
+ ? resolve(path) === resolve(join(root, 'models', model.directory))
21
+ : path === model.repo);
22
+ if (option)
23
+ return { state: 'active', id: option.id, label: option.label };
24
+ const name = isAbsolute(path) ? basename(path) : basename(path.replaceAll('\\', '/'));
25
+ return { state: 'active', label: `自定义模型 · ${name || '未指定模型'}` };
26
+ }
12
27
  function blankReport() {
13
- return { state: 'unchecked', required: true, items: ['embedding', 'rerank'].map(id => ({ id, label: labels[id], state: 'unchecked', message: '首次使用前必须完成模型推理自检' })) };
28
+ return { state: 'unchecked', required: true, items: ['embedding', 'rerank'].map(id => ({ id, label: labels[id], state: 'unchecked', message: '尚未完成模型推理自检' })) };
29
+ }
30
+ function readCachedReport(resourceRoot, fingerprint) {
31
+ try {
32
+ const cached = JSON.parse(readFileSync(join(resourceRoot, CHECK_FILE), 'utf8'));
33
+ if (cached.required !== true || cached.fingerprint !== fingerprint || typeof cached.checkedAt !== 'string'
34
+ || !Number.isFinite(Date.parse(cached.checkedAt)) || !Array.isArray(cached.items))
35
+ return undefined;
36
+ const items = [];
37
+ for (const id of ['embedding', 'rerank']) {
38
+ const item = cached.items.find((value) => Boolean(value && typeof value === 'object' && value.id === id));
39
+ if (!item || item.label !== labels[id] || typeof item.message !== 'string'
40
+ || !['unchecked', 'ready', 'missing', 'failed'].includes(String(item.state)))
41
+ return undefined;
42
+ items.push({ id, label: labels[id], state: item.state, message: item.message,
43
+ ...(typeof item.path === 'string' ? { path: item.path } : {}) });
44
+ }
45
+ return { state: items.every(item => item.state === 'ready') ? 'ready' : 'blocked', required: true,
46
+ checkedAt: cached.checkedAt, fingerprint, items };
47
+ }
48
+ catch {
49
+ return undefined;
50
+ }
14
51
  }
15
52
  function stamp(path) { try {
16
53
  const value = statSync(path);
@@ -58,7 +95,7 @@ export function modelFilesProblem(path) {
58
95
  /** Preparation and readiness are shared by all bases in one deployment. */
59
96
  export class KnowledgeEnvironment {
60
97
  options;
61
- report = blankReport();
98
+ report;
62
99
  job;
63
100
  checkPending;
64
101
  work;
@@ -67,6 +104,7 @@ export class KnowledgeEnvironment {
67
104
  disposed = false;
68
105
  constructor(options) {
69
106
  this.options = options;
107
+ this.report = readCachedReport(options.resourceRoot, this.fingerprint()) ?? blankReport();
70
108
  }
71
109
  fingerprint() {
72
110
  const { config, paths } = this.options.snapshot();
@@ -79,28 +117,43 @@ export class KnowledgeEnvironment {
79
117
  })).digest('hex');
80
118
  }
81
119
  view() {
82
- if (!this.checkPending && this.report.state === 'ready' && this.report.fingerprint !== this.fingerprint())
83
- this.report = blankReport();
120
+ if (!this.checkPending && this.report.fingerprint && this.report.fingerprint !== this.fingerprint()) {
121
+ if (this.report.state === 'ready')
122
+ this.report.state = 'unchecked';
123
+ this.report.items = this.report.items.map(item => item.state === 'ready' ? { ...item, state: 'unchecked', message: '自检后配置或资源发生变化,请重新自检' } : item);
124
+ }
125
+ const { config, paths } = this.options.snapshot();
84
126
  const selection = readModelSelection(this.options.resourceRoot);
85
- return structuredClone({ report: this.report, selection, models: modelOptionsView(), ...(this.job ? { job: this.job } : {}) });
127
+ const current = {
128
+ embedding: currentModel(this.options.resourceRoot, paths.embeddingModel, EMBEDDING_MODELS, config.embeddingProvider === 'none', config.embeddingProvider === 'ollama' ? 'Ollama' : undefined),
129
+ rerank: currentModel(this.options.resourceRoot, paths.rerankModel, RERANK_MODELS, config.rerankProvider === 'none'),
130
+ };
131
+ return structuredClone({
132
+ report: this.report, selection, current,
133
+ // 「已下载 / 需下载」的判据与自检的「模型结构」那一项是同一个函数。
134
+ models: modelOptionsView(directory => modelFilesProblem(join(this.options.resourceRoot, 'models', directory)) === undefined),
135
+ ...(this.job ? { job: this.job } : {}),
136
+ });
86
137
  }
87
138
  invalidate() { if (!this.checkPending)
88
139
  this.report = blankReport(); }
89
- async requireReady() {
140
+ async requireReady(kind) {
90
141
  if (this.disposed)
91
142
  throw new Error('环境服务已关闭');
92
143
  if (this.job?.state === 'running')
93
144
  throw new Error('环境正在准备或自检,请等待完成后再编译和召回');
94
145
  const view = this.view();
95
- const recent = view.report.checkedAt && Date.now() - Date.parse(view.report.checkedAt) < 5 * 60_000;
96
- const report = view.report.state === 'ready' && recent ? view.report : await this.check(true);
97
- if (report.state !== 'ready')
98
- throw new Error(`环境未就绪:${report.items.filter(item => item.state !== 'ready').map(item => `${item.label}:${item.message}`).join(';')}。请在 Tita 设置中完成环境准备`);
146
+ // A passing result stays valid while the model, provider, runtime, and device fingerprint stays the same.
147
+ // The operation itself still reports inference failures, and the user can always request a fresh probe.
148
+ const alreadyReady = kind ? view.report.items.find(item => item.id === kind)?.state === 'ready' : view.report.state === 'ready';
149
+ const report = alreadyReady ? view.report : await this.check(true, kind);
150
+ if (kind ? report.items.find(item => item.id === kind)?.state !== 'ready' : report.state !== 'ready')
151
+ throw new Error(`环境未就绪:${report.items.filter(item => (!kind || item.id === kind) && item.state !== 'ready').map(item => `${item.label}:${item.message}`).join(';')}。请在 Tita 设置中完成环境准备`);
99
152
  }
100
- check(deep = true) {
153
+ check(deep = true, kind) {
101
154
  if (this.checkPending)
102
- return this.checkPending;
103
- const pending = this.performCheck(deep);
155
+ return this.checkPending.then(report => !kind || report.items.find(item => item.id === kind)?.state === 'ready' ? report : this.check(deep, kind));
156
+ const pending = this.performCheck(deep, kind);
104
157
  this.checkPending = pending;
105
158
  void pending.finally(() => { if (this.checkPending === pending)
106
159
  this.checkPending = undefined; }).catch(() => undefined);
@@ -109,18 +162,29 @@ export class KnowledgeEnvironment {
109
162
  item(id, patch) {
110
163
  this.report.items = this.report.items.map(item => item.id === id ? { ...item, ...patch } : item);
111
164
  }
112
- async performCheck(deep) {
165
+ async performCheck(deep, kind) {
113
166
  const checkController = new AbortController();
114
167
  this.checkController = checkController;
115
168
  const signal = this.controller ? AbortSignal.any([this.controller.signal, checkController.signal]) : checkController.signal;
116
169
  const fingerprint = this.fingerprint();
117
170
  const { config, paths } = this.options.snapshot();
118
- this.report = blankReport();
171
+ if (this.report.fingerprint !== fingerprint)
172
+ this.report = blankReport();
173
+ /**
174
+ * 解释器**结构上**装不了原生扩展时,先判失败,不白跑一次模型加载。
175
+ *
176
+ * 这一条是 2026-10-18 补的:那之前自检会照常 `import torch`,然后把 macOS 的
177
+ * `dlopen ... different Team IDs` 整段异常当成失败消息贴给用户 —— 一屏报文,
178
+ * 但真正该说的是「这个 Python 带签名保护,点修复换一个」。一次 `codesign` 就能判,
179
+ * 不必先加载几百 MB 的模型。
180
+ */
181
+ const interpreter = deep ? await this.interpreterProblem(paths.python) : undefined;
119
182
  this.report.state = 'checking';
120
- for (const id of ['embedding', 'rerank']) {
183
+ for (const id of kind ? [kind] : ['embedding', 'rerank']) {
121
184
  if (signal.aborted || this.disposed)
122
185
  break;
123
186
  const path = id === 'embedding' ? paths.embeddingModel : paths.rerankModel;
187
+ const cached = this.report.fingerprint === fingerprint ? this.report.items.find(item => item.id === id) : undefined;
124
188
  this.item(id, { path });
125
189
  const disabled = id === 'embedding' ? config.embeddingProvider === 'none' : config.rerankProvider === 'none';
126
190
  const problem = disabled ? '此能力是必需项,请启用模型'
@@ -129,8 +193,15 @@ export class KnowledgeEnvironment {
129
193
  this.item(id, { state: 'missing', message: problem });
130
194
  continue;
131
195
  }
196
+ if (interpreter) {
197
+ this.item(id, { state: 'failed', message: interpreter });
198
+ continue;
199
+ }
132
200
  if (!deep) {
133
- this.item(id, { state: 'unchecked', message: '资源已找到,尚未完成实际推理自检' });
201
+ if (cached && cached.state !== 'unchecked' && cached.state !== 'checking')
202
+ this.item(id, { state: cached.state, message: cached.message });
203
+ else
204
+ this.item(id, { state: 'unchecked', message: '资源已找到,尚未完成实际推理自检' });
134
205
  continue;
135
206
  }
136
207
  this.item(id, { state: 'checking', message: '加载模型并运行推理自检,首次加载可能较慢' });
@@ -152,12 +223,37 @@ export class KnowledgeEnvironment {
152
223
  ? { ...item, state: 'unchecked', message: '自检已停止,请重新运行' }
153
224
  : item);
154
225
  this.report.state = this.report.items.every(item => item.state === 'ready') ? 'ready' : 'blocked';
155
- this.report.checkedAt = new Date().toISOString();
226
+ if (deep)
227
+ this.report.checkedAt = new Date().toISOString();
156
228
  this.report.fingerprint = fingerprint;
157
229
  if (this.checkController === checkController)
158
230
  this.checkController = undefined;
231
+ if (deep && !signal.aborted && !this.disposed) {
232
+ try {
233
+ await mkdir(this.options.resourceRoot, { recursive: true });
234
+ await writeFile(join(this.options.resourceRoot, CHECK_FILE), JSON.stringify(this.report, null, 2));
235
+ }
236
+ catch { /* The current process can use the result; a later restart may need to probe again. */ }
237
+ }
159
238
  return structuredClone(this.report);
160
239
  }
240
+ /**
241
+ * 这个解释器有没有「加载不了第三方原生扩展」的结构性问题。
242
+ *
243
+ * 目前只有一种:macOS 上带 hardened runtime(`codesign` 的 flags 里有 `runtime`)——
244
+ * 库校验只喂它自己 Team ID 签的 dylib,而 pip 上的 torch 等轮子是 ad-hoc 签名的。
245
+ * 判据来自 `dsh-python.ts`,安装那条路用的是同一个函数:**自检与安装必须看同一件事**,
246
+ * 否则会出现「自检说没问题、装的时候换了解释器」这种两边不对账的情况。
247
+ */
248
+ async interpreterProblem(python) {
249
+ if (!python)
250
+ return undefined;
251
+ const hardened = await hasHardenedRuntime(python, this.options.run ?? runProcess);
252
+ if (!hardened)
253
+ return undefined;
254
+ return '这个环境的 Python 带 macOS 签名保护(hardened runtime),加载不了 pip 安装的原生扩展;'
255
+ + '点「一键安装 / 修复」会用不带签名保护的解释器重建环境。';
256
+ }
161
257
  start(action, requestedSelection) {
162
258
  if (this.disposed)
163
259
  throw new Error('环境服务已关闭');
@@ -174,6 +270,7 @@ export class KnowledgeEnvironment {
174
270
  const job = this.job;
175
271
  const log = (line) => { job.logs = [...job.logs, line.slice(-1500)].slice(-12); };
176
272
  const work = async () => {
273
+ let rollbackSettings;
177
274
  try {
178
275
  // A first-use guard can already be checking. Do not install into that probe.
179
276
  if (this.checkPending)
@@ -192,6 +289,7 @@ export class KnowledgeEnvironment {
192
289
  if (id)
193
290
  this.item(id, { state: 'checking', message: label });
194
291
  }, log, this.options.run ?? runProcess, selection);
292
+ rollbackSettings = await this.options.activateSelection?.();
195
293
  this.options.reload();
196
294
  }
197
295
  else
@@ -202,12 +300,18 @@ export class KnowledgeEnvironment {
202
300
  throw new Error('ENVIRONMENT_CANCELLED');
203
301
  if (report.state !== 'ready')
204
302
  throw new Error(report.items.filter(item => item.state !== 'ready').map(item => `${item.label}:${item.message}`).join(';'));
205
- await mkdir(this.options.resourceRoot, { recursive: true });
206
- await writeFile(join(this.options.resourceRoot, 'environment-last-check.json'), JSON.stringify(report, null, 2));
207
303
  job.state = 'succeeded';
208
304
  job.stage = '环境已就绪';
209
305
  }
210
306
  catch (cause) {
307
+ if (rollbackSettings) {
308
+ try {
309
+ await rollbackSettings();
310
+ }
311
+ catch (rollbackCause) {
312
+ log(`恢复模型设置失败:${rollbackCause instanceof Error ? rollbackCause.message : String(rollbackCause)}`);
313
+ }
314
+ }
211
315
  if (action === 'install') {
212
316
  const activeSelection = readModelSelection(this.options.resourceRoot);
213
317
  if (activeSelection.embedding !== previousSelection.embedding || activeSelection.rerank !== previousSelection.rerank) {
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/environment/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AAExE,OAAO,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC3E,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAuB,MAAM,oBAAoB,CAAA;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAYxE,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;AACpD,SAAS,WAAW;IAClB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAG,CAAC,WAAW,EAAE,QAAQ,CAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAA;AACjL,CAAC;AACD,SAAS,KAAK,CAAC,IAAY,IAAa,IAAI,CAAC;IAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;AAAC,CAAC;AAAC,MAAM,CAAC;IAAC,OAAO,IAAI,CAAA;AAAC,CAAC,CAAC,CAAC;AACxI,SAAS,gBAAgB,CAAC,UAAkB;IAC1C,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;IACpD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA;IAC7D,IAAI,CAAC;QAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;YAAE,OAAO,OAAO,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,yCAAyC,CAAC,CAAC;IAC/G,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;IAChD,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7F,IAAI,gBAAgB;YAAE,OAAO,IAAI,CAAC,WAAW,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAA;IACnF,CAAC;IAAC,MAAM,CAAC,CAAC,qCAAqC,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;AAC3C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,+BAA+B,CAAA;IAC7D,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC;YAAE,OAAO,kBAAkB,CAAA;QAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACvE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;YAAE,OAAO,cAAc,CAAA;QAC1G,MAAM,SAAS,GAAG,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;QAC1J,IAAI,CAAC,SAAS;YAAE,OAAO,aAAa,CAAA;IACtC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,cAAc,CAAA;IAAC,CAAC;IACjC,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,2EAA2E;AAC3E,MAAM,OAAO,oBAAoB;IAQF;IAPrB,MAAM,GAAG,WAAW,EAAE,CAAA;IACtB,GAAG,CAAyB;IAC5B,YAAY,CAA6B;IACzC,IAAI,CAAgB;IACpB,UAAU,CAAkB;IAC5B,eAAe,CAAkB;IACjC,QAAQ,GAAG,KAAK,CAAA;IACxB,YAA6B,OAA2B;QAA3B,YAAO,GAAP,OAAO,CAAoB;IAAG,CAAC;IAEpD,WAAW;QACjB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;QACjD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;QAC1C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YAChD,KAAK,EAAE,yBAAyB,EAAE,KAAK;YACvC,QAAQ,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,SAAS,EAAE,MAAM,CAAC,kBAAkB,EAAE,QAAQ,EAAE,MAAM,CAAC,gBAAgB;YAC1K,SAAS,EAAE,oBAAoB,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,oBAAoB,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;YACjK,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,gBAAgB,CAAC;SAC9J,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE;YAAE,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE,CAAA;QACtI,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QAC/D,OAAO,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAChI,CAAC;IACD,UAAU,KAAW,IAAI,CAAC,IAAI,CAAC,YAAY;QAAE,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE,CAAA,CAAC,CAAC;IAE1E,KAAK,CAAC,YAAY;QAChB,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;QAC7C,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;QACnG,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7F,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;IACxL,CAAC;IAED,KAAK,CAAC,IAAI,GAAG,IAAI;QACf,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC,YAAY,CAAA;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAA;QAC3B,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO;YAAE,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QACvH,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,IAAI,CAAC,EAAqB,EAAE,KAA+B;QACjE,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAClG,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAa;QACtC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QAC7C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAA;QAC3H,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QACtC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;QACjD,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE,CAAA;QAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAA;QAC9B,KAAK,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAU,EAAE,CAAC;YAClD,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAK;YAC1C,MAAM,IAAI,GAAG,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAA;YAC1E,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;YACvB,MAAM,QAAQ,GAAG,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,KAAK,MAAM,CAAA;YAC5G,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe;gBACxC,CAAC,CAAC,EAAE,KAAK,WAAW,IAAI,MAAM,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACrG,IAAI,OAAO,EAAE,CAAC;gBAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBAAC,SAAQ;YAAC,CAAC;YAChF,IAAI,CAAC,IAAI,EAAE,CAAC;gBAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAAC,SAAQ;YAAC,CAAC;YAC3F,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAA;YACrE,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBAC3C,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;YACnF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAAC,CAAC;QACzH,CAAC;QACD,MAAM,OAAO,GAAG,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE,CAAA;QAClD,IAAI,OAAO;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO;gBACnF,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,qBAAqB,EAAE;gBACjE,CAAC,CAAC,IAAI,CAAC,CAAA;QACT,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,UAAU;gBAC9G,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE;gBACzD,CAAC,CAAC,IAAI,CAAC,CAAA;QACT,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;QACjG,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAChD,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,WAAW,CAAA;QACrC,IAAI,IAAI,CAAC,eAAe,KAAK,eAAe;YAAE,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAC9E,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,MAA2B,EAAE,kBAA4B;QAC7D,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;QAC7C,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;QACrD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACvE,MAAM,SAAS,GAAmB,MAAM,KAAK,SAAS;YACpD,CAAC,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;YAC5D,CAAC,CAAC,iBAAiB,CAAA;QACrB,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,CAAA;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QAClC,IAAI,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;QAC/I,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QACpB,MAAM,GAAG,GAAG,CAAC,IAAY,EAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;QAC9F,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;YACrC,IAAI,CAAC;gBACH,6EAA6E;gBAC7E,IAAI,IAAI,CAAC,YAAY;oBAAE,MAAM,IAAI,CAAC,YAAY,CAAA;gBAC9C,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;gBACvE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE,CAAA;oBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAA;oBAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,0BAA0B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;wBAC/G,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;wBACjB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK;4BAAE,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU;gCAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAA;wBAC1I,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;wBAC3F,IAAI,EAAE;4BAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;oBAC9D,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,SAAS,CAAC,CAAA;oBAClD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA;gBACvB,CAAC;;oBAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA;gBAC5B,GAAG,CAAC,KAAK,GAAG,UAAU,CAAA;gBACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBACrC,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;gBACvE,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;gBACzJ,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC3D,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,6BAA6B,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;gBAChH,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC;gBAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAA;YAC9C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;oBACrE,IAAI,eAAe,CAAC,SAAS,KAAK,iBAAiB,CAAC,SAAS,IAAI,eAAe,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE,CAAC;wBACrH,IAAI,CAAC;4BACH,MAAM,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAA;4BACvE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA;4BACrB,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE,CAAA;4BAC3B,GAAG,CAAC,sBAAsB,CAAC,CAAA;wBAC7B,CAAC;wBAAC,OAAO,aAAa,EAAE,CAAC;4BACvB,GAAG,CAAC,cAAc,aAAa,YAAY,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;wBACrG,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAA;gBAC9D,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACtH,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAA;gBACvD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;oBAClC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS,CAAA;oBAC7B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK;wBAAE,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU;4BAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAA;gBAC5K,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,GAAG,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;gBACzC,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU;oBAAE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;YACjE,CAAC;QACH,CAAC,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;IACpB,CAAC;IACD,KAAK,CAAC,IAAI,KAAoB,MAAM,IAAI,CAAC,IAAI,CAAA,CAAC,CAAC;IAC/C,MAAM;QACJ,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;QAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,CAAA;QACvD,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,gBAAgB,CAAA;IACtE,CAAC;IACD,KAAK,KAAW,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA,CAAC,CAAC;CACtD"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/environment/service.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,11 @@ export interface EnvironmentReport {
16
16
  fingerprint?: string;
17
17
  items: EnvironmentItem[];
18
18
  }
19
+ export interface EnvironmentCurrentModel {
20
+ id?: string;
21
+ label: string;
22
+ state: 'active' | 'disabled';
23
+ }
19
24
  export interface EnvironmentJob {
20
25
  id: string;
21
26
  state: 'running' | 'succeeded' | 'failed' | 'cancelled';
@@ -29,6 +34,10 @@ export interface EnvironmentView {
29
34
  report: EnvironmentReport;
30
35
  job?: EnvironmentJob;
31
36
  selection: ModelSelection;
37
+ current: {
38
+ embedding: EnvironmentCurrentModel;
39
+ rerank: EnvironmentCurrentModel;
40
+ };
32
41
  models: {
33
42
  embedding: ModelOptionView[];
34
43
  rerank: ModelOptionView[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/environment/types.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEzE,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,QAAQ,CAAA;AACtD,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAA;AAC5F,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,iBAAiB,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,oBAAoB,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AACD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAA;IACrD,QAAQ,EAAE,IAAI,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,eAAe,EAAE,CAAA;CACzB;AACD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAA;IACvD,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AACD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,iBAAiB,CAAA;IACzB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,SAAS,EAAE,cAAc,CAAA;IACzB,MAAM,EAAE;QAAE,SAAS,EAAE,eAAe,EAAE,CAAC;QAAC,MAAM,EAAE,eAAe,EAAE,CAAA;KAAE,CAAA;CACpE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/environment/types.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEzE,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,QAAQ,CAAA;AACtD,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAA;AAC5F,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,iBAAiB,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,oBAAoB,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AACD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAA;IACrD,QAAQ,EAAE,IAAI,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,eAAe,EAAE,CAAA;CACzB;AACD,MAAM,WAAW,uBAAuB;IACtC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,QAAQ,GAAG,UAAU,CAAA;CAC7B;AACD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAA;IACvD,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AACD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,iBAAiB,CAAA;IACzB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,SAAS,EAAE,cAAc,CAAA;IACzB,OAAO,EAAE;QAAE,SAAS,EAAE,uBAAuB,CAAC;QAAC,MAAM,EAAE,uBAAuB,CAAA;KAAE,CAAA;IAChF,MAAM,EAAE;QAAE,SAAS,EAAE,eAAe,EAAE,CAAC;QAAC,MAAM,EAAE,eAAe,EAAE,CAAA;KAAE,CAAA;CACpE"}
@@ -57,6 +57,8 @@ export interface EventEntity {
57
57
  createdAt: string;
58
58
  updatedAt: string;
59
59
  }
60
+ /** Remove the legacy generated Event list from a WikiCard body. References live in card_event. */
61
+ export declare function stripEventReferenceSection(content: string): string;
60
62
  export declare function compositeEventIdentity(occurredAt: string | null, coordinate: CardCoordinate, symptom: string | null): string;
61
63
  /** Recompute the aggregate after records are appended, pruned or redirected. */
62
64
  export declare function eventEntityFromRecords(input: {
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,18 @@
1
1
  import { createHash } from 'node:crypto';
2
2
  import { normalizeKnowledge } from './knowledge.js';
3
+ /** Remove the legacy generated Event list from a WikiCard body. References live in card_event. */
4
+ export function stripEventReferenceSection(content) {
5
+ const lines = content.split('\n');
6
+ for (let start = lines.length - 1; start >= 0; start -= 1) {
7
+ if (!/^##\s+关联\s*Events?\s*$|^##\s+关联事件\s*$/.test((lines[start] ?? '').trim()))
8
+ continue;
9
+ let end = start + 1;
10
+ while (end < lines.length && !/^#{1,2}\s+/.test(lines[end] ?? ''))
11
+ end += 1;
12
+ lines.splice(start, end - start);
13
+ }
14
+ return lines.join('\n').trim();
15
+ }
3
16
  export function compositeEventIdentity(occurredAt, coordinate, symptom) {
4
17
  const payload = [occurredAt, coordinate.objectId, coordinate.actionId, coordinate.sceneId, normalizeKnowledge(symptom ?? '')];
5
18
  return 'composite:' + createHash('sha256').update(JSON.stringify(payload)).digest('hex').slice(0, 24);
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"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"}