@ggui-ai/mcp-apps-react-native 0.23.0 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @ggui-ai/mcp-apps-react-native
2
2
 
3
- React Native SDK for [ggui](https://ggui.ai) — the interface layer
3
+ MCP Apps host helper for React Native, from [ggui](https://ggui.ai) — the interface layer
4
4
  between AI agents and humans. Agents describe UIs in natural language
5
5
  over MCP; ggui generates ephemeral interfaces. This package lets you
6
6
  embed those interfaces in a React Native or Expo app.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ggui-ai/mcp-apps-react-native",
3
- "version": "0.23.0",
4
- "description": "React Native SDK for ggui — components and hooks for embedding agent-generated UIs in mobile apps.",
3
+ "version": "0.24.0",
4
+ "description": "React Native host helper for MCP Apps — components and hooks for embedding agent-generated UIs in mobile apps.",
5
5
  "keywords": [
6
6
  "ggui",
7
7
  "react-native",
@@ -9,7 +9,7 @@
9
9
  "mcp",
10
10
  "ai-agent",
11
11
  "generative-ui",
12
- "sdk"
12
+ "mcp-apps"
13
13
  ],
14
14
  "license": "Apache-2.0",
15
15
  "homepage": "https://github.com/ggui-ai/ggui/tree/main/packages/mcp-apps-react-native",
@@ -58,9 +58,9 @@
58
58
  },
59
59
  "dependencies": {
60
60
  "@modelcontextprotocol/ext-apps": "^1.7.2",
61
- "@ggui-ai/design": "0.23.0",
62
- "@ggui-ai/iframe-runtime": "0.23.0",
63
- "@ggui-ai/protocol": "0.23.0"
61
+ "@ggui-ai/design": "0.24.0",
62
+ "@ggui-ai/protocol": "0.24.0",
63
+ "@ggui-ai/iframe-runtime": "0.24.0"
64
64
  },
65
65
  "devDependencies": {
66
66
  "@modelcontextprotocol/sdk": "^1.27.0",
@@ -72,7 +72,7 @@ export interface GguiProviderProps {
72
72
  * (e.g., react-native-permissions, expo-permissions, or a custom dialog).
73
73
  *
74
74
  * @param permission - The Web Permissions API name being requested
75
- * (e.g., `'camera'`, `'microphone'`, `'geolocation'`). The SDK
75
+ * (e.g., `'camera'`, `'microphone'`, `'geolocation'`). The helper
76
76
  * pre-validates the name against `KNOWN_PERMISSION_NAMES` before
77
77
  * invoking this handler, so an unknown name surfaces as a
78
78
  * `UnknownPermissionNameError` to the caller without ever
@@ -110,7 +110,7 @@ function detectRNInterfaceContext(): InterfaceContext {
110
110
  }
111
111
 
112
112
  /**
113
- * Root provider for the ggui React Native SDK.
113
+ * Root provider for the React Native host helper.
114
114
  *
115
115
  * Wraps the application with shared configuration needed by all ggui hooks
116
116
  * and components. Auto-detects interface context from React Native Dimensions
@@ -143,7 +143,7 @@ export function GguiProvider({ appId, wsEndpoint, adapterImpls, interfaceContext
143
143
  async (permission: string): Promise<PermissionStatus> => {
144
144
  // Gate on `KNOWN_PERMISSION_NAMES` (the Web Permissions API
145
145
  // enum). With no host-advertised `AdapterType[]` allow-list,
146
- // the SDK is the last line of defense against typos or
146
+ // the helper is the last line of defense against typos or
147
147
  // unsupported names slipping into the runtime cache.
148
148
  if (!KNOWN_PERMISSION_NAMES_SET.has(permission)) {
149
149
  throw new UnknownPermissionNameError({ observedName: permission });
@@ -68,7 +68,7 @@ export interface GguiContextValue {
68
68
  /** Base URL for design system modules in WebView import map */
69
69
  designSystemUrl?: string;
70
70
  /**
71
- * App config (endpointUrl, defaultShellType, etc). Mirrors the web SDK's
71
+ * App config (endpointUrl, defaultShellType, etc). Mirrors the web host helper's
72
72
  * context field — `useInvoke` reads `endpointUrl` from here when the
73
73
  * caller doesn't override it. Populated by {@link GguiProvider} via its
74
74
  * `appConfig` prop.
@@ -106,7 +106,7 @@ export function useGguiContext(): GguiContextValue {
106
106
  * for this capability — callers MUST handle that case (e.g. render
107
107
  * a fallback UI). Grant decisions live on `clientCapabilities.gadgets
108
108
  * [*].permission` and surface to the iframe via `Permissions-Policy`;
109
- * the SDK context just exposes whatever the host wired into
109
+ * the helper's context just exposes whatever the host wired into
110
110
  * `adapterImpls`.
111
111
  *
112
112
  * Mirrors {@link useAdapter} in `@ggui-ai/mcp-apps-react`. Capability packages
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @ggui-ai/mcp-apps-react-native - React Native SDK for ggui
2
+ * @ggui-ai/mcp-apps-react-native - MCP Apps host helper for React Native
3
3
  *
4
4
  * Provides React Native components, hooks, and utilities for embedding ggui
5
5
  * agent interfaces in mobile applications. The host primitive is
@@ -78,7 +78,7 @@ export type {
78
78
  // ProtocolError typed union — the canonical shape for every failure
79
79
  // the renderer classifies outward. `<McpAppIframe onError>` surfaces
80
80
  // it; embedding apps pattern-match on `err.kind`. The sibling package
81
- // `@ggui-ai/iframe-runtime` owns the declaration; the RN SDK re-exports
81
+ // `@ggui-ai/iframe-runtime` owns the declaration; this host helper re-exports
82
82
  // it at parity with `@ggui-ai/mcp-apps-react` so consumers have a single import
83
83
  // point per platform.
84
84
  export type {
@@ -100,7 +100,7 @@ export interface UseInvokeOptions {
100
100
  * - `ggui_render` / `ggui_update` / `ggui_handshake` — paired by
101
101
  * `tool_use_id` with an inline `tool_result` block on the same
102
102
  * assistant turn. Consumers watch for the pair and mount their
103
- * renderer (e.g. `<McpAppIframe>` on the web SDK) using the
103
+ * renderer (e.g. this package's `<McpAppIframe>`) using the
104
104
  * bootstrap metadata off the paired tool_result.
105
105
  * - `ggui_render_blueprint` — a pure client tool (no server result to
106
106
  * pair with); the consumer resolves the blueprint name locally.
@@ -409,7 +409,7 @@ function makeTransportError(message: string): InvokeError {
409
409
  * tool_result's content payload if one is present. Tolerant of arbitrary
410
410
  * nested shapes — agents may put the id directly on the result or under
411
411
  * a wrapper like `{ result: { hostSessionId } }`. Wire field and
412
- * SDK-side name are both `hostSessionId`.
412
+ * helper-side name are both `hostSessionId`.
413
413
  */
414
414
  function extractHostSessionIdFromContent(content: unknown): string | null {
415
415
  if (typeof content !== 'object' || content === null) return null;
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * `react-test-renderer@19` does not ship its own types, and there is no
5
5
  * matching `@types/react-test-renderer@19` on npm. We only need a tiny
6
- * surface (`create`, `act`, `ReactTestRenderer.toJSON()`) for the SDK's
6
+ * surface (`create`, `act`, `ReactTestRenderer.toJSON()`) for the package's
7
7
  * test files — full fidelity is not required.
8
8
  */
9
9
  declare module 'react-test-renderer' {