Plugins and legacy AI helpers
The root entry point exposes a small PluginManager and legacy AI helper
functions. They are experimental and belong to the Node-oriented root surface;
they are not additional browser-safe entry points.
Prompt plugins
register() appends a plugin and calls its synchronous init() method.
enhancePrompt() awaits each registered onAICall() in registration order,
passing one result to the next. The manager has no automatic connection to an
agent or provider: the application must call it and pass the resulting prompt
to its chosen runtime. There is no built-in unregister or plugin sandbox.
import assert from 'node:assert/strict';
import { PluginManager } from '@tagna/udiot';
const plugins = new PluginManager();
plugins.register({
name: 'context',
init() {},
async onAICall(prompt) { return `Application context: ${prompt}`; },
});
assert.equal(await plugins.enhancePrompt('hello'), 'Application context: hello');
Use a fresh manager when isolation matters instead of sharing pluginManager
across unrelated tenants or tests.
Legacy generation helpers
useAICodeGeneration, useAICodeAnalysis, useAIImprovements and
useAIStyling wrap methods on the legacy AIClient.
AIStyler/createAIStyler similarly delegate CSS prompts to that client.
These function names do not supply React lifecycle management, a tool-use loop,
output validation or safe execution. Review generated output before use.
For new provider and agent work use the agent runtime and its typed LLM client. Keep provider secrets on the server. Check the export inventory before choosing an import.