@farming-labs/docs 0.2.77 → 0.2.79

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 (36) hide show
  1. package/dist/{agent-DRKj42ht.d.mts → agent-C3Y011P9.d.mts} +282 -15
  2. package/dist/{agent-D4hNGatV.mjs → agent-DYPnd8-9.mjs} +2 -2
  3. package/dist/{agent-SRIJ-oF8.mjs → agent-DejGcJfb.mjs} +4286 -334
  4. package/dist/{agent-evals-DmFoKy_y.mjs → agent-evals-DQbsw5fY.mjs} +1 -1
  5. package/dist/{agent-export-CM-p9_YD.mjs → agent-export-DyDl_mmh.mjs} +6 -5
  6. package/dist/agent-provenance-DEyAr22i.mjs +463 -0
  7. package/dist/agent-skills-bundle.d.mts +1 -1
  8. package/dist/{agent-skills-server-CJ4D0G9P.d.mts → agent-skills-server-Daq-FOay.d.mts} +2 -2
  9. package/dist/agent-skills-vite.d.mts +3 -3
  10. package/dist/{agents-BeLDNCnE.mjs → agents-ktSbqsOA.mjs} +4 -4
  11. package/dist/cli/index.mjs +14 -14
  12. package/dist/client/react.d.mts +1 -1
  13. package/dist/{cloud-ask-ai-BCgHPxew.d.mts → cloud-ask-ai-o41WfOTk.d.mts} +1 -1
  14. package/dist/docs-cloud-server.d.mts +2 -2
  15. package/dist/{doctor-DhMVKHjp.mjs → doctor-DPj4Af0T.mjs} +9 -9
  16. package/dist/{golden-evaluations-VzE6juQl.mjs → golden-evaluations-xjthrnDO.mjs} +7 -2
  17. package/dist/index.d.mts +5 -5
  18. package/dist/index.mjs +5 -5
  19. package/dist/{mcp-CZkQJXtA.mjs → mcp-DOisfwWF.mjs} +5 -4
  20. package/dist/mcp.d.mts +19 -6
  21. package/dist/mcp.mjs +482 -40
  22. package/dist/{prompt-references-B6L3AD98.mjs → prompt-references-DbmH5FA9.mjs} +2 -2
  23. package/dist/retrieval-digest-DIbiu0TW.d.mts +190 -0
  24. package/dist/{review-nxoV8jIm.mjs → review-X1qVmw9I.mjs} +4 -4
  25. package/dist/{robots-CiQT8mX2.mjs → robots-DTo_uqa9.mjs} +2 -2
  26. package/dist/{robots-CgH6Stqn.mjs → robots-DUdUIBpi.mjs} +1 -1
  27. package/dist/{search-BTUIkhnT.mjs → search-DMOwAmxo.mjs} +4 -4
  28. package/dist/server.d.mts +7 -7
  29. package/dist/server.mjs +6 -6
  30. package/dist/{sitemap-e0_GeCWJ.mjs → sitemap-5Lajt0xS.mjs} +4 -4
  31. package/dist/{sitemap-server-DHaxyPAd.mjs → sitemap-server-p4wkFm9-.mjs} +1 -1
  32. package/dist/{standards-discovery-BbslY4id.d.mts → standards-discovery-C2cUIQzW.d.mts} +1 -1
  33. package/dist/{types-B-5Kzmkn.d.mts → types-o-ULHPK6.d.mts} +127 -4
  34. package/package.json +6 -2
  35. package/dist/retrieval-digest-rponR4jM.d.mts +0 -332
  36. package/dist/search-Da2AKaFJ.mjs +0 -3992
@@ -825,7 +825,7 @@ interface DocsAnalyticsConfig {
825
825
  }
826
826
  type DocsTelemetryFramework = "next" | "tanstack-start" | "sveltekit" | "astro" | "nuxt" | "mcp" | (string & {});
827
827
  type DocsTelemetryEventType = "project_detected" | "agent_surface_used" | "mcp_request" | "mcp_tool_used" | (string & {});
