@farming-labs/svelte 0.1.130 → 0.1.131

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/server.js +20 -3
  2. package/package.json +2 -2
package/dist/server.js CHANGED
@@ -30,7 +30,7 @@
30
30
  import fs from "node:fs";
31
31
  import path from "node:path";
32
32
  import matter from "gray-matter";
33
- import { applySidebarFolderIndexBehavior, buildDocsAskAIContext, buildDocsAgentDiscoverySpec, createDocsRobotsResponse, createDocsSitemapResponse, createDocsAgentTraceContext, createDocsAgentTraceId, emitDocsAgentTraceEvent, emitDocsAnalyticsEvent, formatDocsAskAIPackageHints, findDocsMarkdownPage, getDocsLlmsTxtMaxCharsIssue, getDocsMarkdownCanonicalLinkHeader, getDocsMarkdownVaryHeader, isDocsAgentDiscoveryRequest, isDocsAgentsRequest, isDocsSkillRequest, normalizeDocsRelated, parseDocsAgentFeedbackData, performDocsSearch, renderDocsMarkdownDocument, renderDocsMarkdownNotFound, renderDocsLlmsTxt, renderDocsAgentsDocument, renderDocsSkillDocument, readDocsSitemapManifestFromContentMap, stripGeneratedAgentProvenance, resolveDocsAgentMdxContent, resolveDocsAgentFeedbackConfig, resolveDocsAgentFeedbackRequest, resolvePageSidebarFolderIndexBehavior, resolveAskAISearchRequestConfig, resolveSearchRequestConfig, resolveDocsI18n, resolveDocsLlmsTxtRequest, resolveDocsLocale, resolveDocsMarkdownRequest, resolveDocsMetadataBaseUrl, resolveDocsPath, resolvePageReadingTime, resolveReadingTimeOptions, resolveDocsSitemapPageLastmod, resolveDocsAgentsFormat, resolveDocsSkillFormat, renderDocsPageStructuredDataJson, selectDocsLlmsTxtContent, validateDocsAgentFeedbackPayload, } from "@farming-labs/docs";
33
+ import { applySidebarFolderIndexBehavior, buildDocsAskAIContext, buildDocsAgentDiscoverySpec, createDocsRobotsResponse, createDocsSitemapResponse, createDocsAgentTraceContext, createDocsAgentTraceId, emitDocsAgentTraceEvent, emitDocsAnalyticsEvent, formatDocsAskAIPackageHints, findDocsMarkdownPage, getDocsLlmsTxtMaxCharsIssue, getDocsMarkdownCanonicalLinkHeader, getDocsMarkdownVaryHeader, isDocsAgentDiscoveryRequest, isDocsAgentsRequest, isDocsSkillRequest, normalizeDocsRelated, parseDocsAgentFeedbackData, performDocsSearch, renderDocsMarkdownDocument, renderDocsMarkdownNotFound, resolveDocsMarkdownRecovery, renderDocsLlmsTxt, renderDocsAgentsDocument, renderDocsSkillDocument, readDocsSitemapManifestFromContentMap, stripGeneratedAgentProvenance, resolveDocsAgentMdxContent, resolveDocsAgentFeedbackConfig, resolveDocsAgentFeedbackRequest, resolvePageSidebarFolderIndexBehavior, resolveAskAISearchRequestConfig, resolveSearchRequestConfig, resolveDocsI18n, resolveDocsLlmsTxtRequest, resolveDocsLocale, resolveDocsMarkdownRequest, resolveDocsMetadataBaseUrl, resolveDocsPath, resolvePageReadingTime, resolveReadingTimeOptions, resolveDocsSitemapPageLastmod, resolveDocsAgentsFormat, resolveDocsSkillFormat, renderDocsPageStructuredDataJson, selectDocsLlmsTxtContent, validateDocsAgentFeedbackPayload, } from "@farming-labs/docs";
34
34
  import { buildApiReferenceOpenApiDocumentAsync, createDocsMcpHttpHandler, readDocsSitemapManifest, resolveApiReferenceConfig, resolveDocsMcpConfig, serializeDocsIconRegistry, serializeOpenDocsProviders, } from "@farming-labs/docs/server";
35
35
  import { loadDocsNavTree, loadDocsContent, flattenNavTree } from "./content.js";
36
36
  import { renderMarkdown } from "./markdown.js";
@@ -663,7 +663,7 @@ export function createDocsServer(config = {}) {
663
663
  }
664
664
  function getMarkdownDocument(ctx, requestedPath) {
665
665
  const page = findDocsMarkdownPage(entry, getSearchIndex(ctx), requestedPath);
666
- return page ? renderDocsMarkdownDocument(page) : null;
666
+ return page ? renderDocsMarkdownDocument(page, { sitemap: config.sitemap }) : null;
667
667
  }
668
668
  // ─── GET /api/docs?query=… | ?format=llms | ?format=llms-full ──
669
669
  async function GET(event) {
@@ -831,12 +831,29 @@ export function createDocsServer(config = {}) {
831
831
  locale: ctx.locale,
832
832
  });
833
833
  if (!document) {
834
+ const recovery = resolveDocsMarkdownRecovery({
835
+ entry,
836
+ requestedPath: markdownRequest.requestedPath,
837
+ pages: getSearchIndex(ctx),
838
+ sitemap: config.sitemap,
839
+ });
840
+ if (recovery.redirect) {
841
+ return new Response(null, {
842
+ status: 307,
843
+ headers: {
844
+ Location: new URL(recovery.redirect.markdownUrl, event.url.origin).toString(),
845
+ ...(varyHeader ? { Vary: varyHeader } : {}),
846
+ "X-Robots-Tag": "noindex",
847
+ },
848
+ });
849
+ }
834
850
  return new Response(renderDocsMarkdownNotFound({
835
851
  entry,
836
852
  requestedPath: markdownRequest.requestedPath,
853
+ pages: getSearchIndex(ctx),
837
854
  sitemap: config.sitemap,
838
855
  }), {
839
- status: 404,
856
+ status: 200,
840
857
  headers: {
841
858
  "Content-Type": "text/markdown; charset=utf-8",
842
859
  ...(varyHeader ? { Vary: varyHeader } : {}),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farming-labs/svelte",
3
- "version": "0.1.130",
3
+ "version": "0.1.131",
4
4
  "description": "SvelteKit adapter for @farming-labs/docs — content loading and navigation utilities",
5
5
  "keywords": [
6
6
  "docs",
@@ -56,7 +56,7 @@
56
56
  "devDependencies": {
57
57
  "@types/node": "^22.10.0",
58
58
  "typescript": "^5.9.3",
59
- "@farming-labs/docs": "0.1.130"
59
+ "@farming-labs/docs": "0.1.131"
60
60
  },
61
61
  "peerDependencies": {
62
62
  "@farming-labs/docs": "*"