Skip to content

Add mokksy/ai-mocks column to competitive matrix - #131

Merged
jpr5 merged 3 commits into
mainfrom
add/live-competitors
Apr 23, 2026
Merged

Add mokksy/ai-mocks column to competitive matrix#131
jpr5 merged 3 commits into
mainfrom
add/live-competitors

Conversation

@jpr5

@jpr5 jpr5 commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds mokksy/ai-mocks to the COMPETITORS list in the updater script and surfaces a visible column in the front-page comparison table.
  • Links all 6 competitor headers in the comparison table to their GitHub repos (previously only mokksy had a link).
  • Corrects mokksy/ai-mocks feature cells based on their README: cross-process interception, chat completions SSE, responses API SSE, Claude Messages API, Gemini streaming, embeddings API, programmatic API (Kotlin/JVM), A2A agent mocking, multi-provider (5 providers), and dependencies (JVM).
  • Adds parseCurrentMatrix unit test asserting all 6 headers are extracted, correctly indexed, and that stripping anchor tags causes the parser to return 0 headers (regression guard).

Why

The competitive-matrix updater's header regex requires an inside each . With only mokksy linked, the parser saw 1 column instead of 6, producing zero-change dry-runs. Linking all headers fixes the parser and makes the table consistent. The mokksy cells were all initialized to "No" but the README clearly documents support for multiple features.

Dry-run output

Parser now correctly identifies 6 competitor columns and 32 capability rows. The 1 remaining auto-detected change (GitHub Action for mokksy) is a false positive from a CI badge URL in their README.

Mokksy cells corrected (evidence from README)

Feature Evidence
Cross-process interception "mock HTTP server built with Kotlin and Ktor" -- real server
Chat Completions SSE "response streaming and Server-Side Events (SSE)", feature matrix shows Chat Completions YES for all providers
Responses API SSE Feature matrix shows "Responses" under OpenAI Additional APIs
Claude Messages API Anthropic listed as supported service #2 with Chat Completions and Streaming YES
Gemini streaming Google VertexAI Gemini listed as service #3 with Streaming YES
Embeddings API Feature matrix shows Embeddings YES for OpenAI and Ollama
Programmatic API Kotlin/JVM library with Maven Central artifacts
A2A agent mocking A2A Protocol listed as service #5 with full protocol support
Multi-provider 5 services: OpenAI, Anthropic, Gemini, Ollama, A2A
Dependencies JVM (Kotlin) -- not "No"

Test plan

  • pnpm lint -- clean
  • pnpm test -- 2492 passed, 36 skipped
  • Dry-run: parser identifies 6 columns, 32 rows
  • New parseCurrentMatrix tests: 4 assertions covering header count, index mapping, row data, and plain-text regression
  • CI green on this PR

@pkg-pr-new

pkg-pr-new Bot commented Apr 23, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@copilotkit/aimock@131

commit: 1d39f8d

…matrix

Adds mokksy/ai-mocks to the competitive-matrix updater's COMPETITORS list
and exposes a mokksy/ai-mocks column in the front-page comparison table
at docs/index.html. mokksy/ai-mocks has had real code commits within
the past six months, verified against the repo's commit history rather
than GitHub's pushed_at field.

Three other candidates evaluated in the prior iteration of this branch
(cclank/modelbox, higress-group/mock-server, chihebnabil/openai-api-mock)
were dropped pending a deeper signal-quality review; they can be
re-added later on their own evidence.

The 32 new <td class="no">No</td> cells are the initial state for the
mokksy column; the weekly update-competitive-matrix workflow flips
applicable cells to Yes when README/package.json signals match.
@jpr5
jpr5 force-pushed the add/live-competitors branch from d14950e to 696d74a Compare April 23, 2026 15:37
@jpr5 jpr5 changed the title Track 4 additional live LLM mock competitors Add mokksy/ai-mocks column to competitive matrix Apr 23, 2026
…arser regression test

Link all 6 competitor <th> elements in the comparison table to their
GitHub repos (previously only mokksy had a link). Correct mokksy/ai-mocks
cells based on their README: cross-process interception, chat completions
SSE, responses API SSE, Claude messages API, Gemini streaming, embeddings,
programmatic API (Kotlin/JVM), A2A agent mocking, and multi-provider
support (5 providers). Add parseCurrentMatrix unit test asserting all 6
headers are extracted and correctly indexed, with regression test for
plain-text headers.
@jpr5
jpr5 force-pushed the add/live-competitors branch from 3c06a9c to e3d09b6 Compare April 23, 2026 16:07
Reorganize the 32-row comparison table into logical clusters:
transport, LLM providers, media APIs, protocol mocking (AG-UI/MCP/A2A),
storage, testing capabilities, tooling, and infrastructure.
@jpr5
jpr5 merged commit bd4d821 into main Apr 23, 2026
22 checks passed
@jpr5
jpr5 deleted the add/live-competitors branch April 23, 2026 16:31
jpr5 added a commit that referenced this pull request Jul 15, 2026
## Summary

- Adds mokksy/ai-mocks to the COMPETITORS list in the updater script and
surfaces a visible column in the front-page comparison table.
- Links all 6 competitor headers in the comparison table to their GitHub
repos (previously only mokksy had a link).
- Corrects mokksy/ai-mocks feature cells based on their README:
cross-process interception, chat completions SSE, responses API SSE,
Claude Messages API, Gemini streaming, embeddings API, programmatic API
(Kotlin/JVM), A2A agent mocking, multi-provider (5 providers), and
dependencies (JVM).
- Adds parseCurrentMatrix unit test asserting all 6 headers are
extracted, correctly indexed, and that stripping anchor tags causes the
parser to return 0 headers (regression guard).

## Why

The competitive-matrix updater's header regex requires an <a> inside
each <th>. With only mokksy linked, the parser saw 1 column instead of
6, producing zero-change dry-runs. Linking all headers fixes the parser
and makes the table consistent. The mokksy cells were all initialized to
"No" but the README clearly documents support for multiple features.

## Dry-run output

Parser now correctly identifies 6 competitor columns and 32 capability
rows. The 1 remaining auto-detected change (GitHub Action for mokksy) is
a false positive from a CI badge URL in their README.

## Mokksy cells corrected (evidence from README)

| Feature | Evidence |
|---|---|
| Cross-process interception | "mock HTTP server built with Kotlin and
Ktor" -- real server |
| Chat Completions SSE | "response streaming and Server-Side Events
(SSE)", feature matrix shows Chat Completions YES for all providers |
| Responses API SSE | Feature matrix shows "Responses" under OpenAI
Additional APIs |
| Claude Messages API | Anthropic listed as supported service #2 with
Chat Completions and Streaming YES |
| Gemini streaming | Google VertexAI Gemini listed as service #3 with
Streaming YES |
| Embeddings API | Feature matrix shows Embeddings YES for OpenAI and
Ollama |
| Programmatic API | Kotlin/JVM library with Maven Central artifacts |
| A2A agent mocking | A2A Protocol listed as service #5 with full
protocol support |
| Multi-provider | 5 services: OpenAI, Anthropic, Gemini, Ollama, A2A |
| Dependencies | JVM (Kotlin) -- not "No" |

## Test plan

- [x] pnpm lint -- clean
- [x] pnpm test -- 2492 passed, 36 skipped
- [x] Dry-run: parser identifies 6 columns, 32 rows
- [x] New parseCurrentMatrix tests: 4 assertions covering header count,
index mapping, row data, and plain-text regression
- [ ] CI green on this PR
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