[pull] main from CopilotKit:main#297
Merged
Merged
Conversation
…ient
Forwarded headers (e.g. X-AIMock-Context) were dropped before reaching the
wire in two cases. First, install_httpx_hook only attached to the immediate
client, missing an httpx client nested one or more ._client hops deep; it now
walks the ._client chain (bounded) to find the object that carries
event_hooks. Second, a sync def hook installed on an httpx.AsyncClient was
invoked as a coroutine and never awaited, silently dropping headers; the hook
is now async def for AsyncClient and sync def for Client. Async detection
prefers isinstance against the real httpx classes and falls back to an EXACT
"AsyncClient" MRO class-name match (not startswith("Async"), which would
misclassify a sync client whose MRO includes an Async*-named base).
Adds a module-level docstring at the top of header_propagation.py that explains in plain
English what the module does (forwards CopilotKit request-context x-* headers onto
outbound LLM/provider HTTP calls so downstream services like the aimock test server and
proxies can correlate the outbound call with the original inbound request), the precise
scope (only headers the application itself set via set_forwarded_headers; no request
bodies, cookies, user data, credentials, or telemetry), and the mechanics (walks the
._client chain to find the httpx client and attaches an async hook for AsyncClient or a
sync hook for Client). Also softens a few comments and docstrings whose wording could
read as surveillance language ("inject" / "installing an async hook ... silently dropped")
to neutral engineering phrasing ("attach" / "the forwarded headers would not be attached
to the outbound request") without losing any technical meaning or warnings. No executable
logic, signatures, conditionals, or string literals in code paths were changed; the diff
is comments and docstrings only.
In response to review feedback on PR #5088.
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
Bumps copilotkit Python SDK from 0.1.91 to 0.1.92 across the three showcase integrations that pin it: langgraph-python, langgraph-fastapi, and strands. This picks up the header_propagation fix from #5088, which ensures the runtime's X-* headers (including X-AIMock-Context) propagate end-to-end through the Python SDK middleware so D6 testing of langgraph-python sees the expected context routing. No lockfiles to regenerate — these are plain pip requirements consumed directly by the integration Dockerfiles.
…1.92 bump The PR bumps copilotkit==0.1.91 -> 0.1.92 across three showcase requirements.txt files (langgraph-python, langgraph-fastapi, strands). The validate-pins ratchet compares the SHA-256 of the sorted [FAIL] tuple set against the recorded baseline. The langgraph-fastapi tuple "copilotkit pinned ==0.1.91, Dojo has ==0.1.87" now reads "==0.1.92, Dojo has ==0.1.87" — same already-failing tuple, new text, so the FAIL count is unchanged at 106 but the hash flipped. No new pin drift was introduced (count stays at 106). The pre-existing langgraph-fastapi <-> Dojo parity gap is out of scope for this bump and tracked separately. Updating only validatePinsFailHash to reflect the new tuple text. Old: d340cdebe623177b957b62576821b51cde7f174b6b788040d67cc87e3d20b702 New: 4355457a222f8011c361da7a848d7361e897ee588ad0b8c6487b851fd0c23b77
Improving the overall visual design of the docs landing page. <img width="1756" height="1315" alt="Screenshot 2026-05-28 at 3 13 05 PM" src="https://github.com/user-attachments/assets/aeef2c94-0cb1-475c-8f9c-c2a37437e0e1" />
## Summary - Add a version selector to the reference docs so readers can switch between v1 and the default reference content - Update reference routing and item loading to support the new v1 hierarchy - Add v1 reference content metadata and pages for hooks, components, SDKs, and classes - Extend SEO redirects to preserve reference navigation across versions ## Testing - Not run (not requested)
… fixes Add set -euo pipefail and non-empty SHA validation to the pyproject-change detection step so a null/stale merge_commit_sha fails loudly instead of silently skipping a real version bump. Mirror the npm lane's success guard on publish-python. Correct the python_publish input description (detection still runs) and drop the dead checkout token (persist-credentials is false).
…eric-local-only Compare against the max numeric version in PyPI `releases` rather than `info.version` (latest-uploaded, not highest). Apply strict dotted-numeric validation to the LOCAL version only; non-numeric published versions (prereleases) are filtered out instead of aborting the script. Add curl --max-time/--retry hardening and red-green test coverage for both cases.
…loud on bad PyPI JSON Right-pad version tuples so 0.2 and 0.2.0 compare equal (PEP 440), avoiding a duplicate-version publish that PyPI rejects. Exclude fully-yanked releases when computing the published max so a yanked high version can't block real bumps. Fail loud when a 200 response lacks a releases key instead of assuming the package is new. Surface curl transport errors and add red-green coverage.
…ard empty dist publish-python now skips when dry-run=true (matching the npm lane). Add set -euo pipefail to the tag step so a failed push no longer emits a ghost tag output or proceeds to the GitHub Release. Pass GITHUB_TOKEN via env instead of inline interpolation, guard against an empty dist/ before uv publish, and surface curl errors from the PyPI verify-live loop.
## Summary - Update shared error troubleshooting URLs to current shell-docs routes and heading fragments. - Drop the authentication fragment because shell-docs no longer has an equivalent section. ## Tests - node source check for generated docs URLs and shell-docs heading slugs - NX_DAEMON=false pnpm nx run @copilotkit/shared:test - pre-commit hook: package test/check suite ## Notes - NX_DAEMON=false pnpm nx run @copilotkit/shared:check-types currently fails on existing @copilotkit/license-verifier export errors in packages/shared/src/index.ts and a telemetry index-signature error in packages/shared/src/telemetry/telemetry-client.ts; this PR only changes docs URL strings in packages/shared/src/utils/errors.ts.
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )