@mdfriday/foundry 26.4.19 → 26.5.1

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 (298) hide show
  1. package/dist/cjs/index.js +1 -1
  2. package/dist/cjs/obsidian/mobile.js +1 -1
  3. package/dist/cjs/worker/pool-manager.js +341 -362
  4. package/dist/cjs/worker/worker-node.js +110 -132
  5. package/dist/esm/index.js +1 -1
  6. package/dist/esm/obsidian/mobile.js +1 -1
  7. package/dist/types/internal/application/batch-task-queue.d.ts +17 -0
  8. package/dist/types/internal/application/container.d.ts +68 -1
  9. package/dist/types/internal/application/identity.d.ts +173 -0
  10. package/dist/types/internal/application/incremental-build-coordinator.d.ts +28 -0
  11. package/dist/types/internal/application/incremental-ssg.d.ts +4 -0
  12. package/dist/types/internal/application/index.d.ts +5 -4
  13. package/dist/types/internal/application/publish.d.ts +37 -0
  14. package/dist/types/internal/application/ssg-parallel.d.ts +6 -0
  15. package/dist/types/internal/application/ssg.d.ts +15 -0
  16. package/dist/types/internal/application/wiki-service-config.d.ts +65 -0
  17. package/dist/types/internal/application/wiki-service.d.ts +199 -0
  18. package/dist/types/internal/application/worker/pool-manager.d.ts +43 -0
  19. package/dist/types/internal/application/worker/worker-browser.d.ts +6 -0
  20. package/dist/types/internal/application/worker/worker-main.d.ts +12 -0
  21. package/dist/types/internal/application/worker/worker-state.d.ts +23 -0
  22. package/dist/types/internal/application/workspace.d.ts +98 -0
  23. package/dist/types/internal/domain/config/entity/config.d.ts +40 -0
  24. package/dist/types/internal/domain/config/entity/language.d.ts +51 -0
  25. package/dist/types/internal/domain/config/entity/markdown.d.ts +36 -0
  26. package/dist/types/internal/domain/config/entity/module.d.ts +36 -0
  27. package/dist/types/internal/domain/config/entity/root.d.ts +39 -0
  28. package/dist/types/internal/domain/config/entity/service.d.ts +36 -0
  29. package/dist/types/internal/domain/config/entity/social.d.ts +43 -0
  30. package/dist/types/internal/domain/config/entity/taxonomy.d.ts +39 -0
  31. package/dist/types/internal/domain/config/factory/config.d.ts +3 -0
  32. package/dist/types/internal/domain/config/factory/loader.d.ts +24 -0
  33. package/dist/types/internal/domain/config/factory/provider.d.ts +10 -0
  34. package/dist/types/internal/domain/config/factory/sourcedescriptor.d.ts +12 -0
  35. package/dist/types/internal/domain/config/type.d.ts +56 -0
  36. package/dist/types/internal/domain/config/vo/language.d.ts +6 -0
  37. package/dist/types/internal/domain/config/vo/markdown.d.ts +13 -0
  38. package/dist/types/internal/domain/config/vo/module.d.ts +9 -0
  39. package/dist/types/internal/domain/config/vo/root.d.ts +6 -0
  40. package/dist/types/internal/domain/config/vo/service.d.ts +6 -0
  41. package/dist/types/internal/domain/config/vo/social.d.ts +16 -0
  42. package/dist/types/internal/domain/config/vo/taxonomy.d.ts +12 -0
  43. package/dist/types/internal/domain/content/entity/content.d.ts +36 -0
  44. package/dist/types/internal/domain/content/entity/page.d.ts +23 -0
  45. package/dist/types/internal/domain/content/entity/pagebuilder.d.ts +83 -0
  46. package/dist/types/internal/domain/content/entity/pagecollector.d.ts +3 -0
  47. package/dist/types/internal/domain/content/entity/pagecontent.d.ts +14 -0
  48. package/dist/types/internal/domain/content/entity/pagemap.d.ts +69 -0
  49. package/dist/types/internal/domain/content/entity/pagesource.d.ts +52 -0
  50. package/dist/types/internal/domain/content/entity/pagetrees.d.ts +12 -0
  51. package/dist/types/internal/domain/content/entity/paginator.d.ts +19 -0
  52. package/dist/types/internal/domain/content/entity/section.d.ts +15 -0
  53. package/dist/types/internal/domain/content/entity/shortcode.d.ts +39 -0
  54. package/dist/types/internal/domain/content/entity/standalone.d.ts +9 -0
  55. package/dist/types/internal/domain/content/entity/taxonomy.d.ts +15 -0
  56. package/dist/types/internal/domain/content/entity/term.d.ts +6 -0
  57. package/dist/types/internal/domain/content/entity/translator.d.ts +22 -0
  58. package/dist/types/internal/domain/content/type.d.ts +6 -0
  59. package/dist/types/internal/domain/content/vo/classifier.d.ts +24 -0
  60. package/dist/types/internal/domain/content/vo/frontmatter.d.ts +65 -0
  61. package/dist/types/internal/domain/content/vo/kind.d.ts +10 -0
  62. package/dist/types/internal/domain/fs/entity/basefs.d.ts +23 -0
  63. package/dist/types/internal/domain/fs/entity/fs.d.ts +13 -0
  64. package/dist/types/internal/domain/fs/entity/originfs.d.ts +6 -0
  65. package/dist/types/internal/domain/fs/entity/overlaydir.d.ts +44 -0
  66. package/dist/types/internal/domain/fs/entity/overlayfs.d.ts +79 -0
  67. package/dist/types/internal/domain/fs/entity/service.d.ts +15 -0
  68. package/dist/types/internal/domain/fs/factory/fs.d.ts +4 -0
  69. package/dist/types/internal/domain/fs/type.d.ts +95 -0
  70. package/dist/types/internal/domain/fs/vo/dir.d.ts +41 -0
  71. package/dist/types/internal/domain/fs/vo/file.d.ts +28 -0
  72. package/dist/types/internal/domain/fs/vo/fileinfo.d.ts +23 -0
  73. package/dist/types/internal/domain/fs/vo/filemeta.d.ts +45 -0
  74. package/dist/types/internal/domain/fs/vo/filesystemscollector.d.ts +17 -0
  75. package/dist/types/internal/domain/fs/vo/filevitural.d.ts +8 -0
  76. package/dist/types/internal/domain/fs/vo/osfs.d.ts +12 -0
  77. package/dist/types/internal/domain/fs/vo/overlay-factory.d.ts +4 -0
  78. package/dist/types/internal/domain/fs/vo/overlayfs-factory.d.ts +42 -0
  79. package/dist/types/internal/domain/fs/vo/overlayoptions.d.ts +44 -0
  80. package/dist/types/internal/domain/fs/vo/static-copier.d.ts +22 -0
  81. package/dist/types/internal/domain/fs/vo/walkway.d.ts +22 -0
  82. package/dist/types/internal/domain/identity/entity/user.d.ts +100 -0
  83. package/dist/types/internal/domain/identity/factory/user-factory.d.ts +183 -0
  84. package/dist/types/internal/domain/identity/repository/index.d.ts +30 -0
  85. package/dist/types/internal/domain/identity/type.d.ts +17 -0
  86. package/dist/types/internal/domain/identity/value-object/device.d.ts +26 -0
  87. package/dist/types/internal/domain/identity/value-object/email.d.ts +29 -0
  88. package/dist/types/internal/domain/identity/value-object/license.d.ts +91 -0
  89. package/dist/types/internal/domain/identity/value-object/server-config.d.ts +37 -0
  90. package/dist/types/internal/domain/identity/value-object/sync-config.d.ts +47 -0
  91. package/dist/types/internal/domain/identity/value-object/token.d.ts +35 -0
  92. package/dist/types/internal/domain/markdown/entity/markdown.d.ts +41 -0
  93. package/dist/types/internal/domain/markdown/factory/it/config.d.ts +60 -0
  94. package/dist/types/internal/domain/markdown/factory/it/index.d.ts +21 -1
  95. package/dist/types/internal/domain/markdown/factory/it/parserresult.d.ts +3 -0
  96. package/dist/types/internal/domain/markdown/factory/it/plugins/callout-plugin.d.ts +40 -0
  97. package/dist/types/internal/domain/markdown/factory/it/plugins/latex-plugin.d.ts +23 -0
  98. package/dist/types/internal/domain/markdown/factory/it/plugins/mermaid-plugin.d.ts +24 -0
  99. package/dist/types/internal/domain/markdown/factory/it/plugins/tag-plugin.d.ts +71 -0
  100. package/dist/types/internal/domain/markdown/factory/it/plugins/wikilink-plugin.d.ts +28 -0
  101. package/dist/types/internal/domain/markdown/factory/it/plugins/wikilink.d.ts +31 -0
  102. package/dist/types/internal/domain/markdown/factory/it/tableofcontents.d.ts +21 -0
  103. package/dist/types/internal/domain/markdown/factory/it/util/path.d.ts +11 -0
  104. package/dist/types/internal/domain/markdown/factory/it/util/slugger-fallback.d.ts +6 -0
  105. package/dist/types/internal/domain/markdown/type.d.ts +159 -0
  106. package/dist/types/internal/domain/markdown/vo/config.d.ts +48 -0
  107. package/dist/types/internal/domain/markdown/vo/content.d.ts +92 -0
  108. package/dist/types/internal/domain/markdown/vo/context.d.ts +9 -0
  109. package/dist/types/internal/domain/markdown/vo/highlight.d.ts +15 -0
  110. package/dist/types/internal/domain/markdown/vo/pageparser.d.ts +9 -0
  111. package/dist/types/internal/domain/markdown/vo/parseinfo.d.ts +36 -0
  112. package/dist/types/internal/domain/markdown/vo/parserresult.d.ts +6 -0
  113. package/dist/types/internal/domain/markdown/vo/shortcode.d.ts +31 -1
  114. package/dist/types/internal/domain/markdown/vo/tableofcontents.d.ts +21 -0
  115. package/dist/types/internal/domain/module/entity/lang.d.ts +12 -0
  116. package/dist/types/internal/domain/module/entity/module.d.ts +73 -0
  117. package/dist/types/internal/domain/module/factory/module.d.ts +6 -0
  118. package/dist/types/internal/domain/module/type.d.ts +58 -0
  119. package/dist/types/internal/domain/module/vo/cache.d.ts +48 -0
  120. package/dist/types/internal/domain/module/vo/httpclient.d.ts +14 -0
  121. package/dist/types/internal/domain/module/vo/module.d.ts +76 -0
  122. package/dist/types/internal/domain/module/vo/mount.d.ts +39 -0
  123. package/dist/types/internal/domain/module/vo/themes.d.ts +38 -0
  124. package/dist/types/internal/domain/module/vo/zipextractor.d.ts +31 -0
  125. package/dist/types/internal/domain/paths/entity/path.d.ts +28 -0
  126. package/dist/types/internal/domain/paths/factory/pathfactory.d.ts +82 -0
  127. package/dist/types/internal/domain/paths/type.d.ts +133 -1
  128. package/dist/types/internal/domain/paths/vo/pathcomponents.d.ts +94 -0
  129. package/dist/types/internal/domain/paths/vo/pathparser.d.ts +77 -0
  130. package/dist/types/internal/domain/publish/entity/publisher.d.ts +26 -0
  131. package/dist/types/internal/domain/publish/factory/publisher-factory.d.ts +17 -0
  132. package/dist/types/internal/domain/publish/repository/http-client.d.ts +21 -0
  133. package/dist/types/internal/domain/publish/repository/manifest-repository.d.ts +27 -0
  134. package/dist/types/internal/domain/publish/type.d.ts +49 -0
  135. package/dist/types/internal/domain/publish/value-object/ftp-publisher.d.ts +30 -0
  136. package/dist/types/internal/domain/publish/value-object/mdfriday-publisher.d.ts +57 -0
  137. package/dist/types/internal/domain/publish/value-object/netlify-publisher.d.ts +55 -0
  138. package/dist/types/internal/domain/publish/value-object/publish-config.d.ts +38 -0
  139. package/dist/types/internal/domain/publish/value-object/publish-manifest.d.ts +50 -0
  140. package/dist/types/internal/domain/resources/entity/http.d.ts +11 -0
  141. package/dist/types/internal/domain/resources/entity/integrity.d.ts +4 -0
  142. package/dist/types/internal/domain/resources/entity/minifier.d.ts +4 -0
  143. package/dist/types/internal/domain/resources/entity/publisher.d.ts +24 -0
  144. package/dist/types/internal/domain/resources/entity/resource.d.ts +4 -0
  145. package/dist/types/internal/domain/resources/entity/resources.d.ts +40 -0
  146. package/dist/types/internal/domain/resources/entity/template.d.ts +4 -0
  147. package/dist/types/internal/domain/resources/factory/resource.d.ts +4 -0
  148. package/dist/types/internal/domain/site/entity/language.d.ts +55 -0
  149. package/dist/types/internal/domain/site/entity/menu-builder.d.ts +50 -0
  150. package/dist/types/internal/domain/site/entity/navigation.d.ts +8 -0
  151. package/dist/types/internal/domain/site/entity/page.d.ts +88 -0
  152. package/dist/types/internal/domain/site/entity/pagegraph.d.ts +85 -0
  153. package/dist/types/internal/domain/site/entity/pager.d.ts +6 -0
  154. package/dist/types/internal/domain/site/entity/publisher.d.ts +26 -0
  155. package/dist/types/internal/domain/site/entity/ref.d.ts +27 -0
  156. package/dist/types/internal/domain/site/entity/site.d.ts +178 -0
  157. package/dist/types/internal/domain/site/factory/navigation-factory.d.ts +6 -0
  158. package/dist/types/internal/domain/site/factory/site.d.ts +4 -0
  159. package/dist/types/internal/domain/site/service/html-link-processor.d.ts +44 -0
  160. package/dist/types/internal/domain/site/type.d.ts +100 -0
  161. package/dist/types/internal/domain/site/valueobject/author.d.ts +16 -0
  162. package/dist/types/internal/domain/site/valueobject/baseurl.d.ts +39 -0
  163. package/dist/types/internal/domain/site/valueobject/menu.d.ts +49 -0
  164. package/dist/types/internal/domain/site/valueobject/organization.d.ts +37 -0
  165. package/dist/types/internal/domain/site/valueobject/path.d.ts +50 -0
  166. package/dist/types/internal/domain/site/valueobject/version.d.ts +14 -0
  167. package/dist/types/internal/domain/template/entity/executor.d.ts +22 -0
  168. package/dist/types/internal/domain/template/entity/lookup.d.ts +55 -0
  169. package/dist/types/internal/domain/template/entity/parser.d.ts +40 -0
  170. package/dist/types/internal/domain/template/entity/template.d.ts +87 -0
  171. package/dist/types/internal/domain/template/factory/template.d.ts +61 -0
  172. package/dist/types/internal/domain/template/type.d.ts +109 -0
  173. package/dist/types/internal/domain/template/vo/baseof.d.ts +47 -0
  174. package/dist/types/internal/domain/template/vo/info.d.ts +28 -0
  175. package/dist/types/internal/domain/template/vo/namespace.d.ts +91 -0
  176. package/dist/types/internal/domain/template/vo/registry.d.ts +160 -0
  177. package/dist/types/internal/domain/wiki/entity/concept.d.ts +31 -0
  178. package/dist/types/internal/domain/wiki/entity/connection.d.ts +29 -0
  179. package/dist/types/internal/domain/wiki/entity/conversation.d.ts +65 -0
  180. package/dist/types/internal/domain/wiki/entity/embedding-index.d.ts +60 -0
  181. package/dist/types/internal/domain/wiki/entity/entity.d.ts +32 -0
  182. package/dist/types/internal/domain/wiki/entity/knowledge-base.d.ts +292 -0
  183. package/dist/types/internal/domain/wiki/entity/operation-log.d.ts +82 -0
  184. package/dist/types/internal/domain/wiki/factory/wiki-factory.d.ts +41 -0
  185. package/dist/types/internal/domain/wiki/index.d.ts +22 -0
  186. package/dist/types/internal/domain/wiki/repository/conversation-repository.interface.d.ts +29 -0
  187. package/dist/types/internal/domain/wiki/repository/crypto-service.d.ts +16 -0
  188. package/dist/types/internal/domain/wiki/repository/embedding-provider.d.ts +12 -0
  189. package/dist/types/internal/domain/wiki/repository/file-system.d.ts +43 -0
  190. package/dist/types/internal/domain/wiki/repository/index.d.ts +14 -0
  191. package/dist/types/internal/domain/wiki/repository/kb-repository.interface.d.ts +30 -0
  192. package/dist/types/internal/domain/wiki/repository/llm-http-client.d.ts +40 -0
  193. package/dist/types/internal/domain/wiki/repository/llm-provider.d.ts +34 -0
  194. package/dist/types/internal/domain/wiki/repository/path-service.d.ts +32 -0
  195. package/dist/types/internal/domain/wiki/repository/wiki-page-repository.interface.d.ts +49 -0
  196. package/dist/types/internal/domain/wiki/value-object/connection-type.d.ts +24 -0
  197. package/dist/types/internal/domain/wiki/value-object/content-annotator.d.ts +61 -0
  198. package/dist/types/internal/domain/wiki/value-object/entity-id.d.ts +17 -0
  199. package/dist/types/internal/domain/wiki/value-object/entity-type.d.ts +24 -0
  200. package/dist/types/internal/domain/wiki/value-object/extraction-parser.d.ts +27 -0
  201. package/dist/types/internal/domain/wiki/value-object/extraction-result.d.ts +32 -0
  202. package/dist/types/internal/domain/wiki/value-object/retrieval.d.ts +228 -0
  203. package/dist/types/internal/domain/wiki/value-object/source-record.d.ts +17 -0
  204. package/dist/types/internal/domain/wiki/value-object/wiki-config.d.ts +40 -0
  205. package/dist/types/internal/domain/wiki/value-object/wiki-index-generator.d.ts +31 -0
  206. package/dist/types/internal/domain/wiki/value-object/wiki-page-renderer.d.ts +42 -0
  207. package/dist/types/internal/domain/workspace/entity/authentication.d.ts +29 -0
  208. package/dist/types/internal/domain/workspace/entity/project.d.ts +173 -0
  209. package/dist/types/internal/domain/workspace/entity/workspace.d.ts +85 -0
  210. package/dist/types/internal/domain/workspace/factory/workspace-factory.d.ts +107 -0
  211. package/dist/types/internal/domain/workspace/repository/file-system.d.ts +241 -0
  212. package/dist/types/internal/domain/workspace/repository/index.d.ts +6 -0
  213. package/dist/types/internal/domain/workspace/repository.d.ts +72 -0
  214. package/dist/types/internal/domain/workspace/type.d.ts +18 -0
  215. package/dist/types/internal/domain/workspace/value-object/folder-structure.d.ts +41 -0
  216. package/dist/types/internal/domain/workspace/value-object/project-metadata.d.ts +36 -0
  217. package/dist/types/internal/domain/workspace/value-object/workspace-metadata.d.ts +7 -0
  218. package/dist/types/internal/infrastructure/embedding/embedding-provider.interface.d.ts +33 -0
  219. package/dist/types/internal/infrastructure/embedding/index.d.ts +5 -0
  220. package/dist/types/internal/infrastructure/embedding/ollama-embedding-provider.d.ts +24 -0
  221. package/dist/types/internal/infrastructure/http/netlify-http-client.d.ts +20 -0
  222. package/dist/types/internal/infrastructure/http/node-http-client.d.ts +3 -0
  223. package/dist/types/internal/infrastructure/index.d.ts +8 -0
  224. package/dist/types/internal/infrastructure/llm/fetch-http-client.d.ts +24 -0
  225. package/dist/types/internal/infrastructure/llm/index.d.ts +6 -0
  226. package/dist/types/internal/infrastructure/llm/llm-config.d.ts +80 -0
  227. package/dist/types/internal/infrastructure/llm/lmstudio-provider.d.ts +55 -0
  228. package/dist/types/internal/infrastructure/llm/node-llm-http-client.d.ts +21 -0
  229. package/dist/types/internal/infrastructure/llm/ollama-provider.d.ts +17 -0
  230. package/dist/types/internal/infrastructure/llm/openai-compatible-provider.d.ts +70 -0
  231. package/dist/types/internal/infrastructure/llm/provider-factory.d.ts +36 -0
  232. package/dist/types/internal/infrastructure/llm/provider.d.ts +77 -0
  233. package/dist/types/internal/infrastructure/node/index.d.ts +11 -0
  234. package/dist/types/internal/infrastructure/node/node-conversation-repository.d.ts +21 -0
  235. package/dist/types/internal/infrastructure/node/node-crypto-service.d.ts +10 -0
  236. package/dist/types/internal/infrastructure/node/node-file-system.d.ts +29 -0
  237. package/dist/types/internal/infrastructure/node/node-kb-repository.d.ts +18 -0
  238. package/dist/types/internal/infrastructure/node/node-path-service.d.ts +14 -0
  239. package/dist/types/internal/infrastructure/node/node-wiki-page-repository.d.ts +25 -0
  240. package/dist/types/internal/infrastructure/persistence/node-file-system.d.ts +8 -0
  241. package/dist/types/internal/infrastructure/persistence/node-manifest-repository.d.ts +31 -0
  242. package/dist/types/internal/infrastructure/persistence/node-snapshot-repository.d.ts +28 -0
  243. package/dist/types/internal/infrastructure/persistence/node-workspace-repository.d.ts +9 -0
  244. package/dist/types/pkg/cahce/cache.d.ts +56 -0
  245. package/dist/types/pkg/lang/data.d.ts +21 -0
  246. package/dist/types/pkg/lang/index.d.ts +46 -0
  247. package/dist/types/pkg/lang/service.d.ts +49 -0
  248. package/dist/types/pkg/lang/types.d.ts +29 -0
  249. package/dist/types/pkg/log/http.d.ts +16 -0
  250. package/dist/types/pkg/log/manager.d.ts +57 -0
  251. package/dist/types/pkg/maps/scratch.d.ts +25 -0
  252. package/dist/types/pkg/md/parser/item.d.ts +3 -3
  253. package/dist/types/pkg/media/type.d.ts +19 -0
  254. package/dist/types/pkg/page-filter/index.d.ts +29 -0
  255. package/dist/types/pkg/paths/index.d.ts +9 -0
  256. package/dist/types/pkg/text/index.d.ts +4 -0
  257. package/dist/types/pkg/web/server/livereload-server.d.ts +7 -0
  258. package/dist/types/pkg/web/watcher/content-file-watcher.d.ts +3 -0
  259. package/package.json +21 -15
  260. package/dist/types/index.d.ts +0 -20
  261. package/dist/types/internal/interfaces/obsidian/adapters/identity-adapter.d.ts +0 -5
  262. package/dist/types/internal/interfaces/obsidian/adapters/index.d.ts +0 -2
  263. package/dist/types/internal/interfaces/obsidian/adapters/workspace-adapter.d.ts +0 -8
  264. package/dist/types/internal/interfaces/obsidian/desktop/adapters/identity-adapter.d.ts +0 -6
  265. package/dist/types/internal/interfaces/obsidian/desktop/adapters/index.d.ts +0 -2
  266. package/dist/types/internal/interfaces/obsidian/desktop/adapters/workspace-adapter.d.ts +0 -12
  267. package/dist/types/internal/interfaces/obsidian/desktop/container.d.ts +0 -7
  268. package/dist/types/internal/interfaces/obsidian/desktop/index.d.ts +0 -22
  269. package/dist/types/internal/interfaces/obsidian/index.d.ts +0 -7
  270. package/dist/types/internal/interfaces/obsidian/mobile/adapters/identity-adapter.d.ts +0 -9
  271. package/dist/types/internal/interfaces/obsidian/mobile/adapters/index.d.ts +0 -2
  272. package/dist/types/internal/interfaces/obsidian/mobile/adapters/workspace-adapter.d.ts +0 -13
  273. package/dist/types/internal/interfaces/obsidian/mobile/config-types.d.ts +0 -13
  274. package/dist/types/internal/interfaces/obsidian/mobile/container.d.ts +0 -6
  275. package/dist/types/internal/interfaces/obsidian/mobile/index.d.ts +0 -16
  276. package/dist/types/internal/interfaces/obsidian/mobile.d.ts +0 -2
  277. package/dist/types/internal/interfaces/obsidian/services/auth.service.d.ts +0 -11
  278. package/dist/types/internal/interfaces/obsidian/services/build.service.d.ts +0 -9
  279. package/dist/types/internal/interfaces/obsidian/services/config.service.d.ts +0 -31
  280. package/dist/types/internal/interfaces/obsidian/services/domain.service.d.ts +0 -15
  281. package/dist/types/internal/interfaces/obsidian/services/license.service.d.ts +0 -22
  282. package/dist/types/internal/interfaces/obsidian/services/project.service.d.ts +0 -17
  283. package/dist/types/internal/interfaces/obsidian/services/publish.service.d.ts +0 -11
  284. package/dist/types/internal/interfaces/obsidian/services/serve.service.d.ts +0 -18
  285. package/dist/types/internal/interfaces/obsidian/services/workspace.service.d.ts +0 -10
  286. package/dist/types/internal/interfaces/obsidian/types/auth.d.ts +0 -27
  287. package/dist/types/internal/interfaces/obsidian/types/build.d.ts +0 -23
  288. package/dist/types/internal/interfaces/obsidian/types/config.d.ts +0 -16
  289. package/dist/types/internal/interfaces/obsidian/types/domain.d.ts +0 -46
  290. package/dist/types/internal/interfaces/obsidian/types/index.d.ts +0 -9
  291. package/dist/types/internal/interfaces/obsidian/types/license.d.ts +0 -87
  292. package/dist/types/internal/interfaces/obsidian/types/project.d.ts +0 -56
  293. package/dist/types/internal/interfaces/obsidian/types/publish.d.ts +0 -33
  294. package/dist/types/internal/interfaces/obsidian/types/serve.d.ts +0 -46
  295. package/dist/types/internal/interfaces/obsidian/types/workspace.d.ts +0 -27
  296. package/dist/types/pkg/log/browser-manager.d.ts +0 -20
  297. package/dist/types/pkg/log/browser.d.ts +0 -25
  298. package/dist/types/pkg/media/buildin.d.ts +0 -3
