Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,11 @@ let package = Package(
path: "swift/swiftui/Sources/A2UISwiftUI"
),

// ── Sample Client ──
// ── Sample Renderer ──
.executableTarget(
name: "A2UISampleClient",
name: "A2UISampleRenderer",
dependencies: ["A2UISwiftUI", "A2UICore"],
path: "swift/sample/Sources/A2UISampleClient"
path: "swift/sample/Sources/A2UISampleRenderer"
),

// ── Tests ──
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ export GEMINI_API_KEY="your_gemini_api_key"
corepack enable

yarn install
cd samples/client/lit
cd samples/renderer/lit
yarn demo:restaurant
```

Expand Down
6 changes: 4 additions & 2 deletions agent_sdks/python/a2ui_agent/src/a2ui/inference_format.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
from typing import Any, Optional, Union
from a2ui.prompt import PromptGenerator
from a2ui.parser.parser import Parser
from a2ui.core.schema.client_capabilities import V09Capabilities
from a2ui.core.schema.renderer_capabilities import V1_0Capabilities


class InferenceFormat(ABC):
Expand Down Expand Up @@ -47,7 +47,9 @@ def generate_system_prompt(
role_description: str,
workflow_description: str = "",
ui_description: str = "",
client_ui_capabilities: Optional[Union[dict[str, Any], V09Capabilities]] = None,
client_ui_capabilities: Optional[
Union[dict[str, Any], V1_0Capabilities]
] = None,
allowed_components: Optional[list[str]] = None,
allowed_messages: Optional[list[str]] = None,
include_schema: bool = False,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
CatalogSchemaHelper,
)
from a2ui.prompt import PromptGenerator
from a2ui.core.schema.client_capabilities import V09Capabilities
from a2ui.core.schema.renderer_capabilities import V1_0Capabilities
from .parser import ElementalParser


Expand Down Expand Up @@ -407,7 +407,9 @@ def generate(
role_description: str,
workflow_description: str = "",
ui_description: str = "",
client_ui_capabilities: Optional[Union[dict[str, Any], V09Capabilities]] = None,
client_ui_capabilities: Optional[
Union[dict[str, Any], V1_0Capabilities]
] = None,
allowed_components: Optional[list[str]] = None,
allowed_messages: Optional[list[str]] = None,
include_schema: bool = False,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import re
from typing import Any, Optional, TYPE_CHECKING, Union
from a2ui.prompt import PromptGenerator
from a2ui.core.schema.client_capabilities import V09Capabilities
from a2ui.core.schema.renderer_capabilities import V1_0Capabilities

from .parser import ExpressParser
from .schema_helper import CatalogSchemaHelper
Expand Down Expand Up @@ -448,7 +448,9 @@ def generate(
role_description: str,
workflow_description: str = "",
ui_description: str = "",
client_ui_capabilities: Optional[Union[dict[str, Any], V09Capabilities]] = None,
client_ui_capabilities: Optional[
Union[dict[str, Any], V1_0Capabilities]
] = None,
allowed_components: Optional[list[str]] = None,
allowed_messages: Optional[list[str]] = None,
include_schema: bool = False,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

from a2ui.schema.utils import load_from_bundled_resource
from a2ui.inference_format import InferenceFormat
from a2ui.core.schema.client_capabilities import V09Capabilities
from a2ui.core.schema.renderer_capabilities import V1_0Capabilities

from a2ui.schema.constants import (
SERVER_TO_CLIENT_SCHEMA_KEY,
Expand Down Expand Up @@ -153,7 +153,9 @@ def _load_schemas(

def _select_catalog(
self,
client_ui_capabilities: Optional[Union[dict[str, Any], V09Capabilities]] = None,
client_ui_capabilities: Optional[
Union[dict[str, Any], V1_0Capabilities]
] = None,
) -> A2uiCatalog:
"""Selects the component catalog for the prompt based on client capabilities.

Expand Down Expand Up @@ -192,14 +194,15 @@ def _select_catalog(
):
data["supportedCatalogIds"] = []
try:
capabilities = V09Capabilities.model_validate(data)
capabilities = V1_0Capabilities.model_validate(data)
except Exception as e:
raise A2uiCatalogError(f"Invalid client capabilities format: {e}")
else:
capabilities = client_ui_capabilities

inline_catalogs = [
c.model_dump(by_alias=True) for c in capabilities.inline_catalogs or []
c.model_dump(by_alias=True) if hasattr(c, "model_dump") else c
for c in capabilities.inline_catalogs or []
]
client_supported_catalog_ids = capabilities.supported_catalog_ids or []

Expand Down Expand Up @@ -255,7 +258,9 @@ def _select_catalog(

def get_selected_catalog(
self,
client_ui_capabilities: Optional[Union[dict[str, Any], V09Capabilities]] = None,
client_ui_capabilities: Optional[
Union[dict[str, Any], V1_0Capabilities]
] = None,
allowed_components: Optional[list[str]] = None,
allowed_messages: Optional[list[str]] = None,
) -> A2uiCatalog:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

from typing import Optional, Any, TYPE_CHECKING, Union
from a2ui.prompt import PromptGenerator
from a2ui.core.schema.client_capabilities import V09Capabilities
from a2ui.core.schema.renderer_capabilities import V1_0Capabilities

if TYPE_CHECKING:
from a2ui.inference_formats.transport.format import TransportFormat
Expand All @@ -40,7 +40,9 @@ def generate(
role_description: str,
workflow_description: str = "",
ui_description: str = "",
client_ui_capabilities: Optional[Union[dict[str, Any], V09Capabilities]] = None,
client_ui_capabilities: Optional[
Union[dict[str, Any], V1_0Capabilities]
] = None,
allowed_components: Optional[list[str]] = None,
allowed_messages: Optional[list[str]] = None,
include_schema: bool = False,
Expand Down
6 changes: 4 additions & 2 deletions agent_sdks/python/a2ui_agent/src/a2ui/prompt/generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

from abc import ABC, abstractmethod
from typing import Any, Optional, Union
from a2ui.core.schema.client_capabilities import V09Capabilities
from a2ui.core.schema.renderer_capabilities import V1_0Capabilities


class PromptGenerator(ABC):
Expand All @@ -28,7 +28,9 @@ def generate(
role_description: str,
workflow_description: str = "",
ui_description: str = "",
client_ui_capabilities: Optional[Union[dict[str, Any], V09Capabilities]] = None,
client_ui_capabilities: Optional[
Union[dict[str, Any], V1_0Capabilities]
] = None,
allowed_components: Optional[list[str]] = None,
allowed_messages: Optional[list[str]] = None,
include_schema: bool = False,
Expand Down
2 changes: 1 addition & 1 deletion agent_sdks/python/a2ui_agent/src/a2ui/schema/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@
COMMON_TYPES_SCHEMA_KEY: "specification/v0_9_1/json/common_types.json",
},
VERSION_1_0: {
SERVER_TO_CLIENT_SCHEMA_KEY: "specification/v1_0/json/server_to_client.json",
SERVER_TO_CLIENT_SCHEMA_KEY: "specification/v1_0/json/agent_to_renderer.json",
COMMON_TYPES_SCHEMA_KEY: "specification/v1_0/json/common_types.json",
},
}
Expand Down
6 changes: 4 additions & 2 deletions agent_sdks/python/a2ui_agent/src/a2ui/template/manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

from typing import Optional, Any, Union
from a2ui.inference_format import InferenceFormat
from a2ui.core.schema.client_capabilities import V09Capabilities
from a2ui.core.schema.renderer_capabilities import V1_0Capabilities


class A2uiTemplateManager(InferenceFormat):
Expand All @@ -35,7 +35,9 @@ def generate_system_prompt(
role_description: str,
workflow_description: str = "",
ui_description: str = "",
client_ui_capabilities: Optional[Union[dict[str, Any], V09Capabilities]] = None,
client_ui_capabilities: Optional[
Union[dict[str, Any], V1_0Capabilities]
] = None,
allowed_components: Optional[list[str]] = None,
allowed_messages: Optional[list[str]] = None,
include_schema: bool = False,
Expand Down
Loading
Loading