JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 35678
  • Score
    100M100P100Q147998F
  • License MIT

React hook API for registering agent tools in React Native

Package Exports

  • @rozenite/agent-bridge
  • @rozenite/agent-bridge/package.json

Readme

rozenite-banner

A React hook API for registering Rozenite Agent tools from React Native code.

mit licence npm downloads Chat PRs Welcome

The Rozenite Agent Bridge provides React hooks for exposing app-owned or plugin-owned tools to Rozenite for Agents. It builds on top of the Rozenite plugin bridge so React Native code can register tools, receive tool calls, and return structured results back to coding agents.

Features

  • React Hooks: Register Agent tools with hooks that fit naturally into React Native code
  • Plugin and App Domains: Expose tools under a plugin domain or an app-owned custom domain
  • Structured Inputs: Describe tool inputs with JSON-schema-like metadata
  • Automatic Lifecycle: Register tools on mount and unregister them on cleanup
  • Type-Safe Messages: Reuse shared Agent message and tool types across packages

Installation

Install the agent bridge as a dependency:

npm install @rozenite/agent-bridge

Quick Start

Register a Plugin Tool

import { useRozenitePluginAgentTool } from '@rozenite/agent-bridge';

function ExamplePlugin() {
  useRozenitePluginAgentTool({
    pluginId: '@example/plugin',
    tool: {
      name: 'echo',
      description: 'Return the provided value.',
      inputSchema: {
        type: 'object',
        properties: {
          value: { type: 'string' },
        },
        required: ['value'],
      },
    },
    handler: ({ value }: { value: string }) => ({ value }),
  });

  return null;
}

Register an In-App Custom Tool

import { useRozeniteInAppAgentTool } from '@rozenite/agent-bridge';

function AppAgentTools() {
  useRozeniteInAppAgentTool({
    domain: 'app',
    tool: {
      name: 'get-build-info',
      description: 'Return app build metadata.',
      inputSchema: {
        type: 'object',
        properties: {},
      },
    },
    handler: () => ({
      version: '1.0.0',
      environment: 'development',
    }),
  });

  return null;
}

Exports

  • useRozenitePluginAgentTool
  • useRozeniteInAppAgentTool
  • Agent tool and message types re-exported from @rozenite/agent-shared

Made with ❤️ at Callstack

rozenite is an open source project and will always remain free to use. If you think it's cool, please star it 🌟.

Callstack is a group of React and React Native geeks, contact us at hello@callstack.com if you need any help with these or just want to say hi!

Like the project? ⚛️ Join the team who does amazing stuff for clients and drives React Native Open Source! 🔥