@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.
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/obsidian/mobile.js +1 -1
- package/dist/cjs/worker/pool-manager.js +2 -2
- package/dist/cjs/worker/worker-node.js +2 -2
- package/dist/esm/index.js +1 -1
- package/dist/esm/obsidian/mobile.js +1 -1
- package/dist/types/internal/application/batch-task-queue.d.ts +17 -0
- package/dist/types/internal/application/container.d.ts +66 -0
- package/dist/types/internal/application/identity.d.ts +173 -0
- package/dist/types/internal/application/incremental-build-coordinator.d.ts +28 -0
- package/dist/types/internal/application/incremental-ssg.d.ts +4 -0
- package/dist/types/internal/application/index.d.ts +5 -4
- package/dist/types/internal/application/publish.d.ts +37 -0
- package/dist/types/internal/application/ssg-parallel.d.ts +6 -0
- package/dist/types/internal/application/ssg.d.ts +15 -0
- package/dist/types/internal/application/wiki-service-config.d.ts +65 -0
- package/dist/types/internal/application/wiki-service.d.ts +199 -0
- package/dist/types/internal/application/worker/pool-manager.d.ts +43 -0
- package/dist/types/internal/application/worker/worker-browser.d.ts +6 -0
- package/dist/types/internal/application/worker/worker-main.d.ts +12 -0
- package/dist/types/internal/application/worker/worker-state.d.ts +23 -0
- package/dist/types/internal/application/workspace.d.ts +98 -0
- package/dist/types/internal/domain/config/entity/config.d.ts +40 -0
- package/dist/types/internal/domain/config/entity/language.d.ts +51 -0
- package/dist/types/internal/domain/config/entity/markdown.d.ts +36 -0
- package/dist/types/internal/domain/config/entity/module.d.ts +36 -0
- package/dist/types/internal/domain/config/entity/root.d.ts +39 -0
- package/dist/types/internal/domain/config/entity/service.d.ts +36 -0
- package/dist/types/internal/domain/config/entity/social.d.ts +43 -0
- package/dist/types/internal/domain/config/entity/taxonomy.d.ts +39 -0
- package/dist/types/internal/domain/config/factory/config.d.ts +3 -0
- package/dist/types/internal/domain/config/factory/loader.d.ts +24 -0
- package/dist/types/internal/domain/config/factory/provider.d.ts +10 -0
- package/dist/types/internal/domain/config/factory/sourcedescriptor.d.ts +12 -0
- package/dist/types/internal/domain/config/type.d.ts +56 -0
- package/dist/types/internal/domain/config/vo/language.d.ts +6 -0
- package/dist/types/internal/domain/config/vo/markdown.d.ts +13 -0
- package/dist/types/internal/domain/config/vo/module.d.ts +9 -0
- package/dist/types/internal/domain/config/vo/root.d.ts +6 -0
- package/dist/types/internal/domain/config/vo/service.d.ts +6 -0
- package/dist/types/internal/domain/config/vo/social.d.ts +16 -0
- package/dist/types/internal/domain/config/vo/taxonomy.d.ts +12 -0
- package/dist/types/internal/domain/content/entity/content.d.ts +36 -0
- package/dist/types/internal/domain/content/entity/page.d.ts +23 -0
- package/dist/types/internal/domain/content/entity/pagebuilder.d.ts +83 -0
- package/dist/types/internal/domain/content/entity/pagecollector.d.ts +3 -0
- package/dist/types/internal/domain/content/entity/pagecontent.d.ts +14 -0
- package/dist/types/internal/domain/content/entity/pagemap.d.ts +69 -0
- package/dist/types/internal/domain/content/entity/pagesource.d.ts +52 -0
- package/dist/types/internal/domain/content/entity/pagetrees.d.ts +12 -0
- package/dist/types/internal/domain/content/entity/paginator.d.ts +19 -0
- package/dist/types/internal/domain/content/entity/section.d.ts +15 -0
- package/dist/types/internal/domain/content/entity/shortcode.d.ts +39 -0
- package/dist/types/internal/domain/content/entity/standalone.d.ts +9 -0
- package/dist/types/internal/domain/content/entity/taxonomy.d.ts +15 -0
- package/dist/types/internal/domain/content/entity/term.d.ts +6 -0
- package/dist/types/internal/domain/content/entity/translator.d.ts +22 -0
- package/dist/types/internal/domain/content/type.d.ts +6 -0
- package/dist/types/internal/domain/content/vo/classifier.d.ts +24 -0
- package/dist/types/internal/domain/content/vo/frontmatter.d.ts +65 -0
- package/dist/types/internal/domain/content/vo/kind.d.ts +10 -0
- package/dist/types/internal/domain/fs/entity/basefs.d.ts +23 -0
- package/dist/types/internal/domain/fs/entity/fs.d.ts +13 -0
- package/dist/types/internal/domain/fs/entity/originfs.d.ts +6 -0
- package/dist/types/internal/domain/fs/entity/overlaydir.d.ts +44 -0
- package/dist/types/internal/domain/fs/entity/overlayfs.d.ts +79 -0
- package/dist/types/internal/domain/fs/entity/service.d.ts +15 -0
- package/dist/types/internal/domain/fs/factory/fs.d.ts +4 -0
- package/dist/types/internal/domain/fs/type.d.ts +95 -0
- package/dist/types/internal/domain/fs/vo/dir.d.ts +41 -0
- package/dist/types/internal/domain/fs/vo/file.d.ts +28 -0
- package/dist/types/internal/domain/fs/vo/fileinfo.d.ts +23 -0
- package/dist/types/internal/domain/fs/vo/filemeta.d.ts +45 -0
- package/dist/types/internal/domain/fs/vo/filesystemscollector.d.ts +17 -0
- package/dist/types/internal/domain/fs/vo/filevitural.d.ts +8 -0
- package/dist/types/internal/domain/fs/vo/osfs.d.ts +12 -0
- package/dist/types/internal/domain/fs/vo/overlay-factory.d.ts +4 -0
- package/dist/types/internal/domain/fs/vo/overlayfs-factory.d.ts +42 -0
- package/dist/types/internal/domain/fs/vo/overlayoptions.d.ts +44 -0
- package/dist/types/internal/domain/fs/vo/static-copier.d.ts +22 -0
- package/dist/types/internal/domain/fs/vo/walkway.d.ts +22 -0
- package/dist/types/internal/domain/identity/entity/user.d.ts +100 -0
- package/dist/types/internal/domain/identity/factory/user-factory.d.ts +183 -0
- package/dist/types/internal/domain/identity/repository/index.d.ts +30 -0
- package/dist/types/internal/domain/identity/type.d.ts +17 -0
- package/dist/types/internal/domain/identity/value-object/device.d.ts +26 -0
- package/dist/types/internal/domain/identity/value-object/email.d.ts +29 -0
- package/dist/types/internal/domain/identity/value-object/license.d.ts +91 -0
- package/dist/types/internal/domain/identity/value-object/server-config.d.ts +37 -0
- package/dist/types/internal/domain/identity/value-object/sync-config.d.ts +47 -0
- package/dist/types/internal/domain/identity/value-object/token.d.ts +35 -0
- package/dist/types/internal/domain/markdown/entity/markdown.d.ts +41 -0
- package/dist/types/internal/domain/markdown/factory/it/config.d.ts +60 -0
- package/dist/types/internal/domain/markdown/factory/it/index.d.ts +21 -1
- package/dist/types/internal/domain/markdown/factory/it/parserresult.d.ts +3 -0
- package/dist/types/internal/domain/markdown/factory/it/plugins/callout-plugin.d.ts +40 -0
- package/dist/types/internal/domain/markdown/factory/it/plugins/latex-plugin.d.ts +23 -0
- package/dist/types/internal/domain/markdown/factory/it/plugins/mermaid-plugin.d.ts +24 -0
- package/dist/types/internal/domain/markdown/factory/it/plugins/tag-plugin.d.ts +71 -0
- package/dist/types/internal/domain/markdown/factory/it/plugins/wikilink-plugin.d.ts +28 -0
- package/dist/types/internal/domain/markdown/factory/it/plugins/wikilink.d.ts +31 -0
- package/dist/types/internal/domain/markdown/factory/it/tableofcontents.d.ts +21 -0
- package/dist/types/internal/domain/markdown/factory/it/util/path.d.ts +11 -0
- package/dist/types/internal/domain/markdown/factory/it/util/slugger-fallback.d.ts +6 -0
- package/dist/types/internal/domain/markdown/type.d.ts +159 -0
- package/dist/types/internal/domain/markdown/vo/config.d.ts +48 -0
- package/dist/types/internal/domain/markdown/vo/content.d.ts +92 -0
- package/dist/types/internal/domain/markdown/vo/context.d.ts +9 -0
- package/dist/types/internal/domain/markdown/vo/highlight.d.ts +15 -0
- package/dist/types/internal/domain/markdown/vo/pageparser.d.ts +9 -0
- package/dist/types/internal/domain/markdown/vo/parseinfo.d.ts +36 -0
- package/dist/types/internal/domain/markdown/vo/parserresult.d.ts +6 -0
- package/dist/types/internal/domain/markdown/vo/shortcode.d.ts +31 -1
- package/dist/types/internal/domain/markdown/vo/tableofcontents.d.ts +21 -0
- package/dist/types/internal/domain/module/entity/lang.d.ts +12 -0
- package/dist/types/internal/domain/module/entity/module.d.ts +73 -0
- package/dist/types/internal/domain/module/factory/module.d.ts +6 -0
- package/dist/types/internal/domain/module/type.d.ts +58 -0
- package/dist/types/internal/domain/module/vo/cache.d.ts +48 -0
- package/dist/types/internal/domain/module/vo/httpclient.d.ts +14 -0
- package/dist/types/internal/domain/module/vo/module.d.ts +76 -0
- package/dist/types/internal/domain/module/vo/mount.d.ts +39 -0
- package/dist/types/internal/domain/module/vo/themes.d.ts +38 -0
- package/dist/types/internal/domain/module/vo/zipextractor.d.ts +31 -0
- package/dist/types/internal/domain/paths/entity/path.d.ts +28 -0
- package/dist/types/internal/domain/paths/factory/pathfactory.d.ts +82 -0
- package/dist/types/internal/domain/paths/type.d.ts +132 -0
- package/dist/types/internal/domain/paths/vo/pathcomponents.d.ts +94 -0
- package/dist/types/internal/domain/paths/vo/pathparser.d.ts +77 -0
- package/dist/types/internal/domain/publish/entity/publisher.d.ts +26 -0
- package/dist/types/internal/domain/publish/factory/publisher-factory.d.ts +17 -0
- package/dist/types/internal/domain/publish/repository/http-client.d.ts +21 -0
- package/dist/types/internal/domain/publish/repository/manifest-repository.d.ts +27 -0
- package/dist/types/internal/domain/publish/type.d.ts +49 -0
- package/dist/types/internal/domain/publish/value-object/ftp-publisher.d.ts +30 -0
- package/dist/types/internal/domain/publish/value-object/mdfriday-publisher.d.ts +57 -0
- package/dist/types/internal/domain/publish/value-object/netlify-publisher.d.ts +55 -0
- package/dist/types/internal/domain/publish/value-object/publish-config.d.ts +38 -0
- package/dist/types/internal/domain/publish/value-object/publish-manifest.d.ts +50 -0
- package/dist/types/internal/domain/resources/entity/http.d.ts +11 -0
- package/dist/types/internal/domain/resources/entity/integrity.d.ts +4 -0
- package/dist/types/internal/domain/resources/entity/minifier.d.ts +4 -0
- package/dist/types/internal/domain/resources/entity/publisher.d.ts +24 -0
- package/dist/types/internal/domain/resources/entity/resource.d.ts +4 -0
- package/dist/types/internal/domain/resources/entity/resources.d.ts +40 -0
- package/dist/types/internal/domain/resources/entity/template.d.ts +4 -0
- package/dist/types/internal/domain/resources/factory/resource.d.ts +4 -0
- package/dist/types/internal/domain/site/entity/language.d.ts +55 -0
- package/dist/types/internal/domain/site/entity/menu-builder.d.ts +50 -0
- package/dist/types/internal/domain/site/entity/navigation.d.ts +8 -0
- package/dist/types/internal/domain/site/entity/page.d.ts +88 -0
- package/dist/types/internal/domain/site/entity/pagegraph.d.ts +85 -0
- package/dist/types/internal/domain/site/entity/pager.d.ts +6 -0
- package/dist/types/internal/domain/site/entity/publisher.d.ts +26 -0
- package/dist/types/internal/domain/site/entity/ref.d.ts +27 -0
- package/dist/types/internal/domain/site/entity/site.d.ts +178 -0
- package/dist/types/internal/domain/site/factory/navigation-factory.d.ts +6 -0
- package/dist/types/internal/domain/site/factory/site.d.ts +4 -0
- package/dist/types/internal/domain/site/service/html-link-processor.d.ts +44 -0
- package/dist/types/internal/domain/site/type.d.ts +100 -0
- package/dist/types/internal/domain/site/valueobject/author.d.ts +16 -0
- package/dist/types/internal/domain/site/valueobject/baseurl.d.ts +39 -0
- package/dist/types/internal/domain/site/valueobject/menu.d.ts +49 -0
- package/dist/types/internal/domain/site/valueobject/organization.d.ts +37 -0
- package/dist/types/internal/domain/site/valueobject/path.d.ts +50 -0
- package/dist/types/internal/domain/site/valueobject/version.d.ts +14 -0
- package/dist/types/internal/domain/template/entity/executor.d.ts +22 -0
- package/dist/types/internal/domain/template/entity/lookup.d.ts +55 -0
- package/dist/types/internal/domain/template/entity/parser.d.ts +40 -0
- package/dist/types/internal/domain/template/entity/template.d.ts +87 -0
- package/dist/types/internal/domain/template/factory/template.d.ts +61 -0
- package/dist/types/internal/domain/template/type.d.ts +109 -0
- package/dist/types/internal/domain/template/vo/baseof.d.ts +47 -0
- package/dist/types/internal/domain/template/vo/info.d.ts +28 -0
- package/dist/types/internal/domain/template/vo/namespace.d.ts +91 -0
- package/dist/types/internal/domain/template/vo/registry.d.ts +160 -0
- package/dist/types/internal/domain/wiki/entity/concept.d.ts +31 -0
- package/dist/types/internal/domain/wiki/entity/connection.d.ts +29 -0
- package/dist/types/internal/domain/wiki/entity/conversation.d.ts +65 -0
- package/dist/types/internal/domain/wiki/entity/embedding-index.d.ts +60 -0
- package/dist/types/internal/domain/wiki/entity/entity.d.ts +32 -0
- package/dist/types/internal/domain/wiki/entity/knowledge-base.d.ts +292 -0
- package/dist/types/internal/domain/wiki/entity/operation-log.d.ts +82 -0
- package/dist/types/internal/domain/wiki/factory/wiki-factory.d.ts +41 -0
- package/dist/types/internal/domain/wiki/index.d.ts +22 -0
- package/dist/types/internal/domain/wiki/repository/conversation-repository.interface.d.ts +29 -0
- package/dist/types/internal/domain/wiki/repository/crypto-service.d.ts +16 -0
- package/dist/types/internal/domain/wiki/repository/embedding-provider.d.ts +12 -0
- package/dist/types/internal/domain/wiki/repository/file-system.d.ts +43 -0
- package/dist/types/internal/domain/wiki/repository/index.d.ts +14 -0
- package/dist/types/internal/domain/wiki/repository/kb-repository.interface.d.ts +30 -0
- package/dist/types/internal/domain/wiki/repository/llm-http-client.d.ts +40 -0
- package/dist/types/internal/domain/wiki/repository/llm-provider.d.ts +34 -0
- package/dist/types/internal/domain/wiki/repository/path-service.d.ts +32 -0
- package/dist/types/internal/domain/wiki/repository/wiki-page-repository.interface.d.ts +49 -0
- package/dist/types/internal/domain/wiki/value-object/connection-type.d.ts +24 -0
- package/dist/types/internal/domain/wiki/value-object/content-annotator.d.ts +61 -0
- package/dist/types/internal/domain/wiki/value-object/entity-id.d.ts +17 -0
- package/dist/types/internal/domain/wiki/value-object/entity-type.d.ts +24 -0
- package/dist/types/internal/domain/wiki/value-object/extraction-parser.d.ts +27 -0
- package/dist/types/internal/domain/wiki/value-object/extraction-result.d.ts +32 -0
- package/dist/types/internal/domain/wiki/value-object/retrieval.d.ts +228 -0
- package/dist/types/internal/domain/wiki/value-object/source-record.d.ts +17 -0
- package/dist/types/internal/domain/wiki/value-object/wiki-config.d.ts +40 -0
- package/dist/types/internal/domain/wiki/value-object/wiki-index-generator.d.ts +31 -0
- package/dist/types/internal/domain/wiki/value-object/wiki-page-renderer.d.ts +42 -0
- package/dist/types/internal/domain/workspace/entity/authentication.d.ts +29 -0
- package/dist/types/internal/domain/workspace/entity/project.d.ts +173 -0
- package/dist/types/internal/domain/workspace/entity/workspace.d.ts +85 -0
- package/dist/types/internal/domain/workspace/factory/workspace-factory.d.ts +107 -0
- package/dist/types/internal/domain/workspace/repository/file-system.d.ts +241 -0
- package/dist/types/internal/domain/workspace/repository/index.d.ts +6 -0
- package/dist/types/internal/domain/workspace/repository.d.ts +72 -0
- package/dist/types/internal/domain/workspace/type.d.ts +18 -0
- package/dist/types/internal/domain/workspace/value-object/folder-structure.d.ts +41 -0
- package/dist/types/internal/domain/workspace/value-object/project-metadata.d.ts +36 -0
- package/dist/types/internal/domain/workspace/value-object/workspace-metadata.d.ts +7 -0
- package/dist/types/internal/infrastructure/embedding/embedding-provider.interface.d.ts +33 -0
- package/dist/types/internal/infrastructure/embedding/index.d.ts +5 -0
- package/dist/types/internal/infrastructure/embedding/ollama-embedding-provider.d.ts +24 -0
- package/dist/types/internal/infrastructure/http/netlify-http-client.d.ts +20 -0
- package/dist/types/internal/infrastructure/http/node-http-client.d.ts +3 -0
- package/dist/types/internal/infrastructure/index.d.ts +8 -0
- package/dist/types/internal/infrastructure/llm/fetch-http-client.d.ts +24 -0
- package/dist/types/internal/infrastructure/llm/index.d.ts +6 -0
- package/dist/types/internal/infrastructure/llm/llm-config.d.ts +80 -0
- package/dist/types/internal/infrastructure/llm/lmstudio-provider.d.ts +55 -0
- package/dist/types/internal/infrastructure/llm/node-llm-http-client.d.ts +21 -0
- package/dist/types/internal/infrastructure/llm/ollama-provider.d.ts +17 -0
- package/dist/types/internal/infrastructure/llm/openai-compatible-provider.d.ts +70 -0
- package/dist/types/internal/infrastructure/llm/provider-factory.d.ts +36 -0
- package/dist/types/internal/infrastructure/llm/provider.d.ts +77 -0
- package/dist/types/internal/infrastructure/node/index.d.ts +11 -0
- package/dist/types/internal/infrastructure/node/node-conversation-repository.d.ts +21 -0
- package/dist/types/internal/infrastructure/node/node-crypto-service.d.ts +10 -0
- package/dist/types/internal/infrastructure/node/node-file-system.d.ts +29 -0
- package/dist/types/internal/infrastructure/node/node-kb-repository.d.ts +18 -0
- package/dist/types/internal/infrastructure/node/node-path-service.d.ts +14 -0
- package/dist/types/internal/infrastructure/node/node-wiki-page-repository.d.ts +25 -0
- package/dist/types/internal/infrastructure/persistence/node-file-system.d.ts +8 -0
- package/dist/types/internal/infrastructure/persistence/node-manifest-repository.d.ts +31 -0
- package/dist/types/internal/infrastructure/persistence/node-snapshot-repository.d.ts +28 -0
- package/dist/types/internal/infrastructure/persistence/node-workspace-repository.d.ts +9 -0
- package/dist/types/pkg/cahce/cache.d.ts +56 -0
- package/dist/types/pkg/lang/data.d.ts +21 -0
- package/dist/types/pkg/lang/index.d.ts +46 -0
- package/dist/types/pkg/lang/service.d.ts +49 -0
- package/dist/types/pkg/lang/types.d.ts +29 -0
- package/dist/types/pkg/log/http.d.ts +16 -0
- package/dist/types/pkg/log/manager.d.ts +57 -0
- package/dist/types/pkg/maps/scratch.d.ts +25 -0
- package/dist/types/pkg/md/parser/item.d.ts +3 -3
- package/dist/types/pkg/media/type.d.ts +19 -0
- package/dist/types/pkg/page-filter/index.d.ts +29 -0
- package/dist/types/pkg/paths/index.d.ts +9 -0
- package/dist/types/pkg/text/index.d.ts +4 -0
- package/dist/types/pkg/web/server/livereload-server.d.ts +7 -0
- package/dist/types/pkg/web/watcher/content-file-watcher.d.ts +3 -0
- package/package.json +21 -15
- package/dist/types/index.d.ts +0 -20
- package/dist/types/internal/interfaces/obsidian/adapters/identity-adapter.d.ts +0 -5
- package/dist/types/internal/interfaces/obsidian/adapters/index.d.ts +0 -2
- package/dist/types/internal/interfaces/obsidian/adapters/workspace-adapter.d.ts +0 -8
- package/dist/types/internal/interfaces/obsidian/desktop/adapters/identity-adapter.d.ts +0 -6
- package/dist/types/internal/interfaces/obsidian/desktop/adapters/index.d.ts +0 -2
- package/dist/types/internal/interfaces/obsidian/desktop/adapters/workspace-adapter.d.ts +0 -12
- package/dist/types/internal/interfaces/obsidian/desktop/container.d.ts +0 -7
- package/dist/types/internal/interfaces/obsidian/desktop/index.d.ts +0 -22
- package/dist/types/internal/interfaces/obsidian/index.d.ts +0 -7
- package/dist/types/internal/interfaces/obsidian/mobile/adapters/identity-adapter.d.ts +0 -9
- package/dist/types/internal/interfaces/obsidian/mobile/adapters/index.d.ts +0 -2
- package/dist/types/internal/interfaces/obsidian/mobile/adapters/workspace-adapter.d.ts +0 -13
- package/dist/types/internal/interfaces/obsidian/mobile/config-types.d.ts +0 -13
- package/dist/types/internal/interfaces/obsidian/mobile/container.d.ts +0 -6
- package/dist/types/internal/interfaces/obsidian/mobile/index.d.ts +0 -16
- package/dist/types/internal/interfaces/obsidian/mobile.d.ts +0 -2
- package/dist/types/internal/interfaces/obsidian/services/auth.service.d.ts +0 -11
- package/dist/types/internal/interfaces/obsidian/services/build.service.d.ts +0 -9
- package/dist/types/internal/interfaces/obsidian/services/config.service.d.ts +0 -31
- package/dist/types/internal/interfaces/obsidian/services/domain.service.d.ts +0 -15
- package/dist/types/internal/interfaces/obsidian/services/license.service.d.ts +0 -22
- package/dist/types/internal/interfaces/obsidian/services/project.service.d.ts +0 -17
- package/dist/types/internal/interfaces/obsidian/services/publish.service.d.ts +0 -11
- package/dist/types/internal/interfaces/obsidian/services/serve.service.d.ts +0 -18
- package/dist/types/internal/interfaces/obsidian/services/workspace.service.d.ts +0 -10
- package/dist/types/internal/interfaces/obsidian/types/auth.d.ts +0 -27
- package/dist/types/internal/interfaces/obsidian/types/build.d.ts +0 -23
- package/dist/types/internal/interfaces/obsidian/types/config.d.ts +0 -16
- package/dist/types/internal/interfaces/obsidian/types/domain.d.ts +0 -46
- package/dist/types/internal/interfaces/obsidian/types/index.d.ts +0 -9
- package/dist/types/internal/interfaces/obsidian/types/license.d.ts +0 -87
- package/dist/types/internal/interfaces/obsidian/types/project.d.ts +0 -56
- package/dist/types/internal/interfaces/obsidian/types/publish.d.ts +0 -33
- package/dist/types/internal/interfaces/obsidian/types/serve.d.ts +0 -46
- package/dist/types/internal/interfaces/obsidian/types/workspace.d.ts +0 -27
- package/dist/types/pkg/log/browser-manager.d.ts +0 -20
- package/dist/types/pkg/log/browser.d.ts +0 -25
- package/dist/types/pkg/media/buildin.d.ts +0 -3
|
@@ -1,45 +1,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FileSystem Repository Interface
|
|
3
|
+
*
|
|
4
|
+
* 定义文件系统操作接口,由 Infrastructure 层实现
|
|
5
|
+
* 支持不同环境(Node.js, Obsidian)
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* 文件夹扫描结果
|
|
9
|
+
*/
|
|
1
10
|
export interface FolderScanResult {
|
|
11
|
+
/**
|
|
12
|
+
* 文件夹路径
|
|
13
|
+
*/
|
|
2
14
|
path: string;
|
|
15
|
+
/**
|
|
16
|
+
* 文件夹名称
|
|
17
|
+
*/
|
|
3
18
|
name: string;
|
|
19
|
+
/**
|
|
20
|
+
* 是否为文件夹
|
|
21
|
+
*/
|
|
4
22
|
isDirectory: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* 是否为文件
|
|
25
|
+
*/
|
|
5
26
|
isFile: boolean;
|
|
6
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* 内容文件夹信息
|
|
30
|
+
*/
|
|
7
31
|
export interface ContentFolderInfo {
|
|
32
|
+
/**
|
|
33
|
+
* 文件夹路径
|
|
34
|
+
*/
|
|
8
35
|
path: string;
|
|
36
|
+
/**
|
|
37
|
+
* 语言代码(如 'en', 'zh', 'ja')
|
|
38
|
+
*/
|
|
9
39
|
languageCode: string;
|
|
40
|
+
/**
|
|
41
|
+
* 权重(用于排序,'content' 为 0,其他为 1)
|
|
42
|
+
*/
|
|
10
43
|
weight: number;
|
|
11
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* 静态资源文件夹信息
|
|
47
|
+
*/
|
|
12
48
|
export interface StaticFolderInfo {
|
|
49
|
+
/**
|
|
50
|
+
* 文件夹路径
|
|
51
|
+
*/
|
|
13
52
|
path: string;
|
|
14
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* 文件夹结构扫描结果
|
|
56
|
+
*/
|
|
15
57
|
export interface FolderStructure {
|
|
58
|
+
/**
|
|
59
|
+
* 根文件夹路径
|
|
60
|
+
*/
|
|
16
61
|
rootPath: string;
|
|
62
|
+
/**
|
|
63
|
+
* 内容文件夹列表(支持多语言)
|
|
64
|
+
*/
|
|
17
65
|
contentFolders: ContentFolderInfo[];
|
|
66
|
+
/**
|
|
67
|
+
* 静态资源文件夹
|
|
68
|
+
*/
|
|
18
69
|
staticFolder: StaticFolderInfo | null;
|
|
70
|
+
/**
|
|
71
|
+
* 是否为结构化文件夹(包含 content 或 static)
|
|
72
|
+
*/
|
|
19
73
|
isStructured: boolean;
|
|
20
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* 符号链接操作结果
|
|
77
|
+
*/
|
|
21
78
|
export interface SymlinkResult {
|
|
79
|
+
/**
|
|
80
|
+
* 源路径
|
|
81
|
+
*/
|
|
22
82
|
source: string;
|
|
83
|
+
/**
|
|
84
|
+
* 目标路径
|
|
85
|
+
*/
|
|
23
86
|
target: string;
|
|
87
|
+
/**
|
|
88
|
+
* 是否成功
|
|
89
|
+
*/
|
|
24
90
|
success: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* 错误信息(如果失败)
|
|
93
|
+
*/
|
|
25
94
|
error?: string;
|
|
26
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* FileSystem Repository Interface
|
|
98
|
+
*
|
|
99
|
+
* 文件系统操作接口
|
|
100
|
+
*/
|
|
27
101
|
export interface FileSystemRepository {
|
|
102
|
+
/**
|
|
103
|
+
* 检查路径是否存在
|
|
104
|
+
*/
|
|
28
105
|
exists(path: string): Promise<boolean>;
|
|
106
|
+
/**
|
|
107
|
+
* 检查路径是否为文件夹
|
|
108
|
+
*/
|
|
29
109
|
isDirectory(path: string): Promise<boolean>;
|
|
110
|
+
/**
|
|
111
|
+
* 检查路径是否为文件
|
|
112
|
+
*/
|
|
30
113
|
isFile(path: string): Promise<boolean>;
|
|
114
|
+
/**
|
|
115
|
+
* 列出文件夹内容
|
|
116
|
+
*
|
|
117
|
+
* @param path - 文件夹路径
|
|
118
|
+
* @returns 文件夹内容列表
|
|
119
|
+
*/
|
|
31
120
|
readDirectory(path: string): Promise<FolderScanResult[]>;
|
|
121
|
+
/**
|
|
122
|
+
* 扫描文件夹结构
|
|
123
|
+
*
|
|
124
|
+
* 自动识别 content, content.{lang}, static 文件夹
|
|
125
|
+
*
|
|
126
|
+
* @param path - 文件夹路径
|
|
127
|
+
* @returns 文件夹结构信息
|
|
128
|
+
*/
|
|
32
129
|
scanFolderStructure(path: string): Promise<FolderStructure>;
|
|
130
|
+
/**
|
|
131
|
+
* 创建符号链接
|
|
132
|
+
*
|
|
133
|
+
* @param source - 源路径(实际文件/文件夹)
|
|
134
|
+
* @param target - 目标路径(符号链接)
|
|
135
|
+
* @returns 操作结果
|
|
136
|
+
*/
|
|
33
137
|
createSymlink(source: string, target: string): Promise<SymlinkResult>;
|
|
138
|
+
/**
|
|
139
|
+
* 批量创建符号链接
|
|
140
|
+
*
|
|
141
|
+
* @param links - 链接列表 { source, target }[]
|
|
142
|
+
* @returns 操作结果列表
|
|
143
|
+
*/
|
|
34
144
|
createSymlinks(links: Array<{
|
|
35
145
|
source: string;
|
|
36
146
|
target: string;
|
|
37
147
|
}>): Promise<SymlinkResult[]>;
|
|
148
|
+
/**
|
|
149
|
+
* 删除符号链接
|
|
150
|
+
*
|
|
151
|
+
* @param path - 链接路径
|
|
152
|
+
*/
|
|
38
153
|
removeSymlink(path: string): Promise<void>;
|
|
154
|
+
/**
|
|
155
|
+
* 检查路径是否为符号链接
|
|
156
|
+
*/
|
|
39
157
|
isSymlink(path: string): Promise<boolean>;
|
|
158
|
+
/**
|
|
159
|
+
* 读取符号链接的目标路径
|
|
160
|
+
*/
|
|
40
161
|
readSymlink(path: string): Promise<string>;
|
|
162
|
+
/**
|
|
163
|
+
* 创建文件夹
|
|
164
|
+
*
|
|
165
|
+
* @param path - 文件夹路径
|
|
166
|
+
* @param recursive - 是否递归创建父文件夹
|
|
167
|
+
*/
|
|
41
168
|
createDirectory(path: string, recursive?: boolean): Promise<void>;
|
|
169
|
+
/**
|
|
170
|
+
* 删除文件或文件夹
|
|
171
|
+
*
|
|
172
|
+
* @param path - 路径
|
|
173
|
+
* @param recursive - 如果是文件夹,是否递归删除
|
|
174
|
+
*/
|
|
42
175
|
remove(path: string, recursive?: boolean): Promise<void>;
|
|
176
|
+
/**
|
|
177
|
+
* 获取文件/文件夹状态信息
|
|
178
|
+
*
|
|
179
|
+
* @param path - 路径
|
|
180
|
+
* @returns 状态信息
|
|
181
|
+
*/
|
|
43
182
|
stat(path: string): Promise<{
|
|
44
183
|
isFile(): boolean;
|
|
45
184
|
isDirectory(): boolean;
|
|
@@ -47,18 +186,103 @@ export interface FileSystemRepository {
|
|
|
47
186
|
size: number;
|
|
48
187
|
mtime: Date;
|
|
49
188
|
}>;
|
|
189
|
+
/**
|
|
190
|
+
* 拷贝文件
|
|
191
|
+
*
|
|
192
|
+
* @param source - 源文件路径
|
|
193
|
+
* @param target - 目标文件路径
|
|
194
|
+
*/
|
|
50
195
|
copyFile(source: string, target: string): Promise<void>;
|
|
196
|
+
/**
|
|
197
|
+
* 读取文件内容
|
|
198
|
+
*
|
|
199
|
+
* @param path - 文件路径
|
|
200
|
+
* @param encoding - 编码格式(默认 'utf-8')
|
|
201
|
+
* @returns 文件内容
|
|
202
|
+
*/
|
|
51
203
|
readFile(path: string, encoding?: BufferEncoding): Promise<string>;
|
|
204
|
+
/**
|
|
205
|
+
* 写入文件内容
|
|
206
|
+
*
|
|
207
|
+
* @param path - 文件路径
|
|
208
|
+
* @param content - 文件内容
|
|
209
|
+
* @param encoding - 编码格式(默认 'utf-8')
|
|
210
|
+
*/
|
|
52
211
|
writeFile(path: string, content: string, encoding?: BufferEncoding): Promise<void>;
|
|
212
|
+
/**
|
|
213
|
+
* 删除文件
|
|
214
|
+
*
|
|
215
|
+
* @param path - 文件路径
|
|
216
|
+
*/
|
|
53
217
|
unlink(path: string): Promise<void>;
|
|
218
|
+
/**
|
|
219
|
+
* 检查路径访问权限
|
|
220
|
+
*
|
|
221
|
+
* @param path - 路径
|
|
222
|
+
* @throws 如果路径不存在或无权限访问
|
|
223
|
+
*/
|
|
54
224
|
access(path: string): Promise<void>;
|
|
225
|
+
/**
|
|
226
|
+
* 解析路径(处理相对路径、符号链接等)
|
|
227
|
+
*
|
|
228
|
+
* @param path - 原始路径
|
|
229
|
+
* @returns 绝对路径
|
|
230
|
+
*/
|
|
55
231
|
resolvePath(path: string): Promise<string>;
|
|
232
|
+
/**
|
|
233
|
+
* 删除文件或目录
|
|
234
|
+
*
|
|
235
|
+
* @param targetPath - 要删除的路径
|
|
236
|
+
* @param recursive - 是否递归删除(用于目录)
|
|
237
|
+
*/
|
|
56
238
|
remove(targetPath: string, recursive?: boolean): Promise<void>;
|
|
239
|
+
/**
|
|
240
|
+
* 获取路径的文件名
|
|
241
|
+
*/
|
|
57
242
|
basename(path: string): string;
|
|
243
|
+
/**
|
|
244
|
+
* 获取路径的父文件夹
|
|
245
|
+
*/
|
|
58
246
|
dirname(path: string): string;
|
|
247
|
+
/**
|
|
248
|
+
* 连接路径
|
|
249
|
+
*/
|
|
59
250
|
join(...paths: string[]): string;
|
|
251
|
+
/**
|
|
252
|
+
* 解析为绝对路径(同步版本)
|
|
253
|
+
*
|
|
254
|
+
* 不涉及文件系统 I/O,纯路径计算
|
|
255
|
+
*
|
|
256
|
+
* @param paths - 路径片段
|
|
257
|
+
* @returns 绝对路径
|
|
258
|
+
*
|
|
259
|
+
* @example
|
|
260
|
+
* resolvePathSync('/foo/bar', '../baz') // '/foo/baz'
|
|
261
|
+
* resolvePathSync('foo/bar') // '/current/working/dir/foo/bar'
|
|
262
|
+
*/
|
|
60
263
|
resolvePathSync(...paths: string[]): string;
|
|
264
|
+
/**
|
|
265
|
+
* 计算相对路径
|
|
266
|
+
*
|
|
267
|
+
* @param from - 起始路径
|
|
268
|
+
* @param to - 目标路径
|
|
269
|
+
* @returns 从 from 到 to 的相对路径
|
|
270
|
+
*
|
|
271
|
+
* @example
|
|
272
|
+
* relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb')
|
|
273
|
+
* // '../../impl/bbb'
|
|
274
|
+
*/
|
|
61
275
|
relative(from: string, to: string): string;
|
|
276
|
+
/**
|
|
277
|
+
* 解析路径信息
|
|
278
|
+
*
|
|
279
|
+
* @param path - 路径
|
|
280
|
+
* @returns 路径的根目录、目录名、文件名、扩展名等信息
|
|
281
|
+
*
|
|
282
|
+
* @example
|
|
283
|
+
* parsePath('/home/user/dir/file.txt')
|
|
284
|
+
* // { root: '/', dir: '/home/user/dir', base: 'file.txt', ext: '.txt', name: 'file' }
|
|
285
|
+
*/
|
|
62
286
|
parsePath(path: string): {
|
|
63
287
|
root: string;
|
|
64
288
|
dir: string;
|
|
@@ -66,6 +290,23 @@ export interface FileSystemRepository {
|
|
|
66
290
|
ext: string;
|
|
67
291
|
name: string;
|
|
68
292
|
};
|
|
293
|
+
/**
|
|
294
|
+
* 规范化路径
|
|
295
|
+
*
|
|
296
|
+
* 解析 '..' 和 '.',去除多余的分隔符
|
|
297
|
+
*
|
|
298
|
+
* @param path - 路径
|
|
299
|
+
* @returns 规范化后的路径
|
|
300
|
+
*
|
|
301
|
+
* @example
|
|
302
|
+
* normalize('/foo/bar//baz/asdf/quux/..') // '/foo/bar/baz/asdf'
|
|
303
|
+
*/
|
|
69
304
|
normalize(path: string): string;
|
|
305
|
+
/**
|
|
306
|
+
* 判断路径是否为绝对路径
|
|
307
|
+
*
|
|
308
|
+
* @param path - 路径
|
|
309
|
+
* @returns 是否为绝对路径
|
|
310
|
+
*/
|
|
70
311
|
isAbsolute(path: string): boolean;
|
|
71
312
|
}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workspace Domain Repository Interfaces
|
|
3
|
+
*
|
|
4
|
+
* 定义 Workspace Domain 需要的外部能力接口
|
|
5
|
+
* 由 Infrastructure 层提供具体实现
|
|
6
|
+
*/
|
|
1
7
|
export * from '../repository';
|
|
2
8
|
export type { ProjectRegistry, ProjectEntry, BuildHistoryEntry } from '../type';
|
|
3
9
|
export * from './file-system';
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workspace Repository Interface
|
|
3
|
+
*
|
|
4
|
+
* 定义 Workspace 数据持久化的接口
|
|
5
|
+
* 具体实现由 infrastructure 层提供
|
|
6
|
+
*/
|
|
1
7
|
import type { ProjectRegistry, SnapshotMetadata } from './type';
|
|
2
8
|
export * from './repository/file-system';
|
|
3
9
|
export type WorkspaceMetadataData = {
|
|
@@ -25,28 +31,94 @@ export type ProjectMetadataData = {
|
|
|
25
31
|
buildHistory?: any[];
|
|
26
32
|
previews?: any;
|
|
27
33
|
};
|
|
34
|
+
/**
|
|
35
|
+
* Workspace Repository
|
|
36
|
+
*/
|
|
28
37
|
export interface WorkspaceRepository {
|
|
38
|
+
/**
|
|
39
|
+
* 检查目录是否为 workspace
|
|
40
|
+
*/
|
|
29
41
|
isWorkspace(path: string): Promise<boolean>;
|
|
42
|
+
/**
|
|
43
|
+
* 初始化 workspace 目录结构
|
|
44
|
+
*/
|
|
30
45
|
initWorkspaceStructure(path: string, modulesDir: string, projectsDir: string): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* 保存 workspace 元数据
|
|
48
|
+
*/
|
|
31
49
|
saveWorkspaceMetadata(path: string, metadata: WorkspaceMetadataData): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* 加载 workspace 元数据
|
|
52
|
+
*/
|
|
32
53
|
loadWorkspaceMetadata(path: string): Promise<WorkspaceMetadataData>;
|
|
54
|
+
/**
|
|
55
|
+
* 保存项目注册表
|
|
56
|
+
*/
|
|
33
57
|
saveProjectRegistry(path: string, registry: ProjectRegistry): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* 加载项目注册表
|
|
60
|
+
*/
|
|
34
61
|
loadProjectRegistry(path: string): Promise<ProjectRegistry>;
|
|
35
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Project Repository
|
|
65
|
+
*/
|
|
36
66
|
export interface ProjectRepository {
|
|
67
|
+
/**
|
|
68
|
+
* 检查目录是否为 project
|
|
69
|
+
*/
|
|
37
70
|
isProject(path: string): Promise<boolean>;
|
|
71
|
+
/**
|
|
72
|
+
* 初始化 project 目录结构
|
|
73
|
+
*/
|
|
38
74
|
initProjectStructure(path: string, contentDir: string, staticDir: string, publishDir: string): Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* 保存 project 元数据
|
|
77
|
+
*/
|
|
39
78
|
saveProjectMetadata(path: string, metadata: ProjectMetadataData): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* 加载 project 元数据
|
|
81
|
+
*/
|
|
40
82
|
loadProjectMetadata(path: string): Promise<ProjectMetadataData>;
|
|
83
|
+
/**
|
|
84
|
+
* 保存 project 配置
|
|
85
|
+
*/
|
|
41
86
|
saveProjectConfig(path: string, config: any): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* 创建示例内容
|
|
89
|
+
*/
|
|
42
90
|
createSampleContent(path: string, content: string): Promise<void>;
|
|
91
|
+
/**
|
|
92
|
+
* 删除 project 文件
|
|
93
|
+
*/
|
|
43
94
|
deleteProjectFiles(path: string): Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* 删除 project 目录
|
|
97
|
+
*/
|
|
44
98
|
deleteProjectDirectory(path: string): Promise<void>;
|
|
45
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Snapshot Repository
|
|
102
|
+
*/
|
|
46
103
|
export interface SnapshotRepository {
|
|
104
|
+
/**
|
|
105
|
+
* 创建快照(复制输出目录到快照存储)
|
|
106
|
+
*/
|
|
47
107
|
createSnapshot(projectPath: string, snapshotId: string, outputDir: string): Promise<SnapshotMetadata>;
|
|
108
|
+
/**
|
|
109
|
+
* 列出所有快照
|
|
110
|
+
*/
|
|
48
111
|
listSnapshots(projectPath: string): Promise<SnapshotMetadata[]>;
|
|
112
|
+
/**
|
|
113
|
+
* 获取快照元数据
|
|
114
|
+
*/
|
|
49
115
|
getSnapshot(projectPath: string, snapshotId: string): Promise<SnapshotMetadata>;
|
|
116
|
+
/**
|
|
117
|
+
* 恢复快照(从快照存储复制到输出目录)
|
|
118
|
+
*/
|
|
50
119
|
restoreSnapshot(projectPath: string, snapshotId: string, outputDir: string): Promise<void>;
|
|
120
|
+
/**
|
|
121
|
+
* 删除快照
|
|
122
|
+
*/
|
|
51
123
|
deleteSnapshot(projectPath: string, snapshotId: string): Promise<void>;
|
|
52
124
|
}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workspace Domain Types
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Project registry entry
|
|
6
|
+
*/
|
|
1
7
|
export interface ProjectEntry {
|
|
2
8
|
id: string;
|
|
3
9
|
name: string;
|
|
@@ -9,10 +15,16 @@ export interface ProjectEntry {
|
|
|
9
15
|
lastBuild?: number;
|
|
10
16
|
status: 'active' | 'archived';
|
|
11
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Project registry
|
|
20
|
+
*/
|
|
12
21
|
export interface ProjectRegistry {
|
|
13
22
|
version: string;
|
|
14
23
|
projects: ProjectEntry[];
|
|
15
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Build history entry
|
|
27
|
+
*/
|
|
16
28
|
export interface BuildHistoryEntry {
|
|
17
29
|
timestamp: number;
|
|
18
30
|
type: 'build' | 'publish';
|
|
@@ -25,6 +37,9 @@ export interface BuildHistoryEntry {
|
|
|
25
37
|
size?: number;
|
|
26
38
|
};
|
|
27
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Snapshot metadata
|
|
42
|
+
*/
|
|
28
43
|
export interface SnapshotMetadata {
|
|
29
44
|
id: string;
|
|
30
45
|
name: string;
|
|
@@ -34,6 +49,9 @@ export interface SnapshotMetadata {
|
|
|
34
49
|
size: number;
|
|
35
50
|
fileCount: number;
|
|
36
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Previews configuration
|
|
54
|
+
*/
|
|
37
55
|
export interface PreviewsConfig {
|
|
38
56
|
autoSnapshot?: boolean;
|
|
39
57
|
retention?: number;
|
|
@@ -1,12 +1,27 @@
|
|
|
1
1
|
import type { FolderStructure as IFolderStructure, ContentFolderInfo, StaticFolderInfo } from '../repository/file-system';
|
|
2
|
+
/**
|
|
3
|
+
* FolderStructure Value Object
|
|
4
|
+
*
|
|
5
|
+
* 表示文件夹结构扫描结果
|
|
6
|
+
* 包含 content 文件夹(支持多语言)和 static 文件夹
|
|
7
|
+
*/
|
|
2
8
|
export declare class FolderStructure {
|
|
3
9
|
private readonly rootPath;
|
|
4
10
|
private readonly contentFolders;
|
|
5
11
|
private readonly staticFolder;
|
|
6
12
|
private readonly isStructured;
|
|
7
13
|
private constructor();
|
|
14
|
+
/**
|
|
15
|
+
* 从扫描结果创建 FolderStructure
|
|
16
|
+
*/
|
|
8
17
|
static fromScanResult(result: IFolderStructure): FolderStructure;
|
|
18
|
+
/**
|
|
19
|
+
* 创建空的 FolderStructure(非结构化文件夹)
|
|
20
|
+
*/
|
|
9
21
|
static createEmpty(rootPath: string): FolderStructure;
|
|
22
|
+
/**
|
|
23
|
+
* 创建单个 content 文件夹的结构
|
|
24
|
+
*/
|
|
10
25
|
static createSingleContent(rootPath: string, contentPath: string, languageCode?: string): FolderStructure;
|
|
11
26
|
getRootPath(): string;
|
|
12
27
|
getContentFolders(): ContentFolderInfo[];
|
|
@@ -15,13 +30,39 @@ export declare class FolderStructure {
|
|
|
15
30
|
hasContentFolders(): boolean;
|
|
16
31
|
hasStaticFolder(): boolean;
|
|
17
32
|
getContentFolderCount(): number;
|
|
33
|
+
/**
|
|
34
|
+
* 获取默认 content 文件夹(weight 为 0 的文件夹)
|
|
35
|
+
*/
|
|
18
36
|
getDefaultContentFolder(): ContentFolderInfo | null;
|
|
37
|
+
/**
|
|
38
|
+
* 获取多语言 content 文件夹(weight > 0 的文件夹)
|
|
39
|
+
*/
|
|
19
40
|
getLanguageContentFolders(): ContentFolderInfo[];
|
|
41
|
+
/**
|
|
42
|
+
* 按语言代码获取 content 文件夹
|
|
43
|
+
*/
|
|
20
44
|
getContentFolderByLanguage(languageCode: string): ContentFolderInfo | null;
|
|
45
|
+
/**
|
|
46
|
+
* 获取所有支持的语言代码
|
|
47
|
+
*/
|
|
21
48
|
getSupportedLanguages(): string[];
|
|
49
|
+
/**
|
|
50
|
+
* 验证结构是否有效
|
|
51
|
+
*
|
|
52
|
+
* 结构化文件夹必须至少有一个 content 文件夹
|
|
53
|
+
*/
|
|
22
54
|
isValid(): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* 是否为多语言项目
|
|
57
|
+
*/
|
|
23
58
|
isMultilingual(): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* 获取结构摘要(用于日志和显示)
|
|
61
|
+
*/
|
|
24
62
|
getSummary(): string;
|
|
25
63
|
toJSON(): IFolderStructure;
|
|
64
|
+
/**
|
|
65
|
+
* 从 JSON 反序列化
|
|
66
|
+
*/
|
|
26
67
|
static fromJSON(json: IFolderStructure): FolderStructure;
|
|
27
68
|
}
|
|
@@ -1,19 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 内容链接信息
|
|
3
|
+
*/
|
|
1
4
|
export interface ContentLink {
|
|
5
|
+
/**
|
|
6
|
+
* 源路径(实际文件夹)
|
|
7
|
+
*/
|
|
2
8
|
sourcePath: string;
|
|
9
|
+
/**
|
|
10
|
+
* 语言代码
|
|
11
|
+
*/
|
|
3
12
|
languageCode: string;
|
|
13
|
+
/**
|
|
14
|
+
* 权重(用于排序)
|
|
15
|
+
*/
|
|
4
16
|
weight: number;
|
|
5
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* 静态资源链接信息
|
|
20
|
+
*/
|
|
6
21
|
export interface StaticLink {
|
|
22
|
+
/**
|
|
23
|
+
* 源路径(实际文件夹)
|
|
24
|
+
*/
|
|
7
25
|
sourcePath: string;
|
|
8
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* 单文件链接信息
|
|
29
|
+
*/
|
|
9
30
|
export interface FileLink {
|
|
31
|
+
/**
|
|
32
|
+
* 源文件路径(实际文件)
|
|
33
|
+
*/
|
|
10
34
|
sourcePath: string;
|
|
35
|
+
/**
|
|
36
|
+
* 目标文件路径(项目中的链接/拷贝)
|
|
37
|
+
*/
|
|
11
38
|
targetPath: string;
|
|
39
|
+
/**
|
|
40
|
+
* 是否为符号链接(false表示是拷贝)
|
|
41
|
+
*/
|
|
12
42
|
isSymlink: boolean;
|
|
13
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Project Metadata Value Object
|
|
46
|
+
*/
|
|
14
47
|
export declare class ProjectMetadata {
|
|
15
48
|
readonly id: string;
|
|
16
49
|
readonly name: string;
|
|
50
|
+
readonly type: string;
|
|
17
51
|
readonly workspaceId: string;
|
|
18
52
|
readonly createdAt: number;
|
|
19
53
|
readonly updatedAt: number;
|
|
@@ -46,6 +80,7 @@ export declare class ProjectMetadata {
|
|
|
46
80
|
static create(data: {
|
|
47
81
|
id: string;
|
|
48
82
|
name: string;
|
|
83
|
+
type?: string;
|
|
49
84
|
workspaceId?: string;
|
|
50
85
|
createdAt: number;
|
|
51
86
|
updatedAt: number;
|
|
@@ -57,6 +92,7 @@ export declare class ProjectMetadata {
|
|
|
57
92
|
}): ProjectMetadata;
|
|
58
93
|
update(updates: Partial<{
|
|
59
94
|
name: string;
|
|
95
|
+
type: string;
|
|
60
96
|
buildHistory: any[];
|
|
61
97
|
previews: any;
|
|
62
98
|
contentLinks: ContentLink[];
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workspace Metadata Value Object
|
|
3
|
+
* Immutable representation of workspace configuration
|
|
4
|
+
*/
|
|
1
5
|
export declare class WorkspaceMetadata {
|
|
2
6
|
readonly version: string;
|
|
3
7
|
readonly id: string;
|
|
@@ -30,6 +34,9 @@ export declare class WorkspaceMetadata {
|
|
|
30
34
|
language?: string;
|
|
31
35
|
};
|
|
32
36
|
}): WorkspaceMetadata;
|
|
37
|
+
/**
|
|
38
|
+
* Update with new values (creates new instance)
|
|
39
|
+
*/
|
|
33
40
|
update(updates: Partial<{
|
|
34
41
|
name: string;
|
|
35
42
|
paths: {
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedding Provider Interface (Infrastructure Layer)
|
|
3
|
+
*
|
|
4
|
+
* 继承自 Domain 层的 IEmbeddingProvider(generateEmbedding),
|
|
5
|
+
* 在此基础上增加 infrastructure 层的能力:embed、embedBatch、healthCheck。
|
|
6
|
+
*
|
|
7
|
+
* 所有具体 Embedding 实现类(LMStudioProvider、OllamaEmbeddingProvider 等)
|
|
8
|
+
* 实现此 infrastructure 接口后,同时自动满足 domain 层合约。
|
|
9
|
+
*/
|
|
10
|
+
import type { IEmbeddingProvider as DomainEmbeddingProvider } from '@internal/domain/wiki/repository/embedding-provider';
|
|
11
|
+
export type { DomainEmbeddingProvider };
|
|
12
|
+
export interface EmbedRequest {
|
|
13
|
+
text: string;
|
|
14
|
+
model?: string;
|
|
15
|
+
signal?: AbortSignal;
|
|
16
|
+
}
|
|
17
|
+
export interface EmbedResponse {
|
|
18
|
+
embedding: number[];
|
|
19
|
+
}
|
|
20
|
+
export interface IEmbeddingProvider extends DomainEmbeddingProvider {
|
|
21
|
+
/**
|
|
22
|
+
* 生成单条文本的向量嵌入(infrastructure 主要入口)
|
|
23
|
+
*/
|
|
24
|
+
embed(request: EmbedRequest): Promise<number[]>;
|
|
25
|
+
/**
|
|
26
|
+
* 批量生成向量嵌入(可选,默认串行调用 embed)
|
|
27
|
+
*/
|
|
28
|
+
embedBatch?(texts: string[]): Promise<number[][]>;
|
|
29
|
+
/**
|
|
30
|
+
* 健康检查(可选)
|
|
31
|
+
*/
|
|
32
|
+
healthCheck?(): Promise<boolean>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ollama Embedding Provider
|
|
3
|
+
*
|
|
4
|
+
* 使用 Ollama 的 Embedding API
|
|
5
|
+
* 模型: nomic-embed-text (nomic-ai/nomic-embed-text-v2-moe-GGUF)
|
|
6
|
+
*/
|
|
7
|
+
import type { IEmbeddingProvider, EmbedRequest } from './embedding-provider.interface';
|
|
8
|
+
export interface OllamaEmbeddingConfig {
|
|
9
|
+
baseUrl: string;
|
|
10
|
+
model: string;
|
|
11
|
+
timeout?: number;
|
|
12
|
+
}
|
|
13
|
+
export declare class OllamaEmbeddingProvider implements IEmbeddingProvider {
|
|
14
|
+
private config;
|
|
15
|
+
constructor(config: OllamaEmbeddingConfig);
|
|
16
|
+
/**
|
|
17
|
+
* Domain IEmbeddingProvider interface: generateEmbedding(text, model)
|
|
18
|
+
* Bridges the domain contract to the infrastructure embed() method.
|
|
19
|
+
*/
|
|
20
|
+
generateEmbedding(text: string, model: string): Promise<number[]>;
|
|
21
|
+
embed(request: EmbedRequest): Promise<number[]>;
|
|
22
|
+
embedBatch(texts: string[]): Promise<number[][]>;
|
|
23
|
+
healthCheck(): Promise<boolean>;
|
|
24
|
+
}
|