@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
@@ -2,6 +2,9 @@ import { User } from '../entity/user';
2
2
  import { ServerConfig } from '../value-object/server-config';
3
3
  import { Device } from '../value-object/device';
4
4
  import { HttpClient, IdentityStorageProvider } from '../repository/index';
5
+ /**
6
+ * Trial License Response
7
+ */
5
8
  export interface TrialLicenseResponse {
6
9
  email: string;
7
10
  license_key: string;
@@ -10,6 +13,9 @@ export interface TrialLicenseResponse {
10
13
  success: boolean;
11
14
  validity_days: number;
12
15
  }
16
+ /**
17
+ * License Activation Response
18
+ */
13
19
  export interface LicenseActivationResponse {
14
20
  activated: boolean;
15
21
  first_time: boolean;
@@ -41,6 +47,9 @@ export interface LicenseActivationResponse {
41
47
  status: string;
42
48
  };
43
49
  }
50
+ /**
51
+ * Domain Info Response
52
+ */
44
53
  export interface DomainInfo {
45
54
  subdomain: string;
46
55
  full_domain: string;
@@ -48,61 +57,232 @@ export interface DomainInfo {
48
57
  folder: string;
49
58
  created_at: number;
50
59
  }
60
+ /**
61
+ * Subdomain Check Response
62
+ */
51
63
  export interface SubdomainCheckResponse {
52
64
  available: boolean;
53
65
  message?: string;
54
66
  }
67
+ /**
68
+ * Subdomain Update Response
69
+ */
55
70
  export interface SubdomainUpdateResponse {
56
71
  new_subdomain: string;
57
72
  old_subdomain: string;
58
73
  full_domain: string;
59
74
  message: string;
60
75
  }
76
+ /**
77
+ * UserFactory Options
78
+ */
61
79
  export interface UserFactoryOptions {
62
80
  httpClient: HttpClient;
63
81
  storageProvider: IdentityStorageProvider;
64
82
  }
83
+ /**
84
+ * UserFactory
85
+ *
86
+ * 负责创建和加载 User 聚合根
87
+ *
88
+ * 职责:
89
+ * - 创建新用户(注册)
90
+ * - 加载现有用户(从存储)
91
+ * - 用户登录
92
+ * - 用户登出
93
+ * - 管理用户持久化
94
+ */
65
95
  export declare class UserFactory {
66
96
  private httpClient;
67
97
  private storageProvider;
68
98
  constructor(options: UserFactoryOptions);
99
+ /**
100
+ * 创建匿名用户(未登录状态)
101
+ */
69
102
  createAnonymous(serverConfig?: ServerConfig): User;
103
+ /**
104
+ * 从存储加载用户
105
+ */
70
106
  load(): Promise<User | null>;
107
+ /**
108
+ * 保存用户到存储(合并保存 token, license, server config, sync config)
109
+ *
110
+ * ⚠️ 采用合并策略:先加载现有数据,再用新数据覆盖,避免丢失其他字段
111
+ */
71
112
  save(user: User): Promise<void>;
113
+ /**
114
+ * 加载已保存的服务器配置
115
+ */
72
116
  loadServerConfig(): Promise<ServerConfig | null>;
117
+ /**
118
+ * 用户登录
119
+ *
120
+ * @param email - 用户邮箱
121
+ * @param password - 用户密码
122
+ * @param serverConfig - 可选的服务器配置
123
+ * @returns 登录成功的 User 实例
124
+ */
73
125
  login(email: string, password: string, serverConfig?: ServerConfig): Promise<User>;
126
+ /**
127
+ * 用户注册
128
+ *
129
+ * @param email - 用户邮箱
130
+ * @param password - 用户密码
131
+ * @param serverConfig - 可选的服务器配置
132
+ * @returns 注册成功的 User 实例
133
+ */
74
134
  register(email: string, password: string, serverConfig?: ServerConfig): Promise<User>;
135
+ /**
136
+ * 用户登出
137
+ */
75
138
  logout(): Promise<void>;
139
+ /**
140
+ * 更新服务器配置
141
+ */
76
142
  updateServerConfig(user: User, updates: {
77
143
  apiUrl?: string;
78
144
  websiteUrl?: string;
79
145
  }): Promise<void>;
146
+ /**
147
+ * 申请试用 License
148
+ *
149
+ * @param email - 用户邮箱
150
+ * @param serverConfig - 可选的服务器配置
151
+ * @returns 试用 License 信息和自动生成的凭证
152
+ */
80
153
  requestTrialLicense(email: string, serverConfig?: ServerConfig): Promise<TrialLicenseResponse>;
154
+ /**
155
+ * 使用 License Key 登录
156
+ *
157
+ * License Key 可以自动生成 email 和 password
158
+ * 登录成功后会保存 License Key,用户可以后续使用
159
+ *
160
+ * @param licenseKey - License Key (MDF-XXXX-XXXX-XXXX)
161
+ * @param serverConfig - 可选的服务器配置
162
+ * @returns 登录成功的 User 实例
163
+ */
81
164
  loginWithLicense(licenseKey: string, serverConfig?: ServerConfig): Promise<User>;
165
+ /**
166
+ * 激活 License
167
+ *
168
+ * @param user - 已登录的用户
169
+ * @param licenseKey - License Key
170
+ * @param device - 设备信息(可选,不提供则自动生成)
171
+ * @returns 更新后的 User(包含激活的 License)
172
+ */
82
173
  activateLicense(user: User, licenseKey: string, device?: Device): Promise<User>;
174
+ /**
175
+ * 完整的试用流程:申请 → 登录 → 激活
176
+ *
177
+ * 简化用户操作:只需提供邮箱,自动完成所有步骤
178
+ *
179
+ * @param email - 用户邮箱
180
+ * @param serverConfig - 可选的服务器配置
181
+ * @returns 已激活 License 的 User
182
+ */
83
183
  requestAndActivateTrial(email: string, serverConfig?: ServerConfig): Promise<User>;
184
+ /**
185
+ * 自动刷新 Token(如果需要)
186
+ *
187
+ * 当用户使用 License 登录后,token 会在 30 天后过期
188
+ * 此方法检查 token 是否即将过期或已过期,如果是则自动使用 license 重新登录
189
+ *
190
+ * @param user - 当前用户
191
+ * @returns 更新后的用户(如果刷新了 token)或原用户
192
+ */
84
193
  refreshTokenIfNeeded(user: User): Promise<User>;
194
+ /**
195
+ * 执行需要认证的请求,自动处理 token 刷新
196
+ *
197
+ * 这是一个包装方法,模仿 @friday/src/hugoverse.ts 的 requestWithTokenRefresh
198
+ * 当请求返回 401 时,自动刷新 token 并重试
199
+ *
200
+ * @param user - 当前用户
201
+ * @param requestFn - 执行实际请求的函数,接收 token 字符串作为参数
202
+ * @returns 请求结果
203
+ */
85
204
  requestWithAutoRefresh<T>(user: User, requestFn: (tokenValue: string) => Promise<T>): Promise<T>;
205
+ /**
206
+ * 获取 License 使用量信息
207
+ *
208
+ * @param user - 当前用户
209
+ * @returns License 使用量信息
210
+ */
86
211
  getLicenseUsage(user: User): Promise<LicenseUsageResponse | null>;
212
+ /**
213
+ * 获取 License 详细信息
214
+ *
215
+ * @param user - 当前用户
216
+ * @param licenseKey - 可选的 License Key,如果不提供则从 user 的 license 中获取
217
+ * @returns License 详细信息
218
+ */
87
219
  getLicenseInfo(user: User, licenseKey?: string): Promise<any>;
220
+ /**
221
+ * 重置 License 使用量
222
+ * 清除同步数据库和发布数据
223
+ *
224
+ * @param user - 当前用户
225
+ * @returns 重置结果
226
+ */
88
227
  resetUsage(user: User): Promise<{
89
228
  success: boolean;
90
229
  message?: string;
91
230
  }>;
231
+ /**
232
+ * 获取域名信息
233
+ *
234
+ * @param user - 当前用户
235
+ * @returns 域名信息(包括子域名和自定义域名)
236
+ */
92
237
  getDomains(user: User): Promise<DomainInfo | null>;
238
+ /**
239
+ * 检查子域名可用性
240
+ *
241
+ * @param user - 当前用户
242
+ * @param subdomain - 要检查的子域名
243
+ * @returns 可用性检查结果
244
+ */
93
245
  checkSubdomainAvailability(user: User, subdomain: string): Promise<SubdomainCheckResponse | null>;
246
+ /**
247
+ * 更新子域名
248
+ *
249
+ * @param user - 当前用户
250
+ * @param newSubdomain - 新的子域名
251
+ * @returns 更新结果
252
+ */
94
253
  updateSubdomain(user: User, newSubdomain: string): Promise<SubdomainUpdateResponse | null>;
254
+ /**
255
+ * 检查自定义域名 DNS 配置
256
+ *
257
+ * @param user - 当前用户
258
+ * @param domain - 要检查的域名
259
+ * @returns DNS 检查结果
260
+ */
95
261
  checkCustomDomain(user: User, domain: string): Promise<{
96
262
  dns_valid: boolean;
97
263
  ready: boolean;
98
264
  message: string;
99
265
  resolved_ips?: string[];
100
266
  } | null>;
267
+ /**
268
+ * 添加自定义域名
269
+ *
270
+ * @param user - 当前用户
271
+ * @param domain - 要添加的域名
272
+ * @returns 添加结果
273
+ */
101
274
  addCustomDomain(user: User, domain: string): Promise<{
102
275
  domain: string;
103
276
  status: string;
104
277
  message: string;
105
278
  } | null>;
279
+ /**
280
+ * 检查自定义域名 HTTPS 证书状态
281
+ *
282
+ * @param user - 当前用户
283
+ * @param domain - 要检查的域名
284
+ * @returns HTTPS 状态
285
+ */
106
286
  checkCustomDomainHttpsStatus(user: User, domain: string): Promise<{
107
287
  status: string;
108
288
  tls_ready: boolean;
@@ -111,6 +291,9 @@ export declare class UserFactory {
111
291
  certificate?: any;
112
292
  } | null>;
113
293
  }
294
+ /**
295
+ * License Usage Response (from API)
296
+ */
114
297
  export interface LicenseUsageResponse {
115
298
  devices: {
116
299
  count: number;
@@ -1,3 +1,13 @@
1
+ /**
2
+ * Identity Repository Interfaces
3
+ *
4
+ * 定义 Identity Domain 需要的存储接口
5
+ * 由 Infrastructure 层或其他 Domain 提供实现
6
+ */
7
+ /**
8
+ * HTTP Client 接口
9
+ * 用于发送 HTTP 请求(登录、注册等)
10
+ */
1
11
  export interface HttpClient {
2
12
  post(url: string, data: any, headers?: Record<string, string>): Promise<HttpResponse>;
3
13
  postForm(url: string, data: Record<string, string>): Promise<HttpResponse>;
@@ -9,7 +19,21 @@ export interface HttpResponse {
9
19
  data: any;
10
20
  text(): Promise<string>;
11
21
  }
22
+ /**
23
+ * Identity Storage Provider 接口
24
+ *
25
+ * 定义 Identity Domain 需要的存储能力
26
+ * 实现由 Workspace Domain 提供(通过 Application Layer 协调)
27
+ *
28
+ * 这是依赖倒置的关键:
29
+ * - Identity Domain 定义自己需要什么存储能力
30
+ * - Workspace Domain 实现这些能力
31
+ * - Application Layer 负责组装
32
+ */
12
33
  export interface IdentityStorageProvider {
34
+ /**
35
+ * 保存用户数据(合并 token, license, server config, sync config 到一个文件)
36
+ */
13
37
  saveUserData(data: {
14
38
  token?: any;
15
39
  license?: any;
@@ -17,6 +41,9 @@ export interface IdentityStorageProvider {
17
41
  serverConfig?: any;
18
42
  email?: string;
19
43
  }): Promise<void>;
44
+ /**
45
+ * 加载用户数据
46
+ */
20
47
  loadUserData(): Promise<{
21
48
  token?: any;
22
49
  license?: any;
@@ -24,5 +51,8 @@ export interface IdentityStorageProvider {
24
51
  serverConfig?: any;
25
52
  email?: string;
26
53
  } | null>;
54
+ /**
55
+ * 清除用户数据
56
+ */
27
57
  clearUserData(): Promise<void>;
28
58
  }
@@ -1,17 +1,34 @@
1
+ /**
2
+ * Identity Domain Types
3
+ *
4
+ * 这些是简单的数据传输对象 (DTOs),不是 Domain 对象
5
+ */
6
+ /**
7
+ * User credentials (用于登录/注册)
8
+ */
1
9
  export interface UserCredentials {
2
10
  email: string;
3
11
  password: string;
4
12
  }
13
+ /**
14
+ * User profile (用户资料)
15
+ */
5
16
  export interface UserProfile {
6
17
  email: string;
7
18
  name?: string;
8
19
  avatar?: string;
9
20
  }
21
+ /**
22
+ * Login response (登录响应)
23
+ */
10
24
  export interface LoginResponse {
11
25
  token: string;
12
26
  expiresAt?: number;
13
27
  user?: UserProfile;
14
28
  }
29
+ /**
30
+ * Register response (注册响应)
31
+ */
15
32
  export interface RegisterResponse {
16
33
  token: string;
17
34
  expiresAt?: number;
@@ -1,13 +1,39 @@
1
+ /**
2
+ * Device Value Object
3
+ *
4
+ * 不可变的设备值对象
5
+ * 用于 License 激活时的设备识别
6
+ */
1
7
  export type DeviceType = 'desktop' | 'mobile' | 'tablet';
2
8
  export declare class Device {
3
9
  private readonly id;
4
10
  private readonly name;
5
11
  private readonly type;
6
12
  private constructor();
13
+ /**
14
+ * 创建 Device 实例
15
+ */
7
16
  static create(id: string, name: string, type: DeviceType): Device;
17
+ /**
18
+ * 从当前环境创建 Device
19
+ * 使用浏览器特征生成稳定的设备指纹
20
+ */
8
21
  static createFromEnvironment(): Promise<Device>;
22
+ /**
23
+ * 生成稳定的设备指纹
24
+ * 使用浏览器/系统特征,在会话间保持稳定
25
+ * 适配 Node.js 和 Browser/Electron 环境
26
+ */
9
27
  private static generateFingerprint;
28
+ /**
29
+ * 获取设备名称
30
+ * 适配 Node.js 和 Browser/Electron 环境
31
+ */
10
32
  private static getDeviceName;
33
+ /**
34
+ * 获取设备类型
35
+ * 适配 Node.js 和 Browser/Electron 环境
36
+ */
11
37
  private static getDeviceType;
12
38
  getId(): string;
13
39
  getName(): string;
@@ -1,12 +1,41 @@
1
+ /**
2
+ * Email Value Object
3
+ *
4
+ * 不可变的电子邮件地址值对象
5
+ */
1
6
  export declare class Email {
2
7
  private readonly value;
3
8
  private constructor();
9
+ /**
10
+ * 创建 Email 实例
11
+ */
4
12
  static create(email: string): Email;
13
+ /**
14
+ * 验证邮箱格式
15
+ */
5
16
  static isValid(email: string): boolean;
17
+ /**
18
+ * 获取邮箱字符串
19
+ */
6
20
  getValue(): string;
21
+ /**
22
+ * 获取邮箱域名
23
+ */
7
24
  getDomain(): string;
25
+ /**
26
+ * 获取用户名部分
27
+ */
8
28
  getLocalPart(): string;
29
+ /**
30
+ * 比较两个 Email 是否相等
31
+ */
9
32
  equals(other: Email): boolean;
33
+ /**
34
+ * 转换为字符串
35
+ */
10
36
  toString(): string;
37
+ /**
38
+ * 序列化为 JSON
39
+ */
11
40
  toJSON(): string;
12
41
  }
@@ -1,3 +1,16 @@
1
+ /**
2
+ * License Value Object
3
+ *
4
+ * 不可变的许可证值对象
5
+ *
6
+ * License Key format: MDF-XXXX-XXXX-XXXX
7
+ * - License key 可以直接生成 email 和 password
8
+ * - email = [key-without-prefix]@mdfriday.com
9
+ * - password = base64(key-without-prefix)
10
+ */
11
+ /**
12
+ * License Features
13
+ */
1
14
  export interface LicenseFeatures {
2
15
  maxDevices: number;
3
16
  maxIps: number;
@@ -10,6 +23,9 @@ export interface LicenseFeatures {
10
23
  customSubDomain: boolean;
11
24
  validityDays: number;
12
25
  }
26
+ /**
27
+ * License Plan Type
28
+ */
13
29
  export type LicensePlan = 'free' | 'starter' | 'enjoy' | 'creator' | 'pro' | 'enterprise';
14
30
  export declare class License {
15
31
  private readonly key;
@@ -20,7 +36,13 @@ export declare class License {
20
36
  private readonly activated;
21
37
  private readonly firstTime;
22
38
  private constructor();
39
+ /**
40
+ * 创建 License 实例
41
+ */
23
42
  static create(key: string, plan: LicensePlan, expiresAt: number, features: LicenseFeatures, activatedAt?: number, activated?: boolean, firstTime?: boolean): License;
43
+ /**
44
+ * 从 JSON 数据创建 License
45
+ */
24
46
  static fromJSON(data: {
25
47
  key: string;
26
48
  plan: LicensePlan;
@@ -30,25 +52,91 @@ export declare class License {
30
52
  activated?: boolean;
31
53
  firstTime?: boolean;
32
54
  }): License;
55
+ /**
56
+ * 验证 License Key 格式
57
+ * Expected format: MDF-XXXX-XXXX-XXXX (alphanumeric)
58
+ */
33
59
  static isValidFormat(key: string): boolean;
60
+ /**
61
+ * 检查 License 是否已过期
62
+ */
34
63
  isExpired(): boolean;
64
+ /**
65
+ * 检查 License 是否有效(未过期)
66
+ */
35
67
  isValid(): boolean;
68
+ /**
69
+ * 获取剩余天数
70
+ */
36
71
  getDaysRemaining(): number;
72
+ /**
73
+ * 从 License Key 生成 Email
74
+ * Format: [key-without-prefix]@mdfriday.com
75
+ * Example: MDF-ABC1-DEF2-GHI3 → abc1-def2-ghi3@mdfriday.com
76
+ */
37
77
  getEmail(): string;
78
+ /**
79
+ * 从 License Key 生成 Password
80
+ * Uses base64 encoding of the key portion (without MDF- prefix)
81
+ * 适配 Browser 和 Node.js 环境
82
+ */
38
83
  getPassword(): string;
84
+ /**
85
+ * Manual base64 encoding fallback
86
+ */
39
87
  private manualBase64Encode;
88
+ /**
89
+ * 获取 License Key(原始格式)
90
+ */
40
91
  getKey(): string;
92
+ /**
93
+ * 获取掩码后的 License Key
94
+ * Shows: MDF-••••-••••-XXXX
95
+ */
41
96
  getMaskedKey(): string;
97
+ /**
98
+ * 获取 Plan
99
+ */
42
100
  getPlan(): LicensePlan;
101
+ /**
102
+ * 获取格式化的 Plan 名称
103
+ */
43
104
  getFormattedPlan(): string;
105
+ /**
106
+ * 获取过期时间戳
107
+ */
44
108
  getExpiresAt(): number;
109
+ /**
110
+ * 获取格式化的过期日期
111
+ */
45
112
  getFormattedExpiresAt(): string;
113
+ /**
114
+ * 获取 Features
115
+ */
46
116
  getFeatures(): LicenseFeatures;
117
+ /**
118
+ * 获取激活时间
119
+ */
47
120
  getActivatedAt(): number;
121
+ /**
122
+ * 获取激活状态
123
+ */
48
124
  isActivated(): boolean;
125
+ /**
126
+ * 是否首次激活
127
+ */
49
128
  isFirstTime(): boolean;
129
+ /**
130
+ * 检查是否是试用 License
131
+ */
50
132
  isTrial(): boolean;
133
+ /**
134
+ * 比较两个 License 是否相同
135
+ */
51
136
  equals(other: License): boolean;
137
+ /**
138
+ * 序列化为 JSON
139
+ */
52
140
  toJSON(): {
53
141
  key: string;
54
142
  plan: LicensePlan;
@@ -58,6 +146,9 @@ export declare class License {
58
146
  activated: boolean;
59
147
  firstTime: boolean;
60
148
  };
149
+ /**
150
+ * 转换为存储格式(包含掩码)
151
+ */
61
152
  toStorageFormat(): {
62
153
  key: string;
63
154
  maskedKey: string;
@@ -1,19 +1,56 @@
1
+ /**
2
+ * ServerConfig Value Object
3
+ *
4
+ * 不可变的服务器配置值对象
5
+ */
1
6
  export declare class ServerConfig {
2
7
  private readonly apiUrl;
3
8
  private readonly websiteUrl;
4
9
  private constructor();
10
+ /**
11
+ * 创建 ServerConfig 实例
12
+ */
5
13
  static create(apiUrl: string, websiteUrl?: string): ServerConfig;
14
+ /**
15
+ * 从 JSON 数据创建 ServerConfig
16
+ */
6
17
  static fromJSON(data: {
7
18
  apiUrl: string;
8
19
  websiteUrl?: string;
9
20
  }): ServerConfig;
21
+ /**
22
+ * 创建默认配置
23
+ *
24
+ * 用户可以通过 mdf auth:config 命令修改服务器 URL
25
+ */
10
26
  static createDefault(): ServerConfig;
27
+ /**
28
+ * 验证 URL 格式
29
+ */
11
30
  private static isValidUrl;
31
+ /**
32
+ * 获取 API URL
33
+ */
12
34
  getApiUrl(): string;
35
+ /**
36
+ * 获取网站 URL
37
+ */
13
38
  getWebsiteUrl(): string | undefined;
39
+ /**
40
+ * 更新 API URL(返回新实例)
41
+ */
14
42
  withApiUrl(apiUrl: string): ServerConfig;
43
+ /**
44
+ * 更新网站 URL(返回新实例)
45
+ */
15
46
  withWebsiteUrl(websiteUrl?: string): ServerConfig;
47
+ /**
48
+ * 比较两个 ServerConfig 是否相等
49
+ */
16
50
  equals(other: ServerConfig): boolean;
51
+ /**
52
+ * 序列化为 JSON
53
+ */
17
54
  toJSON(): {
18
55
  apiUrl: string;
19
56
  websiteUrl?: string;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Sync Configuration Value Object
3
+ *
4
+ * 同步配置值对象,用于存储 CouchDB 同步配置信息
5
+ * 此配置从 License 激活时由后端返回
6
+ */
1
7
  export interface SyncConfigData {
2
8
  dbEndpoint: string;
3
9
  dbName: string;
@@ -14,17 +20,55 @@ export declare class SyncConfig {
14
20
  private readonly userDir;
15
21
  private readonly status;
16
22
  private constructor();
23
+ /**
24
+ * 创建 SyncConfig 实例
25
+ */
17
26
  static create(data: SyncConfigData): SyncConfig;
27
+ /**
28
+ * 从 JSON 数据创建 SyncConfig
29
+ */
18
30
  static fromJSON(data: SyncConfigData): SyncConfig;
31
+ /**
32
+ * 获取数据库端点 URL(包含数据库名)
33
+ */
19
34
  getDbEndpoint(): string;
35
+ /**
36
+ * 获取数据库名称
37
+ */
20
38
  getDbName(): string;
39
+ /**
40
+ * 获取用户邮箱
41
+ */
21
42
  getEmail(): string;
43
+ /**
44
+ * 获取数据库密码
45
+ */
22
46
  getDbPassword(): string;
47
+ /**
48
+ * 获取用户目录
49
+ */
23
50
  getUserDir(): string;
51
+ /**
52
+ * 获取同步账号状态
53
+ */
24
54
  getStatus(): string;
55
+ /**
56
+ * 检查同步账号是否激活
57
+ */
25
58
  isActive(): boolean;
59
+ /**
60
+ * 获取 CouchDB URI(不包含数据库名)
61
+ * 例如:https://couch.example.com/dbname -> https://couch.example.com
62
+ */
26
63
  getCouchDbUri(): string;
64
+ /**
65
+ * 序列化为 JSON
66
+ */
27
67
  toJSON(): SyncConfigData;
68
+ /**
69
+ * 转换为 Obsidian LiveSync 插件格式
70
+ * 用于直接配置 Obsidian 的 LiveSync 插件
71
+ */
28
72
  toObsidianLiveSyncFormat(): {
29
73
  couchDB_URI: string;
30
74
  couchDB_DBNAME: string;
@@ -35,5 +79,8 @@ export declare class SyncConfig {
35
79
  syncOnSave: boolean;
36
80
  liveSync: boolean;
37
81
  };
82
+ /**
83
+ * 比较两个 SyncConfig 是否相同
84
+ */
38
85
  equals(other: SyncConfig): boolean;
39
86
  }