Skip to content

feat: aimock v1.7.0 — full-stack AI mock suite#68

Open
jpr5 wants to merge 11 commits intomainfrom
feat/aimock
Open

feat: aimock v1.7.0 — full-stack AI mock suite#68
jpr5 wants to merge 11 commits intomainfrom
feat/aimock

Conversation

@jpr5
Copy link
Copy Markdown
Contributor

@jpr5 jpr5 commented Apr 1, 2026

Summary

Transforms llmock from an LLM mock server into aimock — a complete mock infrastructure suite for AI application testing. One package, one port, zero dependencies.

New Mock Tools

  • MCPMock — Model Context Protocol: tools, resources, prompts, session management
  • A2AMock — Agent-to-Agent: agent cards, message routing, SSE streaming
  • VectorMock — Pinecone, Qdrant, ChromaDB compatible vector DB mock
  • Services — Tavily search, Cohere rerank, OpenAI moderation

Core Infrastructure

  • Mount composition: multiple protocol handlers on one server
  • JSON-RPC 2.0 transport with batch, notifications, error handling
  • Config loader for multi-mock YAML/JSON configuration
  • Suite runner for one-line multi-mock setup
  • aimock CLI with port validation and graceful shutdown
  • /__aimock/* control API for external fixture management (pytest foundation)

aimock Rebrand

  • Homepage redesigned (Treatment 3: Progressive Disclosure)
  • Docs overview with section bar navigation
  • sidebar.js: single source of truth for all 30+ page navigation
  • cli-tabs.js: CLI/Docker tab switching with localStorage persistence
  • All branding, imports, Docker refs → aimock
  • Logger [aimock], chaos headers x-aimock-chaos-*, metrics aimock_*
  • 6 migration guides: MSW, VidaiMock, mock-llm, piyook, Python mocks, Mokksy

Metrics

  • Renamed llmock_*aimock_*
  • New: aimock_mcp_requests_total, aimock_a2a_requests_total, aimock_vector_requests_total

Drift Automation

  • fix-drift.ts now updates write-fixtures skill alongside source fixes

Quality

  • 1,953 tests across 53 files
  • Coverage ≥ 90% lines, ≥ 85% branches
  • Build clean (1001 kB)

Test plan

  • pnpm test — 1,953 tests pass
  • pnpm run lint — clean
  • pnpm run build — clean
  • Local docs preview at localhost:8888 — all pages render, nav works, tabs work

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Apr 1, 2026

Open in StackBlitz

npm i https://pkg.pr.new/CopilotKit/llmock/@copilotkit/aimock@68

commit: 19ad7f7

jpr5 added 10 commits April 1, 2026 11:22
…g, CLI

Mountable interface for composing protocol handlers on a single server.
JSON-RPC 2.0 transport with batch, notifications (null id), error codes.
Config loader, suite runner, aimock CLI with port validation.
/__aimock/* control API (health, fixtures CRUD, reset, journal, errors).
Server catches unhandled rejections on HTTP and WebSocket paths.
Tools, resources, prompts with JSON-RPC dispatch. Session lifecycle
with initialize/notifications/initialized handshake and enforcement.
Standalone and mounted modes. Metrics via aimock_mcp_requests_total.
Agent cards, message routing, task management, SSE streaming.
Terminal state preservation (COMPLETED/FAILED/CANCELED).
Metrics via aimock_a2a_requests_total. Standalone and mounted modes.
In-memory vector store with upsert, query, delete, list, fetch, describe.
Three vendor-compatible endpoint sets. Auto-collection creation.
Metrics via aimock_vector_requests_total{operation,provider}.
Tavily-compatible search, Cohere v2 rerank, OpenAI moderation endpoints.
Pattern matching with case-insensitive string and regex support.
Logger [aimock], chaos headers x-aimock-chaos-*, CLI aimock server
listening, owned_by aimock. Prometheus metrics renamed aimock_*.
New counters: aimock_mcp_requests_total, aimock_a2a_requests_total,
aimock_vector_requests_total.
Expand tests for bedrock, cohere, ollama, responses, messages,
embeddings, gemini, ws-framing, ws-realtime, ws-gemini-live,
and recorder to meet >= 85% branch coverage.
convert-vidaimock.ts: Tera → aimock fixture JSON (19 tests)
convert-mockllm.ts: YAML → aimock fixture JSON with MCP (17 tests)
fix-drift.ts: BUILDER_TO_SKILL_SECTION mapping, affectedSkillSections(),
buildPrompt includes skill update instructions, 35 tests.
NodeManager: node detection, npm tarball download + cache, fcntl/Windows guard.
AIMockServer: subprocess lifecycle, /__aimock/* control API, temp fixtures dir.
Plugin: auto-registered aimock + aimock_session pytest fixtures.
AIMOCK_CLI_PATH env var for local dev (bypasses npm download).
CI: Python 3.10-3.13 x Node 20/22 test matrix, PyPI publish workflow.
Treatment 3 Progressive Disclosure homepage with animated terminal demo.
sidebar.js (single nav source of truth), cli-tabs.js (CLI/Docker tabs).
All 30+ pages rebranded: titles, nav, footer, prose, imports → aimock.
Docker refs → ghcr.io/copilotkit/aimock. Font ligatures disabled.
6 migration guides: MSW, VidaiMock, mock-llm, piyook, Python, Mokksy.
Competitive matrix with 25 rows. Sticky table header.
"Ready to switch?" + "Built for production" (AG-UI) sections.
@jpr5 jpr5 force-pushed the feat/aimock branch 2 times, most recently from f9e21bc to 346dbdb Compare April 1, 2026 18:33
…ills

package.json name → @copilotkit/aimock, bin: aimock + llmock alias.
Docker: dual-push ghcr.io/copilotkit/aimock + llmock compat.
Helm chart: charts/aimock/ with updated templates.
Dockerfile OCI labels. Plugin versions bumped to 1.7.0.
CHANGELOG, README, skills/write-fixtures all rebranded.
CI: unreleased-check, tag safety in publish-release.
vitest coverage excludes aimock-cli.ts. __pycache__ gitignored.
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