---
title: kiliczsh/genui-bridge-swift
framework: Swift Package Catalog
role: article
path: packages/kiliczsh/genui-bridge-swift
---

# kiliczsh/genui-bridge-swift

**Validates agent tool calls into A2UI protocol messages.**

## Usage

```swift import GenUIBridge

// 1. Build tool definitions from your A2UI catalog schema. let toolset = A2UIToolset(catalogId: catalogID, catalogSchema: schema) let tools = toolset.toolDefinitions() // hand these to your agent SDK

// 2. Route every incoming tool call through the interceptor. let interceptor = A2UIToolCallInterceptor() let verdict = await interceptor.handle(toolName: name, input: input) // verdict tells the agent "rendered" or a correctable error

// 3. Consume the ordered, validated envelope stream. for await envelope in interceptor.envelopes {     let data = try envelope.serializedMessage() // hand off to your renderer } ```

## Requirements

- macOS 14+, Swift 5.9+ - No dependencies — Foundation only. One library product: `GenUIBridge`.

## Installation

```swift .package(url: "https://github.com/kiliczsh/genui-bridge-swift.git", from: "0.1.0") ```

> **Note:** This package is a transitional layer in the GenUI architecture. > Its validation and A2UI tooling responsibilities are moving to the cloud > agent runtime; expect it to be deprecated once that migration completes.

## Status

The agent → A2UI direction is implemented and covered by 16 tests (inputs constructed inline as typed `JSONValue` literals — no live agent or network anywhere in the suite): `A2UIToolset` (catalog → per-message-kind tool definitions, including the `a2ui_action_response` tool), `A2UIEnvelope` (fail-closed tool-call validation into versioned v1.0 envelopes), and `A2UIToolCallInterceptor` (an actor — verdict per call, spec surface-lifecycle enforcement, ordered envelope stream via `AsyncStream`). `JSONValue` uses `Decimal` for lossless numbers.

The reverse direction — turning a user's A2UI `action` (a button tap, a form submit) into the next agent turn — is by design left to the host app: this package supplies the validated `a2ui_action_response` tool and surface-lifecycle `retract`, but never talks to an agent SDK itself.

## Package Metadata

Repository: kiliczsh/genui-bridge-swift

Default branch: main

README: README.md
