@aotter/mantle-runtime 0.0.11-alpha.73 → 0.1.0-alpha.10
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/README.md +37 -4
- package/dist/MantleRuntime.d.ts +96 -0
- package/dist/MantleRuntime.d.ts.map +1 -0
- package/dist/MantleRuntime.js +197 -0
- package/dist/MantleRuntime.js.map +1 -0
- package/dist/domain/model/EntryRow.d.ts +2 -2
- package/dist/domain/model/HandlerContext.d.ts +3 -4
- package/dist/domain/model/HandlerContext.d.ts.map +1 -1
- package/dist/domain/model/PreparedMantleRevision.d.ts +14 -0
- package/dist/domain/model/PreparedMantleRevision.d.ts.map +1 -0
- package/dist/domain/model/PreparedMantleRevision.js +8 -0
- package/dist/domain/model/PreparedMantleRevision.js.map +1 -0
- package/dist/domain/model/index.d.ts +1 -2
- package/dist/domain/model/index.d.ts.map +1 -1
- package/dist/domain/model/index.js +0 -1
- package/dist/domain/model/index.js.map +1 -1
- package/dist/domain/port/Clock.d.ts +1 -2
- package/dist/domain/port/Clock.d.ts.map +1 -1
- package/dist/domain/port/Clock.js.map +1 -1
- package/dist/domain/port/DatabaseDriver.d.ts +13 -21
- package/dist/domain/port/DatabaseDriver.d.ts.map +1 -1
- package/dist/domain/port/EntryReader.d.ts +1 -1
- package/dist/domain/port/EntryReader.d.ts.map +1 -1
- package/dist/domain/port/EntryRepository.d.ts +19 -4
- package/dist/domain/port/EntryRepository.d.ts.map +1 -1
- package/dist/domain/port/HandlerRegistry.d.ts +1 -1
- package/dist/domain/port/IdGenerator.d.ts +3 -4
- package/dist/domain/port/IdGenerator.d.ts.map +1 -1
- package/dist/domain/port/IdGenerator.js.map +1 -1
- package/dist/domain/port/MantleStorageAdapter.d.ts +23 -0
- package/dist/domain/port/MantleStorageAdapter.d.ts.map +1 -0
- package/dist/domain/port/MantleStorageAdapter.js +2 -0
- package/dist/domain/port/MantleStorageAdapter.js.map +1 -0
- package/dist/domain/port/SiteConfigRepository.d.ts +12 -10
- package/dist/domain/port/SiteConfigRepository.d.ts.map +1 -1
- package/dist/domain/port/ViewQueryExecutor.d.ts +29 -0
- package/dist/domain/port/ViewQueryExecutor.d.ts.map +1 -0
- package/dist/domain/port/ViewQueryExecutor.js +2 -0
- package/dist/domain/port/ViewQueryExecutor.js.map +1 -0
- package/dist/domain/port/index.d.ts +5 -4
- package/dist/domain/port/index.d.ts.map +1 -1
- package/dist/domain/port/index.js.map +1 -1
- package/dist/domain/service/LocaleNegotiator.d.ts.map +1 -1
- package/dist/domain/service/LocaleNegotiator.js +2 -2
- package/dist/domain/service/LocaleNegotiator.js.map +1 -1
- package/dist/domain/service/RuntimePlanCompiler.d.ts +89 -0
- package/dist/domain/service/RuntimePlanCompiler.d.ts.map +1 -0
- package/dist/domain/service/RuntimePlanCompiler.js +230 -0
- package/dist/domain/service/RuntimePlanCompiler.js.map +1 -0
- package/dist/domain/service/TriggerIndex.d.ts +5 -3
- package/dist/domain/service/TriggerIndex.d.ts.map +1 -1
- package/dist/domain/service/TriggerIndex.js +16 -4
- package/dist/domain/service/TriggerIndex.js.map +1 -1
- package/dist/domain/service/ViewParamCoercer.d.ts +1 -1
- package/dist/domain/service/ViewParamCoercer.js +1 -1
- package/dist/domain/service/index.d.ts +1 -10
- package/dist/domain/service/index.d.ts.map +1 -1
- package/dist/domain/service/index.js +1 -10
- package/dist/domain/service/index.js.map +1 -1
- package/dist/domain/service/io/EntryDeleteGuard.js +1 -1
- package/dist/domain/service/io/EntryDeleteGuard.js.map +1 -1
- package/dist/domain/service/io/EntryWriteGuard.d.ts +4 -3
- package/dist/domain/service/io/EntryWriteGuard.d.ts.map +1 -1
- package/dist/domain/service/io/EntryWriteGuard.js +3 -6
- package/dist/domain/service/io/EntryWriteGuard.js.map +1 -1
- package/dist/domain/service/io/JoinedEntryReader.d.ts +2 -3
- package/dist/domain/service/io/JoinedEntryReader.d.ts.map +1 -1
- package/dist/domain/service/io/JoinedEntryReader.js +2 -3
- package/dist/domain/service/io/JoinedEntryReader.js.map +1 -1
- package/dist/index.d.ts +17 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -12
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/boot/SqliteMigrationRunner.d.ts +10 -0
- package/dist/infrastructure/boot/SqliteMigrationRunner.d.ts.map +1 -0
- package/dist/infrastructure/boot/SqliteMigrationRunner.js +41 -0
- package/dist/infrastructure/boot/SqliteMigrationRunner.js.map +1 -0
- package/dist/infrastructure/boot/bootState.d.ts +9 -0
- package/dist/infrastructure/boot/bootState.d.ts.map +1 -0
- package/dist/infrastructure/boot/bootState.js +32 -0
- package/dist/infrastructure/boot/bootState.js.map +1 -0
- package/dist/infrastructure/boot/canonicalMigrations.d.ts +2 -0
- package/dist/infrastructure/boot/canonicalMigrations.d.ts.map +1 -1
- package/dist/infrastructure/boot/canonicalMigrations.js +181 -88
- package/dist/infrastructure/boot/canonicalMigrations.js.map +1 -1
- package/dist/infrastructure/boot/index.d.ts +3 -1
- package/dist/infrastructure/boot/index.d.ts.map +1 -1
- package/dist/infrastructure/boot/index.js +3 -1
- package/dist/infrastructure/boot/index.js.map +1 -1
- package/dist/infrastructure/http/createMantleRequestHandler.d.ts +12 -0
- package/dist/infrastructure/http/createMantleRequestHandler.d.ts.map +1 -0
- package/dist/infrastructure/http/createMantleRequestHandler.js +127 -0
- package/dist/infrastructure/http/createMantleRequestHandler.js.map +1 -0
- package/dist/infrastructure/index.d.ts +0 -1
- package/dist/infrastructure/index.d.ts.map +1 -1
- package/dist/infrastructure/index.js +0 -1
- package/dist/infrastructure/index.js.map +1 -1
- package/dist/infrastructure/mcp/McpJsonRpcDispatcher.d.ts +18 -23
- package/dist/infrastructure/mcp/McpJsonRpcDispatcher.d.ts.map +1 -1
- package/dist/infrastructure/mcp/McpJsonRpcDispatcher.js +64 -39
- package/dist/infrastructure/mcp/McpJsonRpcDispatcher.js.map +1 -1
- package/dist/infrastructure/mcp/McpToolCatalog.d.ts.map +1 -1
- package/dist/infrastructure/mcp/McpToolCatalog.js +84 -19
- package/dist/infrastructure/mcp/McpToolCatalog.js.map +1 -1
- package/dist/infrastructure/mcp/index.d.ts +1 -1
- package/dist/infrastructure/mcp/index.d.ts.map +1 -1
- package/dist/infrastructure/mcp/index.js.map +1 -1
- package/dist/infrastructure/persistence/DatabaseEntryRepository.d.ts +4 -8
- package/dist/infrastructure/persistence/DatabaseEntryRepository.d.ts.map +1 -1
- package/dist/infrastructure/persistence/DatabaseEntryRepository.js +80 -35
- package/dist/infrastructure/persistence/DatabaseEntryRepository.js.map +1 -1
- package/dist/infrastructure/persistence/DatabaseSiteConfigRepository.d.ts.map +1 -1
- package/dist/infrastructure/persistence/DatabaseSiteConfigRepository.js +39 -31
- package/dist/infrastructure/persistence/DatabaseSiteConfigRepository.js.map +1 -1
- package/dist/infrastructure/persistence/Pagination.d.ts +5 -0
- package/dist/infrastructure/persistence/Pagination.d.ts.map +1 -1
- package/dist/infrastructure/persistence/Pagination.js +49 -0
- package/dist/infrastructure/persistence/Pagination.js.map +1 -1
- package/dist/infrastructure/storage/SqliteMantleStorageAdapter.d.ts +22 -0
- package/dist/infrastructure/storage/SqliteMantleStorageAdapter.d.ts.map +1 -0
- package/dist/infrastructure/storage/SqliteMantleStorageAdapter.js +86 -0
- package/dist/infrastructure/storage/SqliteMantleStorageAdapter.js.map +1 -0
- package/dist/{domain/service/ViewSqlCompiler.d.ts → infrastructure/storage/SqliteViewCompiler.d.ts} +12 -10
- package/dist/infrastructure/storage/SqliteViewCompiler.d.ts.map +1 -0
- package/dist/infrastructure/storage/SqliteViewCompiler.js +307 -0
- package/dist/infrastructure/storage/SqliteViewCompiler.js.map +1 -0
- package/dist/infrastructure/testing/IndexCoverageHarness.d.ts +2 -2
- package/dist/infrastructure/testing/IndexCoverageHarness.d.ts.map +1 -1
- package/dist/infrastructure/testing/IndexCoverageHarness.js +10 -9
- package/dist/infrastructure/testing/IndexCoverageHarness.js.map +1 -1
- package/dist/usecase/boot/ValidateBootUseCase.d.ts +16 -35
- package/dist/usecase/boot/ValidateBootUseCase.d.ts.map +1 -1
- package/dist/usecase/boot/ValidateBootUseCase.js +79 -254
- package/dist/usecase/boot/ValidateBootUseCase.js.map +1 -1
- package/dist/usecase/boot/index.d.ts +1 -1
- package/dist/usecase/boot/index.d.ts.map +1 -1
- package/dist/usecase/boot/index.js +1 -1
- package/dist/usecase/boot/index.js.map +1 -1
- package/dist/usecase/content/ArchiveUseCase.d.ts +2 -4
- package/dist/usecase/content/ArchiveUseCase.d.ts.map +1 -1
- package/dist/usecase/content/ArchiveUseCase.js +2 -6
- package/dist/usecase/content/ArchiveUseCase.js.map +1 -1
- package/dist/usecase/content/CreateDraftUseCase.d.ts +5 -4
- package/dist/usecase/content/CreateDraftUseCase.d.ts.map +1 -1
- package/dist/usecase/content/CreateDraftUseCase.js +10 -7
- package/dist/usecase/content/CreateDraftUseCase.js.map +1 -1
- package/dist/usecase/content/DeleteEntryUseCase.d.ts +3 -5
- package/dist/usecase/content/DeleteEntryUseCase.d.ts.map +1 -1
- package/dist/usecase/content/DeleteEntryUseCase.js +3 -5
- package/dist/usecase/content/DeleteEntryUseCase.js.map +1 -1
- package/dist/usecase/content/ListEntriesUseCase.d.ts.map +1 -1
- package/dist/usecase/content/ListEntriesUseCase.js +30 -3
- package/dist/usecase/content/ListEntriesUseCase.js.map +1 -1
- package/dist/usecase/content/RequestPublishUseCase.d.ts +6 -15
- package/dist/usecase/content/RequestPublishUseCase.d.ts.map +1 -1
- package/dist/usecase/content/RequestPublishUseCase.js +7 -26
- package/dist/usecase/content/RequestPublishUseCase.js.map +1 -1
- package/dist/usecase/content/UnpublishUseCase.d.ts +1 -3
- package/dist/usecase/content/UnpublishUseCase.d.ts.map +1 -1
- package/dist/usecase/content/UnpublishUseCase.js +1 -5
- package/dist/usecase/content/UnpublishUseCase.js.map +1 -1
- package/dist/usecase/content/UpdateDraftUseCase.d.ts +4 -3
- package/dist/usecase/content/UpdateDraftUseCase.d.ts.map +1 -1
- package/dist/usecase/content/UpdateDraftUseCase.js +9 -6
- package/dist/usecase/content/UpdateDraftUseCase.js.map +1 -1
- package/dist/usecase/content/diagnostics.d.ts +1 -0
- package/dist/usecase/content/diagnostics.d.ts.map +1 -1
- package/dist/usecase/content/diagnostics.js +10 -0
- package/dist/usecase/content/diagnostics.js.map +1 -1
- package/dist/usecase/dto/content/index.d.ts +10 -1
- package/dist/usecase/dto/content/index.d.ts.map +1 -1
- package/dist/usecase/dto/index.d.ts +0 -1
- package/dist/usecase/dto/index.d.ts.map +1 -1
- package/dist/usecase/dto/index.js +0 -1
- package/dist/usecase/dto/index.js.map +1 -1
- package/dist/usecase/dto/view/ExecuteViewRequest.d.ts +2 -2
- package/dist/usecase/dto/view/ExecuteViewRequest.d.ts.map +1 -1
- package/dist/usecase/index.d.ts +0 -1
- package/dist/usecase/index.d.ts.map +1 -1
- package/dist/usecase/index.js +0 -1
- package/dist/usecase/index.js.map +1 -1
- package/dist/usecase/media/diagnostics.js +1 -1
- package/dist/usecase/procedure/InvokeBuiltinUseCase.d.ts +5 -4
- package/dist/usecase/procedure/InvokeBuiltinUseCase.d.ts.map +1 -1
- package/dist/usecase/procedure/InvokeBuiltinUseCase.js +8 -4
- package/dist/usecase/procedure/InvokeBuiltinUseCase.js.map +1 -1
- package/dist/usecase/site/UpdateSiteSettingsUseCase.d.ts +4 -5
- package/dist/usecase/site/UpdateSiteSettingsUseCase.d.ts.map +1 -1
- package/dist/usecase/site/UpdateSiteSettingsUseCase.js +36 -6
- package/dist/usecase/site/UpdateSiteSettingsUseCase.js.map +1 -1
- package/dist/usecase/view/ExecuteViewUseCase.d.ts +8 -16
- package/dist/usecase/view/ExecuteViewUseCase.d.ts.map +1 -1
- package/dist/usecase/view/ExecuteViewUseCase.js +24 -94
- package/dist/usecase/view/ExecuteViewUseCase.js.map +1 -1
- package/dist/usecase/view/index.d.ts +2 -1
- package/dist/usecase/view/index.d.ts.map +1 -1
- package/dist/usecase/view/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/domain/model/SeoMeta.d.ts +0 -47
- package/dist/domain/model/SeoMeta.d.ts.map +0 -1
- package/dist/domain/model/SeoMeta.js +0 -2
- package/dist/domain/model/SeoMeta.js.map +0 -1
- package/dist/domain/model/TemplateRegistry.d.ts +0 -50
- package/dist/domain/model/TemplateRegistry.d.ts.map +0 -1
- package/dist/domain/model/TemplateRegistry.js +0 -17
- package/dist/domain/model/TemplateRegistry.js.map +0 -1
- package/dist/domain/port/AssetServer.d.ts +0 -21
- package/dist/domain/port/AssetServer.d.ts.map +0 -1
- package/dist/domain/port/AssetServer.js +0 -2
- package/dist/domain/port/AssetServer.js.map +0 -1
- package/dist/domain/port/KvCache.d.ts +0 -34
- package/dist/domain/port/KvCache.d.ts.map +0 -1
- package/dist/domain/port/KvCache.js +0 -2
- package/dist/domain/port/KvCache.js.map +0 -1
- package/dist/domain/port/PublishOrchestrator.d.ts +0 -26
- package/dist/domain/port/PublishOrchestrator.d.ts.map +0 -1
- package/dist/domain/port/PublishOrchestrator.js +0 -2
- package/dist/domain/port/PublishOrchestrator.js.map +0 -1
- package/dist/domain/service/AbsoluteUrl.d.ts +0 -6
- package/dist/domain/service/AbsoluteUrl.d.ts.map +0 -1
- package/dist/domain/service/AbsoluteUrl.js +0 -33
- package/dist/domain/service/AbsoluteUrl.js.map +0 -1
- package/dist/domain/service/HtmlEscaping.d.ts +0 -2
- package/dist/domain/service/HtmlEscaping.d.ts.map +0 -1
- package/dist/domain/service/HtmlEscaping.js +0 -9
- package/dist/domain/service/HtmlEscaping.js.map +0 -1
- package/dist/domain/service/HtmlRenderer.d.ts +0 -36
- package/dist/domain/service/HtmlRenderer.d.ts.map +0 -1
- package/dist/domain/service/HtmlRenderer.js +0 -78
- package/dist/domain/service/HtmlRenderer.js.map +0 -1
- package/dist/domain/service/MarkdownSerializer.d.ts +0 -48
- package/dist/domain/service/MarkdownSerializer.d.ts.map +0 -1
- package/dist/domain/service/MarkdownSerializer.js +0 -109
- package/dist/domain/service/MarkdownSerializer.js.map +0 -1
- package/dist/domain/service/McpToolNaming.d.ts +0 -31
- package/dist/domain/service/McpToolNaming.d.ts.map +0 -1
- package/dist/domain/service/McpToolNaming.js +0 -48
- package/dist/domain/service/McpToolNaming.js.map +0 -1
- package/dist/domain/service/PreviewBanner.d.ts +0 -10
- package/dist/domain/service/PreviewBanner.d.ts.map +0 -1
- package/dist/domain/service/PreviewBanner.js +0 -30
- package/dist/domain/service/PreviewBanner.js.map +0 -1
- package/dist/domain/service/PublicPathResolver.d.ts +0 -41
- package/dist/domain/service/PublicPathResolver.d.ts.map +0 -1
- package/dist/domain/service/PublicPathResolver.js +0 -24
- package/dist/domain/service/PublicPathResolver.js.map +0 -1
- package/dist/domain/service/PublishKeys.d.ts +0 -42
- package/dist/domain/service/PublishKeys.d.ts.map +0 -1
- package/dist/domain/service/PublishKeys.js +0 -71
- package/dist/domain/service/PublishKeys.js.map +0 -1
- package/dist/domain/service/SeoMetaComposer.d.ts +0 -47
- package/dist/domain/service/SeoMetaComposer.d.ts.map +0 -1
- package/dist/domain/service/SeoMetaComposer.js +0 -164
- package/dist/domain/service/SeoMetaComposer.js.map +0 -1
- package/dist/domain/service/SitemapSerializer.d.ts +0 -19
- package/dist/domain/service/SitemapSerializer.d.ts.map +0 -1
- package/dist/domain/service/SitemapSerializer.js +0 -27
- package/dist/domain/service/SitemapSerializer.js.map +0 -1
- package/dist/domain/service/ViewSqlCompiler.d.ts.map +0 -1
- package/dist/domain/service/ViewSqlCompiler.js +0 -193
- package/dist/domain/service/ViewSqlCompiler.js.map +0 -1
- package/dist/domain/service/io/MediaAssetReferences.d.ts +0 -13
- package/dist/domain/service/io/MediaAssetReferences.d.ts.map +0 -1
- package/dist/domain/service/io/MediaAssetReferences.js +0 -48
- package/dist/domain/service/io/MediaAssetReferences.js.map +0 -1
- package/dist/infrastructure/render/HtmlPublishOrchestrator.d.ts +0 -38
- package/dist/infrastructure/render/HtmlPublishOrchestrator.d.ts.map +0 -1
- package/dist/infrastructure/render/HtmlPublishOrchestrator.js +0 -129
- package/dist/infrastructure/render/HtmlPublishOrchestrator.js.map +0 -1
- package/dist/infrastructure/render/index.d.ts +0 -2
- package/dist/infrastructure/render/index.d.ts.map +0 -1
- package/dist/infrastructure/render/index.js +0 -2
- package/dist/infrastructure/render/index.js.map +0 -1
- package/dist/runtime.d.ts +0 -150
- package/dist/runtime.d.ts.map +0 -1
- package/dist/runtime.js +0 -181
- package/dist/runtime.js.map +0 -1
- package/dist/usecase/content/ContentPublishEffects.d.ts +0 -11
- package/dist/usecase/content/ContentPublishEffects.d.ts.map +0 -1
- package/dist/usecase/content/ContentPublishEffects.js +0 -21
- package/dist/usecase/content/ContentPublishEffects.js.map +0 -1
- package/dist/usecase/dto/render/ComposeEntrySeoMetaRequest.d.ts +0 -14
- package/dist/usecase/dto/render/ComposeEntrySeoMetaRequest.d.ts.map +0 -1
- package/dist/usecase/dto/render/ComposeEntrySeoMetaRequest.js +0 -2
- package/dist/usecase/dto/render/ComposeEntrySeoMetaRequest.js.map +0 -1
- package/dist/usecase/dto/render/ComposeLlmsTxtRequest.d.ts +0 -8
- package/dist/usecase/dto/render/ComposeLlmsTxtRequest.d.ts.map +0 -1
- package/dist/usecase/dto/render/ComposeLlmsTxtRequest.js +0 -2
- package/dist/usecase/dto/render/ComposeLlmsTxtRequest.js.map +0 -1
- package/dist/usecase/dto/render/ComposeSitemapRequest.d.ts +0 -11
- package/dist/usecase/dto/render/ComposeSitemapRequest.d.ts.map +0 -1
- package/dist/usecase/dto/render/ComposeSitemapRequest.js +0 -2
- package/dist/usecase/dto/render/ComposeSitemapRequest.js.map +0 -1
- package/dist/usecase/dto/render/PreviewEntryRequest.d.ts +0 -13
- package/dist/usecase/dto/render/PreviewEntryRequest.d.ts.map +0 -1
- package/dist/usecase/dto/render/PreviewEntryRequest.js +0 -2
- package/dist/usecase/dto/render/PreviewEntryRequest.js.map +0 -1
- package/dist/usecase/dto/render/RenderEntryLiveRequest.d.ts +0 -14
- package/dist/usecase/dto/render/RenderEntryLiveRequest.d.ts.map +0 -1
- package/dist/usecase/dto/render/RenderEntryLiveRequest.js +0 -2
- package/dist/usecase/dto/render/RenderEntryLiveRequest.js.map +0 -1
- package/dist/usecase/dto/render/RenderListLiveRequest.d.ts +0 -11
- package/dist/usecase/dto/render/RenderListLiveRequest.d.ts.map +0 -1
- package/dist/usecase/dto/render/RenderListLiveRequest.js +0 -2
- package/dist/usecase/dto/render/RenderListLiveRequest.js.map +0 -1
- package/dist/usecase/dto/render/index.d.ts +0 -7
- package/dist/usecase/dto/render/index.d.ts.map +0 -1
- package/dist/usecase/dto/render/index.js +0 -7
- package/dist/usecase/dto/render/index.js.map +0 -1
- package/dist/usecase/render/ComposeEntrySeoMetaUseCase.d.ts +0 -28
- package/dist/usecase/render/ComposeEntrySeoMetaUseCase.d.ts.map +0 -1
- package/dist/usecase/render/ComposeEntrySeoMetaUseCase.js +0 -59
- package/dist/usecase/render/ComposeEntrySeoMetaUseCase.js.map +0 -1
- package/dist/usecase/render/ComposeLlmsTxtUseCase.d.ts +0 -19
- package/dist/usecase/render/ComposeLlmsTxtUseCase.d.ts.map +0 -1
- package/dist/usecase/render/ComposeLlmsTxtUseCase.js +0 -39
- package/dist/usecase/render/ComposeLlmsTxtUseCase.js.map +0 -1
- package/dist/usecase/render/ComposeSitemapUseCase.d.ts +0 -15
- package/dist/usecase/render/ComposeSitemapUseCase.d.ts.map +0 -1
- package/dist/usecase/render/ComposeSitemapUseCase.js +0 -28
- package/dist/usecase/render/ComposeSitemapUseCase.js.map +0 -1
- package/dist/usecase/render/PreviewEntryUseCase.d.ts +0 -28
- package/dist/usecase/render/PreviewEntryUseCase.d.ts.map +0 -1
- package/dist/usecase/render/PreviewEntryUseCase.js +0 -72
- package/dist/usecase/render/PreviewEntryUseCase.js.map +0 -1
- package/dist/usecase/render/RenderEntryLiveUseCase.d.ts +0 -37
- package/dist/usecase/render/RenderEntryLiveUseCase.d.ts.map +0 -1
- package/dist/usecase/render/RenderEntryLiveUseCase.js +0 -63
- package/dist/usecase/render/RenderEntryLiveUseCase.js.map +0 -1
- package/dist/usecase/render/RenderListLiveUseCase.d.ts +0 -25
- package/dist/usecase/render/RenderListLiveUseCase.d.ts.map +0 -1
- package/dist/usecase/render/RenderListLiveUseCase.js +0 -45
- package/dist/usecase/render/RenderListLiveUseCase.js.map +0 -1
- package/dist/usecase/render/index.d.ts +0 -7
- package/dist/usecase/render/index.d.ts.map +0 -1
- package/dist/usecase/render/index.js +0 -7
- package/dist/usecase/render/index.js.map +0 -1
package/dist/runtime.js
DELETED
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
import { runtimeDiagnostic, } from "@aotter/mantle-spec";
|
|
2
|
-
import { partitionManifests } from "@aotter/mantle-spec/partition";
|
|
3
|
-
import { SystemClock } from "./domain/port/Clock.js";
|
|
4
|
-
import { RandomUuidGenerator, } from "./domain/port/IdGenerator.js";
|
|
5
|
-
import { buildHandlerRegistry, } from "./domain/port/HandlerRegistry.js";
|
|
6
|
-
import { ArchiveUseCase, CreateDraftUseCase, DeleteEntryUseCase, GetEntryUseCase, ListEntriesUseCase, RequestPublishUseCase, UnpublishUseCase, UpdateDraftUseCase, } from "./usecase/content/index.js";
|
|
7
|
-
import { InvokeBuiltinUseCase, InvokeProcedureUseCase, } from "./usecase/procedure/index.js";
|
|
8
|
-
import { ExecuteViewUseCase } from "./usecase/view/index.js";
|
|
9
|
-
import { ValidateBootUseCase } from "./usecase/boot/index.js";
|
|
10
|
-
import { RunDeferredHookUseCase, RunLifecycleHooksUseCase, } from "./usecase/lifecycle/index.js";
|
|
11
|
-
import { ComposeEntrySeoMetaUseCase, ComposeLlmsTxtUseCase, ComposeSitemapUseCase, PreviewEntryUseCase, RenderEntryLiveUseCase, RenderListLiveUseCase, } from "./usecase/render/index.js";
|
|
12
|
-
import { CommitMediaUploadUseCase, CreateMediaUploadUseCase, ListMediaAssetsUseCase, GetMediaAssetUseCase, UpdateMediaAssetUseCase, DeleteMediaAssetUseCase, } from "./usecase/media/index.js";
|
|
13
|
-
import { UpdateSiteSettingsUseCase } from "./usecase/site/index.js";
|
|
14
|
-
import { TemplateRegistry as TemplateRegistryImpl } from "./domain/model/TemplateRegistry.js";
|
|
15
|
-
import { TriggerIndex } from "./domain/service/TriggerIndex.js";
|
|
16
|
-
import { DatabaseEntryRepository } from "./infrastructure/persistence/DatabaseEntryRepository.js";
|
|
17
|
-
import { DatabaseMediaAssetRepository } from "./infrastructure/persistence/DatabaseMediaAssetRepository.js";
|
|
18
|
-
import { DatabasePendingUploadRepository } from "./infrastructure/persistence/DatabasePendingUploadRepository.js";
|
|
19
|
-
import { DatabaseSiteConfigRepository } from "./infrastructure/persistence/DatabaseSiteConfigRepository.js";
|
|
20
|
-
import { LifecycleHookingEntryRepository } from "./infrastructure/persistence/LifecycleHookingEntryRepository.js";
|
|
21
|
-
import { HtmlPublishOrchestrator } from "./infrastructure/render/index.js";
|
|
22
|
-
import { CANONICAL_MIGRATIONS, reconcileSchemaIndexes, schemaIndexMigrations, } from "./infrastructure/boot/index.js";
|
|
23
|
-
export function createCmsRuntime(args) {
|
|
24
|
-
const partitioned = partitionManifests([...args.manifests]);
|
|
25
|
-
const schemasByName = new Map();
|
|
26
|
-
for (const s of partitioned.schemas)
|
|
27
|
-
schemasByName.set(s.metadata.name, s);
|
|
28
|
-
const proceduresByName = new Map();
|
|
29
|
-
for (const p of partitioned.procedures)
|
|
30
|
-
proceduresByName.set(p.metadata.name, p);
|
|
31
|
-
const viewsByName = new Map();
|
|
32
|
-
for (const v of partitioned.views)
|
|
33
|
-
viewsByName.set(v.metadata.name, v);
|
|
34
|
-
const triggersByName = new Map();
|
|
35
|
-
for (const t of partitioned.triggers)
|
|
36
|
-
triggersByName.set(t.metadata.name, t);
|
|
37
|
-
const registry = buildHandlerRegistry(args.handlers ?? {});
|
|
38
|
-
const templates = args.templates ?? new TemplateRegistryImpl();
|
|
39
|
-
const clock = args.clock ?? SystemClock;
|
|
40
|
-
const idgen = args.idgen ?? RandomUuidGenerator;
|
|
41
|
-
// Repositories: DB-backed inner + lifecycle-hook decorator. Every
|
|
42
|
-
// mutation through `entries` (create / update / delete /
|
|
43
|
-
// transitionStatus) fires the matching Triggers via
|
|
44
|
-
// `RunLifecycleHooksUseCase`. Symmetric chokepoint per POC ADR-0014:
|
|
45
|
-
// MCP, admin, and builtin paths all hit the same wrapped repository.
|
|
46
|
-
const innerEntries = new DatabaseEntryRepository(args.db, schemasByName);
|
|
47
|
-
const entryReader = innerEntries;
|
|
48
|
-
const triggerIndex = new TriggerIndex(partitioned.triggers);
|
|
49
|
-
const siteConfig = new DatabaseSiteConfigRepository(args.db);
|
|
50
|
-
// `entries` is filled below — assigned via `let` so the lifecycle
|
|
51
|
-
// hooks (which run procedures, which can themselves write entries
|
|
52
|
-
// via builtin handlers) close over the wrapped repo, not the bare
|
|
53
|
-
// DB-backed one. Without this every builtin write inside a hook
|
|
54
|
-
// would skip the decorator and silently bypass downstream hooks.
|
|
55
|
-
let entries;
|
|
56
|
-
const entriesProxy = {
|
|
57
|
-
create: (a) => entries.create(a),
|
|
58
|
-
get: (id) => entries.get(id),
|
|
59
|
-
update: (a) => entries.update(a),
|
|
60
|
-
delete: (a) => entries.delete(a),
|
|
61
|
-
transitionStatus: (a) => entries.transitionStatus(a),
|
|
62
|
-
list: (a) => entries.list(a),
|
|
63
|
-
findByDataField: (a) => entries.findByDataField(a),
|
|
64
|
-
findByDataFields: (a) => entries.findByDataFields(a),
|
|
65
|
-
};
|
|
66
|
-
const invokeBuiltin = new InvokeBuiltinUseCase(entriesProxy, schemasByName, clock, idgen, siteConfig);
|
|
67
|
-
const invokeProcedure = new InvokeProcedureUseCase(registry, invokeBuiltin, proceduresByName);
|
|
68
|
-
const lifecycleHooks = new RunLifecycleHooksUseCase(triggerIndex, proceduresByName, (req) => invokeProcedure.execute(req));
|
|
69
|
-
entries = new LifecycleHookingEntryRepository(innerEntries, triggerIndex, lifecycleHooks, idgen, args.deferredHookDispatcher);
|
|
70
|
-
const runDeferredHook = new RunDeferredHookUseCase(lifecycleHooks);
|
|
71
|
-
const publicPathResolver = args.publicPathResolver ?? null;
|
|
72
|
-
const composeEntrySeoMeta = new ComposeEntrySeoMetaUseCase(entryReader);
|
|
73
|
-
const composeLlmsTxt = new ComposeLlmsTxtUseCase(entryReader);
|
|
74
|
-
const mediaAssets = new DatabaseMediaAssetRepository(args.db);
|
|
75
|
-
const pendingUploads = new DatabasePendingUploadRepository(args.db);
|
|
76
|
-
const publishOrchestrator = new HtmlPublishOrchestrator(entryReader, args.kv, publicPathResolver, composeEntrySeoMeta, composeLlmsTxt, schemasByName, mediaAssets);
|
|
77
|
-
const updateSiteSettings = new UpdateSiteSettingsUseCase(siteConfig, publishOrchestrator);
|
|
78
|
-
// Content / view / boot use cases. They see `entries` only as the
|
|
79
|
-
// chokepoint port — hook firing is invisible to them.
|
|
80
|
-
const createDraft = new CreateDraftUseCase(entries, schemasByName, clock, idgen, siteConfig);
|
|
81
|
-
const updateDraft = new UpdateDraftUseCase(entries, schemasByName, clock, siteConfig);
|
|
82
|
-
const getEntry = new GetEntryUseCase(entries);
|
|
83
|
-
const listEntries = new ListEntriesUseCase(entries, schemasByName);
|
|
84
|
-
const contentPublishEffects = { publishOrchestrator, siteConfig, templates };
|
|
85
|
-
const requestPublish = new RequestPublishUseCase(entries, schemasByName, clock, contentPublishEffects, siteConfig);
|
|
86
|
-
const unpublish = new UnpublishUseCase(entries, schemasByName, clock, contentPublishEffects);
|
|
87
|
-
const archive = new ArchiveUseCase(entries, schemasByName, clock, contentPublishEffects);
|
|
88
|
-
const deleteEntry = new DeleteEntryUseCase(entries, schemasByName);
|
|
89
|
-
const executeView = new ExecuteViewUseCase(args.db, async (request) => {
|
|
90
|
-
const procedure = proceduresByName.get(request.procedure);
|
|
91
|
-
if (!procedure) {
|
|
92
|
-
return {
|
|
93
|
-
ok: false,
|
|
94
|
-
diagnostic: runtimeDiagnostic({
|
|
95
|
-
code: "GUARD_PROCEDURE_UNKNOWN",
|
|
96
|
-
severity: "error",
|
|
97
|
-
path: request.pathPrefix,
|
|
98
|
-
value: request.procedure,
|
|
99
|
-
expected: "name of a declared Procedure",
|
|
100
|
-
}),
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
return invokeProcedure.execute({
|
|
104
|
-
procedure,
|
|
105
|
-
input: request.input,
|
|
106
|
-
ctx: request.ctx,
|
|
107
|
-
pathPrefix: request.pathPrefix,
|
|
108
|
-
});
|
|
109
|
-
}, schemasByName);
|
|
110
|
-
const composeSitemap = new ComposeSitemapUseCase(entryReader);
|
|
111
|
-
const renderEntryLive = new RenderEntryLiveUseCase(entryReader, templates, publicPathResolver, composeEntrySeoMeta, schemasByName, mediaAssets);
|
|
112
|
-
const renderListLive = new RenderListLiveUseCase(entryReader, templates, schemasByName, mediaAssets);
|
|
113
|
-
const previewEntry = new PreviewEntryUseCase(entryReader, templates, publicPathResolver, composeEntrySeoMeta, schemasByName, mediaAssets);
|
|
114
|
-
const validateBoot = new ValidateBootUseCase();
|
|
115
|
-
const media = args.mediaStorage
|
|
116
|
-
? {
|
|
117
|
-
storage: args.mediaStorage,
|
|
118
|
-
createUpload: new CreateMediaUploadUseCase(args.mediaStorage, pendingUploads, clock, idgen, siteConfig, { allowSvg: args.mediaAllowSvg ?? false }),
|
|
119
|
-
commitUpload: new CommitMediaUploadUseCase(args.mediaStorage, pendingUploads, clock, mediaAssets),
|
|
120
|
-
listAssets: new ListMediaAssetsUseCase(mediaAssets),
|
|
121
|
-
getAsset: new GetMediaAssetUseCase(mediaAssets),
|
|
122
|
-
updateAsset: new UpdateMediaAssetUseCase(mediaAssets),
|
|
123
|
-
deleteAsset: new DeleteMediaAssetUseCase(args.mediaStorage, mediaAssets),
|
|
124
|
-
resolve: (id) => mediaAssets.findById(id),
|
|
125
|
-
resolveMany: (ids) => mediaAssets.findManyByIds(ids),
|
|
126
|
-
}
|
|
127
|
-
: null;
|
|
128
|
-
return {
|
|
129
|
-
db: args.db,
|
|
130
|
-
kv: args.kv,
|
|
131
|
-
assets: args.assets,
|
|
132
|
-
entryReader,
|
|
133
|
-
createDraft,
|
|
134
|
-
updateDraft,
|
|
135
|
-
getEntry,
|
|
136
|
-
listEntries,
|
|
137
|
-
requestPublish,
|
|
138
|
-
unpublish,
|
|
139
|
-
archive,
|
|
140
|
-
deleteEntry,
|
|
141
|
-
invokeProcedure,
|
|
142
|
-
executeView,
|
|
143
|
-
composeLlmsTxt,
|
|
144
|
-
composeSitemap,
|
|
145
|
-
composeEntrySeoMeta,
|
|
146
|
-
renderEntryLive,
|
|
147
|
-
renderListLive,
|
|
148
|
-
previewEntry,
|
|
149
|
-
validateBoot,
|
|
150
|
-
publishOrchestrator,
|
|
151
|
-
siteConfig,
|
|
152
|
-
updateSiteSettings,
|
|
153
|
-
publicPathResolver,
|
|
154
|
-
media,
|
|
155
|
-
runDeferredHook,
|
|
156
|
-
registry,
|
|
157
|
-
templates,
|
|
158
|
-
schemasByName,
|
|
159
|
-
proceduresByName,
|
|
160
|
-
viewsByName,
|
|
161
|
-
triggers: partitioned.triggers,
|
|
162
|
-
triggersByName,
|
|
163
|
-
clock,
|
|
164
|
-
idgen,
|
|
165
|
-
async bootInit() {
|
|
166
|
-
const schemas = partitioned.schemas;
|
|
167
|
-
await args.db.migrations.runAll(CANONICAL_MIGRATIONS);
|
|
168
|
-
await siteConfig.seed(args.siteDefaults);
|
|
169
|
-
const siteLocales = await siteConfig.readLocales();
|
|
170
|
-
validateBoot.assert({
|
|
171
|
-
manifests: args.manifests,
|
|
172
|
-
registry,
|
|
173
|
-
siteLocales,
|
|
174
|
-
});
|
|
175
|
-
const indexMigrations = schemaIndexMigrations(schemas);
|
|
176
|
-
await args.db.migrations.runAll(indexMigrations);
|
|
177
|
-
await reconcileSchemaIndexes(args.db, indexMigrations, schemas);
|
|
178
|
-
},
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
//# sourceMappingURL=runtime.js.map
|
package/dist/runtime.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { TemplateRegistry } from "../../domain/model/TemplateRegistry.js";
|
|
2
|
-
import type { PublishOrchestrator } from "../../domain/port/PublishOrchestrator.js";
|
|
3
|
-
import type { SiteConfigRepository } from "../../domain/port/SiteConfigRepository.js";
|
|
4
|
-
export interface ContentPublishEffects {
|
|
5
|
-
readonly publishOrchestrator: PublishOrchestrator;
|
|
6
|
-
readonly siteConfig: SiteConfigRepository;
|
|
7
|
-
readonly templates: TemplateRegistry;
|
|
8
|
-
}
|
|
9
|
-
export declare function publishCache(effects: ContentPublishEffects | undefined, entryId: string): Promise<void>;
|
|
10
|
-
export declare function unpublishCache(effects: ContentPublishEffects | undefined, entryId: string): Promise<void>;
|
|
11
|
-
//# sourceMappingURL=ContentPublishEffects.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ContentPublishEffects.d.ts","sourceRoot":"","sources":["../../../src/usecase/content/ContentPublishEffects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEtF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAClD,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;CACtC;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,qBAAqB,GAAG,SAAS,EAC1C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,qBAAqB,GAAG,SAAS,EAC1C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAQf"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export async function publishCache(effects, entryId) {
|
|
2
|
-
if (!effects)
|
|
3
|
-
return;
|
|
4
|
-
const site = await effects.siteConfig.load();
|
|
5
|
-
await effects.publishOrchestrator.publish({
|
|
6
|
-
entryId,
|
|
7
|
-
site,
|
|
8
|
-
templates: effects.templates,
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
export async function unpublishCache(effects, entryId) {
|
|
12
|
-
if (!effects)
|
|
13
|
-
return;
|
|
14
|
-
const site = await effects.siteConfig.load();
|
|
15
|
-
await effects.publishOrchestrator.unpublish({
|
|
16
|
-
entryId,
|
|
17
|
-
site,
|
|
18
|
-
templates: effects.templates,
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=ContentPublishEffects.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ContentPublishEffects.js","sourceRoot":"","sources":["../../../src/usecase/content/ContentPublishEffects.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAA0C,EAC1C,OAAe;IAEf,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAC7C,MAAM,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC;QACxC,OAAO;QACP,IAAI;QACJ,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAA0C,EAC1C,OAAe;IAEf,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAC7C,MAAM,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC;QAC1C,OAAO;QACP,IAAI;QACJ,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { Entry, SiteConfig } from "@aotter/mantle-spec";
|
|
2
|
-
import type { PublicPathResolver } from "../../../domain/service/PublicPathResolver.js";
|
|
3
|
-
/**
|
|
4
|
-
* Request DTO for `ComposeEntrySeoMetaUseCase`. Caller passes the
|
|
5
|
-
* entry, the site, and the resolver; the use case figures out
|
|
6
|
-
* sibling translations for hreflang.
|
|
7
|
-
*/
|
|
8
|
-
export interface ComposeEntrySeoMetaRequest {
|
|
9
|
-
readonly entry: Entry;
|
|
10
|
-
readonly site: SiteConfig;
|
|
11
|
-
readonly paths: PublicPathResolver;
|
|
12
|
-
readonly type?: "article" | "website";
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=ComposeEntrySeoMetaRequest.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ComposeEntrySeoMetaRequest.d.ts","sourceRoot":"","sources":["../../../../src/usecase/dto/render/ComposeEntrySeoMetaRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AAExF;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACvC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ComposeEntrySeoMetaRequest.js","sourceRoot":"","sources":["../../../../src/usecase/dto/render/ComposeEntrySeoMetaRequest.ts"],"names":[],"mappings":""}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { SiteConfig } from "@aotter/mantle-spec";
|
|
2
|
-
export interface ComposeLlmsTxtRequest {
|
|
3
|
-
readonly site: SiteConfig;
|
|
4
|
-
/** locale: string → entries with that locale; locale: null →
|
|
5
|
-
* non-localized only (matches publish-pipeline semantic). */
|
|
6
|
-
readonly locale: string | null;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=ComposeLlmsTxtRequest.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ComposeLlmsTxtRequest.d.ts","sourceRoot":"","sources":["../../../../src/usecase/dto/render/ComposeLlmsTxtRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B;kEAC8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ComposeLlmsTxtRequest.js","sourceRoot":"","sources":["../../../../src/usecase/dto/render/ComposeLlmsTxtRequest.ts"],"names":[],"mappings":""}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Entry, SiteConfig } from "@aotter/mantle-spec";
|
|
2
|
-
export interface ComposeSitemapRequest {
|
|
3
|
-
readonly site: SiteConfig;
|
|
4
|
-
/** Map storage row → public route. Returning `null` skips. */
|
|
5
|
-
readonly pathFor?: (entry: Entry) => string | null;
|
|
6
|
-
/** Caps the SQL read + memory cost. Defaults to
|
|
7
|
-
* SITEMAP_MAX_URLS_DEFAULT (50,000 — the sitemap-protocol per-file
|
|
8
|
-
* ceiling). */
|
|
9
|
-
readonly maxUrls?: number;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=ComposeSitemapRequest.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ComposeSitemapRequest.d.ts","sourceRoot":"","sources":["../../../../src/usecase/dto/render/ComposeSitemapRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,GAAG,IAAI,CAAC;IACnD;;oBAEgB;IAChB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ComposeSitemapRequest.js","sourceRoot":"","sources":["../../../../src/usecase/dto/render/ComposeSitemapRequest.ts"],"names":[],"mappings":""}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { SiteConfig } from "@aotter/mantle-spec";
|
|
2
|
-
/**
|
|
3
|
-
* Request DTO for `PreviewEntryUseCase`. Looks up the entry,
|
|
4
|
-
* preferring draft → published → archived; renders via the registered template; injects a
|
|
5
|
-
* preview banner.
|
|
6
|
-
*/
|
|
7
|
-
export interface PreviewEntryRequest {
|
|
8
|
-
readonly collection: string;
|
|
9
|
-
readonly slug: string;
|
|
10
|
-
readonly locale: string;
|
|
11
|
-
readonly site: SiteConfig;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=PreviewEntryRequest.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PreviewEntryRequest.d.ts","sourceRoot":"","sources":["../../../../src/usecase/dto/render/PreviewEntryRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PreviewEntryRequest.js","sourceRoot":"","sources":["../../../../src/usecase/dto/render/PreviewEntryRequest.ts"],"names":[],"mappings":""}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { SiteConfig } from "@aotter/mantle-spec";
|
|
2
|
-
/**
|
|
3
|
-
* Request DTO for `RenderEntryLiveUseCase` — renders a single entry
|
|
4
|
-
* from current DB state on demand (no KV read), returning either the
|
|
5
|
-
* full HTML doc or `null` if no matching entry / no registered
|
|
6
|
-
* template.
|
|
7
|
-
*/
|
|
8
|
-
export interface RenderEntryLiveRequest {
|
|
9
|
-
readonly collection: string;
|
|
10
|
-
readonly slug: string;
|
|
11
|
-
readonly locale: string;
|
|
12
|
-
readonly site: SiteConfig;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=RenderEntryLiveRequest.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RenderEntryLiveRequest.d.ts","sourceRoot":"","sources":["../../../../src/usecase/dto/render/RenderEntryLiveRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RenderEntryLiveRequest.js","sourceRoot":"","sources":["../../../../src/usecase/dto/render/RenderEntryLiveRequest.ts"],"names":[],"mappings":""}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { SiteConfig } from "@aotter/mantle-spec";
|
|
2
|
-
/**
|
|
3
|
-
* Request DTO for `RenderListLiveUseCase` — renders a collection's
|
|
4
|
-
* list page from current DB state on demand (no KV read).
|
|
5
|
-
*/
|
|
6
|
-
export interface RenderListLiveRequest {
|
|
7
|
-
readonly collection: string;
|
|
8
|
-
readonly locale: string;
|
|
9
|
-
readonly site: SiteConfig;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=RenderListLiveRequest.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RenderListLiveRequest.d.ts","sourceRoot":"","sources":["../../../../src/usecase/dto/render/RenderListLiveRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RenderListLiveRequest.js","sourceRoot":"","sources":["../../../../src/usecase/dto/render/RenderListLiveRequest.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export * from "./ComposeLlmsTxtRequest.js";
|
|
2
|
-
export * from "./ComposeSitemapRequest.js";
|
|
3
|
-
export * from "./RenderEntryLiveRequest.js";
|
|
4
|
-
export * from "./RenderListLiveRequest.js";
|
|
5
|
-
export * from "./PreviewEntryRequest.js";
|
|
6
|
-
export * from "./ComposeEntrySeoMetaRequest.js";
|
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/usecase/dto/render/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export * from "./ComposeLlmsTxtRequest.js";
|
|
2
|
-
export * from "./ComposeSitemapRequest.js";
|
|
3
|
-
export * from "./RenderEntryLiveRequest.js";
|
|
4
|
-
export * from "./RenderListLiveRequest.js";
|
|
5
|
-
export * from "./PreviewEntryRequest.js";
|
|
6
|
-
export * from "./ComposeEntrySeoMetaRequest.js";
|
|
7
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/usecase/dto/render/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { Entry, SiteConfig } from "@aotter/mantle-spec";
|
|
2
|
-
import type { EntryReader } from "../../domain/port/EntryReader.js";
|
|
3
|
-
import { type SeoMeta } from "../../domain/service/SeoMetaComposer.js";
|
|
4
|
-
import type { PublicPathResolver } from "../../domain/service/PublicPathResolver.js";
|
|
5
|
-
import type { ComposeEntrySeoMetaRequest } from "../dto/render/ComposeEntrySeoMetaRequest.js";
|
|
6
|
-
/**
|
|
7
|
-
* Compose the SEO/AEO meta block for an entry. Reads sibling
|
|
8
|
-
* translations from the DB (same collection, same slug, other
|
|
9
|
-
* locales) so hreflang links are accurate; calls the pure composer
|
|
10
|
-
* for the rest.
|
|
11
|
-
*
|
|
12
|
-
* "Same collection" is a deliberate simplification — works correctly
|
|
13
|
-
* for `post-translations`-style design where each locale has its own
|
|
14
|
-
* row in the same collection. Sites that split locales across
|
|
15
|
-
* collections (`posts-en`, `posts-zh`) need a custom resolver — out
|
|
16
|
-
* of scope for v0.1.
|
|
17
|
-
*
|
|
18
|
-
* Sibling lookup is one indexed `readEntryBySlug` per non-current
|
|
19
|
-
* locale — O(locales), not O(collection). Runs in parallel via
|
|
20
|
-
* `Promise.all`.
|
|
21
|
-
*/
|
|
22
|
-
export declare class ComposeEntrySeoMetaUseCase {
|
|
23
|
-
private readonly reader;
|
|
24
|
-
constructor(reader: EntryReader);
|
|
25
|
-
execute(request: ComposeEntrySeoMetaRequest): Promise<SeoMeta>;
|
|
26
|
-
}
|
|
27
|
-
export declare function composeSeoIfPathed(composer: Pick<ComposeEntrySeoMetaUseCase, "execute">, paths: PublicPathResolver | null, entry: Entry, site: SiteConfig): Promise<SeoMeta | undefined>;
|
|
28
|
-
//# sourceMappingURL=ComposeEntrySeoMetaUseCase.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ComposeEntrySeoMetaUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/render/ComposeEntrySeoMetaUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAEL,KAAK,OAAO,EAEb,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAE9F;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,0BAA0B;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAE1C,OAAO,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,OAAO,CAAC;CAMrE;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,IAAI,CAAC,0BAA0B,EAAE,SAAS,CAAC,EACrD,KAAK,EAAE,kBAAkB,GAAG,IAAI,EAChC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAG9B"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { composeEntrySeoMeta, } from "../../domain/service/SeoMetaComposer.js";
|
|
2
|
-
/**
|
|
3
|
-
* Compose the SEO/AEO meta block for an entry. Reads sibling
|
|
4
|
-
* translations from the DB (same collection, same slug, other
|
|
5
|
-
* locales) so hreflang links are accurate; calls the pure composer
|
|
6
|
-
* for the rest.
|
|
7
|
-
*
|
|
8
|
-
* "Same collection" is a deliberate simplification — works correctly
|
|
9
|
-
* for `post-translations`-style design where each locale has its own
|
|
10
|
-
* row in the same collection. Sites that split locales across
|
|
11
|
-
* collections (`posts-en`, `posts-zh`) need a custom resolver — out
|
|
12
|
-
* of scope for v0.1.
|
|
13
|
-
*
|
|
14
|
-
* Sibling lookup is one indexed `readEntryBySlug` per non-current
|
|
15
|
-
* locale — O(locales), not O(collection). Runs in parallel via
|
|
16
|
-
* `Promise.all`.
|
|
17
|
-
*/
|
|
18
|
-
export class ComposeEntrySeoMetaUseCase {
|
|
19
|
-
reader;
|
|
20
|
-
constructor(reader) {
|
|
21
|
-
this.reader = reader;
|
|
22
|
-
}
|
|
23
|
-
async execute(request) {
|
|
24
|
-
const { entry, site, paths, type } = request;
|
|
25
|
-
const publicPath = paths.forEntry(entry) ?? "";
|
|
26
|
-
const siblings = await readSiblings(this.reader, entry, site, paths);
|
|
27
|
-
return composeEntrySeoMeta({ entry, site, publicPath, siblings, type });
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
export async function composeSeoIfPathed(composer, paths, entry, site) {
|
|
31
|
-
if (!paths?.forEntry(entry))
|
|
32
|
-
return undefined;
|
|
33
|
-
return composer.execute({ entry, site, paths });
|
|
34
|
-
}
|
|
35
|
-
async function readSiblings(reader, current, site, paths) {
|
|
36
|
-
const slug = current.data["slug"];
|
|
37
|
-
if (typeof slug !== "string" || slug.length === 0)
|
|
38
|
-
return [];
|
|
39
|
-
if (site.locales.length <= 1)
|
|
40
|
-
return [];
|
|
41
|
-
const currentKey = current.locale?.toLowerCase();
|
|
42
|
-
const targetLocales = site.locales.filter((l) => l.toLowerCase() !== currentKey);
|
|
43
|
-
const lookups = await Promise.all(targetLocales.map((locale) => reader.readBySlug({
|
|
44
|
-
collection: current.collection,
|
|
45
|
-
slug,
|
|
46
|
-
locale,
|
|
47
|
-
status: "published",
|
|
48
|
-
}).then((e) => ({ locale, entry: e }))));
|
|
49
|
-
const out = [];
|
|
50
|
-
for (const { locale, entry } of lookups) {
|
|
51
|
-
if (!entry)
|
|
52
|
-
continue;
|
|
53
|
-
const path = paths.forEntry(entry);
|
|
54
|
-
if (path)
|
|
55
|
-
out.push({ locale, publicPath: path });
|
|
56
|
-
}
|
|
57
|
-
return out;
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=ComposeEntrySeoMetaUseCase.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ComposeEntrySeoMetaUseCase.js","sourceRoot":"","sources":["../../../src/usecase/render/ComposeEntrySeoMetaUseCase.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,GAGpB,MAAM,yCAAyC,CAAC;AAIjD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,0BAA0B;IACR;IAA7B,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAEpD,KAAK,CAAC,OAAO,CAAC,OAAmC;QAC/C,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACrE,OAAO,mBAAmB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAqD,EACrD,KAAgC,EAChC,KAAY,EACZ,IAAgB;IAEhB,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,OAAO,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,MAAmB,EACnB,OAAc,EACd,IAAgB,EAChB,KAAyB;IAEzB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7D,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;IACjD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC3B,MAAM,CAAC,UAAU,CAAC;QAChB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,IAAI;QACJ,MAAM;QACN,MAAM,EAAE,WAAW;KACpB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CACvC,CACF,CAAC;IACF,MAAM,GAAG,GAAyB,EAAE,CAAC;IACrC,KAAK,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { EntryReader } from "../../domain/port/EntryReader.js";
|
|
2
|
-
import type { ComposeLlmsTxtRequest } from "../dto/render/ComposeLlmsTxtRequest.js";
|
|
3
|
-
/**
|
|
4
|
-
* Compose a `/llms.txt` body from currently-published entries.
|
|
5
|
-
*
|
|
6
|
-
* - locale: string → entries with `data.locale === locale`
|
|
7
|
-
* - locale: null → non-localized entries only (publish-pipeline
|
|
8
|
-
* semantic; matches what HtmlPublishOrchestrator
|
|
9
|
-
* writes to the versioned root key on a non-localized
|
|
10
|
-
* publish). Consumers that want a cross-locale
|
|
11
|
-
* aggregate at the root URL should iterate
|
|
12
|
-
* site.locales themselves and concat.
|
|
13
|
-
*/
|
|
14
|
-
export declare class ComposeLlmsTxtUseCase {
|
|
15
|
-
private readonly reader;
|
|
16
|
-
constructor(reader: EntryReader);
|
|
17
|
-
execute(request: ComposeLlmsTxtRequest): Promise<string>;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=ComposeLlmsTxtUseCase.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ComposeLlmsTxtUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/render/ComposeLlmsTxtUseCase.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAEpF;;;;;;;;;;GAUG;AACH,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAE1C,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;CAS/D"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { serializeLlmsTxt } from "../../domain/service/MarkdownSerializer.js";
|
|
2
|
-
/**
|
|
3
|
-
* Compose a `/llms.txt` body from currently-published entries.
|
|
4
|
-
*
|
|
5
|
-
* - locale: string → entries with `data.locale === locale`
|
|
6
|
-
* - locale: null → non-localized entries only (publish-pipeline
|
|
7
|
-
* semantic; matches what HtmlPublishOrchestrator
|
|
8
|
-
* writes to the versioned root key on a non-localized
|
|
9
|
-
* publish). Consumers that want a cross-locale
|
|
10
|
-
* aggregate at the root URL should iterate
|
|
11
|
-
* site.locales themselves and concat.
|
|
12
|
-
*/
|
|
13
|
-
export class ComposeLlmsTxtUseCase {
|
|
14
|
-
reader;
|
|
15
|
-
constructor(reader) {
|
|
16
|
-
this.reader = reader;
|
|
17
|
-
}
|
|
18
|
-
async execute(request) {
|
|
19
|
-
const entries = await this.reader.readPublished({ locale: request.locale });
|
|
20
|
-
const grouped = groupByCollection(entries);
|
|
21
|
-
return serializeLlmsTxt({
|
|
22
|
-
site: request.site,
|
|
23
|
-
locale: request.locale ?? "",
|
|
24
|
-
entriesByCollection: grouped,
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function groupByCollection(entries) {
|
|
29
|
-
const out = new Map();
|
|
30
|
-
for (const e of entries) {
|
|
31
|
-
const arr = out.get(e.collection);
|
|
32
|
-
if (arr)
|
|
33
|
-
arr.push(e);
|
|
34
|
-
else
|
|
35
|
-
out.set(e.collection, [e]);
|
|
36
|
-
}
|
|
37
|
-
return out;
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=ComposeLlmsTxtUseCase.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ComposeLlmsTxtUseCase.js","sourceRoot":"","sources":["../../../src/usecase/render/ComposeLlmsTxtUseCase.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAG9E;;;;;;;;;;GAUG;AACH,MAAM,OAAO,qBAAqB;IACH;IAA7B,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAEpD,KAAK,CAAC,OAAO,CAAC,OAA8B;QAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3C,OAAO,gBAAgB,CAAC;YACtB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;YAC5B,mBAAmB,EAAE,OAAO;SAC7B,CAAC,CAAC;IACL,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,OAAyB;IAClD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAmB,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,GAAG;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;YAChB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { EntryReader } from "../../domain/port/EntryReader.js";
|
|
2
|
-
import type { ComposeSitemapRequest } from "../dto/render/ComposeSitemapRequest.js";
|
|
3
|
-
/**
|
|
4
|
-
* Compose `sitemap.xml` from every published entry across all
|
|
5
|
-
* collections + locales. Result is XML text; consumer routes it as
|
|
6
|
-
* `application/xml`. See ComposeSitemapRequest for the pathFor +
|
|
7
|
-
* maxUrls knobs.
|
|
8
|
-
*/
|
|
9
|
-
export declare const SITEMAP_MAX_URLS_DEFAULT = 50000;
|
|
10
|
-
export declare class ComposeSitemapUseCase {
|
|
11
|
-
private readonly reader;
|
|
12
|
-
constructor(reader: EntryReader);
|
|
13
|
-
execute(request: ComposeSitemapRequest): Promise<string>;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=ComposeSitemapUseCase.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ComposeSitemapUseCase.d.ts","sourceRoot":"","sources":["../../../src/usecase/render/ComposeSitemapUseCase.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAGpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAEpF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAE9C,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAE1C,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;CAW/D"}
|