@mdfriday/foundry 26.4.20 → 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 +2 -2
  4. package/dist/cjs/worker/worker-node.js +2 -2
  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 +66 -0
  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 +132 -0
  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
@@ -11,6 +11,10 @@ import { Organization } from '../valueobject/organization';
11
11
  import { TaxonomyList } from "@internal/domain/site/entity/taxonomies-builder";
12
12
  import { Menus } from "@internal/domain/site/valueobject/menu";
13
13
  import { PageGraph } from './pagegraph';
14
+ /**
15
+ * Site - TypeScript equivalent of Go's Site entity
16
+ * Main site management class
17
+ */
14
18
  export declare class Site {
15
19
  private configSvc;
16
20
  private contentSvc;
@@ -47,18 +51,54 @@ export declare class Site {
47
51
  Pages(): Promise<Page[]>;
48
52
  RegularPages(): Promise<Page[]>;
49
53
  constructor(configSvc: ConfigService, contentSvc: ContentService, translationSvc: TranslationService, languageSvc: LanguageService, sitemap: SitemapService, staticCopySvc: FsService, publisher: Publisher, author: Author, organization: Organization, compiler: Compiler, url: URL, ref: Ref | null, language: Language, navigation: Navigation | null, title: string);
54
+ /**
55
+ * Build site
56
+ * TypeScript equivalent of Build method from Go
57
+ */
50
58
  build(template: Template): Promise<void>;
51
59
  renderAllLanguages(): Promise<void>;
60
+ /**
61
+ * Build site with progress callbacks
62
+ * TypeScript equivalent of Build method from Go with progress tracking
63
+ */
52
64
  buildWithProgress(template: Template, onProgress?: (progress: {
53
65
  currentPage: number;
54
66
  totalPages: number;
55
67
  }) => void): Promise<void>;
68
+ /**
69
+ * Setup site before rendering
70
+ * TypeScript equivalent of setup method from Go
71
+ */
56
72
  private setup;
73
+ /**
74
+ * Render all pages
75
+ * TypeScript equivalent of render method from Go
76
+ */
57
77
  render(): Promise<void>;
78
+ /**
79
+ * Render all pages with progress tracking
80
+ * TypeScript equivalent of render method from Go with progress callbacks
81
+ */
58
82
  private renderWithProgress;
83
+ /**
84
+ * Render pages for current language
85
+ * TypeScript equivalent of renderPages method from Go
86
+ * 支持增量构建:根据环境变量判断是否只渲染 stale 页面
87
+ */
59
88
  private renderPages;
89
+ /**
90
+ * Render pages for current language with progress tracking
91
+ * TypeScript equivalent of renderPages method from Go with progress callbacks
92
+ */
60
93
  private renderPagesWithProgress;
94
+ /**
95
+ * Get page output (simplified implementation)
96
+ * TypeScript equivalent of pageOutput method from Go
97
+ */
61
98
  private pageOutput;
99
+ /**
100
+ * Clear site cache (simplified implementation)
101
+ */
62
102
  private clearSiteCache;
63
103
  translate(translationID: string): string;
64
104
  get Home(): Page | null;
@@ -67,40 +107,178 @@ export declare class Site {
67
107
  get Menus(): Menus;
68
108
  getTitle(): string;
69
109
  setTitle(title: string): void;
110
+ /**
111
+ * Get configuration service
112
+ */
70
113
  getConfigService(): ConfigService;
114
+ /**
115
+ * Get content service
116
+ */
71
117
  getContentService(): ContentService;
118
+ /**
119
+ * Get language service
120
+ */
72
121
  getLanguageService(): LanguageService;
122
+ /**
123
+ * Get base URL
124
+ * Provides the base URL service without exposing internal URL object
125
+ */
73
126
  baseURL(): string;
74
127
  get BaseURL(): string;
128
+ /**
129
+ * Get URL handler
130
+ */
75
131
  getURL(): URL;
132
+ /**
133
+ * Get reference handler
134
+ */
76
135
  getRef(): Ref;
136
+ /**
137
+ * Get language handler
138
+ */
77
139
  getLanguage(): Language;
78
140
  get Language(): Language;
79
141
  get LanguageCode(): string;
80
142
  get Languages(): Language[];
143
+ /**
144
+ * Get navigation handler
145
+ */
81
146
  getNavigation(): Navigation;
147
+ /**
148
+ * Get publisher
149
+ */
82
150
  getPublisher(): Publisher;
151
+ /**
152
+ * Get template
153
+ */
83
154
  getTemplate(): Template | null;
84
155
  get Author(): Author;
85
156
  get Organization(): Organization;
157
+ /**
158
+ * Get compiler info
159
+ */
86
160
  getCompiler(): Compiler;
161
+ /**
162
+ * Get sitemap service
163
+ */
87
164
  getSitemap(): SitemapService;
165
+ /**
166
+ * Check if site is multi-language
167
+ */
88
168
  isMultipleLanguage(): boolean;
89
169
  get IsMultilingual(): boolean;
170
+ /**
171
+ * Get current language
172
+ */
90
173
  getCurrentLanguage(): string;
174
+ /**
175
+ * Get language prefix for URLs
176
+ */
91
177
  languagePrefix(): string;
178
+ /**
179
+ * Site page factory method - convert content page to site page
180
+ */
92
181
  sitePage(target: ContentPage): Promise<Page>;
182
+ /**
183
+ * Convert array of content pages to array of site pages
184
+ * TypeScript equivalent of Go's sitePages method
185
+ */
93
186
  private sitePages;
187
+ /**
188
+ * Create site page from content page (synchronous version)
189
+ * TypeScript equivalent of Go's site page creation
190
+ */
94
191
  sitePageSync(contentPage: ContentPage): Page;
192
+ /**
193
+ * Pre-generate menus for all languages
194
+ * This ensures menus are cached before page rendering begins
195
+ */
95
196
  private generateNavigations;
197
+ /**
198
+ * Get page by path
199
+ * TypeScript equivalent of Go's GetPage method
200
+ * Made synchronous to match template function requirements
201
+ */
96
202
  GetPage(...ref: string[]): Page | null;
203
+ /**
204
+ * Copy static files to publish directory
205
+ * This is a core business capability of the Site entity
206
+ */
97
207
  copyStaticFiles(): Promise<void>;
208
+ /**
209
+ * Create site weighted page from ordinal weight page
210
+ * TypeScript equivalent of Go's siteWeightedPage method
211
+ */
98
212
  siteWeightedPage(ordinalWeightPage: any): Promise<any>;
213
+ /**
214
+ * Build PageGraph from all pages and resources
215
+ * Called during site setup phase (before rendering)
216
+ *
217
+ * Following Quartz's approach (build.ts Line 74-82):
218
+ * - Collects ALL files: pages + page resources (images, videos, etc.)
219
+ * - Includes resource files in allSlugs
220
+ * - Enables "shortest" link resolution strategy for resources
221
+ */
99
222
  private buildPageGraph;
223
+ /**
224
+ * Collect resource slugs from all pages
225
+ * Uses existing page resources (images, videos, etc. associated with pages)
226
+ *
227
+ * @param pages - All pages to collect resources from
228
+ * @returns Array of resource slugs (e.g., ["images/pic.png", "videos/demo.mp4"])
229
+ */
100
230
  private collectResourceSlugs;
231
+ /**
232
+ * Process wikilinks in HTML content (ASYNC - template engine supports it!)
233
+ * This method is exposed to templates for wikilink resolution
234
+ *
235
+ * @param srcSlug - Source page slug (e.g., "posts/my-post")
236
+ * @param html - HTML content with wikilinks
237
+ * @returns HTML with resolved wikilinks
238
+ *
239
+ * Usage in template:
240
+ * {{ .Site.ProcessWikilinks .Page.Slug .Content }}
241
+ *
242
+ * Note: Foundry's template engine supports async methods, similar to
243
+ * other async methods on Site and Page instances.
244
+ */
101
245
  ProcessWikilinks(srcSlug: string, html: string): Promise<string>;
246
+ /**
247
+ * Get PageGraph instance (for debugging/testing)
248
+ */
102
249
  getPageGraph(): PageGraph | null;
250
+ /**
251
+ * Get backlinks for a specific page
252
+ * This method is exposed to templates for backlinks display
253
+ * Uses global cache for better performance
254
+ *
255
+ * @param targetSlug - Target page slug (e.g., "posts/my-post")
256
+ * @returns Array of source page slugs that link to target
257
+ *
258
+ * Usage in template:
259
+ * {{ $backlinks := .Site.GetBacklinks .Page.Slug }}
260
+ *
261
+ * Based on Quartz Backlinks.tsx line 27:
262
+ * const backlinkFiles = allFiles.filter((file) => file.links?.includes(slug))
263
+ */
103
264
  GetBacklinks(targetSlug: string): string[];
265
+ /**
266
+ * Build backlinks cache for all pages
267
+ * Called after wikilink processing is complete
268
+ */
104
269
  buildBacklinksCache(pages: ContentPage[]): Promise<void>;
270
+ /**
271
+ * Generate contentIndex data for Graph visualization
272
+ * Based on Quartz contentIndex.tsx
273
+ *
274
+ * Returns a map of slug → content details including:
275
+ * - slug: Full page slug
276
+ * - title: Page title
277
+ * - links: Array of outgoing links (simplified slugs)
278
+ * - tags: Array of page tags
279
+ * - content: Page plain text content (truncated for performance)
280
+ *
281
+ * This data is used by the Graph component to render the knowledge graph
282
+ */
105
283
  GetContentIndex(): Promise<Map<string, any>>;
106
284
  }
@@ -6,6 +6,12 @@ export declare class NavigationFactory {
6
6
  private readonly contentService;
7
7
  private readonly site;
8
8
  constructor(langService: LanguageService, contentService: ContentService, site: Site);
9
+ /**
10
+ * Create a Navigation entity with menu building capabilities
11
+ */
9
12
  createNavigation(): Navigation;
10
13
  }
14
+ /**
15
+ * Create navigation factory instance
16
+ */
11
17
  export declare function createNavigationFactory(langService: LanguageService, contentService: ContentService, site: Site): NavigationFactory;
@@ -1,3 +1,7 @@
1
1
  import { Site } from '../entity/site';
2
2
  import { Services } from '../type';
3
+ /**
4
+ * Create new Site instance with enhanced Navigation (including menu building)
5
+ * TypeScript equivalent of New function from Go
6
+ */
3
7
  export declare function newSite(services: Services): Site;
@@ -1,20 +1,64 @@
1
+ /**
2
+ * HTML Link Processor Service - Pass 2 link resolution
3
+ * Based on Quartz CrawlLinks transformer
4
+ * Source: quartz-src/quartz/plugins/transformers/links.ts
5
+ *
6
+ * This service processes HTML output from markdown rendering (Pass 1)
7
+ * and resolves all internal links using PageGraph knowledge.
8
+ */
1
9
  import { PageGraph } from '../entity/pagegraph';
2
10
  import { LinkStrategy } from '../valueobject/path';
3
11
  export interface LinkProcessorOptions {
12
+ /** Link resolution strategy */
4
13
  markdownLinkResolution: LinkStrategy;
14
+ /** Strip folders from link display */
5
15
  prettyLinks: boolean;
16
+ /** Open external links in new tab */
6
17
  openLinksInNewTab: boolean;
18
+ /** Lazy load images */
7
19
  lazyLoad: boolean;
20
+ /** Add icon to external links */
8
21
  externalLinkIcon: boolean;
22
+ /** Base URL for resolving links (e.g., "/public" or "") */
9
23
  baseURL?: string;
10
24
  }
25
+ /**
26
+ * HtmlLinkProcessor - Process HTML links (Pass 2)
27
+ * Based on Quartz CrawlLinks plugin (lines 35-168)
28
+ *
29
+ * This processor:
30
+ * 1. Finds all <a> tags in HTML
31
+ * 2. Resolves internal links using PageGraph
32
+ * 3. Adds appropriate CSS classes (internal/external/broken)
33
+ * 4. Transforms media resource URLs (img, video, audio)
34
+ * 5. Optionally adds external link icons
35
+ * 6. Handles pretty links (show only filename)
36
+ */
11
37
  export declare class HtmlLinkProcessor {
12
38
  private graph;
13
39
  private options;
14
40
  constructor(graph: PageGraph, options?: Partial<LinkProcessorOptions>);
41
+ /**
42
+ * Process all links in HTML (main entry point)
43
+ *
44
+ * @param srcSlug - Source page slug (e.g., "posts/my-post")
45
+ * @param html - HTML content from Pass 1
46
+ * @returns Object with processed HTML and outgoing links
47
+ *
48
+ * Example:
49
+ * ```ts
50
+ * const processor = new HtmlLinkProcessor(pageGraph)
51
+ * const html = '<a data-slug="page">Page</a>'
52
+ * const result = await processor.processLinks("posts/a", html)
53
+ * // result: { html: '<a href="../page" class="internal">Page</a>', outgoingLinks: ['page'] }
54
+ * ```
55
+ */
15
56
  processLinks(srcSlug: string, html: string): Promise<{
16
57
  html: string;
17
58
  outgoingLinks: string[];
18
59
  }>;
19
60
  }
61
+ /**
62
+ * Factory function to create HtmlLinkProcessor
63
+ */
20
64
  export declare function createHtmlLinkProcessor(graph: PageGraph, options?: Partial<LinkProcessorOptions>): HtmlLinkProcessor;
@@ -1,8 +1,15 @@
1
1
  import { Page as ContentPage, PageSource, WalkTaxonomyFunc } from '../content/type';
2
2
  import { ReadableStream } from 'stream/web';
3
3
  import { Fs } from '../fs/type';
4
+ /**
5
+ * Services - TypeScript equivalent of Go's Services interface
6
+ * Main service aggregation interface
7
+ */
4
8
  export interface Services extends ContentService, TranslationService, ResourceService, LanguageService, FsService, URLService, ConfigService, SitemapService {
5
9
  }
10
+ /**
11
+ * ConfigService - TypeScript equivalent of Go's ConfigService
12
+ */
6
13
  export interface ConfigService {
7
14
  configParams(): Record<string, any>;
8
15
  siteTitle(): string;
@@ -19,6 +26,9 @@ export interface ConfigService {
19
26
  getSocialLink(platformId: string): string;
20
27
  getSocialTitle(platformId: string): string;
21
28
  }
29
+ /**
30
+ * ContentService - TypeScript equivalent of Go's ContentService
31
+ */
22
32
  export interface ContentService {
23
33
  walkPages(langIndex: number, walker: WalkFunc): Promise<void>;
24
34
  getPageSources(page: ContentPage): Promise<PageSource[]>;
@@ -30,19 +40,31 @@ export interface ContentService {
30
40
  getPageFromPathSync(langIndex: number, path: string): ContentPage | null;
31
41
  getPageRef(context: ContentPage, ref: string, home: ContentPage): Promise<ContentPage | null>;
32
42
  }
43
+ /**
44
+ * TranslationService - TypeScript equivalent of Go's TranslationService
45
+ */
33
46
  export interface TranslationService {
34
47
  translate(lang: string, translationID: string): string;
35
48
  }
49
+ /**
50
+ * ResourceService - TypeScript equivalent of Go's ResourceService
51
+ */
36
52
  export interface ResourceService {
37
53
  getResource(path: string): Promise<Resource | null>;
38
54
  getResourceWithOpener(path: string, opener: OpenReadSeekCloser): Promise<Resource>;
39
55
  }
56
+ /**
57
+ * LanguageService - TypeScript equivalent of Go's LanguageService
58
+ */
40
59
  export interface LanguageService {
41
60
  defaultLanguage(): string;
42
61
  languageKeys(): string[];
43
62
  getLanguageIndex(lang: string): number;
44
63
  getLanguageName(lang: string): string;
45
64
  }
65
+ /**
66
+ * SitemapService - TypeScript equivalent of Go's SitemapService
67
+ */
46
68
  export interface SitemapService {
47
69
  changeFreq(): string;
48
70
  priority(): number;
@@ -50,72 +72,126 @@ export interface SitemapService {
50
72
  urls: any[];
51
73
  }>;
52
74
  }
75
+ /**
76
+ * Walk function types
77
+ */
53
78
  export type WalkFunc = (page: ContentPage) => Promise<void>;
79
+ /**
80
+ * Menu - TypeScript equivalent of Go's Menu interface
81
+ */
54
82
  export interface Menu {
55
83
  name(): string;
56
84
  url(): string;
57
85
  weight(): number;
58
86
  }
87
+ /**
88
+ * Resource interface
89
+ */
59
90
  export interface Resource {
60
91
  name(): string;
61
92
  readSeekCloser(): Promise<ReadableStream<Uint8Array>>;
62
93
  targetPath(): string;
63
94
  }
95
+ /**
96
+ * OpenReadSeekCloser - TypeScript equivalent of Go's io.OpenReadSeekCloser
97
+ */
64
98
  export type OpenReadSeekCloser = () => Promise<ReadableStream<Uint8Array>>;
99
+ /**
100
+ * FsService - TypeScript equivalent of Go's FsService
101
+ */
65
102
  export interface FsService {
66
103
  publishFs(): Fs;
67
104
  staticFs(): Fs;
68
105
  copyStaticFiles(from: Fs, to: Fs): Promise<void>;
69
106
  workingDir(): string;
70
107
  }
108
+ /**
109
+ * URLService - TypeScript equivalent of Go's URLService
110
+ */
71
111
  export interface URLService {
72
112
  baseUrl(): string;
73
113
  }
114
+ /**
115
+ * Author interface
116
+ */
74
117
  export interface Author {
75
118
  name(): string;
76
119
  email(): string;
77
120
  }
121
+ /**
122
+ * Organization interface
123
+ */
78
124
  export interface Organization {
79
125
  name(): string;
80
126
  description(): string;
81
127
  website(): string;
82
128
  }
129
+ /**
130
+ * Compiler interface
131
+ */
83
132
  export interface Compiler {
84
133
  version(): string;
85
134
  environment(): string;
86
135
  }
136
+ /**
137
+ * Site interface - minimal implementation for dependencies
138
+ */
87
139
  export interface Site {
88
140
  currentLanguage: string;
89
141
  baseURL(): string;
90
142
  }
143
+ /**
144
+ * RefArgs interface - TypeScript equivalent of valueobject.RefArgs
145
+ */
91
146
  export interface RefArgs {
92
147
  path: string;
93
148
  outputFormat: string;
94
149
  }
150
+ /**
151
+ * RefSite interface for Ref dependencies
152
+ */
95
153
  export interface RefSite {
96
154
  home: {
97
155
  page: ContentPage;
98
156
  };
99
157
  sitePage(target: ContentPage): Promise<SitePage>;
100
158
  }
159
+ /**
160
+ * SitePage interface with permalink methods
161
+ */
101
162
  export interface SitePage {
102
163
  relPermalink(): string;
103
164
  permalink(): string;
104
165
  path?(): string;
105
166
  }
167
+ /**
168
+ * PageWrapper interface
169
+ */
106
170
  export interface PageWrapper {
107
171
  unwrapPage(): ContentPage;
108
172
  }
173
+ /**
174
+ * Position interface for error reporting
175
+ */
109
176
  export interface Position {
110
177
  isValid(): boolean;
111
178
  toString(): string;
112
179
  }
180
+ /**
181
+ * Positioner interface
182
+ */
113
183
  export interface Positioner {
114
184
  position(): Position;
115
185
  }
186
+ /**
187
+ * Menus interface - TypeScript equivalent of valueobject.Menus
188
+ */
116
189
  export interface Menus {
117
190
  [key: string]: any;
118
191
  }
192
+ /**
193
+ * BaseURL interface
194
+ */
119
195
  export interface BaseURL {
120
196
  protocol(): string;
121
197
  host(): string;
@@ -126,6 +202,9 @@ export interface BaseURL {
126
202
  getRoot(path: string): string;
127
203
  basePathNoTrailingSlash: string;
128
204
  }
205
+ /**
206
+ * URLSite interface
207
+ */
129
208
  export interface URLSite {
130
209
  baseURL(): BaseURL;
131
210
  absURL(input: string): string;
@@ -134,19 +213,31 @@ export interface URLSite {
134
213
  languagePrefix(): string;
135
214
  isMultipleLanguage(): boolean;
136
215
  }
216
+ /**
217
+ * Language - TypeScript equivalent of Go's Language interface
218
+ */
137
219
  export interface Language {
138
220
  location(): string;
139
221
  collator(): Collator;
140
222
  }
223
+ /**
224
+ * Collator interface for string comparison
225
+ */
141
226
  export interface Collator {
142
227
  compare(a: string, b: string): number;
143
228
  }
229
+ /**
230
+ * URL - TypeScript equivalent of Go's URL interface
231
+ */
144
232
  export interface URL {
145
233
  base: string;
146
234
  absURL(input: string): string;
147
235
  relURL(input: string): string;
148
236
  urlize(uri: string): string;
149
237
  }
238
+ /**
239
+ * Template - TypeScript equivalent of Go's Template interface
240
+ */
150
241
  export interface Template {
151
242
  lookupLayout(names: string[]): Promise<{
152
243
  preparer: TemplatePreparer;
@@ -154,12 +245,21 @@ export interface Template {
154
245
  }>;
155
246
  executeWithContext(preparer: TemplatePreparer, data: any): Promise<string>;
156
247
  }
248
+ /**
249
+ * TemplatePreparer interface
250
+ */
157
251
  export interface TemplatePreparer {
158
252
  name(): string;
159
253
  execute(data: any): Promise<string>;
160
254
  }
255
+ /**
256
+ * ContentSpec - TypeScript equivalent of Go's ContentSpec
257
+ */
161
258
  export interface ContentSpec {
162
259
  preparePages(): Promise<void>;
163
260
  renderPages(handler: RenderHandler): Promise<void>;
164
261
  }
262
+ /**
263
+ * RenderHandler function type
264
+ */
165
265
  export type RenderHandler = (kind: string, sections: string[], dir: string, name: string, content: string) => Promise<void>;
@@ -1,4 +1,7 @@
1
1
  import { Author as ContentAuthor } from '@internal/domain/content';
2
+ /**
3
+ * Social link item with ID and Link properties
4
+ */
2
5
  export interface SocialLink {
3
6
  ID: string;
4
7
  Link: string;
@@ -8,13 +11,26 @@ export declare class Author {
8
11
  private readonly _email;
9
12
  private _homeAuthor;
10
13
  constructor(name: string, email: string);
14
+ /**
15
+ * Get author name
16
+ */
11
17
  name(): string;
18
+ /**
19
+ * Get author email
20
+ */
12
21
  email(): string;
13
22
  author(author: ContentAuthor | undefined): Author;
14
23
  get Name(): string;
15
24
  get Description(): string;
16
25
  get Avatar(): string;
17
26
  get Twitter(): string;
27
+ /**
28
+ * Get all social links as array of objects with ID and Link properties
29
+ */
18
30
  get Socials(): SocialLink[];
19
31
  }
32
+ /**
33
+ * Factory function to create new Author
34
+ * TypeScript equivalent of NewAuthor function from Go
35
+ */
20
36
  export declare function newAuthor(name: string, email: string): Author;
@@ -7,18 +7,57 @@ export declare class BaseURL {
7
7
  readonly basePathNoTrailingSlash: string;
8
8
  readonly isRelative: boolean;
9
9
  private constructor();
10
+ /**
11
+ * Creates a new BaseURL instance from a string.
12
+ * Supports various formats:
13
+ * - Absolute URLs: https://example.com/, https://example.com/public/
14
+ * - Relative paths: /public/, /
15
+ * - Protocol-relative URLs: //example.com/
16
+ */
10
17
  static fromString(baseUrl: string): BaseURL;
18
+ /**
19
+ * Returns the appropriate root URL based on the path.
20
+ */
11
21
  getRoot(path: string): string;
12
22
  toString(): string;
13
23
  path(): string;
14
24
  port(): number;
25
+ /**
26
+ * Returns the URL to the host root without any path elements.
27
+ */
15
28
  hostURL(): string;
29
+ /**
30
+ * Returns the protocol (scheme) of the URL.
31
+ */
16
32
  protocol(): string;
33
+ /**
34
+ * Returns the host (hostname + port) of the URL.
35
+ */
17
36
  host(): string;
37
+ /**
38
+ * Returns the hostname of the URL.
39
+ */
18
40
  hostname(): string;
41
+ /**
42
+ * Returns a copy of the internal URL.
43
+ * The copy can be safely used and modified.
44
+ */
19
45
  getURL(): URL;
46
+ /**
47
+ * Returns the BaseURL prefixed with the given protocol.
48
+ * The Protocol is normally of the form "scheme://", i.e. "webcal://".
49
+ */
20
50
  withProtocol(protocol: string): BaseURL;
51
+ /**
52
+ * Returns a new BaseURL with the specified port.
53
+ */
21
54
  withPort(port: number): BaseURL;
55
+ /**
56
+ * Checks if this BaseURL is relative (path-only).
57
+ */
22
58
  isRelativeURL(): boolean;
59
+ /**
60
+ * Checks if this BaseURL is absolute (has protocol and host).
61
+ */
23
62
  isAbsoluteURL(): boolean;
24
63
  }