ax-audit 3.1.0 → 4.0.0

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 (208) hide show
  1. package/CHANGELOG.md +198 -0
  2. package/LICENSE +1 -1
  3. package/README.md +89 -231
  4. package/dist/baseline.d.ts +2 -0
  5. package/dist/baseline.d.ts.map +1 -1
  6. package/dist/baseline.js +42 -4
  7. package/dist/baseline.js.map +1 -1
  8. package/dist/check-ids.d.ts +19 -0
  9. package/dist/check-ids.d.ts.map +1 -0
  10. package/dist/check-ids.js +53 -0
  11. package/dist/check-ids.js.map +1 -0
  12. package/dist/checks/agent-access.d.ts +33 -0
  13. package/dist/checks/agent-access.d.ts.map +1 -0
  14. package/dist/checks/agent-access.js +256 -0
  15. package/dist/checks/agent-access.js.map +1 -0
  16. package/dist/checks/agent-card.d.ts +37 -0
  17. package/dist/checks/agent-card.d.ts.map +1 -0
  18. package/dist/checks/agent-card.js +352 -0
  19. package/dist/checks/agent-card.js.map +1 -0
  20. package/dist/checks/agent-operability.d.ts +66 -0
  21. package/dist/checks/agent-operability.d.ts.map +1 -0
  22. package/dist/checks/agent-operability.js +383 -0
  23. package/dist/checks/agent-operability.js.map +1 -0
  24. package/dist/checks/agent-skills.d.ts +24 -0
  25. package/dist/checks/agent-skills.d.ts.map +1 -0
  26. package/dist/checks/agent-skills.js +316 -0
  27. package/dist/checks/agent-skills.js.map +1 -0
  28. package/dist/checks/ai-catalog.d.ts +28 -0
  29. package/dist/checks/ai-catalog.d.ts.map +1 -0
  30. package/dist/checks/ai-catalog.js +254 -0
  31. package/dist/checks/ai-catalog.js.map +1 -0
  32. package/dist/checks/ai-directives.d.ts +57 -0
  33. package/dist/checks/ai-directives.d.ts.map +1 -0
  34. package/dist/checks/ai-directives.js +263 -0
  35. package/dist/checks/ai-directives.js.map +1 -0
  36. package/dist/checks/api-discovery.d.ts +26 -0
  37. package/dist/checks/api-discovery.d.ts.map +1 -0
  38. package/dist/checks/api-discovery.js +432 -0
  39. package/dist/checks/api-discovery.js.map +1 -0
  40. package/dist/checks/auth-discovery.d.ts +28 -0
  41. package/dist/checks/auth-discovery.d.ts.map +1 -0
  42. package/dist/checks/auth-discovery.js +213 -0
  43. package/dist/checks/auth-discovery.js.map +1 -0
  44. package/dist/checks/commerce-discovery.d.ts +40 -0
  45. package/dist/checks/commerce-discovery.d.ts.map +1 -0
  46. package/dist/checks/commerce-discovery.js +295 -0
  47. package/dist/checks/commerce-discovery.js.map +1 -0
  48. package/dist/checks/content-negotiation.d.ts.map +1 -1
  49. package/dist/checks/content-negotiation.js +135 -20
  50. package/dist/checks/content-negotiation.js.map +1 -1
  51. package/dist/checks/crawl-efficiency.d.ts +16 -0
  52. package/dist/checks/crawl-efficiency.d.ts.map +1 -0
  53. package/dist/checks/crawl-efficiency.js +186 -0
  54. package/dist/checks/crawl-efficiency.js.map +1 -0
  55. package/dist/checks/frontmatter.d.ts +34 -0
  56. package/dist/checks/frontmatter.d.ts.map +1 -0
  57. package/dist/checks/frontmatter.js +100 -0
  58. package/dist/checks/frontmatter.js.map +1 -0
  59. package/dist/checks/html-rendering.d.ts.map +1 -1
  60. package/dist/checks/html-rendering.js +0 -1
  61. package/dist/checks/html-rendering.js.map +1 -1
  62. package/dist/checks/html-utils.d.ts +10 -0
  63. package/dist/checks/html-utils.d.ts.map +1 -1
  64. package/dist/checks/html-utils.js +19 -0
  65. package/dist/checks/html-utils.js.map +1 -1
  66. package/dist/checks/http-headers.d.ts.map +1 -1
  67. package/dist/checks/http-headers.js +82 -10
  68. package/dist/checks/http-headers.js.map +1 -1
  69. package/dist/checks/http-hygiene.d.ts +26 -0
  70. package/dist/checks/http-hygiene.d.ts.map +1 -0
  71. package/dist/checks/http-hygiene.js +257 -0
  72. package/dist/checks/http-hygiene.js.map +1 -0
  73. package/dist/checks/index.d.ts.map +1 -1
  74. package/dist/checks/index.js +30 -8
  75. package/dist/checks/index.js.map +1 -1
  76. package/dist/checks/llms-txt.d.ts +15 -0
  77. package/dist/checks/llms-txt.d.ts.map +1 -1
  78. package/dist/checks/llms-txt.js +162 -2
  79. package/dist/checks/llms-txt.js.map +1 -1
  80. package/dist/checks/mcp-discovery.d.ts +30 -0
  81. package/dist/checks/mcp-discovery.d.ts.map +1 -0
  82. package/dist/checks/mcp-discovery.js +523 -0
  83. package/dist/checks/mcp-discovery.js.map +1 -0
  84. package/dist/checks/meta-tags.d.ts.map +1 -1
  85. package/dist/checks/meta-tags.js +6 -5
  86. package/dist/checks/meta-tags.js.map +1 -1
  87. package/dist/checks/robots-parser.d.ts +110 -0
  88. package/dist/checks/robots-parser.d.ts.map +1 -0
  89. package/dist/checks/robots-parser.js +277 -0
  90. package/dist/checks/robots-parser.js.map +1 -0
  91. package/dist/checks/robots-txt.d.ts +2 -0
  92. package/dist/checks/robots-txt.d.ts.map +1 -1
  93. package/dist/checks/robots-txt.js +252 -45
  94. package/dist/checks/robots-txt.js.map +1 -1
  95. package/dist/checks/{mcp.d.ts → rsl.d.ts} +1 -1
  96. package/dist/checks/rsl.d.ts.map +1 -0
  97. package/dist/checks/rsl.js +242 -0
  98. package/dist/checks/rsl.js.map +1 -0
  99. package/dist/checks/security-txt.d.ts.map +1 -1
  100. package/dist/checks/security-txt.js +0 -1
  101. package/dist/checks/security-txt.js.map +1 -1
  102. package/dist/checks/seo-basics.d.ts.map +1 -1
  103. package/dist/checks/seo-basics.js +0 -1
  104. package/dist/checks/seo-basics.js.map +1 -1
  105. package/dist/checks/sitemap.d.ts.map +1 -1
  106. package/dist/checks/sitemap.js +0 -1
  107. package/dist/checks/sitemap.js.map +1 -1
  108. package/dist/checks/structured-data.d.ts.map +1 -1
  109. package/dist/checks/structured-data.js +215 -4
  110. package/dist/checks/structured-data.js.map +1 -1
  111. package/dist/checks/structured-fields.d.ts +46 -0
  112. package/dist/checks/structured-fields.d.ts.map +1 -0
  113. package/dist/checks/structured-fields.js +112 -0
  114. package/dist/checks/structured-fields.js.map +1 -0
  115. package/dist/checks/surface.d.ts +59 -0
  116. package/dist/checks/surface.d.ts.map +1 -0
  117. package/dist/checks/surface.js +106 -0
  118. package/dist/checks/surface.js.map +1 -0
  119. package/dist/checks/tls-https.d.ts.map +1 -1
  120. package/dist/checks/tls-https.js +0 -1
  121. package/dist/checks/tls-https.js.map +1 -1
  122. package/dist/checks/usage-policy.d.ts +53 -0
  123. package/dist/checks/usage-policy.d.ts.map +1 -0
  124. package/dist/checks/usage-policy.js +339 -0
  125. package/dist/checks/usage-policy.js.map +1 -0
  126. package/dist/checks/utils.d.ts +25 -1
  127. package/dist/checks/utils.d.ts.map +1 -1
  128. package/dist/checks/utils.js +33 -1
  129. package/dist/checks/utils.js.map +1 -1
  130. package/dist/checks/waf.d.ts +75 -0
  131. package/dist/checks/waf.d.ts.map +1 -0
  132. package/dist/checks/waf.js +203 -0
  133. package/dist/checks/waf.js.map +1 -0
  134. package/dist/checks/webmcp.d.ts +55 -0
  135. package/dist/checks/webmcp.d.ts.map +1 -0
  136. package/dist/checks/webmcp.js +209 -0
  137. package/dist/checks/webmcp.js.map +1 -0
  138. package/dist/checks/well-known.d.ts +38 -0
  139. package/dist/checks/well-known.d.ts.map +1 -0
  140. package/dist/checks/well-known.js +202 -0
  141. package/dist/checks/well-known.js.map +1 -0
  142. package/dist/cli.d.ts +14 -0
  143. package/dist/cli.d.ts.map +1 -1
  144. package/dist/cli.js +144 -6
  145. package/dist/cli.js.map +1 -1
  146. package/dist/constants.d.ts +212 -14
  147. package/dist/constants.d.ts.map +1 -1
  148. package/dist/constants.js +625 -59
  149. package/dist/constants.js.map +1 -1
  150. package/dist/fetcher.d.ts +5 -1
  151. package/dist/fetcher.d.ts.map +1 -1
  152. package/dist/fetcher.js +62 -27
  153. package/dist/fetcher.js.map +1 -1
  154. package/dist/guide-urls.js +1 -1
  155. package/dist/guide-urls.js.map +1 -1
  156. package/dist/index.d.ts +3 -1
  157. package/dist/index.d.ts.map +1 -1
  158. package/dist/index.js +2 -0
  159. package/dist/index.js.map +1 -1
  160. package/dist/orchestrator.d.ts +2 -2
  161. package/dist/orchestrator.d.ts.map +1 -1
  162. package/dist/orchestrator.js +18 -7
  163. package/dist/orchestrator.js.map +1 -1
  164. package/dist/reporter/html.d.ts +9 -0
  165. package/dist/reporter/html.d.ts.map +1 -1
  166. package/dist/reporter/html.js +49 -11
  167. package/dist/reporter/html.js.map +1 -1
  168. package/dist/reporter/index.d.ts.map +1 -1
  169. package/dist/reporter/index.js +7 -0
  170. package/dist/reporter/index.js.map +1 -1
  171. package/dist/reporter/markdown.d.ts +8 -0
  172. package/dist/reporter/markdown.d.ts.map +1 -0
  173. package/dist/reporter/markdown.js +106 -0
  174. package/dist/reporter/markdown.js.map +1 -0
  175. package/dist/reporter/terminal.d.ts.map +1 -1
  176. package/dist/reporter/terminal.js +36 -1
  177. package/dist/reporter/terminal.js.map +1 -1
  178. package/dist/scorer.d.ts +10 -0
  179. package/dist/scorer.d.ts.map +1 -1
  180. package/dist/scorer.js +22 -5
  181. package/dist/scorer.js.map +1 -1
  182. package/dist/types.d.ts +96 -3
  183. package/dist/types.d.ts.map +1 -1
  184. package/docs/api.md +200 -0
  185. package/docs/architecture.md +104 -0
  186. package/docs/checks.md +555 -0
  187. package/docs/ci.md +89 -0
  188. package/docs/cli.md +103 -0
  189. package/docs/concepts.md +101 -0
  190. package/docs/faq.md +89 -0
  191. package/docs/getting-started.md +108 -0
  192. package/docs/roadmap.md +367 -0
  193. package/package.json +14 -5
  194. package/dist/checks/agent-json.d.ts +0 -14
  195. package/dist/checks/agent-json.d.ts.map +0 -1
  196. package/dist/checks/agent-json.js +0 -167
  197. package/dist/checks/agent-json.js.map +0 -1
  198. package/dist/checks/mcp.d.ts.map +0 -1
  199. package/dist/checks/mcp.js +0 -162
  200. package/dist/checks/mcp.js.map +0 -1
  201. package/dist/checks/openapi.d.ts +0 -4
  202. package/dist/checks/openapi.d.ts.map +0 -1
  203. package/dist/checks/openapi.js +0 -121
  204. package/dist/checks/openapi.js.map +0 -1
  205. package/dist/checks/well-known-ai.d.ts +0 -17
  206. package/dist/checks/well-known-ai.d.ts.map +0 -1
  207. package/dist/checks/well-known-ai.js +0 -123
  208. package/dist/checks/well-known-ai.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
