New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@utcp/text

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@utcp/text

Text content protocol for UTCP - handles direct text content (browser-compatible)

latest
Source
npmnpm
Version
1.1.0
Version published
Maintainers
1
Created
Source

@utcp/text

Text Content Communication Protocol plugin for the Universal Tool Calling Protocol (UTCP).

Overview

This plugin provides support for loading UTCP manuals and tool definitions from direct text/string content. Unlike @utcp/file which reads from files, this plugin is browser-compatible and works in any JavaScript environment.

Installation

npm install @utcp/text

Usage

The plugin automatically registers itself when imported:

import '@utcp/text';
import { UtcpClient } from '@utcp/sdk';

const utcpManualContent = JSON.stringify({
  tools: [
    {
      name: 'my_tool',
      description: 'A sample tool',
      inputs: { type: 'object', properties: {} },
      outputs: { type: 'object', properties: {} }
    }
  ]
});

const client = await UtcpClient.create();
await client.registerCallTemplate({
  call_template_type: 'text',
  name: 'my-manual',
  content: utcpManualContent
});

Features

  • Browser-Compatible: No file system dependencies
  • Multiple Formats: Supports both JSON and YAML content
  • OpenAPI Conversion: Automatically converts OpenAPI specs to UTCP manuals
  • Type-Safe: Full TypeScript support with Zod validation

Text Call Template

The text call template accepts the following configuration:

  • call_template_type: Must be set to 'text'
  • name: Unique identifier for this manual
  • content: String content containing the UTCP manual or OpenAPI spec (required)
  • auth_tools: Optional authentication to apply to tools from OpenAPI specs

Example: OpenAPI Spec

import '@utcp/text';
import { UtcpClient } from '@utcp/sdk';

const openApiSpec = `
openapi: 3.0.0
info:
  title: My API
  version: 1.0.0
paths:
  /users:
    get:
      summary: Get users
      responses:
        '200':
          description: Success
`;

const client = await UtcpClient.create();
await client.registerCallTemplate({
  call_template_type: 'text',
  name: 'my-api',
  content: openApiSpec
});

Browser Usage

Perfect for web applications:

import '@utcp/text';
import { UtcpClient } from '@utcp/sdk';

// Load from API or inline
const response = await fetch('/api/utcp-manual');
const manualContent = await response.text();

const client = await UtcpClient.create();
await client.registerCallTemplate({
  call_template_type: 'text',
  name: 'remote-manual',
  content: manualContent
});

Comparison with @utcp/file

Feature@utcp/text@utcp/file
Browser compatible✅ Yes❌ No
Node.js compatible✅ Yes✅ Yes
File system access❌ No✅ Yes
Direct content✅ Yes❌ No
Use caseWeb apps, inline contentServer-side file reading

License

MPL-2.0

Keywords

utcp

FAQs

Package last updated on 15 Dec 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts