lighthouse 13.5.0-dev.20261023 → 13.6.0-dev.20261027

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 (99) hide show
  1. package/.agents/skills/update-ard-port/SKILL.md +4 -3
  2. package/cli/printer.js +5 -8
  3. package/core/audits/accessibility/accesskeys.js +1 -1
  4. package/core/audits/accessibility/aria-allowed-attr.js +1 -1
  5. package/core/audits/accessibility/aria-allowed-role.js +1 -1
  6. package/core/audits/accessibility/aria-command-name.js +1 -1
  7. package/core/audits/accessibility/aria-conditional-attr.js +1 -1
  8. package/core/audits/accessibility/aria-deprecated-role.js +1 -1
  9. package/core/audits/accessibility/aria-dialog-name.js +1 -1
  10. package/core/audits/accessibility/aria-hidden-body.js +1 -1
  11. package/core/audits/accessibility/aria-hidden-focus.js +1 -1
  12. package/core/audits/accessibility/aria-input-field-name.js +1 -1
  13. package/core/audits/accessibility/aria-meter-name.js +1 -1
  14. package/core/audits/accessibility/aria-progressbar-name.js +1 -1
  15. package/core/audits/accessibility/aria-prohibited-attr.js +1 -1
  16. package/core/audits/accessibility/aria-required-attr.js +1 -1
  17. package/core/audits/accessibility/aria-required-children.js +1 -1
  18. package/core/audits/accessibility/aria-required-parent.js +1 -1
  19. package/core/audits/accessibility/aria-roles.js +1 -1
  20. package/core/audits/accessibility/aria-text.js +1 -1
  21. package/core/audits/accessibility/aria-toggle-field-name.js +1 -1
  22. package/core/audits/accessibility/aria-tooltip-name.js +1 -1
  23. package/core/audits/accessibility/aria-treeitem-name.js +1 -1
  24. package/core/audits/accessibility/aria-valid-attr-value.js +1 -1
  25. package/core/audits/accessibility/aria-valid-attr.js +1 -1
  26. package/core/audits/accessibility/autocomplete-valid.js +1 -1
  27. package/core/audits/accessibility/button-name.js +1 -1
  28. package/core/audits/accessibility/bypass.js +1 -1
  29. package/core/audits/accessibility/color-contrast.js +1 -1
  30. package/core/audits/accessibility/definition-list.js +1 -1
  31. package/core/audits/accessibility/dlitem.js +1 -1
  32. package/core/audits/accessibility/document-title.js +1 -1
  33. package/core/audits/accessibility/duplicate-id-aria.js +1 -1
  34. package/core/audits/accessibility/empty-heading.js +1 -1
  35. package/core/audits/accessibility/form-field-multiple-labels.js +1 -1
  36. package/core/audits/accessibility/frame-title.js +1 -1
  37. package/core/audits/accessibility/heading-order.js +1 -1
  38. package/core/audits/accessibility/html-has-lang.js +1 -1
  39. package/core/audits/accessibility/html-lang-valid.js +1 -1
  40. package/core/audits/accessibility/html-xml-lang-mismatch.js +1 -1
  41. package/core/audits/accessibility/identical-links-same-purpose.js +1 -1
  42. package/core/audits/accessibility/image-alt.js +1 -1
  43. package/core/audits/accessibility/image-redundant-alt.js +1 -1
  44. package/core/audits/accessibility/input-button-name.js +1 -1
  45. package/core/audits/accessibility/input-image-alt.js +1 -1
  46. package/core/audits/accessibility/label-content-name-mismatch.js +1 -1
  47. package/core/audits/accessibility/label.js +1 -1
  48. package/core/audits/accessibility/landmark-one-main.js +1 -1
  49. package/core/audits/accessibility/link-in-text-block.js +1 -1
  50. package/core/audits/accessibility/link-name.js +1 -1
  51. package/core/audits/accessibility/list.js +1 -1
  52. package/core/audits/accessibility/listitem.js +1 -1
  53. package/core/audits/accessibility/meta-refresh.js +1 -1
  54. package/core/audits/accessibility/meta-viewport.js +1 -1
  55. package/core/audits/accessibility/object-alt.js +1 -1
  56. package/core/audits/accessibility/presentation-role-conflict.js +1 -1
  57. package/core/audits/accessibility/select-name.js +1 -1
  58. package/core/audits/accessibility/skip-link.js +1 -1
  59. package/core/audits/accessibility/svg-img-alt.js +1 -1
  60. package/core/audits/accessibility/tabindex.js +1 -1
  61. package/core/audits/accessibility/table-duplicate-name.js +1 -1
  62. package/core/audits/accessibility/table-fake-caption.js +1 -1
  63. package/core/audits/accessibility/target-size.js +1 -1
  64. package/core/audits/accessibility/td-has-header.js +1 -1
  65. package/core/audits/accessibility/td-headers-attr.js +1 -1
  66. package/core/audits/accessibility/th-has-data-cells.js +1 -1
  67. package/core/audits/accessibility/valid-lang.js +1 -1
  68. package/core/audits/accessibility/video-caption.js +1 -1
  69. package/core/audits/baseline.d.ts +5 -4
  70. package/core/lib/baseline/web-features-data.json +6 -4
  71. package/core/lib/baseline/web-features-metadata.json +1 -1
  72. package/core/lib/bf-cache-strings.js +188 -204
  73. package/core/lib/deprecations-strings.d.ts +43 -46
  74. package/core/lib/deprecations-strings.js +12 -14
  75. package/core/runner.js +6 -0
  76. package/dist/report/bundle.esm.js +10 -10
  77. package/dist/report/flow.js +4 -4
  78. package/dist/report/standalone.js +5 -5
  79. package/flow-report/src/common.tsx +5 -2
  80. package/flow-report/src/i18n/i18n.d.ts +2 -0
  81. package/flow-report/src/summary/summary.tsx +9 -1
  82. package/package.json +9 -9
  83. package/report/renderer/category-renderer.js +2 -2
  84. package/report/renderer/details-renderer.js +3 -2
  85. package/report/renderer/dom.d.ts +8 -2
  86. package/report/renderer/dom.js +29 -1
  87. package/report/renderer/element-screenshot-renderer.js +3 -0
  88. package/report/renderer/performance-category-renderer.js +1 -0
  89. package/report/renderer/report-renderer.js +4 -0
  90. package/report/renderer/report-utils.d.ts +1 -0
  91. package/report/renderer/report-utils.js +2 -0
  92. package/shared/localization/locales/en-US.json +69 -66
  93. package/shared/localization/locales/en-XL.json +69 -66
  94. package/third-party/ard/README.md +3 -3
  95. package/third-party/ard/ard-test.js +8 -2
  96. package/third-party/ard/ard.d.ts +1 -0
  97. package/third-party/ard/ard.js +8 -2
  98. package/third-party/ard/schema-validator.js +1 -1
  99. package/third-party/ard/spec/schemas/ard-entry.schema.json +1 -1
