@farming-labs/docs 0.2.75 → 0.2.78

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 (39) hide show
  1. package/dist/{agent-BHqaZx-X.mjs → agent-Ba94vwM2.mjs} +4308 -340
  2. package/dist/{agent-cAPjC2jb.d.mts → agent-CHgWJcK_.d.mts} +60 -2
  3. package/dist/{agent-DxTa3PLB.mjs → agent-CM-hzhfh.mjs} +2 -2
  4. package/dist/{agent-evals-21LZ_uEl.mjs → agent-evals-C8dkgJMN.mjs} +1 -1
  5. package/dist/{agent-export-3VheegEK.mjs → agent-export-DdF-IVfg.mjs} +8 -7
  6. package/dist/agent-provenance-D8UBpnMc.mjs +463 -0
  7. package/dist/agent-skills-bundle.d.mts +1 -1
  8. package/dist/{agent-skills-server-noFn1l_p.mjs → agent-skills-server-B2EXn2QD.mjs} +1 -1
  9. package/dist/{agent-skills-server-Cix64aGB.d.mts → agent-skills-server-zvs0Yknt.d.mts} +2 -2
  10. package/dist/agent-skills-vite.d.mts +3 -3
  11. package/dist/agent-skills-vite.mjs +2 -2
  12. package/dist/{agents-ByTdP0Hl.mjs → agents-v0Em2KZo.mjs} +7 -16
  13. package/dist/cli/index.mjs +15 -15
  14. package/dist/client/react.d.mts +1 -1
  15. package/dist/{cloud-ask-ai-Bt0rzFbe.d.mts → cloud-ask-ai-BwsdF7AQ.d.mts} +1 -1
  16. package/dist/{dev-Cc1cFFj-.mjs → dev-kjaxOOla.mjs} +8 -2
  17. package/dist/docs-cloud-server.d.mts +2 -2
  18. package/dist/{doctor-C34VVF85.mjs → doctor-BbrN0rdC.mjs} +56 -24
  19. package/dist/{golden-evaluations-D_oDJwGv.mjs → golden-evaluations-Bk9t-HNq.mjs} +12 -3
  20. package/dist/index.d.mts +5 -5
  21. package/dist/index.mjs +6 -6
  22. package/dist/{mcp-Bnqfu8P5.mjs → mcp-DT-WNsA-.mjs} +6 -6
  23. package/dist/mcp.d.mts +28 -6
  24. package/dist/mcp.mjs +557 -62
  25. package/dist/{prompt-references-CfyYOa_W.mjs → prompt-references-CoDorsvS.mjs} +3 -3
  26. package/dist/{retrieval-digest-CFOcSKTo.d.mts → retrieval-digest-CO3wqeMk.d.mts} +105 -6
  27. package/dist/{review-Dw6oCQX3.mjs → review-DrCaaT7G.mjs} +5 -5
  28. package/dist/{robots-DaYBoy_A.mjs → robots-C_v2HK43.mjs} +2 -2
  29. package/dist/{robots-KWLujSLI.mjs → robots-izJbM9cv.mjs} +3 -3
  30. package/dist/{search-DBdmbUkc.mjs → search-YiZMZDfb.mjs} +6 -6
  31. package/dist/server.d.mts +9 -7
  32. package/dist/server.mjs +7 -7
  33. package/dist/{sitemap-CrzG5Wpf.mjs → sitemap-NO8UMO6Y.mjs} +6 -6
  34. package/dist/{sitemap-server-B9LZQ1FE.mjs → sitemap-server-Dgxs9V6S.mjs} +12 -3
  35. package/dist/{standards-discovery-BwL5ffGx.mjs → standards-discovery-BKlEnK_H.mjs} +32 -4
  36. package/dist/{standards-discovery-DBI1PD7m.d.mts → standards-discovery-BWyNgZSs.d.mts} +34 -7
  37. package/dist/{types-BDRwrExu.d.mts → types-CpLnwHak.d.mts} +190 -2
  38. package/package.json +1 -1
  39. package/dist/search-BmC8wVr0.mjs +0 -3490
