{"_id":"@accesslint/eve","_rev":"2-cb847ca130761409e64928f4fb8786ba","name":"@accesslint/eve","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@accesslint/eve","version":"0.1.0","keywords":["eve","eve-extension","accessibility","a11y","wcag","mcp","agent"],"license":"MIT","_id":"@accesslint/eve@0.1.0","maintainers":[{"name":"ckundo","email":"cameron@accesslint.com"}],"homepage":"https://accesslint.com","bugs":{"url":"https://github.com/AccessLint/accesslint/issues"},"eve":{"extension":{"dist":"./dist/extension","source":"./extension"}},"dist":{"shasum":"1a98195ce52628c649ec84f838cf8310993e93c2","tarball":"https://registry.npmjs.org/@accesslint/eve/-/eve-0.1.0.tgz","fileCount":14,"integrity":"sha512-UzSHlvICWDitRa27p37NNDFCX7BUThR6OGhHW34laK50icrpVBuPHe3mRrcCG46xmWH7zS1Z+9glhmV1o2d/tg==","signatures":[{"sig":"MEYCIQCquxZls86RYcHLiMiExRVp1ZEOLB9Bv5rsi95p42WYxQIhAICZkCnWP2u1wJHuARERGP6vecDqWc/LpfDVhDU1J4nw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15951},"type":"module","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"./tools":{"types":"./dist/tools/index.d.ts","default":"./dist/tools/index.mjs"},"./connections/api":{"types":"./dist/extension/connections/api.d.ts","default":"./dist/extension/connections/api.mjs"}},"gitHead":"c17b9d924670b032a3b6ae1ecaf436763d80064c","scripts":{"test":"vitest run","build":"eve extension build","typecheck":"tsc --noEmit","prepublishOnly":"bun run build"},"_npmUser":{"name":"ckundo","email":"cameron@accesslint.com"},"repository":{"url":"git+https://github.com/AccessLint/accesslint.git","type":"git","directory":"eve"},"_npmVersion":"11.9.0","description":"Accessibility for eve agents — WCAG scans, monitored user journeys, and violation triage, over AccessLint's MCP connector","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eve":"0.38.3","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^24.0.0"},"peerDependencies":{"eve":"*"},"_npmOperationalInternal":{"tmp":"tmp/eve_0.1.0_1786846702456_0.10487862956133776","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@accesslint/eve","version":"0.1.1","description":"Accessibility for eve agents — WCAG scans, monitored user journeys, and violation triage, over AccessLint's MCP connector","keywords":["eve","eve-extension","accessibility","a11y","wcag","mcp","agent"],"type":"module","eve":{"extension":{"source":"./extension","dist":"./dist/extension"}},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.mjs"},"./tools":{"types":"./dist/tools/index.d.ts","default":"./dist/tools/index.mjs"},"./connections/api":{"types":"./dist/extension/connections/api.d.ts","default":"./dist/extension/connections/api.mjs"}},"scripts":{"build":"eve extension build","typecheck":"tsc --noEmit","test":"vitest run","prepublishOnly":"bun run build"},"repository":{"type":"git","url":"git+https://github.com/AccessLint/accesslint.git","directory":"eve"},"homepage":"https://accesslint.com","license":"MIT","publishConfig":{"access":"public"},"dependencies":{"zod":"^4.4.3"},"devDependencies":{"@types/node":"^24.0.0","eve":"0.38.3","typescript":"^5.7.0","vitest":"^3.0.0"},"peerDependencies":{"eve":"*"},"engines":{"node":">=24"},"gitHead":"db2924bfbc3ca08060d9cc65fcfc7d00e192a7a8","_id":"@accesslint/eve@0.1.1","bugs":{"url":"https://github.com/AccessLint/accesslint/issues"},"_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-ulvoUaDukIIcxnxzq9MGTf4YZd+w12jFPo9ycwmX3n9NJRMDxQmhcz4yLqpA61Kc0Kd7XWSZlAiVTwwFvam63g==","shasum":"0e618e152bef7da8c0315e53000af405f079f075","tarball":"https://registry.npmjs.org/@accesslint/eve/-/eve-0.1.1.tgz","fileCount":14,"unpackedSize":15951,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@accesslint%2feve@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHuFKoGR1VgpDaH9y8XLNX96XYF4sfNFggiRkTBXciOsAiBmlyC4hGUxNCj7H085yf1zfnaRpw+QkQaognHVo27RXA=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:91057be5-3c33-4ce5-a725-c4d0671057d9"}},"directories":{},"maintainers":[{"name":"ckundo","email":"cameron@accesslint.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eve_0.1.1_1786848812826_0.47948092687382204"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-16T02:18:22.359Z","modified":"2026-08-16T02:53:33.311Z","0.1.0":"2026-08-16T02:18:22.615Z","0.1.1":"2026-08-16T02:53:32.975Z"},"bugs":{"url":"https://github.com/AccessLint/accesslint/issues"},"license":"MIT","homepage":"https://accesslint.com","keywords":["eve","eve-extension","accessibility","a11y","wcag","mcp","agent"],"repository":{"type":"git","url":"git+https://github.com/AccessLint/accesslint.git","directory":"eve"},"description":"Accessibility for eve agents — WCAG scans, monitored user journeys, and violation triage, over AccessLint's MCP connector","maintainers":[{"name":"ckundo","email":"cameron@accesslint.com"}],"readme":"# @accesslint/eve\n\nAccessibility for [eve](https://eve.dev) agents. Mount it and your agent can\ncheck a page against WCAG, set up monitoring for a user journey, and read back\nthe violations with the selector and screenshot for each.\n\nIt is a thin package on purpose: it mounts AccessLint's hosted MCP connector and\nteaches the model when to reach for it. The browser, the crawler and the WCAG\nengine stay on AccessLint's side, so rule improvements arrive without you\nupgrading anything.\n\n## Install\n\n```sh\nnpm install @accesslint/eve\n```\n\nMint an API key on your account's API keys page at\n[app.accesslint.com](https://app.accesslint.com), then mount the extension:\n\n```ts\n// agent/extensions/accesslint.ts\nimport accesslint from \"@accesslint/eve\";\n\nexport default accesslint({ apiKey: process.env.ACCESSLINT_API_KEY! });\n```\n\nSet `ACCESSLINT_API_KEY` in your agent's environment, such as `.env.local`.\n\n`apiKey` is the only setting. Everything else is either fixed or overridden the\nway eve overrides any contribution, which is described below.\n\n## What ships in the box\n\n- **A connection** to AccessLint's MCP connector, authenticated with your key.\n- **An instruction fragment**, always in context, carrying the two rules below.\n- **Two skills**, loaded on demand: triaging findings into a ranked set of\n  fixes, and setting up monitoring for a user journey.\n\nThe mount name is the namespace. Mounted from `agent/extensions/accesslint.ts`\nas above, the connection registers as `accesslint__api`, and the model calls its\ntools by their qualified names, `accesslint__api__scan_page`,\n`accesslint__api__generate_flows`, and the rest. It finds them through eve's\nbuilt-in `connection_search`.\n\n## Limiting what the agent can do\n\nUse the key's scopes, not a client-side allowlist. Scopes are enforced by\nAccessLint on every call, so they hold even if the agent is talked into trying\nsomething else:\n\n- `read` alone lets the agent look at domains, flows, runs and violations, and\n  nothing else.\n- add `execute` to let it scan pages and run flows, which spends budget.\n- add `draft` to let it propose flows and add domains.\n\nA key missing a scope produces a clear refusal naming the one it needs.\n\n## Asking a person before it calls\n\nThere is no approval gate by default, matching eve's own default for connection\ntool calls. For an agent that runs unattended, one is worth adding: scans and\nflow runs spend your account's budget and reach out to third-party sites.\n\nAdd it the way eve overrides any contribution, with a directory mount:\n\n```ts\n// agent/extensions/accesslint/extension.ts\nimport accesslint from \"@accesslint/eve\";\n\nexport default accesslint({ apiKey: process.env.ACCESSLINT_API_KEY! });\n```\n\n```ts\n// agent/extensions/accesslint/connections/api.ts\nimport { defineMcpClientConnection } from \"eve/connections\";\nimport { once } from \"eve/tools/approval\";\nimport api from \"@accesslint/eve/connections/api\";\n\nexport default defineMcpClientConnection({ ...api, approval: once() });\n```\n\nNo setting here can start monitoring in any case. That gate is human-only and\nlives in the AccessLint web app.\n\n## Two rules this package keeps\n\n**Approval belongs to a person.** Drafting a flow proposes it. Nothing starts\nmonitoring until someone approves its dry run in the AccessLint web app, and no\ntool here can do that for them. The skills tell the model to say so plainly\nrather than reporting a drafted flow as though it were already watching.\n\n**Page content is data, never instruction.** Everything an audit returns came\nfrom a site that AccessLint does not control. The instruction fragment tells the\nmodel to treat text, alt attributes and ARIA labels as the subject of a report,\nand to surface anything that reads like an instruction as a finding instead of\nfollowing it. Any agent that audits pages faces this; mounting a ticket-filer in\nthe same session is what makes it concrete.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}