UNPKG

@ubiquity-os/plugin-sdk

Version:

SDK for plugin support.

45 lines (41 loc) 1.6 kB
import { EmitterWebhookEventName, EmitterWebhookEvent } from '@octokit/webhooks'; import * as _sinclair_typebox from '@sinclair/typebox'; import { StaticDecode } from '@sinclair/typebox'; declare const commandCallSchema: _sinclair_typebox.TUnion<[_sinclair_typebox.TNull, _sinclair_typebox.TObject<{ name: _sinclair_typebox.TString; parameters: _sinclair_typebox.TUnknown; }>]>; type CommandCall = StaticDecode<typeof commandCallSchema>; declare class PluginInput<T extends EmitterWebhookEventName = EmitterWebhookEventName> { private _privateKey; stateId: string; eventName: T; eventPayload: EmitterWebhookEvent<T>["payload"]; settings: unknown; authToken: string; ref: string; command: CommandCall; constructor(privateKey: string, stateId: string, eventName: T, eventPayload: EmitterWebhookEvent<T>["payload"], settings: unknown, authToken: string, ref: string, command: CommandCall); getInputs(): Promise<{ signature: string; stateId: string; eventName: T; eventPayload: string; settings: string; authToken: string; ref: string; command: string; }>; } interface Inputs { stateId: unknown; eventName: unknown; eventPayload: unknown; authToken: unknown; settings: unknown; ref: unknown; command: unknown; } declare function verifySignature(publicKeyPem: string, inputs: Inputs, signature: string): Promise<boolean>; declare function signPayload(payload: string, privateKey: string): Promise<string>; export { PluginInput, signPayload, verifySignature };