Skip to content

feat: response merging, JSON auto-stringify, and openai-responses migration#111

Open
jpr5 wants to merge 4 commits intomainfrom
feat/response-merging-dx
Open

feat: response merging, JSON auto-stringify, and openai-responses migration#111
jpr5 wants to merge 4 commits intomainfrom
feat/response-merging-dx

Conversation

@jpr5
Copy link
Copy Markdown
Contributor

@jpr5 jpr5 commented Apr 14, 2026

Summary

  • Response template merging — override id, created, model, usage, finishReason, role, systemFingerprint on fixture responses across all 4 provider formats (OpenAI, Claude, Gemini, Responses API), streaming and non-streaming
  • JSON auto-stringify — fixture arguments and content accept objects (auto-stringified by loader AND programmatic API), eliminating escaped JSON pain
  • Repo-wide conversion — all fixture files and docs examples converted to object syntax
  • Migration guidedocs/migrate-from-openai-responses/ targeting ~8.5K weekly PyPI users with accurate before/after examples
  • Docs accuracy fixes — fixtures page field names corrected (latency, ttft, chaos), missing endpoint/ContentWithToolCalls documented, onTranscription signature fixed
  • Type cleanuprole/finishReason consolidated into ResponseOverrides, FixtureFile* types extend ResponseOverrides, validateFixtures recognizes all response types
  • New exportsResponseOverrides, ContentWithToolCallsResponse, FixtureFileResponse, FixtureFileToolCall
  • Updated guidanceskills/write-fixtures/SKILL.md and docs pages updated for new features
  • Version bump — 1.14.0

Test plan

  • 2377 tests pass (40 new: 29 response overrides + 8 auto-stringify + 3 programmatic)
  • Build clean (1.8MB, 285 files)
  • Exports clean (all 6 paths verified)
  • All commit headers under 100 chars (commitlint)
  • No escaped JSON strings remain in fixtures or docs
  • Full MSAL CR loop converged (5 module reviews + fix round + 7-agent final gate)

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Apr 14, 2026

Open in StackBlitz

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

commit: ec66322

@jpr5 jpr5 force-pushed the feat/response-merging-dx branch 2 times, most recently from 0be1bd2 to 66dce41 Compare April 14, 2026 23:56
jpr5 added 3 commits April 14, 2026 17:05
Override id, created, model, usage, finishReason, role, systemFingerprint
on fixture responses across all 4 provider formats, streaming and
non-streaming. 33 tests covering all providers and response types.
Fixture files and programmatic API accept objects for arguments and
content — auto-stringified by the loader. Adds ResponseOverrides
validation in validateFixtures and recognizes all response types.
16 new tests.
Adds openai-responses-python migration guide. Converts all fixture files
and docs examples to object syntax. Fixes fixture reference page field
names, video response type, import paths, onTranscription signature,
and usage override documentation.
@jpr5 jpr5 force-pushed the feat/response-merging-dx branch from 66dce41 to 7eb1c5a Compare April 15, 2026 00:06
@jpr5 jpr5 force-pushed the feat/response-merging-dx branch from 7eb1c5a to ec66322 Compare April 15, 2026 00:12
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