@mochabug/adapt-plugin-builder
Version:
This encapsulate the building an bundling logic for mochabug adapt plugins
224 lines • 7.79 kB
TypeScript
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import type { ServiceBinding, ServiceBindingJson } from "./service_binding_pb";
import type { Message } from "@bufbuild/protobuf";
/**
* Describes the file mochabugapis/adapt/plugins/v1/vertex.proto.
*/
export declare const file_mochabugapis_adapt_plugins_v1_vertex: GenFile;
/**
* Vertex represents a graph vertex that defines a plugin.
* Note: Be aware of potential security implications when dealing with
* user-provided data, such as file paths, and ensure proper input validation
* and sanitization.
*
* @generated from message mochabugapis.adapt.plugins.v1.Vertex
*/
export type Vertex = Message<"mochabugapis.adapt.plugins.v1.Vertex"> & {
/**
* 'name' represents the vertex name.
*
* @generated from field: string name = 1;
*/
name: string;
/**
* 'label' is a human-friendly label displayed in the UI.
*
* @generated from field: string label = 2;
*/
label: string;
/**
* 'description' is a human-friendly short description of the vertex displayed
* in UI.
*
* @generated from field: optional string description = 3;
*/
description?: string;
/**
* 'logo' is the file path to the vertex logo, which will be resized to a
* maximum of 40x40 pixels. Ensure that the logo files are from trusted
* sources to avoid security risks.
* - 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 = 4;
*/
logo?: string;
/**
* 'capabilities' specifies the capabilities of the vertex
*
* @generated from field: repeated mochabugapis.adapt.plugins.v1.Capability capabilities = 5;
*/
capabilities: Capability[];
/**
* 'config' is an field that contains a Unix file path.
* This can be any type of file, this is only intepreted for the vertex itself
* Restrictions:
*
*
* @generated from field: optional string config = 6;
*/
config?: string;
/**
* 'metadata' is an field that contains a Unix file path.
* This determines which receivers, transmitters etc... the vertex has to begin with
* Restrictions:
*
*
* @generated from field: string metadata = 7;
*/
metadata: string;
/**
* 'user_services' are the services that the user is defining
* and consumed by a particular instance of the vertex
*
* @generated from field: repeated mochabugapis.adapt.plugins.v1.ServiceBinding user_services = 8;
*/
userServices: ServiceBinding[];
};
/**
* Vertex represents a graph vertex that defines a plugin.
* Note: Be aware of potential security implications when dealing with
* user-provided data, such as file paths, and ensure proper input validation
* and sanitization.
*
* @generated from message mochabugapis.adapt.plugins.v1.Vertex
*/
export type VertexJson = {
/**
* 'name' represents the vertex name.
*
* @generated from field: string name = 1;
*/
name?: string;
/**
* 'label' is a human-friendly label displayed in the UI.
*
* @generated from field: string label = 2;
*/
label?: string;
/**
* 'description' is a human-friendly short description of the vertex displayed
* in UI.
*
* @generated from field: optional string description = 3;
*/
description?: string;
/**
* 'logo' is the file path to the vertex logo, which will be resized to a
* maximum of 40x40 pixels. Ensure that the logo files are from trusted
* sources to avoid security risks.
* - 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 = 4;
*/
logo?: string;
/**
* 'capabilities' specifies the capabilities of the vertex
*
* @generated from field: repeated mochabugapis.adapt.plugins.v1.Capability capabilities = 5;
*/
capabilities?: CapabilityJson[];
/**
* 'config' is an field that contains a Unix file path.
* This can be any type of file, this is only intepreted for the vertex itself
* Restrictions:
*
*
* @generated from field: optional string config = 6;
*/
config?: string;
/**
* 'metadata' is an field that contains a Unix file path.
* This determines which receivers, transmitters etc... the vertex has to begin with
* Restrictions:
*
*
* @generated from field: string metadata = 7;
*/
metadata?: string;
/**
* 'user_services' are the services that the user is defining
* and consumed by a particular instance of the vertex
*
* @generated from field: repeated mochabugapis.adapt.plugins.v1.ServiceBinding user_services = 8;
*/
userServices?: ServiceBindingJson[];
};
/**
* Describes the message mochabugapis.adapt.plugins.v1.Vertex.
* Use `create(VertexSchema)` to create a new message.
*/
export declare const VertexSchema: GenMessage<Vertex, VertexJson>;
/**
* The capabilities of a vertex defines how the vertex is interracted with
* If the vertex has the cron capabilitiy, then a cron-scheduler will call the
* cron endpoint periodically until the vertex has finished or stopped
* If the vertex has external browser capabiltity, there will be an external endpoint
* where a third-party can communicate with the vertex
* If the vertex has a configurator, then the vertex will be able to be configured dynamically
*
* @generated from enum mochabugapis.adapt.plugins.v1.Capability
*/
export declare enum Capability {
/**
* Unspecified capability (default value, should not be used).
*
* @generated from enum value: CAPABILITY_UNSPECIFIED = 0;
*/
UNSPECIFIED = 0,
/**
* Cron capability, indicating that the vertex can be triggered at specific
* intervals.
*
* @generated from enum value: CAPABILITY_CRON = 1;
*/
CRON = 1,
/**
* The external capability, indicating that the vertex can be accessed via a
* publicly routable address.
*
* @generated from enum value: CAPABILITY_EXTERNAL = 2;
*/
EXTERNAL = 2,
/**
* Configurator capability, indicating that the vertex can be configured
* dynamically by a vertex-defined interface.
*
* @generated from enum value: CAPABILITY_CONFIGURATOR = 3;
*/
CONFIGURATOR = 3,
/**
* Browser capability, indicating that the vertex can be accessed via a
* browser context.
*
* @generated from enum value: CAPABILITY_BROWSER = 4;
*/
BROWSER = 4
}
/**
* The capabilities of a vertex defines how the vertex is interracted with
* If the vertex has the cron capabilitiy, then a cron-scheduler will call the
* cron endpoint periodically until the vertex has finished or stopped
* If the vertex has external browser capabiltity, there will be an external endpoint
* where a third-party can communicate with the vertex
* If the vertex has a configurator, then the vertex will be able to be configured dynamically
*
* @generated from enum mochabugapis.adapt.plugins.v1.Capability
*/
export type CapabilityJson = "CAPABILITY_UNSPECIFIED" | "CAPABILITY_CRON" | "CAPABILITY_EXTERNAL" | "CAPABILITY_CONFIGURATOR" | "CAPABILITY_BROWSER";
/**
* Describes the enum mochabugapis.adapt.plugins.v1.Capability.
*/
export declare const CapabilitySchema: GenEnum<Capability, CapabilityJson>;
//# sourceMappingURL=vertex_pb.d.ts.map