Skip to content

feat(bot-middleware): label every bot hit with who the bot is; declared agents via Web Bot Auth (1.6.0) - #19

Merged
DelanoJoey merged 1 commit into
mainfrom
feat/agent-kind-bot-hits
Sep 24, 2026
Merged

DelanoJoey merged 1 commit into
mainfrom
feat/agent-kind-bot-hits

Conversation

@DelanoJoey

Copy link
Copy Markdown
Collaborator

Why

Step 1 (Measure) of the bot-swarm lane, web channel, in the shared middleware every fleet site imports. Lockstep with isimplifyme-site's inlined copy (iSimplifyMe/isimplifyme-site#216); apex-portal stores the new fields (iSimplifyMe/apex-portal#498).

What

  • detectDeclaredAgent reads Signature-Agent (plus Signature-Input/Signature ⇒ signed); botKind = crawler | agent_fetch | declared_agent | unknown_bot; AGENT_FETCHERS = ChatGPT-User, meta-externalfetcher, Claude-User, Perplexity-User, MistralAI-User, DuckAssistBot.
  • 5 new AI fetcher patterns (48 → 53). Every bot-hit payload adds kind, signed, agentDirectory; a signing agent with a browser UA is tracked as agent:<directory host>; the AI-referrer path skips signing agents.
  • 1.5.0 → 1.6.0: additive payload fields and new exports, no API change.

Evidence

vitest run: 77 pass (63 + 14 new, incl. trackBot payload tests with a stubbed fetch). tsc --noEmit clean.

Rollout

Publish is tag-driven (v1.6.0 ⇒ npm publish). Sites pick it up on pnpm update @isimplifyme/ui + deploy — the same rollout 1.5.0 is still waiting for (lockfiles pin 1.2.1). Rollback: don't tag, or pin.

🤖 Generated with Claude Code

…ed agents via Web Bot Auth (1.6.0)

Step 1 (Measure) of the bot-swarm lane, web channel, in the shared
middleware every fleet site imports. Lockstep with isimplifyme-site's
inlined copy (#216) and stored by apex-portal (#498).

- detectDeclaredAgent reads Signature-Agent (+ Signature-Input/Signature
  => signed); botKind = crawler | agent_fetch | declared_agent |
  unknown_bot; AGENT_FETCHERS = ChatGPT-User, meta-externalfetcher,
  Claude-User, Perplexity-User, MistralAI-User, DuckAssistBot.
- 5 new AI fetcher patterns (48 -> 53). Every bot-hit payload adds kind,
  signed, agentDirectory; a signing agent with a browser UA is tracked as
  agent:<directory host>; the AI-referrer path skips signing agents.
- version 1.5.0 -> 1.6.0 (additive fields; no API change).

vitest 77 pass (+14). tsc clean.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@DelanoJoey
DelanoJoey merged commit 1dfe92e into main Sep 24, 2026
1 check passed
@DelanoJoey
DelanoJoey deleted the feat/agent-kind-bot-hits branch September 24, 2026 03:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant