Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "aimock",
"version": "1.13.0",
"version": "1.16.0",
"description": "Fixture authoring guidance for @copilotkit/aimock — LLM, multimedia, MCP, A2A, AG-UI, vector, and service mocking",
"author": {
"name": "CopilotKit"
Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @copilotkit/aimock

## 1.16.0

### Added

- **`turnIndex` match criterion**: Stateless conversation-depth matching — counts `role: "assistant"` messages in the request's message array. Use for multi-turn conversation flows in shared/deployed instances where `sequenceIndex` counters break under concurrency. `turnIndex: 0` matches the first turn (no prior assistant messages), `turnIndex: 1` the second, etc.
- **`hasToolResult` match criterion**: Stateless boolean — `true` when any `role: "tool"` message exists in the request, `false` when none do. Simplest option for 2-step HITL flows (tool call → tool result → follow-up).
- `onTurn(turn, pattern, response, opts)` convenience method on the programmatic API.

## 1.15.1

### Fixed
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ Run them all on one port with `npx @copilotkit/aimock --config aimock.json`, or
## Features

- **[Record & Replay](https://aimock.copilotkit.dev/record-replay)** — Proxy real APIs, save as fixtures, replay deterministically forever
- **[Multi-turn Conversations](https://aimock.copilotkit.dev/multi-turn)** — Record and replay multi-turn traces with tool rounds; match distinct turns via `toolCallId`, `sequenceIndex`, or custom predicates
- **[Multi-turn Conversations](https://aimock.copilotkit.dev/multi-turn)** — Record and replay multi-turn traces with tool rounds; match distinct turns via `turnIndex`, `hasToolResult`, `toolCallId`, `sequenceIndex`, or custom predicates
- **[11 LLM Providers](https://aimock.copilotkit.dev/docs)** — OpenAI Chat, OpenAI Responses, OpenAI Realtime, Claude, Gemini, Gemini Live, Azure, Bedrock, Vertex AI, Ollama, Cohere — full streaming support
- **Multimedia APIs** — [image generation](https://aimock.copilotkit.dev/images) (DALL-E, Imagen), [text-to-speech](https://aimock.copilotkit.dev/speech), [audio transcription](https://aimock.copilotkit.dev/transcription), [video generation](https://aimock.copilotkit.dev/video)
- **[MCP](https://aimock.copilotkit.dev/mcp-mock) / [A2A](https://aimock.copilotkit.dev/a2a-mock) / [AG-UI](https://aimock.copilotkit.dev/agui-mock) / [Vector](https://aimock.copilotkit.dev/vector-mock)** — Mock every protocol your AI agents use
Expand Down
95 changes: 95 additions & 0 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1069,6 +1069,66 @@
text-decoration: none;
}

/* --- Cross-Nav Footer -------------------------------------------- */
.cross-nav-footer {
padding: 2rem 0;
border-top: 1px solid var(--border);
}
.cross-nav-toolbar {
max-width: 1120px;
margin: 0 auto;
padding: 0 2rem;
display: flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
flex-wrap: wrap;
}
.cn-label {
font-family: "JetBrains Mono", "SF Mono", "Fira Code", monospace;
font-size: 0.8rem;
color: var(--text-dim);
margin-right: 0.25rem;
white-space: nowrap;
}
.cn-pill {
display: inline-flex;
align-items: center;
gap: 0.4rem;
padding: 0.35rem 0.85rem;
border: 1px solid var(--border);
border-radius: 100px;
font-family: "JetBrains Mono", "SF Mono", "Fira Code", monospace;
font-size: 0.75rem;
font-weight: 500;
color: var(--text-secondary);
text-decoration: none;
transition:
border-color 0.2s,
background 0.2s,
color 0.2s;
white-space: nowrap;
}
.cn-pill:hover {
border-color: #3a3a50;
color: var(--text-primary);
text-decoration: none;
background: rgba(255, 255, 255, 0.03);
}
.cn-pill.active {
border-color: var(--accent);
background: var(--accent-glow);
color: var(--text-primary);
cursor: default;
pointer-events: none;
}
.cn-dot {
width: 6px;
height: 6px;
border-radius: 50%;
flex-shrink: 0;
}

/* ─── Mobile ──────────────────────────────────────────────────── */
@media (max-width: 768px) {
.nav-links {
Expand Down Expand Up @@ -1111,6 +1171,16 @@
}
}

@media (max-width: 640px) {
.cross-nav-toolbar {
gap: 0.4rem;
}
.cn-pill {
font-size: 0.7rem;
padding: 0.3rem 0.7rem;
}
}

@media (max-width: 480px) {
.hero {
padding: 8rem 0 4rem;
Expand All @@ -1121,6 +1191,9 @@
.nav-brand .powered-by {
display: none;
}
.cn-label {
display: none;
}
}
</style>
</head>
Expand Down Expand Up @@ -1922,6 +1995,28 @@ <h2 class="fade-in">Built for production</h2>
</div>
</section>

<!-- Cross-navigation toolbar -->
<div class="cross-nav-footer">
<div class="cross-nav-toolbar">
<span class="cn-label">copilotkit.dev /</span>
<a class="cn-pill" href="https://vscode.copilotkit.dev">
<span class="cn-dot" style="background: #aa66ff"></span>vscode
</a>
<a class="cn-pill active" href="https://aimock.copilotkit.dev">
<span class="cn-dot" style="background: #00ff88"></span>aimock
</a>
<a class="cn-pill" href="https://oversight.copilotkit.dev">
<span class="cn-dot" style="background: #ff6688"></span>oversight
</a>
<a class="cn-pill" href="https://pathfinder.copilotkit.dev">
<span class="cn-dot" style="background: #00ccff"></span>pathfinder
</a>
<a class="cn-pill" href="https://outpost.copilotkit.dev">
<span class="cn-dot" style="background: #f97316"></span>outpost
</a>
</div>
</div>

<!-- ─── Section 8: Footer ────────────────────────────────────── -->
<footer>
<div class="container">
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@copilotkit/aimock",
"version": "1.15.1",
"version": "1.16.0",
"description": "Mock infrastructure for AI application testing — LLM APIs, image generation, text-to-speech, transcription, video generation, MCP tools, A2A agents, AG-UI event streams, vector databases, search, rerank, and moderation. One package, one port, zero dependencies.",
"license": "MIT",
"keywords": [
Expand Down
Loading
Loading