Competitive feature parity: embeddings, structured output, sequential responses, Docker#42
Merged
Competitive feature parity: embeddings, structured output, sequential responses, Docker#42
Conversation
commit: |
c1bb46e to
c9f1a21
Compare
3a4f226 to
10ea4b2
Compare
aad3d74 to
9597d18
Compare
10ea4b2 to
20cffb0
Compare
9597d18 to
162cb80
Compare
20cffb0 to
272918d
Compare
e3f117d to
4b6f190
Compare
272918d to
e3590d1
Compare
jpr5
added a commit
that referenced
this pull request
Mar 19, 2026
- fixture-loader: add isEmbeddingResponse to validateFixtures type check and add embedding-specific validation (empty array, non-number elements) - drift-report-collector: add "OpenAI Embeddings" to PROVIDER_MAP and sync the test copy in drift-collector.test.ts - values.yaml: add nameOverride and fullnameOverride at top - .dockerignore: remove dead !LICENSE line (no-op since *.md excludes it) - embeddings.ts/bedrock.ts: thread Logger through defaults, replace console.warn with logger.warn, add journal entries on JSON parse failure, pass flattenHeaders(req.headers) in all journal.add() calls - update-competitive-matrix.ts: remove no-op .replace(/\.\.\./g, "...")
9ba6a07 to
42aa1da
Compare
1c716a1 to
2624669
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds four high-value features that fill real gaps relative to VidaiMock, dwmkerr/mock-llm, and piyook/llm-mock:
POST /v1/embeddings) — deterministic embedding generation via SHA-256 hash, fixture matching oninputText,onEmbedding()convenience, automatic fallback to deterministic embeddings when no fixture matchesresponseFormatmatching onresponse_format.type,onJsonOutput()convenience, validation that JSON-mode fixtures contain valid JSONsequenceIndexon fixtures enables multi-turn sequences (first call → tool call, second call → text), per-fixture match counting in Journal with sibling propagationAlso includes:
docs/covering all features with unit test and integration test examplesTest Plan
pnpm test— 658 tests passingpnpm run build— cleanpnpm run format:check— cleanpnpm run lint— cleanpnpm test:drift— drift tests (requires API keys)docker build -t llmock .— Docker build verification