@@ -6,10 +6,10 @@ The original Python script is located in the `ards-project/ard-spec` repository:
6
6
  - **Upstream Repository**: https://github.com/ards-project/ard-spec
7
7
  - **Source Script**: `conformance/bin/conformance-test`
8
8
  - **Schema**: `spec/schemas/ard-entry.schema.json` (`$defs/ArdManifest` and `$defs/ArdEntry`)
9
- - **Pinned Commit SHA**: `b76f235a8f461876ad4f1e77abd0eb0eb302b48d`
9
+ - **Pinned Commit SHA**: `f073b1ea9b01a5f068d0b0986426f2ea49fa30b2`
10
10
  - **Reviewed Upstream Files** (SHA-256 of the upstream content the port was last verified against; maintained by `yarn update:ard-spec --ack-port`, do not edit by hand):
11
- - `conformance/bin/conformance-test`: `ac2f3cae1c4ac75261fe45786a117aaad275322c92b74110529ad03a794275b4`
12
- - `spec/ard.md`: `6deb2cc58216fb279569d8ff61bd4595ccdf6ceaeef6766a1a1c9f25b6b68a62`
11
+ - `conformance/bin/conformance-test`: `428b6cc17e8bb76c796c79b30953a02d70e92a6a9da8d0ef43027f7e968c1c7c`
12
+ - `spec/ard.md`: `6d11107b60ff962d636c2bb66bf242d2c5d4f47eb0fbbec3b498deb3db771b78`
13
13
 
14
14
  ## Modifications for Lighthouse:
15
15
  While the validation rules and test suite maintain 1:1 parity with the reference suite, the following adaptations were made for Lighthouse integration:
@@ -76,7 +76,7 @@ describe('ARD Schema validation (ported from ard-spec)', () => {
76
76
  expect(tester.warnings).toEqual([]);
77
77
  });
78
78
 
