New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

actionwire

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

actionwire

A text assistant widget that uses the WebMCP tools a page already registered.

latest
Source
npmnpm
Version
0.2.0
Version published
Maintainers
1
Created
Source

Action Wire

Action Wire

A text assistant widget that uses the WebMCP tools a page already registered.

Your application publishes its actions once with document.modelContext.registerTool. People click them. The assistant calls the same handlers, with the same permissions, and asks before anything destructive. You never write a second copy of a tool schema for the model.

Requirements

  • A browser with native document.modelContext in a secure context. Chromium 153 with --enable-experimental-web-platform-features is the verified environment. See compatibility.
  • An OpenAI-compatible endpoint that you operate. The API key stays on your server.
  • ESM. Node.js 22.12+ for tooling.

If your users cannot start a browser with a flag, supply your own tool source instead. See Without native WebMCP.

Install

npm install actionwire

One package holds the widget, the headless bridge, the WebMCP source, the model adapter, and the types. Its only runtime dependency is @cfworker/json-schema, which validates tool input without eval, so the widget works under a strict Content-Security-Policy.

Quick start

Register a tool on the page, then mount the widget.

import { createAssistant, openAICompatible } from 'actionwire';

const assistant = createAssistant({
  model: openAICompatible({ endpoint: '/api/assistant' }),
});
assistant.mount();

/api/assistant is a route on your own origin that forwards to the model provider and adds the credentials. Do not call a provider from browser code.

Exports

ExportUse
createAssistantMount the Web Component widget.
createAgentBridgeThe same runtime with no user interface.
createWebMCPSourceRead the tools the page registered.
openAICompatibleTalk to your model endpoint.
AgentErrorEvery failure, with a stable code.

Types come from the same entry point, including ToolSource, ToolDefinition, AssistantOptions, AssistantState, and ErrorCode.

Safety

Model output is a request, not a command. A tool marked consequentialHint: true always asks for approval, and a tool with no readOnlyHint asks by default. Approval expires when the tool list changes, so a page cannot swap a harmless tool for a destructive one while the prompt is open.

Documentation

Guide · API reference · Architecture · GitHub

License

MIT

Keywords

agent

FAQs

Package last updated on 15 Sep 2026

Related posts