dsh-data-domain-knowledge 0.1.0-alpha.9 → 0.1.1-alpha.2

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 (438) hide show
  1. package/README.md +118 -567
  2. package/cordis.patch.yml +5 -418
  3. package/eval/README.md +19 -8
  4. package/eval/benchmark-extraction-format.mjs +20 -0
  5. package/eval/evaluate-retrieval.mjs +17 -8
  6. package/eval/queries.example.jsonl +1 -0
  7. package/lib/client.js +4181 -3239
  8. package/lib/contract-envelope.d.ts +91 -0
  9. package/lib/contract-envelope.js +106 -0
  10. package/lib/contract-layout.d.ts +130 -0
  11. package/lib/contract-layout.js +138 -0
  12. package/lib/contract-refs.d.ts +39 -0
  13. package/lib/contract-refs.js +9 -0
  14. package/lib/contract-version.d.ts +311 -0
  15. package/lib/contract-version.js +270 -0
  16. package/lib/contract-wire.d.ts +147 -0
  17. package/lib/contract-wire.js +99 -0
  18. package/lib/contracts.d.ts +12 -0
  19. package/lib/contracts.js +12 -0
  20. package/lib/doc-page.js +2 -2
  21. package/lib/pages.js +3329 -1296
  22. package/lib/types/agent-behavior-rules.d.ts +10 -0
  23. package/lib/types/agent-behavior-rules.d.ts.map +1 -0
  24. package/lib/types/agent-behavior-rules.js +28 -0
  25. package/lib/types/agent-behavior-rules.js.map +1 -0
  26. package/lib/types/axis-registry.d.ts +37 -5
  27. package/lib/types/axis-registry.d.ts.map +1 -1
  28. package/lib/types/axis-registry.js +234 -26
  29. package/lib/types/axis-registry.js.map +1 -1
  30. package/lib/types/card-organize.d.ts +27 -12
  31. package/lib/types/card-organize.d.ts.map +1 -1
  32. package/lib/types/card-organize.js +58 -73
  33. package/lib/types/card-organize.js.map +1 -1
  34. package/lib/types/compiler/embedding-identity.d.ts +3 -0
  35. package/lib/types/compiler/embedding-identity.d.ts.map +1 -0
  36. package/lib/types/compiler/embedding-identity.js +24 -0
  37. package/lib/types/compiler/embedding-identity.js.map +1 -0
  38. package/lib/types/compiler/snapshot.d.ts +16 -0
  39. package/lib/types/compiler/snapshot.d.ts.map +1 -0
  40. package/lib/types/compiler/snapshot.js +2 -0
  41. package/lib/types/compiler/snapshot.js.map +1 -0
  42. package/lib/types/config-schema.d.ts +6 -3
  43. package/lib/types/config-schema.d.ts.map +1 -1
  44. package/lib/types/config-schema.js +6 -2
  45. package/lib/types/config-schema.js.map +1 -1
  46. package/lib/types/convert/host.d.ts +6 -5
  47. package/lib/types/convert/host.d.ts.map +1 -1
  48. package/lib/types/convert/host.js +58 -18
  49. package/lib/types/convert/host.js.map +1 -1
  50. package/lib/types/convert/ingest.d.ts +10 -1
  51. package/lib/types/convert/ingest.d.ts.map +1 -1
  52. package/lib/types/convert/ingest.js +68 -9
  53. package/lib/types/convert/ingest.js.map +1 -1
  54. package/lib/types/derive-contract.d.ts +3 -0
  55. package/lib/types/derive-contract.d.ts.map +1 -0
  56. package/lib/types/derive-contract.js +15 -0
  57. package/lib/types/derive-contract.js.map +1 -0
  58. package/lib/types/diagnosis/cards.d.ts +7 -3
  59. package/lib/types/diagnosis/cards.d.ts.map +1 -1
  60. package/lib/types/diagnosis/cards.js +13 -8
  61. package/lib/types/diagnosis/cards.js.map +1 -1
  62. package/lib/types/diagnosis/run.d.ts +4 -13
  63. package/lib/types/diagnosis/run.d.ts.map +1 -1
  64. package/lib/types/diagnosis/run.js +26 -16
  65. package/lib/types/diagnosis/run.js.map +1 -1
  66. package/lib/types/diagnosis/schema.js +2 -2
  67. package/lib/types/diagnosis/schema.js.map +1 -1
  68. package/lib/types/diagnosis/seed-source.d.ts +1 -1
  69. package/lib/types/diagnosis/seed-source.d.ts.map +1 -1
  70. package/lib/types/diagnosis/seed-source.js +5 -4
  71. package/lib/types/diagnosis/seed-source.js.map +1 -1
  72. package/lib/types/diagnosis/seed.d.ts +4 -4
  73. package/lib/types/diagnosis/seed.d.ts.map +1 -1
  74. package/lib/types/diagnosis/seed.js +6 -8
  75. package/lib/types/diagnosis/seed.js.map +1 -1
  76. package/lib/types/diagnosis/store.d.ts +24 -18
  77. package/lib/types/diagnosis/store.d.ts.map +1 -1
  78. package/lib/types/diagnosis/store.js +130 -65
  79. package/lib/types/diagnosis/store.js.map +1 -1
  80. package/lib/types/diagnosis/types.d.ts +47 -15
  81. package/lib/types/diagnosis/types.d.ts.map +1 -1
  82. package/lib/types/diagnosis/types.js.map +1 -1
  83. package/lib/types/environment/dsh-python.d.ts +77 -0
  84. package/lib/types/environment/dsh-python.d.ts.map +1 -0
  85. package/lib/types/environment/dsh-python.js +139 -0
  86. package/lib/types/environment/dsh-python.js.map +1 -0
  87. package/lib/types/environment/install.d.ts +15 -0
  88. package/lib/types/environment/install.d.ts.map +1 -0
  89. package/lib/types/environment/install.js +297 -0
  90. package/lib/types/environment/install.js.map +1 -0
  91. package/lib/types/environment/manifest.d.ts +208 -0
  92. package/lib/types/environment/manifest.d.ts.map +1 -0
  93. package/lib/types/environment/manifest.js +26 -0
  94. package/lib/types/environment/manifest.js.map +1 -0
  95. package/lib/types/environment/model-catalog.d.ts +223 -0
  96. package/lib/types/environment/model-catalog.d.ts.map +1 -0
  97. package/lib/types/environment/model-catalog.js +129 -0
  98. package/lib/types/environment/model-catalog.js.map +1 -0
  99. package/lib/types/environment/process.d.ts +10 -0
  100. package/lib/types/environment/process.d.ts.map +1 -0
  101. package/lib/types/environment/process.js +54 -0
  102. package/lib/types/environment/process.js.map +1 -0
  103. package/lib/types/environment/selection.d.ts +9 -0
  104. package/lib/types/environment/selection.d.ts.map +1 -0
  105. package/lib/types/environment/selection.js +29 -0
  106. package/lib/types/environment/selection.js.map +1 -0
  107. package/lib/types/environment/service.d.ts +64 -0
  108. package/lib/types/environment/service.d.ts.map +1 -0
  109. package/lib/types/environment/service.js +424 -0
  110. package/lib/types/environment/service.js.map +1 -0
  111. package/lib/types/environment/types.d.ts +56 -0
  112. package/lib/types/environment/types.d.ts.map +1 -0
  113. package/lib/types/environment/types.js +2 -0
  114. package/lib/types/environment/types.js.map +1 -0
  115. package/lib/types/events.d.ts +76 -0
  116. package/lib/types/events.d.ts.map +1 -0
  117. package/lib/types/events.js +52 -0
  118. package/lib/types/events.js.map +1 -0
  119. package/lib/types/extract-contract.d.ts +3 -0
  120. package/lib/types/extract-contract.d.ts.map +1 -0
  121. package/lib/types/extract-contract.js +41 -0
  122. package/lib/types/extract-contract.js.map +1 -0
  123. package/lib/types/extract-model.d.ts +5 -0
  124. package/lib/types/extract-model.d.ts.map +1 -1
  125. package/lib/types/extract-model.js.map +1 -1
  126. package/lib/types/extract-table-contract.d.ts +3 -0
  127. package/lib/types/extract-table-contract.d.ts.map +1 -0
  128. package/lib/types/extract-table-contract.js +27 -0
  129. package/lib/types/extract-table-contract.js.map +1 -0
  130. package/lib/types/extract-table.d.ts +8 -0
  131. package/lib/types/extract-table.d.ts.map +1 -0
  132. package/lib/types/extract-table.js +158 -0
  133. package/lib/types/extract-table.js.map +1 -0
  134. package/lib/types/extraction-runs.d.ts +30 -6
  135. package/lib/types/extraction-runs.d.ts.map +1 -1
  136. package/lib/types/extraction-runs.js +69 -8
  137. package/lib/types/extraction-runs.js.map +1 -1
  138. package/lib/types/fs-atomic.d.ts +0 -7
  139. package/lib/types/fs-atomic.d.ts.map +1 -1
  140. package/lib/types/fs-atomic.js +17 -2
  141. package/lib/types/fs-atomic.js.map +1 -1
  142. package/lib/types/images.d.ts +26 -0
  143. package/lib/types/images.d.ts.map +1 -0
  144. package/lib/types/images.js +196 -0
  145. package/lib/types/images.js.map +1 -0
  146. package/lib/types/index.d.ts +2 -2
  147. package/lib/types/index.d.ts.map +1 -1
  148. package/lib/types/index.js +598 -209
  149. package/lib/types/index.js.map +1 -1
  150. package/lib/types/intent/engine.d.ts +12 -4
  151. package/lib/types/intent/engine.d.ts.map +1 -1
  152. package/lib/types/intent/engine.js +43 -5
  153. package/lib/types/intent/engine.js.map +1 -1
  154. package/lib/types/intent/host.d.ts +5 -8
  155. package/lib/types/intent/host.d.ts.map +1 -1
  156. package/lib/types/intent/host.js +56 -11
  157. package/lib/types/intent/host.js.map +1 -1
  158. package/lib/types/intent/scope.d.ts +25 -0
  159. package/lib/types/intent/scope.d.ts.map +1 -0
  160. package/lib/types/intent/scope.js +116 -0
  161. package/lib/types/intent/scope.js.map +1 -0
  162. package/lib/types/intent/tools.d.ts +24 -20
  163. package/lib/types/intent/tools.d.ts.map +1 -1
  164. package/lib/types/intent/tools.js +65 -23
  165. package/lib/types/intent/tools.js.map +1 -1
  166. package/lib/types/intent/types.d.ts +11 -4
  167. package/lib/types/intent/types.d.ts.map +1 -1
  168. package/lib/types/knowledge-bases.d.ts +11 -5
  169. package/lib/types/knowledge-bases.d.ts.map +1 -1
  170. package/lib/types/knowledge-bases.js +52 -20
  171. package/lib/types/knowledge-bases.js.map +1 -1
  172. package/lib/types/knowledge-contract.d.ts +32 -0
  173. package/lib/types/knowledge-contract.d.ts.map +1 -0
  174. package/lib/types/knowledge-contract.js +116 -0
  175. package/lib/types/knowledge-contract.js.map +1 -0
  176. package/lib/types/knowledge.d.ts +31 -9
  177. package/lib/types/knowledge.d.ts.map +1 -1
  178. package/lib/types/knowledge.js +137 -60
  179. package/lib/types/knowledge.js.map +1 -1
  180. package/lib/types/layout.d.ts +10 -29
  181. package/lib/types/layout.d.ts.map +1 -1
  182. package/lib/types/layout.js +17 -36
  183. package/lib/types/layout.js.map +1 -1
  184. package/lib/types/materialize-snapshot.d.ts +49 -0
  185. package/lib/types/materialize-snapshot.d.ts.map +1 -0
  186. package/lib/types/materialize-snapshot.js +2 -0
  187. package/lib/types/materialize-snapshot.js.map +1 -0
  188. package/lib/types/migrate.d.ts +11 -0
  189. package/lib/types/migrate.d.ts.map +1 -1
  190. package/lib/types/migrate.js +83 -2
  191. package/lib/types/migrate.js.map +1 -1
  192. package/lib/types/model-text.d.ts +58 -1
  193. package/lib/types/model-text.d.ts.map +1 -1
  194. package/lib/types/model-text.js +85 -30
  195. package/lib/types/model-text.js.map +1 -1
  196. package/lib/types/oplog.d.ts.map +1 -1
  197. package/lib/types/oplog.js +7 -0
  198. package/lib/types/oplog.js.map +1 -1
  199. package/lib/types/organize-contract.d.ts +18 -0
  200. package/lib/types/organize-contract.d.ts.map +1 -0
  201. package/lib/types/organize-contract.js +82 -0
  202. package/lib/types/organize-contract.js.map +1 -0
  203. package/lib/types/pipeline/engine.d.ts +66 -0
  204. package/lib/types/pipeline/engine.d.ts.map +1 -0
  205. package/lib/types/pipeline/engine.js +352 -0
  206. package/lib/types/pipeline/engine.js.map +1 -0
  207. package/lib/types/pipeline/store.d.ts +73 -0
  208. package/lib/types/pipeline/store.d.ts.map +1 -0
  209. package/lib/types/pipeline/store.js +143 -0
  210. package/lib/types/pipeline/store.js.map +1 -0
  211. package/lib/types/pipeline/types.d.ts +102 -0
  212. package/lib/types/pipeline/types.d.ts.map +1 -0
  213. package/lib/types/pipeline/types.js +5 -0
  214. package/lib/types/pipeline/types.js.map +1 -0
  215. package/lib/types/present.d.ts +2 -0
  216. package/lib/types/present.d.ts.map +1 -1
  217. package/lib/types/present.js +9 -4
  218. package/lib/types/present.js.map +1 -1
  219. package/lib/types/preset-ids.d.ts +4 -0
  220. package/lib/types/preset-ids.d.ts.map +1 -0
  221. package/lib/types/preset-ids.js +6 -0
  222. package/lib/types/preset-ids.js.map +1 -0
  223. package/lib/types/query-analysis.d.ts +13 -1
  224. package/lib/types/query-analysis.d.ts.map +1 -1
  225. package/lib/types/query-analysis.js +62 -6
  226. package/lib/types/query-analysis.js.map +1 -1
  227. package/lib/types/recall-rank.d.ts +3 -3
  228. package/lib/types/recall-rank.d.ts.map +1 -1
  229. package/lib/types/recall-rank.js +4 -4
  230. package/lib/types/recall-rank.js.map +1 -1
  231. package/lib/types/retention.d.ts +39 -0
  232. package/lib/types/retention.d.ts.map +1 -0
  233. package/lib/types/retention.js +42 -0
  234. package/lib/types/retention.js.map +1 -0
  235. package/lib/types/retrieval/vector-index.d.ts +32 -0
  236. package/lib/types/retrieval/vector-index.d.ts.map +1 -0
  237. package/lib/types/retrieval/vector-index.js +15 -0
  238. package/lib/types/retrieval/vector-index.js.map +1 -0
  239. package/lib/types/retrieval/visibility.d.ts +6 -0
  240. package/lib/types/retrieval/visibility.d.ts.map +1 -0
  241. package/lib/types/retrieval/visibility.js +11 -0
  242. package/lib/types/retrieval/visibility.js.map +1 -0
  243. package/lib/types/runtime.d.ts +272 -27
  244. package/lib/types/runtime.d.ts.map +1 -1
  245. package/lib/types/runtime.js +2751 -537
  246. package/lib/types/runtime.js.map +1 -1
  247. package/lib/types/settings-schema.d.ts +17 -15
  248. package/lib/types/settings-schema.d.ts.map +1 -1
  249. package/lib/types/settings-schema.js +50 -47
  250. package/lib/types/settings-schema.js.map +1 -1
  251. package/lib/types/settings-volatile.d.ts +4 -4
  252. package/lib/types/settings-volatile.js +4 -4
  253. package/lib/types/source-evidence.d.ts +14 -0
  254. package/lib/types/source-evidence.d.ts.map +1 -0
  255. package/lib/types/source-evidence.js +36 -0
  256. package/lib/types/source-evidence.js.map +1 -0
  257. package/lib/types/store/axis-references.d.ts +5 -0
  258. package/lib/types/store/axis-references.d.ts.map +1 -0
  259. package/lib/types/store/axis-references.js +106 -0
  260. package/lib/types/store/axis-references.js.map +1 -0
  261. package/lib/types/store/derived.d.ts +12 -1
  262. package/lib/types/store/derived.d.ts.map +1 -1
  263. package/lib/types/store/derived.js +71 -12
  264. package/lib/types/store/derived.js.map +1 -1
  265. package/lib/types/store/knowledge-db.d.ts +31 -1
  266. package/lib/types/store/knowledge-db.d.ts.map +1 -1
  267. package/lib/types/store/knowledge-db.js +252 -18
  268. package/lib/types/store/knowledge-db.js.map +1 -1
  269. package/lib/types/store/migrate.d.ts.map +1 -1
  270. package/lib/types/store/migrate.js +17 -6
  271. package/lib/types/store/migrate.js.map +1 -1
  272. package/lib/types/trajectory-types.d.ts +172 -0
  273. package/lib/types/trajectory-types.d.ts.map +1 -0
  274. package/lib/types/trajectory-types.js +36 -0
  275. package/lib/types/trajectory-types.js.map +1 -0
  276. package/lib/types/types.d.ts +59 -27
  277. package/lib/types/types.d.ts.map +1 -1
  278. package/lib/types/types.js +6 -15
  279. package/lib/types/types.js.map +1 -1
  280. package/lib/types/wiki-finalize.d.ts +16 -0
  281. package/lib/types/wiki-finalize.d.ts.map +1 -1
  282. package/lib/types/wiki-finalize.js +26 -0
  283. package/lib/types/wiki-finalize.js.map +1 -1
  284. package/lib/types/wiki-materialize.d.ts +4 -0
  285. package/lib/types/wiki-materialize.d.ts.map +1 -1
  286. package/lib/types/wiki-materialize.js +21 -7
  287. package/lib/types/wiki-materialize.js.map +1 -1
  288. package/lib/types/wiki-trial-types.d.ts +87 -0
  289. package/lib/types/wiki-trial-types.d.ts.map +1 -1
  290. package/lib/types/wiki-trial-types.js +0 -16
  291. package/lib/types/wiki-trial-types.js.map +1 -1
  292. package/lib/types/wiki-trial.d.ts +40 -16
  293. package/lib/types/wiki-trial.d.ts.map +1 -1
  294. package/lib/types/wiki-trial.js +337 -224
  295. package/lib/types/wiki-trial.js.map +1 -1
  296. package/package.json +29 -20
  297. package/python/prepare-models.py +19 -0
  298. package/python/requirements.txt +8 -6
  299. package/scripts/doctor.mjs +13 -19
  300. package/scripts/environment.mjs +29 -0
  301. package/scripts/setup-embedding.sh +15 -5
  302. package/src/agent-behavior-rules.ts +37 -0
  303. package/src/axis-registry.ts +234 -27
  304. package/src/card-organize.ts +69 -75
  305. package/src/client/AgentBehaviorRulesCard.tsx +65 -0
  306. package/src/client/AttributionEventGuide.tsx +41 -39
  307. package/src/client/AxisRegistrySection.tsx +204 -164
  308. package/src/client/CompileDialogs.tsx +44 -29
  309. package/src/client/DeleteDocumentDialog.tsx +36 -5
  310. package/src/client/DirectoryPicker.tsx +0 -10
  311. package/src/client/EnvironmentSetup.tsx +243 -0
  312. package/src/client/ExpansionGraph.tsx +13 -7
  313. package/src/client/ExtractionTasksPage.tsx +578 -0
  314. package/src/client/GuideArchitectureCanvas.tsx +470 -0
  315. package/src/client/ImportFilesDialog.tsx +2 -13
  316. package/src/client/IntentLogic.tsx +2 -2
  317. package/src/client/IntentTab.tsx +118 -47
  318. package/src/client/KnowledgeBaseTab.tsx +277 -197
  319. package/src/client/KnowledgeLayerSection.tsx +24 -6
  320. package/src/client/KnowledgePanel.tsx +58 -93
  321. package/src/client/KnowledgeSettingsDrawer.tsx +90 -0
  322. package/src/client/ListPager.tsx +15 -5
  323. package/src/client/MaterializeTrajectoryView.tsx +124 -0
  324. package/src/client/NodeSettings.tsx +210 -89
  325. package/src/client/NormalizeTrajectoryView.tsx +136 -0
  326. package/src/client/PipelineNotice.tsx +26 -0
  327. package/src/client/PreviewSections.tsx +118 -51
  328. package/src/client/RecallPanel.tsx +89 -85
  329. package/src/client/TabGuide.tsx +159 -184
  330. package/src/client/TrialReportView.tsx +391 -214
  331. package/src/client/TypeDefinitionDrawer.tsx +150 -23
  332. package/src/client/WikiCardPreview.tsx +62 -16
  333. package/src/client/WikiFlowPanel.tsx +4 -4
  334. package/src/client/arch/NodeLogicPanel.tsx +3 -4
  335. package/src/client/arch/model.ts +6 -9
  336. package/src/client/architecture.tsx +23 -33
  337. package/src/client/attribution/AttributionGraph.tsx +10 -6
  338. package/src/client/attribution/AttributionTab.tsx +136 -84
  339. package/src/client/attribution/CaseView.tsx +3 -1
  340. package/src/client/attribution/EventView.tsx +108 -0
  341. package/src/client/attribution/RunView.tsx +2 -2
  342. package/src/client/attribution/StageChrome.tsx +34 -3
  343. package/src/client/attribution/ViewSwitch.tsx +20 -5
  344. package/src/client/attribution/graph-options.ts +47 -39
  345. package/src/client/attribution/model.ts +17 -10
  346. package/src/client/config-scope.ts +3 -3
  347. package/src/client/graph/palette.ts +165 -0
  348. package/src/client/index.ts +49 -42
  349. package/src/client/pages.css +459 -135
  350. package/src/client/pages.tsx +37 -9
  351. package/src/client/problem-domains.ts +1 -1
  352. package/src/client/session-remote.ts +9 -0
  353. package/src/client/styles.css +205 -62
  354. package/src/client/wiki-trial.ts +44 -3
  355. package/src/compiler/embedding-identity.ts +21 -0
  356. package/src/compiler/snapshot.ts +17 -0
  357. package/src/config-schema.ts +8 -3
  358. package/src/convert/host.ts +56 -21
  359. package/src/convert/ingest.ts +74 -10
  360. package/src/derive-contract.ts +14 -0
  361. package/src/diagnosis/cards.ts +13 -8
  362. package/src/diagnosis/run.ts +27 -17
  363. package/src/diagnosis/schema.ts +2 -2
  364. package/src/diagnosis/seed-source.ts +5 -4
  365. package/src/diagnosis/seed.ts +6 -8
  366. package/src/diagnosis/store.ts +138 -69
  367. package/src/diagnosis/types.ts +34 -15
  368. package/src/environment/dsh-python.ts +156 -0
  369. package/src/environment/install.ts +244 -0
  370. package/src/environment/manifest.ts +28 -0
  371. package/src/environment/model-catalog.ts +147 -0
  372. package/src/environment/process.ts +54 -0
  373. package/src/environment/selection.ts +29 -0
  374. package/src/environment/service.ts +348 -0
  375. package/src/environment/types.ts +45 -0
  376. package/src/events.ts +108 -0
  377. package/src/extract-contract.ts +42 -0
  378. package/src/extract-model.ts +10 -1
  379. package/src/extract-table-contract.ts +26 -0
  380. package/src/extract-table.ts +132 -0
  381. package/src/extraction-runs.ts +70 -11
  382. package/src/fs-atomic.ts +19 -2
  383. package/src/images.ts +203 -0
  384. package/src/index.ts +553 -205
  385. package/src/intent/README.md +8 -6
  386. package/src/intent/engine.ts +44 -6
  387. package/src/intent/host.ts +59 -18
  388. package/src/intent/scope.ts +125 -0
  389. package/src/intent/tools.ts +70 -28
  390. package/src/intent/types.ts +11 -4
  391. package/src/knowledge-bases.ts +56 -20
  392. package/src/knowledge-contract.ts +114 -0
  393. package/src/knowledge.ts +138 -69
  394. package/src/layout.ts +17 -37
  395. package/src/materialize-snapshot.ts +46 -0
  396. package/src/migrate.ts +75 -2
  397. package/src/model-text.ts +109 -4
  398. package/src/oplog.ts +7 -0
  399. package/src/organize-contract.ts +83 -0
  400. package/src/pipeline/engine.ts +323 -0
  401. package/src/pipeline/store.ts +147 -0
  402. package/src/pipeline/types.ts +93 -0
  403. package/src/present.ts +10 -4
  404. package/src/preset-ids.ts +6 -0
  405. package/src/python/embedding_worker.py +66 -2
  406. package/src/query-analysis.ts +68 -8
  407. package/src/recall-rank.ts +5 -5
  408. package/src/retention.ts +76 -0
  409. package/src/retrieval/vector-index.ts +45 -0
  410. package/src/retrieval/visibility.ts +14 -0
  411. package/src/runtime.ts +2708 -567
  412. package/src/settings-schema.ts +11 -8
  413. package/src/settings-volatile.ts +4 -4
  414. package/src/source-evidence.ts +37 -0
  415. package/src/store/axis-references.ts +96 -0
  416. package/src/store/derived.ts +70 -12
  417. package/src/store/knowledge-db.ts +248 -17
  418. package/src/store/migrate.ts +16 -6
  419. package/src/trajectory-types.ts +142 -0
  420. package/src/types.ts +61 -35
  421. package/src/wiki-finalize.ts +28 -0
  422. package/src/wiki-materialize.ts +25 -6
  423. package/src/wiki-trial-types.ts +83 -1
  424. package/src/wiki-trial.ts +357 -185
  425. package/lib/types/intent/preset-tools.d.ts +0 -37
  426. package/lib/types/intent/preset-tools.d.ts.map +0 -1
  427. package/lib/types/intent/preset-tools.js +0 -45
  428. package/lib/types/intent/preset-tools.js.map +0 -1
  429. package/preset/tita-data-agent/agent.cordis.yml +0 -394
  430. package/preset/tita-data-agent/preset.yml +0 -3
  431. package/scripts/install-agent-preset.mjs +0 -92
  432. package/scripts/sync-agent-preset.mjs +0 -188
  433. package/src/client/AgentPresetCard.tsx +0 -247
  434. package/src/client/agent-preset.ts +0 -121
  435. package/src/client/convert/ConvertPanel.tsx +0 -583
  436. package/src/client/convert/styles.css +0 -138
  437. package/src/client/convert/styles.ts +0 -49
  438. package/src/intent/preset-tools.ts +0 -48
