Skip to content

fix(spec): require actionId when an action wants a response#2072

Open
BBC6BAE9 wants to merge 1 commit into
a2ui-project:mainfrom
BBC6BAE9:fix/v1-action-id-schema
Open

fix(spec): require actionId when an action wants a response#2072
BBC6BAE9 wants to merge 1 commit into
a2ui-project:mainfrom
BBC6BAE9:fix/v1-action-id-schema

Conversation

@BBC6BAE9

@BBC6BAE9 BBC6BAE9 commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Description

Require actionId when a v1.0 renderer action explicitly sets wantResponse to true, and add schema cases covering response-requesting and fire-and-forget actions.

The v1.0 protocol documentation already states that actionId is required in this case, but renderer_to_agent.json did not encode the conditional requirement. As a result, the schema accepted response-requesting actions that an agent could not correlate with an actionResponse.

The condition also requires wantResponse itself to be present, so existing actions that omit the optional field continue to validate. No tracking issue was filed because this is a small schema consistency fix.

Impact

  • Existing actions that omit wantResponse remain valid.
  • Actions with wantResponse: false remain valid without an actionId.
  • Actions with wantResponse: true must include an actionId.

Validation

  • python3 specification/v1_0/test/run_tests.py — 138 passed, 0 failed
  • python3 specification/scripts/validate.py — Overall Validation: PASSED
  • Prettier check — passed for the changed JSON files
  • git diff --check — passed

Pre-launch Checklist

One time:

For this PR:

  • I have updated the relevant CHANGELOG.md file. N/A: there is no specification CHANGELOG for this change.
  • I updated/added relevant documentation. N/A: the v1.0 protocol documentation already specifies this requirement; this PR aligns the schema with it.
  • My code changes (if any) have tests.
  • If my branch is on a fork, I have verified that scripts/e2e_test.sh passes. Not run: this Flutter/Gemini E2E requires GEMINI_API_KEY and is unrelated to the schema-only change.

If you need help, consider asking for advice on the discussion board.

@github-project-automation github-project-automation Bot moved this to Todo in A2UI Jul 22, 2026
@BBC6BAE9
BBC6BAE9 marked this pull request as ready for review July 22, 2026 05:45

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request updates the JSON schema in client_to_server.json to conditionally require actionId when wantResponse is set to true. It also adds test cases in client_messages.json to validate this new schema constraint. I have no feedback to provide.

@BBC6BAE9
BBC6BAE9 force-pushed the fix/v1-action-id-schema branch from 5fdb0d3 to f766da9 Compare July 23, 2026 06:22
@github-actions github-actions Bot added the status: needs-triage auto-managed: https://github.com/a2ui-project/a2ui/blob/main/scripts/triage.mjs label Jul 23, 2026
@BBC6BAE9
BBC6BAE9 force-pushed the fix/v1-action-id-schema branch from f766da9 to 1b8f885 Compare July 23, 2026 06:35
@polina-c

Copy link
Copy Markdown
Collaborator

Thank you for your contribution. Unfortunately, we must decline this PR at this time.
Our team resources are limited, and our policy is to prioritize the review of PRs that address an existing issue. Consider opening issue
and link your PR in the issue description as one of the options for resolution.

@github-actions github-actions Bot removed the status: needs-triage auto-managed: https://github.com/a2ui-project/a2ui/blob/main/scripts/triage.mjs label Jul 26, 2026
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