@farming-labs/docs 0.2.65 → 0.2.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agent-CQTH7NFu.mjs → agent-B81ztzxZ.mjs} +2 -2
- package/dist/{agent-DKKptIgy.mjs → agent-CcR8_Yyd.mjs} +1 -1
- package/dist/{agent-evals-B7MIxuEX.mjs → agent-evals-Bn_dA1_A.mjs} +1 -1
- package/dist/{agent-export-CBgWgPvH.mjs → agent-export-COoZT--d.mjs} +7 -7
- package/dist/agent-skills-bundle.d.mts +1 -1
- package/dist/{agent-skills-server-CPja6Syt.d.mts → agent-skills-server-CHvqnM4R.d.mts} +2 -2
- package/dist/{agent-skills-server-DraIb6FV.mjs → agent-skills-server-Cuoqu8Jv.mjs} +1 -1
- package/dist/agent-skills-vite.d.mts +3 -3
- package/dist/agent-skills-vite.mjs +2 -2
- package/dist/{agents-XWZBub6f.mjs → agents-BZ_hXI_Z.mjs} +6 -6
- package/dist/cli/index.mjs +14 -14
- package/dist/client/react.d.mts +1 -1
- package/dist/{cloud-ask-ai-zpwkdwnF.d.mts → cloud-ask-ai-BD1SeVZv.d.mts} +1 -1
- package/dist/docs-cloud-server.d.mts +2 -2
- package/dist/{doctor-DtGYZ41i.mjs → doctor-C3NA15Kd.mjs} +36 -12
- package/dist/{golden-evaluations-Dj-9Eo3v.mjs → golden-evaluations-D7lSUeQl.mjs} +1 -1
- package/dist/index.d.mts +9 -5
- package/dist/index.mjs +7 -7
- package/dist/{mcp-B9dcsivk.mjs → mcp-jGoU4pLD.mjs} +6 -6
- package/dist/mcp.d.mts +2 -2
- package/dist/mcp.mjs +314 -14
- package/dist/{metadata-DWExHQnx.mjs → metadata-Cna0CtWZ.mjs} +1 -1
- package/dist/{reading-time-CYZ5VvKU.mjs → reading-time-DsyUuHR4.mjs} +3 -3
- package/dist/{review-CLoHTywU.mjs → review-CUo6iXMw.mjs} +6 -6
- package/dist/{robots-BIpC4j4P.mjs → robots-DonzDfBW.mjs} +91 -23
- package/dist/{robots-CUTahhoY.mjs → robots-rzriLh_d.mjs} +18 -8
- package/dist/{search-CaSyi6H6.d.mts → search-B-BfnROL.d.mts} +2 -2
- package/dist/{search-DSjCeOk7.mjs → search-B_CixCu9.mjs} +6 -6
- package/dist/{search-B6V6qtiI.mjs → search-D0A9lRGJ.mjs} +1 -1
- package/dist/server.d.mts +4 -4
- package/dist/server.mjs +6 -6
- package/dist/{sitemap-Cykpe3Tz.mjs → sitemap-B4mIK0ka.mjs} +6 -6
- package/dist/{sitemap-server-C_6Wes83.mjs → sitemap-server-atbbiVzW.mjs} +1 -1
- package/dist/{standards-discovery-jkykaXq1.mjs → standards-discovery-C7p5lBhc.mjs} +314 -37
- package/dist/{standards-discovery-C4HUqMd2.d.mts → standards-discovery-iOmUel-o.d.mts} +21 -38
- package/dist/{types-lMBIdZg0.d.mts → types-BQC05SQm.d.mts} +203 -9
- package/package.json +1 -1
package/dist/mcp.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as emitDocsAnalyticsEvent, i as emitDocsAgentTraceEvent, n as createDocsAgentTraceContext, r as createDocsAgentTraceId } from "./analytics-Bx44lg6d.mjs";
|
|
2
|
-
import { Bt as renderDocsRelatedMarkdownLines, Jt as normalizePageAgentFrontmatter, Qt as upsertPageAgentContractMarkdown, cn as isDocsMcpProtectedResourceMetadataPath, dn as normalizeDocsMcpAuthorizationServerUrls, fn as normalizeDocsMcpEndpointPath, mn as resolveDocsMcpResourceLocation, pn as resolveDocsMcpProtectedResourceMetadataLocation, qt as hasStructuredPageAgentContract, sn as isDocsMcpOAuthScopeToken, un as isDocsMcpResourcePath, wt as resolveDocsAudienceMdxContent, zt as normalizeDocsRelated } from "./agent-
|
|
3
|
-
import "./standards-discovery-
|
|
4
|
-
import { A as emitDocsTelemetryProjectEvent, D as emitDocsTelemetryAgentSurfaceEvent, S as stripGeneratedAgentProvenance, h as parseDocsMarkdownSections, k as emitDocsTelemetryMcpToolEvent, m as findDocsMarkdownSection, u as performDocsSearch, w as resolvePageSidebarFolderIndexBehavior } from "./search-
|
|
2
|
+
import { Bt as renderDocsRelatedMarkdownLines, Jt as normalizePageAgentFrontmatter, Qt as upsertPageAgentContractMarkdown, cn as isDocsMcpProtectedResourceMetadataPath, dn as normalizeDocsMcpAuthorizationServerUrls, fn as normalizeDocsMcpEndpointPath, mn as resolveDocsMcpResourceLocation, pn as resolveDocsMcpProtectedResourceMetadataLocation, qt as hasStructuredPageAgentContract, sn as isDocsMcpOAuthScopeToken, un as isDocsMcpResourcePath, wt as resolveDocsAudienceMdxContent, zt as normalizeDocsRelated } from "./agent-CcR8_Yyd.mjs";
|
|
3
|
+
import "./standards-discovery-C7p5lBhc.mjs";
|
|
4
|
+
import { A as emitDocsTelemetryProjectEvent, D as emitDocsTelemetryAgentSurfaceEvent, S as stripGeneratedAgentProvenance, h as parseDocsMarkdownSections, k as emitDocsTelemetryMcpToolEvent, m as findDocsMarkdownSection, u as performDocsSearch, w as resolvePageSidebarFolderIndexBehavior } from "./search-D0A9lRGJ.mjs";
|
|
5
5
|
import { a as normalizeAgentScopeValues, i as normalizeAgentLocale, n as agentVersionConstraintsOverlap, r as normalizeAgentFramework, t as agentVersionConstraintMatches } from "./agent-scope-C_U--OZ7.mjs";
|
|
6
6
|
import matter from "gray-matter";
|
|
7
7
|
import fs from "node:fs";
|
|
@@ -246,11 +246,51 @@ const DOCS_CONFIG_SCHEMA_OPTIONS_TEMPLATE = [
|
|
|
246
246
|
type: "DocsAgentA2AConfig",
|
|
247
247
|
description: "Opt-in Agent Card metadata for a separately implemented real A2A service.",
|
|
248
248
|
children: [
|
|
249
|
+
{
|
|
250
|
+
path: "agent.a2a.supportedInterfaces",
|
|
251
|
+
name: "supportedInterfaces",
|
|
252
|
+
type: "readonly DocsAgentA2AInterfaceConfig[]",
|
|
253
|
+
description: "Ordered A2A v1 interfaces implemented by the service; the first entry is preferred.",
|
|
254
|
+
children: [
|
|
255
|
+
{
|
|
256
|
+
path: "agent.a2a.supportedInterfaces[]",
|
|
257
|
+
name: "interface",
|
|
258
|
+
type: "DocsAgentA2AInterfaceConfig",
|
|
259
|
+
description: "One implemented A2A protocol interface."
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
path: "agent.a2a.supportedInterfaces[].url",
|
|
263
|
+
name: "url",
|
|
264
|
+
type: "string",
|
|
265
|
+
description: "Absolute binding-appropriate URL; core bindings require HTTPS outside loopback development."
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
path: "agent.a2a.supportedInterfaces[].protocolBinding",
|
|
269
|
+
name: "protocolBinding",
|
|
270
|
+
type: "DocsAgentA2AProtocolBinding",
|
|
271
|
+
default: "HTTP+JSON",
|
|
272
|
+
description: "Core binding JSONRPC, GRPC, or HTTP+JSON, or an absolute URI for a custom binding."
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
path: "agent.a2a.supportedInterfaces[].protocolVersion",
|
|
276
|
+
name: "protocolVersion",
|
|
277
|
+
type: "string",
|
|
278
|
+
default: "1.0",
|
|
279
|
+
description: "A2A major.minor protocol version implemented by this interface."
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
path: "agent.a2a.supportedInterfaces[].tenant",
|
|
283
|
+
name: "tenant",
|
|
284
|
+
type: "string",
|
|
285
|
+
description: "Optional tenant identifier required by this interface."
|
|
286
|
+
}
|
|
287
|
+
]
|
|
288
|
+
},
|
|
249
289
|
{
|
|
250
290
|
path: "agent.a2a.interfaceUrl",
|
|
251
291
|
name: "interfaceUrl",
|
|
252
292
|
type: "string",
|
|
253
|
-
description: "
|
|
293
|
+
description: "Deprecated single-interface shorthand. Prefer supportedInterfaces for new A2A v1 configurations."
|
|
254
294
|
},
|
|
255
295
|
{
|
|
256
296
|
path: "agent.a2a.name",
|
|
@@ -268,19 +308,279 @@ const DOCS_CONFIG_SCHEMA_OPTIONS_TEMPLATE = [
|
|
|
268
308
|
path: "agent.a2a.documentationUrl",
|
|
269
309
|
name: "documentationUrl",
|
|
270
310
|
type: "string",
|
|
271
|
-
description: "
|
|
311
|
+
description: "Optional absolute HTTPS documentation URL; HTTP is limited to loopback development."
|
|
272
312
|
},
|
|
273
313
|
{
|
|
274
|
-
path: "agent.a2a.provider
|
|
275
|
-
name: "
|
|
276
|
-
type: "string",
|
|
277
|
-
description: "A2A service provider
|
|
314
|
+
path: "agent.a2a.provider",
|
|
315
|
+
name: "provider",
|
|
316
|
+
type: "{ organization: string; url: string }",
|
|
317
|
+
description: "Optional A2A service provider identity.",
|
|
318
|
+
children: [{
|
|
319
|
+
path: "agent.a2a.provider.organization",
|
|
320
|
+
name: "organization",
|
|
321
|
+
type: "string",
|
|
322
|
+
description: "A2A service provider organization."
|
|
323
|
+
}, {
|
|
324
|
+
path: "agent.a2a.provider.url",
|
|
325
|
+
name: "url",
|
|
326
|
+
type: "string",
|
|
327
|
+
description: "Absolute HTTPS provider URL; HTTP is limited to loopback development."
|
|
328
|
+
}]
|
|
278
329
|
},
|
|
279
330
|
{
|
|
280
|
-
path: "agent.a2a.
|
|
281
|
-
name: "
|
|
331
|
+
path: "agent.a2a.iconUrl",
|
|
332
|
+
name: "iconUrl",
|
|
282
333
|
type: "string",
|
|
283
|
-
description: "HTTP
|
|
334
|
+
description: "Optional absolute HTTPS icon URL; HTTP is limited to loopback development."
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
path: "agent.a2a.capabilities",
|
|
338
|
+
name: "capabilities",
|
|
339
|
+
type: "DocsAgentA2ACapabilities",
|
|
340
|
+
description: "Capabilities actually implemented by the A2A service.",
|
|
341
|
+
children: [
|
|
342
|
+
{
|
|
343
|
+
path: "agent.a2a.capabilities.streaming",
|
|
344
|
+
name: "streaming",
|
|
345
|
+
type: "boolean",
|
|
346
|
+
default: false,
|
|
347
|
+
description: "Whether the A2A service implements streaming."
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
path: "agent.a2a.capabilities.pushNotifications",
|
|
351
|
+
name: "pushNotifications",
|
|
352
|
+
type: "boolean",
|
|
353
|
+
default: false,
|
|
354
|
+
description: "Whether the A2A service implements push notifications."
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
path: "agent.a2a.capabilities.extensions",
|
|
358
|
+
name: "extensions",
|
|
359
|
+
type: "readonly DocsAgentA2AExtension[]",
|
|
360
|
+
description: "URI-identified A2A protocol extensions implemented by the service.",
|
|
361
|
+
children: [
|
|
362
|
+
{
|
|
363
|
+
path: "agent.a2a.capabilities.extensions[]",
|
|
364
|
+
name: "extension",
|
|
365
|
+
type: "DocsAgentA2AExtension",
|
|
366
|
+
description: "One protocol extension implemented by the service."
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
path: "agent.a2a.capabilities.extensions[].uri",
|
|
370
|
+
name: "uri",
|
|
371
|
+
type: "string",
|
|
372
|
+
description: "Absolute URI identifying the extension."
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
path: "agent.a2a.capabilities.extensions[].description",
|
|
376
|
+
name: "description",
|
|
377
|
+
type: "string",
|
|
378
|
+
description: "How this agent implements the extension."
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
path: "agent.a2a.capabilities.extensions[].required",
|
|
382
|
+
name: "required",
|
|
383
|
+
type: "boolean",
|
|
384
|
+
default: false,
|
|
385
|
+
description: "Whether clients must understand this extension."
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
path: "agent.a2a.capabilities.extensions[].params",
|
|
389
|
+
name: "params",
|
|
390
|
+
type: "Readonly<Record<string, unknown>>",
|
|
391
|
+
description: "Extension-specific JSON parameters."
|
|
392
|
+
}
|
|
393
|
+
]
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
path: "agent.a2a.capabilities.extendedAgentCard",
|
|
397
|
+
name: "extendedAgentCard",
|
|
398
|
+
type: "boolean",
|
|
399
|
+
description: "Whether the service implements authenticated GetExtendedAgentCard; requires a declared scheme and non-empty requirement."
|
|
400
|
+
}
|
|
401
|
+
]
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
path: "agent.a2a.defaultInputModes",
|
|
405
|
+
name: "defaultInputModes",
|
|
406
|
+
type: "readonly string[]",
|
|
407
|
+
description: "Agent-wide input media types; defaults to [\"text/plain\"]."
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
path: "agent.a2a.defaultOutputModes",
|
|
411
|
+
name: "defaultOutputModes",
|
|
412
|
+
type: "readonly string[]",
|
|
413
|
+
description: "Agent-wide output media types; defaults to [\"text/plain\"]."
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
path: "agent.a2a.skills",
|
|
417
|
+
name: "skills",
|
|
418
|
+
type: "readonly DocsAgentA2ASkill[]",
|
|
419
|
+
description: "A2A capabilities implemented by the service. Required with supportedInterfaces; distinct from published Agent Skill files.",
|
|
420
|
+
children: [
|
|
421
|
+
{
|
|
422
|
+
path: "agent.a2a.skills[]",
|
|
423
|
+
name: "skill",
|
|
424
|
+
type: "DocsAgentA2ASkill",
|
|
425
|
+
description: "One capability implemented by the A2A service."
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
path: "agent.a2a.skills[].id",
|
|
429
|
+
name: "id",
|
|
430
|
+
type: "string",
|
|
431
|
+
description: "Stable unique capability identifier."
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
path: "agent.a2a.skills[].name",
|
|
435
|
+
name: "name",
|
|
436
|
+
type: "string",
|
|
437
|
+
description: "Human-readable capability name."
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
path: "agent.a2a.skills[].description",
|
|
441
|
+
name: "description",
|
|
442
|
+
type: "string",
|
|
443
|
+
description: "Capability purpose and behavior."
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
path: "agent.a2a.skills[].tags",
|
|
447
|
+
name: "tags",
|
|
448
|
+
type: "readonly string[]",
|
|
449
|
+
description: "Non-empty discovery tags for the capability."
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
path: "agent.a2a.skills[].examples",
|
|
453
|
+
name: "examples",
|
|
454
|
+
type: "readonly string[]",
|
|
455
|
+
description: "Optional example prompts for this capability."
|
|
456
|
+
},
|
|
457
|
+
{
|
|
458
|
+
path: "agent.a2a.skills[].inputModes",
|
|
459
|
+
name: "inputModes",
|
|
460
|
+
type: "readonly string[]",
|
|
461
|
+
description: "Optional capability-specific input media types."
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
path: "agent.a2a.skills[].outputModes",
|
|
465
|
+
name: "outputModes",
|
|
466
|
+
type: "readonly string[]",
|
|
467
|
+
description: "Optional capability-specific output media types."
|
|
468
|
+
},
|
|
469
|
+
{
|
|
470
|
+
path: "agent.a2a.skills[].securityRequirements",
|
|
471
|
+
name: "securityRequirements",
|
|
472
|
+
type: "readonly DocsAgentA2ASecurityRequirement[]",
|
|
473
|
+
description: "Optional capability-specific alternatives over named security schemes."
|
|
474
|
+
}
|
|
475
|
+
]
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
path: "agent.a2a.securitySchemes",
|
|
479
|
+
name: "securitySchemes",
|
|
480
|
+
type: "Readonly<Record<string, DocsAgentA2ASecurityScheme>>",
|
|
481
|
+
description: "Optional named A2A v1 API key, HTTP auth, OAuth 2, OpenID Connect, or mutual TLS schemes.",
|
|
482
|
+
children: [
|
|
483
|
+
{
|
|
484
|
+
path: "agent.a2a.securitySchemes.<name>",
|
|
485
|
+
name: "scheme",
|
|
486
|
+
type: "DocsAgentA2ASecurityScheme",
|
|
487
|
+
description: "One named scheme containing exactly one wrapper: apiKeySecurityScheme, httpAuthSecurityScheme, oauth2SecurityScheme, openIdConnectSecurityScheme, or mtlsSecurityScheme."
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
path: "agent.a2a.securitySchemes.<name>.apiKeySecurityScheme",
|
|
491
|
+
name: "apiKeySecurityScheme",
|
|
492
|
+
type: "{ description?: string; location: \"query\" | \"header\" | \"cookie\"; name: string }",
|
|
493
|
+
description: "API key location and parameter name."
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
path: "agent.a2a.securitySchemes.<name>.httpAuthSecurityScheme",
|
|
497
|
+
name: "httpAuthSecurityScheme",
|
|
498
|
+
type: "{ description?: string; scheme: string; bearerFormat?: string }",
|
|
499
|
+
description: "HTTP authentication scheme such as bearer."
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
path: "agent.a2a.securitySchemes.<name>.oauth2SecurityScheme",
|
|
503
|
+
name: "oauth2SecurityScheme",
|
|
504
|
+
type: "DocsAgentA2AOAuth2SecurityScheme",
|
|
505
|
+
description: "OAuth 2 metadata with exactly one authorizationCode, clientCredentials, deviceCode, implicit, or password flow. Implicit and password are deprecated A2A v1 compatibility flows.",
|
|
506
|
+
children: [
|
|
507
|
+
{
|
|
508
|
+
path: "agent.a2a.securitySchemes.<name>.oauth2SecurityScheme.flows.authorizationCode",
|
|
509
|
+
name: "authorizationCode",
|
|
510
|
+
type: "DocsAgentA2AOAuthAuthorizationCodeFlow",
|
|
511
|
+
description: "Authorization code flow with HTTPS authorizationUrl, tokenUrl, scopes, and optional refreshUrl/pkceRequired."
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
path: "agent.a2a.securitySchemes.<name>.oauth2SecurityScheme.flows.clientCredentials",
|
|
515
|
+
name: "clientCredentials",
|
|
516
|
+
type: "DocsAgentA2AOAuthClientCredentialsFlow",
|
|
517
|
+
description: "Client credentials flow with HTTPS tokenUrl, scopes, and optional refreshUrl."
|
|
518
|
+
},
|
|
519
|
+
{
|
|
520
|
+
path: "agent.a2a.securitySchemes.<name>.oauth2SecurityScheme.flows.deviceCode",
|
|
521
|
+
name: "deviceCode",
|
|
522
|
+
type: "DocsAgentA2AOAuthDeviceCodeFlow",
|
|
523
|
+
description: "Device code flow with HTTPS deviceAuthorizationUrl, tokenUrl, scopes, and optional refreshUrl."
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
path: "agent.a2a.securitySchemes.<name>.oauth2SecurityScheme.flows.implicit",
|
|
527
|
+
name: "implicit",
|
|
528
|
+
type: "DocsAgentA2AOAuthImplicitFlow",
|
|
529
|
+
description: "Deprecated A2A v1 compatibility flow with HTTPS authorizationUrl, scopes, and optional refreshUrl."
|
|
530
|
+
},
|
|
531
|
+
{
|
|
532
|
+
path: "agent.a2a.securitySchemes.<name>.oauth2SecurityScheme.flows.password",
|
|
533
|
+
name: "password",
|
|
534
|
+
type: "DocsAgentA2AOAuthPasswordFlow",
|
|
535
|
+
description: "Deprecated A2A v1 compatibility flow with HTTPS tokenUrl, scopes, and optional refreshUrl."
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
path: "agent.a2a.securitySchemes.<name>.oauth2SecurityScheme.oauth2MetadataUrl",
|
|
539
|
+
name: "oauth2MetadataUrl",
|
|
540
|
+
type: "string",
|
|
541
|
+
description: "Optional HTTPS RFC 8414 authorization-server metadata URL."
|
|
542
|
+
}
|
|
543
|
+
]
|
|
544
|
+
},
|
|
545
|
+
{
|
|
546
|
+
path: "agent.a2a.securitySchemes.<name>.openIdConnectSecurityScheme",
|
|
547
|
+
name: "openIdConnectSecurityScheme",
|
|
548
|
+
type: "{ description?: string; openIdConnectUrl: string }",
|
|
549
|
+
description: "OpenID Connect scheme with an HTTPS discovery URL."
|
|
550
|
+
},
|
|
551
|
+
{
|
|
552
|
+
path: "agent.a2a.securitySchemes.<name>.mtlsSecurityScheme",
|
|
553
|
+
name: "mtlsSecurityScheme",
|
|
554
|
+
type: "{ description?: string }",
|
|
555
|
+
description: "Mutual TLS scheme."
|
|
556
|
+
}
|
|
557
|
+
]
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
path: "agent.a2a.securityRequirements",
|
|
561
|
+
name: "securityRequirements",
|
|
562
|
+
type: "readonly DocsAgentA2ASecurityRequirement[]",
|
|
563
|
+
description: "Optional agent-wide alternatives over named security schemes.",
|
|
564
|
+
children: [
|
|
565
|
+
{
|
|
566
|
+
path: "agent.a2a.securityRequirements[]",
|
|
567
|
+
name: "requirement",
|
|
568
|
+
type: "DocsAgentA2ASecurityRequirement",
|
|
569
|
+
description: "One alternative requirement; schemes inside the object are all required together."
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
path: "agent.a2a.securityRequirements[].schemes",
|
|
573
|
+
name: "schemes",
|
|
574
|
+
type: "Readonly<Record<string, DocsAgentA2ASecurityScopeList>>",
|
|
575
|
+
description: "Named security schemes and their required scopes."
|
|
576
|
+
},
|
|
577
|
+
{
|
|
578
|
+
path: "agent.a2a.securityRequirements[].schemes.<name>.list",
|
|
579
|
+
name: "list",
|
|
580
|
+
type: "readonly string[]",
|
|
581
|
+
description: "Required scopes for this named scheme; use an empty list for none."
|
|
582
|
+
}
|
|
583
|
+
]
|
|
284
584
|
},
|
|
285
585
|
{
|
|
286
586
|
path: "agent.a2a.version",
|
|
@@ -294,14 +594,14 @@ const DOCS_CONFIG_SCHEMA_OPTIONS_TEMPLATE = [
|
|
|
294
594
|
name: "protocolVersion",
|
|
295
595
|
type: "string",
|
|
296
596
|
default: "0.3",
|
|
297
|
-
description: "
|
|
597
|
+
description: "Deprecated interfaceUrl shorthand option. It retains the historical 0.3 default; set it explicitly when that interface implements another version."
|
|
298
598
|
},
|
|
299
599
|
{
|
|
300
600
|
path: "agent.a2a.protocolBinding",
|
|
301
601
|
name: "protocolBinding",
|
|
302
602
|
type: "string",
|
|
303
603
|
default: "HTTP+JSON",
|
|
304
|
-
description: "
|
|
604
|
+
description: "Deprecated interfaceUrl shorthand option. Binding implemented by that interface."
|
|
305
605
|
}
|
|
306
606
|
]
|
|
307
607
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Dt as DEFAULT_SITEMAP_MD_ROUTE, c as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, f as DEFAULT_DOCS_CONFIG_ROUTE, h as DEFAULT_LLMS_FULL_TXT_ROUTE, i as DEFAULT_AGENT_FEEDBACK_ROUTE, kt as DEFAULT_SITEMAP_XML_ROUTE, m as DEFAULT_DOCS_DIAGNOSTICS_ROUTE, nn as DEFAULT_MCP_WELL_KNOWN_ROUTE, t as DEFAULT_AGENTS_MD_ROUTE, v as DEFAULT_LLMS_TXT_ROUTE, x as DEFAULT_SKILL_MD_ROUTE } from "./agent-
|
|
2
|
-
import {
|
|
3
|
-
import { n as DEFAULT_ROBOTS_TXT_ROUTE } from "./robots-
|
|
1
|
+
import { Dt as DEFAULT_SITEMAP_MD_ROUTE, c as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, f as DEFAULT_DOCS_CONFIG_ROUTE, h as DEFAULT_LLMS_FULL_TXT_ROUTE, i as DEFAULT_AGENT_FEEDBACK_ROUTE, kt as DEFAULT_SITEMAP_XML_ROUTE, m as DEFAULT_DOCS_DIAGNOSTICS_ROUTE, nn as DEFAULT_MCP_WELL_KNOWN_ROUTE, t as DEFAULT_AGENTS_MD_ROUTE, v as DEFAULT_LLMS_TXT_ROUTE, x as DEFAULT_SKILL_MD_ROUTE } from "./agent-CcR8_Yyd.mjs";
|
|
2
|
+
import { f as DEFAULT_AGENT_SKILLS_ROUTE_PREFIX, n as API_CATALOG_MEDIA_TYPE, r as API_CATALOG_PROFILE_URI, t as AGENT_SKILLS_DISCOVERY_SCHEMA_URI, u as DEFAULT_AGENT_SKILLS_INDEX_ROUTE, v as DEFAULT_API_CATALOG_ROUTE } from "./standards-discovery-C7p5lBhc.mjs";
|
|
3
|
+
import { n as DEFAULT_ROBOTS_TXT_ROUTE } from "./robots-DonzDfBW.mjs";
|
|
4
4
|
import matter from "gray-matter";
|
|
5
5
|
|
|
6
6
|
//#region src/define-docs.ts
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { Ht as PAGE_AGENT_CONTRACT_FIELDS, Jt as normalizePageAgentFrontmatter, Kt as getPageAgentFrontmatterIssues, T as DOCS_CONFIG_MAP_TOP_LEVEL_KEYS, bt as findDocsAudienceMdxIssues, in as getDocsMcpProtectedResourceMetadataRoutes, j as buildDocsConfigMap, k as buildDocsAgentDiscoverySpec, qt as hasStructuredPageAgentContract } from "./agent-
|
|
2
|
-
import {
|
|
3
|
-
import { d as resolveAskAISearchRequestConfig } from "./search-
|
|
4
|
-
import { a as resolveDocsMetadataBaseUrl } from "./metadata-
|
|
5
|
-
import { c as resolveDocsReviewConfig, o as ensureDocsReviewWorkflow, s as readDocsReviewConfigFromSource, t as runDocsGoldenTasks } from "./agent-evals-
|
|
1
|
+
import { Ht as PAGE_AGENT_CONTRACT_FIELDS, Jt as normalizePageAgentFrontmatter, Kt as getPageAgentFrontmatterIssues, T as DOCS_CONFIG_MAP_TOP_LEVEL_KEYS, bt as findDocsAudienceMdxIssues, in as getDocsMcpProtectedResourceMetadataRoutes, j as buildDocsConfigMap, k as buildDocsAgentDiscoverySpec, qt as hasStructuredPageAgentContract } from "./agent-CcR8_Yyd.mjs";
|
|
2
|
+
import { _ as DEFAULT_API_CATALOG_FORMAT, d as DEFAULT_AGENT_SKILLS_ROUTE_PATTERN, h as DEFAULT_AGENT_SKILL_FORMAT, j as resolveDocsDiscoveryApiRoute, l as DEFAULT_AGENT_SKILLS_INDEX_FORMAT, u as DEFAULT_AGENT_SKILLS_INDEX_ROUTE, v as DEFAULT_API_CATALOG_ROUTE } from "./standards-discovery-C7p5lBhc.mjs";
|
|
3
|
+
import { d as resolveAskAISearchRequestConfig } from "./search-D0A9lRGJ.mjs";
|
|
4
|
+
import { a as resolveDocsMetadataBaseUrl } from "./metadata-Cna0CtWZ.mjs";
|
|
5
|
+
import { c as resolveDocsReviewConfig, o as ensureDocsReviewWorkflow, s as readDocsReviewConfigFromSource, t as runDocsGoldenTasks } from "./agent-evals-Bn_dA1_A.mjs";
|
|
6
6
|
import { createFilesystemDocsMcpSource, getDocsConfigSchema, resolveDocsMcpConfig } from "./mcp.mjs";
|
|
7
7
|
import "./code-blocks-DnNVNK2M.mjs";
|
|
8
8
|
import { _ as resolveDocsContentDir, g as resolveDocsConfigPath, h as readTopLevelStringProperty, s as loadDocsConfigModuleResultWithProjectEnv } from "./config-Wcdj-D0a.mjs";
|
|
9
9
|
import { t as detectFramework } from "./utils-DpiIioYb.mjs";
|
|
10
|
-
import { a as extractAgentBlocks, i as createAgentUsefulnessPagesFromMcp, n as analyzeAgentSurfaceDrift, r as analyzeAgentUsefulness, t as resolveGoldenEvaluationInput } from "./golden-evaluations-
|
|
10
|
+
import { a as extractAgentBlocks, i as createAgentUsefulnessPagesFromMcp, n as analyzeAgentSurfaceDrift, r as analyzeAgentUsefulness, t as resolveGoldenEvaluationInput } from "./golden-evaluations-D7lSUeQl.mjs";
|
|
11
11
|
import matter from "gray-matter";
|
|
12
12
|
import { existsSync, lstatSync, readFileSync, readdirSync } from "node:fs";
|
|
13
13
|
import path from "node:path";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Ft as resolveDocsSitemapConfig, S as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, X as normalizeDocsPathSegment, a as DEFAULT_AGENT_MD_ROUTE, c as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, en as DEFAULT_MCP_PUBLIC_ROUTE, g as DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, h as DEFAULT_LLMS_FULL_TXT_ROUTE, l as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, nn as DEFAULT_MCP_WELL_KNOWN_ROUTE, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, t as DEFAULT_AGENTS_MD_ROUTE, v as DEFAULT_LLMS_TXT_ROUTE, x as DEFAULT_SKILL_MD_ROUTE, y as DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE } from "./agent-
|
|
2
|
-
import { a as DEFAULT_A2A_AGENT_CARD_ROUTE,
|
|
1
|
+
import { Ft as resolveDocsSitemapConfig, S as DEFAULT_SKILL_MD_WELL_KNOWN_ROUTE, X as normalizeDocsPathSegment, a as DEFAULT_AGENT_MD_ROUTE, c as DEFAULT_AGENT_SPEC_WELL_KNOWN_JSON_ROUTE, en as DEFAULT_MCP_PUBLIC_ROUTE, g as DEFAULT_LLMS_FULL_TXT_WELL_KNOWN_ROUTE, h as DEFAULT_LLMS_FULL_TXT_ROUTE, l as DEFAULT_AGENT_SPEC_WELL_KNOWN_ROUTE, n as DEFAULT_AGENTS_MD_WELL_KNOWN_ROUTE, nn as DEFAULT_MCP_WELL_KNOWN_ROUTE, o as DEFAULT_AGENT_MD_WELL_KNOWN_ROUTE, t as DEFAULT_AGENTS_MD_ROUTE, v as DEFAULT_LLMS_TXT_ROUTE, x as DEFAULT_SKILL_MD_ROUTE, y as DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE } from "./agent-CcR8_Yyd.mjs";
|
|
2
|
+
import { a as DEFAULT_A2A_AGENT_CARD_ROUTE, b as DEFAULT_LEGACY_SKILLS_INDEX_ROUTE, f as DEFAULT_AGENT_SKILLS_ROUTE_PREFIX, u as DEFAULT_AGENT_SKILLS_INDEX_ROUTE, v as DEFAULT_API_CATALOG_ROUTE, x as DEFAULT_LEGACY_SKILLS_ROUTE_PREFIX } from "./standards-discovery-C7p5lBhc.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/robots.ts
|
|
5
5
|
const DEFAULT_ROBOTS_TXT_ROUTE = "/robots.txt";
|
|
@@ -61,13 +61,17 @@ function resolveDocsRobotsConfig(input, options = {}) {
|
|
|
61
61
|
}
|
|
62
62
|
function getDocsRobotsAllowRoutes(options = {}) {
|
|
63
63
|
const normalizedEntry = normalizeDocsPathSegment(options.entry ?? "docs") || "docs";
|
|
64
|
-
|
|
65
|
-
const routes = [
|
|
64
|
+
return unique([
|
|
66
65
|
"/",
|
|
67
66
|
`/${normalizedEntry}`,
|
|
68
67
|
`/${normalizedEntry}/`,
|
|
69
68
|
`/${normalizedEntry}.md`,
|
|
70
69
|
`/${normalizedEntry}/*.md`,
|
|
70
|
+
...getDocsRobotsDiscoveryRoutes(options)
|
|
71
|
+
].map(normalizeRoute));
|
|
72
|
+
}
|
|
73
|
+
function getDocsRobotsDiscoveryRoutes(options = {}) {
|
|
74
|
+
const routes = [
|
|
71
75
|
DEFAULT_LLMS_TXT_ROUTE,
|
|
72
76
|
DEFAULT_LLMS_FULL_TXT_ROUTE,
|
|
73
77
|
DEFAULT_LLMS_TXT_WELL_KNOWN_ROUTE,
|
|
@@ -89,6 +93,7 @@ function getDocsRobotsAllowRoutes(options = {}) {
|
|
|
89
93
|
DEFAULT_MCP_PUBLIC_ROUTE,
|
|
90
94
|
DEFAULT_MCP_WELL_KNOWN_ROUTE
|
|
91
95
|
];
|
|
96
|
+
const sitemapConfig = resolveDocsSitemapConfig(options.sitemap);
|
|
92
97
|
if (sitemapConfig.enabled) {
|
|
93
98
|
if (sitemapConfig.xml.enabled) routes.push(sitemapConfig.xml.route);
|
|
94
99
|
if (sitemapConfig.markdown.enabled) {
|
|
@@ -169,30 +174,93 @@ function upsertDocsRobotsGeneratedBlock(existing, block) {
|
|
|
169
174
|
const prefix = existing.trimEnd();
|
|
170
175
|
return `${prefix}${prefix ? "\n\n" : ""}${block}`;
|
|
171
176
|
}
|
|
172
|
-
function
|
|
173
|
-
const
|
|
174
|
-
|
|
177
|
+
function parseRobotsGroups(content) {
|
|
178
|
+
const groups = [];
|
|
179
|
+
let current;
|
|
180
|
+
for (const rawLine of content.split(/\r?\n/)) {
|
|
181
|
+
const line = rawLine.replace(/#.*$/, "").trim();
|
|
182
|
+
const separator = line.indexOf(":");
|
|
183
|
+
if (separator === -1) continue;
|
|
184
|
+
const field = line.slice(0, separator).trim().toLowerCase();
|
|
185
|
+
const value = line.slice(separator + 1).trim();
|
|
186
|
+
if (field === "user-agent") {
|
|
187
|
+
if (!value) continue;
|
|
188
|
+
if (!current || current.hasRules) {
|
|
189
|
+
current = {
|
|
190
|
+
userAgents: /* @__PURE__ */ new Set(),
|
|
191
|
+
allowRoutes: /* @__PURE__ */ new Set(),
|
|
192
|
+
rules: [],
|
|
193
|
+
hasRules: false
|
|
194
|
+
};
|
|
195
|
+
groups.push(current);
|
|
196
|
+
}
|
|
197
|
+
current.userAgents.add(value.toLowerCase());
|
|
198
|
+
continue;
|
|
199
|
+
}
|
|
200
|
+
if (!current) continue;
|
|
201
|
+
if (field !== "allow" && field !== "disallow") continue;
|
|
202
|
+
current.hasRules = true;
|
|
203
|
+
if (!value) continue;
|
|
204
|
+
const pattern = normalizeRoute(value);
|
|
205
|
+
if (field === "allow") current.allowRoutes.add(pattern);
|
|
206
|
+
current.rules.push({
|
|
207
|
+
directive: field,
|
|
208
|
+
pattern
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
return groups;
|
|
212
|
+
}
|
|
213
|
+
function rulesForUserAgent(groups, userAgent) {
|
|
214
|
+
const normalizedUserAgent = userAgent.toLowerCase();
|
|
215
|
+
const explicitMatches = groups.filter((group) => group.userAgents.has(normalizedUserAgent));
|
|
216
|
+
const matches = explicitMatches.length > 0 ? explicitMatches : groups.filter((group) => group.userAgents.has("*"));
|
|
217
|
+
return {
|
|
218
|
+
found: explicitMatches.length > 0,
|
|
219
|
+
allowRoutes: new Set(matches.flatMap((group) => [...group.allowRoutes])),
|
|
220
|
+
rules: matches.flatMap((group) => group.rules)
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
function concreteDiscoveryRoute(route) {
|
|
224
|
+
return route.replace(/\*/g, "resource");
|
|
175
225
|
}
|
|
176
|
-
function
|
|
177
|
-
const
|
|
178
|
-
|
|
226
|
+
function robotsRuleMatches(pattern, route) {
|
|
227
|
+
const endAnchored = pattern.endsWith("$");
|
|
228
|
+
const expression = (endAnchored ? pattern.slice(0, -1) : pattern).split("*").map((part) => part.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join(".*");
|
|
229
|
+
return new RegExp(`^${expression}${endAnchored ? "$" : ""}`).test(route);
|
|
230
|
+
}
|
|
231
|
+
function robotsRuleSpecificity(pattern) {
|
|
232
|
+
return new TextEncoder().encode(pattern).byteLength;
|
|
233
|
+
}
|
|
234
|
+
function rulesAllowRoute(rules, route) {
|
|
235
|
+
const concreteRoute = concreteDiscoveryRoute(route);
|
|
236
|
+
let strongestMatch = -1;
|
|
237
|
+
let allowed = true;
|
|
238
|
+
for (const rule of rules) {
|
|
239
|
+
if (!robotsRuleMatches(rule.pattern, concreteRoute)) continue;
|
|
240
|
+
const specificity = robotsRuleSpecificity(rule.pattern);
|
|
241
|
+
if (specificity > strongestMatch) {
|
|
242
|
+
strongestMatch = specificity;
|
|
243
|
+
allowed = rule.directive === "allow";
|
|
244
|
+
continue;
|
|
245
|
+
}
|
|
246
|
+
if (specificity === strongestMatch && rule.directive === "allow") allowed = true;
|
|
247
|
+
}
|
|
248
|
+
return allowed;
|
|
179
249
|
}
|
|
180
250
|
function analyzeDocsRobotsTxt(content, options = {}) {
|
|
181
|
-
const expectedRoutes =
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
].includes(route) || route.includes("sitemap"));
|
|
190
|
-
const missingRoutes = expectedRoutes.filter((route) => !content.includes(route));
|
|
251
|
+
const expectedRoutes = options.sitemapRoutes === void 0 ? getDocsRobotsDiscoveryRoutes(options) : unique([...getDocsRobotsDiscoveryRoutes({
|
|
252
|
+
...options,
|
|
253
|
+
sitemap: false
|
|
254
|
+
}), ...options.sitemapRoutes].map(normalizeRoute));
|
|
255
|
+
const groups = parseRobotsGroups(content);
|
|
256
|
+
const wildcardRules = rulesForUserAgent(groups, "*");
|
|
257
|
+
const allowedRoutes = wildcardRules.allowRoutes;
|
|
258
|
+
const missingRoutes = expectedRoutes.filter((route) => !allowedRoutes.has(route));
|
|
191
259
|
return {
|
|
192
|
-
blocksAgentRoutes:
|
|
193
|
-
blocksAiAgents: DEFAULT_DOCS_AI_ROBOTS_USER_AGENTS.some((userAgent) =>
|
|
260
|
+
blocksAgentRoutes: expectedRoutes.some((route) => !rulesAllowRoute(wildcardRules.rules, route)),
|
|
261
|
+
blocksAiAgents: DEFAULT_DOCS_AI_ROBOTS_USER_AGENTS.some((userAgent) => expectedRoutes.some((route) => !rulesAllowRoute(rulesForUserAgent(groups, userAgent).rules, route))),
|
|
194
262
|
hasAgentRoutes: missingRoutes.length === 0,
|
|
195
|
-
hasAiPolicy: DEFAULT_DOCS_AI_ROBOTS_USER_AGENTS.some((userAgent) =>
|
|
263
|
+
hasAiPolicy: DEFAULT_DOCS_AI_ROBOTS_USER_AGENTS.some((userAgent) => rulesForUserAgent(groups, userAgent).found),
|
|
196
264
|
missingRoutes
|
|
197
265
|
};
|
|
198
266
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import "./agent-
|
|
2
|
-
import "./standards-discovery-
|
|
3
|
-
import { c as renderDocsRobotsGeneratedBlock, f as upsertDocsRobotsGeneratedBlock, i as DOCS_ROBOTS_GENERATED_BLOCK_START, r as DOCS_ROBOTS_GENERATED_BLOCK_END, u as resolveDocsRobotsConfig } from "./robots-
|
|
4
|
-
import { a as loadDocsConfigModule, g as resolveDocsConfigPath, h as readTopLevelStringProperty, l as readBooleanProperty, p as readStringProperty, t as extractNestedObjectLiteral } from "./config-Wcdj-D0a.mjs";
|
|
1
|
+
import "./agent-CcR8_Yyd.mjs";
|
|
2
|
+
import "./standards-discovery-C7p5lBhc.mjs";
|
|
3
|
+
import { c as renderDocsRobotsGeneratedBlock, f as upsertDocsRobotsGeneratedBlock, i as DOCS_ROBOTS_GENERATED_BLOCK_START, r as DOCS_ROBOTS_GENERATED_BLOCK_END, u as resolveDocsRobotsConfig } from "./robots-DonzDfBW.mjs";
|
|
4
|
+
import { a as loadDocsConfigModule, g as resolveDocsConfigPath, h as readTopLevelStringProperty, l as readBooleanProperty, m as readTopLevelBooleanProperty, p as readStringProperty, t as extractNestedObjectLiteral } from "./config-Wcdj-D0a.mjs";
|
|
5
5
|
import { t as detectFramework } from "./utils-DpiIioYb.mjs";
|
|
6
6
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
7
7
|
import path from "node:path";
|
|
@@ -70,15 +70,21 @@ function parseRobotsGenerateArgs(argv) {
|
|
|
70
70
|
if (parsed.append && parsed.force) throw new Error("Use either --append or --force, not both.");
|
|
71
71
|
return parsed;
|
|
72
72
|
}
|
|
73
|
-
function readTopLevelBooleanProperty(content, key) {
|
|
74
|
-
const match = content.match(new RegExp(`\\b${key}\\b\\s*:\\s*(true|false)`));
|
|
75
|
-
return match ? match[1] === "true" : void 0;
|
|
76
|
-
}
|
|
77
73
|
function readLlmsBaseUrlFromConfig(content, config) {
|
|
78
74
|
if (config?.llmsTxt && typeof config.llmsTxt === "object") return config.llmsTxt.baseUrl;
|
|
79
75
|
const block = extractNestedObjectLiteral(content, ["llmsTxt"]);
|
|
80
76
|
return block ? readStringProperty(block, "baseUrl") : void 0;
|
|
81
77
|
}
|
|
78
|
+
function isApiCatalogEnabled(content, config) {
|
|
79
|
+
if (config?.staticExport ?? readTopLevelBooleanProperty(content, "staticExport") ?? false) return false;
|
|
80
|
+
if (config?.llmsTxt && typeof config.llmsTxt === "object") return config.llmsTxt.apiCatalog !== false;
|
|
81
|
+
const block = extractNestedObjectLiteral(content, ["llmsTxt"]);
|
|
82
|
+
return block ? readBooleanProperty(block, "apiCatalog") !== false : true;
|
|
83
|
+
}
|
|
84
|
+
function isAgentCardEnabled(content, config) {
|
|
85
|
+
if (config) return Boolean(config.agent?.a2a);
|
|
86
|
+
return Boolean(extractNestedObjectLiteral(content, ["agent", "a2a"]));
|
|
87
|
+
}
|
|
82
88
|
function readSitemapConfigFromStatic(content) {
|
|
83
89
|
const topLevelBoolean = readTopLevelBooleanProperty(content, "sitemap");
|
|
84
90
|
if (typeof topLevelBoolean === "boolean") return topLevelBoolean;
|
|
@@ -134,6 +140,8 @@ async function generateRobots(options = {}) {
|
|
|
134
140
|
const sitemap = config?.sitemap ?? readSitemapConfigFromStatic(configContent) ?? true;
|
|
135
141
|
const sitemapBaseUrl = typeof sitemap === "object" ? sitemap.baseUrl : void 0;
|
|
136
142
|
const llmsBaseUrl = readLlmsBaseUrlFromConfig(configContent, config);
|
|
143
|
+
const apiCatalog = isApiCatalogEnabled(configContent, config);
|
|
144
|
+
const agentCard = isAgentCardEnabled(configContent, config);
|
|
137
145
|
const configuredRobots = resolveConfiguredRobots(configContent, config);
|
|
138
146
|
if (configuredRobots === false) throw new Error("Robots generation is disabled by `robots: false`.");
|
|
139
147
|
const robotsInput = typeof configuredRobots === "object" ? configuredRobots : {};
|
|
@@ -143,6 +151,8 @@ async function generateRobots(options = {}) {
|
|
|
143
151
|
const relativeRobotsPath = path.relative(rootDir, robotsPath).replace(/\\/g, "/");
|
|
144
152
|
const generatedBlock = renderDocsRobotsGeneratedBlock({
|
|
145
153
|
entry,
|
|
154
|
+
apiCatalog,
|
|
155
|
+
agentCard,
|
|
146
156
|
sitemap,
|
|
147
157
|
baseUrl: robots.baseUrl,
|
|
148
158
|
robots
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { $n as ResolvedDocsRelatedLink, Fn as OpenDocsProvider, Jt as DocsObservabilityEventInput, Kt as DocsObservabilityConfig, Mn as McpDocsSearchConfig, Rn as OpenDocsTarget, at as DocsAnalyticsEventInput, cn as DocsSearchConfig, et as DocsAgentTraceEventInput, f as CustomDocsSearchConfig, fn as DocsSearchResult, hn as DocsSitemapConfig, ht as DocsAskAIMcpConfig, in as DocsSearchAdapter, it as DocsAnalyticsEvent, ln as DocsSearchDocument, lr as TypesenseDocsSearchConfig, mn as DocsSearchSourcePage, on as DocsSearchAdapterFactory, qt as DocsObservabilityEvent, r as AlgoliaDocsSearchConfig, rt as DocsAnalyticsConfig, sn as DocsSearchChunkingConfig } from "./types-BQC05SQm.mjs";
|
|
2
|
+
import { M as DocsDiscoveryApiRouteOptions } from "./standards-discovery-iOmUel-o.mjs";
|
|
3
3
|
|
|
4
4
|
//#region src/analytics.d.ts
|
|
5
5
|
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"];
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import "./agent-
|
|
2
|
-
import "./standards-discovery-
|
|
3
|
-
import { n as buildDocsSearchDocuments, r as createAlgoliaSearchAdapter, s as createTypesenseSearchAdapter } from "./search-
|
|
4
|
-
import "./sitemap-server-
|
|
5
|
-
import "./agent-evals-
|
|
1
|
+
import "./agent-CcR8_Yyd.mjs";
|
|
2
|
+
import "./standards-discovery-C7p5lBhc.mjs";
|
|
3
|
+
import { n as buildDocsSearchDocuments, r as createAlgoliaSearchAdapter, s as createTypesenseSearchAdapter } from "./search-D0A9lRGJ.mjs";
|
|
4
|
+
import "./sitemap-server-atbbiVzW.mjs";
|
|
5
|
+
import "./agent-evals-Bn_dA1_A.mjs";
|
|
6
6
|
import { createFilesystemDocsMcpSource } from "./mcp.mjs";
|
|
7
7
|
import "./code-blocks-DnNVNK2M.mjs";
|
|
8
|
-
import "./agent-skills-server-
|
|
8
|
+
import "./agent-skills-server-Cuoqu8Jv.mjs";
|
|
9
9
|
import "./server.mjs";
|
|
10
10
|
import { _ as resolveDocsContentDir, c as loadProjectEnv, g as resolveDocsConfigPath, h as readTopLevelStringProperty } from "./config-Wcdj-D0a.mjs";
|
|
11
11
|
import { readFileSync } from "node:fs";
|