@mochabug/adapt-plugin-builder
Version:
This encapsulate the building an bundling logic for mochabug adapt plugins
223 lines • 7.64 kB
TypeScript
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