@@ -1,4 +1,4 @@
1
- import { A as DocsAgentA2ASecurityScheme, M as DocsAgentA2ASkill, O as DocsAgentA2AProtocolBinding, h as DocsAgentA2AConfig, k as DocsAgentA2ASecurityRequirement, m as DocsAgentA2ACapabilities } from "./types-BDRwrExu.mjs";
1
+ import { A as DocsAgentA2ASecurityScheme, M as DocsAgentA2ASkill, O as DocsAgentA2AProtocolBinding, h as DocsAgentA2AConfig, k as DocsAgentA2ASecurityRequirement, m as DocsAgentA2ACapabilities } from "./types-CpLnwHak.mjs";
2
2
 
3
3
  //#region src/standards-discovery.d.ts
4
4
  declare const DEFAULT_API_CATALOG_ROUTE = "/.well-known/api-catalog";
@@ -97,6 +97,19 @@ interface DocsApiCatalogLinkTarget {
97
97
  type?: string;
98
98
  title?: string;
99
99
  }
100
+ interface DocsApiCatalogApiTarget {
101
+ route: string;
102
+ type?: string;
103
+ title?: string;
104
+ }
105
+ interface DocsApiCatalogOpenApiDefinition {
106
+ /** OpenAPI document URL, relative to the docs origin or absolute. */
107
+ route: string;
108
+ /** Product API targets described by this OpenAPI document. */
109
+ targets: readonly DocsApiCatalogApiTarget[];
110
+ type?: string;
111
+ title?: string;
112
+ }
100
113
  interface DocsApiCatalogLinkContext {
101
114
  anchor: string;
102
115
  item?: DocsApiCatalogLinkTarget[];
@@ -113,11 +126,7 @@ interface DocsApiCatalogOptions {
113
126
  docsRoute?: string;
114
127
  apiRoute?: string | null;
115
128
  /** Additional HTTP API endpoints to list as RFC 9727 `item` links. */
116
- apiRoutes?: readonly {
117
- route: string;
118
- type?: string;
119
- title?: string;
120
- }[];
129
+ apiRoutes?: readonly DocsApiCatalogApiTarget[];
121
130
  configRoute?: string | null;
122
131
  diagnosticsRoute?: string | null;
123
132
  agentManifestRoute?: string | null;
@@ -133,7 +142,25 @@ interface DocsApiCatalogOptions {
133
142
  mcpRoute?: string | null;
134
143
  protectedResourceMetadataRoutes?: readonly string[];
135
144
  feedbackRoutes?: readonly string[];
145
+ /** OpenAPI documents paired with the product API targets they describe. */
146
+ openapiDefinitions?: readonly DocsApiCatalogOpenApiDefinition[];
147
+ /**
148
+ * Legacy single OpenAPI document URL.
149
+ *
150
+ * By default this describes `apiRoute`, preserving the previous single-schema
151
+ * behavior without attaching it to the catalog itself. Set
152
+ * `openapiTargetRoutes` to associate product APIs or to `[]` to disable the
153
+ * association. Prefer `openapiDefinitions` for new integrations.
154
+ *
155
+ * @deprecated Use `openapiDefinitions`.
156
+ */
136
157
  openapiRoute?: string | null;
158
+ /**
159
+ * Product targets described by the legacy `openapiRoute`.
160
+ *
161
+ * @deprecated Use `openapiDefinitions`.
162
+ */
163
+ openapiTargetRoutes?: readonly string[];
137
164
  apiReferenceRoute?: string | null;
138
165
  }
139
166
  type DocsStandardsDiscoveryRequest = {
@@ -218,4 +245,4 @@ declare function createDocsStandardsResponse({
218
245
  agentCard
219
246
  }: CreateDocsStandardsResponseOptions): Promise<Response | null>;
220
247
  //#endregion
221
- export { resolveDocsStandardsDiscoveryRequest as $, DocsAgentSkillIndexEntry as A, DocsStandardsDiscoveryRequest as B, DOCS_AGENT_MANIFEST_FORMAT as C, DocsA2AAgentCard as D, DOCS_AGENT_MANIFEST_VERSION as E, DocsApiCatalogOptions as F, buildDocsApiCatalog as G, appendDocsDiscoveryLinkHeader as H, DocsDiscoveryApiRouteOptions as I, getDocsAgentManifestLinkHeader as J, buildDocsLegacySkillsIndex as K, DocsPublishedAgentSkill as L, DocsApiCatalog as M, DocsApiCatalogLinkContext as N, DocsA2AAgentCardOptions as O, DocsApiCatalogLinkTarget as P, resolveDocsPublishedAgentSkill as Q, DocsPublishedAgentSkillFile as R, DEFAULT_LEGACY_SKILLS_ROUTE_PREFIX as S, DOCS_AGENT_MANIFEST_SCHEMA_URI as T, buildDocsA2AAgentCard as U, DocsStandardsDiscoveryRouteOptions as V, buildDocsAgentSkillsIndex as W, isDocsStandardsDiscoveryRequest as X, getDocsDiscoveryLinkHeader as Y, resolveDocsDiscoveryApiRoute as Z, DEFAULT_AGENT_SKILL_RESOURCE_FORMAT as _, DEFAULT_A2A_AGENT_CARD_FORMAT as a, DEFAULT_LEGACY_SKILLS_INDEX_FORMAT as b, DEFAULT_A2A_PROTOCOL_VERSION as c, DEFAULT_AGENT_SKILLS_INDEX_ROUTE as d, sha256DocsDiscoveryContent as et, DEFAULT_AGENT_SKILLS_ROUTE_PATTERN as f, DEFAULT_AGENT_SKILL_FORMAT as g, DEFAULT_AGENT_SKILL_FILE_FORMAT as h, CreateDocsStandardsResponseOptions as i, DocsAgentSkillsIndex as j, DocsA2AAgentInterface as k, DEFAULT_AGENT_SKILLS_ARCHIVE_ROUTE_PATTERN as l, DEFAULT_AGENT_SKILL_ARCHIVE_FORMAT as m, API_CATALOG_MEDIA_TYPE as n, DEFAULT_A2A_AGENT_CARD_ROUTE as o, DEFAULT_AGENT_SKILLS_ROUTE_PREFIX as p, createDocsStandardsResponse as q, API_CATALOG_PROFILE_URI as r, DEFAULT_A2A_PROTOCOL_BINDING as s, AGENT_SKILLS_DISCOVERY_SCHEMA_URI as t, DEFAULT_AGENT_SKILLS_INDEX_FORMAT as u, DEFAULT_API_CATALOG_FORMAT as v, DOCS_AGENT_MANIFEST_SCHEMA_MEDIA_TYPE as w, DEFAULT_LEGACY_SKILLS_INDEX_ROUTE as x, DEFAULT_API_CATALOG_ROUTE as y, DocsPublishedAgentSkillOptions as z };
248
+ export { resolveDocsDiscoveryApiRoute as $, DocsAgentSkillIndexEntry as A, DocsPublishedAgentSkillFile as B, DOCS_AGENT_MANIFEST_FORMAT as C, DocsA2AAgentCard as D, DOCS_AGENT_MANIFEST_VERSION as E, DocsApiCatalogLinkTarget as F, buildDocsA2AAgentCard as G, DocsStandardsDiscoveryRequest as H, DocsApiCatalogOpenApiDefinition as I, buildDocsLegacySkillsIndex as J, buildDocsAgentSkillsIndex as K, DocsApiCatalogOptions as L, DocsApiCatalog as M, DocsApiCatalogApiTarget as N, DocsA2AAgentCardOptions as O, DocsApiCatalogLinkContext as P, isDocsStandardsDiscoveryRequest as Q, DocsDiscoveryApiRouteOptions as R, DEFAULT_LEGACY_SKILLS_ROUTE_PREFIX as S, DOCS_AGENT_MANIFEST_SCHEMA_URI as T, DocsStandardsDiscoveryRouteOptions as U, DocsPublishedAgentSkillOptions as V, appendDocsDiscoveryLinkHeader as W, getDocsAgentManifestLinkHeader as X, createDocsStandardsResponse as Y, getDocsDiscoveryLinkHeader as Z, DEFAULT_AGENT_SKILL_RESOURCE_FORMAT as _, DEFAULT_A2A_AGENT_CARD_FORMAT as a, DEFAULT_LEGACY_SKILLS_INDEX_FORMAT as b, DEFAULT_A2A_PROTOCOL_VERSION as c, DEFAULT_AGENT_SKILLS_INDEX_ROUTE as d, resolveDocsPublishedAgentSkill as et, DEFAULT_AGENT_SKILLS_ROUTE_PATTERN as f, DEFAULT_AGENT_SKILL_FORMAT as g, DEFAULT_AGENT_SKILL_FILE_FORMAT as h, CreateDocsStandardsResponseOptions as i, DocsAgentSkillsIndex as j, DocsA2AAgentInterface as k, DEFAULT_AGENT_SKILLS_ARCHIVE_ROUTE_PATTERN as l, DEFAULT_AGENT_SKILL_ARCHIVE_FORMAT as m, API_CATALOG_MEDIA_TYPE as n, sha256DocsDiscoveryContent as nt, DEFAULT_A2A_AGENT_CARD_ROUTE as o, DEFAULT_AGENT_SKILLS_ROUTE_PREFIX as p, buildDocsApiCatalog as q, API_CATALOG_PROFILE_URI as r, DEFAULT_A2A_PROTOCOL_BINDING as s, AGENT_SKILLS_DISCOVERY_SCHEMA_URI as t, resolveDocsStandardsDiscoveryRequest as tt, DEFAULT_AGENT_SKILLS_INDEX_FORMAT as u, DEFAULT_API_CATALOG_FORMAT as v, DOCS_AGENT_MANIFEST_SCHEMA_MEDIA_TYPE as w, DEFAULT_LEGACY_SKILLS_INDEX_ROUTE as x, DEFAULT_API_CATALOG_ROUTE as y, DocsPublishedAgentSkill as z };
@@ -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,11 @@ 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;
1204
1210
  /** Expose a `get_navigation` tool for the docs tree. */
1205
1211
  getNavigation?: boolean;
1206
1212
  /** Expose a `get_code_examples` tool for fenced code blocks and their metadata. */
@@ -1377,6 +1383,67 @@ interface DocsRetrievalSourceProvenance {
1377
1383
  digest: string;
1378
1384
  indexGeneration: string;
1379
1385
  }
1386
+ /** One canonical document in a content-change snapshot. */
1387
+ interface DocsContentSnapshotDocument {
1388
+ /** Framework route that produced this canonical document. */
1389
+ url: string;
1390
+ canonicalUrl: string;
1391
+ /** SHA-256 of the body digest plus fetch-relevant page metadata. */
1392
+ digest: string;
1393
+ lastModified?: string;
1394
+ }
1395
+ /**
1396
+ * Serializable content inventory stored by the optional durable change-feed callbacks.
1397
+ *
1398
+ * The snapshot contains metadata only, never document bodies.
1399
+ */
1400
+ interface DocsContentSnapshot {
1401
+ format: "docs-content-snapshot.v1";
1402
+ audience: "human" | "agent";
1403
+ locale?: string;
1404
+ baseUrl?: string;
1405
+ indexGeneration: string;
1406
+ documents: DocsContentSnapshotDocument[];
1407
+ }
1408
+ /** Added or removed document metadata in a content-change response. */
1409
+ type DocsContentChangeDocument = DocsContentSnapshotDocument;
1410
+ /** Changed document metadata, including the immediately compared prior digest. */
1411
+ interface DocsContentChangedDocument extends DocsContentChangeDocument {
1412
+ previousDigest: string;
1413
+ previousLastModified?: string;
1414
+ }
1415
+ /**
1416
+ * Body-free synchronization response for documentation agents.
1417
+ *
1418
+ * `resetRequired` is explicit because a bare SHA-256 generation cannot reconstruct
1419
+ * history that was never retained by this process or a configured durable store.
1420
+ */
1421
+ interface DocsContentChangesResponse {
1422
+ format: "docs-content-changes.v1";
1423
+ audience: "human" | "agent";
1424
+ locale?: string;
1425
+ since: string | null;
1426
+ indexGeneration: string;
1427
+ mode: "snapshot" | "delta" | "reset";
1428
+ resetRequired: boolean;
1429
+ documentCount: number;
1430
+ counts: {
1431
+ added: number;
1432
+ changed: number;
1433
+ deleted: number;
1434
+ };
1435
+ added: DocsContentChangeDocument[];
1436
+ changed: DocsContentChangedDocument[];
1437
+ deleted: DocsContentChangeDocument[];
1438
+ }
1439
+ interface DocsContentChangeSnapshotContext {
1440
+ audience: "human" | "agent";
1441
+ locale?: string;
1442
+ baseUrl?: string;
1443
+ request?: Request;
1444
+ }
1445
+ type DocsContentChangeSnapshotLoader = (generation: string, context: DocsContentChangeSnapshotContext) => DocsContentSnapshot | null | undefined | Promise<DocsContentSnapshot | null | undefined>;
1446
+ type DocsContentChangeSnapshotSaver = (snapshot: DocsContentSnapshot, context: DocsContentChangeSnapshotContext) => void | Promise<void>;
1380
1447
  interface DocsSearchDocument {
1381
1448
  id: string;
1382
1449
  url: string;
@@ -1418,6 +1485,40 @@ interface DocsSearchFilters {
1418
1485
  package?: string[];
1419
1486
  tags?: string[];
1420
1487
  }
1488
+ /** One selectable search-scope value and the number of matching source pages. */
1489
+ interface DocsSearchFacetValue {
1490
+ value: string;
1491
+ count: number;
1492
+ }
1493
+ /** Cursor-aware values for one search-scope field. */
1494
+ interface DocsSearchFacet {
1495
+ /** Number of distinct values before the response limit is applied. */
1496
+ valueCount: number;
1497
+ /** Total number of distinct values. Alias of `valueCount` for pagination clients. */
1498
+ total: number;
1499
+ /** Whether another page can be requested with `nextCursor`. */
1500
+ hasMore: boolean;
1501
+ /** Opaque cursor for the next page. Omitted when this is the final page. */
1502
+ nextCursor?: string;
1503
+ /** Whether this page omits any values from the complete facet. */
1504
+ truncated: boolean;
1505
+ values: DocsSearchFacetValue[];
1506
+ }
1507
+ /**
1508
+ * Cheap, body-free discovery response for the search scopes available in an index.
1509
+ *
1510
+ * Counts for each facet apply the other selected filters but intentionally ignore
1511
+ * the selected values for that same field, so agents can discover alternatives.
1512
+ */
1513
+ interface DocsSearchFacetsResponse {
1514
+ format: "docs-search-facets.v1";
1515
+ audience: "human" | "agent";
1516
+ filters: DocsSearchFilters;
1517
+ indexGeneration: string;
1518
+ /** Number of source pages matching every selected filter. */
1519
+ matchedPageCount: number;
1520
+ facets: Record<DocsSearchFilterField, DocsSearchFacet>;
1521
+ }
1421
1522
  type DocsSearchWarningCode = "ambiguous_scope" | "unknown_filter_value" | "missing_scope_metadata" | "conflicting_scope_metadata";
1422
1523
  interface DocsSearchWarning {
1423
1524
  code: DocsSearchWarningCode;
@@ -1441,17 +1542,49 @@ interface DocsSearchResponse {
1441
1542
  * for callers that construct the versioned response object themselves.
1442
1543
  */
1443
1544
  indexGeneration?: string;
1545
+ /** Number of results in this response page. */
1444
1546
  resultCount: number;
1547
+ /**
1548
+ * Exact number of results available for the cursor-bound query.
1549
+ * Built-in structured endpoints always emit this; optionality preserves the v1
1550
+ * producer contract for existing integrations.
1551
+ */
1552
+ total?: number;
1553
+ /**
1554
+ * Whether another page can be requested with `nextCursor`.
1555
+ * Built-in structured endpoints always emit this; optionality preserves the v1
1556
+ * producer contract for existing integrations.
1557
+ */
1558
+ hasMore?: boolean;
1559
+ /** Opaque cursor for the next page. Omitted when this is the final page. */
1560
+ nextCursor?: string;
1445
1561
  results: DocsSearchResult[];
1446
1562
  warnings: DocsSearchWarning[];
1447
1563
  }
1564
+ /** Structured search response emitted by built-in cursor-aware endpoints. */
1565
+ interface DocsPaginatedSearchResponse extends DocsSearchResponse {
1566
+ total: number;
1567
+ hasMore: boolean;
1568
+ }
1448
1569
  interface DocsSearchRequest {
1449
1570
  filters: DocsSearchFilters;
1450
1571
  structured: boolean;
1572
+ /** Whether the caller requested the body-free search facet response. */
1573
+ facets?: boolean;
1574
+ /** Facet field selected for cursor continuation. */
1575
+ facet?: DocsSearchFilterField;
1576
+ /** Opaque cursor supplied by a previous structured or facet response. */
1577
+ cursor?: string;
1578
+ /** Structured result or facet value page size. */
1579
+ limit?: number;
1451
1580
  }
1452
1581
  interface DocsSearchQuery {
1453
1582
  query: string;
1454
1583
  limit?: number;
1584
+ /** Zero-based provider offset used by the shared structured-search pipeline. */
1585
+ offset?: number;
1586
+ /** Provider cursor used by cursor-native remote adapters. */
1587
+ cursor?: string;
1455
1588
  locale?: string;
1456
1589
  pathname?: string;
1457
1590
  /** Requested content projection. Omitted callers retain the human-search default. */
@@ -1484,6 +1617,24 @@ interface DocsSearchAdapter {
1484
1617
  name: string;
1485
1618
  index?(context: DocsSearchAdapterContext): Promise<void>;
1486
1619
  search(query: DocsSearchQuery, context: DocsSearchAdapterContext): Promise<DocsSearchResult[]>;
1620
+ /**
1621
+ * Optional exact pagination contract. Built-in adapters implement this while legacy custom
1622
+ * adapters can continue exposing only `search`.
1623
+ */
1624
+ searchPage?(query: DocsSearchQuery, context: DocsSearchAdapterContext): Promise<DocsSearchAdapterPage>;
1625
+ }
1626
+ /**
1627
+ * Exact page metadata returned by pagination-aware search adapters.
1628
+ *
1629
+ * Legacy custom adapters may continue implementing only `search` for unpaginated callers.
1630
+ * Cursor-aware structured search uses the exact local fallback unless the custom adapter
1631
+ * also implements `searchPage` and declares a stable `paginationRevision`.
1632
+ */
1633
+ interface DocsSearchAdapterPage {
1634
+ results: DocsSearchResult[];
1635
+ total: number;
1636
+ /** Cursor-native providers can supply their own continuation token. */
1637
+ nextCursor?: string;
1487
1638
  }
1488
1639
  type DocsSearchAdapterFactory = (context: DocsSearchAdapterContext) => DocsSearchAdapter | Promise<DocsSearchAdapter>;
1489
1640
  interface DocsSearchChunkingConfig {
@@ -1579,6 +1730,13 @@ interface CustomDocsSearchConfig {
1579
1730
  provider: "custom";
1580
1731
  enabled?: boolean;
1581
1732
  adapter: DocsSearchAdapter | DocsSearchAdapterFactory;
1733
+ /**
1734
+ * Stable revision for the adapter's result ordering.
1735
+ *
1736
+ * Custom adapters must set this and implement `searchPage` to participate in cursor
1737
+ * pagination. Change it whenever ranking behavior changes so old cursors fail closed.
1738
+ */
1739
+ paginationRevision?: string;
1582
1740
  maxResults?: number;
1583
1741
  chunking?: DocsSearchChunkingConfig;
1584
1742
  }
@@ -2428,6 +2586,20 @@ interface ApiReferenceConfig {
2428
2586
  * ```
2429
2587
  */
2430
2588
  specUrl?: string;
2589
+ /**
2590
+ * Product API base URLs described by the OpenAPI document.
2591
+ *
2592
+ * These URLs become RFC 9727 API catalog targets, and the OpenAPI document is
2593
+ * associated with each target through `service-desc`. Relative URLs resolve
2594
+ * against the docs origin.
2595
+ *
2596
+ * Same-origin generated schemas default to the request origin. Set this for
2597
+ * remotely hosted schemas because the schema URL is not necessarily the API
2598
+ * URL. An explicit empty array disables the catalog association.
2599
+ *
2600
+ * @example ["https://api.example.com/v1"]
2601
+ */
2602
+ catalogTargets?: string[];
2431
2603
  /**
2432
2604
  * Which renderer to use for the API reference UI.
2433
2605
  *
@@ -2887,9 +3059,25 @@ interface DocsAgentConfig {
2887
3059
  evaluations?: boolean | DocsAgentEvaluationsConfig;
2888
3060
  /** Publish reusable Agent Skills through standards discovery, static exports, and MCP. */
2889
3061
  skills?: DocsAgentSkillsInput;
3062
+ /**
3063
+ * Body-free document synchronization feed. Enabled for runtime adapters by default.
3064
+ *
3065
+ * Configure snapshot callbacks when exact deltas must survive server restarts or deployments.
3066
+ */
3067
+ contentChanges?: boolean | DocsAgentContentChangesConfig;
2890
3068
  /** Opt in to an A2A Agent Card for a separately implemented A2A service. */
2891
3069
  a2a?: DocsAgentA2AConfig;
2892
3070
  }
3071
+ interface DocsAgentContentChangesConfig {
3072
+ /** Disable the runtime content-change endpoint. @default true */
3073
+ enabled?: boolean;
3074
+ /** Number of metadata-only snapshots retained in this server process. @default 8 */
3075
+ maxSnapshots?: number;
3076
+ /** Load an older snapshot from a durable store for exact cross-deployment deltas. */
3077
+ loadSnapshot?: DocsContentChangeSnapshotLoader;
3078
+ /** Persist the current snapshot to a durable store. */
3079
+ saveSnapshot?: DocsContentChangeSnapshotSaver;
3080
+ }
2893
3081
  type DocsReviewSeverity = "off" | "suggestion" | "warn" | "error";
2894
3082
  type DocsReviewCiMode = "off" | "warn" | "block";
2895
3083
  interface DocsReviewRulesConfig {
@@ -3618,4 +3806,4 @@ interface DocsConfig {
3618
3806
  og?: OGConfig;
3619
3807
  }
3620
3808
  //#endregion
3621
- export { DocsAgentSkillsInput as $, PageAgentFailureMode as $n, DocsReviewCiMode as $t, DocsAgentA2ASecurityScheme as A, DocsTelemetryFeatures as An, DocsFeedbackData as At, DocsAgentEvaluationSourceReference as B, LlmsTxtSectionConfig as Bn, DocsMcpOriginContext as Bt, DocsAgentA2AOAuthDeviceCodeFlow as C, DocsSearchWarningCode as Cn, DocsCodeBlocksPlannerProvider as Ct, DocsAgentA2AOpenIdConnectSecurityScheme as D, DocsTelemetryEvent as Dn, DocsCodeBlocksValidationMode as Dt, DocsAgentA2AOAuthPasswordFlow as E, DocsTelemetryConfig as En, DocsCodeBlocksValidateConfig as Et, DocsAgentEvaluationAnswerInput as F, GithubConfig as Fn, DocsMcpAuthenticate as Ft, DocsAgentFeedbackData as G, OpenDocsProviderConfig as Gn, DocsNav as Gt, DocsAgentEvaluationTaskInput as H, OGConfig as Hn, DocsMcpSecurityConfig as Ht, DocsAgentEvaluationAnswerProvider as I, LastUpdatedConfig as In, DocsMcpAuthenticateContext as It, DocsAgentGoldenExpectedExample as J, OpenGraphImage as Jn, DocsObservabilityEventInput as Jt, DocsAgentGoldenAnswerExpectation as K, OpenDocsProviderId as Kn, DocsObservabilityConfig as Kt, DocsAgentEvaluationAnswerRequest as L, LlmsTxtConfig as Ln, DocsMcpAuthenticateResult as Lt, DocsAgentA2ASkill as M, DocsTheme as Mn, DocsI18nConfig as Mt, DocsAgentCompactConfig as N, FeedbackConfig as Nn, DocsMcpAllowedOrigins as Nt, DocsAgentA2AProtocolBinding as O, DocsTelemetryEventInput as On, DocsCodeBlocksValidationPolicy as Ot, DocsAgentConfig as P, FontStyle as Pn, DocsMcpAuthPrincipal as Pt, DocsAgentSkillsConfig as Q, PageAgentCommand as Qn, DocsReviewCiConfig as Qt, DocsAgentEvaluationAnswerResult as R, LlmsTxtMaxCharsConfig as Rn, DocsMcpConfig as Rt, DocsAgentA2AOAuthClientCredentialsFlow as S, DocsSearchWarning as Sn, DocsCodeBlocksPlannerConfig as St, DocsAgentA2AOAuthImplicitFlow as T, DocsTelemetryAgentSurface as Tn, DocsCodeBlocksRunnerProvider as Tt, DocsAgentEvaluationsConfig as U, OpenDocsConfig as Un, DocsMcpToolsConfig as Ut, DocsAgentEvaluationSurface as V, McpDocsSearchConfig as Vn, DocsMcpProtectedResourceConfig as Vt, DocsAgentFeedbackContext as W, OpenDocsProvider as Wn, DocsMetadata as Wt, DocsAgentGoldenTaskExpectation as X, PageActionsConfig as Xn, DocsRetrievalSourceProvenance as Xt, DocsAgentGoldenTask as Y, OrderingItem as Yn, DocsRelatedItem as Yt, DocsAgentGoldenTaskFilters as Z, PageAgentAppliesTo as Zn, DocsRetrievalSourceScope as Zt, DocsAgentA2AHttpAuthSecurityScheme as _, DocsSearchRequest as _n, ThemeToggleConfig as _r, DocsCloudConfig as _t, ApiReferenceRenderer as a, DocsRobotsRule as an, PageTwitter as ar, DocsAnalyticsEventInput as at, DocsAgentA2AOAuth2SecurityScheme as b, DocsSearchResultType as bn, UIConfig as br, DocsCloudPublishConfig as bt, ChangelogFrontmatter as c, DocsSearchAdapterFactory as cn, ResolvedDocsRelatedLink as cr, DocsAnalyticsSource as ct, CopyMarkdownFormat as d, DocsSearchDocument as dn, SidebarFolderIndexBehavior as dr, DocsAskAIFeedbackConfig as dt, DocsReviewConfig as en, PageAgentFrontmatter as er, DocsAgentTraceEventInput as et, CustomDocsSearchConfig as f, DocsSearchEmbeddingsConfig as fn, SidebarFolderNode as fr, DocsAskAIFeedbackData as ft, DocsAgentA2AExtension as g, DocsSearchQuery as gn, SimpleDocsSearchConfig as gr, DocsCloudApiKeyConfig as gt, DocsAgentA2AConfig as h, DocsSearchFilters as hn, SidebarTree as hr, DocsAskAIMcpConfig as ht, ApiReferenceConfig as i, DocsRobotsConfig as in, PageSidebarFrontmatter as ir, DocsAnalyticsEvent as it, DocsAgentA2ASecurityScopeList as j, DocsTelemetryFramework as jn, DocsFeedbackValue as jt, DocsAgentA2ASecurityRequirement as k, DocsTelemetryEventType as kn, DocsConfig as kt, CodeBlockCopyData as l, DocsSearchChunkingConfig as ln, SidebarComponentProps as lr, DocsAskAIActionData as lt, DocsAgentA2ACapabilities as m, DocsSearchFilterInput as mn, SidebarPageNode as mr, DocsAskAIFeedbackValue as mt, AgentFeedbackConfig as n, DocsReviewScoreConfig as nn, PageFrontmatter as nr, DocsAgentTraceStatus as nt, BreadcrumbConfig as o, DocsSearchAdapter as on, ReadingTimeConfig as or, DocsAnalyticsEventType as ot, DocsAgentA2AApiKeySecurityScheme as p, DocsSearchFilterField as pn, SidebarNode as pr, DocsAskAIFeedbackMessage as pt, DocsAgentGoldenExampleVerification as q, OpenDocsTarget as qn, DocsObservabilityEvent as qt, AlgoliaDocsSearchConfig as r, DocsReviewSeverity as rn, PageOpenGraph as rr, DocsAnalyticsConfig as rt, ChangelogConfig as s, DocsSearchAdapterContext as sn, ReadingTimeFormat as sr, DocsAnalyticsInput as st, AIConfig as t, DocsReviewRulesConfig as tn, PageAgentVerification as tr, DocsAgentTraceEventType as tt, CopyMarkdownConfig as u, DocsSearchConfig as un, SidebarConfig as ur, DocsAskAIActionType as ut, DocsAgentA2AInterfaceConfig as v, DocsSearchResponse as vn, TypesenseDocsSearchConfig as vr, DocsCloudFeatureConfig as vt, DocsAgentA2AOAuthFlows as w, DocsSitemapConfig as wn, DocsCodeBlocksRunnerConfig as wt, DocsAgentA2AOAuthAuthorizationCodeFlow as x, DocsSearchSourcePage as xn, DocsCodeBlocksConfig as xt, DocsAgentA2AMutualTlsSecurityScheme as y, DocsSearchResult as yn, TypographyConfig as yr, DocsCloudPreviewConfig as yt, DocsAgentEvaluationAnswerRunner as z, LlmsTxtMaxCharsMode as zn, DocsMcpCorsConfig as zt };
3809
+ 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.75",
3
+ "version": "0.2.78",
4
4
  "description": "Modern, flexible MDX-based docs framework — core types, config, and CLI",
5
5
  "keywords": [
6
6
  "docs",