package/dist/fetcher.d.ts CHANGED
@@ -2,10 +2,14 @@ import type { FetchOptions, FetchResponse } from './types.js';
2
2
  interface FetcherOptions {
3
3
  timeout?: number;
4
4
  verbose?: boolean;
5
+ /** Number of retry attempts for transient failures (timeouts, 5xx, network errors). Default 2. */
6
+ retries?: number;
7
+ /** Base delay in ms for exponential backoff between retries. Default 250. */
8
+ retryBaseDelay?: number;
5
9
  }
6
10
  interface Fetcher {
7
11
  fetch: (url: string, options?: FetchOptions) => Promise<FetchResponse>;
8
12
  }
9
- export declare function createFetcher({ timeout, verbose }?: FetcherOptions): Fetcher;
13
+ export declare function createFetcher({ timeout, verbose, retries, retryBaseDelay, }?: FetcherOptions): Fetcher;
10
14
  export {};
11
15
  //# sourceMappingURL=fetcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE9D,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,OAAO;IACf,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CACxE;AAqCD,wBAAgB,aAAa,CAAC,EAAE,OAAe,EAAE,OAAe,EAAE,GAAE,cAAmB,GAAG,OAAO,CA4DhG"}
1
+ {"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE9D,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kGAAkG;IAClG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AASD,UAAU,OAAO;IACf,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CACxE;AA8CD,wBAAgB,aAAa,CAAC,EAC5B,OAAe,EACf,OAAe,EACf,OAAW,EACX,cAAoB,GACrB,GAAE,cAAmB,GAAG,OAAO,CAmF/B"}
package/dist/fetcher.js CHANGED
@@ -1,4 +1,9 @@
1
1
  import { USER_AGENT } from './constants.js';
