UNPKG

@mochabug/adapt-plugin-builder

Version:

This encapsulate the building an bundling logic for mochabug adapt plugins

223 lines 7.64 kB
import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1"; import type { ServiceBinding, ServiceBindingJson } from "./service_binding_pb"; import type { ServiceDefinition, ServiceDefinitionJson } from "./service_definition_pb"; import type { Vertex, VertexJson } from "./vertex_pb"; import type { Message } from "@bufbuild/protobuf"; /** * Describes the file mochabugapis/adapt/plugins/v1/manifest.proto. */ export declare const file_mochabugapis_adapt_plugins_v1_manifest: GenFile; /** * Manifest describes a plugin and its properties. * * Security considerations: The platform ensures that secrets and certificates * are stored and transmitted securely. * * *** Plugin authors must also ensure that their implementations * handle sensitive data appropriately! *** * * @generated from message mochabugapis.adapt.plugins.v1.Manifest */ export type Manifest = Message<"mochabugapis.adapt.plugins.v1.Manifest"> & { /** * 'name' is the alpha-numeric identifier of the plugin. Must be conform to a ES variable name * * @generated from field: string name = 1; */ name: string; /** * 'version' is the plugin's version, following SemVer 2.0: https://semver.org/ * * @generated from field: string version = 2; */ version: string; /** * 'label' is a human-friendly label displayed in the UI. * * @generated from field: string label = 3; */ label: string; /** * 'description' is a short, human-friendly description displayed in the UI. * * @generated from field: string description = 4; */ description: string; /** * 'organization' is the id of the organization the user belongs to. * * @generated from field: string organization = 5; */ organization: string; /** * 'homepage' is the plugin's homepage URL. * * @generated from field: optional string homepage = 6; */ homepage?: string; /** * 'repository' is the plugin's repository URL. * * @generated from field: optional string repository = 7; */ repository?: string; /** * 'bugs' is the URL or email for reporting bugs. * * @generated from field: optional string bugs = 8; */ bugs?: string; /** * 'author' is the name of the plugin's author. * * @generated from field: optional string author = 9; */ author?: string; /** * 'logo' is an optional path to the plugin logo. * The logo will be resized to a maximum of 80x80 pixels. * - Supported file formats: * - GIF: .gif * - JPEG: .jpg, .jpeg, .jfif, .pjpeg, .pjp * - PNG: .png * - SVG: .svg * - WEBP: .webp * - AVIF: .avif * * @generated from field: optional string logo = 10; */ logo?: string; /** * 'vertices' is a list of vertices that constitute the plugin. * this is filled in automatically when configurating a project on the filesystem * * @generated from field: repeated mochabugapis.adapt.plugins.v1.Vertex vertices = 11; */ vertices: Vertex[]; /** * 'service_definitions' are the actual definition of services that may be referenced * on either a system level, or user level at the vertices * * @generated from field: repeated mochabugapis.adapt.plugins.v1.ServiceDefinition service_definitions = 12; */ serviceDefinitions: ServiceDefinition[]; /** * 'system_services' are the services that are available on a system level * that is, configured and used by the plugin for exclusive purposes * IMPORTANT: any binding referring to a grant-type CODE will be required * to have the same name as the system_definition and be required to be of service type * * @generated from field: repeated mochabugapis.adapt.plugins.v1.ServiceBinding system_services = 13; */ systemServices: ServiceBinding[]; }; /** * Manifest describes a plugin and its properties. * * Security considerations: The platform ensures that secrets and certificates * are stored and transmitted securely. * * *** Plugin authors must also ensure that their implementations * handle sensitive data appropriately! *** * * @generated from message mochabugapis.adapt.plugins.v1.Manifest */ export type ManifestJson = { /** * 'name' is the alpha-numeric identifier of the plugin. Must be conform to a ES variable name * * @generated from field: string name = 1; */ name?: string; /** * 'version' is the plugin's version, following SemVer 2.0: https://semver.org/ * * @generated from field: string version = 2; */ version?: string; /** * 'label' is a human-friendly label displayed in the UI. * * @generated from field: string label = 3; */ label?: string; /** * 'description' is a short, human-friendly description displayed in the UI. * * @generated from field: string description = 4; */ description?: string; /** * 'organization' is the id of the organization the user belongs to. * * @generated from field: string organization = 5; */ organization?: string; /** * 'homepage' is the plugin's homepage URL. * * @generated from field: optional string homepage = 6; */ homepage?: string; /** * 'repository' is the plugin's repository URL. * * @generated from field: optional string repository = 7; */ repository?: string; /** * 'bugs' is the URL or email for reporting bugs. * * @generated from field: optional string bugs = 8; */ bugs?: string; /** * 'author' is the name of the plugin's author. * * @generated from field: optional string author = 9; */ author?: string; /** * 'logo' is an optional path to the plugin logo. * The logo will be resized to a maximum of 80x80 pixels. * - Supported file formats: * - GIF: .gif * - JPEG: .jpg, .jpeg, .jfif, .pjpeg, .pjp * - PNG: .png * - SVG: .svg * - WEBP: .webp * - AVIF: .avif * * @generated from field: optional string logo = 10; */ logo?: string; /** * 'vertices' is a list of vertices that constitute the plugin. * this is filled in automatically when configurating a project on the filesystem * * @generated from field: repeated mochabugapis.adapt.plugins.v1.Vertex vertices = 11; */ vertices?: VertexJson[]; /** * 'service_definitions' are the actual definition of services that may be referenced * on either a system level, or user level at the vertices * * @generated from field: repeated mochabugapis.adapt.plugins.v1.ServiceDefinition service_definitions = 12; */ serviceDefinitions?: ServiceDefinitionJson[]; /** * 'system_services' are the services that are available on a system level * that is, configured and used by the plugin for exclusive purposes * IMPORTANT: any binding referring to a grant-type CODE will be required * to have the same name as the system_definition and be required to be of service type * * @generated from field: repeated mochabugapis.adapt.plugins.v1.ServiceBinding system_services = 13; */ systemServices?: ServiceBindingJson[]; }; /** * Describes the message mochabugapis.adapt.plugins.v1.Manifest. * Use `create(ManifestSchema)` to create a new message. */ export declare const ManifestSchema: GenMessage<Manifest, ManifestJson>; //# sourceMappingURL=manifest_pb.d.ts.map