Skip to content

refactor(inference): rename transport format terminology to direct_json - #2130

Merged
gspencergoog merged 5 commits into
a2ui-project:mainfrom
gspencergoog:direct_json
Jul 30, 2026
Merged

refactor(inference): rename transport format terminology to direct_json#2130
gspencergoog merged 5 commits into
a2ui-project:mainfrom
gspencergoog:direct_json

Conversation

@gspencergoog

@gspencergoog gspencergoog commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

Renames the A2UI inference format terminology from Transport (TransportFormat, TransportParser, TransportStreamParser) to Direct JSON (DirectJsonFormat, DirectJsonParser, DirectJsonStreamParser) across the codebase.

Changes

  • Renamed core inference classes and modules:
    • TransportFormat -> DirectJsonFormat
    • TransportParser -> DirectJsonParser
    • TransportStreamParser -> DirectJsonStreamParser
    • TransportPromptGenerator -> DirectJsonPromptGenerator
    • Moved package module a2ui.inference_formats.transport to a2ui.inference_formats.direct_json.
  • Removed legacy a2ui.parser.streaming module.
  • Updated Python SDK modules, imports, unit tests, integration tests, and conformance test suites.
  • Updated eval/ strategy resolvers, dataset loaders, task definitions, and baseline paths (eval/baselines/direct_json/).
  • Updated sample applications and client/agent integration references across Python, TypeScript, and Swift codebases.
  • Updated documentation (agent_development.md, blueprints) and added a CHANGELOG entry in a2ui_agent.

Impact & Risks

  • Breaking Changes: Renames the a2ui.inference_formats.transport module to a2ui.inference_formats.direct_json and removes the legacy a2ui.parser.streaming module. Python SDK consumers must update imports to a2ui.inference_formats.direct_json.
  • No Performance Impact: Internal logic and JSON parsing behavior remain unchanged.

Testing

  • Ran full Python SDK pytest suite: All tests passed cleanly.
  • Verified eval/ strategy tests and dataset loaders.

Rename the "Transport" terminology for the A2UI JSON inference format to
"Direct JSON" / "direct_json" (`DirectJsonFormat`, `DirectJsonParser`,
`DirectJsonStreamParser`).

- Move `a2ui.inference_formats.transport` -> `a2ui.inference_formats.direct_json`
- Add backward-compatibility alias module at `a2ui.inference_formats.transport`
  with deprecation warning
- Update SDK references, test suites, evaluation scripts, and sample apps
- Update documentation and changelog
gemini-code-assist[bot]

This comment was marked as resolved.

- Import DirectJsonParser and DirectJsonFormat from direct_json package root
- Remove inline import of DirectJsonParser in tests
- Raise A2uiCatalogError instead of ValueError when no supported catalogs configured
- Add test verifying A2uiCatalogError for missing supported catalogs
gemini-code-assist[bot]

This comment was marked as resolved.

Comment thread eval/a2ui_eval/strategies/format.py Outdated
- Add deprecated submodule stub files (transport/format.py, transport/parser.py, transport/streaming.py, transport/prompt_generator.py) to prevent import errors for legacy code
- Replace silent aliases for TransportFormat, TransportParser, TransportStreamParser, A2uiStreamParser, and TransportPromptGenerator with subclasses that emit a DeprecationWarning
- Update direct strategy name references in eval package from 'json' to 'direct_json'
- Add test_transport_deprecation.py verifying runtime deprecation warnings
…reaming parser

- Remove transport compatibility stub directory (inference_formats/transport/)
- Remove Transport* and A2uiStreamParser deprecation subclasses and aliases
- Remove legacy a2ui.parser.streaming module
- Remove test_transport_deprecation.py
gemini-code-assist[bot]

This comment was marked as resolved.


class A2uiSchemaManager(TransportFormat):
"""Deprecated compatibility wrapper around TransportFormat."""
class A2uiSchemaManager(DirectJsonFormat):

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm wondering if we can nuke this too...

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is still used by internal customers. Let's keep it for now.

@gspencergoog
gspencergoog merged commit 538ff81 into a2ui-project:main Jul 30, 2026
31 of 38 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in A2UI Jul 30, 2026
@gspencergoog
gspencergoog deleted the direct_json branch July 30, 2026 20:11
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.

2 participants