From f1464a5b65b882c4be3cadd211a471a7c3ab1a3d Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Sat, 24 Jan 2026 22:42:48 -0500 Subject: [PATCH 1/6] Add github action to codespell main on push and PRs --- .github/workflows/codespell.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/workflows/codespell.yml diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml new file mode 100644 index 000000000..c59e04737 --- /dev/null +++ b/.github/workflows/codespell.yml @@ -0,0 +1,25 @@ +# Codespell configuration is within .codespellrc +--- +name: Codespell + +on: + push: + branches: [main] + pull_request: + branches: [main] + +permissions: + contents: read + +jobs: + codespell: + name: Check for spelling errors + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Annotate locations with typos + uses: codespell-project/codespell-problem-matcher@v1 + - name: Codespell + uses: codespell-project/actions-codespell@v2 From 6e2db43d8f2e1fed37b966be146bab77499e211a Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Sat, 24 Jan 2026 22:42:48 -0500 Subject: [PATCH 2/6] Add rudimentary codespell config --- .codespellrc | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .codespellrc diff --git a/.codespellrc b/.codespellrc new file mode 100644 index 000000000..e971aca1d --- /dev/null +++ b/.codespellrc @@ -0,0 +1,6 @@ +[codespell] +# Ref: https://github.com/codespell-project/codespell#using-a-config-file +skip = .git*,*.svg,package-lock.json,*-lock.yaml,*.lock,*.css,.codespellrc +check-hidden = true +ignore-regex = ^\s*"image/\S+": ".* +# ignore-words-list = From 69a848ca1073dab9b46254134e642c4f8fe1f83c Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Sat, 24 Jan 2026 22:44:02 -0500 Subject: [PATCH 3/6] chore: update codespell config to skip cache directories --- .codespellrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.codespellrc b/.codespellrc index e971aca1d..1a66fc059 100644 --- a/.codespellrc +++ b/.codespellrc @@ -1,6 +1,6 @@ [codespell] # Ref: https://github.com/codespell-project/codespell#using-a-config-file -skip = .git*,*.svg,package-lock.json,*-lock.yaml,*.lock,*.css,.codespellrc +skip = .git*,*.svg,package-lock.json,*-lock.yaml,*.lock,*.css,.codespellrc,.cache,.npm check-hidden = true ignore-regex = ^\s*"image/\S+": ".* # ignore-words-list = From 09cd94709d825a5730289175629c865c6330ff8c Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Sat, 24 Jan 2026 22:44:26 -0500 Subject: [PATCH 4/6] chore: add SER and cyclin to codespell ignore list (biology terms) --- .codespellrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.codespellrc b/.codespellrc index 1a66fc059..20ef6f2f0 100644 --- a/.codespellrc +++ b/.codespellrc @@ -3,4 +3,4 @@ skip = .git*,*.svg,package-lock.json,*-lock.yaml,*.lock,*.css,.codespellrc,.cache,.npm check-hidden = true ignore-regex = ^\s*"image/\S+": ".* -# ignore-words-list = +ignore-words-list = ser,cyclin From 94a465d6c3c8a607a6e7fb4e5195ebe80aba895d Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Sat, 24 Jan 2026 23:19:01 -0500 Subject: [PATCH 5/6] chore: fix ambiguous typos requiring context review Fixed ambiguous typos: - custome -> custom (samples/client/angular/README.md:9) - 'Google Map custom components' - Reenable -> Re-enable (tools/editor/middleware/gemini.ts:23) - TODO comment --- samples/client/angular/README.md | 2 +- tools/editor/middleware/gemini.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/samples/client/angular/README.md b/samples/client/angular/README.md index 88cd62112..4cd7baf77 100644 --- a/samples/client/angular/README.md +++ b/samples/client/angular/README.md @@ -6,7 +6,7 @@ These are sample implementations of A2UI in Angular. 1. [nodejs](https://nodejs.org/en) -NOTE: [For the rizzcharts app](../../agent/adk/rizzcharts/), you will need GoogleMap API ([How to get the API key](https://developers.google.com/maps/documentation/javascript/get-api-key)) to display Google Map custome components. Please refer to [Rizzcharts README](./projects/rizzcharts/README.md) +NOTE: [For the rizzcharts app](../../agent/adk/rizzcharts/), you will need GoogleMap API ([How to get the API key](https://developers.google.com/maps/documentation/javascript/get-api-key)) to display Google Map custom components. Please refer to [Rizzcharts README](./projects/rizzcharts/README.md) ## Running diff --git a/tools/editor/middleware/gemini.ts b/tools/editor/middleware/gemini.ts index 888e10bea..ed2a0cf3c 100644 --- a/tools/editor/middleware/gemini.ts +++ b/tools/editor/middleware/gemini.ts @@ -20,7 +20,7 @@ import { GoogleGenAI } from "@google/genai"; import { v0_8 } from "@a2ui/lit"; import { createA2UIPrompt, createImageParsePrompt } from "./prompts"; -// TODO: Reenable. +// TODO: Re-enable. // import ServerToClientMessage from "../schemas/a2ui-message.js"; let catalog: v0_8.Types.ClientCapabilitiesDynamic | null = null; From 592c646522bdd7b1bd4e15117020999ca579a09a Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Sat, 24 Jan 2026 23:19:17 -0500 Subject: [PATCH 6/6] chore: fix non-ambiguous typos with codespell Fixed typos: - comonents -> components (docs/renderers.md:9) - releative -> relative (samples/client/angular/projects/a2a-chat-canvas/src/lib/components/chat/input-area/input-area.scss:21) - reponse -> response (samples/client/angular/projects/a2a-chat-canvas/src/lib/services/chat-service.ts:261) - effecient -> efficient (specification/v0_9/docs/a2ui_protocol.md:102) --- docs/renderers.md | 2 +- .../src/lib/components/chat/input-area/input-area.scss | 2 +- .../projects/a2a-chat-canvas/src/lib/services/chat-service.ts | 2 +- specification/v0_9/docs/a2ui_protocol.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/renderers.md b/docs/renderers.md index f12c4cb07..01d2fa3c1 100644 --- a/docs/renderers.md +++ b/docs/renderers.md @@ -6,7 +6,7 @@ The [agents](agents.md) are responsible for generating the A2UI messages, and the [transports](transports.md) are responsible for delivering the messages to the client. The client renderer library must buffer and handle A2UI messages, implement the A2UI lifecycle, and render surfaces (widgets). -You have a lot of flexibility, to bring custom comonents to a renderer, or build your own renderer to support your UI component framework. +You have a lot of flexibility, to bring custom components to a renderer, or build your own renderer to support your UI component framework. ## Available Renderers diff --git a/samples/client/angular/projects/a2a-chat-canvas/src/lib/components/chat/input-area/input-area.scss b/samples/client/angular/projects/a2a-chat-canvas/src/lib/components/chat/input-area/input-area.scss index cfd5c2168..5871b02dc 100644 --- a/samples/client/angular/projects/a2a-chat-canvas/src/lib/components/chat/input-area/input-area.scss +++ b/samples/client/angular/projects/a2a-chat-canvas/src/lib/components/chat/input-area/input-area.scss @@ -18,7 +18,7 @@ display: block; padding-inline: 16px; margin-block-end: 24px; - // Lets the ::before pseudo element be positioned absolutely releative to + // Lets the ::before pseudo element be positioned absolutely relative to // the InputArea. position: relative; diff --git a/samples/client/angular/projects/a2a-chat-canvas/src/lib/services/chat-service.ts b/samples/client/angular/projects/a2a-chat-canvas/src/lib/services/chat-service.ts index c50960b07..b0d87d9c6 100644 --- a/samples/client/angular/projects/a2a-chat-canvas/src/lib/services/chat-service.ts +++ b/samples/client/angular/projects/a2a-chat-canvas/src/lib/services/chat-service.ts @@ -258,7 +258,7 @@ export class ChatService { /** * Creates the agent role based on the agent card and the message response if available. * - * @param response The reponse message received from the agent. + * @param response The response message received from the agent. * @returns A new UiAgent object representing the agent that the user is chatting with. */ private createRole(response?: SendMessageSuccessResponse): UiAgent { diff --git a/specification/v0_9/docs/a2ui_protocol.md b/specification/v0_9/docs/a2ui_protocol.md index d289bad3b..7a1fa90e8 100644 --- a/specification/v0_9/docs/a2ui_protocol.md +++ b/specification/v0_9/docs/a2ui_protocol.md @@ -99,7 +99,7 @@ While A2UI is agnostic, it is most commonly used with the following transports. #### A2A (Agent2Agent) Binding [A2A (Agent-to-Agent)](https://a2a-protocol.org/latest/) is an excellent transport option for A2UI in agentic systems, extending A2A with additional payloads. -A2A is uniquely capable of handling remote agent communication, and can also provide a secure and effecient transport between an agentic backend and front end application. +A2A is uniquely capable of handling remote agent communication, and can also provide a secure and efficient transport between an agentic backend and front end application. * **Message Mapping**: Each A2UI envelope (e.g., `updateComponents`) corresponds to the payload of a single A2A message Part. * **Metadata**: