@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,26 +1,62 @@
|
|
|
1
1
|
import { Item, Items } from "@pkg/md/parser/item";
|
|
2
2
|
import { Iterator } from '@pkg/md/parser/pagelexer';
|
|
3
|
+
/**
|
|
4
|
+
* Handler function types
|
|
5
|
+
*/
|
|
3
6
|
export type ItemHandler = (item: Item) => Promise<void> | void;
|
|
4
7
|
export type IterHandler = (item: Item, iter: Iterator) => Promise<void> | void;
|
|
8
|
+
/**
|
|
9
|
+
* Source handlers interface - defines all the handlers needed for parsing
|
|
10
|
+
*/
|
|
5
11
|
export interface SourceHandlers {
|
|
6
12
|
frontMatterHandler(): ItemHandler;
|
|
7
13
|
summaryHandler(): IterHandler;
|
|
8
14
|
bytesHandler(): ItemHandler;
|
|
9
15
|
shortcodeHandler(): IterHandler;
|
|
10
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Source parse info - contains parsing state and handlers
|
|
19
|
+
*/
|
|
11
20
|
export declare class SourceParseInfo {
|
|
12
21
|
private source;
|
|
13
22
|
private posMainContent;
|
|
14
23
|
private itemsStep1;
|
|
15
24
|
private handlers;
|
|
16
25
|
constructor(source: Uint8Array, handlers: SourceHandlers);
|
|
26
|
+
/**
|
|
27
|
+
* Validate that all required handlers are provided
|
|
28
|
+
*/
|
|
17
29
|
private validateHandlers;
|
|
30
|
+
/**
|
|
31
|
+
* Check if parsing result is empty
|
|
32
|
+
*/
|
|
18
33
|
isEmpty(): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Parse the source into items
|
|
36
|
+
*/
|
|
19
37
|
parse(): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Handle the parsed items using the provided handlers
|
|
40
|
+
*/
|
|
20
41
|
handle(): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Get the main content position
|
|
44
|
+
*/
|
|
21
45
|
getMainContentPosition(): number;
|
|
46
|
+
/**
|
|
47
|
+
* Get the parsed items
|
|
48
|
+
*/
|
|
22
49
|
getItems(): Items;
|
|
50
|
+
/**
|
|
51
|
+
* Get the source
|
|
52
|
+
*/
|
|
23
53
|
getSource(): Uint8Array;
|
|
54
|
+
/**
|
|
55
|
+
* Create error with position information
|
|
56
|
+
*/
|
|
24
57
|
private createError;
|
|
25
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Factory function to create a new SourceParseInfo
|
|
61
|
+
*/
|
|
26
62
|
export declare function createSourceParseInfo(source: Uint8Array, handlers: SourceHandlers): SourceParseInfo;
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { ParsingResult, Header, TocFragments, RenderingResult } from '../type';
|
|
2
2
|
import { BufWriter } from './context';
|
|
3
|
+
/**
|
|
4
|
+
* RenderingResultImpl implements RenderingResult
|
|
5
|
+
*/
|
|
3
6
|
export declare class RenderingResultImpl implements RenderingResult {
|
|
4
7
|
private buffer;
|
|
5
8
|
constructor(buffer: BufWriter);
|
|
6
9
|
bytes(): Uint8Array;
|
|
7
10
|
toString(): string;
|
|
8
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* Result implementation combining parsing and rendering results
|
|
14
|
+
*/
|
|
9
15
|
export declare class ResultImpl implements ParsingResult, RenderingResult {
|
|
10
16
|
private parsingResult;
|
|
11
17
|
private renderingResult;
|
|
@@ -20,6 +20,9 @@ export declare class ShortcodeImpl implements Shortcode {
|
|
|
20
20
|
constructor(ordinal?: number, name?: string, params?: string[] | Record<string, any> | null, pos?: number, length?: number, inline?: boolean, closed?: boolean);
|
|
21
21
|
needsInner(): boolean;
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Simple shortcode parser
|
|
25
|
+
*/
|
|
23
26
|
export declare class ShortcodeParser {
|
|
24
27
|
private shortcodes;
|
|
25
28
|
private nameSet;
|
|
@@ -29,13 +32,40 @@ export declare class ShortcodeParser {
|
|
|
29
32
|
private openShortcodes;
|
|
30
33
|
private paramElements;
|
|
31
34
|
constructor(source: Uint8Array, pid?: number);
|
|
35
|
+
/**
|
|
36
|
+
* Parse shortcode from iterator
|
|
37
|
+
*/
|
|
32
38
|
parseItem(item: Item, iter: Iterator): Shortcode;
|
|
39
|
+
/**
|
|
40
|
+
* Extract shortcode from iterator (following Go version logic exactly)
|
|
41
|
+
*/
|
|
33
42
|
private extractShortcode;
|
|
43
|
+
/**
|
|
44
|
+
* Get all parsed shortcodes
|
|
45
|
+
*/
|
|
34
46
|
getShortcodes(): Shortcode[];
|
|
47
|
+
/**
|
|
48
|
+
* Get shortcode names
|
|
49
|
+
*/
|
|
35
50
|
getNames(): string[];
|
|
36
51
|
}
|
|
37
|
-
|
|
52
|
+
/**
|
|
53
|
+
* Constants for shortcode placeholders
|
|
54
|
+
*/
|
|
38
55
|
export declare const SHORTCODE_PLACEHOLDER_PREFIX = "HAHAHUGOSHORTCODE";
|
|
56
|
+
/**
|
|
57
|
+
* Create shortcode placeholder
|
|
58
|
+
*/
|
|
39
59
|
export declare function createShortcodePlaceholder(id: string, sid: number, ordinal: number): string;
|
|
60
|
+
/**
|
|
61
|
+
* TOC shortcode placeholder
|
|
62
|
+
*/
|
|
63
|
+
export declare const TOC_SHORTCODE_PLACEHOLDER: string;
|
|
64
|
+
/**
|
|
65
|
+
* Check if string contains shortcode placeholder
|
|
66
|
+
*/
|
|
40
67
|
export declare function hasShortcodePlaceholder(content: string): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Replace shortcode placeholders in content
|
|
70
|
+
*/
|
|
41
71
|
export declare function replaceShortcodePlaceholders(content: string, shortcodes: Shortcode[], renderer: (shortcode: Shortcode) => string): string;
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { TocFragments, Header, Link, Paragraph } from '../type';
|
|
2
|
+
/**
|
|
3
|
+
* Fragment represents a single TOC entry
|
|
4
|
+
*/
|
|
2
5
|
export interface Fragment {
|
|
3
6
|
id: string;
|
|
4
7
|
text: string;
|
|
5
8
|
level: number;
|
|
6
9
|
children?: Fragment[];
|
|
7
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* TableOfContentsImpl implements TocFragments
|
|
13
|
+
*/
|
|
8
14
|
export declare class TableOfContentsImpl implements TocFragments {
|
|
9
15
|
private fragments;
|
|
10
16
|
constructor(fragments?: Fragment[]);
|
|
@@ -15,6 +21,9 @@ export declare class TableOfContentsImpl implements TocFragments {
|
|
|
15
21
|
addFragment(fragment: Fragment): void;
|
|
16
22
|
getFragments(): Fragment[];
|
|
17
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* HeaderImpl implements Header interface
|
|
26
|
+
*/
|
|
18
27
|
export declare class HeaderImpl implements Header {
|
|
19
28
|
private _name;
|
|
20
29
|
private _level;
|
|
@@ -31,6 +40,9 @@ export declare class HeaderImpl implements Header {
|
|
|
31
40
|
addParagraph(paragraph: Paragraph): void;
|
|
32
41
|
addListParagraph(paragraph: Paragraph): void;
|
|
33
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* LinkImpl implements Link interface
|
|
45
|
+
*/
|
|
34
46
|
export declare class LinkImpl implements Link {
|
|
35
47
|
private _text;
|
|
36
48
|
private _url;
|
|
@@ -38,11 +50,17 @@ export declare class LinkImpl implements Link {
|
|
|
38
50
|
text(): string;
|
|
39
51
|
url(): string;
|
|
40
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* ParagraphImpl implements Paragraph interface
|
|
55
|
+
*/
|
|
41
56
|
export declare class ParagraphImpl implements Paragraph {
|
|
42
57
|
private _text;
|
|
43
58
|
constructor(_text: string);
|
|
44
59
|
text(): string;
|
|
45
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* TOC Builder utility class
|
|
63
|
+
*/
|
|
46
64
|
export declare class TOCBuilder {
|
|
47
65
|
private fragments;
|
|
48
66
|
private stack;
|
|
@@ -50,6 +68,9 @@ export declare class TOCBuilder {
|
|
|
50
68
|
build(): TableOfContentsImpl;
|
|
51
69
|
reset(): void;
|
|
52
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Auto ID generation utilities
|
|
73
|
+
*/
|
|
53
74
|
export declare class AutoIDGenerator {
|
|
54
75
|
private usedIds;
|
|
55
76
|
generateID(text: string, type?: 'github' | 'github-ascii' | 'blackfriday'): string;
|
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
import { Module } from '../type';
|
|
2
|
+
/**
|
|
3
|
+
* Lang entity that manages source-to-language mappings
|
|
4
|
+
* TypeScript version of Go's Lang entity
|
|
5
|
+
*/
|
|
2
6
|
export declare class Lang {
|
|
3
7
|
private sourceLangMap;
|
|
4
8
|
constructor(modules: Module[]);
|
|
9
|
+
/**
|
|
10
|
+
* Get source language
|
|
11
|
+
* Returns a tuple of [language, exists] to match Go's return pattern
|
|
12
|
+
*/
|
|
5
13
|
getSourceLang(source: string): [string, boolean];
|
|
6
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Creates a new Lang instance
|
|
17
|
+
* Factory function to match Go's NewLang function
|
|
18
|
+
*/
|
|
7
19
|
export declare function newLang(modules: Module[]): Lang;
|
|
@@ -11,31 +11,104 @@ export declare class Modules implements IModules {
|
|
|
11
11
|
private lang;
|
|
12
12
|
private themesCache;
|
|
13
13
|
constructor(info: Info, httpClient: HttpClient, zipExtractor: ZipExtractor, moduleCache: ModuleCache);
|
|
14
|
+
/**
|
|
15
|
+
* Get project module
|
|
16
|
+
*/
|
|
14
17
|
proj(): IModule;
|
|
18
|
+
/**
|
|
19
|
+
* Get all modules (project + downloaded)
|
|
20
|
+
*/
|
|
15
21
|
all(): IModule[];
|
|
22
|
+
/**
|
|
23
|
+
* Check if module is the project module
|
|
24
|
+
*/
|
|
16
25
|
isProjMod(mod: IModule): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Load modules from import paths
|
|
28
|
+
*/
|
|
17
29
|
load(onProgress?: (progress: {
|
|
18
30
|
modulePath: string;
|
|
19
31
|
downloadPercentage: number;
|
|
20
32
|
}) => void): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Parse version from import path
|
|
35
|
+
* @param importPath - The import path (e.g., "https://gohugo.net/base.zip?version=1.0")
|
|
36
|
+
* @returns Object with cleanUrl and version
|
|
37
|
+
*/
|
|
21
38
|
private parseVersionFromImportPath;
|
|
39
|
+
/**
|
|
40
|
+
* Get theme registry URL based on the import path host
|
|
41
|
+
* @param importPath - The import path
|
|
42
|
+
* @returns The theme registry URL
|
|
43
|
+
*/
|
|
22
44
|
private getThemeRegistryUrl;
|
|
45
|
+
/**
|
|
46
|
+
* Resolve latest version by fetching themes.json
|
|
47
|
+
* @param importPath - The import path with version=latest
|
|
48
|
+
* @returns The resolved import path with actual version
|
|
49
|
+
*/
|
|
23
50
|
private resolveLatestVersion;
|
|
51
|
+
/**
|
|
52
|
+
* Download and add a module
|
|
53
|
+
*/
|
|
24
54
|
downloadModule(moduleImport: Import, onProgress?: (progress: {
|
|
25
55
|
percentage: number;
|
|
26
56
|
}) => void): Promise<Module>;
|
|
57
|
+
/**
|
|
58
|
+
* Add a module to the collection
|
|
59
|
+
*/
|
|
27
60
|
private addModule;
|
|
61
|
+
/**
|
|
62
|
+
* Create module from cached metadata
|
|
63
|
+
*/
|
|
28
64
|
private createModuleFromCache;
|
|
65
|
+
/**
|
|
66
|
+
* Get module directory path
|
|
67
|
+
*/
|
|
29
68
|
private getModuleDir;
|
|
69
|
+
/**
|
|
70
|
+
* Get download URL for module path
|
|
71
|
+
* This would be implemented based on your backend API
|
|
72
|
+
*/
|
|
30
73
|
private getDownloadUrl;
|
|
74
|
+
/**
|
|
75
|
+
* Check if cached module is valid for the requested version
|
|
76
|
+
*/
|
|
31
77
|
private isCacheValidForVersion;
|
|
78
|
+
/**
|
|
79
|
+
* Add timestamp parameter to URL to avoid caching
|
|
80
|
+
*/
|
|
32
81
|
private addTimestampToUrl;
|
|
82
|
+
/**
|
|
83
|
+
* Get module by path
|
|
84
|
+
*/
|
|
33
85
|
getModuleByPath(modulePath: string): Module | null;
|
|
86
|
+
/**
|
|
87
|
+
* Check if module is downloaded
|
|
88
|
+
*/
|
|
34
89
|
isModuleDownloaded(modulePath: string): boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Get download status for module
|
|
92
|
+
*/
|
|
35
93
|
getModuleStatus(modulePath: string): Promise<DownloadStatus>;
|
|
94
|
+
/**
|
|
95
|
+
* Remove module from collection
|
|
96
|
+
*/
|
|
36
97
|
removeModule(modulePath: string): Promise<void>;
|
|
98
|
+
/**
|
|
99
|
+
* Clear all downloaded modules
|
|
100
|
+
*/
|
|
37
101
|
clearAll(): Promise<void>;
|
|
102
|
+
/**
|
|
103
|
+
* Get source language
|
|
104
|
+
*/
|
|
38
105
|
getSourceLang(source: string): [string, boolean];
|
|
106
|
+
/**
|
|
107
|
+
* Parse theme.toml file to extract module import paths
|
|
108
|
+
*/
|
|
39
109
|
private parseThemeToml;
|
|
40
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Creates a new Modules instance
|
|
113
|
+
*/
|
|
41
114
|
export declare function newModules(info: Info, httpClient: HttpClient, zipExtractor: ZipExtractor, moduleCache: ModuleCache): Modules;
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { Modules } from '../entity/module';
|
|
2
2
|
import { Info } from '../type';
|
|
3
|
+
/**
|
|
4
|
+
* Factory function to create a complete Modules instance with default dependencies
|
|
5
|
+
*/
|
|
3
6
|
export declare function createModules(info: Info): Promise<Modules>;
|
|
7
|
+
/**
|
|
8
|
+
* Factory function to create a complete Modules instance with progress tracking
|
|
9
|
+
*/
|
|
4
10
|
export declare function createModulesWithProgress(info: Info, onProgress?: (progress: {
|
|
5
11
|
modulePath: string;
|
|
6
12
|
downloadPercentage: number;
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { Fs } from '../fs/type';
|
|
2
|
+
/**
|
|
3
|
+
* Module system constants
|
|
4
|
+
*/
|
|
2
5
|
export declare const PACKAGE_JSON_FILENAME = "package.json";
|
|
6
|
+
/**
|
|
7
|
+
* Component folder constants
|
|
8
|
+
*/
|
|
3
9
|
export declare const ComponentFolderWorkflows = "workflows";
|
|
4
10
|
export declare const ComponentFolderPrompts = "prompts";
|
|
5
11
|
export declare const ComponentFolderContent = "content";
|
|
@@ -8,12 +14,18 @@ export declare const ComponentFolderStatic = "static";
|
|
|
8
14
|
export declare const ComponentFolderAssets = "assets";
|
|
9
15
|
export declare const ComponentFolderI18n = "i18n";
|
|
10
16
|
export declare const ComponentFolders: readonly ["workflows", "prompts", "content", "layouts", "static", "assets", "i18n"];
|
|
17
|
+
/**
|
|
18
|
+
* Module download status enum
|
|
19
|
+
*/
|
|
11
20
|
export declare enum DownloadStatus {
|
|
12
21
|
PENDING = "pending",
|
|
13
22
|
DOWNLOADING = "downloading",
|
|
14
23
|
COMPLETED = "completed",
|
|
15
24
|
FAILED = "failed"
|
|
16
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Module error types
|
|
28
|
+
*/
|
|
17
29
|
export declare class ModuleError extends Error {
|
|
18
30
|
code?: string | undefined;
|
|
19
31
|
constructor(message: string, code?: string | undefined);
|
|
@@ -22,6 +34,9 @@ export declare const ErrModuleNotFound: ModuleError;
|
|
|
22
34
|
export declare const ErrDownloadFailed: ModuleError;
|
|
23
35
|
export declare const ErrInvalidZipFile: ModuleError;
|
|
24
36
|
export declare const ErrMountFailed: ModuleError;
|
|
37
|
+
/**
|
|
38
|
+
* Info interface for module system
|
|
39
|
+
*/
|
|
25
40
|
export interface Info {
|
|
26
41
|
osFs(): Fs;
|
|
27
42
|
projDir(): string;
|
|
@@ -31,13 +46,23 @@ export interface Info {
|
|
|
31
46
|
defaultLanguageKey(): string;
|
|
32
47
|
otherLanguageKeys(): string[];
|
|
33
48
|
getRelDir(name: string, langKey: string): string;
|
|
49
|
+
/**
|
|
50
|
+
* Optional custom HTTP client instance
|
|
51
|
+
* If provided, this client will be used instead of creating a new one
|
|
52
|
+
*/
|
|
34
53
|
httpClient?(): HttpClient;
|
|
35
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Mount interface for file system mounting
|
|
57
|
+
*/
|
|
36
58
|
export interface Mount {
|
|
37
59
|
source(): string;
|
|
38
60
|
target(): string;
|
|
39
61
|
lang(): string;
|
|
40
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Module interface
|
|
65
|
+
*/
|
|
41
66
|
export interface Module {
|
|
42
67
|
owner(): Module | null;
|
|
43
68
|
isProjectModule(): boolean;
|
|
@@ -45,32 +70,50 @@ export interface Module {
|
|
|
45
70
|
dir(): string;
|
|
46
71
|
path(): string;
|
|
47
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Modules interface for managing multiple modules
|
|
75
|
+
*/
|
|
48
76
|
export interface Modules {
|
|
49
77
|
proj(): Module;
|
|
50
78
|
all(): Module[];
|
|
51
79
|
isProjMod(mod: Module): boolean;
|
|
52
80
|
getSourceLang(source: string): [string, boolean];
|
|
53
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Import configuration
|
|
84
|
+
*/
|
|
54
85
|
export interface Import {
|
|
55
86
|
path: string;
|
|
56
87
|
url: string;
|
|
57
88
|
version?: string;
|
|
58
89
|
mounts?: MountConfig[];
|
|
59
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Mount configuration
|
|
93
|
+
*/
|
|
60
94
|
export interface MountConfig {
|
|
61
95
|
sourcePath: string;
|
|
62
96
|
targetPath: string;
|
|
63
97
|
language?: string;
|
|
64
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Module configuration
|
|
101
|
+
*/
|
|
65
102
|
export interface ModuleConfig {
|
|
66
103
|
imports: Import[];
|
|
67
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* HTTP download configuration
|
|
107
|
+
*/
|
|
68
108
|
export interface DownloadConfig {
|
|
69
109
|
url: string;
|
|
70
110
|
timeout?: number;
|
|
71
111
|
retries?: number;
|
|
72
112
|
headers?: Record<string, string>;
|
|
73
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Module metadata
|
|
116
|
+
*/
|
|
74
117
|
export interface ModuleMetadata {
|
|
75
118
|
path: string;
|
|
76
119
|
version: string;
|
|
@@ -81,11 +124,17 @@ export interface ModuleMetadata {
|
|
|
81
124
|
size?: number;
|
|
82
125
|
checksum?: string;
|
|
83
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Download progress callback
|
|
129
|
+
*/
|
|
84
130
|
export type DownloadProgressCallback = (progress: {
|
|
85
131
|
loaded: number;
|
|
86
132
|
total: number;
|
|
87
133
|
percentage: number;
|
|
88
134
|
}) => void;
|
|
135
|
+
/**
|
|
136
|
+
* HTTP client interface for downloads
|
|
137
|
+
*/
|
|
89
138
|
export interface HttpClient {
|
|
90
139
|
download(url: string, targetPath: string, options?: {
|
|
91
140
|
onProgress?: DownloadProgressCallback;
|
|
@@ -101,10 +150,16 @@ export interface HttpClient {
|
|
|
101
150
|
status: number;
|
|
102
151
|
}>;
|
|
103
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* Zip extractor interface
|
|
155
|
+
*/
|
|
104
156
|
export interface ZipExtractor {
|
|
105
157
|
extract(zipPath: string, targetDir: string): Promise<void>;
|
|
106
158
|
list(zipPath: string): Promise<string[]>;
|
|
107
159
|
}
|
|
160
|
+
/**
|
|
161
|
+
* Module cache interface
|
|
162
|
+
*/
|
|
108
163
|
export interface ModuleCache {
|
|
109
164
|
get(path: string): Promise<ModuleMetadata | null>;
|
|
110
165
|
set(path: string, metadata: ModuleMetadata): Promise<void>;
|
|
@@ -112,6 +167,9 @@ export interface ModuleCache {
|
|
|
112
167
|
delete(path: string): Promise<void>;
|
|
113
168
|
clear(): Promise<void>;
|
|
114
169
|
}
|
|
170
|
+
/**
|
|
171
|
+
* Theme TOML structure
|
|
172
|
+
*/
|
|
115
173
|
export interface ThemeToml {
|
|
116
174
|
module?: {
|
|
117
175
|
imports?: {
|
|
@@ -1,23 +1,59 @@
|
|
|
1
1
|
import { ModuleCache, ModuleMetadata } from '../type';
|
|
2
2
|
import { Fs } from '../../fs/type';
|
|
3
|
+
/**
|
|
4
|
+
* File system based module cache implementation
|
|
5
|
+
*/
|
|
3
6
|
export declare class FsModuleCache implements ModuleCache {
|
|
4
7
|
private fs;
|
|
5
8
|
private cacheDir;
|
|
6
9
|
constructor(fs: Fs, cacheDir?: string);
|
|
10
|
+
/**
|
|
11
|
+
* Get module metadata from cache
|
|
12
|
+
*/
|
|
7
13
|
get(modulePath: string): Promise<ModuleMetadata | null>;
|
|
14
|
+
/**
|
|
15
|
+
* Set module metadata in cache
|
|
16
|
+
*/
|
|
8
17
|
set(modulePath: string, metadata: ModuleMetadata): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Check if module exists in cache
|
|
20
|
+
*/
|
|
9
21
|
has(modulePath: string): Promise<boolean>;
|
|
22
|
+
/**
|
|
23
|
+
* Delete module from cache
|
|
24
|
+
*/
|
|
10
25
|
delete(modulePath: string): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Clear all cache
|
|
28
|
+
*/
|
|
11
29
|
clear(): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Get cache file path for module
|
|
32
|
+
*/
|
|
12
33
|
private getCacheFilePath;
|
|
34
|
+
/**
|
|
35
|
+
* Get cache directory
|
|
36
|
+
*/
|
|
13
37
|
getCacheDir(): string;
|
|
38
|
+
/**
|
|
39
|
+
* Get cache stats
|
|
40
|
+
*/
|
|
14
41
|
getStats(): Promise<{
|
|
15
42
|
totalEntries: number;
|
|
16
43
|
totalSize: number;
|
|
17
44
|
}>;
|
|
45
|
+
/**
|
|
46
|
+
* List all cached modules
|
|
47
|
+
*/
|
|
18
48
|
listCached(): Promise<string[]>;
|
|
49
|
+
/**
|
|
50
|
+
* Helper to list cache files
|
|
51
|
+
*/
|
|
19
52
|
private listCacheFiles;
|
|
20
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* In-memory module cache implementation for testing
|
|
56
|
+
*/
|
|
21
57
|
export declare class MemoryModuleCache implements ModuleCache {
|
|
22
58
|
private cache;
|
|
23
59
|
get(modulePath: string): Promise<ModuleMetadata | null>;
|
|
@@ -25,8 +61,20 @@ export declare class MemoryModuleCache implements ModuleCache {
|
|
|
25
61
|
has(modulePath: string): Promise<boolean>;
|
|
26
62
|
delete(modulePath: string): Promise<void>;
|
|
27
63
|
clear(): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* Get cache size for testing
|
|
66
|
+
*/
|
|
28
67
|
size(): number;
|
|
68
|
+
/**
|
|
69
|
+
* Get all keys for testing
|
|
70
|
+
*/
|
|
29
71
|
keys(): string[];
|
|
30
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Creates a new file system based module cache
|
|
75
|
+
*/
|
|
31
76
|
export declare function newModuleCache(fs: Fs, cacheDir?: string): ModuleCache;
|
|
77
|
+
/**
|
|
78
|
+
* Creates a new in-memory module cache for testing
|
|
79
|
+
*/
|
|
32
80
|
export declare function newMemoryModuleCache(): MemoryModuleCache;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { HttpClient, DownloadProgressCallback } from '../type';
|
|
2
2
|
import { Fs } from '../../fs/type';
|
|
3
|
+
/**
|
|
4
|
+
* Node.js HTTP client implementation using http/https modules
|
|
5
|
+
* Alternative to fetch API for better compatibility
|
|
6
|
+
*/
|
|
3
7
|
export declare class NodeHttpClient implements HttpClient {
|
|
4
8
|
private fs;
|
|
5
9
|
private timeout;
|
|
@@ -7,11 +11,17 @@ export declare class NodeHttpClient implements HttpClient {
|
|
|
7
11
|
private defaultTimeout;
|
|
8
12
|
private defaultHeaders;
|
|
9
13
|
constructor(fs: Fs, timeout?: number, headers?: Record<string, string>);
|
|
14
|
+
/**
|
|
15
|
+
* Download file from URL to target path using Node.js http/https
|
|
16
|
+
*/
|
|
10
17
|
download(downloadUrl: string, targetPath: string, options?: {
|
|
11
18
|
onProgress?: DownloadProgressCallback;
|
|
12
19
|
headers?: Record<string, string>;
|
|
13
20
|
timeout?: number;
|
|
14
21
|
}): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Perform GET request using Node.js http/https
|
|
24
|
+
*/
|
|
15
25
|
get(requestUrl: string, options?: {
|
|
16
26
|
headers?: Record<string, string>;
|
|
17
27
|
timeout?: number;
|
|
@@ -21,4 +31,8 @@ export declare class NodeHttpClient implements HttpClient {
|
|
|
21
31
|
status: number;
|
|
22
32
|
}>;
|
|
23
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Creates a new HTTP client instance
|
|
36
|
+
* If a custom client is provided, it will be used instead of creating a new one
|
|
37
|
+
*/
|
|
24
38
|
export declare function newHttpClient(fs: Fs, timeout?: number, headers?: Record<string, string>, customClient?: HttpClient): HttpClient;
|