@@ -1,36 +1,142 @@
1
+ /**
2
+ * Application Layer: Identity Management Service
3
+ *
4
+ * 职责:
5
+ * - 协调 Identity Domain 和其他 Domain 的交互
6
+ * - 提供应用级的 Identity 服务
7
+ * - 不包含业务逻辑(业务逻辑在 Domain 层)
8
+ */
1
9
  import { UserFactory } from '@internal/domain/identity/factory/user-factory';
2
10
  import { User, UserStatus } from '@internal/domain/identity/entity/user';
3
11
  import { ServerConfig } from '@internal/domain/identity/value-object/server-config';
4
12
  import { License } from '@internal/domain/identity/value-object/license';
5
13
  import { Device } from '@internal/domain/identity/value-object/device';
14
+ /**
15
+ * IdentityAppService Options
16
+ */
6
17
  export interface IdentityAppServiceOptions {
7
18
  userFactory: UserFactory;
8
19
  }
20
+ /**
21
+ * Identity Application Service
22
+ *
23
+ * 提供应用层的 Identity 服务
24
+ */
9
25
  export declare class IdentityAppService {
10
26
  private userFactory;
11
27
  private currentUser;
12
28
  private cachedServerConfig;
13
29
  constructor(options: IdentityAppServiceOptions);
30
+ /**
31
+ * 初始化服务(加载已保存的用户和服务器配置)
32
+ */
14
33
  initialize(): Promise<void>;
34
+ /**
35
+ * 用户登录
36
+ */
15
37
  login(email: string, password: string): Promise<User>;
38
+ /**
39
+ * 用户注册
40
+ */
16
41
  register(email: string, password: string): Promise<User>;
42
+ /**
43
+ * 用户登出
44
+ */
17
45
  logout(): Promise<void>;
46
+ /**
47
+ * 获取当前用户
48
+ */
18
49
  getCurrentUser(): User | null;
50
+ /**
51
+ * 检查是否已认证
52
+ */
19
53
  isAuthenticated(): boolean;
54
+ /**
55
+ * 获取认证令牌字符串
56
+ */
20
57
  getToken(): string | null;
58
+ /**
59
+ * 获取认证状态
60
+ */
61
+ /**
62
+ * 获取用户状态
63
+ *
64
+ * @returns 用户状态信息,包括认证、License 和 Sync 配置
65
+ */
21
66
  getStatus(): UserStatus;
67
+ /**
68
+ * 获取服务器配置
69
+ *
70
+ * 优先级:当前用户配置 > 缓存配置 > 默认配置
71
+ */
22
72
  getServerConfig(): ServerConfig;
73
+ /**
74
+ * 更新服务器配置
75
+ */
23
76
  updateServerConfig(updates: {
24
77
  apiUrl?: string;
25
78
  websiteUrl?: string;
26
79
  }): Promise<void>;
80
+ /**
81
+ * 申请试用 License(只申请,不激活)
82
+ *
83
+ * @param email - 用户邮箱
84
+ * @returns 试用 License 信息和凭证
85
+ */
27
86
  requestTrial(email: string): Promise<import("@internal/domain/identity/factory/user-factory").TrialLicenseResponse>;
87
+ /**
88
+ * 使用 License Key 登录
89
+ *
90
+ * License Key 会自动生成 email 和 password
91
+ *
92
+ * @param licenseKey - License Key (MDF-XXXX-XXXX-XXXX)
93
+ * @returns 登录成功的用户
94
+ */
28
95
  loginWithLicense(licenseKey: string): Promise<User>;
96
+ /**
97
+ * 激活 License
98
+ *
99
+ * @param licenseKey - License Key
100
+ * @param device - 设备信息(可选)
101
+ * @returns 激活后的用户
102
+ */
29
103
  activateLicense(licenseKey: string, device?: Device): Promise<User>;
104
+ /**
105
+ * 完整的试用流程:申请 → 登录 → 激活
106
+ *
107
+ * 简化操作:只需提供邮箱即可
108
+ *
109
+ * @param email - 用户邮箱
110
+ * @returns 已激活试用 License 的用户
111
+ */
112
+ /**
113
+ * 申请试用 License 并自动激活
114
+ *
115
+ * 流程:
116
+ * 1. 申请试用 License
117
+ * 2. 使用 License Key 登录
118
+ * 3. 激活 License
119
+ *
120
+ * @param email - 用户邮箱
121
+ * @returns 登录并激活后的 User
122
+ */
30
123
  requestAndActivateTrial(email: string): Promise<User>;
124
+ /**
125
+ * 获取当前用户的 License
126
+ */
31
127
  getLicense(): License | null;
128
+ /**
129
+ * 检查用户是否有有效的 License
130
+ */
32
131
  hasValidLicense(): boolean;
132
+ /**
133
+ * 检查是否是试用账户
134
+ */
33
135
  isTrialAccount(): boolean;
136
+ /**
137
+ * 获取 License 信息(用于显示)
138
+ * 从当前用户的 License 对象获取,不调用 API
139
+ */
34
140
  getLicenseDisplay(): {
35
141
  key: string;
36
142
  plan: string;
@@ -41,28 +147,95 @@ export declare class IdentityAppService {
41
147
  isTrial: boolean;
42
148
  features: import("@internal/domain/identity/value-object/license").LicenseFeatures;
43
149
  } | null;
150
+ /**
151
+ * 自动刷新当前用户的 Token(如果需要)
152
+ *
153
+ * 当用户使用 License 登录后,token 会在 30 天后过期
154
+ * 此方法检查 token 是否过期,如果是则自动使用 license 重新登录
155
+ *
156
+ * @returns 是否执行了刷新操作
157
+ */
44
158
  refreshTokenIfNeeded(): Promise<boolean>;
159
+ /**
160
+ * 执行需要认证的请求,自动处理 token 刷新
161
+ *
162
+ * 当请求返回 401 时,自动刷新 token 并重试
163
+ * 这是对 UserFactory.requestWithAutoRefresh 的应用层封装
164
+ *
165
+ * @param requestFn - 执行实际请求的函数,接收 token 字符串作为参数
166
+ * @returns 请求结果
167
+ *
168
+ * @example
169
+ * ```typescript
170
+ * const result = await identityService.requestWithAutoRefresh(async (token) => {
171
+ * return httpClient.post('/api/some-endpoint', { data }, {
172
+ * headers: { Authorization: `Bearer ${token}` }
173
+ * });
174
+ * });
175
+ * ```
176
+ */
45
177
  requestWithAutoRefresh<T>(requestFn: (tokenValue: string) => Promise<T>): Promise<T>;
178
+ /**
179
+ * 获取 License 使用量信息
180
+ *
181
+ * @returns License 使用量信息
182
+ */
46
183
  getLicenseUsage(): Promise<import("@internal/domain/identity/factory/user-factory").LicenseUsageResponse | null>;
184
+ /**
185
+ * 获取 License 详细信息
186
+ *
187
+ * @param licenseKey - 可选的 License Key,如果不提供则从当前用户的 license 中获取
188
+ */
47
189
  getLicenseInfo(licenseKey?: string): Promise<any>;
190
+ /**
191
+ * 重置 License 使用量
192
+ */
48
193
  resetUsage(): Promise<{
49
194
  success: boolean;
50
195
  message?: string;
51
196
  }>;
197
+ /**
198
+ * 获取域名信息(包括子域名和自定义域名)
199
+ */
52
200
  getDomains(): Promise<import("@internal/domain/identity/factory/user-factory").DomainInfo | null>;
201
+ /**
202
+ * 检查子域名可用性
203
+ *
204
+ * @param subdomain - 要检查的子域名
205
+ */
53
206
  checkSubdomainAvailability(subdomain: string): Promise<import("@internal/domain/identity/factory/user-factory").SubdomainCheckResponse | null>;
207
+ /**
208
+ * 更新子域名
209
+ *
210
+ * @param newSubdomain - 新的子域名
211
+ */
54
212
  updateSubdomain(newSubdomain: string): Promise<import("@internal/domain/identity/factory/user-factory").SubdomainUpdateResponse | null>;
213
+ /**
214
+ * 检查自定义域名 DNS 配置
215
+ *
216
+ * @param domain - 要检查的域名
217
+ */
55
218
  checkCustomDomain(domain: string): Promise<{
56
219
  dns_valid: boolean;
57
220
  ready: boolean;
58
221
  message: string;
59
222
  resolved_ips?: string[];
60
223
  } | null>;
224
+ /**
225
+ * 添加自定义域名
226
+ *
227
+ * @param domain - 要添加的域名
228
+ */
61
229
  addCustomDomain(domain: string): Promise<{
62
230
  domain: string;
63
231
  status: string;
64
232
  message: string;
65
233
  } | null>;
234
+ /**
235
+ * 检查自定义域名 HTTPS 证书状态
236
+ *
237
+ * @param domain - 要检查的域名
238
+ */
66
239
  checkCustomDomainHttpsStatus(domain: string): Promise<{
67
240
  status: string;
68
241
  tls_ready: boolean;
@@ -29,19 +29,47 @@ export declare class IncrementalBuildCoordinator {
29
29
  private initialized;
30
30
  private domainInstances?;
31
31
  constructor(config: IncrementalBuildConfig);
32
+ /**
33
+ * 初始化:执行首次完整构建并保存 domain 实例
34
+ */
32
35
  initialize(): Promise<void>;
36
+ /**
37
+ * 执行完整构建并缓存 domain 实例
38
+ */
33
39
  private performFullBuildAndCacheDomains;
34
40
  startWatching(): Promise<void>;
35
41
  stopWatching(): Promise<void>;
42
+ /**
43
+ * 处理文件变更事件,触发增量构建
44
+ * 阶段3-5:完整的增量构建流程
45
+ */
36
46
  private handleFileChanges;
37
47
  needFullRebuild(events: FileChangeEvent[]): boolean;
48
+ /**
49
+ * 执行增量构建(阶段3-5的核心实现)
50
+ */
38
51
  private performIncrementalBuild;
39
52
  getEventsFilePaths(events: FileChangeEvent[]): string[];
53
+ /**
54
+ * 第2阶段的临时实现:执行完整重建并通知 Live Reload
55
+ */
40
56
  private performFullRebuild;
57
+ /**
58
+ * 获取当前是否已初始化
59
+ */
41
60
  isInitialized(): boolean;
61
+ /**
62
+ * 获取是否正在构建
63
+ */
42
64
  isBuildInProgress(): boolean;
65
+ /**
66
+ * 获取配置信息
67
+ */
43
68
  getConfig(): IncrementalBuildConfig;
44
69
  getServerUrl(): string;
70
+ /**
71
+ * 获取 Live Reload 服务器状态
72
+ */
45
73
  getLiveReloadStatus(): {
46
74
  running: boolean;
47
75
  url?: string;
@@ -1,3 +1,7 @@
1
1
  import { IncrementalBuildCoordinator, IncrementalBuildConfig } from './incremental-build-coordinator';
2
2
  export { IncrementalBuildConfig, IncrementalBuildCoordinator };
3
+ /**
4
+ * 增量构建的主入口函数
5
+ * 第1阶段:实现基础的初始化和完整构建
6
+ */
3
7
  export declare function startIncrementalBuild(config: IncrementalBuildConfig): Promise<IncrementalBuildCoordinator>;
@@ -1,4 +1,5 @@
1
- export { WorkspaceAppService } from './workspace';
2
- export { PublishAppService } from './publish';
3
- export { IdentityAppService } from './identity';
4
- export { createWorkspaceFactory, createWorkspaceAppService, createIdentityService, createPublishAppService, } from './container';
1
+ /**
2
+ * Application Layer Exports
3
+ */
4
+ export * from './wiki-service';
5
+ export * from './wiki-service-config';
@@ -10,18 +10,55 @@ export type PublishProgressCallback = (progress: {
10
10
  filesTotal?: number;
11
11
  bytesTransferred?: number;
12
12
  }) => void;
13
+ /**
14
+ * Publish Application Service
15
+ *
16
+ * 协调发布操作,通过 PublisherFactory 创建聚合根
17
+ *
18
+ * 注意:配置的查找和合并由 Interface 层(CLI/Obsidian)负责
19
+ * Application 层只负责编排业务逻辑
20
+ */
13
21
  export declare class PublishAppService {
14
22
  private publisherFactory;
15
23
  private workspaceService;
16
24
  constructor(publisherFactory: PublisherFactory, workspaceService: WorkspaceAppService);
25
+ /**
26
+ * Publish project to specified platform
27
+ *
28
+ * @param project - 项目实例
29
+ * @param config - 已合并的发布配置(由调用方准备)
30
+ * @param options - 发布选项
31
+ * @param onProgress - 进度回调
32
+ */
17
33
  publish(project: Project, config: AnyPublishConfig, options?: {
18
34
  force?: boolean;
19
35
  incremental?: boolean;
20
36
  }, onProgress?: PublishProgressCallback): Promise<any>;
37
+ /**
38
+ * Test connection
39
+ *
40
+ * @param project - 项目实例
41
+ * @param config - 已合并的发布配置(由调用方准备)
42
+ */
21
43
  testConnection(project: Project, config: AnyPublishConfig): Promise<{
22
44
  success: boolean;
23
45
  error?: string;
24
46
  }>;
47
+ /**
48
+ * 准备最终的发布配置
49
+ *
50
+ * 配置查找优先级(两级):
51
+ * 1. 项目配置 (project.config.publish)
52
+ * 2. 全局配置 (workspace global config)
53
+ *
54
+ * @param workspace - Workspace 实例
55
+ * @param project - Project 实例
56
+ * @param method - 发布方法
57
+ * @returns 最终的发布配置
58
+ */
25
59
  prepareFinalConfig(workspace: Workspace, project: Project, method: 'ftp' | 'netlify' | 'mdfriday'): Promise<AnyPublishConfig>;
60
+ /**
61
+ * Get method-specific config from WorkspacePublishConfig
62
+ */
26
63
  private getMethodConfig;
27
64
  }
@@ -1,6 +1,9 @@
1
1
  import { SSGProgressCallback } from './ssg';
2
2
  import { MarkdownRenderer } from "@internal/domain/markdown";
3
3
  import { HttpClient } from "@internal/domain/module";
4
+ /**
5
+ * 并行 SSG 统计信息
6
+ */
4
7
  export interface ParallelSSGStats {
5
8
  totalPages: number;
6
9
  totalBatches: number;
@@ -10,4 +13,7 @@ export interface ParallelSSGStats {
10
13
  parallelSpeedup: number;
11
14
  pagesPerSecond: number;
12
15
  }
16
+ /**
17
+ * 并行处理 SSG(主入口)
18
+ */
13
19
  export declare function processSSGParallel(projDir: string, modulesDir: string, markdown?: MarkdownRenderer, onProgress?: SSGProgressCallback, httpClient?: HttpClient): Promise<ParallelSSGStats>;
@@ -6,6 +6,9 @@ import { Site } from "@internal/domain/site/entity/site";
6
6
  import { Resources } from "@internal/domain/resources/entity/resources";
7
7
  import { MarkdownRenderer } from "@internal/domain/markdown";
8
8
  import { PageTask } from "@pkg/page-filter";
9
+ /**
10
+ * Domain 实例集合,用于增量构建时复用
11
+ */
9
12
  export interface DomainInstances {
10
13
  site: Site;
11
14
  content: Content;
@@ -14,8 +17,14 @@ export interface DomainInstances {
14
17
  modules: Modules;
15
18
  resources: Resources;
16
19
  }
20
+ /**
21
+ * Generate static site
22
+ */
17
23
  export declare function generateStaticSite(projDir: string, modulesDir: string, markdown?: MarkdownRenderer): Promise<void>;
18
24
  export declare function processSSG(projDir: string, modulesDir: string, markdown?: MarkdownRenderer): Promise<void>;
25
+ /**
26
+ * Progress callback interface for SSG processing
27
+ */
19
28
  export interface SSGProgressCallback {
20
29
  (progress: {
21
30
  stage: 'config' | 'modules' | 'filesystem' | 'content' | 'site' | 'template' | 'pages' | 'build' | 'completion';
@@ -31,7 +40,13 @@ export interface SSGProgressCallback {
31
40
  };
32
41
  }): void;
33
42
  }
43
+ /**
44
+ * Generate static site with progress callbacks
45
+ */
34
46
  export declare function generateStaticSiteWithProgress(projDir: string, modulesDir: string, markdown?: MarkdownRenderer, onProgress?: SSGProgressCallback, httpClient?: HttpClient): Promise<DomainInstances>;
47
+ /**
48
+ * Process SSG with progress callbacks
49
+ */
35
50
  export declare function processSSGWithProgress(projDir: string, modulesDir: string, markdown?: MarkdownRenderer, onProgress?: SSGProgressCallback, httpClient?: HttpClient): Promise<void>;
36
51
  export declare function serveSSG(projDir: string, modulesDir: string, markdown?: MarkdownRenderer, onProgress?: SSGProgressCallback, httpClient?: HttpClient): Promise<DomainInstances>;
37
52
  export declare function collectAllPageTasks(projDir: string, modulesDir: string, markdown?: MarkdownRenderer, onProgress?: SSGProgressCallback, httpClient?: HttpClient): Promise<PageTask[]>;
@@ -0,0 +1,65 @@
1
+ /**
2
+ * WikiService 配置
3
+ *
4
+ * 用户在创建 WikiService 时一次性传入所有配置
5
+ * 避免在每次方法调用时重复传入相同参数
6
+ */
7
+ import { ILLMProvider, IEmbeddingProvider, IFileSystem, IPathService, ICryptoService, IConversationRepository } from '../domain/wiki/repository';
8
+ /**
9
+ * LLM 配置
10
+ */
11
+ export interface WikiServiceLLMConfig {
12
+ provider: ILLMProvider;
13
+ defaultModel: string;
14
+ defaultTemperature?: number;
15
+ defaultMaxTokens?: number;
16
+ }
17
+ /**
18
+ * Embedding 配置(可选)
19
+ */
20
+ export interface WikiServiceEmbeddingConfig {
21
+ provider: IEmbeddingProvider;
22
+ defaultModel: string;
23
+ cacheEnabled?: boolean;
24
+ }
25
+ /**
26
+ * Wiki Domain 行为配置
27
+ */
28
+ export interface WikiServiceDomainConfig {
29
+ outputLanguage?: string;
30
+ ingestTemperature?: number;
31
+ queryTemperature?: number;
32
+ maxQueryResults?: number;
33
+ }
34
+ /**
35
+ * 基础设施配置
36
+ */
37
+ export interface WikiServiceInfrastructureConfig {
38
+ fileSystem: IFileSystem;
39
+ pathService: IPathService;
40
+ cryptoService: ICryptoService;
41
+ conversationRepo: IConversationRepository;
42
+ }
43
+ /**
44
+ * 路径配置
45
+ */
46
+ export interface WikiServicePathsConfig {
47
+ kbPath: string;
48
+ embeddingsPath: string;
49
+ wikiDir: string;
50
+ conversationsDir: string;
51
+ }
52
+ /**
53
+ * WikiService 完整配置
54
+ */
55
+ export interface WikiServiceConfig {
56
+ llm: WikiServiceLLMConfig;
57
+ embedding?: WikiServiceEmbeddingConfig;
58
+ wiki?: WikiServiceDomainConfig;
59
+ infrastructure: WikiServiceInfrastructureConfig;
60
+ paths: WikiServicePathsConfig;
61
+ }
62
+ /**
63
+ * 默认配置值
64
+ */
65
+ export declare const DEFAULT_WIKI_SERVICE_CONFIG: Partial<WikiServiceDomainConfig>;
@@ -0,0 +1,199 @@
1
+ /**
2
+ * Wiki Service - Application Layer
3
+ *
4
+ * 重构后的应用服务,遵循 DDD 架构:
5
+ * - 持有 WikiFactory 和统一配置
6
+ * - 通过 Factory 创建和加载 KB
7
+ * - 调用 KB 聚合根的业务方法
8
+ * - 协调依赖,不包含业务逻辑
9
+ * - 配置在创建时一次性传入,避免重复
10
+ */
11
+ import { KnowledgeBase, WikiFactory, ConversationMetadata } from '../domain/wiki';
12
+ import { WikiServiceConfig } from './wiki-service-config';
13
+ /**
14
+ * Ingest 可选配置(用于覆盖默认值)
15
+ */
16
+ export interface IngestOptions {
17
+ temperature?: number;
18
+ }
19
+ /**
20
+ * Query 可选配置(用于覆盖默认值)
21
+ */
22
+ export interface QueryOptions {
23
+ temperature?: number;
24
+ maxResults?: number;
25
+ }
26
+ /**
27
+ * Ingest 结果
28
+ */
29
+ export interface IngestResult {
30
+ success: boolean;
31
+ sourcePath: string;
32
+ extractedEntities: number;
33
+ extractedConcepts: number;
34
+ extractedConnections: number;
35
+ timeMs: number;
36
+ error?: string;
37
+ }
38
+ /**
39
+ * Query 结果
40
+ */
41
+ export interface QueryResult {
42
+ entities: Array<{
43
+ id: string;
44
+ name: string;
45
+ type: string;
46
+ relevance: number;
47
+ }>;
48
+ concepts: Array<{
49
+ name: string;
50
+ definition: string;
51
+ relevance: number;
52
+ }>;
53
+ connections: Array<{
54
+ from: string;
55
+ to: string;
56
+ type: string;
57
+ description: string;
58
+ }>;
59
+ }
60
+ /**
61
+ * Lint 问题
62
+ */
63
+ export interface LintIssue {
64
+ severity: 'error' | 'warning' | 'info';
65
+ type: string;
66
+ message: string;
67
+ location?: string;
68
+ suggestion?: string;
69
+ }
70
+ /**
71
+ * WikiService - 应用服务(协调层)
72
+ *
73
+ * 职责:
74
+ * - 持有 Factory 和统一配置
75
+ * - 协调聚合根操作
76
+ * - 管理辅助操作(保存对话、构建索引等)
77
+ * - 不包含业务逻辑
78
+ */
79
+ export declare class WikiService {
80
+ private factory;
81
+ private kb;
82
+ private readonly config;
83
+ constructor(factory: WikiFactory, config: WikiServiceConfig);
84
+ private get llmProvider();
85
+ private get embeddingProvider();
86
+ private get fileSystem();
87
+ private get pathService();
88
+ private get cryptoService();
89
+ private get conversationRepo();
90
+ /**
91
+ * 加载 KB
92
+ *
93
+ * 如果配置了 embedding,自动构建索引
94
+ */
95
+ loadKB(): Promise<boolean>;
96
+ /**
97
+ * 保存 KB
98
+ *
99
+ * 同时保存 embedding index
100
+ */
101
+ saveKB(): Promise<void>;
102
+ /**
103
+ * 获取当前 KB 的统计信息
104
+ */
105
+ getStats(): {
106
+ entities: number;
107
+ concepts: number;
108
+ connections: number;
109
+ sources: number;
110
+ operations: number;
111
+ };
112
+ /**
113
+ * 获取 KnowledgeBase 实例(供高级用法)
114
+ */
115
+ getKnowledgeBase(): KnowledgeBase;
116
+ /**
117
+ * Ingest 文件
118
+ *
119
+ * 协调聚合根的 ingestFromSource 方法
120
+ * 使用配置的默认值,允许可选覆盖
121
+ * Ingest 后自动更新 embedding
122
+ */
123
+ ingestFile(filePath: string, options?: IngestOptions): Promise<IngestResult>;
124
+ /**
125
+ * 增量 Ingest 文件列表(业务逻辑在此封装)
126
+ *
127
+ * 规则:
128
+ * - 对每个文件调用 kb.isNewSource(path) 进行判断
129
+ * - 只对"全新文件"触发 ingestFile;已知文件直接跳过
130
+ * - 返回新增/跳过文件数量,供上层进度汇报
131
+ *
132
+ * @param files 待检查的文件路径列表(绝对路径)
133
+ * @param options ingest 选项(temperature 等)
134
+ * @param onFileProgress 每处理一个文件的回调(fileIndex, total, filePath, isNew)
135
+ */
136
+ ingestFolderIncremental(files: string[], options?: IngestOptions, onFileProgress?: (fileIndex: number, total: number, filePath: string, isNew: boolean) => void | Promise<void>): Promise<{
137
+ newFiles: string[];
138
+ skippedFiles: string[];
139
+ extractedEntities: number;
140
+ extractedConcepts: number;
141
+ extractedConnections: number;
142
+ timeMs: number;
143
+ }>;
144
+ /**
145
+ * Query (同步)
146
+ *
147
+ * 协调聚合根的 query 方法
148
+ * 使用配置的默认值,允许可选覆盖
149
+ * KB 会自动使用内部的 Embedding Index
150
+ */
151
+ query(question: string, options?: QueryOptions): Promise<QueryResult>;
152
+ /**
153
+ * Query (流式)
154
+ *
155
+ * 使用 LLM 流式生成答案
156
+ * 使用配置的默认值,允许可选覆盖
157
+ * 委托给 KB 的 queryStream 方法
158
+ */
159
+ queryStream(question: string, options?: QueryOptions): AsyncGenerator<string, void, unknown>;
160
+ /**
161
+ * 生成所有 Wiki 页面
162
+ *
163
+ * 协调聚合根的 generateWikiPages 方法
164
+ */
165
+ generateAllPages(): Promise<void>;
166
+ /**
167
+ * Lint 检查
168
+ *
169
+ * 调用聚合根的 lint 方法
170
+ */
171
+ lint(): Promise<LintIssue[]>;
172
+ /**
173
+ * 为当前 KB 构建 Embedding Index
174
+ *
175
+ * 私有方法,由 loadKB 和 ingestFile 自动调用
176
+ */
177
+ private buildEmbeddingIndexForKB;
178
+ /**
179
+ * 手动触发 Embedding Index 构建
180
+ *
181
+ * 供外部调用(如测试)
182
+ */
183
+ buildEmbeddingIndex(): Promise<void>;
184
+ /**
185
+ * 保存对话结果为新的源文件
186
+ */
187
+ saveConversation(question: string, answer: string, metadata?: {
188
+ sources?: string[];
189
+ retrieval?: {
190
+ entityCount: number;
191
+ conceptCount: number;
192
+ totalResults: number;
193
+ };
194
+ }): Promise<string>;
195
+ /**
196
+ * 列出所有保存的对话
197
+ */
198
+ listConversations(): Promise<ConversationMetadata[]>;
199
+ }