Official
chat
Built-in chat UI (JavaScript UI plugin).
The app opens the listing; nothing installs until an agent in your Plugins workspace has read the files and you enable the plugin. In a terminal: cvg install convergence/chat@0.2.0
Permissions in 0.2.0
Files
input-schema.ts1014 B
// Legacy plugin storage needs boundary validation too. These structured blocks
// retain bytes on Alpha until a newer host can migrate them idempotently.
import * as z from "zod";
export const contentBlocks = z.array(z.discriminatedUnion("type", [
z.object({ type: z.literal("text"), text: z.string() }),
z.object({ type: z.literal("image"), mimeType: z.string(), data: z.string() }),
z.object({ type: z.literal("audio"), mimeType: z.string(), data: z.string() }),
z.object({ type: z.literal("file_ref"), path: z.string() }),
z.object({ type: z.literal("resource"), path: z.string(), text: z.string(), mimeType: z.string().optional() }),
z.object({ type: z.literal("skill"), name: z.string(), input: z.string().optional() }),
]));
export function legacyId(chatId: string, index: number, value: unknown): string {
let hash = 2166136261;
for (const character of JSON.stringify(value)) hash = Math.imul(hash ^ character.charCodeAt(0), 16777619);
return `legacy:${chatId}:${index}:${hash >>> 0}`;
}Versions
| Version | Published | Plugin API | Size | Permissions | Status |
|---|---|---|---|---|---|
| 0.2.0latest | Oct 5, 2026 | >=2 <3 | 105.1 KB | 5 permissions | Listed |
No comments yet.