2
+ /** Transient HTTP status codes worth retrying. */
3
+ const RETRYABLE_STATUS = new Set([408, 425, 429, 500, 502, 503, 504]);
4
+ function sleep(ms) {
5
+ return new Promise((resolve) => setTimeout(resolve, ms));
6
+ }
2
7
  const DEFAULT_HEADERS = {
3
8
  'User-Agent': USER_AGENT,
4
9
  Accept: 'text/html, application/json, text/plain, */*',
@@ -21,72 +26,102 @@ function mergeHeaders(custom) {
21
26
  return merged;
22
27
  }
23
28
  /**
24
- * Build a deterministic cache key for a URL + header combination. Headers are
25
- * lowercased and sorted so logically identical requests share one cache entry,
26
- * while requests that differ only in headers (e.g. `Accept: text/markdown`)
27
- * are cached separately — mirroring how `Vary: Accept` works on the wire.
29
+ * Build a deterministic cache key for a URL + request-shape combination.
30
+ * Headers are lowercased and sorted so logically identical requests share one
31
+ * cache entry, while requests that differ only in headers (e.g.
32
+ * `Accept: text/markdown`) are cached separately — mirroring how `Vary: Accept`
33
+ * works on the wire. Method and redirect mode are part of the key because a
34
+ * `HEAD` has no body and a `manual` redirect returns the 3xx itself, so they
35
+ * are different responses to the same URL.
28
36
  */
29
37
  function cacheKey(url, options) {
30
- if (!options?.headers || Object.keys(options.headers).length === 0)
38
+ const method = options?.method ?? 'GET';
39
+ const redirect = options?.redirect ?? 'follow';
40
+ const hasHeaders = options?.headers && Object.keys(options.headers).length > 0;
41
+ if (method === 'GET' && redirect === 'follow' && !hasHeaders)
31
42
  return url;
32
- const normalized = Object.entries(options.headers)
33
- .map(([name, value]) => [name.toLowerCase(), value])
34
- .sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0));
35
- return `${url}\u0000${JSON.stringify(normalized)}`;
43
+ const normalized = hasHeaders
44
+ ? Object.entries(options.headers)
45
+ .map(([name, value]) => [name.toLowerCase(), value])
46
+ .sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))
47
+ : [];
48
+ return `${url}\u0000${method}\u0000${redirect}\u0000${JSON.stringify(normalized)}`;
36
49
  }
37
- export function createFetcher({ timeout = 10000, verbose = false } = {}) {
50
+ export function createFetcher({ timeout = 10000, verbose = false, retries = 2, retryBaseDelay = 250, } = {}) {
38
51
  const cache = new Map();
39
52
  const log = verbose ? (msg) => console.error(` [verbose] ${msg}`) : () => { };
40
- async function fetchUrl(url, options) {
41
- const key = cacheKey(url, options);
42
- if (cache.has(key)) {
43
- log(`cache hit: ${url}`);
44
- return cache.get(key);
45
- }
46
- log(`fetch: ${url}`);
53
+ /** A single fetch attempt. Never throws — failures become a status-0 result. */
54
+ async function attempt(url, options) {
47
55
  const controller = new AbortController();
48
56
  const timer = setTimeout(() => controller.abort(), timeout);
57
+ const started = performance.now();
49
58
  try {
50
59
  const response = await fetch(url, {
51
60
  signal: controller.signal,
61
+ method: options?.method ?? 'GET',
52
62
  headers: mergeHeaders(options?.headers),
53
- redirect: 'follow',
63
+ redirect: options?.redirect ?? 'follow',
54
64
  });
55
- const body = await response.text();
65
+ // A HEAD response has no body to read; `.text()` resolves to '' but the
66
+ // round-trip is wasted, so skip it and keep the empty-body contract.
67
+ const body = options?.method === 'HEAD' ? '' : await response.text();
68
+ const elapsedMs = Math.round(performance.now() - started);
56
69
  const headers = {};
57
70
  response.headers.forEach((value, key) => {
58
71
  headers[key.toLowerCase()] = value;
59
72
  });
60
- const result = {
73
+ log(` ${response.status} ${response.statusText} (${body.length} bytes, ${elapsedMs}ms)`);
74
+ return {
61
75
  status: response.status,
62
76
  headers,
63
77
  body,
64
78
  ok: response.ok,
65
- url: response.url,
79
+ url: response.url || url,
80
+ elapsedMs,
81
+ redirected: response.redirected,
82
+ ...(headers['location'] !== undefined ? { redirectLocation: headers['location'] } : {}),
66
83
  };
67
- log(` ${response.status} ${response.statusText} (${body.length} bytes)`);
68
- cache.set(key, result);
69
- return result;
70
84
  }
71
85
  catch (err) {
72
86
  const error = err instanceof Error ? err : new Error(String(err));
73
87
  const errorMsg = error.name === 'AbortError' ? 'Request timed out' : error.message;
74
88
  log(` ERROR: ${errorMsg}`);
75
- const result = {
89
+ return {
76
90
  status: 0,
77
91
  headers: {},
78
92
  body: '',
79
93
  ok: false,
80
94
  url,
81
95
  error: errorMsg,
96
+ elapsedMs: Math.round(performance.now() - started),
82
97
  };
83
- cache.set(key, result);
84
- return result;
85
98
  }
86
99
  finally {
87
100
  clearTimeout(timer);
88
101
  }
89
102
  }
103
+ async function fetchUrl(url, options) {
104
+ const key = cacheKey(url, options);
105
+ if (cache.has(key)) {
106
+ log(`cache hit: ${url}`);
107
+ return cache.get(key);
108
+ }
109
+ log(`fetch: ${url}`);
110
+ let result = await attempt(url, options);
111
+ // Retry transient failures with exponential backoff. A successful response
112
+ // (even a 4xx that isn't in the retry set) short-circuits immediately.
113
+ for (let i = 0; i < retries; i++) {
114
+ const transient = result.status === 0 || RETRYABLE_STATUS.has(result.status);
115
+ if (!transient)
116
+ break;
117
+ const delay = retryBaseDelay * 2 ** i;
118
+ log(` retry ${i + 1}/${retries} after ${delay}ms (status ${result.status})`);
119
+ await sleep(delay);
120
+ result = await attempt(url, options);
121
+ }
122
+ cache.set(key, result);
123
+ return result;
124
+ }
90
125
  return { fetch: fetchUrl };
91
126
  }
92
127
  //# sourceMappingURL=fetcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAY5C,kDAAkD;AAClD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAEtE,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAMD,MAAM,eAAe,GAA2B;IAC9C,YAAY,EAAE,UAAU;IACxB,MAAM,EAAE,8CAA8C;CACvD,CAAC;AAEF;;;;GAIG;AACH,SAAS,YAAY,CAAC,MAA+B;IACnD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;IAC3C,MAAM,MAAM,GAA2B,EAAE,GAAG,eAAe,EAAE,CAAC;IAC9D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACzF,IAAI,QAAQ;YAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,QAAQ,CAAC,GAAW,EAAE,OAAsB;IACnD,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC;IACxC,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,QAAQ,CAAC;IAC/C,MAAM,UAAU,GAAG,OAAO,EAAE,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/E,IAAI,MAAM,KAAK,KAAK,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,UAAU;QAAE,OAAO,GAAG,CAAC;IAEzE,MAAM,UAAU,GAAG,UAAU;QAC3B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAQ,CAAC,OAAQ,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,CAAU,CAAC;aAC5D,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,GAAG,GAAG,SAAS,MAAM,SAAS,QAAQ,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,CAAC,EACX,cAAc,GAAG,GAAG,MACF,EAAE;IACpB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;IAEtF,gFAAgF;IAChF,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,OAAsB;QACxD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAElC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,KAAK;gBAChC,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC;gBACvC,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,QAAQ;aACxC,CAAC,CAAC;YAEH,wEAAwE;YACxE,qEAAqE;YACrE,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;YAE1D,MAAM,OAAO,GAA2B,EAAE,CAAC;YAC3C,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACtC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM,WAAW,SAAS,KAAK,CAAC,CAAC;YAC1F,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO;gBACP,IAAI;gBACJ,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,GAAG;gBACxB,SAAS;gBACT,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YACnF,GAAG,CAAC,YAAY,QAAQ,EAAE,CAAC,CAAC;YAC5B,OAAO;gBACL,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,EAAE;gBACR,EAAE,EAAE,KAAK;gBACT,GAAG;gBACH,KAAK,EAAE,QAAQ;gBACf,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;aACnD,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,OAAsB;QACzD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QACzB,CAAC;QACD,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAErB,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEzC,2EAA2E;QAC3E,uEAAuE;QACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7E,IAAI,CAAC,SAAS;gBAAE,MAAM;YACtB,MAAM,KAAK,GAAG,cAAc,GAAG,CAAC,IAAI,CAAC,CAAC;YACtC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,OAAO,UAAU,KAAK,cAAc,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9E,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;YACnB,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC7B,CAAC"}
@@ -1,4 +1,4 @@
1
- const BASE_URL = 'https://lucioduran.com/projects/ax-audit/guides';
1
+ const BASE_URL = 'https://axrush.com/guides';
2
2
  export function guideUrl(checkId, anchor) {
3
3
  return anchor ? `${BASE_URL}/${checkId}#${anchor}` : `${BASE_URL}/${checkId}`;
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"guide-urls.js","sourceRoot":"","sources":["../src/guide-urls.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,iDAAiD,CAAC;AAEnE,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,MAAe;IACvD,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAC;AAChF,CAAC"}
1
+ {"version":3,"file":"guide-urls.js","sourceRoot":"","sources":["../src/guide-urls.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,2BAA2B,CAAC;AAE7C,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,MAAe;IACvD,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAC;AAChF,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,5 +2,7 @@ export { audit, batchAudit } from './orchestrator.js';
2
2
  export { calculateOverallScore, getGrade } from './scorer.js';
3
3
  export { checks } from './checks/index.js';
4
4
  export { saveBaseline, loadBaseline, diffBaseline, toBaselineData } from './baseline.js';
5
- export type { AuditOptions, AuditReport, BaselineData, BaselineDiff, BatchAuditReport, CheckDiff, CheckResult, CheckMeta, CheckContext, CheckModule, Finding, FindingStatus, FetchOptions, FetchResponse, Grade, OutputFormat, } from './types.js';
5
+ export { renderMarkdown, renderBatchMarkdown } from './reporter/markdown.js';
6
+ export { renderHtml, renderBatchHtml } from './reporter/html.js';
7
+ export type { AuditOptions, AuditReport, BaselineData, BaselineDiff, BatchAuditReport, BatchOptions, CheckCategory, CheckDiff, CheckResult, CheckMeta, CheckContext, CheckModule, Finding, FindingStatus, FetchOptions, FetchResponse, Grade, OutputFormat, } from './types.js';
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEzF,YAAY,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,WAAW,EACX,OAAO,EACP,aAAa,EACb,YAAY,EACZ,aAAa,EACb,KAAK,EACL,YAAY,GACb,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEjE,YAAY,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,WAAW,EACX,OAAO,EACP,aAAa,EACb,YAAY,EACZ,aAAa,EACb,KAAK,EACL,YAAY,GACb,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -2,4 +2,6 @@ export { audit, batchAudit } from './orchestrator.js';
2
2
  export { calculateOverallScore, getGrade } from './scorer.js';
3
3
  export { checks } from './checks/index.js';
4
4
  export { saveBaseline, loadBaseline, diffBaseline, toBaselineData } from './baseline.js';
5
+ export { renderMarkdown, renderBatchMarkdown } from './reporter/markdown.js';
6
+ export { renderHtml, renderBatchHtml } from './reporter/html.js';
5
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { AuditOptions, AuditReport, BatchAuditReport } from './types.js';
1
+ import type { AuditOptions, AuditReport, BatchAuditReport, BatchOptions } from './types.js';
2
2
  export declare function audit(options: AuditOptions): Promise<AuditReport>;
3
- export declare function batchAudit(urls: string[], options: Omit<AuditOptions, 'url'>): Promise<BatchAuditReport>;
3
+ export declare function batchAudit(urls: string[], options?: BatchOptions): Promise<BatchAuditReport>;
4
4
  //# sourceMappingURL=orchestrator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAA6B,MAAM,YAAY,CAAC;AAEzG,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAmDvE;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuB9G"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAA6B,MAAM,YAAY,CAAC;AAEvH,wBAAsB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAsDvE;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8BtG"}
@@ -1,19 +1,23 @@
1
1
  import { createFetcher } from './fetcher.js';
2
2
  import { checks as allChecks } from './checks/index.js';
3
3
  import { calculateOverallScore, getGrade } from './scorer.js';
4
+ import { isSelected } from './check-ids.js';
4
5
  export async function audit(options) {
5
6
  const startTime = performance.now();
6
7
  const verbose = options.verbose ?? false;
7
8
  const log = verbose ? (msg) => console.error(` [verbose] ${msg}`) : () => { };
8
- const fetcher = createFetcher({ timeout: options.timeout ?? 10000, verbose });
9
+ const fetcher = createFetcher({ timeout: options.timeout ?? 10000, verbose, retries: options.retries ?? 2 });
9
10
  const homepage = await fetcher.fetch(options.url);
10
11
  const ctx = {
11
12
  url: options.url.replace(/\/$/, ''),
12
13
  fetch: fetcher.fetch,
13
14
  html: homepage.body,
14
15
  headers: homepage.headers,
16
+ profile: options.profile ?? 'auto',
15
17
  };
16
- const checksToRun = options.checks ? allChecks.filter((c) => options.checks.includes(c.meta.id)) : allChecks;
18
+ // Selection matches a check's current id or any former one, so a `--checks`
19
+ // flag written before a rename keeps working.
20
+ const checksToRun = options.checks ? allChecks.filter((c) => isSelected(c.meta, options.checks)) : allChecks;
17
21
  log(`running ${checksToRun.length} check(s): ${checksToRun.map((c) => c.meta.id).join(', ')}`);
18
22
  const settled = await Promise.allSettled(checksToRun.map((c) => c.run(ctx)));
19
23
  const results = settled.map((s, i) => {
@@ -42,13 +46,20 @@ export async function audit(options) {
42
46
  duration: Math.round(performance.now() - startTime),
43
47
  };
44
48
  }
45
- export async function batchAudit(urls, options) {
49
+ export async function batchAudit(urls, options = {}) {
46
50
  const startTime = performance.now();
47
- const reports = [];
48
- for (const url of urls) {
49
- const result = await audit({ ...options, url });
50
- reports.push(result);
51
+ const concurrency = Math.max(1, options.concurrency ?? 1);
52
+ // Preserve input order in the output while running up to `concurrency` audits
53
+ // in parallel via a shared index-based work queue.
54
+ const reports = new Array(urls.length);
55
+ let next = 0;
56
+ async function worker() {
57
+ while (next < urls.length) {
58
+ const i = next++;
59
+ reports[i] = await audit({ ...options, url: urls[i] });
60
+ }
51
61
  }
62
+ await Promise.all(Array.from({ length: Math.min(concurrency, urls.length) }, worker));
52
63
  const scores = reports.map((r) => r.overallScore);
53
64
  const averageScore = Math.round(scores.reduce((a, b) => a + b, 0) / scores.length);
54
65
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,13 @@
1
1
  import type { AuditReport, BaselineDiff, BatchAuditReport } from '../types.js';
2
+ /**
3
+ * Render a single audit report as a self-contained HTML document.
4
+ *
5
+ * Separated from `reportHtml` so callers can embed the report, write it to a
6
+ * file, or assert on it in tests, matching `renderMarkdown`.
7
+ */
8
+ export declare function renderHtml(report: AuditReport, diff?: BaselineDiff): string;
9
+ /** Render a batch audit as a self-contained HTML document. */
10
+ export declare function renderBatchHtml(batch: BatchAuditReport): string;
2
11
  export declare function reportHtml(report: AuditReport, diff?: BaselineDiff): void;
3
12
  export declare function reportBatchHtml(batch: BatchAuditReport): void;
4
13
  //# sourceMappingURL=html.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/reporter/html.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,EAMjB,MAAM,aAAa,CAAC;AAsarB,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAGzE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAI7D"}
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/reporter/html.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,EAOjB,MAAM,aAAa,CAAC;AAicrB;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,MAAM,CAE3E;AAED,8DAA8D;AAC9D,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAG/D;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAEzE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAE7D"}
@@ -1,4 +1,5 @@
1
1
  import { getGrade } from '../scorer.js';
2
+ import { CHECK_CATEGORIES } from '../constants.js';
2
3
  function gradeHslColor(grade) {
3
4
  switch (grade.color) {
4
5
  case 'green':
@@ -64,15 +65,17 @@ function renderDeltaBadge(delta) {
64
65
  return `<span class="delta delta-down">&#9660;${Math.abs(delta)}</span>`;
65
66
  }
66
67
  function renderCheck(check, checkDiff) {
68
+ const notApplicable = check.applicable === false;
67
69
  const grade = getGrade(check.score);
68
- const color = gradeHslColor(grade);
69
- const diffHtml = checkDiff ? renderDeltaBadge(checkDiff.delta) : '';
70
+ const color = notApplicable ? 'var(--muted)' : gradeHslColor(grade);
71
+ const diffHtml = checkDiff && !notApplicable ? renderDeltaBadge(checkDiff.delta) : '';
72
+ const scoreLabel = notApplicable ? 'n/a' : `${check.score}/100`;
70
73
  return `
71
- <details class="check" open>
74
+ <details class="check${notApplicable ? ' check-na' : ''}"${notApplicable ? '' : ' open'}>
72
75
  <summary>
73
76
  <div class="check-header">
74
77
  <span class="check-name">${escapeHtml(check.name)}</span>
75
- <span class="check-score" style="color:${color}">${check.score}/100 ${diffHtml}</span>
78
+ <span class="check-score" style="color:${color}">${scoreLabel} ${diffHtml}</span>
76
79
  </div>
77
80
  <div class="check-desc">${escapeHtml(check.description)}</div>
78
81
  </summary>
@@ -81,6 +84,28 @@ function renderCheck(check, checkDiff) {
81
84
  </div>
82
85
  </details>`;
83
86
  }
87
+ /** Group checks under category headings so a reader sees which area is weak. */
88
+ function renderCheckGroups(results, checkDiffs) {
89
+ const order = ['content', 'discovery', 'access', 'policy', 'protocols'];
90
+ const heading = {
91
+ content: 'Content',
92
+ discovery: 'Discovery',
93
+ access: 'Access',
94
+ policy: 'Policy',
95
+ protocols: 'Protocols',
96
+ };
97
+ const categoryOf = (c) => c.category ?? CHECK_CATEGORIES[c.id] ?? 'discovery';
98
+ return order
99
+ .map((category) => {
100
+ const checks = results.filter((c) => categoryOf(c) === category);
101
+ if (checks.length === 0)
102
+ return '';
103
+ return `
104
+ <h2 class="category">${heading[category]}</h2>
105
+ ${checks.map((c) => renderCheck(c, checkDiffs.get(c.id))).join('')}`;
106
+ })
107
+ .join('');
108
+ }
84
109
  function renderDiffSummary(diff) {
85
110
  if (diff.regressions.length === 0 && diff.improvements.length === 0)
86
111
  return '';
@@ -124,7 +149,7 @@ function renderSingleReport(report, diff) {
124
149
  </div>
125
150
  ${diff ? renderDiffSummary(diff) : ''}
126
151
  <div class="checks">
127
- ${report.results.map((c) => renderCheck(c, checkDiffs.get(c.id))).join('')}
152
+ ${renderCheckGroups(report.results, checkDiffs)}
128
153
  </div>
129
154
  </div>`;
130
155
  }
@@ -283,6 +308,8 @@ h1 {
283
308
  width: calc(100% - 1.5rem);
284
309
  justify-content: space-between;
285
310
  }
311
+ .category { font-size: 0.8rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); margin: 2rem 0 0.75rem; }
312
+ .check-na { opacity: 0.62; }
286
313
  .check-name { font-weight: 600; }
287
314
  .check-score { font-weight: 700; font-size: 0.9rem; }
288
315
  .check-desc { color: var(--text-secondary); font-size: 0.8rem; margin-top: 0.15rem; padding-left: 1.15rem; }
@@ -392,18 +419,29 @@ h1 {
392
419
  </div>
393
420
  ${body}
394
421
  <div class="footer">
395
- Generated by <a href="https://github.com/lucioduran/ax-audit" target="_blank" rel="noopener">ax-audit</a> &mdash; Lighthouse for AI Agents
422
+ Generated by <a href="https://github.com/duranitech/ax-audit" target="_blank" rel="noopener">ax-audit</a> &mdash; Lighthouse for AI Agents
396
423
  </div>
397
424
  </body>
398
425
  </html>`;
399
426
  }
427
+ /**
428
+ * Render a single audit report as a self-contained HTML document.
429
+ *
430
+ * Separated from `reportHtml` so callers can embed the report, write it to a
431
+ * file, or assert on it in tests, matching `renderMarkdown`.
432
+ */
433
+ export function renderHtml(report, diff) {
434
+ return htmlShell(`AX Audit — ${report.url}`, renderSingleReport(report, diff));
435
+ }
436
+ /** Render a batch audit as a self-contained HTML document. */
437
+ export function renderBatchHtml(batch) {
438
+ const body = renderBatchSummary(batch) + batch.reports.map((r) => renderSingleReport(r)).join('');
439
+ return htmlShell(`AX Audit — Batch Report (${batch.summary.total} URLs)`, body);
440
+ }
400
441
  export function reportHtml(report, diff) {
401
- const html = htmlShell(`AX Audit — ${report.url}`, renderSingleReport(report, diff));
402
- console.log(html);
442
+ console.log(renderHtml(report, diff));
403
443
  }
404
444
  export function reportBatchHtml(batch) {
405
- const body = renderBatchSummary(batch) + batch.reports.map((r) => renderSingleReport(r)).join('');
406
- const html = htmlShell(`AX Audit — Batch Report (${batch.summary.total} URLs)`, body);
407
- console.log(html);
445
+ console.log(renderBatchHtml(batch));
408
446
  }
409
447
  //# sourceMappingURL=html.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/reporter/html.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/reporter/html.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reporter/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE7F,wBAAgB,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAYhG;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAYrF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reporter/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE7F,wBAAgB,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAehG;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAerF"}
@@ -1,6 +1,7 @@
1
1
  import { reportTerminal, reportBatchTerminal } from './terminal.js';
2
2
  import { reportJson, reportBatchJson } from './json.js';
3
3
  import { reportHtml, reportBatchHtml } from './html.js';
4
+ import { reportMarkdown, reportBatchMarkdown } from './markdown.js';
4
5
  export function report(auditReport, format, diff) {
5
6
  switch (format) {
6
7
  case 'json':
@@ -9,6 +10,9 @@ export function report(auditReport, format, diff) {
9
10
  case 'html':
10
11
  reportHtml(auditReport, diff);
11
12
  break;
13
+ case 'markdown':
14
+ reportMarkdown(auditReport, diff);
15
+ break;
12
16
  case 'terminal':
13
17
  reportTerminal(auditReport, diff);
14
18
  break;
@@ -22,6 +26,9 @@ export function reportBatch(batchReport, format) {
22
26
  case 'html':
23
27
  reportBatchHtml(batchReport);
24
28
  break;
29
+ case 'markdown':
30
+ reportBatchMarkdown(batchReport);
31
+ break;
25
32
  case 'terminal':
26
33
  reportBatchTerminal(batchReport);
27
34
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reporter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAGxD,MAAM,UAAU,MAAM,CAAC,WAAwB,EAAE,MAAoB,EAAE,IAAmB;IACxF,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC9B,MAAM;QACR,KAAK,MAAM;YACT,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC9B,MAAM;QACR,KAAK,UAAU;YACb,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAClC,MAAM;IACV,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,WAA6B,EAAE,MAAoB;IAC7E,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,eAAe,CAAC,WAAW,CAAC,CAAC;YAC7B,MAAM;QACR,KAAK,MAAM;YACT,eAAe,CAAC,WAAW,CAAC,CAAC;YAC7B,MAAM;QACR,KAAK,UAAU;YACb,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACjC,MAAM;IACV,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reporter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGpE,MAAM,UAAU,MAAM,CAAC,WAAwB,EAAE,MAAoB,EAAE,IAAmB;IACxF,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC9B,MAAM;QACR,KAAK,MAAM;YACT,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC9B,MAAM;QACR,KAAK,UAAU;YACb,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAClC,MAAM;QACR,KAAK,UAAU;YACb,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAClC,MAAM;IACV,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,WAA6B,EAAE,MAAoB;IAC7E,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,eAAe,CAAC,WAAW,CAAC,CAAC;YAC7B,MAAM;QACR,KAAK,MAAM;YACT,eAAe,CAAC,WAAW,CAAC,CAAC;YAC7B,MAAM;QACR,KAAK,UAAU;YACb,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,UAAU;YACb,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACjC,MAAM;IACV,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { AuditReport, BaselineDiff, BatchAuditReport } from '../types.js';
2
+ /** Render a single audit report as a Markdown document (ideal for CI / PR comments). */
3
+ export declare function renderMarkdown(report: AuditReport, diff?: BaselineDiff): string;
4
+ export declare function reportMarkdown(report: AuditReport, diff?: BaselineDiff): void;
5
+ /** Render a batch audit as Markdown: a summary table followed by each report. */
6
+ export declare function renderBatchMarkdown(batch: BatchAuditReport): string;
7
+ export declare function reportBatchMarkdown(batch: BatchAuditReport): void;
8
+ //# sourceMappingURL=markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/reporter/markdown.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,EAIjB,MAAM,aAAa,CAAC;AA8CrB,wFAAwF;AACxF,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,MAAM,CA6C/E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAE7E;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAoBnE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAEjE"}