import type { PlimiPlugin } from "../../core/plugins/plugin-types"; import { runHashGenerator } from "./run"; export interface HashOptions { algorithm: "SHA-1" | "SHA-256" | "SHA-384" | "SHA-512"; output: "hex" | "base64"; } export const hashGeneratorPlugin: PlimiPlugin = { manifest: { id: "crypto-hash", name: "Hash Generator", description: "Generate cryptographic hashes securely in your browser.", category: "crypto", version: "1.0.0", tags: ["hash", "sha256", "crypto", "digest"], input: { type: "text" }, output: { type: "text" }, example: "Hello, Plimi!", offlineReady: true, }, optionsSchema: { fields: [ { type: "select", key: "algorithm", label: "Algorithm", defaultValue: "SHA-256", options: [ { label: "SHA-1", value: "SHA-1" }, { label: "SHA-256", value: "SHA-256" }, { label: "SHA-384", value: "SHA-384" }, { label: "SHA-512", value: "SHA-512" }, ], }, { type: "select", key: "output", label: "Output Format", defaultValue: "hex", options: [ { label: "Hex", value: "hex" }, { label: "Base64", value: "base64" }, ], }, ], }, capabilities: { cancelable: false, worker: false, }, run: runHashGenerator, };