@@ -0,0 +1,65 @@
1
+ import { useState, type ReactNode } from 'react'
2
+ import { Switch } from '@tita-agent/ui/components'
3
+ import { AlertCircle } from '@tita-agent/ui/icons'
4
+ import { AGENT_BEHAVIOR_RULE_SETS } from '../agent-behavior-rules.ts'
5
+ import type { SettingsScopeLike } from './NodeSettings.tsx'
6
+ import { useScope } from './NodeSettings.tsx'
7
+
8
+ /** Shows the exact prompt additions and controls their live setting. */
9
+ export function AgentBehaviorRulesCard({ settings }: { settings?: SettingsScopeLike }): ReactNode {
10
+ const snapshot = useScope(settings)
11
+ const [saving, setSaving] = useState(false)
12
+ const [error, setError] = useState<string>()
13
+ const enabled = typeof snapshot.value?.enabled === 'boolean' ? snapshot.value.enabled : true
14
+ const disabled = !settings || snapshot.status !== 'ready' || snapshot.writable === false || saving
15
+
16
+ const update = async (next: boolean): Promise<void> => {
17
+ if (!settings || disabled) return
18
+ setSaving(true)
19
+ setError(undefined)
20
+ try {
21
+ await settings.set('enabled', next)
22
+ } catch (cause) {
23
+ setError(cause instanceof Error ? cause.message : String(cause))
24
+ } finally {
25
+ setSaving(false)
26
+ }
27
+ }
28
+
29
+ const status = saving ? '正在保存' : snapshot.status !== 'ready' ? '不可用' : enabled ? '已开启' : '已关闭'
30
+
31
+ return <section id="tita-agent-behavior" className="tita-settingsSection" aria-labelledby="tita-agent-behavior-rules-label">
32
+ <div className="tita-settingsSectionHeader items-center">
33
+ <div>
34
+ <h3 id="tita-agent-behavior-rules-label">追加行为规则</h3>
35
+ <p id="tita-agent-behavior-rules-hint">用于标准模式,约束工具使用、知识写入和文件交付。</p>
36
+ </div>
37
+ <div className="flex shrink-0 items-center gap-2">
38
+ <span className="text-xs text-tita-ink-muted" role="status" aria-live="polite">{status}</span>
39
+ <Switch
40
+ checked={enabled}
41
+ disabled={disabled}
42
+ aria-labelledby="tita-agent-behavior-rules-label"
43
+ aria-describedby="tita-agent-behavior-rules-hint"
44
+ onCheckedChange={next => { void update(next) }}
45
+ />
46
+ </div>
47
+ </div>
48
+
49
+ {error && <div className="tita-settingsError mt-2 flex items-start gap-2" role="alert">
50
+ <AlertCircle size={13} className="mt-0.5 shrink-0" /><span>{error}</span>
51
+ </div>}
52
+ <div className="mt-5 grid gap-5">
53
+ {AGENT_BEHAVIOR_RULE_SETS.map(ruleSet => <div key={ruleSet.id}>
54
+ <h4 className="mb-3 mt-0 text-xs font-medium text-tita-ink-muted">{ruleSet.label} · {ruleSet.rules.length} 条规则</h4>
55
+ <ol className="m-0 list-decimal space-y-3 pl-5 text-xs leading-relaxed text-tita-ink marker:text-tita-ink-faint">
56
+ {ruleSet.rules.map(rule => <li key={rule} className="pl-1">
57
+ {rule.split(/(`[^`]+`)/g).map((part, index) => part.startsWith('`')
58
+ ? <code key={index} className="break-words rounded-tita-control bg-tita-surface-muted px-1 py-0.5 font-mono text-[11px]">{part.slice(1, -1)}</code>
59
+ : part)}
60
+ </li>)}
61
+ </ol>
62
+ </div>)}
63
+ </div>
64
+ </section>
65
+ }
@@ -4,10 +4,10 @@ import {
4
4
  import type { ReactNode } from 'react'
5
5
 
6
6
  /**
7
- * 智能归因的 Event 说明页。
7
+ * 智能归因的 Case 说明页。
8
8
  *
9
- * 这页只解释模型,不假装 Event 已经是另一个坐标轴:坐标负责定位问题域,Event 负责
10
- * 记录一次具体排查里发生了什么。把这件事放在整页里,是因为它需要同时讲关系、例子和边界,
9
+ * 这页解释 Source Raw 如何并行提取 Knowledge 与 Case,以及 Knowledge 卡片如何引用 Case。
10
+ * Case 记录一次具体发生;坐标负责定位问题域。把这件事放在整页里,是因为它需要同时讲关系、例子和边界,
11
11
  * 不能压缩成侧栏里的 tooltip。
12
12
  */
13
13
  export function AttributionEventGuide(): ReactNode {
@@ -15,47 +15,49 @@ export function AttributionEventGuide(): ReactNode {
15
15
  <header className="attributionGuideIntro">
16
16
  <div className="attributionGuideMark" aria-hidden="true"><Workflow size={20} /></div>
17
17
  <div className="attributionGuideIntroCopy">
18
- <p className="attributionGuideEyebrow">SMART ATTRIBUTION · EVENT MODEL</p>
19
- <h2>一次排查,如何变成可复用的 Event</h2>
18
+ <p className="attributionGuideEyebrow">SMART ATTRIBUTION · CASE MODEL</p>
19
+ <h2>Source Raw 如何编译为 Fact、Procedure 和 Case</h2>
20
20
  <p>
21
- Event 不是新的坐标维度,也不是另一张知识卡。它记录一条真实排查轨迹:发生了什么、做了什么、
22
- 看到了什么结果,以及最后确认了什么根因。
21
+ 同一份 Source Raw 编译到 Knowledge 层:Fact 保存事实,Procedure 保存方法,Case 保存一次具体发生、
22
+ 它的时间线、证据和结果。三类共用 Object × Action × Scene;Fact 按 Object 生成 Wiki Fact,Procedure 按 Object+Action 生成 Wiki Way,
23
+ 并用坐标引用相关 Case。
23
24
  </p>
24
25
  </div>
25
26
  <div className="attributionGuideFormula" aria-label="核心关系">
26
27
  <span>核心关系</span>
27
- <code>Document → Event → Knowledge → WikiCard</code>
28
+ <code>Source Raw → {`{ Fact[], Procedure[], Case[] }`} → Wiki Fact / Wiki Way</code>
28
29
  </div>
29
30
  </header>
30
31
 
31
32
  <section className="attributionGuideSection" aria-labelledby="attribution-event-map-title">
32
33
  <div className="attributionGuideSectionHead">
33
34
  <p className="attributionGuideKicker">先看关系</p>
34
- <h3 id="attribution-event-map-title">四个对象,各自回答一个问题</h3>
35
- <p>来源保留证据,Event 保留经过,Knowledge 保留可复用的判断,WikiCard 负责让人按坐标找到它。</p>
35
+ <h3 id="attribution-event-map-title">Knowledge 层统一保存三类记录</h3>
36
+ <p>Source Raw 保留原始证据;Knowledge 层分为 Fact、Procedure、Case。Case 有实际过程证据时,可独立提炼候选 Procedure。</p>
36
37
  </div>
37
38
 
38
- <div className="attributionGuidePipeline" role="img" aria-label="Document 产生 Event,Event 沉淀为 Knowledge,Knowledge 按坐标组织成 WikiCard;Event 也为 WikiCard 提供案例证据">
39
- <GuideNode tone="source" icon={<FileText size={17} />} label="Document" title="原始记录" detail="复盘、工单、聊天、日志说明" />
40
- <GuideConnector label="抽取一次具体经过" />
41
- <GuideNode tone="event" icon={<CircleDot size={17} />} label="Event" title="一次排查轨迹" detail="按顺序记录观察、验证和结果" />
42
- <GuideConnector label="归纳可复用判断" />
43
- <GuideNode tone="knowledge" icon={<Lightbulb size={17} />} label="Knowledge" title="事实与方法" detail="可被别的排查再次引用" />
44
- <GuideConnector label="按坐标组织" />
45
- <GuideNode tone="card" icon={<GitBranch size={17} />} label="WikiCard" title="问题解决页面" detail="Object × Action × Scene" />
39
+ <div className="attributionGuidePipeline" role="img" aria-label="Source Raw 并行提取 Knowledge 和 Case;Knowledge 按坐标生成 Wiki Fact / Wiki Way,Case 按坐标建立引用">
40
+ <GuideNode tone="source" icon={<FileText size={17} />} label="Source Raw" title="原始记录" detail="复盘、工单、聊天、日志说明" />
41
+ <GuideConnector label="并行抽取" />
42
+ <div className="attributionGuideBranches">
43
+ <GuideNode tone="knowledge" icon={<Lightbulb size={17} />} label="Fact / Procedure" title="事实与方法" detail="可脱离本次事件复用" />
44
+ <GuideNode tone="event" icon={<CircleDot size={17} />} label="Case" title="一次具体发生" detail="时间线、证据、结果与缺项" />
45
+ </div>
46
+ <GuideConnector label="Fact / Procedure 组织成 Wiki" />
47
+ <GuideNode tone="card" icon={<GitBranch size={17} />} label="Wiki Fact / Wiki Way" title="知识组织页" detail="按 Object / Object+Action 组织" />
46
48
  </div>
47
49
 
48
50
  <div className="attributionGuideRelations" aria-label="补充关系">
49
- <span><Database size={13} /> Document 永远是证据来源</span>
50
- <span><GitBranch size={13} /> Event 可以被 WikiCard 作为案例引用</span>
51
- <span><Search size={13} /> Knowledge 才进入通用召回</span>
51
+ <span><Database size={13} /> Source Raw 永远是证据来源</span>
52
+ <span><GitBranch size={13} /> 两类内容共用轴归一,身份与判重各自独立</span>
53
+ <span><Search size={13} /> Case 经独立提炼产生候选 Procedure</span>
52
54
  </div>
53
55
  </section>
54
56
 
55
57
  <section className="attributionGuideSection" aria-labelledby="attribution-event-example-title">
56
58
  <div className="attributionGuideSectionHead">
57
59
  <p className="attributionGuideKicker">举个例子</p>
58
- <h3 id="attribution-event-example-title">GMV 下降 20%:Event 记录的是“这一次”</h3>
60
+ <h3 id="attribution-event-example-title">GMV 下降 20%:Case 记录的是“这一次”</h3>
59
61
  <p>
60
62
  同一个问题域可以发生很多次排查。每次排查的具体结果可能不同,所以不能把一次结果直接当成永久知识。
61
63
  </p>
@@ -66,7 +68,7 @@ export function AttributionEventGuide(): ReactNode {
66
68
  <span className="attributionGuideLabel">primary coordinate</span>
67
69
  <code>GMV × 排查 × 数据异常</code>
68
70
  </div>
69
- <p>这条坐标说明“正在处理哪类问题”;它不是 Event 的身份。</p>
71
+ <p>这条坐标说明“正在处理哪类问题”;它不是 Case 的身份。</p>
70
72
  </div>
71
73
 
72
74
  <ol className="attributionEventTrace">
@@ -79,24 +81,24 @@ export function AttributionEventGuide(): ReactNode {
79
81
 
80
82
  <section className="attributionGuideSection" aria-labelledby="attribution-event-fields-title">
81
83
  <div className="attributionGuideSectionHead">
82
- <p className="attributionGuideKicker">Event 的最小结构</p>
83
- <h3 id="attribution-event-fields-title">身份、上下文、动作和结果要分开</h3>
84
- <p>这样 Agent 才能回放一次排查,也能判断哪些内容值得升级为通用 Knowledge。</p>
84
+ <p className="attributionGuideKicker">Case 的最小结构</p>
85
+ <h3 id="attribution-event-fields-title">身份、坐标、经过和出处要分开</h3>
86
+ <p>Case 信息不完整时先保存已知事实并标出缺项,不补猜;后续文档可以补充同一事件。</p>
85
87
  </div>
86
88
 
87
89
  <div className="attributionGuideFields">
88
- <FieldRow name="identity" value="event_id / trace_id / sequence" description="标识是哪一次排查、在轨迹中的第几步。" />
89
- <FieldRow name="context" value="primary_coordinate" description="继承 Object × Action × Scene,帮助定位,但不承担唯一身份。" />
90
- <FieldRow name="action" value="event_type + target" description="发生了什么动作,例如观察现象、执行检查点、确认根因。" />
91
- <FieldRow name="evidence" value="source_ref + knowledge_ref" description="这一步依据了哪份 Document、哪条 Knowledge 或哪个资产。" />
92
- <FieldRow name="outcome" value="result + confidence" description="动作得到什么结果,以及结果是否足以支持结论。" />
90
+ <FieldRow name="identity" value="external_id / 强组合 / 来源内 ID" description="稳定外部 ID 优先;否则需要精确时间、完整坐标和现象;不足时只在本来源内保留。" />
91
+ <FieldRow name="coordinate" value="Object × Action × Scene" description="Case 和 Knowledge 共用同一轴注册表;不唯一时不绑定猜测的 ID。" />
92
+ <FieldRow name="timeline" value="observation / check / action / result" description="按原文记录观察、检查、动作与结果;一个事件可含多个时间线节点。" />
93
+ <FieldRow name="evidence" value="source_ref + quote" description="每个事件和时间线节点尽量附原文引文;落库前由本地核验。" />
94
+ <FieldRow name="missing" value="missing[]" description="没有时间、现象、根因或结果时显式标出,后续再补。" />
93
95
  </div>
94
96
  </section>
95
97
 
96
98
  <section className="attributionGuideSection" aria-labelledby="attribution-event-boundary-title">
97
99
  <div className="attributionGuideSectionHead">
98
100
  <p className="attributionGuideKicker">边界</p>
99
- <h3 id="attribution-event-boundary-title">Event、Knowledge、WikiCard 不是同一层的三个名字</h3>
101
+ <h3 id="attribution-event-boundary-title">Fact、Procedure、Case 属于 Knowledge 层,Wiki 是组织视图</h3>
100
102
  </div>
101
103
 
102
104
  <table className="attributionGuideTable">
@@ -104,10 +106,10 @@ export function AttributionEventGuide(): ReactNode {
104
106
  <tr><th>对象</th><th>它回答什么</th><th>适合保存什么</th><th>是否直接等于坐标</th></tr>
105
107
  </thead>
106
108
  <tbody>
107
- <tr><th><FileText size={14} /> Document</th><td>原话和证据在哪里?</td><td>原始复盘、工单、日志、文档</td><td>不是</td></tr>
108
- <tr><th><CircleDot size={14} /> Event</th><td>这一次到底发生了什么?</td><td>有顺序的观察、动作、结果、结论</td><td>有上下文,但不是</td></tr>
109
+ <tr><th><FileText size={14} /> Source Raw</th><td>原话和证据在哪里?</td><td>原始复盘、工单、日志、文档</td><td>不是</td></tr>
110
+ <tr><th><CircleDot size={14} /> Case</th><td>这一次到底发生了什么?</td><td>有顺序的观察、动作、结果、结论</td><td>有上下文,但不是</td></tr>
109
111
  <tr><th><Lightbulb size={14} /> Knowledge</th><td>以后遇到类似问题,什么判断可复用?</td><td>事实、规则、检查点、操作方法</td><td>不是</td></tr>
110
- <tr><th><GitBranch size={14} /> WikiCard</th><td>人和 Agent 从哪里找到并阅读它?</td><td>一个坐标下组织好的问题解决页面</td><td>由坐标定位</td></tr>
112
+ <tr><th><GitBranch size={14} /> Wiki Fact / Wiki Way</th><td>人和 Agent 从哪里找到并阅读它?</td><td>一个坐标下组织好的问题解决页面</td><td>由坐标定位</td></tr>
111
113
  </tbody>
112
114
  </table>
113
115
  </section>
@@ -116,12 +118,12 @@ export function AttributionEventGuide(): ReactNode {
116
118
  <div className="attributionGuideClosingIcon" aria-hidden="true"><CheckCheck size={18} /></div>
117
119
  <div>
118
120
  <p className="attributionGuideKicker">和记忆模型的关系</p>
119
- <h3 id="attribution-event-memory-title">Event 是情节记忆,Knowledge 是语义与操作记忆</h3>
121
+ <h3 id="attribution-event-memory-title">Case 记录经历,Procedure 复用有证据的方法</h3>
120
122
  <p>
121
- Event 保留“我在什么上下文里走过哪条路径”;Knowledge 把多次 Event 中稳定的判断和步骤提炼出来。
122
- 未来的 Agent 先用坐标找到 WikiCard,再用 Knowledge 规划下一步;需要复盘或解释“为什么”时,再回看相关 Event 和 Document。
123
+ Case 的检查、动作与结果可以支持 Procedure;只有结论不能反推方法。单次根因也不能成为当前问题的默认根因。
124
+ Agent 按坐标找到 Wiki Fact / Wiki Way 后,可以读取可复用 Knowledge,并用 `get_knowledge_cases` 沿卡片引用查看历史 Case;Case 可补全后续复盘文档。
123
125
  </p>
124
- <p className="attributionGuideClosingRule"><strong>一句话:</strong>坐标负责找方向,Event 负责记经过,Knowledge 负责可复用,WikiCard 负责呈现。</p>
126
+ <p className="attributionGuideClosingRule"><strong>一句话:</strong>Source Raw → Knowledge(Fact、Procedure、Case)→ Wiki Fact / Wiki Way;按二级标题检索,交付完整 Wiki。</p>
125
127
  </div>
126
128
  </section>
127
129
  </article>