79
- it('warns, but does not fail, when root contains deprecated collections (ADR-0003)', () => {
79
+ it('warns, but does not fail, when root contains deprecated collections', () => {
80
80
  const manifest = {
81
81
  specVersion: '1.0',
82
82
  collections: [],
@@ -88,7 +88,9 @@ describe('ARD Schema validation (ported from ard-spec)', () => {
88
88
  expect(tester.warnings).toEqual([
89
89
  {
90
90
  element: 'Root',
91
- message: expect.stringContaining('Found \'collections\' at root'),
91
+ message: 'Found \'collections\' at root. Top-level collections were removed; ARD ' +
92
+ 'ignores unrecognized top-level members, so this does not invalidate the manifest, ' +
93
+ 'but hierarchies should be modeled inside \'entries\'.',
92
94
  },
93
95
  ]);
94
96
  });
@@ -163,6 +165,10 @@ describe('ARD Schema validation (ported from ard-spec)', () => {
163
165
  for (const type of [
164
166
  'application/ai-catalog+json',
165
167
  'APPLICATION/AI-Catalog+JSON',
168
+ 'application/agent-skills+json',
169
+ 'application/agent-skills+md',
170
+ 'application/agent-plugins+zip',
171
+ 'application/agent-plugins+gzip',
166
172
  'text/markdown; profile="urn:air:agent-skills"',
167
173
  'text/markdown;profile="urn:air:agent-skills"',
168
174
  ]) {
@@ -3,6 +3,7 @@ export type ValidationError = {
3
3
  element: string;
4
4
  message: string;
5
5
  };
6
+ export const ARD_VERSION: "0.91 (f073b1e)";
6
7
  /**
7
8
  * @typedef {{
8
9
  * element: string,
@@ -13,6 +13,8 @@
13
13
  import log from 'lighthouse-logger';
14
14
  import {ArdManifest as validateArdManifest, ArdEntry as validateArdEntry} from './schema-validator.js';
15
15
 
16
+ const ARD_VERSION = '0.91 (f073b1e)';
17
+
16
18
  // Strict URN Regex matching urn:air:<publisher>:<namespace>:<agent-name>
17
19
  const URN_REGEX = /^urn:air:([a-zA-Z0-9.-]+)(?::([a-zA-Z0-9._:-]+))?:([a-zA-Z0-9._-]+)$/;
18
20
 
@@ -73,9 +75,13 @@ const STANDARD_MEDIA_TYPES = [
73
75
  "application/agent-card+json",
74
76
  "application/a2a-agent-card+json",
75
77
  "application/mcp-server-card+json",
78
+ "application/agent-skills+json",
79
+ "application/agent-skills+md",
76
80
  "application/agent-skills+zip",
77
81
  "application/agent-skills+gzip",
78
82
  'text/markdown; profile="urn:air:agent-skills"',
83
+ "application/agent-plugins+zip",
84
+ "application/agent-plugins+gzip",
79
85
  "application/ai-registry",
80
86
  "application/ai-registry+json",
81
87
  ];
@@ -425,11 +431,11 @@ class ConformanceTester {
425
431
 
426
432
  // Top-level deprecated property check
427
433
  if ("collections" in root) {
428
- this.add_warning("Found 'collections' at root. Top-level collections were removed in ADR-0003; ARD ignores unrecognized top-level members, so this does not invalidate the manifest, but hierarchies should be modeled inside 'entries'.", 'Root');
434
+ this.add_warning("Found 'collections' at root. Top-level collections were removed; ARD ignores unrecognized top-level members, so this does not invalidate the manifest, but hierarchies should be modeled inside 'entries'.", 'Root');
429
435
  }
430
436
 
431
437
  return this.errors.length === 0;
432
438
  }
433
439
  }
434
440
 
435
- export { ConformanceTester, classify_media_type };
441
+ export { ARD_VERSION, ConformanceTester, classify_media_type };
@@ -201,7 +201,7 @@ const schema34 = {
201
201
  },
202
202
  "attestations": {
203
203
  "type": "array",
204
- "description": "Verifiable claims (compliance audits, certifications).",
204
+ "description": "Verifiable claims (e.g., organizational compliance audits, artifact security scans, build provenance, transparency-log receipts, or runtime evaluations).",
205
205
  "items": {
206
206
  "type": "object",
207
207
  "required": [
@@ -138,7 +138,7 @@
138
138
  },
139
139
  "attestations": {
140
140
  "type": "array",
141
- "description": "Verifiable claims (compliance audits, certifications).",
141
+ "description": "Verifiable claims (e.g., organizational compliance audits, artifact security scans, build provenance, transparency-log receipts, or runtime evaluations).",
142
142
  "items": {
143
143
  "type": "object",
144
144
  "required": ["type", "uri"],