828
- type DocsTelemetryAgentSurface = "agent_spec" | "agents" | "skill" | "markdown" | "llms" | "agent_feedback_schema" | "agent_feedback_submit" | "ask_ai" | "mcp";
828
+ type DocsTelemetryAgentSurface = "agent_spec" | "agents" | "skill" | "markdown" | "llms" | "agent_feedback_schema" | "agent_feedback_submit" | "content_changes" | "ask_ai" | "mcp";
829
829
  interface DocsTelemetryConfig {
830
830
  /** Enable Farming Labs maintainer telemetry. Defaults to production-only enabled. */
831
831
  enabled?: boolean;
@@ -845,6 +845,7 @@ interface DocsTelemetryConfig {
845
845
  }
846
846
  interface DocsTelemetryFeatures {
847
847
  search: boolean;
848
+ contentChanges: boolean;
848
849
  ai: boolean;
849
850
  mcp: boolean;
850
851
  llmsTxt: boolean;
@@ -1201,6 +1202,13 @@ interface DocsMcpToolsConfig {
1201
1202
  readTask?: boolean;
1202
1203
  /** Expose a `search_docs` tool for keyword search over page content. */
1203
1204
  searchDocs?: boolean;
1205
+ /**
1206
+ * Expose a `list_search_facets` tool that returns valid framework, version,
1207
+ * package, and tag values before an agent runs a scoped search.
1208
+ */
1209
+ searchFacets?: boolean;
1210
+ /** Expose body-free document changes with polling through `list_content_changes`. */
1211
+ listContentChanges?: boolean;
1204
1212
  /** Expose a `get_navigation` tool for the docs tree. */
1205
1213
  getNavigation?: boolean;
1206
1214
  /** Expose a `get_code_examples` tool for fenced code blocks and their metadata. */
@@ -1377,6 +1385,67 @@ interface DocsRetrievalSourceProvenance {
1377
1385
  digest: string;
1378
1386
  indexGeneration: string;
1379
1387
  }
1388
+ /** One canonical document in a content-change snapshot. */
1389
+ interface DocsContentSnapshotDocument {
1390
+ /** Framework route that produced this canonical document. */
1391
+ url: string;
1392
+ canonicalUrl: string;
1393
+ /** SHA-256 of the body digest plus fetch-relevant page metadata. */
1394
+ digest: string;
1395
+ lastModified?: string;
1396
+ }
1397
+ /**
1398
+ * Serializable content inventory stored by the optional durable change-feed callbacks.
1399
+ *
1400
+ * The snapshot contains metadata only, never document bodies.
1401
+ */
1402
+ interface DocsContentSnapshot {
1403
+ format: "docs-content-snapshot.v1";
1404
+ audience: "human" | "agent";
1405
+ locale?: string;
1406
+ baseUrl?: string;
1407
+ indexGeneration: string;
1408
+ documents: DocsContentSnapshotDocument[];
1409
+ }
1410
+ /** Added or removed document metadata in a content-change response. */
1411
+ type DocsContentChangeDocument = DocsContentSnapshotDocument;
1412
+ /** Changed document metadata, including the immediately compared prior digest. */
1413
+ interface DocsContentChangedDocument extends DocsContentChangeDocument {
1414
+ previousDigest: string;
1415
+ previousLastModified?: string;
1416
+ }
1417
+ /**
1418
+ * Body-free synchronization response for documentation agents.
1419
+ *
1420
+ * `resetRequired` is explicit because a bare SHA-256 generation cannot reconstruct
1421
+ * history that was never retained by this process or a configured durable store.
1422
+ */
1423
+ interface DocsContentChangesResponse {
1424
+ format: "docs-content-changes.v1";
1425
+ audience: "human" | "agent";
1426
+ locale?: string;
1427
+ since: string | null;
1428
+ indexGeneration: string;
1429
+ mode: "snapshot" | "delta" | "reset";
1430
+ resetRequired: boolean;
1431
+ documentCount: number;
1432
+ counts: {
1433
+ added: number;
1434
+ changed: number;
1435
+ deleted: number;
1436
+ };
1437
+ added: DocsContentChangeDocument[];
1438
+ changed: DocsContentChangedDocument[];
1439
+ deleted: DocsContentChangeDocument[];
1440
+ }
1441
+ interface DocsContentChangeSnapshotContext {
1442
+ audience: "human" | "agent";
1443
+ locale?: string;
1444
+ baseUrl?: string;
1445
+ request?: Request;
1446
+ }
1447
+ type DocsContentChangeSnapshotLoader = (generation: string, context: DocsContentChangeSnapshotContext) => DocsContentSnapshot | null | undefined | Promise<DocsContentSnapshot | null | undefined>;
1448
+ type DocsContentChangeSnapshotSaver = (snapshot: DocsContentSnapshot, context: DocsContentChangeSnapshotContext) => void | Promise<void>;
1380
1449
  interface DocsSearchDocument {
1381
1450
  id: string;
1382
1451
  url: string;
@@ -1418,6 +1487,40 @@ interface DocsSearchFilters {
1418
1487
  package?: string[];
1419
1488
  tags?: string[];
1420
1489
  }
1490
+ /** One selectable search-scope value and the number of matching source pages. */
1491
+ interface DocsSearchFacetValue {
1492
+ value: string;
1493
+ count: number;
1494
+ }
1495
+ /** Cursor-aware values for one search-scope field. */
1496
+ interface DocsSearchFacet {
1497
+ /** Number of distinct values before the response limit is applied. */
1498
+ valueCount: number;
1499
+ /** Total number of distinct values. Alias of `valueCount` for pagination clients. */
1500
+ total: number;
1501
+ /** Whether another page can be requested with `nextCursor`. */
1502
+ hasMore: boolean;
1503
+ /** Opaque cursor for the next page. Omitted when this is the final page. */
1504
+ nextCursor?: string;
1505
+ /** Whether this page omits any values from the complete facet. */
1506
+ truncated: boolean;
1507
+ values: DocsSearchFacetValue[];
1508
+ }
1509
+ /**
1510
+ * Cheap, body-free discovery response for the search scopes available in an index.
1511
+ *
1512
+ * Counts for each facet apply the other selected filters but intentionally ignore
1513
+ * the selected values for that same field, so agents can discover alternatives.
1514
+ */
1515
+ interface DocsSearchFacetsResponse {
1516
+ format: "docs-search-facets.v1";
1517
+ audience: "human" | "agent";
1518
+ filters: DocsSearchFilters;
1519
+ indexGeneration: string;
1520
+ /** Number of source pages matching every selected filter. */
1521
+ matchedPageCount: number;
1522
+ facets: Record<DocsSearchFilterField, DocsSearchFacet>;
1523
+ }
1421
1524
  type DocsSearchWarningCode = "ambiguous_scope" | "unknown_filter_value" | "missing_scope_metadata" | "conflicting_scope_metadata";
1422
1525
  interface DocsSearchWarning {
1423
1526
  code: DocsSearchWarningCode;
@@ -1468,9 +1571,13 @@ interface DocsPaginatedSearchResponse extends DocsSearchResponse {
1468
1571
  interface DocsSearchRequest {
1469
1572
  filters: DocsSearchFilters;
1470
1573
  structured: boolean;
1471
- /** Opaque cursor supplied by a previous structured response. */
1574
+ /** Whether the caller requested the body-free search facet response. */
1575
+ facets?: boolean;
1576
+ /** Facet field selected for cursor continuation. */
1577
+ facet?: DocsSearchFilterField;
1578
+ /** Opaque cursor supplied by a previous structured or facet response. */
1472
1579
  cursor?: string;
1473
- /** Structured response page size. */
1580
+ /** Structured result or facet value page size. */
1474
1581
  limit?: number;
1475
1582
  }
1476
1583
  interface DocsSearchQuery {
@@ -2954,9 +3061,25 @@ interface DocsAgentConfig {
2954
3061
  evaluations?: boolean | DocsAgentEvaluationsConfig;
2955
3062
  /** Publish reusable Agent Skills through standards discovery, static exports, and MCP. */
2956
3063
  skills?: DocsAgentSkillsInput;
3064
+ /**
3065
+ * Body-free document synchronization feed. Enabled for runtime adapters by default.
3066
+ *
3067
+ * Configure snapshot callbacks when exact deltas must survive server restarts or deployments.
3068
+ */
3069
+ contentChanges?: boolean | DocsAgentContentChangesConfig;
2957
3070
  /** Opt in to an A2A Agent Card for a separately implemented A2A service. */
2958
3071
  a2a?: DocsAgentA2AConfig;
2959
3072
  }
3073
+ interface DocsAgentContentChangesConfig {
3074
+ /** Disable the runtime content-change endpoint. @default true */
3075
+ enabled?: boolean;
3076
+ /** Number of metadata-only snapshots retained in this server process. @default 8 */
3077
+ maxSnapshots?: number;
3078
+ /** Load an older snapshot from a durable store for exact cross-deployment deltas. */
3079
+ loadSnapshot?: DocsContentChangeSnapshotLoader;
3080
+ /** Persist the current snapshot to a durable store. */
3081
+ saveSnapshot?: DocsContentChangeSnapshotSaver;
3082
+ }
2960
3083
  type DocsReviewSeverity = "off" | "suggestion" | "warn" | "error";
2961
3084
  type DocsReviewCiMode = "off" | "warn" | "block";
2962
3085
  interface DocsReviewRulesConfig {
@@ -3685,4 +3808,4 @@ interface DocsConfig {
3685
3808
  og?: OGConfig;
3686
3809
  }
3687
3810
  //#endregion
3688
- export { DocsAgentSkillsInput as $, PageAgentAppliesTo as $n, DocsReviewCiConfig as $t, DocsAgentA2ASecurityScheme as A, DocsTelemetryEventInput as An, DocsFeedbackData as At, DocsAgentEvaluationSourceReference as B, LlmsTxtMaxCharsConfig as Bn, DocsMcpOriginContext as Bt, DocsAgentA2AOAuthDeviceCodeFlow as C, DocsSearchSourcePage as Cn, DocsCodeBlocksPlannerProvider as Ct, DocsAgentA2AOpenIdConnectSecurityScheme as D, DocsTelemetryAgentSurface as Dn, DocsCodeBlocksValidationMode as Dt, DocsAgentA2AOAuthPasswordFlow as E, DocsSitemapConfig as En, DocsCodeBlocksValidateConfig as Et, DocsAgentEvaluationAnswerInput as F, FeedbackConfig as Fn, DocsMcpAuthenticate as Ft, DocsAgentFeedbackData as G, OpenDocsConfig as Gn, DocsNav as Gt, DocsAgentEvaluationTaskInput as H, LlmsTxtSectionConfig as Hn, DocsMcpSecurityConfig as Ht, DocsAgentEvaluationAnswerProvider as I, FontStyle as In, DocsMcpAuthenticateContext as It, DocsAgentGoldenExpectedExample as J, OpenDocsProviderId as Jn, DocsObservabilityEventInput as Jt, DocsAgentGoldenAnswerExpectation as K, OpenDocsProvider as Kn, DocsObservabilityConfig as Kt, DocsAgentEvaluationAnswerRequest as L, GithubConfig as Ln, DocsMcpAuthenticateResult as Lt, DocsAgentA2ASkill as M, DocsTelemetryFeatures as Mn, DocsI18nConfig as Mt, DocsAgentCompactConfig as N, DocsTelemetryFramework as Nn, DocsMcpAllowedOrigins as Nt, DocsAgentA2AProtocolBinding as O, DocsTelemetryConfig as On, DocsCodeBlocksValidationPolicy as Ot, DocsAgentConfig as P, DocsTheme as Pn, DocsMcpAuthPrincipal as Pt, DocsAgentSkillsConfig as Q, PageActionsConfig as Qn, DocsRetrievalSourceScope as Qt, DocsAgentEvaluationAnswerResult as R, LastUpdatedConfig as Rn, DocsMcpConfig as Rt, DocsAgentA2AOAuthClientCredentialsFlow as S, DocsSearchResultType as Sn, UIConfig as Sr, DocsCodeBlocksPlannerConfig as St, DocsAgentA2AOAuthImplicitFlow as T, DocsSearchWarningCode as Tn, DocsCodeBlocksRunnerProvider as Tt, DocsAgentEvaluationsConfig as U, McpDocsSearchConfig as Un, DocsMcpToolsConfig as Ut, DocsAgentEvaluationSurface as V, LlmsTxtMaxCharsMode as Vn, DocsMcpProtectedResourceConfig as Vt, DocsAgentFeedbackContext as W, OGConfig as Wn, DocsMetadata as Wt, DocsAgentGoldenTaskExpectation as X, OpenGraphImage as Xn, DocsRelatedItem as Xt, DocsAgentGoldenTask as Y, OpenDocsTarget as Yn, DocsPaginatedSearchResponse as Yt, DocsAgentGoldenTaskFilters as Z, OrderingItem as Zn, DocsRetrievalSourceProvenance as Zt, DocsAgentA2AHttpAuthSecurityScheme as _, DocsSearchFilters as _n, SidebarTree as _r, DocsCloudConfig as _t, ApiReferenceRenderer as a, DocsRobotsConfig as an, PageOpenGraph as ar, DocsAnalyticsEventInput as at, DocsAgentA2AOAuth2SecurityScheme as b, DocsSearchResponse as bn, TypesenseDocsSearchConfig as br, DocsCloudPublishConfig as bt, ChangelogFrontmatter as c, DocsSearchAdapterContext as cn, ReadingTimeConfig as cr, DocsAnalyticsSource as ct, CopyMarkdownFormat as d, DocsSearchChunkingConfig as dn, SidebarComponentProps as dr, DocsAskAIFeedbackConfig as dt, DocsReviewCiMode as en, PageAgentCommand as er, DocsAgentTraceEventInput as et, CustomDocsSearchConfig as f, DocsSearchConfig as fn, SidebarConfig as fr, DocsAskAIFeedbackData as ft, DocsAgentA2AExtension as g, DocsSearchFilterInput as gn, SidebarPageNode as gr, DocsCloudApiKeyConfig as gt, DocsAgentA2AConfig as h, DocsSearchFilterField as hn, SidebarNode as hr, DocsAskAIMcpConfig as ht, ApiReferenceConfig as i, DocsReviewSeverity as in, PageFrontmatter as ir, DocsAnalyticsEvent as it, DocsAgentA2ASecurityScopeList as j, DocsTelemetryEventType as jn, DocsFeedbackValue as jt, DocsAgentA2ASecurityRequirement as k, DocsTelemetryEvent as kn, DocsConfig as kt, CodeBlockCopyData as l, DocsSearchAdapterFactory as ln, ReadingTimeFormat as lr, DocsAskAIActionData as lt, DocsAgentA2ACapabilities as m, DocsSearchEmbeddingsConfig as mn, SidebarFolderNode as mr, DocsAskAIFeedbackValue as mt, AgentFeedbackConfig as n, DocsReviewRulesConfig as nn, PageAgentFrontmatter as nr, DocsAgentTraceStatus as nt, BreadcrumbConfig as o, DocsRobotsRule as on, PageSidebarFrontmatter as or, DocsAnalyticsEventType as ot, DocsAgentA2AApiKeySecurityScheme as p, DocsSearchDocument as pn, SidebarFolderIndexBehavior as pr, DocsAskAIFeedbackMessage as pt, DocsAgentGoldenExampleVerification as q, OpenDocsProviderConfig as qn, DocsObservabilityEvent as qt, AlgoliaDocsSearchConfig as r, DocsReviewScoreConfig as rn, PageAgentVerification as rr, DocsAnalyticsConfig as rt, ChangelogConfig as s, DocsSearchAdapter as sn, PageTwitter as sr, DocsAnalyticsInput as st, AIConfig as t, DocsReviewConfig as tn, PageAgentFailureMode as tr, DocsAgentTraceEventType as tt, CopyMarkdownConfig as u, DocsSearchAdapterPage as un, ResolvedDocsRelatedLink as ur, DocsAskAIActionType as ut, DocsAgentA2AInterfaceConfig as v, DocsSearchQuery as vn, SimpleDocsSearchConfig as vr, DocsCloudFeatureConfig as vt, DocsAgentA2AOAuthFlows as w, DocsSearchWarning as wn, DocsCodeBlocksRunnerConfig as wt, DocsAgentA2AOAuthAuthorizationCodeFlow as x, DocsSearchResult as xn, TypographyConfig as xr, DocsCodeBlocksConfig as xt, DocsAgentA2AMutualTlsSecurityScheme as y, DocsSearchRequest as yn, ThemeToggleConfig as yr, DocsCloudPreviewConfig as yt, DocsAgentEvaluationAnswerRunner as z, LlmsTxtConfig as zn, DocsMcpCorsConfig as zt };
3811
+ export { DocsAgentSkillsConfig as $, LlmsTxtMaxCharsMode as $n, DocsMetadata as $t, DocsAgentA2ASecurityScheme as A, DocsSearchQuery as An, SimpleDocsSearchConfig as Ar, DocsConfig as At, DocsAgentEvaluationAnswerRunner as B, DocsTelemetryConfig as Bn, DocsFeedbackValue as Bt, DocsAgentA2AOAuthDeviceCodeFlow as C, DocsSearchEmbeddingsConfig as Cn, SidebarComponentProps as Cr, DocsCodeBlocksPlannerConfig as Ct, DocsAgentA2AOpenIdConnectSecurityScheme as D, DocsSearchFilterField as Dn, SidebarNode as Dr, DocsCodeBlocksValidateConfig as Dt, DocsAgentA2AOAuthPasswordFlow as E, DocsSearchFacetsResponse as En, SidebarFolderNode as Er, DocsCodeBlocksRunnerProvider as Et, DocsAgentContentChangesConfig as F, DocsSearchSourcePage as Fn, DocsContentChangedDocument as Ft, DocsAgentFeedbackContext as G, DocsTelemetryFramework as Gn, DocsMcpAuthenticateContext as Gt, DocsAgentEvaluationSurface as H, DocsTelemetryEventInput as Hn, DocsMcpAllowedOrigins as Ht, DocsAgentEvaluationAnswerInput as I, DocsSearchWarning as In, DocsContentChangesResponse as It, DocsAgentGoldenExampleVerification as J, FontStyle as Jn, DocsMcpCorsConfig as Jt, DocsAgentFeedbackData as K, DocsTheme as Kn, DocsMcpAuthenticateResult as Kt, DocsAgentEvaluationAnswerProvider as L, DocsSearchWarningCode as Ln, DocsContentSnapshot as Lt, DocsAgentA2ASkill as M, DocsSearchResponse as Mn, TypesenseDocsSearchConfig as Mr, DocsContentChangeSnapshotContext as Mt, DocsAgentCompactConfig as N, DocsSearchResult as Nn, TypographyConfig as Nr, DocsContentChangeSnapshotLoader as Nt, DocsAgentA2AProtocolBinding as O, DocsSearchFilterInput as On, SidebarPageNode as Or, DocsCodeBlocksValidationMode as Ot, DocsAgentConfig as P, DocsSearchResultType as Pn, UIConfig as Pr, DocsContentChangeSnapshotSaver as Pt, DocsAgentGoldenTaskFilters as Q, LlmsTxtMaxCharsConfig as Qn, DocsMcpToolsConfig as Qt, DocsAgentEvaluationAnswerRequest as R, DocsSitemapConfig as Rn, DocsContentSnapshotDocument as Rt, DocsAgentA2AOAuthClientCredentialsFlow as S, DocsSearchDocument as Sn, ResolvedDocsRelatedLink as Sr, DocsCodeBlocksConfig as St, DocsAgentA2AOAuthImplicitFlow as T, DocsSearchFacetValue as Tn, SidebarFolderIndexBehavior as Tr, DocsCodeBlocksRunnerConfig as Tt, DocsAgentEvaluationTaskInput as U, DocsTelemetryEventType as Un, DocsMcpAuthPrincipal as Ut, DocsAgentEvaluationSourceReference as V, DocsTelemetryEvent as Vn, DocsI18nConfig as Vt, DocsAgentEvaluationsConfig as W, DocsTelemetryFeatures as Wn, DocsMcpAuthenticate as Wt, DocsAgentGoldenTask as X, LastUpdatedConfig as Xn, DocsMcpProtectedResourceConfig as Xt, DocsAgentGoldenExpectedExample as Y, GithubConfig as Yn, DocsMcpOriginContext as Yt, DocsAgentGoldenTaskExpectation as Z, LlmsTxtConfig as Zn, DocsMcpSecurityConfig as Zt, DocsAgentA2AHttpAuthSecurityScheme as _, DocsSearchAdapterContext as _n, PageOpenGraph as _r, DocsCloudApiKeyConfig as _t, ApiReferenceRenderer as a, DocsRelatedItem as an, OpenDocsProviderConfig as ar, DocsAnalyticsEvent as at, DocsAgentA2AOAuth2SecurityScheme as b, DocsSearchChunkingConfig as bn, ReadingTimeConfig as br, DocsCloudPreviewConfig as bt, ChangelogFrontmatter as c, DocsReviewCiConfig as cn, OpenGraphImage as cr, DocsAnalyticsInput as ct, CopyMarkdownFormat as d, DocsReviewRulesConfig as dn, PageAgentAppliesTo as dr, DocsAskAIActionType as dt, DocsNav as en, LlmsTxtSectionConfig as er, DocsAgentSkillsInput as et, CustomDocsSearchConfig as f, DocsReviewScoreConfig as fn, PageAgentCommand as fr, DocsAskAIFeedbackConfig as ft, DocsAgentA2AExtension as g, DocsSearchAdapter as gn, PageFrontmatter as gr, DocsAskAIMcpConfig as gt, DocsAgentA2AConfig as h, DocsRobotsRule as hn, PageAgentVerification as hr, DocsAskAIFeedbackValue as ht, ApiReferenceConfig as i, DocsPaginatedSearchResponse as in, OpenDocsProvider as ir, DocsAnalyticsConfig as it, DocsAgentA2ASecurityScopeList as j, DocsSearchRequest as jn, ThemeToggleConfig as jr, DocsContentChangeDocument as jt, DocsAgentA2ASecurityRequirement as k, DocsSearchFilters as kn, SidebarTree as kr, DocsCodeBlocksValidationPolicy as kt, CodeBlockCopyData as l, DocsReviewCiMode as ln, OrderingItem as lr, DocsAnalyticsSource as lt, DocsAgentA2ACapabilities as m, DocsRobotsConfig as mn, PageAgentFrontmatter as mr, DocsAskAIFeedbackMessage as mt, AgentFeedbackConfig as n, DocsObservabilityEvent as nn, OGConfig as nr, DocsAgentTraceEventType as nt, BreadcrumbConfig as o, DocsRetrievalSourceProvenance as on, OpenDocsProviderId as or, DocsAnalyticsEventInput as ot, DocsAgentA2AApiKeySecurityScheme as p, DocsReviewSeverity as pn, PageAgentFailureMode as pr, DocsAskAIFeedbackData as pt, DocsAgentGoldenAnswerExpectation as q, FeedbackConfig as qn, DocsMcpConfig as qt, AlgoliaDocsSearchConfig as r, DocsObservabilityEventInput as rn, OpenDocsConfig as rr, DocsAgentTraceStatus as rt, ChangelogConfig as s, DocsRetrievalSourceScope as sn, OpenDocsTarget as sr, DocsAnalyticsEventType as st, AIConfig as t, DocsObservabilityConfig as tn, McpDocsSearchConfig as tr, DocsAgentTraceEventInput as tt, CopyMarkdownConfig as u, DocsReviewConfig as un, PageActionsConfig as ur, DocsAskAIActionData as ut, DocsAgentA2AInterfaceConfig as v, DocsSearchAdapterFactory as vn, PageSidebarFrontmatter as vr, DocsCloudConfig as vt, DocsAgentA2AOAuthFlows as w, DocsSearchFacet as wn, SidebarConfig as wr, DocsCodeBlocksPlannerProvider as wt, DocsAgentA2AOAuthAuthorizationCodeFlow as x, DocsSearchConfig as xn, ReadingTimeFormat as xr, DocsCloudPublishConfig as xt, DocsAgentA2AMutualTlsSecurityScheme as y, DocsSearchAdapterPage as yn, PageTwitter as yr, DocsCloudFeatureConfig as yt, DocsAgentEvaluationAnswerResult as z, DocsTelemetryAgentSurface as zn, DocsFeedbackData as zt };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farming-labs/docs",
3
- "version": "0.2.77",
3
+ "version": "0.2.79",
4
4
  "description": "Modern, flexible MDX-based docs framework — core types, config, and CLI",
5
5
  "keywords": [
6
6
  "docs",
@@ -9,6 +9,9 @@
9
9
  ],
10
10
  "license": "MIT",
11
11
  "author": "Farming Labs",
12
+ "engines": {
13
+ "node": ">=20"
14
+ },
12
15
  "bin": {
13
16
  "docs": "./dist/cli/index.mjs"
14
17
  },
@@ -69,7 +72,7 @@
69
72
  "dependencies": {
70
73
  "@clack/prompts": "^0.9.1",
71
74
  "@mdx-js/mdx": "^3.1.1",
72
- "@modelcontextprotocol/sdk": "1.29.0",
75
+ "@modelcontextprotocol/server": "2.0.0",
73
76
  "@scalar/core": "^0.4.3",
74
77
  "@vercel/sandbox": "^2.0.0",
75
78
  "github-slugger": "^2.0.0",
@@ -90,6 +93,7 @@
90
93
  }
91
94
  },
92
95
  "devDependencies": {
96
+ "@modelcontextprotocol/client": "2.0.0",
93
97
  "@types/node": "^22.10.0",
94
98
  "@types/react": "^19.2.2",
95
99
  "ajv": "^8.18.0",
@@ -1,332 +0,0 @@
1
- import { Cn as DocsSearchSourcePage, En as DocsSitemapConfig, Jt as DocsObservabilityEventInput, Kn as OpenDocsProvider, Kt as DocsObservabilityConfig, Un as McpDocsSearchConfig, Yn as OpenDocsTarget, Yt as DocsPaginatedSearchResponse, _n as DocsSearchFilters, at as DocsAnalyticsEventInput, br as TypesenseDocsSearchConfig, dn as DocsSearchChunkingConfig, et as DocsAgentTraceEventInput, f as CustomDocsSearchConfig, fn as DocsSearchConfig, gn as DocsSearchFilterInput, ht as DocsAskAIMcpConfig, it as DocsAnalyticsEvent, ln as DocsSearchAdapterFactory, pn as DocsSearchDocument, qt as DocsObservabilityEvent, r as AlgoliaDocsSearchConfig, rt as DocsAnalyticsConfig, sn as DocsSearchAdapter, ur as ResolvedDocsRelatedLink, xn as DocsSearchResult, yn as DocsSearchRequest } from "./types-B-5Kzmkn.mjs";
2
- import { R as DocsDiscoveryApiRouteOptions } from "./standards-discovery-BbslY4id.mjs";
3
- import { pn as DocsContentAudience } from "./agent-DRKj42ht.mjs";
4
-
5
- //#region src/analytics.d.ts
6
- declare const DOCS_AGENT_TRACE_EVENT_TYPES: readonly ["run.start", "run.end", "run.error", "user.input", "prompt.build", "retrieval.query", "retrieval.result", "retrieval.error", "model.call", "model.response", "model.stream", "model.error", "tool.call", "tool.result", "tool.error", "retry", "timeout", "error", "agent.final"];
7
- interface DocsAgentTraceContext {
8
- traceId: string;
9
- name: string;
10
- startedAt: string;
11
- startedMs: number;
12
- }
13
- interface ResolvedDocsAnalyticsConfig {
14
- enabled: boolean;
15
- console: false | "log" | "info" | "debug";
16
- includeInputs: boolean;
17
- onEvent?: (event: DocsAnalyticsEvent) => void | Promise<void>;
18
- }
19
- interface ResolvedDocsObservabilityConfig {
20
- enabled: boolean;
21
- console: false | "log" | "info" | "debug";
22
- includeInputs: boolean;
23
- onEvent?: (event: DocsObservabilityEvent) => void | Promise<void>;
24
- }
25
- declare function createDocsAgentTraceId(prefix?: string): string;
26
- declare function createDocsAgentTraceContext(name?: string): DocsAgentTraceContext;
27
- declare function getDocsRequestAnalyticsProperties(request: Request): Record<string, unknown>;
28
- declare function resolveDocsAnalyticsConfig(analytics?: boolean | DocsAnalyticsConfig): ResolvedDocsAnalyticsConfig;
29
- declare function resolveDocsObservabilityConfig(observability?: boolean | DocsObservabilityConfig): ResolvedDocsObservabilityConfig;
30
- declare function emitDocsAnalyticsEvent(analytics: boolean | DocsAnalyticsConfig | undefined, event: DocsAnalyticsEventInput): Promise<void>;
31
- declare function emitDocsObservabilityEvent(observability: boolean | DocsObservabilityConfig | undefined, event: DocsObservabilityEventInput): Promise<void>;
32
- declare function emitDocsAgentTraceEvent(observability: boolean | DocsObservabilityConfig | undefined, event: DocsAgentTraceEventInput): Promise<void>;
33
- //#endregion
34
- //#region src/prompt-utils.d.ts
35
- type PromptAction = "copy" | "open";
36
- interface SerializedOpenDocsProvider {
37
- name: string;
38
- iconHtml?: string;
39
- urlTemplate: string;
40
- promptUrlTemplate?: string;
41
- target?: OpenDocsTarget;
42
- prompt?: string;
43
- }
44
- interface PromptProviderChoice {
45
- name: string;
46
- iconHtml?: string;
47
- urlTemplate: string;
48
- }
49
- type PromptProviderInput = Pick<SerializedOpenDocsProvider, "name" | "iconHtml"> & Partial<Pick<SerializedOpenDocsProvider, "promptUrlTemplate" | "urlTemplate">>;
50
- interface SerializeOpenDocsProviderOptions {
51
- target?: OpenDocsTarget;
52
- prompt?: string;
53
- }
54
- declare const DEFAULT_PROMPT_PROVIDER_TEMPLATES: Record<string, string>;
55
- declare const DEFAULT_OPEN_DOCS_TARGET: OpenDocsTarget;
56
- declare const DEFAULT_OPEN_DOCS_PROMPT = "Read this documentation: {url}";
57
- declare const DEFAULT_OPEN_DOCS_PROVIDER_IDS: readonly ["chatgpt", "claude"];
58
- declare function normalizePromptProviderName(name: string): string;
59
- declare function serializeDocsIcon(icon: unknown): string | undefined;
60
- declare function serializeDocsIconRegistry(icons?: Record<string, unknown>): Record<string, string> | undefined;
61
- declare function serializeOpenDocsProviders(providers?: OpenDocsProvider[], options?: SerializeOpenDocsProviderOptions): SerializedOpenDocsProvider[] | undefined;
62
- declare function serializeOpenDocsProvider(provider: OpenDocsProvider, options?: SerializeOpenDocsProviderOptions): SerializedOpenDocsProvider | undefined;
63
- declare function parsePromptStringArray(value: unknown): string[] | undefined;
64
- declare function resolvePromptProviderChoices(availableProviders?: PromptProviderInput[], preferredNames?: string[]): PromptProviderChoice[];
65
- declare function sanitizePromptText(text: string): string;
66
- //#endregion
67
- //#region src/sitemap.d.ts
68
- declare const DEFAULT_SITEMAP_XML_ROUTE = "/sitemap.xml";
69
- declare const DEFAULT_SITEMAP_MD_ROUTE = "/sitemap.md";
70
- declare const DEFAULT_SITEMAP_MD_DOCS_ROUTE = "/docs/sitemap.md";
71
- declare const DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE = "/.well-known/sitemap.md";
72
- declare const DEFAULT_SITEMAP_MANIFEST_PATH = ".farming-labs/sitemap-manifest.json";
73
- type DocsSitemapFormat = "xml" | "markdown";
74
- interface DocsSitemapPageInput {
75
- slug?: string;
76
- url: string;
77
- /** Override the public Markdown representation URL when it differs from `${url}.md`. */
78
- markdownUrl?: string;
79
- title: string;
80
- description?: string;
81
- related?: ResolvedDocsRelatedLink[];
82
- sourcePath?: string;
83
- lastmod?: string;
84
- lastModified?: string;
85
- }
86
- interface DocsSitemapManifestPage {
87
- url: string;
88
- absoluteUrl?: string;
89
- markdownUrl: string;
90
- title: string;
91
- description?: string;
92
- sourcePath?: string;
93
- lastmod?: string;
94
- lastmodSource?: "git" | "filesystem" | "frontmatter" | "manifest" | "unknown";
95
- related?: string[];
96
- }
97
- interface DocsSitemapManifest {
98
- version: 1;
99
- generatedAt: string;
100
- baseUrl?: string;
101
- entry: string;
102
- siteTitle?: string;
103
- pages: DocsSitemapManifestPage[];
104
- }
105
- interface DocsSitemapResolvedConfig {
106
- enabled: boolean;
107
- routePrefix: string;
108
- baseUrl?: string;
109
- manifestPath: string;
110
- xml: {
111
- enabled: boolean;
112
- includeLastmod: boolean;
113
- route: string;
114
- };
115
- markdown: {
116
- enabled: boolean;
117
- includeDescriptions: boolean;
118
- includeLastmod: boolean;
119
- linkTarget: "html" | "markdown" | "both";
120
- route: string;
121
- docsRoute?: string;
122
- wellKnownRoute: string;
123
- };
124
- }
125
- interface CreateDocsSitemapResponseOptions extends DocsDiscoveryApiRouteOptions {
126
- request: Request;
127
- sitemap?: boolean | DocsSitemapConfig;
128
- entry?: string;
129
- siteTitle?: string;
130
- baseUrl?: string;
131
- pages: DocsSitemapPageInput[];
132
- manifest?: DocsSitemapManifest | null;
133
- }
134
- declare function resolveDocsSitemapConfig(sitemap?: boolean | DocsSitemapConfig, defaults?: {
135
- baseUrl?: string;
136
- }): DocsSitemapResolvedConfig;
137
- declare function resolveDocsSitemapRequest(url: URL, sitemap?: boolean | DocsSitemapConfig, options?: DocsDiscoveryApiRouteOptions): DocsSitemapFormat | null;
138
- declare function toDocsSitemapMarkdownUrl(url: string): string;
139
- declare function buildDocsSitemapManifest(options: {
140
- pages: DocsSitemapPageInput[];
141
- entry?: string;
142
- siteTitle?: string;
143
- baseUrl?: string;
144
- generatedAt?: string;
145
- resolveLastmod?: (page: DocsSitemapPageInput) => {
146
- lastmod?: string;
147
- lastmodSource?: DocsSitemapManifestPage["lastmodSource"];
148
- } | undefined;
149
- }): DocsSitemapManifest;
150
- declare function renderDocsSitemapXml(manifest: DocsSitemapManifest, options?: {
151
- baseUrl?: string;
152
- includeLastmod?: boolean;
153
- }): string;
154
- declare function renderDocsSitemapMarkdown(manifest: DocsSitemapManifest, options?: {
155
- baseUrl?: string;
156
- includeDescriptions?: boolean;
157
- includeLastmod?: boolean;
158
- linkTarget?: "html" | "markdown" | "both";
159
- }): string;
160
- declare function readDocsSitemapManifestFromContentMap(contentMap?: Record<string, string> | null): DocsSitemapManifest | null;
161
- declare function resolveDocsSitemapPageLastmod(manifest: DocsSitemapManifest | null | undefined, url: string): string | undefined;
162
- declare function createDocsSitemapResponse({
163
- request,
164
- apiRoute,
165
- sitemap,
166
- entry,
167
- siteTitle,
168
- baseUrl,
169
- pages,
170
- manifest
171
- }: CreateDocsSitemapResponseOptions): Response | null;
172
- //#endregion
173
- //#region src/search.d.ts
174
- interface DocsAskAIContextResult extends DocsSearchResult {
175
- title: string;
176
- contextContent: string;
177
- }
178
- interface DocsAskAIContext {
179
- context: string;
180
- /** Structured production context blocks; avoids reparsing markdown horizontal rules. */
181
- blocks: Array<{
182
- text: string;
183
- result: DocsAskAIContextResult;
184
- }>;
185
- results: DocsAskAIContextResult[];
186
- searchResults: DocsSearchResult[];
187
- packageHints: DocsAskAIPackageHints;
188
- }
189
- interface DocsAskAIPackageHints {
190
- packages: string[];
191
- imports: string[];
192
- installCommands: string[];
193
- }
194
- /** Normalize scalar or array-valued scope filters for programmatic, HTTP, and MCP callers. */
195
- declare function normalizeDocsSearchFilters(input?: DocsSearchFilterInput | DocsSearchFilters): DocsSearchFilters;
196
- /** Parse the public search scope parameters from a URL query string. */
197
- declare function resolveDocsSearchFilters(searchParams: URLSearchParams): DocsSearchFilters;
198
- declare class DocsSearchRequestError extends Error {
199
- readonly code = "invalid_search_request";
200
- constructor(message: string);
201
- }
202
- declare function resolveDocsSearchError(error: unknown): {
203
- code: "invalid_cursor" | "invalid_search_request";
204
- message: string;
205
- } | undefined;
206
- /** Resolve search filters and the backwards-compatible structured response opt-in. */
207
- declare function resolveDocsSearchRequest(searchParams: URLSearchParams): DocsSearchRequest;
208
- declare function inferDocsAskAIPackageHints(content: string): DocsAskAIPackageHints;
209
- declare function formatDocsAskAIPackageHints(hints: DocsAskAIPackageHints, packageName?: string): string | undefined;
210
- /**
211
- * Build the exact normalized-input projection represented by a retrieval source digest.
212
- * This is public so consumers can independently reproduce `source.digest`.
213
- */
214
- declare function buildDocsRetrievalDigestProjection(page: DocsSearchSourcePage, audience?: DocsContentAudience): string;
215
- declare function resolveDocsRetrievalLastModified(page: DocsSearchSourcePage, audience: DocsContentAudience): string | undefined;
216
- interface EnrichDocsSearchDocumentsWithProvenanceOptions {
217
- documents: readonly DocsSearchDocument[];
218
- pages: readonly DocsSearchSourcePage[];
219
- audience?: DocsContentAudience;
220
- chunking?: DocsSearchChunkingConfig;
221
- locale?: string;
222
- baseUrl?: string;
223
- indexGeneration?: string;
224
- }
225
- /**
226
- * Attach the same canonical provenance used by built-in search providers.
227
- * Custom adapters can call this before persisting their own hosted records.
228
- */
229
- declare function enrichDocsSearchDocumentsWithProvenance(options: EnrichDocsSearchDocumentsWithProvenanceOptions): Promise<DocsSearchDocument[]>;
230
- declare function buildDocsSearchDocuments(pages: DocsSearchSourcePage[], chunking?: DocsSearchChunkingConfig, audience?: DocsContentAudience): DocsSearchDocument[];
231
- declare function createSimpleSearchAdapter(): DocsSearchAdapter;
232
- declare function createTypesenseSearchAdapter(config: TypesenseDocsSearchConfig): DocsSearchAdapter;
233
- declare function resolveSearchRequestConfig(search: boolean | DocsSearchConfig | undefined, requestUrl?: string): boolean | DocsSearchConfig | undefined;
234
- /**
235
- * Resolve the public search audience without allowing malformed values to opt into agent content.
236
- * Human search remains the default for omitted, legacy, and unknown query values.
237
- */
238
- declare function resolveDocsSearchAudience(value: string | null | undefined): DocsContentAudience;
239
- declare function resolveAskAISearchRequestConfig(options: {
240
- search: boolean | DocsSearchConfig | undefined;
241
- useMcp?: boolean | DocsAskAIMcpConfig;
242
- mcpEndpoint?: string;
243
- mcpEnabled?: boolean;
244
- mcpSearchEnabled?: boolean;
245
- requestUrl?: string;
246
- }): boolean | DocsSearchConfig | undefined;
247
- declare function createMcpSearchAdapter(config: McpDocsSearchConfig): DocsSearchAdapter;
248
- declare function createAlgoliaSearchAdapter(config: AlgoliaDocsSearchConfig): DocsSearchAdapter;
249
- interface PerformDocsSearchOptions {
250
- pages: DocsSearchSourcePage[];
251
- /** @internal Complete corpus used for generation when `pages` is pre-scoped by a caller. */
252
- generationPages?: DocsSearchSourcePage[];
253
- /** @internal Precomputed complete-corpus generation for structured callers. */
254
- indexGeneration?: string;
255
- query: string;
256
- search?: boolean | DocsSearchConfig;
257
- /** Selects which audience projection is searchable. Public site search defaults to human. */
258
- audience?: DocsContentAudience;
259
- locale?: string;
260
- pathname?: string;
261
- siteTitle?: string;
262
- /** Canonical docs URL used to distinguish same-site absolute hits from foreign MCP results. */
263
- baseUrl?: string;
264
- /**
265
- * Canonical origin safe to persist in a hosted index. Pass `null` when `baseUrl`
266
- * came from the current request rather than trusted configuration.
267
- * @internal
268
- */
269
- syncBaseUrl?: string | null;
270
- limit?: number;
271
- /** Opaque continuation cursor used by structured search responses. */
272
- cursor?: string;
273
- /** Optional framework, version, package, and tag constraints. */
274
- filters?: DocsSearchFilterInput;
275
- /**
276
- * Controls provider failures. Runtime search keeps the resilient `fallback` default;
277
- * diagnostics can request `throw` so a broken configured provider cannot be scored as
278
- * successful simple search.
279
- */
280
- failureMode?: "fallback" | "throw";
281
- /**
282
- * Whether non-simple provider hits are supplemented with exact/local simple results.
283
- * Runtime search defaults to true; provider diagnostics can disable supplementation.
284
- */
285
- supplementExternalResults?: boolean;
286
- /** Keep absolute provider origins distinct when no canonical docs origin is available. */
287
- strictExternalOrigins?: boolean;
288
- /** Optional cancellation signal forwarded to adapters and their managed requests. */
289
- signal?: AbortSignal;
290
- }
291
- declare function performDocsSearch(options: PerformDocsSearchOptions): Promise<DocsSearchResult[]>;
292
- declare function performDocsSearchWithMetadata(options: PerformDocsSearchOptions): Promise<DocsPaginatedSearchResponse>;
293
- declare function buildDocsAskAIContext(options: {
294
- pages: DocsSearchSourcePage[];
295
- query: string;
296
- search?: boolean | DocsSearchConfig;
297
- locale?: string;
298
- pathname?: string;
299
- siteTitle?: string;
300
- baseUrl?: string; /** See `performDocsSearch.syncBaseUrl`. */
301
- syncBaseUrl?: string | null;
302
- limit?: number;
303
- filters?: DocsSearchFilterInput;
304
- maxContextChars?: number;
305
- maxResultChars?: number; /** See `performDocsSearch.failureMode`. Defaults to resilient runtime fallback. */
306
- searchFailureMode?: "fallback" | "throw"; /** See `performDocsSearch.strictExternalOrigins`. */
307
- strictExternalOrigins?: boolean; /** Optional cancellation signal forwarded to the configured search provider. */
308
- signal?: AbortSignal;
309
- }): Promise<DocsAskAIContext>;
310
- declare function createCustomSearchAdapter(adapter: DocsSearchAdapter | DocsSearchAdapterFactory, options?: {
311
- paginationRevision?: string;
312
- }): CustomDocsSearchConfig;
313
- //#endregion
314
- //#region src/pagination.d.ts
315
- declare class DocsPaginationCursorError extends Error {
316
- readonly code = "invalid_cursor";
317
- constructor();
318
- }
319
- //#endregion
320
- //#region src/retrieval-digest.d.ts
321
- /** Validate the bounded HTTP(S) URL or root-relative URI reference used by provenance. */
322
- declare function isDocsRetrievalCanonicalUrl(value: string): boolean;
323
- /**
324
- * Hash a retrieval source projection with portable SHA-256.
325
- *
326
- * The projection is normalized by removing one leading BOM, converting CRLF/CR
327
- * line endings to LF, and trimming trailing whitespace. The helper is exported so
328
- * agents can independently verify provenance in Node, edge, and browser runtimes.
329
- */
330
- declare function digestDocsRetrievalContent(value: string): `sha256:${string}`;
331
- //#endregion
332
- export { SerializeOpenDocsProviderOptions as $, DEFAULT_SITEMAP_MD_ROUTE as A, readDocsSitemapManifestFromContentMap as B, resolveDocsSearchAudience as C, resolveSearchRequestConfig as D, resolveDocsSearchRequest as E, DocsSitemapManifestPage as F, resolveDocsSitemapRequest as G, renderDocsSitemapXml as H, DocsSitemapPageInput as I, DEFAULT_OPEN_DOCS_PROVIDER_IDS as J, toDocsSitemapMarkdownUrl as K, DocsSitemapResolvedConfig as L, DEFAULT_SITEMAP_XML_ROUTE as M, DocsSitemapFormat as N, DEFAULT_SITEMAP_MANIFEST_PATH as O, DocsSitemapManifest as P, PromptProviderChoice as Q, buildDocsSitemapManifest as R, resolveDocsRetrievalLastModified as S, resolveDocsSearchFilters as T, resolveDocsSitemapConfig as U, renderDocsSitemapMarkdown as V, resolveDocsSitemapPageLastmod as W, DEFAULT_PROMPT_PROVIDER_TEMPLATES as X, DEFAULT_OPEN_DOCS_TARGET as Y, PromptAction as Z, inferDocsAskAIPackageHints as _, emitDocsObservabilityEvent as _t, EnrichDocsSearchDocumentsWithProvenanceOptions as a, serializeDocsIcon as at, performDocsSearchWithMetadata as b, resolveDocsObservabilityConfig as bt, buildDocsRetrievalDigestProjection as c, serializeOpenDocsProviders as ct, createCustomSearchAdapter as d, ResolvedDocsAnalyticsConfig as dt, SerializedOpenDocsProvider as et, createMcpSearchAdapter as f, ResolvedDocsObservabilityConfig as ft, formatDocsAskAIPackageHints as g, emitDocsAnalyticsEvent as gt, enrichDocsSearchDocumentsWithProvenance as h, emitDocsAgentTraceEvent as ht, DocsSearchRequestError as i, sanitizePromptText as it, DEFAULT_SITEMAP_MD_WELL_KNOWN_ROUTE as j, DEFAULT_SITEMAP_MD_DOCS_ROUTE as k, buildDocsSearchDocuments as l, DOCS_AGENT_TRACE_EVENT_TYPES as lt, createTypesenseSearchAdapter as m, createDocsAgentTraceId as mt, isDocsRetrievalCanonicalUrl as n, parsePromptStringArray as nt, PerformDocsSearchOptions as o, serializeDocsIconRegistry as ot, createSimpleSearchAdapter as p, createDocsAgentTraceContext as pt, DEFAULT_OPEN_DOCS_PROMPT as q, DocsPaginationCursorError as r, resolvePromptProviderChoices as rt, buildDocsAskAIContext as s, serializeOpenDocsProvider as st, digestDocsRetrievalContent as t, normalizePromptProviderName as tt, createAlgoliaSearchAdapter as u, DocsAgentTraceContext as ut, normalizeDocsSearchFilters as v, getDocsRequestAnalyticsProperties as vt, resolveDocsSearchError as w, resolveAskAISearchRequestConfig as x, performDocsSearch as y, resolveDocsAnalyticsConfig as yt, createDocsSitemapResponse as z };