Official
palette
Built-in command palette (⌘⇧P) and chat search (⌘P).
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/palette@0.2.0
Permissions in 0.2.0
Files
state.ts1.7 KB
// Palette state belongs to one activation; ranking and rendering share it through this layer.
// Its view handle lets asynchronous catalog and search results request a render.
import * as Context from "effect/Context";
import * as Layer from "effect/Layer";
import type { EffectClient } from "convergence/effect";
import type { Chat, CommandInfo, PaletteItem, PaletteProviderInfo, ViewHandle, Workspace } from "convergence";
import type { Settings } from "../settings/contract.ts";
export interface State {
open: "commands" | "chats" | null;
query: string;
selected: number;
commands: readonly CommandInfo[];
chats: readonly Chat[];
workspaces: Record<string, Workspace>;
providers: readonly PaletteProviderInfo[];
found: { key: string; items: readonly PaletteItem[] };
recent: string[];
searching: number;
view?: ViewHandle;
// The convergence/settings client while its provider runs; Assign on a
// conflicting key does nothing without it.
settings: EffectClient<typeof Settings> | undefined;
}
export interface State {
open: "commands" | "chats" | null;
query: string;
selected: number;
commands: readonly CommandInfo[];
chats: readonly Chat[];
workspaces: Record<string, Workspace>;
providers: readonly PaletteProviderInfo[];
found: { key: string; items: readonly PaletteItem[] };
recent: string[];
searching: number;
view?: ViewHandle;
}
export class PaletteState extends Context.Service<PaletteState, State>()("palette/State") {
static readonly layer = Layer.sync(PaletteState, () => ({
open: null,
query: "",
selected: 0,
commands: [],
chats: [],
workspaces: {},
providers: [],
found: { key: "", items: [] },
recent: [],
searching: 0,
settings: undefined,
}));
}Versions
| Version | Published | Plugin API | Size | Permissions | Status |
|---|---|---|---|---|---|
| 0.2.0latest | Oct 5, 2026 | >=2 <3 | 11.2 KB | 3 permissions | Listed |
No comments yet.