@mochabug/adaptkit 0.2.0-alpha.1 → 0.3.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,826 @@
1
+ import { ServiceType } from "@protobuf-ts/runtime-rpc";
2
+ import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
3
+ import type { IBinaryWriter } from "@protobuf-ts/runtime";
4
+ import type { BinaryReadOptions } from "@protobuf-ts/runtime";
5
+ import type { IBinaryReader } from "@protobuf-ts/runtime";
6
+ import type { PartialMessage } from "@protobuf-ts/runtime";
7
+ import { MessageType } from "@protobuf-ts/runtime";
8
+ /**
9
+ * UploadPluginRequest represents a single request in the CreatePlugin streaming
10
+ * RPC. The client sends a series of UploadPluginRequest messages containing
11
+ * plugin data, starting with a manifest and followed by one or more files.
12
+ *
13
+ * @generated from protobuf message mochabugapis.adapt.plugins.v1.UploadPluginRequest
14
+ */
15
+ export interface UploadPluginRequest {
16
+ /**
17
+ * @generated from protobuf oneof: data
18
+ */
19
+ data: {
20
+ oneofKind: "manifest";
21
+ /**
22
+ * 'manifest' is the Manifest describing the plugin.
23
+ * It must be the first message in the stream.
24
+ *
25
+ * @generated from protobuf field: mochabugapis.adapt.plugins.v1.Manifest manifest = 1;
26
+ */
27
+ manifest: Manifest;
28
+ } | {
29
+ oneofKind: "file";
30
+ /**
31
+ * 'file' is a File contained within the plugin.
32
+ * It follows the manifest in the stream.
33
+ *
34
+ * @generated from protobuf field: mochabugapis.adapt.plugins.v1.File file = 2;
35
+ */
36
+ file: File;
37
+ } | {
38
+ oneofKind: undefined;
39
+ };
40
+ }
41
+ /**
42
+ * UploadPluginResponse represents the response from the CreatePlugin streaming
43
+ * RPC. The server sends a single CreatePluginResponse after successfully
44
+ * processing all UploadPluginResponse messages from the client.
45
+ *
46
+ * @generated from protobuf message mochabugapis.adapt.plugins.v1.UploadPluginResponse
47
+ */
48
+ export interface UploadPluginResponse {
49
+ }
50
+ /**
51
+ * File represents a file within a plugin package.
52
+ *
53
+ * @generated from protobuf message mochabugapis.adapt.plugins.v1.File
54
+ */
55
+ export interface File {
56
+ /**
57
+ * 'path' is the local file path relative to the manifest.json folder.
58
+ *
59
+ * Restrictions:
60
+ * - Must be a valid Unix file path.
61
+ * - Must match the ECMA regex: ^/[^/\0]*(/[^/\0]+)*[^/]$
62
+ * - Length must be less than 4096 characters.
63
+ *
64
+ * @generated from protobuf field: string path = 1;
65
+ */
66
+ path: string;
67
+ /**
68
+ * 'data' contains the actual binary file data.
69
+ *
70
+ * Restrictions:
71
+ * - Size must be greater than 0 bytes.
72
+ * - Size must be less than 10 MB (10,485,760 bytes).
73
+ *
74
+ * @generated from protobuf field: bytes data = 2;
75
+ */
76
+ data: Uint8Array;
77
+ }
78
+ /**
79
+ * Manifest describes a plugin and its properties.
80
+ *
81
+ * The ES module names and entry points follow a convention for the executor_esm and
82
+ * configurator_esm files:
83
+ * - export {<vertex-name>InternalConfigurator} for the internal endpoint of the
84
+ * vertex configurator
85
+ * - export {<vertex-name>ExternalConfigurator} for the external endpoint of the
86
+ * vertex configurator
87
+ * - export {<vertex-name>InternalExecutor} for the internal endpoint of the
88
+ * vertex executor
89
+ * - export {<vertex-name>ExternalExecutor} for the external endpoint of the
90
+ * vertex executor
91
+ *
92
+ * Security considerations: The platform ensures that secrets and certificates
93
+ * are stored and transmitted securely.
94
+ *
95
+ * *** Plugin authors must also ensure that their implementations
96
+ * handle sensitive data appropriately! ***
97
+ *
98
+ * @generated from protobuf message mochabugapis.adapt.plugins.v1.Manifest
99
+ */
100
+ export interface Manifest {
101
+ /**
102
+ * 'name' is the alpha-numeric identifier of the plugin.
103
+ *
104
+ * Restrictions:
105
+ * - Must match the ECMA regex: ^[_$a-z][_$a-z0-9]*$
106
+ * - Length must be greater than 0 and less than 50 characters.
107
+ * Security implications:
108
+ * - Should not contain sensitive information.
109
+ *
110
+ * @generated from protobuf field: string name = 1;
111
+ */
112
+ name: string;
113
+ /**
114
+ * 'version' is the plugin's version, following SemVer 2.0.
115
+ *
116
+ * Restrictions:
117
+ * - Must be compatible with: https://semver.org/
118
+ * - Must match the ECMA regex:
119
+ * ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$
120
+ * - Length must be less than 150 characters.
121
+ *
122
+ * @generated from protobuf field: string version = 2;
123
+ */
124
+ version: string;
125
+ /**
126
+ * 'label' is a human-friendly label displayed in the UI.
127
+ *
128
+ * Restrictions:
129
+ * - Length must be greater than 0 and less than 25 characters.
130
+ * Security implications:
131
+ * - Should not contain sensitive information.
132
+ *
133
+ * @generated from protobuf field: string label = 3;
134
+ */
135
+ label: string;
136
+ /**
137
+ * 'description' is a short, human-friendly description displayed in the UI.
138
+ *
139
+ * Restrictions:
140
+ * - Length must be greater than 0 and less than 250 characters.
141
+ * Security implications:
142
+ * - Should not contain sensitive information.
143
+ *
144
+ * @generated from protobuf field: string description = 4;
145
+ */
146
+ description: string;
147
+ /**
148
+ * 'homepage' is the plugin's homepage URL.
149
+ *
150
+ * Restrictions:
151
+ * - Must be a valid URL.
152
+ * Security implications:
153
+ * - Should not contain sensitive information.
154
+ *
155
+ * @generated from protobuf field: optional string homepage = 5;
156
+ */
157
+ homepage?: string;
158
+ /**
159
+ * 'repository' is the plugin's repository URL.
160
+ *
161
+ * Restrictions:
162
+ * - Must be a valid URL.
163
+ * Security implications:
164
+ * - Should not contain sensitive information.
165
+ *
166
+ * @generated from protobuf field: optional string repository = 6;
167
+ */
168
+ repository?: string;
169
+ /**
170
+ * 'bugs' is the URL or email for reporting bugs.
171
+ *
172
+ * Restrictions:
173
+ * - Must be a valid URL or email address.
174
+ * Security implications:
175
+ * - Should not contain sensitive information.
176
+ *
177
+ * @generated from protobuf field: optional string bugs = 7;
178
+ */
179
+ bugs?: string;
180
+ /**
181
+ * 'author' is the name of the plugin's author.
182
+ *
183
+ * Restrictions:
184
+ * - Length must be less than 100 characters.
185
+ * Security implications:
186
+ * - Should not contain sensitive information.
187
+ *
188
+ * @generated from protobuf field: optional string author = 8;
189
+ */
190
+ author?: string;
191
+ /**
192
+ * 'logo' is an optional path to the plugin logo.
193
+ * The logo will be resized to a maximum of 80x80 pixels.
194
+ *
195
+ * Restrictions:
196
+ * - Must be a valid Unix file path.
197
+ * - Must match the ECMA regex: ^/[^/\0]*(/[^/\0]+)*[^/]$
198
+ * - Length must be less than 4096 characters.
199
+ * - Supported file formats:
200
+ * - GIF: .gif
201
+ * - JPEG: .jpg, .jpeg, .jfif, .pjpeg, .pjp
202
+ * - PNG: .png
203
+ * - SVG: .svg
204
+ * - WEBP: .webp
205
+ * - AVIF: .avif
206
+ * - Length must be less than 1024 characters.
207
+ *
208
+ * @generated from protobuf field: optional string logo = 9;
209
+ */
210
+ logo?: string;
211
+ /**
212
+ * 'executor_esm' is the path to the executor ES module file.
213
+ *
214
+ * Restrictions:
215
+ * - Must be a valid Unix file path.
216
+ * - Must match the ECMA regex: ^/[^/\0]*(/[^/\0]+)*[^/]$
217
+ * - Length must be less than 4096 characters.
218
+ * - Supported file formats: .js, .mjs
219
+ *
220
+ * @generated from protobuf field: string executor_esm = 10;
221
+ */
222
+ executorEsm: string;
223
+ /**
224
+ * 'configurator_esm' is an optional path to the configurator ES module file.
225
+ *
226
+ * Restrictions:
227
+ * - Must be a valid Unix file path.
228
+ * - Must match the ECMA regex: ^/[^/\0]*(/[^/\0]+)*[^/]$
229
+ * - Length must be less than 4096 characters.
230
+ * - Supported file formats: .js, .mjs
231
+ * - Required if the 'config' property is set for any global or vertex.
232
+ *
233
+ * @generated from protobuf field: optional string configurator_esm = 11;
234
+ */
235
+ configuratorEsm?: string;
236
+ /**
237
+ * 'assets_dir' is an optional directory containing all static assets
238
+ * available to the plugin.
239
+ *
240
+ * Restrictions:
241
+ * - Must be a valid Unix directory path.
242
+ * - Must match the ECMA regex: ^/[^/\0]*(/[^/\0]*)*\/?$
243
+ * - Length must be less than 4096 characters.
244
+ *
245
+ * @generated from protobuf field: optional string assets_dir = 12;
246
+ */
247
+ assetsDir?: string;
248
+ /**
249
+ * 'vertices' is a list of vertices that constitute the plugin.
250
+ *
251
+ * Restrictions:
252
+ * - The count must be greater than 0 and less than or equal to 100.
253
+ *
254
+ * @generated from protobuf field: repeated mochabugapis.adapt.plugins.v1.Vertex vertices = 13;
255
+ */
256
+ vertices: Vertex[];
257
+ /**
258
+ * 'oauth2' represents the OAuth2 services required for the plugin.
259
+ * OAuth2 parameters are specified in the platform, and the service name is
260
+ * used as an identifier to fetch the access token from the API.
261
+ * - Must have between 0 and 20 oauth2 services, inclusive.
262
+ *
263
+ * @generated from protobuf field: repeated mochabugapis.adapt.plugins.v1.OAuth2Service oauth2 = 14;
264
+ */
265
+ oauth2: OAuth2Service[];
266
+ /**
267
+ * 'variables' represents the variables required by the plugin.
268
+ * The platform ensures secure storage and transmission of variables.
269
+ *
270
+ * Restrictions:
271
+ * - Must have between 0 and 20 variables, inclusive.
272
+ *
273
+ * @generated from protobuf field: repeated mochabugapis.adapt.plugins.v1.EnvironmentalVariable variables = 15;
274
+ */
275
+ variables: EnvironmentalVariable[];
276
+ /**
277
+ * 'mtls' represents the mTLS (mutual TLS) certificates required by
278
+ * the plugin. The platform ensures secure storage and transmission of
279
+ * certificates.
280
+ *
281
+ * Restrictions:
282
+ * - Must have between 0 and 20 mtls services, inclusive.
283
+ *
284
+ * @generated from protobuf field: repeated mochabugapis.adapt.plugins.v1.MTLSService mtls = 16;
285
+ */
286
+ mtls: MTLSService[];
287
+ }
288
+ /**
289
+ * MTLSService represents a mutual Transport Layer Security (mTLS) service
290
+ * configuration required by the plugin. mTLS provides secure communication
291
+ * between client and server by authenticating both parties and encrypting the
292
+ * communication.
293
+ *
294
+ * @generated from protobuf message mochabugapis.adapt.plugins.v1.MTLSService
295
+ */
296
+ export interface MTLSService {
297
+ /**
298
+ * 'name' is the identifier of the mTLS service.
299
+ * It's used for referencing the specific mTLS configuration.
300
+ *
301
+ * Restrictions:
302
+ * - Must match the ECMA regex: ^[_$a-z][_$a-z0-9]*$
303
+ * - Length must be greater than 0 and less than 50 characters.
304
+ * Security implications:
305
+ * - Should not contain sensitive information.
306
+ *
307
+ * @generated from protobuf field: string name = 1;
308
+ */
309
+ name: string;
310
+ /**
311
+ * 'trusted_ca' is a a path to the trusted server authority file
312
+ *
313
+ * Restrictions:
314
+ * - Must match the ECMA regex: ^/[^/\0]*(/[^/\0]+)*[^/]$
315
+ * - Length must be less than 4096 characters.
316
+ * - Allowed formats: .pem, .crt, .cer, ca-bundle
317
+ * - PEM format
318
+ *
319
+ * @generated from protobuf field: string trusted_ca = 2;
320
+ */
321
+ trustedCa: string;
322
+ /**
323
+ * 'label' is an optional short label describing the purpose of the mTLS
324
+ * service.
325
+ *
326
+ * Restrictions:
327
+ * - Length must be greater than 0 and less than 25 characters.
328
+ * Security implications:
329
+ * - Should not contain sensitive information.
330
+ *
331
+ * @generated from protobuf field: optional string label = 3;
332
+ */
333
+ label?: string;
334
+ /**
335
+ * 'description' is an optional detailed description of the mTLS service and
336
+ * its usage within the plugin.
337
+ *
338
+ * Restrictions:
339
+ * - Length must be less than 250 characters.
340
+ * Security implications:
341
+ * - Should not contain sensitive information.
342
+ *
343
+ * @generated from protobuf field: optional string description = 4;
344
+ */
345
+ description?: string;
346
+ /**
347
+ * Unset or false means the variable is required
348
+ * true means the mtls service is optional
349
+ *
350
+ * @generated from protobuf field: optional bool optional = 5;
351
+ */
352
+ optional?: boolean;
353
+ }
354
+ /**
355
+ * OAuth2Service defines the OAuth2 configuration required for a plugin.
356
+ *
357
+ * @generated from protobuf message mochabugapis.adapt.plugins.v1.OAuth2Service
358
+ */
359
+ export interface OAuth2Service {
360
+ /**
361
+ * 'name' is the identifier for the OAuth2 service.
362
+ *
363
+ * Restrictions:
364
+ * - Must match the ECMA regex: ^[_$a-z][_$a-z0-9]*$
365
+ * - Length must be greater than 0 and less than 50 characters.
366
+ * Security implications:
367
+ * - Should not contain sensitive information.
368
+ *
369
+ * @generated from protobuf field: string name = 1;
370
+ */
371
+ name: string;
372
+ /**
373
+ * 'grant_type' specifies the OAuth2 grant type to be used.
374
+ *
375
+ * @generated from protobuf field: mochabugapis.adapt.plugins.v1.OAuth2Service.GrantType grant_type = 2;
376
+ */
377
+ grantType: OAuth2Service_GrantType;
378
+ /**
379
+ * 'label' is an optional short label describing the purpose of the OAuth2
380
+ * service.
381
+ *
382
+ * Restrictions:
383
+ * - Length must be greater than 0 and less than 25 characters.
384
+ * Security implications:
385
+ * - Should not contain sensitive information.
386
+ *
387
+ * @generated from protobuf field: optional string label = 3;
388
+ */
389
+ label?: string;
390
+ /**
391
+ * 'description' is a full description about the oauth2 and what it's used for
392
+ *
393
+ * Restrictions:
394
+ * - Length must be greater than 0 and less than 250 characters.
395
+ * Security implications:
396
+ * - Should not contain sensitive information.
397
+ *
398
+ * @generated from protobuf field: optional string description = 4;
399
+ */
400
+ description?: string;
401
+ }
402
+ /**
403
+ * GrantType represents the supported OAuth2 grant types.
404
+ *
405
+ * @generated from protobuf enum mochabugapis.adapt.plugins.v1.OAuth2Service.GrantType
406
+ */
407
+ export declare enum OAuth2Service_GrantType {
408
+ /**
409
+ * GRANT_TYPE_UNSPECIFIED indicates an unspecified or invalid grant type.
410
+ *
411
+ * @generated from protobuf enum value: GRANT_TYPE_UNSPECIFIED = 0;
412
+ */
413
+ UNSPECIFIED = 0,
414
+ /**
415
+ * GRANT_TYPE_CODE represents the authorization code grant type.
416
+ * Access tokens are issued on a per-user basis.
417
+ *
418
+ * @generated from protobuf enum value: GRANT_TYPE_CODE = 1;
419
+ */
420
+ CODE = 1,
421
+ /**
422
+ * GRANT_TYPE_CLIENT_CREDENTIALS represents the client credentials grant
423
+ * type. Access tokens are issued globally for the plugin.
424
+ *
425
+ * @generated from protobuf enum value: GRANT_TYPE_CLIENT_CREDENTIALS = 2;
426
+ */
427
+ CLIENT_CREDENTIALS = 2
428
+ }
429
+ /**
430
+ * A representation of an environmental variable.
431
+ *
432
+ * This message represents an environmental variable used within the hosting platform.
433
+ * Environmental variables are essential for configuring applications and services hosted on the platform.
434
+ * They store values that can be accessed by the application or service during runtime.
435
+ *
436
+ * @generated from protobuf message mochabugapis.adapt.plugins.v1.EnvironmentalVariable
437
+ */
438
+ export interface EnvironmentalVariable {
439
+ /**
440
+ * 'name' is the identifier of the variable, which is referenced where needed.
441
+ *
442
+ * The 'name' field specifies the unique name of the environmental variable.
443
+ * It is used as an identifier to reference the variable throughout the platform.
444
+ * The name should follow certain restrictions:
445
+ * - Must match the ECMA regex: ^[$a-z][$a-z0-9]*$
446
+ * - Length must be greater than 0 and less than 50 characters.
447
+ * It is important to note that the 'name' field should not contain sensitive information.
448
+ *
449
+ * @generated from protobuf field: string name = 1;
450
+ */
451
+ name: string;
452
+ /**
453
+ * 'label' is a short, human-readable label describing the purpose of the variable.
454
+ *
455
+ * The 'label' field provides a concise, human-readable label that describes the purpose or role of the environmental variable.
456
+ * It helps users understand the significance of the variable without going into detailed descriptions.
457
+ * The label should adhere to the following restrictions:
458
+ * - Length must be greater than 0 and less than 25 characters.
459
+ * The 'label' field should not include sensitive information.
460
+ *
461
+ * @generated from protobuf field: optional string label = 2;
462
+ */
463
+ label?: string;
464
+ /**
465
+ * 'description' is a detailed description of the variable and its use.
466
+ *
467
+ * The 'description' field provides a detailed description of the environmental variable and its purpose.
468
+ * It offers comprehensive information about the variable's usage, expected values, and any special considerations.
469
+ * The description should be concise and informative, with a length limit of 250 characters.
470
+ * Sensitive information should not be included in the 'description' field.
471
+ *
472
+ * @generated from protobuf field: optional string description = 3;
473
+ */
474
+ description?: string;
475
+ /**
476
+ * The 'type' field specifies the data type of the environmental variable.
477
+ * It is represented using an enumeration, allowing four possible values:
478
+ * - TYPE_UNSPECIFIED: Indicates that the variable's type is not specified. This value is considered invalid.
479
+ * - TYPE_SECRET: Indicates that the variable will hold a secret value. Secrets are sensitive information and are handled with additional security measures.
480
+ * - TYPE_STRING: Indicates that the variable will hold a string value. Strings are commonly used for configuration settings.
481
+ * - TYPE_SWITCH: Indicates that the variable is a boolean value. It can have either true or false as its value.
482
+ *
483
+ * @generated from protobuf field: mochabugapis.adapt.plugins.v1.EnvironmentalVariable.Type type = 4;
484
+ */
485
+ type: EnvironmentalVariable_Type;
486
+ /**
487
+ * Unset or false means the variable is required
488
+ * true means the variable is optional
489
+ *
490
+ * @generated from protobuf field: optional bool optional = 5;
491
+ */
492
+ optional?: boolean;
493
+ }
494
+ /**
495
+ * The type of variable
496
+ *
497
+ * @generated from protobuf enum mochabugapis.adapt.plugins.v1.EnvironmentalVariable.Type
498
+ */
499
+ export declare enum EnvironmentalVariable_Type {
500
+ /**
501
+ * The type is not specified. Invalid value
502
+ *
503
+ * @generated from protobuf enum value: TYPE_UNSPECIFIED = 0;
504
+ */
505
+ UNSPECIFIED = 0,
506
+ /**
507
+ * The variable will hold a secret
508
+ *
509
+ * @generated from protobuf enum value: TYPE_SECRET = 1;
510
+ */
511
+ SECRET = 1,
512
+ /**
513
+ * The variable will hold a string
514
+ *
515
+ * @generated from protobuf enum value: TYPE_STRING = 2;
516
+ */
517
+ STRING = 2,
518
+ /**
519
+ * The variable is a boolean value
520
+ *
521
+ * @generated from protobuf enum value: TYPE_SWITCH = 3;
522
+ */
523
+ SWITCH = 3
524
+ }
525
+ /**
526
+ * The ServiceBinding message represents a binding to a OAuth2Service.
527
+ *
528
+ * Each ServiceBinding instance denotes a requirement of a OAuth2Service.
529
+ * The binding points to the required service by its 'name' and indicates whether the service is 'optional' or required.
530
+ *
531
+ * @generated from protobuf message mochabugapis.adapt.plugins.v1.ServiceBinding
532
+ */
533
+ export interface ServiceBinding {
534
+ /**
535
+ * The 'name' field specifies the name of the service to bind to. The name should match the 'name' field of
536
+ * the corresponding OAuth2Service.
537
+ *
538
+ * @generated from protobuf field: string name = 1;
539
+ */
540
+ name: string;
541
+ /**
542
+ * The 'optional' field indicates whether the service binding is optional or required. If 'optional' is
543
+ * set to true, the service is not strictly required and the plugin can function without it. If 'optional'
544
+ * is set to false, the service is required and the plugin might fail if it is not properly configured.
545
+ *
546
+ * @generated from protobuf field: bool optional = 2;
547
+ */
548
+ optional: boolean;
549
+ }
550
+ /**
551
+ * Vertex represents a graph vertex that defines a plugin.
552
+ * The ES module names and entry points follow a convention for the executor_esm and
553
+ * configurator_esm files:
554
+ * - export {<vertex-name>InternalConfigurator} for the internal endpoint of the
555
+ * vertex configurator
556
+ * - export {<vertex-name>ExternalConfigurator} for the external endpoint of the
557
+ * vertex configurator
558
+ * - export {<vertex-name>InternalExecutor} for the internal endpoint of the
559
+ * vertex executor
560
+ * - export {<vertex-name>ExternalExecutor} for the external endpoint of the
561
+ * vertex executor
562
+ *
563
+ *
564
+ * Note: Be aware of potential security implications when dealing with
565
+ * user-provided data, such as file paths, and ensure proper input validation
566
+ * and sanitization.
567
+ *
568
+ * @generated from protobuf message mochabugapis.adapt.plugins.v1.Vertex
569
+ */
570
+ export interface Vertex {
571
+ /**
572
+ * 'name' represents the vertex name.
573
+ *
574
+ * Restrictions:
575
+ * - Must match the ECMA regex: ^[_$a-z][_$a-z0-9]*$
576
+ * - Length must be greater than 0 and less than 50 characters.
577
+ * Security implications:
578
+ * - Should not contain sensitive information.
579
+ *
580
+ * @generated from protobuf field: string name = 1;
581
+ */
582
+ name: string;
583
+ /**
584
+ * 'label' is a human-friendly label shown in the UI.
585
+ *
586
+ * Restrictions:
587
+ * - Length must be greater than 0 and less than 25 characters.
588
+ * Security implications:
589
+ * - Should not contain sensitive information.
590
+ *
591
+ * @generated from protobuf field: string label = 2;
592
+ */
593
+ label: string;
594
+ /**
595
+ * 'description' is a human-friendly short description of the vertex displayed
596
+ * in UI.
597
+ *
598
+ * Restrictions:
599
+ * - Length must be greater than 0 and less than 250 characters.
600
+ * Security implications:
601
+ * - Should not contain sensitive information.
602
+ *
603
+ * @generated from protobuf field: optional string description = 3;
604
+ */
605
+ description?: string;
606
+ /**
607
+ * 'logo' is the file path to the vertex logo, which will be resized to a
608
+ * maximum of 40x40 pixels. Ensure that the logo files are from trusted
609
+ * sources to avoid security risks.
610
+ *
611
+ * Restrictions:
612
+ * - Must be a valid Unix file path.
613
+ * - Must match the ECMA regex: ^/[^/\0]*(/[^/\0]+)*[^/]$
614
+ * - Length must be less than 4096 characters.
615
+ * - Supported formats: GIF (.gif), JPEG (.jpg, .jpeg, .jfif, .pjpeg, .pjp),
616
+ * PNG (.png),
617
+ * SVG (.svg), WEBP (.webp), and AVIF (.avif).
618
+ *
619
+ * @generated from protobuf field: optional string logo = 4;
620
+ */
621
+ logo?: string;
622
+ /**
623
+ * 'type' specifies the type of the vertex.
624
+ *
625
+ * Restrictions:
626
+ * - Must not be VERTEX_TYPE_UNSPECIFIED.
627
+ *
628
+ * @generated from protobuf field: mochabugapis.adapt.plugins.v1.Vertex.VertexType type = 5;
629
+ */
630
+ type: Vertex_VertexType;
631
+ /**
632
+ * 'default_config' is an field that contains
633
+ * a Unix file path.
634
+ *
635
+ * Security implications:
636
+ * - Ensure that the file path points to a trusted location.
637
+ * - Validate and sanitize the JSON string before using it in your
638
+ * application.
639
+ *
640
+ * Restrictions:
641
+ * 1. a Unix file path:
642
+ * - Must match the ECMA regex: ^/[^/\0]*(/[^/\0]+)*[^/]$
643
+ * - Length must be less than 4096 characters.
644
+ * - Allowed format: .json
645
+ * 2. We always require a default config
646
+ * 3. plugin.cue#VertexConfig must validate the config
647
+ *
648
+ *
649
+ * @generated from protobuf field: string default_config = 6;
650
+ */
651
+ defaultConfig: string;
652
+ /**
653
+ * 'has_configurator' is a field to indicate whether or not
654
+ * the vertex has a configurator. That is: if it exports in the configurator_esm:
655
+ * - export {<vertex-name>InternalConfigurator} for the internal endpoint of the
656
+ * vertex configurator
657
+ * - export {<vertex-name>ExternalConfigurator} for the external endpoint of the
658
+ * vertex configurator
659
+ *
660
+ * @generated from protobuf field: bool has_configurator = 7;
661
+ */
662
+ hasConfigurator: boolean;
663
+ /**
664
+ * The variables field represents a list of EnvironemntalVariable instances for user-defined environmental variables.
665
+ *
666
+ * @generated from protobuf field: repeated mochabugapis.adapt.plugins.v1.EnvironmentalVariable variables = 8;
667
+ */
668
+ variables: EnvironmentalVariable[];
669
+ /**
670
+ * The mtls field contains a list of MTLSService instances for user-defined mTLS services.
671
+ *
672
+ * @generated from protobuf field: repeated mochabugapis.adapt.plugins.v1.MTLSService mtls = 9;
673
+ */
674
+ mtls: MTLSService[];
675
+ /**
676
+ * The oauth2 field stores a list of ServiceBinding instances for OAuth2 services.
677
+ *
678
+ * Each ServiceBinding in this list refers to an OAuth2 service required by the plugin for its functioning.
679
+ * If any of the OAuth2 services referred to in these bindings are not configured and are not marked as 'optional'
680
+ * in their respective ServiceBinding, the plugin might not be able to properly authenticate and authorize its operations.
681
+ *
682
+ * @generated from protobuf field: repeated mochabugapis.adapt.plugins.v1.ServiceBinding oauth2 = 10;
683
+ */
684
+ oauth2: ServiceBinding[];
685
+ }
686
+ /**
687
+ * VertexType represents the type of a vertex.
688
+ *
689
+ * @generated from protobuf enum mochabugapis.adapt.plugins.v1.Vertex.VertexType
690
+ */
691
+ export declare enum Vertex_VertexType {
692
+ /**
693
+ * Unspecified type (default value, should not be used).
694
+ *
695
+ * @generated from protobuf enum value: VERTEX_TYPE_UNSPECIFIED = 0;
696
+ */
697
+ UNSPECIFIED = 0,
698
+ /**
699
+ * Action type, available in all contexts and not exposed to the outside
700
+ * world. This type has a lower security risk.
701
+ *
702
+ * @generated from protobuf enum value: VERTEX_TYPE_ACTION = 1;
703
+ */
704
+ ACTION = 1,
705
+ /**
706
+ * Browser type, available only in a browser context.
707
+ * The configuration always runs inside a browser context.
708
+ * Security implications: be cautious about potentially sensitive data
709
+ * exposure.
710
+ *
711
+ * @generated from protobuf enum value: VERTEX_TYPE_BROWSER = 2;
712
+ */
713
+ BROWSER = 2,
714
+ /**
715
+ * CronTrigger type, available only in a trigger context.
716
+ * Triggered at specific intervals.
717
+ *
718
+ * @generated from protobuf enum value: VERTEX_TYPE_CRON_TRIGGER = 3;
719
+ */
720
+ CRON_TRIGGER = 3,
721
+ /**
722
+ * ExternalTrigger type, available only in a trigger context.
723
+ * Accessible via a publicly routable address.
724
+ * Security implications: be cautious about exposing sensitive data or
725
+ * functionality.
726
+ *
727
+ * @generated from protobuf enum value: VERTEX_TYPE_EXTERNAL_TRIGGER = 4;
728
+ */
729
+ EXTERNAL_TRIGGER = 4
730
+ }
731
+ declare class UploadPluginRequest$Type extends MessageType<UploadPluginRequest> {
732
+ constructor();
733
+ create(value?: PartialMessage<UploadPluginRequest>): UploadPluginRequest;
734
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadPluginRequest): UploadPluginRequest;
735
+ internalBinaryWrite(message: UploadPluginRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
736
+ }
737
+ /**
738
+ * @generated MessageType for protobuf message mochabugapis.adapt.plugins.v1.UploadPluginRequest
739
+ */
740
+ export declare const UploadPluginRequest: UploadPluginRequest$Type;
741
+ declare class UploadPluginResponse$Type extends MessageType<UploadPluginResponse> {
742
+ constructor();
743
+ create(value?: PartialMessage<UploadPluginResponse>): UploadPluginResponse;
744
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UploadPluginResponse): UploadPluginResponse;
745
+ internalBinaryWrite(message: UploadPluginResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
746
+ }
747
+ /**
748
+ * @generated MessageType for protobuf message mochabugapis.adapt.plugins.v1.UploadPluginResponse
749
+ */
750
+ export declare const UploadPluginResponse: UploadPluginResponse$Type;
751
+ declare class File$Type extends MessageType<File> {
752
+ constructor();
753
+ create(value?: PartialMessage<File>): File;
754
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: File): File;
755
+ internalBinaryWrite(message: File, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
756
+ }
757
+ /**
758
+ * @generated MessageType for protobuf message mochabugapis.adapt.plugins.v1.File
759
+ */
760
+ export declare const File: File$Type;
761
+ declare class Manifest$Type extends MessageType<Manifest> {
762
+ constructor();
763
+ create(value?: PartialMessage<Manifest>): Manifest;
764
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Manifest): Manifest;
765
+ internalBinaryWrite(message: Manifest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
766
+ }
767
+ /**
768
+ * @generated MessageType for protobuf message mochabugapis.adapt.plugins.v1.Manifest
769
+ */
770
+ export declare const Manifest: Manifest$Type;
771
+ declare class MTLSService$Type extends MessageType<MTLSService> {
772
+ constructor();
773
+ create(value?: PartialMessage<MTLSService>): MTLSService;
774
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MTLSService): MTLSService;
775
+ internalBinaryWrite(message: MTLSService, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
776
+ }
777
+ /**
778
+ * @generated MessageType for protobuf message mochabugapis.adapt.plugins.v1.MTLSService
779
+ */
780
+ export declare const MTLSService: MTLSService$Type;
781
+ declare class OAuth2Service$Type extends MessageType<OAuth2Service> {
782
+ constructor();
783
+ create(value?: PartialMessage<OAuth2Service>): OAuth2Service;
784
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: OAuth2Service): OAuth2Service;
785
+ internalBinaryWrite(message: OAuth2Service, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
786
+ }
787
+ /**
788
+ * @generated MessageType for protobuf message mochabugapis.adapt.plugins.v1.OAuth2Service
789
+ */
790
+ export declare const OAuth2Service: OAuth2Service$Type;
791
+ declare class EnvironmentalVariable$Type extends MessageType<EnvironmentalVariable> {
792
+ constructor();
793
+ create(value?: PartialMessage<EnvironmentalVariable>): EnvironmentalVariable;
794
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: EnvironmentalVariable): EnvironmentalVariable;
795
+ internalBinaryWrite(message: EnvironmentalVariable, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
796
+ }
797
+ /**
798
+ * @generated MessageType for protobuf message mochabugapis.adapt.plugins.v1.EnvironmentalVariable
799
+ */
800
+ export declare const EnvironmentalVariable: EnvironmentalVariable$Type;
801
+ declare class ServiceBinding$Type extends MessageType<ServiceBinding> {
802
+ constructor();
803
+ create(value?: PartialMessage<ServiceBinding>): ServiceBinding;
804
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ServiceBinding): ServiceBinding;
805
+ internalBinaryWrite(message: ServiceBinding, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
806
+ }
807
+ /**
808
+ * @generated MessageType for protobuf message mochabugapis.adapt.plugins.v1.ServiceBinding
809
+ */
810
+ export declare const ServiceBinding: ServiceBinding$Type;
811
+ declare class Vertex$Type extends MessageType<Vertex> {
812
+ constructor();
813
+ create(value?: PartialMessage<Vertex>): Vertex;
814
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Vertex): Vertex;
815
+ internalBinaryWrite(message: Vertex, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
816
+ }
817
+ /**
818
+ * @generated MessageType for protobuf message mochabugapis.adapt.plugins.v1.Vertex
819
+ */
820
+ export declare const Vertex: Vertex$Type;
821
+ /**
822
+ * @generated ServiceType for protobuf service mochabugapis.adapt.plugins.v1.PluginService
823
+ */
824
+ export declare const PluginService: ServiceType;
825
+ export {};
826
+ //# sourceMappingURL=plugins.d.ts.map