Repository navigation
fix(aws-strands): generate stable document names - #2505
Conversation
|
@NathanTarbert the PR is up and ready for review. It keeps document names stable across replayed turns, preserves uniqueness for identical documents across turns, and leaves #1976 out of scope as discussed. |
3b12189 to
4658d02
Compare
Python Preview PackagesVersion
Install with uvAdd the TestPyPI index to your [[tool.uv.index]]
name = "testpypi"
url = "https://test.pypi.org/simple/"
explicit = trueThen install the packages you need: # Core SDK
uv add 'ag-ui-protocol==0.0.0.dev1787754867' --index testpypi
# Integrations (each already depends on the matching ag-ui-protocol preview)
uv add 'ag-ui-langgraph==0.0.0.dev1787754867' --index testpypi
uv add 'ag-ui-crewai==0.0.0.dev1787754867' --index testpypi
# NOTE: ag-ui-agent-spec depends on pyagentspec (git-only, not on PyPI).
# You will need to install pyagentspec separately from its git repo.
uv add 'ag-ui-agent-spec==0.0.0.dev1787754867' --index testpypi
uv add 'ag_ui_adk==0.0.0.dev1787754867' --index testpypi
uv add 'ag_ui_strands==0.0.0.dev1787754867' --index testpypiInstall with pippip install \
--index-url https://test.pypi.org/simple/ \
--extra-index-url https://pypi.org/simple/ \
ag-ui-protocol==0.0.0.dev1787754867
Commit: 5f8373a |
@ag-ui/a2a-middleware
@ag-ui/a2ui-middleware
@ag-ui/event-throttle-middleware
@ag-ui/mcp-apps-middleware
@ag-ui/mcp-middleware
@ag-ui/a2a
@ag-ui/adk
@ag-ui/ag2
@ag-ui/agno
@ag-ui/aws-strands
@ag-ui/claude-agent-sdk
@ag-ui/claude-managed-agents
@ag-ui/crewai
@ag-ui/langchain
@ag-ui/langgraph
@ag-ui/llamaindex
@ag-ui/mastra
@ag-ui/pydantic-ai
@ag-ui/vercel-ai-sdk
@ag-ui/watsonx
@ag-ui/a2ui-toolkit
create-ag-ui-app
@ag-ui/client
@ag-ui/core
@ag-ui/encoder
@ag-ui/proto
commit: |
ranst91
left a comment
There was a problem hiding this comment.
As with the other PR, I took this one to completion fixing one small outstanding issue. Thanks for the contribution!
|
Thank you for taking this to completion and for fixing the final outstanding issue. I really appreciate the review and merge! |
Summary
Why
Bedrock requires document names to be unique across the complete request. Strands replays prior messages, so the hard-coded
documentname made a second document—even in a later turn—break the conversation.The digest uses length-framed stable inputs. The separate silent-failure behavior tracked in #1976 is intentionally out of scope.
Validation
uv run --frozen python -m pytest tests/ -q— 428 passed, 2 skippeduv run --frozen --with strands-agents==1.15.0 python -m pytest tests/ -q— 425 passed, 5 skippedgit diff --checkand Python bytecode compilation passedFixes #2425