diff --git a/.codespellrc b/.codespellrc new file mode 100644 index 000000000..20ef6f2f0 --- /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,.cache,.npm +check-hidden = true +ignore-regex = ^\s*"image/\S+": ".* +ignore-words-list = ser,cyclin 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 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/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/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**: 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;