@jrpool/kilotest 63.1.1 → 63.1.3

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 CHANGED
@@ -6,6 +6,7 @@
6
6
  [![GitHub stars](https://img.shields.io/github/stars/jrpool/kilotest?label=stars)](https://github.com/jrpool/kilotest/stargazers)
7
7
  [![Indexed on TensorBlock MCP Index](https://mcp-index.tensorblock.co/v1/servers/github-jrpool-kilotest-f518ba36/badge.svg)](https://tensorblock.co/mcp/servers/github-jrpool-kilotest-f518ba36)
8
8
  [![mcptry](https://mcptry.com/badge/io.github.jrpool/kilotest)](https://mcptry.com/servers/io.github.jrpool/kilotest)
9
+ [![SealKeeper Service SEAL](https://api.sealkeeper.run/v1/agents/HCFS-LZg1xY73zOW-p_w9G8Shaq-hSsD512Q235VE2c/badge.svg)](https://sealkeeper.run/agents/kilotest.com/kilotest-com)
9
10
 
10
11
  An ensemble testing and reporting service for front-end web quality
11
12
 
package/lhm.plugin.json CHANGED
@@ -4818,5 +4818,5 @@
4818
4818
  }
4819
4819
  }
4820
4820
  ],
4821
- "version": "63.1.1"
4821
+ "version": "63.1.3"
4822
4822
  }
package/openapi-3.0.yaml CHANGED
@@ -2,7 +2,7 @@ openapi: 3.0.3
2
2
  info:
3
3
  title: Kilotest API
4
4
  description: 'Kilotest is an ensemble testing and reporting service for front-end web quality. It uses an ensemble of 12 rule engines to test web pages for front-end quality (accessibility, usability, and web standards, including HTML, CSS, ARIA, and WCAG). Kilotest acts as a web server for human users, an MCP server for AI platforms, and an API for programmatic access. With this API you can request that a page be tested or retested, discover available reports, incrementally retrieve facts from a report: from what reports are available, to what issues were reported in one report, to what elements violated one issue, to what diagnoses rule engines gave for one violation.'
5
- version: 63.1.1
5
+ version: 63.1.3
6
6
  license:
7
7
  name: MIT
8
8
  url: https://github.com/jrpool/kilotest/blob/main/LICENSE
package/openapi.yaml CHANGED
@@ -2,7 +2,7 @@ openapi: 3.1.0
2
2
  info:
3
3
  title: Kilotest API
4
4
  description: 'Kilotest is an ensemble testing and reporting service for front-end web quality. It uses an ensemble of 12 rule engines to test web pages for front-end quality (accessibility, usability, and web standards, including HTML, CSS, ARIA, and WCAG). Kilotest acts as a web server for human users, an MCP server for AI platforms, and an API for programmatic access. With this API you can request that a page be tested or retested, discover available reports, incrementally retrieve facts from a report: from what reports are available, to what issues were reported in one report, to what elements violated one issue, to what diagnoses rule engines gave for one violation.'
5
- version: 63.1.1
5
+ version: 63.1.3
6
6
  license:
7
7
  name: MIT
8
8
  identifier: MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jrpool/kilotest",
3
- "version": "63.1.1",
3
+ "version": "63.1.3",
4
4
  "description": "Ensemble testing for front-end web quality",
5
5
  "type": "module",
6
6
  "main": "index.ts",
package/server.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "url": "https://github.com/jrpool/kilotest",
7
7
  "source": "github"
8
8
  },
9
- "version": "63.1.1",
9
+ "version": "63.1.3",
10
10
  "remotes": [
11
11
  {
12
12
  "type": "streamable-http",
@@ -108,13 +108,13 @@ test('listIssues for the empty report shows no issue links', async () => {
108
108
  test('listIssues counts the prevented rule engine as called but not able to test', async () => {
109
109
  const result = await answer('260101T0006-prv');
110
110
  assert.equal(result.status, 'ok');
111
- assert.ok(result.answerPage.includes('<li>Rule engines: 2 called, 1 able to test, 1 reported any violations</li>'));
111
+ assert.ok(result.answerPage.includes('<li>Rule engines: 2 called, 1 able to test, 1 reported violations</li>'));
112
112
  });
113
113
 
114
114
  test('listIssues counts a rule engine that reported no violations as called and able to test', async () => {
115
115
  const result = await answer('260101T0005-emp');
116
116
  assert.equal(result.status, 'ok');
117
- assert.ok(result.answerPage.includes('<li>Rule engines: 1 called, 1 able to test, 0 reported any violations</li>'));
117
+ assert.ok(result.answerPage.includes('<li>Rule engines: 1 called, 1 able to test, 0 reported violations</li>'));
118
118
  });
119
119
 
120
120
  test('listIssues counts an unknown prevented engine as called but not able to test', async () => {
@@ -127,7 +127,7 @@ test('listIssues counts an unknown prevented engine as called but not able to te
127
127
  try {
128
128
  const result = await answer('260103T0000-unk');
129
129
  assert.equal(result.status, 'ok');
130
- assert.ok(result.answerPage.includes('<li>Rule engines: 3 called, 1 able to test, 1 reported any violations</li>'));
130
+ assert.ok(result.answerPage.includes('<li>Rule engines: 3 called, 1 able to test, 1 reported violations</li>'));
131
131
  }
132
132
  finally {
133
133
  await fs.unlink(reportPath);
package/web/util.test.ts CHANGED
@@ -215,7 +215,7 @@ test('getPageFactsLines returns the about-page list lines for a report', async (
215
215
  const lines = getPageFactsLines(getPageDataStrings(report), getReportData(report), ' ');
216
216
  const html = lines.join('\n');
217
217
  assert.ok(html.includes('<li>URL: <a href="https://example.com/mixed">'));
218
- assert.ok(html.includes('<li>Rule engines: 2 called, 2 able to test, 2 reported any violations</li>'));
218
+ assert.ok(html.includes('<li>Rule engines: 2 called, 2 able to test, 2 reported violations</li>'));
219
219
  assert.ok(html.includes('<li>Results: 3 violations, 2 violators, 2 issues</li>'));
220
220
  });
221
221
 
@@ -241,7 +241,7 @@ const getResultFacts = async (reportID: string) => {
241
241
  const enginesItem = itemTexts.find(t => t.startsWith('Rule engines: '));
242
242
  assert.ok(enginesItem, 'Rule engines item exists');
243
243
  const engineAmounts = enginesItem.match(
244
- /^Rule engines: (\d+) called, (\d+) able to test, (\d+) reported any violations$/
244
+ /^Rule engines: (\d+) called, (\d+) able to test, (\d+) reported violations$/
245
245
  );
246
246
  assert.ok(engineAmounts, 'Rule engines item has the expected format');
247
247
  const resultsItem = itemTexts.find(t => t.startsWith('Results: '));
package/web/util.ts CHANGED
@@ -287,7 +287,7 @@ export const getPageFactsLines = (
287
287
  `${margin}<ul>`,
288
288
  `${margin} <li>URL: ${strings.urlLink}</li>`,
289
289
  `${margin} <li>${strings.testInfo}</li>`,
290
- `${margin} <li>Rule engines: ${engineCount} called, ${testedEngineCount} able to test, ${reporterCount} reported any violations</li>`,
290
+ `${margin} <li>Rule engines: ${engineCount} called, ${testedEngineCount} able to test, ${reporterCount} reported violations</li>`,
291
291
  `${margin} <li>Results: ${getCountString(violationCount, 'violation', 'violations')}, ${getCountString(violatorCount, 'violator', 'violators')}, ${getCountString(issueCount, 'issue', 'issues')}</li>`,
292
292
  `${margin} <li>${strings.fullReportLink}</li>`,
293
293
  `${margin}</ul>`