@jrpool/kilotest 30.0.1 → 30.0.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.
Files changed (3) hide show
  1. package/index.html +3 -0
  2. package/index.js +16 -5
  3. package/package.json +1 -1
package/index.html CHANGED
@@ -72,6 +72,9 @@
72
72
  <h2>Status</h2>
73
73
  <p>Kilotest is a proof of concept, launched in October 2025 and being actively developed. Your suggestions, bug reports, and collaboration proposals are welcome! Post them on <a href="https://github.com/jrpool/kilotest/issues">GitHub</a> or email them to <a href="mailto:info@kilotest.com">info@kilotest.com</a>.</p>
74
74
  <p>In the current version, users can get results of already performed tests and can recommend new tests. Kilotest managers can approve recommendations.</p>
75
+ <h2 id="a11y">Accessibility</h2>
76
+ <p>Kilotest intends to be accessible. At a minimum, Kilotest intends to conform to the rules of the tools in the Kilotest ensemble. Those rules enforce various standards and best practices, including many success criteria of conformance levels AA and AAA of the <a href="https://www.w3.org/WAI/standards-guidelines/wcag/">Web Content Accessibility Guidelines (WCAG)</a>.</p>
77
+ <p>Humans and automated agents encountering any accessibility barriers during the use of Kilotest are encouraged to report them on <a href="https://github.com/jrpool/kilotest/issues">GitHub</a> or by email to <a href="mailto:info@kilotest.com">info@kilotest.com</a>.</p>
75
78
  </details>
76
79
  <h2>What do you want to know?</h2>
77
80
  <ul class="nav">
package/index.js CHANGED
@@ -212,33 +212,44 @@ const requestHandler = async (request, response) => {
212
212
  setHeaders('text/html', '/index.html', 'medium');
213
213
  response.end(homePage);
214
214
  }
215
- // Otherwise, if it is for the the AI plugin specification:
215
+ // Otherwise, if it is for the AI plugin specification:
216
216
  else if (pathname === '/.well-known/ai-plugin.json') {
217
217
  const aiPlugin = await fs.readFile('.well-known/ai-plugin.json', 'utf8');
218
+ // Serve it.
218
219
  setHeaders('application/json', '/.well-known/ai-plugin.json', 'low');
219
220
  response.end(aiPlugin);
220
221
  }
221
- // Otherwise, if it is for the the crawler specification:
222
+ // Otherwise, if it is for the crawler specification:
222
223
  else if (pageName === 'robots.txt') {
223
224
  const robots = await fs.readFile('robots.txt', 'utf8');
225
+ // Serve it.
224
226
  setHeaders('text/plain', '/robots.txt', 'low');
225
227
  response.end(robots);
226
228
  }
227
- // Otherwise, if it is for the the OpenAPI specification:
229
+ // Otherwise, if it is for the OpenAPI specification:
228
230
  else if (pageName === 'openapi.yaml') {
229
231
  const openapi = await fs.readFile('openapi.yaml', 'utf8');
232
+ // Serve it.
230
233
  setHeaders('text/yaml', '/openapi.yaml', 'high');
231
234
  response.end(openapi);
232
235
  }
233
- // Otherwise, if it is for the the large-language-model summary guide:
236
+ // Otherwise, if it is for the OpenAPI specification where it is not:
237
+ else if (['openapi.json', 'swagger.yaml', 'swagger.json', 'api-docs'].includes(pageName)) {
238
+ // Redirect the client permanently to where the specification is.
239
+ response.writeHead(301, {Location: '/openapi.yaml'});
240
+ response.end();
241
+ }
242
+ // Otherwise, if it is for the large-language-model summary guide:
234
243
  else if (pageName === 'llms.txt') {
235
244
  const llms = await fs.readFile('llms.txt', 'utf8');
245
+ // Serve it.
236
246
  setHeaders('text/plain', '/llms.txt', 'high');
237
247
  response.end(llms);
238
248
  }
239
- // Otherwise, if it is for the the large-language-model detailed guide:
249
+ // Otherwise, if it is for the large-language-model detailed guide:
240
250
  else if (pageName === 'llms-full.txt') {
241
251
  const llmsfull = await fs.readFile('llms-full.txt', 'utf8');
252
+ // Serve it.
242
253
  setHeaders('text/plain', '/llms-full.txt', 'high');
243
254
  response.end(llmsfull);
244
255
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jrpool/kilotest",
3
- "version": "30.0.1",
3
+ "version": "30.0.3",
4
4
  "description": "An ensemble testing service with a focus on accessibility",
5
5
  "main": "index.js",
6
6
  "scripts": {