@mridang/webhint-hint-plumbline 0.14.1 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/core/define-hint.d.ts +1 -1
- package/dist/core/define-hint.js +1 -2
- package/dist/core/define-hint.js.map +1 -1
- package/dist/core/dns.js +2 -2
- package/dist/core/dns.js.map +1 -1
- package/dist/core/selectors.d.ts +2 -3
- package/dist/core/selectors.js +15 -11
- package/dist/core/selectors.js.map +1 -1
- package/dist/hints/agent/agent-a2a-agent-card.d.ts +1 -1
- package/dist/hints/agent/agent-a2a-agent-card.js +1 -1
- package/dist/hints/agent/agent-acp.d.ts +1 -1
- package/dist/hints/agent/agent-acp.js +1 -1
- package/dist/hints/agent/agent-ai-bot-rules.d.ts +1 -1
- package/dist/hints/agent/agent-ai-bot-rules.js +1 -1
- package/dist/hints/agent/agent-api-catalog.d.ts +1 -1
- package/dist/hints/agent/agent-api-catalog.js +1 -1
- package/dist/hints/agent/agent-ard.d.ts +1 -1
- package/dist/hints/agent/agent-ard.js +1 -1
- package/dist/hints/agent/agent-auth-md.d.ts +1 -1
- package/dist/hints/agent/agent-auth-md.js +1 -1
- package/dist/hints/agent/agent-content-signals.d.ts +1 -1
- package/dist/hints/agent/agent-content-signals.js +1 -1
- package/dist/hints/agent/agent-dns-aid.d.ts +1 -1
- package/dist/hints/agent/agent-dns-aid.js +1 -1
- package/dist/hints/agent/agent-link-headers.d.ts +1 -1
- package/dist/hints/agent/agent-link-headers.js +1 -1
- package/dist/hints/agent/agent-markdown-negotiation.d.ts +1 -1
- package/dist/hints/agent/agent-markdown-negotiation.js +1 -1
- package/dist/hints/agent/agent-mcp-server-card.d.ts +1 -1
- package/dist/hints/agent/agent-mcp-server-card.js +1 -1
- package/dist/hints/agent/agent-mpp.d.ts +1 -1
- package/dist/hints/agent/agent-mpp.js +1 -1
- package/dist/hints/agent/agent-oauth-discovery.d.ts +1 -1
- package/dist/hints/agent/agent-oauth-discovery.js +1 -1
- package/dist/hints/agent/agent-oauth-protected-resource.d.ts +1 -1
- package/dist/hints/agent/agent-oauth-protected-resource.js +1 -1
- package/dist/hints/agent/agent-poppy.d.ts +1 -1
- package/dist/hints/agent/agent-poppy.js +1 -1
- package/dist/hints/agent/agent-robots-txt.d.ts +1 -1
- package/dist/hints/agent/agent-robots-txt.js +1 -1
- package/dist/hints/agent/agent-sitemap.d.ts +1 -1
- package/dist/hints/agent/agent-sitemap.js +1 -1
- package/dist/hints/agent/agent-skills.d.ts +1 -1
- package/dist/hints/agent/agent-skills.js +1 -1
- package/dist/hints/agent/agent-ucp.d.ts +1 -1
- package/dist/hints/agent/agent-ucp.js +1 -1
- package/dist/hints/agent/agent-web-bot-auth.d.ts +1 -1
- package/dist/hints/agent/agent-web-bot-auth.js +1 -1
- package/dist/hints/agent/agent-webmcp.d.ts +1 -1
- package/dist/hints/agent/agent-webmcp.js +1 -1
- package/dist/hints/agent/agent-x402.d.ts +1 -1
- package/dist/hints/agent/agent-x402.js +1 -1
- package/dist/hints/email/mail-dane-rollover.js +3 -4
- package/dist/hints/email/mail-dane-rollover.js.map +1 -1
- package/dist/hints/email/mail-dane.js +43 -33
- package/dist/hints/email/mail-dane.js.map +1 -1
- package/dist/hints/email/mail-dkim.js +14 -12
- package/dist/hints/email/mail-dkim.js.map +1 -1
- package/dist/hints/email/mail-dmarc.js +20 -14
- package/dist/hints/email/mail-dmarc.js.map +1 -1
- package/dist/hints/email/mail-dnssec.js +6 -0
- package/dist/hints/email/mail-dnssec.js.map +1 -1
- package/dist/hints/email/mail-ipv6.js +9 -11
- package/dist/hints/email/mail-ipv6.js.map +1 -1
- package/dist/hints/email/mail-ns-rpki-valid.js +3 -0
- package/dist/hints/email/mail-ns-rpki-valid.js.map +1 -1
- package/dist/hints/email/mail-rpki.js +23 -14
- package/dist/hints/email/mail-rpki.js.map +1 -1
- package/dist/hints/email/mail-spf.js +1 -1
- package/dist/hints/email/mail-spf.js.map +1 -1
- package/dist/hints/email/mail-starttls.js +12 -12
- package/dist/hints/email/mail-starttls.js.map +1 -1
- package/dist/hints/email/on-mail-tls.d.ts +0 -1
- package/dist/hints/email/on-mail-tls.js +14 -4
- package/dist/hints/email/on-mail-tls.js.map +1 -1
- package/dist/hints/exposure/exposed-crossdomain.js +1 -1
- package/dist/hints/exposure/exposed-crossdomain.js.map +1 -1
- package/dist/hints/exposure/exposed-directory-listing.js +1 -1
- package/dist/hints/exposure/exposed-directory-listing.js.map +1 -1
- package/dist/hints/exposure/exposed-server-status.js +1 -1
- package/dist/hints/exposure/exposed-server-status.js.map +1 -1
- package/dist/hints/exposure/exposed-source-map.js +23 -18
- package/dist/hints/exposure/exposed-source-map.js.map +1 -1
- package/dist/hints/feeds/to-severity.js +6 -3
- package/dist/hints/feeds/to-severity.js.map +1 -1
- package/dist/hints/files/ai-txt.d.ts +1 -1
- package/dist/hints/files/ai-txt.js +1 -1
- package/dist/hints/files/llms-full-txt.d.ts +1 -1
- package/dist/hints/files/llms-full-txt.js +1 -1
- package/dist/hints/files/llms-txt.d.ts +1 -1
- package/dist/hints/files/llms-txt.js +1 -1
- package/dist/hints/files/robots-txt.d.ts +1 -1
- package/dist/hints/files/robots-txt.js +1 -1
- package/dist/hints/files/security-txt.js +1 -1
- package/dist/hints/files/security-txt.js.map +1 -1
- package/dist/hints/geo/geo-organization-schema.js +8 -8
- package/dist/hints/geo/geo-organization-schema.js.map +1 -1
- package/dist/hints/headers/clear-site-data.js +1 -1
- package/dist/hints/headers/clear-site-data.js.map +1 -1
- package/dist/hints/headers/shared.js +13 -7
- package/dist/hints/headers/shared.js.map +1 -1
- package/dist/hints/headers/sourcemap.js +1 -1
- package/dist/hints/headers/sourcemap.js.map +1 -1
- package/dist/hints/headers/x-dns-prefetch-control.js +4 -1
- package/dist/hints/headers/x-dns-prefetch-control.js.map +1 -1
- package/dist/hints/i18n/to-severity.js +6 -3
- package/dist/hints/i18n/to-severity.js.map +1 -1
- package/dist/hints/network/caa.js +3 -0
- package/dist/hints/network/caa.js.map +1 -1
- package/dist/hints/network/dane-exists.js +3 -0
- package/dist/hints/network/dane-exists.js.map +1 -1
- package/dist/hints/network/dnssec-exists.js +26 -20
- package/dist/hints/network/dnssec-exists.js.map +1 -1
- package/dist/hints/network/ipv6-ns-aaaa.js +3 -0
- package/dist/hints/network/ipv6-ns-aaaa.js.map +1 -1
- package/dist/hints/network/ipv6-same-content.js +14 -8
- package/dist/hints/network/ipv6-same-content.js.map +1 -1
- package/dist/hints/network/ipv6-web-aaaa.js +2 -1
- package/dist/hints/network/ipv6-web-aaaa.js.map +1 -1
- package/dist/hints/network/rpki-ns-valid.js +3 -0
- package/dist/hints/network/rpki-ns-valid.js.map +1 -1
- package/dist/hints/network/rpki-web-valid.js +3 -0
- package/dist/hints/network/rpki-web-valid.js.map +1 -1
- package/dist/hints/privacy/privacy-cookies.js +2 -2
- package/dist/hints/privacy/privacy-cookies.js.map +1 -1
- package/dist/hints/pwa/to-severity.js +6 -3
- package/dist/hints/pwa/to-severity.js.map +1 -1
- package/dist/hints/secplus/shared.js +6 -3
- package/dist/hints/secplus/shared.js.map +1 -1
- package/dist/hints/seo/icons-apple-touch-icon-missing.d.ts +1 -1
- package/dist/hints/seo/icons-apple-touch-icon-missing.js +1 -1
- package/dist/hints/seo/seo-robots-noindex.d.ts +1 -1
- package/dist/hints/seo/seo-robots-noindex.js +1 -1
- package/dist/hints/seo/to-severity.js +6 -3
- package/dist/hints/seo/to-severity.js.map +1 -1
- package/dist/hints/technical/technical-image-alt-coverage.d.ts +1 -1
- package/dist/hints/technical/technical-image-alt-coverage.js +1 -1
- package/dist/hints/technical/technical-image-formats.js +1 -1
- package/dist/hints/technical/technical-image-formats.js.map +1 -1
- package/dist/hints/tls/cert-hostname.js +1 -1
- package/dist/hints/tls/cert-hostname.js.map +1 -1
- package/dist/hints/tls/cert-pubkey.js +3 -0
- package/dist/hints/tls/cert-pubkey.js.map +1 -1
- package/dist/hints/tls/cert-signature.js +3 -0
- package/dist/hints/tls/cert-signature.js.map +1 -1
- package/dist/hints/tls/on-tls-site.js.map +1 -1
- package/dist/hints/tls/tls-compression.js +3 -0
- package/dist/hints/tls/tls-compression.js.map +1 -1
- package/dist/hints/tls/tls-kex-hash.js +3 -0
- package/dist/hints/tls/tls-kex-hash.js.map +1 -1
- package/dist/hints/tls/tls-version.js +2 -2
- package/dist/hints/tls/tls-version.js.map +1 -1
- package/dist/lib/agent/ard.js +1 -1
- package/dist/lib/agent/ard.js.map +1 -1
- package/dist/lib/agent/cards.js +21 -12
- package/dist/lib/agent/cards.js.map +1 -1
- package/dist/lib/agent/checks.js.map +1 -1
- package/dist/lib/agent/commerce.d.ts +1 -1
- package/dist/lib/agent/commerce.js +1 -1
- package/dist/lib/agent/dns-aid.d.ts +0 -5
- package/dist/lib/agent/dns-aid.js +37 -15
- package/dist/lib/agent/dns-aid.js.map +1 -1
- package/dist/lib/agent/link-headers.js +6 -3
- package/dist/lib/agent/link-headers.js.map +1 -1
- package/dist/lib/agent/poppy.js +4 -1
- package/dist/lib/agent/poppy.js.map +1 -1
- package/dist/lib/agent/robots.d.ts +1 -1
- package/dist/lib/agent/robots.js +31 -10
- package/dist/lib/agent/robots.js.map +1 -1
- package/dist/lib/agent/score.d.ts +1 -1
- package/dist/lib/agent/score.js +2 -2
- package/dist/lib/agent/score.js.map +1 -1
- package/dist/lib/agent/util.js +1 -1
- package/dist/lib/agent/util.js.map +1 -1
- package/dist/lib/discovery/nodeinfo.d.ts +1 -1
- package/dist/lib/discovery/nodeinfo.js +2 -2
- package/dist/lib/discovery/nodeinfo.js.map +1 -1
- package/dist/lib/discovery/pingback.d.ts +2 -3
- package/dist/lib/discovery/pingback.js +2 -3
- package/dist/lib/discovery/pingback.js.map +1 -1
- package/dist/lib/discovery/rel-me.d.ts +1 -2
- package/dist/lib/discovery/rel-me.js +1 -2
- package/dist/lib/discovery/rel-me.js.map +1 -1
- package/dist/lib/discovery/webmention.d.ts +1 -2
- package/dist/lib/discovery/webmention.js +1 -2
- package/dist/lib/discovery/webmention.js.map +1 -1
- package/dist/lib/email/dkim.js +18 -15
- package/dist/lib/email/dkim.js.map +1 -1
- package/dist/lib/email/dmarc-policy.js +1 -1
- package/dist/lib/email/dmarc-policy.js.map +1 -1
- package/dist/lib/email/dmarc.js +36 -18
- package/dist/lib/email/dmarc.js.map +1 -1
- package/dist/lib/email/domain.js +2 -2
- package/dist/lib/email/domain.js.map +1 -1
- package/dist/lib/email/mx.js +3 -1
- package/dist/lib/email/mx.js.map +1 -1
- package/dist/lib/email/smtp.d.ts +2 -2
- package/dist/lib/email/smtp.js +7 -5
- package/dist/lib/email/smtp.js.map +1 -1
- package/dist/lib/email/spf-policy.js +32 -40
- package/dist/lib/email/spf-policy.js.map +1 -1
- package/dist/lib/email/spf.js +15 -10
- package/dist/lib/email/spf.js.map +1 -1
- package/dist/lib/email/tlsa.js +4 -4
- package/dist/lib/email/tlsa.js.map +1 -1
- package/dist/lib/email/txt.js +17 -15
- package/dist/lib/email/txt.js.map +1 -1
- package/dist/lib/emailpolicy/bimi.js +4 -1
- package/dist/lib/emailpolicy/bimi.js.map +1 -1
- package/dist/lib/emailpolicy/mta-sts.d.ts +2 -2
- package/dist/lib/emailpolicy/mta-sts.js +10 -4
- package/dist/lib/emailpolicy/mta-sts.js.map +1 -1
- package/dist/lib/emailpolicy/tls-rpt.js +4 -6
- package/dist/lib/emailpolicy/tls-rpt.js.map +1 -1
- package/dist/lib/exposure/detect.js +3 -6
- package/dist/lib/exposure/detect.js.map +1 -1
- package/dist/lib/feeds/checks.d.ts +3 -3
- package/dist/lib/feeds/checks.js +3 -3
- package/dist/lib/feeds/read.js +3 -3
- package/dist/lib/feeds/read.js.map +1 -1
- package/dist/lib/feeds/validate.js +3 -0
- package/dist/lib/feeds/validate.js.map +1 -1
- package/dist/lib/feeds/xml.d.ts +2 -0
- package/dist/lib/feeds/xml.js +109 -40
- package/dist/lib/feeds/xml.js.map +1 -1
- package/dist/lib/files/ai-txt.js +24 -20
- package/dist/lib/files/ai-txt.js.map +1 -1
- package/dist/lib/files/llms-full-txt.js +11 -5
- package/dist/lib/files/llms-full-txt.js.map +1 -1
- package/dist/lib/files/llms-txt.js +8 -2
- package/dist/lib/files/llms-txt.js.map +1 -1
- package/dist/lib/files/robots-txt.js +10 -6
- package/dist/lib/files/robots-txt.js.map +1 -1
- package/dist/lib/files/security-txt.js +10 -3
- package/dist/lib/files/security-txt.js.map +1 -1
- package/dist/lib/geo/checks.js +1 -1
- package/dist/lib/geo/checks.js.map +1 -1
- package/dist/lib/geo/content.js +2 -2
- package/dist/lib/geo/content.js.map +1 -1
- package/dist/lib/geo/json-ld.js +1 -1
- package/dist/lib/geo/json-ld.js.map +1 -1
- package/dist/lib/headers/caching.js +2 -2
- package/dist/lib/headers/caching.js.map +1 -1
- package/dist/lib/headers/client-hints.js +3 -3
- package/dist/lib/headers/client-hints.js.map +1 -1
- package/dist/lib/headers/cookies.d.ts +1 -1
- package/dist/lib/headers/cookies.js +22 -16
- package/dist/lib/headers/cookies.js.map +1 -1
- package/dist/lib/headers/cors-extra.js +1 -1
- package/dist/lib/headers/cors-extra.js.map +1 -1
- package/dist/lib/headers/cors.d.ts +1 -1
- package/dist/lib/headers/cors.js +7 -4
- package/dist/lib/headers/cors.js.map +1 -1
- package/dist/lib/headers/cross-origin.js +2 -1
- package/dist/lib/headers/cross-origin.js.map +1 -1
- package/dist/lib/headers/csp.d.ts +1 -0
- package/dist/lib/headers/csp.js +58 -44
- package/dist/lib/headers/csp.js.map +1 -1
- package/dist/lib/headers/hsts.js +28 -21
- package/dist/lib/headers/hsts.js.map +1 -1
- package/dist/lib/headers/http-headers.js +3 -2
- package/dist/lib/headers/http-headers.js.map +1 -1
- package/dist/lib/headers/info-leak.js +1 -1
- package/dist/lib/headers/info-leak.js.map +1 -1
- package/dist/lib/headers/permissions-policy.js +5 -2
- package/dist/lib/headers/permissions-policy.js.map +1 -1
- package/dist/lib/headers/redirection.js +4 -2
- package/dist/lib/headers/redirection.js.map +1 -1
- package/dist/lib/headers/referrer-policy.js +6 -7
- package/dist/lib/headers/referrer-policy.js.map +1 -1
- package/dist/lib/headers/registrable-domain.js +2 -2
- package/dist/lib/headers/registrable-domain.js.map +1 -1
- package/dist/lib/headers/reporting.js +21 -15
- package/dist/lib/headers/reporting.js.map +1 -1
- package/dist/lib/headers/structured-field.js +10 -2
- package/dist/lib/headers/structured-field.js.map +1 -1
- package/dist/lib/headers/xss-protection.js +2 -2
- package/dist/lib/headers/xss-protection.js.map +1 -1
- package/dist/lib/headersx/accept-method.js +1 -1
- package/dist/lib/headersx/accept-method.js.map +1 -1
- package/dist/lib/headersx/digest.d.ts +2 -3
- package/dist/lib/headersx/digest.js +2 -3
- package/dist/lib/headersx/digest.js.map +1 -1
- package/dist/lib/headersx/privacy-apis.d.ts +2 -3
- package/dist/lib/headersx/privacy-apis.js +22 -15
- package/dist/lib/headersx/privacy-apis.js.map +1 -1
- package/dist/lib/headersx/service-worker.js +6 -9
- package/dist/lib/headersx/service-worker.js.map +1 -1
- package/dist/lib/network/caa.js +81 -38
- package/dist/lib/network/caa.js.map +1 -1
- package/dist/lib/network/dane.js +10 -8
- package/dist/lib/network/dane.js.map +1 -1
- package/dist/lib/network/dns-util.js +1 -1
- package/dist/lib/network/dns-util.js.map +1 -1
- package/dist/lib/network/ipv6.js +74 -4
- package/dist/lib/network/ipv6.js.map +1 -1
- package/dist/lib/network/rpki.d.ts +0 -1
- package/dist/lib/network/rpki.js +14 -14
- package/dist/lib/network/rpki.js.map +1 -1
- package/dist/lib/opengraph/checks.d.ts +1 -1
- package/dist/lib/opengraph/checks.js +11 -6
- package/dist/lib/opengraph/checks.js.map +1 -1
- package/dist/lib/opengraph/define.js.map +1 -1
- package/dist/lib/opengraph/image-size.js +14 -18
- package/dist/lib/opengraph/image-size.js.map +1 -1
- package/dist/lib/opengraph/text.js +2 -2
- package/dist/lib/opengraph/text.js.map +1 -1
- package/dist/lib/privacy/cookies.js +36 -28
- package/dist/lib/privacy/cookies.js.map +1 -1
- package/dist/lib/privacy/geolocation.js +1 -1
- package/dist/lib/privacy/geolocation.js.map +1 -1
- package/dist/lib/privacy/legal-links.d.ts +7 -0
- package/dist/lib/privacy/legal-links.js +42 -13
- package/dist/lib/privacy/legal-links.js.map +1 -1
- package/dist/lib/privacy/registrable-domain.js +14 -9
- package/dist/lib/privacy/registrable-domain.js.map +1 -1
- package/dist/lib/privacy/requests.js +9 -8
- package/dist/lib/privacy/requests.js.map +1 -1
- package/dist/lib/pwa/checks.js +5 -3
- package/dist/lib/pwa/checks.js.map +1 -1
- package/dist/lib/pwa/manifest.js +1 -1
- package/dist/lib/pwa/manifest.js.map +1 -1
- package/dist/lib/richresults/checks.js +22 -23
- package/dist/lib/richresults/checks.js.map +1 -1
- package/dist/lib/richresults/nodes.js +1 -1
- package/dist/lib/richresults/nodes.js.map +1 -1
- package/dist/lib/secplus/cookie-prefixes.js +21 -17
- package/dist/lib/secplus/cookie-prefixes.js.map +1 -1
- package/dist/lib/secplus/csp-strength.js +5 -3
- package/dist/lib/secplus/csp-strength.js.map +1 -1
- package/dist/lib/secplus/tabnabbing.d.ts +1 -1
- package/dist/lib/secplus/tabnabbing.js +1 -1
- package/dist/lib/seo/checks.js +2 -2
- package/dist/lib/seo/checks.js.map +1 -1
- package/dist/lib/seo/content.js +35 -19
- package/dist/lib/seo/content.js.map +1 -1
- package/dist/lib/seo/icons.js +1 -1
- package/dist/lib/seo/icons.js.map +1 -1
- package/dist/lib/seo/read.js +2 -2
- package/dist/lib/seo/read.js.map +1 -1
- package/dist/lib/technical/read.d.ts +1 -1
- package/dist/lib/technical/read.js +5 -4
- package/dist/lib/technical/read.js.map +1 -1
- package/dist/lib/technical/speed.js +7 -4
- package/dist/lib/technical/speed.js.map +1 -1
- package/dist/lib/tls/client.d.ts +2 -2
- package/dist/lib/tls/client.js +12 -11
- package/dist/lib/tls/client.js.map +1 -1
- package/dist/lib/tls/constants.js +4 -2
- package/dist/lib/tls/constants.js.map +1 -1
- package/dist/lib/tls/der.js +3 -3
- package/dist/lib/tls/der.js.map +1 -1
- package/dist/lib/tls/evaluate.d.ts +4 -5
- package/dist/lib/tls/evaluate.js +35 -27
- package/dist/lib/tls/evaluate.js.map +1 -1
- package/dist/lib/tls/openssl.js +6 -3
- package/dist/lib/tls/openssl.js.map +1 -1
- package/dist/lib/tls/remote.js +1 -1
- package/dist/lib/tls/remote.js.map +1 -1
- package/dist/lib/wellknown/ads-txt.js +3 -0
- package/dist/lib/wellknown/ads-txt.js.map +1 -1
- package/dist/lib/wellknown/apple-app-site-association.js +5 -5
- package/dist/lib/wellknown/apple-app-site-association.js.map +1 -1
- package/dist/lib/wellknown/assetlinks-json.js +1 -1
- package/dist/lib/wellknown/gpc-json.d.ts +1 -0
- package/dist/lib/wellknown/gpc-json.js +7 -1
- package/dist/lib/wellknown/gpc-json.js.map +1 -1
- package/dist/lib/wellknown/json.js +2 -2
- package/dist/lib/wellknown/json.js.map +1 -1
- package/dist/lib/wellknown/sellers-json.js +7 -7
- package/dist/lib/wellknown/sellers-json.js.map +1 -1
- package/dist/node/child-process.d.ts +1 -1
- package/dist/node/child-process.js +1 -1
- package/dist/node/child-process.js.map +1 -1
- package/dist/node/crypto.d.ts +1 -1
- package/dist/node/crypto.js +1 -1
- package/dist/node/crypto.js.map +1 -1
- package/dist/node/http.d.ts +1 -1
- package/dist/node/http.js +1 -1
- package/dist/node/http.js.map +1 -1
- package/dist/node/https.d.ts +1 -1
- package/dist/node/https.js +1 -1
- package/dist/node/https.js.map +1 -1
- package/dist/node/net.d.ts +1 -1
- package/dist/node/net.js +1 -1
- package/dist/node/net.js.map +1 -1
- package/dist/node/tls.d.ts +1 -1
- package/dist/node/tls.js +1 -1
- package/dist/node/tls.js.map +1 -1
- package/dist/node/url.d.ts +1 -1
- package/dist/node/url.js +1 -1
- package/dist/node/url.js.map +1 -1
- package/dist/presets.js +4 -2
- package/dist/presets.js.map +1 -1
- package/package.json +8 -6
- package/types/{child_process.d.ts → child-process.d.ts} +1 -1
- package/types/crypto.d.ts +1 -1
- package/types/fs-promises.d.ts +1 -1
- package/types/http.d.ts +1 -1
- package/types/https.d.ts +1 -1
- package/types/net.d.ts +1 -1
- package/types/os.d.ts +1 -1
- package/types/tls.d.ts +9 -1
- package/types/url.d.ts +1 -1
package/README.md
CHANGED
|
@@ -55,7 +55,7 @@ A few hints take options:
|
|
|
55
55
|
| `cache-control` | `enforce` (boolean) | Off by default. When `true`, requires `Cache-Control: no-store, max-age=0`, as private applications should. |
|
|
56
56
|
| `clear-site-data` | `logoutUrl` (string) | Off by default. When set, fetches that URL and checks it answers with `Clear-Site-Data`. |
|
|
57
57
|
|
|
58
|
-
For a report that groups the findings by section and shows each hint's description and sources, add [`@mridang/webhint-formatter-plumbline`](../formatter/README.md). To run every hint without writing a `.hintrc`, use the [`plumbline` CLI](../cli/
|
|
58
|
+
For a report that groups the findings by section and shows each hint's description and sources, add [`@mridang/webhint-formatter-plumbline`](../formatter/README.md). To run every hint without writing a `.hintrc`, use the [`plumbline` CLI](../cli/readme.md).
|
|
59
59
|
|
|
60
60
|
### Before the first release
|
|
61
61
|
|
package/dist/core/define-hint.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { HintScope } from '#hint';
|
|
2
|
-
import { Category } from '@hint/utils-types';
|
|
3
2
|
import { ORIGINS } from './origins.js';
|
|
4
3
|
import { PLACEMENT, SECTIONS, } from './taxonomy.js';
|
|
5
4
|
/**
|
|
@@ -87,5 +86,5 @@ export function defineHint(spec) {
|
|
|
87
86
|
ctor: ExtraHint,
|
|
88
87
|
};
|
|
89
88
|
}
|
|
90
|
-
export { Category };
|
|
89
|
+
export { Category } from '@hint/utils-types';
|
|
91
90
|
//# sourceMappingURL=define-hint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-hint.js","sourceRoot":"","sources":["../../src/core/define-hint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"define-hint.js","sourceRoot":"","sources":["../../src/core/define-hint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,OAAO,EAAE,OAAO,EAAe,MAAM,cAAc,CAAC;AACpD,OAAO,EACL,SAAS,EACT,QAAQ,GAIT,MAAM,eAAe,CAAC;AAmCvB;;;;;GAKG;AACH,SAAS,aAAa,CAAC,OAAoB,EAAE,IAAc;IACzD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACvD,MAAM,MAAM,GAA0B,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACnE,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;QAC1C,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;YAC3D,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC;QACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC;IACF,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE;QACxB,GAAG,CAAC,MAAM,EAAE,QAAQ;YAClB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAY,CAAC;YAC/D,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAClE,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,UAAU,CAAC,IAAc;IACvC,yEAAyE;IACzE,oEAAoE;IACpE,8EAA8E;IAC9E,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,EAAE,OAAO,CAAC,CAAC;IAClE,MAAM,IAAI,GAiBN;QACF,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,OAAO;YACT,CAAC,CAAC;gBACE,OAAO,EAAE,OAAO,CAAC,EAAE;gBACnB,YAAY,EAAE,OAAO,CAAC,KAAK;gBAC3B,kBAAkB,EAAE,OAAO,CAAC,WAAW;gBACvC,YAAY,EAAE,OAAO,CAAC,KAAK;gBAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,SAAS;YACX,CAAC,CAAC;gBACE,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,KAAK,EAAE,SAAS,CAAC,KAAK;aACvB;YACH,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE;QAC3B,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE;KAChC,CAAC;IACF,MAAM,IAAI,GAAiB;QACzB,IAAI;QACJ,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW;QACtC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI;QACxB,EAAE,EAAE,SAAS,IAAI,CAAC,EAAE,EAAE;QACtB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI;KACpC,CAAC;IAEF,MAAM,SAAS;QACN,MAAM,CAAU,IAAI,GAAG,IAAI,CAAC;QAEnC,YAAmB,OAAoB;YACrC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3C,CAAC;;IAGH,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,IAAI,EAAE,SAAS;KAChB,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/core/dns.js
CHANGED
|
@@ -24,8 +24,8 @@ function dohClient(endpoint = 'https://cloudflare-dns.com/dns-query', fetchImpl
|
|
|
24
24
|
return {
|
|
25
25
|
status: body.Status,
|
|
26
26
|
authenticated: body.AD === true,
|
|
27
|
-
answers: (body.Answer ?? []).map(toRecord),
|
|
28
|
-
authority: (body.Authority ?? []).map(toRecord),
|
|
27
|
+
answers: (body.Answer ?? []).map((r) => toRecord(r)),
|
|
28
|
+
authority: (body.Authority ?? []).map((r) => toRecord(r)),
|
|
29
29
|
};
|
|
30
30
|
},
|
|
31
31
|
};
|
package/dist/core/dns.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dns.js","sourceRoot":"","sources":["../../src/core/dns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuDH,MAAM,QAAQ,GAAG,CAAC,CAAY,EAAa,EAAE,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,IAAI;IACZ,IAAI,EAAE,CAAC,CAAC,IAAI;IACZ,GAAG,EAAE,CAAC,CAAC,GAAG;IACV,IAAI,EAAE,CAAC,CAAC,IAAI;CACb,CAAC,CAAC;AAEH,oEAAoE;AACpE,SAAS,SAAS,CAChB,QAAQ,GAAG,sCAAsC,EACjD,YAA0B,KAAK;IAE/B,OAAO;QACL,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI;YACpB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACnC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;gBACpC,OAAO,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE;aAC5C,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAY,CAAC;YAChD,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,aAAa,EAAE,IAAI,CAAC,EAAE,KAAK,IAAI;gBAC/B,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"dns.js","sourceRoot":"","sources":["../../src/core/dns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuDH,MAAM,QAAQ,GAAG,CAAC,CAAY,EAAa,EAAE,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,IAAI;IACZ,IAAI,EAAE,CAAC,CAAC,IAAI;IACZ,GAAG,EAAE,CAAC,CAAC,GAAG;IACV,IAAI,EAAE,CAAC,CAAC,IAAI;CACb,CAAC,CAAC;AAEH,oEAAoE;AACpE,SAAS,SAAS,CAChB,QAAQ,GAAG,sCAAsC,EACjD,YAA0B,KAAK;IAE/B,OAAO;QACL,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI;YACpB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACnC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;gBACpC,OAAO,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE;aAC5C,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAY,CAAC;YAChD,OAAO;gBACL,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,aAAa,EAAE,IAAI,CAAC,EAAE,KAAK,IAAI;gBAC/B,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACpD,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC1D,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,iEAAiE;AACjE,MAAM,CAAC,MAAM,GAAG,GAA0B,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC"}
|
package/dist/core/selectors.d.ts
CHANGED
|
@@ -17,8 +17,7 @@ export declare function matches(selector: Selector, subject: Subject): boolean;
|
|
|
17
17
|
* nothing. A bare name is read as a tag first (a section that is also a tag is
|
|
18
18
|
* a twin, and the tag is the larger set), then as a section, target, tier,
|
|
19
19
|
* control or source, then as an old alias, and last as an old group.
|
|
20
|
-
*
|
|
21
|
-
* @param
|
|
22
|
-
* @param groups Every group name hints list, for the old groups.
|
|
20
|
+
* @param name - A selector, with or without its kind, or an old group name.
|
|
21
|
+
* @param groups - Every group name hints list, for the old groups.
|
|
23
22
|
*/
|
|
24
23
|
export declare function resolve(name: string, groups: ReadonlySet<string>): readonly Selector[] | undefined;
|
package/dist/core/selectors.js
CHANGED
|
@@ -20,29 +20,34 @@ const KINDS = {
|
|
|
20
20
|
export function matches(selector, subject) {
|
|
21
21
|
const placement = PLACEMENT[subject.id];
|
|
22
22
|
switch (selector.kind) {
|
|
23
|
-
case 'section':
|
|
23
|
+
case 'section': {
|
|
24
24
|
return placement?.section === selector.value;
|
|
25
|
-
|
|
25
|
+
}
|
|
26
|
+
case 'tag': {
|
|
26
27
|
return placement?.tags.includes(selector.value) ?? false;
|
|
27
|
-
|
|
28
|
+
}
|
|
29
|
+
case 'target': {
|
|
28
30
|
return placement?.target === selector.value;
|
|
29
|
-
|
|
31
|
+
}
|
|
32
|
+
case 'control': {
|
|
30
33
|
return placement?.control === selector.value;
|
|
31
|
-
|
|
34
|
+
}
|
|
35
|
+
case 'tier': {
|
|
32
36
|
return placement?.tier === selector.value;
|
|
37
|
+
}
|
|
33
38
|
case 'source':
|
|
34
|
-
case 'group':
|
|
39
|
+
case 'group': {
|
|
35
40
|
return subject.groups.includes(selector.value);
|
|
41
|
+
}
|
|
36
42
|
}
|
|
37
43
|
}
|
|
38
44
|
/**
|
|
39
45
|
* Reads a selector written with its kind (`tag:seo`).
|
|
40
|
-
*
|
|
41
46
|
* @returns The selector, or undefined when the kind or the name is unknown.
|
|
42
47
|
*/
|
|
43
48
|
function prefixed(name) {
|
|
44
49
|
const colon = name.indexOf(':');
|
|
45
|
-
if (colon
|
|
50
|
+
if (colon === -1) {
|
|
46
51
|
return undefined;
|
|
47
52
|
}
|
|
48
53
|
const kind = name.slice(0, colon);
|
|
@@ -59,9 +64,8 @@ function prefixed(name) {
|
|
|
59
64
|
* nothing. A bare name is read as a tag first (a section that is also a tag is
|
|
60
65
|
* a twin, and the tag is the larger set), then as a section, target, tier,
|
|
61
66
|
* control or source, then as an old alias, and last as an old group.
|
|
62
|
-
*
|
|
63
|
-
* @param
|
|
64
|
-
* @param groups Every group name hints list, for the old groups.
|
|
67
|
+
* @param name - A selector, with or without its kind, or an old group name.
|
|
68
|
+
* @param groups - Every group name hints list, for the old groups.
|
|
65
69
|
*/
|
|
66
70
|
export function resolve(name, groups) {
|
|
67
71
|
const given = prefixed(name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../src/core/selectors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,OAAO,EACP,OAAO,EACP,KAAK,GACN,MAAM,eAAe,CAAC;AAYvB,+EAA+E;AAC/E,MAAM,KAAK,GAEP;IACF,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAClD,GAAG,EAAE,OAAO;IACZ,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9C,IAAI,EAAE,KAAK;IACX,MAAM,EAAE,aAAa;CACtB,CAAC;AAQF,wCAAwC;AACxC,MAAM,UAAU,OAAO,CAAC,QAAkB,EAAE,OAAgB;IAC1D,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxC,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,SAAS;
|
|
1
|
+
{"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../src/core/selectors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Isitagentready.com check. Discovery: the A2A agent card advertises skills and endpoints.
|
|
3
3
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: import("../../core/define-hint.js").HintDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Discovery: the A2A agent card advertises skills and endpoints.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Commerce, informational.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Isitagentready.com check. Bot access control: explicit rules for GPTBot, ClaudeBot and others, not only a wildcard group.
|
|
3
3
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: import("../../core/define-hint.js").HintDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Bot access control: explicit rules for GPTBot, ClaudeBot and others, not only a wildcard group.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Isitagentready.com check. Discovery: a single document listing the site's APIs and their descriptions.
|
|
3
3
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: import("../../core/define-hint.js").HintDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Discovery: a single document listing the site's APIs and their descriptions.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Isitagentready.com check. Discovery (not scored): a catalog of agent-usable resources with urn:air ids.
|
|
3
3
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: import("../../core/define-hint.js").HintDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Discovery (not scored): a catalog of agent-usable resources with urn:air ids.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Isitagentready.com check. Discovery: human and agent readable instructions for registering an agent.
|
|
3
3
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: import("../../core/define-hint.js").HintDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Discovery: human and agent readable instructions for registering an agent.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Isitagentready.com check. Bot access control: states whether content may be used for ai-train, search and ai-input.
|
|
3
3
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: import("../../core/define-hint.js").HintDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Bot access control: states whether content may be used for ai-train, search and ai-input.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Isitagentready.com check. Discoverability: ServiceMode SVCB/HTTPS records (RFC 9460) at _index/_a2a/_mcp._agents tell agents where endpoints live.
|
|
3
3
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: import("../../core/define-hint.js").HintDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Discoverability: ServiceMode SVCB/HTTPS records (RFC 9460) at _index/_a2a/_mcp._agents tell agents where endpoints live.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Isitagentready.com check. Discoverability: RFC 8288 Link headers (with RFC 9727 relations) point agents at API descriptions without parsing HTML.
|
|
3
3
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: import("../../core/define-hint.js").HintDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Discoverability: RFC 8288 Link headers (with RFC 9727 relations) point agents at API descriptions without parsing HTML.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Isitagentready.com check. Content accessibility: markdown costs far fewer tokens than HTML.
|
|
3
3
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: import("../../core/define-hint.js").HintDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Content accessibility: markdown costs far fewer tokens than HTML.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Isitagentready.com check. Discovery: SEP-1649 / SEP-2127 server cards describe an MCP server before connecting.
|
|
3
3
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: import("../../core/define-hint.js").HintDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Discovery: SEP-1649 / SEP-2127 server cards describe an MCP server before connecting.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Commerce, informational.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Isitagentready.com check. Discovery: agents learn how to authenticate from /.well-known/openid-configuration or oauth-authorization-server.
|
|
3
3
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: import("../../core/define-hint.js").HintDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Discovery: agents learn how to authenticate from /.well-known/openid-configuration or oauth-authorization-server.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Isitagentready.com check. Discovery: RFC 9728 tells agents which authorization servers protect this resource.
|
|
3
3
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: import("../../core/define-hint.js").HintDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Discovery: RFC 9728 tells agents which authorization servers protect this resource.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Isitagentready.com check. Discovery (not scored): organisation manifest for personal agents.
|
|
3
3
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: import("../../core/define-hint.js").HintDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Discovery (not scored): organisation manifest for personal agents.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Isitagentready.com check. Discoverability: agents read /robots.txt first to learn what they may crawl (RFC 9309).
|
|
3
3
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: import("../../core/define-hint.js").HintDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Discoverability: agents read /robots.txt first to learn what they may crawl (RFC 9309).
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Isitagentready.com check. Discoverability: a sitemap lets agents enumerate pages without crawling.
|
|
3
3
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: import("../../core/define-hint.js").HintDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Discoverability: a sitemap lets agents enumerate pages without crawling.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Isitagentready.com check. Discovery: /.well-known/agent-skills/index.json (Cloudflare agent-skills-discovery RFC) lists installable skills.
|
|
3
3
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: import("../../core/define-hint.js").HintDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Discovery: /.well-known/agent-skills/index.json (Cloudflare agent-skills-discovery RFC) lists installable skills.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Commerce, informational.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Isitagentready.com check. Bot access control (not scored): lets bots prove identity with HTTP message signatures.
|
|
3
3
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: import("../../core/define-hint.js").HintDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Bot access control (not scored): lets bots prove identity with HTTP message signatures.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Isitagentready.com check. Discovery: needs a browser connector; tools registered by the page are callable by in-browser agents.
|
|
3
3
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: import("../../core/define-hint.js").HintDefinition;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Discovery: needs a browser connector; tools registered by the page are callable by in-browser agents.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { agentHint } from './define-agent-hint.js';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Isitagentready.com check. Commerce, informational.
|
|
4
4
|
* The logic lives in `src/lib/agent`; failures are reported as advice.
|
|
5
5
|
*/
|
|
6
6
|
export default agentHint({
|
|
@@ -31,11 +31,10 @@ export default defineHint({
|
|
|
31
31
|
onMailDomain(context, async (mail) => {
|
|
32
32
|
for (const host of mail.hosts) {
|
|
33
33
|
const existence = await daneExistence(host, 25);
|
|
34
|
-
if (existence.state !== 'exists') {
|
|
35
|
-
continue;
|
|
36
|
-
}
|
|
37
34
|
// Receiving mail servers must not use the PKIX usages (RFC 7672).
|
|
38
|
-
const records = existence.
|
|
35
|
+
const records = existence.state === 'exists'
|
|
36
|
+
? existence.records.filter((record) => record.usage === 2 || record.usage === 3)
|
|
37
|
+
: [];
|
|
39
38
|
if (records.length === 0 || hasDaneRollover(records)) {
|
|
40
39
|
continue;
|
|
41
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mail-dane-rollover.js","sourceRoot":"","sources":["../../../src/hints/email/mail-dane-rollover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,aAAa,EACb,UAAU,EACV,eAAe,GAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oBAAoB,EACpB,YAAY,GACb,MAAM,mCAAmC,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,eAAe,UAAU,CAAC;IACxB,EAAE,EAAE,oBAAoB;IACxB,IAAI,EAAE,0CAA0C;IAChD,WAAW,EACT,iIAAiI;IACnI,QAAQ,EAAE,QAAQ,CAAC,QAAQ;IAC3B,MAAM,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC;IAC7C,SAAS,EAAE,sBAAsB;IACjC,MAAM,EAAE;QACN;YACE,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE,oBAAoB;SACjC;KACF;IACD,KAAK,CAAC,OAAO;QACX,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAChD,
|
|
1
|
+
{"version":3,"file":"mail-dane-rollover.js","sourceRoot":"","sources":["../../../src/hints/email/mail-dane-rollover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,aAAa,EACb,UAAU,EACV,eAAe,GAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oBAAoB,EACpB,YAAY,GACb,MAAM,mCAAmC,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,eAAe,UAAU,CAAC;IACxB,EAAE,EAAE,oBAAoB;IACxB,IAAI,EAAE,0CAA0C;IAChD,WAAW,EACT,iIAAiI;IACnI,QAAQ,EAAE,QAAQ,CAAC,QAAQ;IAC3B,MAAM,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC;IAC7C,SAAS,EAAE,sBAAsB;IACjC,MAAM,EAAE;QACN;YACE,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE,oBAAoB;SACjC;KACF;IACD,KAAK,CAAC,OAAO;QACX,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAChD,kEAAkE;gBAClE,MAAM,OAAO,GACX,SAAS,CAAC,KAAK,KAAK,QAAQ;oBAC1B,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CACtB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,CACrD;oBACH,CAAC,CAAC,EAAE,CAAC;gBACT,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;oBACrD,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,MAAM,CACT,GAAG,IAAI,0MAA0M,EACjN;oBACE,QAAQ,EAAE,QAAQ,CAAC,IAAI;oBACvB,WAAW,EAAE,OAAO;yBACjB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;yBACvD,IAAI,CAAC,IAAI,CAAC;iBACd,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
|