@mochabug/adaptkit 1.0.0-rc.26 → 1.0.0-rc.28

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.
Files changed (30) hide show
  1. package/bin/genproto/mochabugapis/adapt/graph/signal_binding_pb.d.ts.map +1 -1
  2. package/bin/genproto/mochabugapis/adapt/graph/vertex_metadata_pb.d.ts.map +1 -1
  3. package/bin/genproto/mochabugapis/adapt/plugins/v1/compound_services_pb.d.ts +423 -0
  4. package/bin/genproto/mochabugapis/adapt/plugins/v1/compound_services_pb.d.ts.map +1 -0
  5. package/bin/genproto/mochabugapis/adapt/plugins/v1/file_pb.d.ts.map +1 -1
  6. package/bin/genproto/mochabugapis/adapt/plugins/v1/http_proxy_service_pb.d.ts +1282 -0
  7. package/bin/genproto/mochabugapis/adapt/plugins/v1/http_proxy_service_pb.d.ts.map +1 -0
  8. package/bin/genproto/mochabugapis/adapt/plugins/v1/manifest_pb.d.ts +184 -21
  9. package/bin/genproto/mochabugapis/adapt/plugins/v1/manifest_pb.d.ts.map +1 -1
  10. package/bin/genproto/mochabugapis/adapt/plugins/v1/oauth2_service_pb.d.ts +86 -2
  11. package/bin/genproto/mochabugapis/adapt/plugins/v1/oauth2_service_pb.d.ts.map +1 -1
  12. package/bin/genproto/mochabugapis/adapt/plugins/v1/plugins_pb.d.ts.map +1 -1
  13. package/bin/genproto/mochabugapis/adapt/plugins/v1/service_definition_pb.d.ts +141 -18
  14. package/bin/genproto/mochabugapis/adapt/plugins/v1/service_definition_pb.d.ts.map +1 -1
  15. package/bin/genproto/mochabugapis/adapt/plugins/v1/service_settings_pb.d.ts +539 -0
  16. package/bin/genproto/mochabugapis/adapt/plugins/v1/service_settings_pb.d.ts.map +1 -0
  17. package/bin/genproto/mochabugapis/adapt/plugins/v1/variable_service_pb.d.ts +130 -2
  18. package/bin/genproto/mochabugapis/adapt/plugins/v1/variable_service_pb.d.ts.map +1 -1
  19. package/bin/genproto/mochabugapis/adapt/plugins/v1/vertex_pb.d.ts +36 -9
  20. package/bin/genproto/mochabugapis/adapt/plugins/v1/vertex_pb.d.ts.map +1 -1
  21. package/bin/index.js +78 -78
  22. package/bin/index.js.map +3 -3
  23. package/bin/utils.d.ts.map +1 -1
  24. package/package.json +7 -6
  25. package/bin/genproto/mochabugapis/adapt/plugins/v1/oneof_service_pb.d.ts +0 -94
  26. package/bin/genproto/mochabugapis/adapt/plugins/v1/oneof_service_pb.d.ts.map +0 -1
  27. package/bin/genproto/mochabugapis/adapt/plugins/v1/service_binding_pb.d.ts +0 -138
  28. package/bin/genproto/mochabugapis/adapt/plugins/v1/service_binding_pb.d.ts.map +0 -1
  29. package/bin/genproto/mochabugapis/adapt/plugins/v1/tls_service_pb.d.ts +0 -151
  30. package/bin/genproto/mochabugapis/adapt/plugins/v1/tls_service_pb.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"variable_service_pb.d.ts","sourceRoot":"","sources":["../../../../../../src/genproto/mochabugapis/adapt/plugins/v1/variable_service_pb.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAGxE,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,mDAAmD,EAAE,OAC2W,CAAC;AAE9a;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,kDAAkD,CAAC,GAAG;IAC7F;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;OAIG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,UAAU,CAAC,kBAAkB,EAAE;IAAC,QAAQ,EAAE,sBAAsB,CAAA;CAAC,CACnC,CAAC"}
1
+ {"version":3,"file":"variable_service_pb.d.ts","sourceRoot":"","sources":["../../../../../../src/genproto/mochabugapis/adapt/plugins/v1/variable_service_pb.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAGxE,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,mDAAmD,EAAE,OACoY,CAAC;AAEvc;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,kDAAkD,CAAC,GAAG;IAC7F;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IAEnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;IAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;OAIG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,UAAU,CAAC,kBAAkB,EAAE;IAAC,QAAQ,EAAE,sBAAsB,CAAA;CAAC,CACnC,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
2
- import type { ServiceBinding, ServiceBindingJson } from "./service_binding_pb";
3
2
  import type { Message } from "@bufbuild/protobuf";
4
3
  /**
5
4
  * Describes the file mochabugapis/adapt/plugins/v1/vertex.proto.
@@ -73,12 +72,26 @@ export type Vertex = Message<"mochabugapis.adapt.plugins.v1.Vertex"> & {
73
72
  */
74
73
  metadata: string;
75
74
  /**
76
- * 'user_services' are the services that the user is defining
77
- * and consumed by a particular instance of the vertex
75
+ * 'user_services' are vertex-level services configured per vertex instance.
78
76
  *
79
- * @generated from field: repeated mochabugapis.adapt.plugins.v1.ServiceBinding user_services = 8;
77
+ * This is a string array where each string directly references a ServiceDefinition by its name
78
+ * from Manifest.service_definitions. These services are configured by end users for each
79
+ * specific vertex instance in their workflow.
80
+ *
81
+ * The `optional` field in the ServiceDefinition controls whether configuration is required:
82
+ * - If ServiceDefinition.optional = false (default): User MUST configure this service
83
+ * - If ServiceDefinition.optional = true: User MAY skip configuring this service
84
+ *
85
+ * Example:
86
+ * service_definitions: [
87
+ * { name: "api_key", variable: {...} },
88
+ * { name: "webhook_url", variable: {...}, optional: true }
89
+ * ]
90
+ * user_services: ["api_key", "webhook_url"]
91
+ *
92
+ * @generated from field: repeated string user_services = 8;
80
93
  */
81
- userServices: ServiceBinding[];
94
+ userServices: string[];
82
95
  /**
83
96
  * 'deprecated' is a boolean that indicates if the vertex is deprecated
84
97
  * this means that it will be removed in the next major version
@@ -156,12 +169,26 @@ export type VertexJson = {
156
169
  */
157
170
  metadata?: string;
158
171
  /**
159
- * 'user_services' are the services that the user is defining
160
- * and consumed by a particular instance of the vertex
172
+ * 'user_services' are vertex-level services configured per vertex instance.
173
+ *
174
+ * This is a string array where each string directly references a ServiceDefinition by its name
175
+ * from Manifest.service_definitions. These services are configured by end users for each
176
+ * specific vertex instance in their workflow.
177
+ *
178
+ * The `optional` field in the ServiceDefinition controls whether configuration is required:
179
+ * - If ServiceDefinition.optional = false (default): User MUST configure this service
180
+ * - If ServiceDefinition.optional = true: User MAY skip configuring this service
181
+ *
182
+ * Example:
183
+ * service_definitions: [
184
+ * { name: "api_key", variable: {...} },
185
+ * { name: "webhook_url", variable: {...}, optional: true }
186
+ * ]
187
+ * user_services: ["api_key", "webhook_url"]
161
188
  *
162
- * @generated from field: repeated mochabugapis.adapt.plugins.v1.ServiceBinding user_services = 8;
189
+ * @generated from field: repeated string user_services = 8;
163
190
  */
164
- userServices?: ServiceBindingJson[];
191
+ userServices?: string[];
165
192
  /**
166
193
  * 'deprecated' is a boolean that indicates if the vertex is deprecated
167
194
  * this means that it will be removed in the next major version
@@ -1 +1 @@
1
- {"version":3,"file":"vertex_pb.d.ts","sourceRoot":"","sources":["../../../../../../src/genproto/mochabugapis/adapt/plugins/v1/vertex_pb.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAGjF,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,yCAAyC,EAAE,OACsvC,CAAC;AAE/yC;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,sCAAsC,CAAC,GAAG;IACrE;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,YAAY,EAAE,UAAU,EAAE,CAAC;IAE3B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;OAOG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,YAAY,EAAE,cAAc,EAAE,CAAC;IAE/B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAEhC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAEpC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE;IAAC,QAAQ,EAAE,UAAU,CAAA;CAAC,CACT,CAAC;AAE5D;;;;;;;;;GASG;AACH,oBAAY,UAAU;IACpB;;;;OAIG;IACH,WAAW,IAAI;IAEf;;;;;OAKG;IACH,IAAI,IAAI;IAER;;;;;OAKG;IACH,QAAQ,IAAI;IAEZ;;;;;OAKG;IACH,YAAY,IAAI;IAEhB;;;;;OAKG;IACH,OAAO,IAAI;CACZ;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG,wBAAwB,GAAG,iBAAiB,GAAG,qBAAqB,GAAG,yBAAyB,GAAG,oBAAoB,CAAC;AAErJ;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,UAAU,EAAE,cAAc,CACT,CAAC"}
1
+ {"version":3,"file":"vertex_pb.d.ts","sourceRoot":"","sources":["../../../../../../src/genproto/mochabugapis/adapt/plugins/v1/vertex_pb.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAGjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,yCAAyC,EAAE,OACw+B,CAAC;AAEjiC;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,sCAAsC,CAAC,GAAG;IACrE;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,YAAY,EAAE,UAAU,EAAE,CAAC;IAE3B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;OAOG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAEhC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,UAAU,CAAC,MAAM,EAAE;IAAC,QAAQ,EAAE,UAAU,CAAA;CAAC,CACT,CAAC;AAE5D;;;;;;;;;GASG;AACH,oBAAY,UAAU;IACpB;;;;OAIG;IACH,WAAW,IAAI;IAEf;;;;;OAKG;IACH,IAAI,IAAI;IAER;;;;;OAKG;IACH,QAAQ,IAAI;IAEZ;;;;;OAKG;IACH,YAAY,IAAI;IAEhB;;;;;OAKG;IACH,OAAO,IAAI;CACZ;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG,wBAAwB,GAAG,iBAAiB,GAAG,qBAAqB,GAAG,yBAAyB,GAAG,oBAAoB,CAAC;AAErJ;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,UAAU,EAAE,cAAc,CACT,CAAC"}
package/bin/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  // <define:__PACKAGE_JSON__>
4
- var define_PACKAGE_JSON_default = { name: "@mochabug/adaptkit", version: "1.0.0-rc.26" };
4
+ var define_PACKAGE_JSON_default = { name: "@mochabug/adaptkit", version: "1.0.0-rc.28" };
5
5
 
6
6
  // node_modules/@bufbuild/protobuf/dist/esm/is-message.js
7
7
  function isMessage(arg, schema) {
@@ -4435,6 +4435,7 @@ import path2 from "path";
4435
4435
  import util from "util";
4436
4436
 
4437
4437
  // src/utils.ts
4438
+ import { createValidator } from "@bufbuild/protovalidate";
4438
4439
  import Ajv from "ajv/dist/jtd.js";
4439
4440
  import chalk from "chalk";
4440
4441
  import fg from "fast-glob";
@@ -4468,7 +4469,7 @@ var file_mochabugapis_adapt_graph_transceiver = /* @__PURE__ */ fileDesc("Ciptb2
4468
4469
  var file_mochabugapis_adapt_graph_exchange = /* @__PURE__ */ fileDesc("Cidtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvZXhjaGFuZ2UucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLuAwoIRXhjaGFuZ2USMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARLCAQoMdHJhbnNtaXR0ZXJzGAMgAygLMiUubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlRyYW5zY2VpdmVyQoQBukiAAboBeAoZdHJhbnNtaXR0ZXJzX3VuaXF1ZV9uYW1lcxIpRWFjaCB0cmFuc21pdHRlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aMHRoaXMubWFwKHRyYW5zbWl0dGVyLCB0cmFuc21pdHRlci5uYW1lKS51bmlxdWUoKZIBAhAKErMBCglyZWNlaXZlcnMYBCADKAsyJS5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVHJhbnNjZWl2ZXJCebpIdroBbAoWcmVjZWl2ZXJzX3VuaXF1ZV9uYW1lcxImRWFjaCByZWNlaXZlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKnRoaXMubWFwKHJlY2VpdmVyLCByZWNlaXZlci5uYW1lKS51bmlxdWUoKZIBBAgBEApCDgoMX2Rlc2NyaXB0aW9uYgZwcm90bzM", [file_buf_validate_validate, file_mochabugapis_adapt_graph_transceiver]);
4469
4470
 
4470
4471
  // src/genproto/mochabugapis/adapt/graph/signal_binding_pb.ts
4471
- var file_mochabugapis_adapt_graph_signal_binding = /* @__PURE__ */ fileDesc("Ci1tb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2JpbmRpbmcucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKYAwoNU2lnbmFsQmluZGluZxJGCgpkZXNjcmlwdG9yGAEgASgLMioubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERlc2NyaXB0b3JCBrpIA8gBARJeCglyZWZlcmVuY2UYAiABKAlCSbpIRnJEGPoBMj9eWzAtOWEtel17NH0vW18kYS16QS1aXVtfJGEtekEtWjAtOV0qL1tfJGEtekEtWl1bXyRhLXpBLVowLTldKiRIABISCghjb25zdGFudBgDIAEoDEgAEk4KBWVycm9yGAQgASgOMi0ubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbEJpbmRpbmcuRXJyb3JCC7pICNgBAYIBAiAASAGIAQEiZgoFRXJyb3ISFQoRRVJST1JfVU5TUEVDSUZJRUQQABIRCg1FUlJPUl9VTkJPVU5EEAESGAoURVJST1JfSU5WQUxJRF9TT1VSQ0UQAhIZChVFUlJPUl9TQ0hFTUFfTUlTTUFUQ0gQA0IJCgdiaW5kaW5nQggKBl9lcnJvcmIGcHJvdG8z", [file_buf_validate_validate, file_mochabugapis_adapt_graph_signal_descriptor]);
4472
+ var file_mochabugapis_adapt_graph_signal_binding = /* @__PURE__ */ fileDesc("Ci1tb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvc2lnbmFsX2JpbmRpbmcucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKVAwoNU2lnbmFsQmluZGluZxJGCgpkZXNjcmlwdG9yGAEgASgLMioubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbERlc2NyaXB0b3JCBrpIA8gBARJeCglyZWZlcmVuY2UYAiABKAlCSbpIRnJEGPoBMj9eWzAtOWEtel17NH0vW18kYS16QS1aXVtfJGEtekEtWjAtOV0qL1tfJGEtekEtWl1bXyRhLXpBLVowLTldKiRIABISCghjb25zdGFudBgDIAEoDEgAEksKBWVycm9yGAQgASgOMi0ubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLlNpZ25hbEJpbmRpbmcuRXJyb3JCCLpIBYIBAiAASAGIAQEiZgoFRXJyb3ISFQoRRVJST1JfVU5TUEVDSUZJRUQQABIRCg1FUlJPUl9VTkJPVU5EEAESGAoURVJST1JfSU5WQUxJRF9TT1VSQ0UQAhIZChVFUlJPUl9TQ0hFTUFfTUlTTUFUQ0gQA0IJCgdiaW5kaW5nQggKBl9lcnJvcmIGcHJvdG8z", [file_buf_validate_validate, file_mochabugapis_adapt_graph_signal_descriptor]);
4472
4473
 
4473
4474
  // src/genproto/mochabugapis/adapt/graph/receiver_pb.ts
4474
4475
  var file_mochabugapis_adapt_graph_receiver = /* @__PURE__ */ fileDesc("Cidtb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvcmVjZWl2ZXIucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCKwAgoIUmVjZWl2ZXISMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARK6AQoIYmluZGluZ3MYAyADKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguU2lnbmFsQmluZGluZ0J/ukh8ugFzChViaW5kaW5nc191bmlxdWVfbmFtZXMSJUVhY2ggYmluZGluZyBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aM3RoaXMubWFwKGJpbmRpbmcsIGJpbmRpbmcuZGVzY3JpcHRvci5uYW1lKS51bmlxdWUoKZIBAxCABEIOCgxfZGVzY3JpcHRpb25iBnByb3RvMw", [file_buf_validate_validate, file_mochabugapis_adapt_graph_signal_binding]);
@@ -4477,37 +4478,39 @@ var file_mochabugapis_adapt_graph_receiver = /* @__PURE__ */ fileDesc("Cidtb2NoY
4477
4478
  var file_mochabugapis_adapt_graph_transmitter = /* @__PURE__ */ fileDesc("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdHJhbnNtaXR0ZXIucHJvdG8SGG1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaCLCAwoLVHJhbnNtaXR0ZXISMwoEbmFtZRgBIAEoCUIlukgiciAQARgyMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIiCgtkZXNjcmlwdGlvbhgCIAEoCUIIukgFcgMY+gFIAIgBARKtAQoHc2lnbmFscxgDIAMoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5TaWduYWxEZXNjcmlwdG9yQnC6SG26AWQKFHNpZ25hbHNfdW5pcXVlX25hbWVzEiRFYWNoIHNpZ25hbCBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aJnRoaXMubWFwKHNpZ25hbCwgc2lnbmFsLm5hbWUpLnVuaXF1ZSgpkgEDEIAEEj0KBG1vZGUYBCABKA4yKi5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguVHJhbnNtaXR0ZXIuTW9kZUgBiAEBIlIKBE1vZGUSFAoQTU9ERV9VTlNQRUNJRklFRBAAEhEKDU1PREVfU1RBTkRBUkQQARIPCgtNT0RFX1NUUkVBTRACEhAKDE1PREVfRkFJTFVSRRADQg4KDF9kZXNjcmlwdGlvbkIHCgVfbW9kZWIGcHJvdG8z", [file_buf_validate_validate, file_mochabugapis_adapt_graph_signal_descriptor]);
4478
4479
 
4479
4480
  // src/genproto/mochabugapis/adapt/graph/vertex_metadata_pb.ts
4480
- var file_mochabugapis_adapt_graph_vertex_metadata = /* @__PURE__ */ fileDesc("Ci5tb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdmVydGV4X21ldGFkYXRhLnByb3RvEhhtb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGgihwUKDlZlcnRleE1ldGFkYXRhEhAKCGNvbXBsZXRlGAEgASgIErABCglyZWNlaXZlcnMYAiADKAsyIi5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguUmVjZWl2ZXJCebpIdroBbAoWcmVjZWl2ZXJzX3VuaXF1ZV9uYW1lcxImRWFjaCByZWNlaXZlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKnRoaXMubWFwKHJlY2VpdmVyLCByZWNlaXZlci5uYW1lKS51bmlxdWUoKZIBBAgBEDISwgEKDHRyYW5zbWl0dGVycxgDIAMoCzIlLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5UcmFuc21pdHRlckKEAbpIgAG6AXgKGXRyYW5zbWl0dGVyc191bmlxdWVfbmFtZXMSKUVhY2ggdHJhbnNtaXR0ZXIgbXVzdCBoYXZlIGEgdW5pcXVlIG5hbWUuGjB0aGlzLm1hcCh0cmFuc21pdHRlciwgdHJhbnNtaXR0ZXIubmFtZSkudW5pcXVlKCmSAQIQMhKuAQoJZXhjaGFuZ2VzGAQgAygLMiIubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkV4Y2hhbmdlQne6SHS6AWwKFmV4Y2hhbmdlc191bmlxdWVfbmFtZXMSJkVhY2ggZXhjaGFuZ2UgbXVzdCBoYXZlIGEgdW5pcXVlIG5hbWUuGip0aGlzLm1hcChleGNoYW5nZSwgZXhjaGFuZ2UubmFtZSkudW5pcXVlKCmSAQIQChIoCg1jcm9uX3NjaGVkdWxlGAYgASgJQgy6SAnYAQFyBBABGGRIAIgBAUIQCg5fY3Jvbl9zY2hlZHVsZWIGcHJvdG8z", [file_buf_validate_validate, file_mochabugapis_adapt_graph_exchange, file_mochabugapis_adapt_graph_receiver, file_mochabugapis_adapt_graph_transmitter]);
4481
+ var file_mochabugapis_adapt_graph_vertex_metadata = /* @__PURE__ */ fileDesc("Ci5tb2NoYWJ1Z2FwaXMvYWRhcHQvZ3JhcGgvdmVydGV4X21ldGFkYXRhLnByb3RvEhhtb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGgihAUKDlZlcnRleE1ldGFkYXRhEhAKCGNvbXBsZXRlGAEgASgIErABCglyZWNlaXZlcnMYAiADKAsyIi5tb2NoYWJ1Z2FwaXMuYWRhcHQuZ3JhcGguUmVjZWl2ZXJCebpIdroBbAoWcmVjZWl2ZXJzX3VuaXF1ZV9uYW1lcxImRWFjaCByZWNlaXZlciBtdXN0IGhhdmUgYSB1bmlxdWUgbmFtZS4aKnRoaXMubWFwKHJlY2VpdmVyLCByZWNlaXZlci5uYW1lKS51bmlxdWUoKZIBBAgBEDISwgEKDHRyYW5zbWl0dGVycxgDIAMoCzIlLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5UcmFuc21pdHRlckKEAbpIgAG6AXgKGXRyYW5zbWl0dGVyc191bmlxdWVfbmFtZXMSKUVhY2ggdHJhbnNtaXR0ZXIgbXVzdCBoYXZlIGEgdW5pcXVlIG5hbWUuGjB0aGlzLm1hcCh0cmFuc21pdHRlciwgdHJhbnNtaXR0ZXIubmFtZSkudW5pcXVlKCmSAQIQMhKuAQoJZXhjaGFuZ2VzGAQgAygLMiIubW9jaGFidWdhcGlzLmFkYXB0LmdyYXBoLkV4Y2hhbmdlQne6SHS6AWwKFmV4Y2hhbmdlc191bmlxdWVfbmFtZXMSJkVhY2ggZXhjaGFuZ2UgbXVzdCBoYXZlIGEgdW5pcXVlIG5hbWUuGip0aGlzLm1hcChleGNoYW5nZSwgZXhjaGFuZ2UubmFtZSkudW5pcXVlKCmSAQIQChIlCg1jcm9uX3NjaGVkdWxlGAYgASgJQgm6SAZyBBABGGRIAIgBAUIQCg5fY3Jvbl9zY2hlZHVsZWIGcHJvdG8z", [file_buf_validate_validate, file_mochabugapis_adapt_graph_exchange, file_mochabugapis_adapt_graph_receiver, file_mochabugapis_adapt_graph_transmitter]);
4481
4482
  var VertexMetadataSchema = /* @__PURE__ */ messageDesc(file_mochabugapis_adapt_graph_vertex_metadata, 0);
4482
4483
 
4483
- // src/genproto/mochabugapis/adapt/plugins/v1/service_binding_pb.ts
4484
- var file_mochabugapis_adapt_plugins_v1_service_binding = /* @__PURE__ */ fileDesc("CjNtb2NoYWJ1Z2FwaXMvYWRhcHQvcGx1Z2lucy92MS9zZXJ2aWNlX2JpbmRpbmcucHJvdG8SHW1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxIvQBCg5TZXJ2aWNlQmluZGluZxIzCgRuYW1lGAEgASgJQiW6SCJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEjgKB3NlcnZpY2UYAiABKAlCJbpIInIgEAEYZDIaXltfJGEtekEtWl1bXyRhLXpBLVowLTldKiRIABI9CgZvbmVfb2YYAyABKAsyKy5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5PbmVPZkJpbmRpbmdIABIVCghvcHRpb25hbBgEIAEoCEgBiAEBQhAKB2JpbmRpbmcSBbpIAggBQgsKCV9vcHRpb25hbCKyAgoMT25lT2ZCaW5kaW5nEkEKB29wdGlvbnMYASADKAlCMLpILZIBKggBEBQYASIiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBI+CgdkZWZhdWx0GAIgASgJQii6SCXYAQFyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokSACIAQE6kgG6SI4BGosBChJkZWZhdWx0X2luX29wdGlvbnMSNE1ha2Ugc3VyZSB0aGF0IHRoZSBkZWZhdWx0IGV4aXN0cyBpbnNpZGUgdGhlIG9wdGlvbnMaPyFoYXModGhpcy5kZWZhdWx0KSB8fCB0aGlzLm9wdGlvbnMuZXhpc3RzKHgsIHggPT0gdGhpcy5kZWZhdWx0KUIKCghfZGVmYXVsdGIGcHJvdG8z", [file_buf_validate_validate]);
4485
-
4486
4484
  // src/genproto/mochabugapis/adapt/plugins/v1/file_pb.ts
4487
- var file_mochabugapis_adapt_plugins_v1_file = /* @__PURE__ */ fileDesc("Cihtb2NoYWJ1Z2FwaXMvYWRhcHQvcGx1Z2lucy92MS9maWxlLnByb3RvEh1tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MSKDAQoERmlsZRIrCgRuYW1lGAEgASgJQh26SBpyGBACGIAgMhFeW14vXSsoXC9bXi9dKykqJBIaCgRkYXRhGAIgASgMQgy6SAl6BxABGIC0iRMSJAoJbWltZV90eXBlGAMgASgJQgy6SAnYAQFyBBABGGRIAIgBAUIMCgpfbWltZV90eXBlYgZwcm90bzM", [file_buf_validate_validate]);
4485
+ var file_mochabugapis_adapt_plugins_v1_file = /* @__PURE__ */ fileDesc("Cihtb2NoYWJ1Z2FwaXMvYWRhcHQvcGx1Z2lucy92MS9maWxlLnByb3RvEh1tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MSKAAQoERmlsZRIrCgRuYW1lGAEgASgJQh26SBpyGBACGIAgMhFeW14vXSsoXC9bXi9dKykqJBIaCgRkYXRhGAIgASgMQgy6SAl6BxABGIC0iRMSIQoJbWltZV90eXBlGAMgASgJQgm6SAZyBBABGGRIAIgBAUIMCgpfbWltZV90eXBlYgZwcm90bzM", [file_buf_validate_validate]);
4486
+ var FileSchema = /* @__PURE__ */ messageDesc(file_mochabugapis_adapt_plugins_v1_file, 0);
4488
4487
 
4489
- // src/genproto/mochabugapis/adapt/plugins/v1/oauth2_service_pb.ts
4490
- var file_mochabugapis_adapt_plugins_v1_oauth2_service = /* @__PURE__ */ fileDesc("CjJtb2NoYWJ1Z2FwaXMvYWRhcHQvcGx1Z2lucy92MS9vYXV0aDJfc2VydmljZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEi5AkKEE9hdXRoMkRlZmluaXRpb24STgoKZ3JhbnRfdHlwZRgBIAEoDjIuLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLk9hdXRoMkdyYW50VHlwZUIKukgHggEEEAEgABIlCgZzY29wZXMYAiADKAlCFbpIEpIBDwgBEPQDGAEiBnIEEAEYZBJWCgthdXRoX21ldGhvZBgDIAEoDjItLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLk9hdXRoMkF1dGhUeXBlQg26SArYAQGCAQQQASAASACIAQESTQoDYWxnGAQgASgOMiwubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuUHJpdmF0ZUtleUFsZ0INukgK2AEBggEEEAEgAEgBiAEBEiUKCWNsaWVudF9pZBgFIAEoCUINukgK2AEBcgUQARj6AUgCiAEBElYKDnRva2VuX2VuZHBvaW50GAYgASgJQj66SDtyORALGIAgMjJeaHR0cHM6Ly9bYS16QS1aMC05Li1dKyg/OlwuW2EtekEtWl17Mix9KSg/Oi8uKik/JBI8CgRjb2RlGAcgASgLMikubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuT2F1dGgyQ29kZUgDiAEBOsUFukjBBRrnAQoSb2F1dGgyLmF1dGhfbWV0aG9kEocBVGhlIGF1dGhfbWV0aG9kIHByb3BlcnR5IG11c3QgYmUgc2V0IGluIGNhc2Ugb2YgZ3JhbnRfdHlwZSBPQVVUSDJfR1JBTlRfVFlQRV9BVVRIT1JJWkFUSU9OX0NPREUgb3IgT0FVVEgyX0dSQU5UX1RZUEVfQ0xJRU5UX0NSRURFTlRJQUxTGkdoYXModGhpcy5hdXRoX21ldGhvZCkgPT0gKHRoaXMuZ3JhbnRfdHlwZSA9PSAxIHx8IHRoaXMuZ3JhbnRfdHlwZSA9PSAyKRrAAgoKb2F1dGgyLmFsZxK+AVRoZSBhbGcgcHJvcGVydHkgbXVzdCBiZSBzZXQgaW4gY2FzZSBvZiBncmFudF90eXBlIE9BVVRIMl9HUkFOVF9UWVBFX0pXVF9CRUFSRVIsIE9BVVRIMl9HUkFOVF9UWVBFX1NBTUwyX0JFQVJFUiBvciBhdXRoX21ldGhvZCBPQVVUSDJfQVVUSF9UWVBFX1BSSVZBVEVfS0VZX0pXVCwgT0FVVEgyX0FVVEhfVFlQRV9TQU1MMl9CRUFSRVIacWhhcyh0aGlzLmFsZykgPT0gKHRoaXMuZ3JhbnRfdHlwZSA9PSAzIHx8IHRoaXMuZ3JhbnRfdHlwZSA9PSA0IHx8IHRoaXMuYXV0aF9tZXRob2QgPT0gMyB8fCB0aGlzLmF1dGhfbWV0aG9kID09IDUpGpEBCgtvYXV0aDIuY29kZRJYVGhlIGNvZGUgcHJvcGVydHkgbXVzdCBiZSBzZXQgaW4gY2FzZSBvZiBncmFudF90eXBlIE9BVVRIMl9HUkFOVF9UWVBFX0FVVEhPUklaQVRJT05fQ09ERRooaGFzKHRoaXMuY29kZSkgPT0gKHRoaXMuZ3JhbnRfdHlwZSA9PSAxKUIOCgxfYXV0aF9tZXRob2RCBgoEX2FsZ0IMCgpfY2xpZW50X2lkQgcKBV9jb2RlIqgCCgpPYXV0aDJDb2RlElUKDWF1dGhfZW5kcG9pbnQYASABKAlCPrpIO3I5EAsYgCAyMl5odHRwczovL1thLXpBLVowLTkuLV0rKD86XC5bYS16QS1aXXsyLH0pKD86Ly4qKT8kEngKEWFkZGl0aW9uYWxfcGFyYW1zGAIgAygLMj8ubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuT2F1dGgyQ29kZS5BZGRpdGlvbmFsUGFyYW1zRW50cnlCHLpIGZoBFggAEDIiB3IFEAEY+gEqB3IFEAEY+gESEAoIdXNlX3BrY2UYAyABKAgaNwoVQWRkaXRpb25hbFBhcmFtc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEisQMKDE9hdXRoMkNvbmZpZxIlCgljbGllbnRfaWQYASABKAlCDbpICtgBAXIFEAEYgAJIAYgBARI+CgpiYXNpY19hdXRoGAIgASgLMigubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuQmFzaWNBdXRoSAASPAoJZm9ybV9hdXRoGAMgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuRm9ybUF1dGhIABJJChBwcml2YXRlX2p3dF9hdXRoGAQgASgLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuUHJpdmF0ZUpXVEF1dGhIABI8CgltdGxzX2F1dGgYBSABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5NVExTQXV0aEgAEjwKCXNhbWxfYXV0aBgGIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLlNBTUxBdXRoSAASEQoHY29uc2VudBgHIAEoCEgAQhQKC2F1dGhfbWV0aG9kEgW6SAIIAUIMCgpfY2xpZW50X2lkIi4KCUJhc2ljQXV0aBIhCg1jbGllbnRfc2VjcmV0GAEgASgJQgq6SAdyBRAFGIACIi0KCEZvcm1BdXRoEiEKDWNsaWVudF9zZWNyZXQYASABKAlCCrpIB3IFEAUYgAIigwEKDlByaXZhdGVKV1RBdXRoEkAKC3ByaXZhdGVfa2V5GAEgASgLMiMubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuRmlsZUIGukgDyAEBEiMKB3N1YmplY3QYAiABKAlCDbpICtgBAXIFEAEYgAJIAIgBAUIKCghfc3ViamVjdCLTAQoITVRMU0F1dGgSQAoLY2VydGlmaWNhdGUYASABKAsyIy5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5GaWxlQga6SAPIAQESQAoLcHJpdmF0ZV9rZXkYAiABKAsyIy5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5GaWxlQga6SAPIAQESQwoOY2FfY2VydGlmaWNhdGUYAyABKAsyIy5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5GaWxlQga6SAPIAQEijgEKCFNBTUxBdXRoEkAKC3ByaXZhdGVfa2V5GAEgASgLMiMubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuRmlsZUIGukgDyAEBEkAKC2NlcnRpZmljYXRlGAIgASgLMiMubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuRmlsZUIGukgDyAEBKksKDVByaXZhdGVLZXlBbGcSHwobUFJJVkFURV9LRVlfQUxHX1VOU1BFQ0lGSUVEEAASGQoVUFJJVkFURV9LRVlfQUxHX1JTMjU2EAEqzgEKD09hdXRoMkdyYW50VHlwZRIhCh1PQVVUSDJfR1JBTlRfVFlQRV9VTlNQRUNJRklFRBAAEigKJE9BVVRIMl9HUkFOVF9UWVBFX0FVVEhPUklaQVRJT05fQ09ERRABEigKJE9BVVRIMl9HUkFOVF9UWVBFX0NMSUVOVF9DUkVERU5USUFMUxACEiAKHE9BVVRIMl9HUkFOVF9UWVBFX0pXVF9CRUFSRVIQAxIiCh5PQVVUSDJfR1JBTlRfVFlQRV9TQU1MMl9CRUFSRVIQBCrNAQoOT2F1dGgyQXV0aFR5cGUSIAocT0FVVEgyX0FVVEhfVFlQRV9VTlNQRUNJRklFRBAAEhoKFk9BVVRIMl9BVVRIX1RZUEVfQkFTSUMQARIZChVPQVVUSDJfQVVUSF9UWVBFX0ZPUk0QAhIkCiBPQVVUSDJfQVVUSF9UWVBFX1BSSVZBVEVfS0VZX0pXVBADEhkKFU9BVVRIMl9BVVRIX1RZUEVfTVRMUxAEEiEKHU9BVVRIMl9BVVRIX1RZUEVfU0FNTDJfQkVBUkVSEAViBnByb3RvMw", [file_buf_validate_validate, file_mochabugapis_adapt_plugins_v1_file]);
4488
+ // src/genproto/mochabugapis/adapt/plugins/v1/compound_services_pb.ts
4489
+ var file_mochabugapis_adapt_plugins_v1_compound_services = /* @__PURE__ */ fileDesc("CjVtb2NoYWJ1Z2FwaXMvYWRhcHQvcGx1Z2lucy92MS9jb21wb3VuZF9zZXJ2aWNlcy5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEiwgIKEUdyb3VwZWREZWZpbml0aW9uEjMKBG5hbWUYASABKAlCJbpIInIgEAEYZDIaXltfJGEtekEtWl1bXyRhLXpBLVowLTldKiQSGAoFbGFiZWwYAiABKAlCCbpIBnIEEAEYZBIkCgtkZXNjcmlwdGlvbhgDIAEoCUIKukgHcgUQARj6AUgAiAEBEhAKCHNlcnZpY2VzGAQgAygJOpUBukiRARqOAQoRbm9fc2VsZl9yZWZlcmVuY2USWmdyb3VwIGNhbm5vdCByZWZlcmVuY2UgaXRzZWxmOiBzZXJ2aWNlIHJlZmVyZW5jZSBuYW1lcyBtdXN0IG5vdCBlcXVhbCB0aGUgZ3JvdXAncyBvd24gbmFtZRodISh0aGlzLm5hbWUgaW4gdGhpcy5zZXJ2aWNlcylCDgoMX2Rlc2NyaXB0aW9uIpwFCg9PbmVPZkRlZmluaXRpb24SMwoEbmFtZRgBIAEoCUIlukgiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIYCgVsYWJlbBgCIAEoCUIJukgGcgQQARhkEiQKC2Rlc2NyaXB0aW9uGAMgASgJQgq6SAdyBRABGPoBSACIAQEShQEKB29wdGlvbnMYBCADKAsyOy5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5PbmVPZkRlZmluaXRpb24uT3B0aW9uc0VudHJ5Qje6SDSaATEIARAyIiJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokKgdyBRABGPoBEjsKB2RlZmF1bHQYBSABKAlCJbpIInIgEAEYZDIaXltfJGEtekEtWl1bXyRhLXpBLVowLTldKiRIAYgBARouCgxPcHRpb25zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ATqCArpI/gEaeAoSZGVmYXVsdF9pbl9vcHRpb25zEi5kZWZhdWx0IG11c3QgZXhpc3QgYXMgYSBrZXkgaW4gdGhlIG9wdGlvbnMgbWFwGjIhaGFzKHRoaXMuZGVmYXVsdCkgfHwgdGhpcy5kZWZhdWx0IGluIHRoaXMub3B0aW9ucxqBAQoRbm9fc2VsZl9yZWZlcmVuY2USTm9uZW9mIGNhbm5vdCByZWZlcmVuY2UgaXRzZWxmOiBvcHRpb24ga2V5cyBtdXN0IG5vdCBlcXVhbCB0aGUgb25lb2YncyBvd24gbmFtZRocISh0aGlzLm5hbWUgaW4gdGhpcy5vcHRpb25zKUIOCgxfZGVzY3JpcHRpb25CCgoIX2RlZmF1bHRiBnByb3RvMw", [file_buf_validate_validate]);
4490
+
4491
+ // src/genproto/mochabugapis/adapt/plugins/v1/http_proxy_service_pb.ts
4492
+ var file_mochabugapis_adapt_plugins_v1_http_proxy_service = /* @__PURE__ */ fileDesc("CjZtb2NoYWJ1Z2FwaXMvYWRhcHQvcGx1Z2lucy92MS9odHRwX3Byb3h5X3NlcnZpY2UucHJvdG8SHW1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxItMFChNIdHRwUHJveHlEZWZpbml0aW9uEo4BCg1hbGxvd2VkX2hvc3RzGAEgAygJQne6SHSSAXEIARBkGAEiaXJnEAEY/wEyYF4oXCpcLik/W2EtejAtOV0oW2EtejAtOS1dezAsNjF9W2EtejAtOV0pPyhcLlthLXowLTldKFthLXowLTktXXswLDYxfVthLXowLTldKT8pKyg6WzAtOV17MSw1fSk/JBI+CgN0bHMYAiABKAsyLC5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5UbHNEZWZpbml0aW9uSACIAQESjgEKDmluamVjdF9oZWFkZXJzGAMgAygLMkUubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuSHR0cFByb3h5RGVmaW5pdGlvbi5JbmplY3RIZWFkZXJzRW50cnlCL7pILJoBKSInciUQARiAAjIeXlshIyQlJicqK1wtLjAtOUEtWl5fYGEtenx+XSskGmMKEkluamVjdEhlYWRlcnNFbnRyeRILCgNrZXkYASABKAkSPAoFdmFsdWUYAiABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5IZWFkZXJUZW1wbGF0ZToCOAE67AG6SOgBGuUBCh9odHRwX3Byb3h5X2RlZmluaXRpb24ubm90X2VtcHR5EpABSHR0cFByb3h5RGVmaW5pdGlvbiBtdXN0IGNvbmZpZ3VyZSBlaXRoZXIgVExTICh0bHMgZmllbGQpIG9yIGhlYWRlciBpbmplY3Rpb24gKGluamVjdF9oZWFkZXJzKSwgb3RoZXJ3aXNlIHRoZSBwcm94eSBwcm92aWRlcyBubyBhZGRpdGlvbmFsIHZhbHVlGi9oYXModGhpcy50bHMpIHx8IHRoaXMuaW5qZWN0X2hlYWRlcnMuc2l6ZSgpID4gMEIGCgRfdGxzImoKDkhlYWRlclRlbXBsYXRlEkUKCHRlbXBsYXRlGAEgASgJQjO6SDByLhABGIBAMideKD86W14lXXwlJXwlW0EtWmEtel9dW0EtWmEtejAtOV9dKiUpKyQSEQoJcGxhaW50ZXh0GAIgASgIIv4CCg1UbHNEZWZpbml0aW9uEksKBG1vZGUYASABKA4yMS5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5UbHNEZWZpbml0aW9uLk1vZGVCCrpIB4IBBBABIAASfQoQY2VydGlmaWNhdGVfaG9zdBgCIAEoCUJeukhbclkQARj9ATJSXihcKlwuKT9bYS16MC05XShbYS16MC05LV17MCw2MX1bYS16MC05XSk/KFwuW2EtejAtOV0oW2EtejAtOS1dezAsNjF9W2EtejAtOV0pPykqJEgAiAEBEjsKCWNhX2J1bmRsZRgDIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLkZpbGVIAYgBASJBCgRNb2RlEhQKEE1PREVfVU5TUEVDSUZJRUQQABINCglNT0RFX01UTFMQARIUChBNT0RFX1NFUlZFUl9PTkxZEAJCEwoRX2NlcnRpZmljYXRlX2hvc3RCDAoKX2NhX2J1bmRsZSL0AQoJVGxzQ29uZmlnEjsKCWNhX2J1bmRsZRgBIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLkZpbGVIAIgBARI9CgtjZXJ0aWZpY2F0ZRgCIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLkZpbGVIAYgBARI9Cgtwcml2YXRlX2tleRgDIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLkZpbGVIAogBAUIMCgpfY2FfYnVuZGxlQg4KDF9jZXJ0aWZpY2F0ZUIOCgxfcHJpdmF0ZV9rZXkiqgIKD0h0dHBQcm94eUNvbmZpZxJBCgp0bHNfY29uZmlnGAEgASgLMigubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuVGxzQ29uZmlnSACIAQESXQoQaGVhZGVyX3ZhcmlhYmxlcxgCIAMoCzJDLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLkh0dHBQcm94eUNvbmZpZy5IZWFkZXJWYXJpYWJsZXNFbnRyeRpmChRIZWFkZXJWYXJpYWJsZXNFbnRyeRILCgNrZXkYASABKAkSPQoFdmFsdWUYAiABKAsyLi5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5IZWFkZXJWYXJpYWJsZXM6AjgBQg0KC190bHNfY29uZmlnIs0BCg9IZWFkZXJWYXJpYWJsZXMShwEKCXZhcmlhYmxlcxgBIAMoCzI9Lm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLkhlYWRlclZhcmlhYmxlcy5WYXJpYWJsZXNFbnRyeUI1ukgymgEvEDIiIXIfEAEYgAEyGF5bQS1aYS16X11bQS1aYS16MC05X10qJCoIcgYQARiAgAEaMAoOVmFyaWFibGVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AWIGcHJvdG8z", [file_buf_validate_validate, file_mochabugapis_adapt_plugins_v1_file]);
4491
4493
 
4492
- // src/genproto/mochabugapis/adapt/plugins/v1/tls_service_pb.ts
4493
- var file_mochabugapis_adapt_plugins_v1_tls_service = /* @__PURE__ */ fileDesc("Ci9tb2NoYWJ1Z2FwaXMvYWRhcHQvcGx1Z2lucy92MS90bHNfc2VydmljZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEinwEKDVRsc0RlZmluaXRpb24SSwoEbW9kZRgBIAEoDjIxLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLlRsc0RlZmluaXRpb24uTW9kZUIKukgHggEEEAEgACJBCgRNb2RlEhQKEE1PREVfVU5TUEVDSUZJRUQQABINCglNT0RFX01UTFMQARIUChBNT0RFX1NFUlZFUl9PTkxZEAIi+QEKCVRsc0NvbmZpZxI+CgljYV9idW5kbGUYASABKAsyIy5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5GaWxlQga6SAPIAQESRQoLY2VydGlmaWNhdGUYAiABKAsyIy5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5GaWxlQga6SAPIAQFIAIgBARJFCgtwcml2YXRlX2tleRgDIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLkZpbGVCBrpIA8gBAUgBiAEBQg4KDF9jZXJ0aWZpY2F0ZUIOCgxfcHJpdmF0ZV9rZXliBnByb3RvMw", [file_buf_validate_validate, file_mochabugapis_adapt_plugins_v1_file]);
4494
+ // src/genproto/mochabugapis/adapt/plugins/v1/oauth2_service_pb.ts
4495
+ var file_mochabugapis_adapt_plugins_v1_oauth2_service = /* @__PURE__ */ fileDesc("CjJtb2NoYWJ1Z2FwaXMvYWRhcHQvcGx1Z2lucy92MS9vYXV0aDJfc2VydmljZS5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEisgsKEE9hdXRoMkRlZmluaXRpb24STgoKZ3JhbnRfdHlwZRgBIAEoDjIuLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLk9hdXRoMkdyYW50VHlwZUIKukgHggEEEAEgABIlCgZzY29wZXMYAiADKAlCFbpIEpIBDwgAEPQDGAEiBnIEEAEYZBJTCgthdXRoX21ldGhvZBgDIAEoDjItLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLk9hdXRoMkF1dGhUeXBlQgq6SAeCAQQQASAASACIAQESSgoDYWxnGAQgASgOMiwubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuUHJpdmF0ZUtleUFsZ0IKukgHggEEEAEgAEgBiAEBEiIKCWNsaWVudF9pZBgFIAEoCUIKukgHcgUQARj6AUgCiAEBElYKDnRva2VuX2VuZHBvaW50GAYgASgJQj66SDtyORALGIAgMjJeaHR0cHM6Ly9bYS16QS1aMC05Li1dKyg/OlwuW2EtekEtWl17Mix9KSg/Oi8uKik/JBI8CgRjb2RlGAcgASgLMikubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuT2F1dGgyQ29kZUgDiAEBOpwHukiYBxrnAQoSb2F1dGgyLmF1dGhfbWV0aG9kEocBVGhlIGF1dGhfbWV0aG9kIHByb3BlcnR5IG11c3QgYmUgc2V0IGluIGNhc2Ugb2YgZ3JhbnRfdHlwZSBPQVVUSDJfR1JBTlRfVFlQRV9BVVRIT1JJWkFUSU9OX0NPREUgb3IgT0FVVEgyX0dSQU5UX1RZUEVfQ0xJRU5UX0NSRURFTlRJQUxTGkdoYXModGhpcy5hdXRoX21ldGhvZCkgPT0gKHRoaXMuZ3JhbnRfdHlwZSA9PSAxIHx8IHRoaXMuZ3JhbnRfdHlwZSA9PSAyKRrAAgoKb2F1dGgyLmFsZxK+AVRoZSBhbGcgcHJvcGVydHkgbXVzdCBiZSBzZXQgaW4gY2FzZSBvZiBncmFudF90eXBlIE9BVVRIMl9HUkFOVF9UWVBFX0pXVF9CRUFSRVIsIE9BVVRIMl9HUkFOVF9UWVBFX1NBTUwyX0JFQVJFUiBvciBhdXRoX21ldGhvZCBPQVVUSDJfQVVUSF9UWVBFX1BSSVZBVEVfS0VZX0pXVCwgT0FVVEgyX0FVVEhfVFlQRV9TQU1MMl9CRUFSRVIacWhhcyh0aGlzLmFsZykgPT0gKHRoaXMuZ3JhbnRfdHlwZSA9PSAzIHx8IHRoaXMuZ3JhbnRfdHlwZSA9PSA0IHx8IHRoaXMuYXV0aF9tZXRob2QgPT0gMyB8fCB0aGlzLmF1dGhfbWV0aG9kID09IDUpGtQBChBvYXV0aDIuY2xpZW50X2lkEl1UaGUgY2xpZW50X2lkIHByb3BlcnR5IG11c3QgYmUgc2V0IGluIGNhc2Ugb2YgZ3JhbnRfdHlwZSBPQVVUSDJfR1JBTlRfVFlQRV9BVVRIT1JJWkFUSU9OX0NPREUaYShoYXModGhpcy5jbGllbnRfaWQpID09ICh0aGlzLmdyYW50X3R5cGUgPT0gMSkpIHx8ICh0aGlzLmdyYW50X3R5cGUgIT0gMSAmJiAhaGFzKHRoaXMuY2xpZW50X2lkKSkakQEKC29hdXRoMi5jb2RlElhUaGUgY29kZSBwcm9wZXJ0eSBtdXN0IGJlIHNldCBpbiBjYXNlIG9mIGdyYW50X3R5cGUgT0FVVEgyX0dSQU5UX1RZUEVfQVVUSE9SSVpBVElPTl9DT0RFGihoYXModGhpcy5jb2RlKSA9PSAodGhpcy5ncmFudF90eXBlID09IDEpQg4KDF9hdXRoX21ldGhvZEIGCgRfYWxnQgwKCl9jbGllbnRfaWRCBwoFX2NvZGUiqAIKCk9hdXRoMkNvZGUSVQoNYXV0aF9lbmRwb2ludBgBIAEoCUI+ukg7cjkQCxiAIDIyXmh0dHBzOi8vW2EtekEtWjAtOS4tXSsoPzpcLlthLXpBLVpdezIsfSkoPzovLiopPyQSeAoRYWRkaXRpb25hbF9wYXJhbXMYAiADKAsyPy5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5PYXV0aDJDb2RlLkFkZGl0aW9uYWxQYXJhbXNFbnRyeUIcukgZmgEWCAAQMiIHcgUQARj6ASoHcgUQARj6ARIQCgh1c2VfcGtjZRgDIAEoCBo3ChVBZGRpdGlvbmFsUGFyYW1zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKuAwoMT2F1dGgyQ29uZmlnEiIKCWNsaWVudF9pZBgBIAEoCUIKukgHcgUQARiAAkgBiAEBEj4KCmJhc2ljX2F1dGgYAiABKAsyKC5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5CYXNpY0F1dGhIABI8Cglmb3JtX2F1dGgYAyABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5Gb3JtQXV0aEgAEkkKEHByaXZhdGVfand0X2F1dGgYBCABKAsyLS5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5Qcml2YXRlSldUQXV0aEgAEjwKCW10bHNfYXV0aBgFIAEoCzInLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLk1UTFNBdXRoSAASPAoJc2FtbF9hdXRoGAYgASgLMicubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuU0FNTEF1dGhIABIRCgdjb25zZW50GAcgASgISABCFAoLYXV0aF9tZXRob2QSBbpIAggBQgwKCl9jbGllbnRfaWQiLgoJQmFzaWNBdXRoEiEKDWNsaWVudF9zZWNyZXQYASABKAlCCrpIB3IFEAUYgAIiLQoIRm9ybUF1dGgSIQoNY2xpZW50X3NlY3JldBgBIAEoCUIKukgHcgUQBRiAAiKAAQoOUHJpdmF0ZUpXVEF1dGgSQAoLcHJpdmF0ZV9rZXkYASABKAsyIy5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5GaWxlQga6SAPIAQESIAoHc3ViamVjdBgCIAEoCUIKukgHcgUQARiAAkgAiAEBQgoKCF9zdWJqZWN0IucCCghNVExTQXV0aBJACgtjZXJ0aWZpY2F0ZRgBIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLkZpbGVCBrpIA8gBARJACgtwcml2YXRlX2tleRgCIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLkZpbGVCBrpIA8gBARJDCg5jYV9jZXJ0aWZpY2F0ZRgDIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLkZpbGVCBrpIA8gBARJ9ChBjZXJ0aWZpY2F0ZV9ob3N0GAQgASgJQl66SFtyWRABGP0BMlJeKFwqXC4pP1thLXowLTldKFthLXowLTktXXswLDYxfVthLXowLTldKT8oXC5bYS16MC05XShbYS16MC05LV17MCw2MX1bYS16MC05XSk/KSokSACIAQFCEwoRX2NlcnRpZmljYXRlX2hvc3QijgEKCFNBTUxBdXRoEkAKC3ByaXZhdGVfa2V5GAEgASgLMiMubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuRmlsZUIGukgDyAEBEkAKC2NlcnRpZmljYXRlGAIgASgLMiMubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuRmlsZUIGukgDyAEBKksKDVByaXZhdGVLZXlBbGcSHwobUFJJVkFURV9LRVlfQUxHX1VOU1BFQ0lGSUVEEAASGQoVUFJJVkFURV9LRVlfQUxHX1JTMjU2EAEqzgEKD09hdXRoMkdyYW50VHlwZRIhCh1PQVVUSDJfR1JBTlRfVFlQRV9VTlNQRUNJRklFRBAAEigKJE9BVVRIMl9HUkFOVF9UWVBFX0FVVEhPUklaQVRJT05fQ09ERRABEigKJE9BVVRIMl9HUkFOVF9UWVBFX0NMSUVOVF9DUkVERU5USUFMUxACEiAKHE9BVVRIMl9HUkFOVF9UWVBFX0pXVF9CRUFSRVIQAxIiCh5PQVVUSDJfR1JBTlRfVFlQRV9TQU1MMl9CRUFSRVIQBCrNAQoOT2F1dGgyQXV0aFR5cGUSIAocT0FVVEgyX0FVVEhfVFlQRV9VTlNQRUNJRklFRBAAEhoKFk9BVVRIMl9BVVRIX1RZUEVfQkFTSUMQARIZChVPQVVUSDJfQVVUSF9UWVBFX0ZPUk0QAhIkCiBPQVVUSDJfQVVUSF9UWVBFX1BSSVZBVEVfS0VZX0pXVBADEhkKFU9BVVRIMl9BVVRIX1RZUEVfTVRMUxAEEiEKHU9BVVRIMl9BVVRIX1RZUEVfU0FNTDJfQkVBUkVSEAViBnByb3RvMw", [file_buf_validate_validate, file_mochabugapis_adapt_plugins_v1_file]);
4494
4496
 
4495
4497
  // src/genproto/mochabugapis/adapt/plugins/v1/variable_service_pb.ts
4496
- var file_mochabugapis_adapt_plugins_v1_variable_service = /* @__PURE__ */ fileDesc("CjRtb2NoYWJ1Z2FwaXMvYWRhcHQvcGx1Z2lucy92MS92YXJpYWJsZV9zZXJ2aWNlLnByb3RvEh1tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MSKLAQoSVmFyaWFibGVEZWZpbml0aW9uEjsKBnNjaGVtYRgBIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWFCBrpIA8gBARIsCgdkZWZhdWx0GAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlSACIAQFCCgoIX2RlZmF1bHRiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_struct, file_mochabugapis_adapt_graph_jtd_schema]);
4498
+ var file_mochabugapis_adapt_plugins_v1_variable_service = /* @__PURE__ */ fileDesc("CjRtb2NoYWJ1Z2FwaXMvYWRhcHQvcGx1Z2lucy92MS92YXJpYWJsZV9zZXJ2aWNlLnByb3RvEh1tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MSKeAQoSVmFyaWFibGVEZWZpbml0aW9uEjsKBnNjaGVtYRgBIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5ncmFwaC5KVERTY2hlbWFCBrpIA8gBARIsCgdkZWZhdWx0GAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlSACIAQESEQoJcGxhaW50ZXh0GAMgASgIQgoKCF9kZWZhdWx0YgZwcm90bzM", [file_buf_validate_validate, file_google_protobuf_struct, file_mochabugapis_adapt_graph_jtd_schema]);
4497
4499
 
4498
4500
  // src/genproto/mochabugapis/adapt/plugins/v1/service_definition_pb.ts
4499
- var file_mochabugapis_adapt_plugins_v1_service_definition = /* @__PURE__ */ fileDesc("CjZtb2NoYWJ1Z2FwaXMvYWRhcHQvcGx1Z2lucy92MS9zZXJ2aWNlX2RlZmluaXRpb24ucHJvdG8SHW1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxIvQCChFTZXJ2aWNlRGVmaW5pdGlvbhIzCgRuYW1lGAEgASgJQiW6SCJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEhsKBWxhYmVsGAIgASgJQgy6SAnYAQFyBBABGGQSJwoLZGVzY3JpcHRpb24YAyABKAlCDbpICtgBAXIFEAEY+gFIAYgBARJFCgh2YXJpYWJsZRgEIAEoCzIxLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLlZhcmlhYmxlRGVmaW5pdGlvbkgAEjsKA3RscxgFIAEoCzIsLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLlRsc0RlZmluaXRpb25IABJBCgZvYXV0aDIYBiABKAsyLy5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5PYXV0aDJEZWZpbml0aW9uSABCDQoEdHlwZRIFukgCCAFCDgoMX2Rlc2NyaXB0aW9uYgZwcm90bzM", [file_buf_validate_validate, file_mochabugapis_adapt_plugins_v1_oauth2_service, file_mochabugapis_adapt_plugins_v1_tls_service, file_mochabugapis_adapt_plugins_v1_variable_service]);
4501
+ var file_mochabugapis_adapt_plugins_v1_service_definition = /* @__PURE__ */ fileDesc("CjZtb2NoYWJ1Z2FwaXMvYWRhcHQvcGx1Z2lucy92MS9zZXJ2aWNlX2RlZmluaXRpb24ucHJvdG8SHW1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxIqMEChFTZXJ2aWNlRGVmaW5pdGlvbhIzCgRuYW1lGAEgASgJQiW6SCJyIBABGGQyGl5bXyRhLXpBLVpdW18kYS16QS1aMC05XSokEhgKBWxhYmVsGAIgASgJQgm6SAZyBBABGGQSJAoLZGVzY3JpcHRpb24YAyABKAlCCrpIB3IFEAEY+gFIAYgBARIVCghvcHRpb25hbBgEIAEoCEgCiAEBEkUKCHZhcmlhYmxlGAUgASgLMjEubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuVmFyaWFibGVEZWZpbml0aW9uSAASQQoGb2F1dGgyGAYgASgLMi8ubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuT2F1dGgyRGVmaW5pdGlvbkgAEkgKCmh0dHBfcHJveHkYByABKAsyMi5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5IdHRwUHJveHlEZWZpbml0aW9uSAASQQoFZ3JvdXAYCCABKAsyMC5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5Hcm91cGVkRGVmaW5pdGlvbkgAEj8KBW9uZW9mGAkgASgLMi4ubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuT25lT2ZEZWZpbml0aW9uSABCDQoEdHlwZRIFukgCCAFCDgoMX2Rlc2NyaXB0aW9uQgsKCV9vcHRpb25hbGIGcHJvdG8z", [file_buf_validate_validate, file_mochabugapis_adapt_plugins_v1_compound_services, file_mochabugapis_adapt_plugins_v1_http_proxy_service, file_mochabugapis_adapt_plugins_v1_oauth2_service, file_mochabugapis_adapt_plugins_v1_variable_service]);
4500
4502
 
4501
4503
  // src/genproto/mochabugapis/adapt/plugins/v1/vertex_pb.ts
4502
- var file_mochabugapis_adapt_plugins_v1_vertex = /* @__PURE__ */ fileDesc("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvcGx1Z2lucy92MS92ZXJ0ZXgucHJvdG8SHW1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxIrYFCgZWZXJ0ZXgSMwoEbmFtZRgBIAEoCUIlukgiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIYCgVsYWJlbBgCIAEoCUIJukgGcgQQARhkEicKC2Rlc2NyaXB0aW9uGAMgASgJQg26SArYAQFyBRABGPoBSACIAQESZQoEbG9nbxgEIAEoCUJSukhP2AEBckoQAhiAIDJDXihbXi9dKygvW14vXSspKilcLihnaWZ8anBnfGpwZWd8amZpZnxwanBlZ3xwanB8cG5nfHN2Z3x3ZWJwfGF2aWYpJEgBiAEBElIKDGNhcGFiaWxpdGllcxgFIAMoDjIpLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLkNhcGFiaWxpdHlCEbpIDpIBCxgBIgeCAQQQASAAEjIKBmNvbmZpZxgGIAEoCUIdukgachgQBRiAIDIRXihbXi9dKygvW14vXSspKilIAogBARI2CghtZXRhZGF0YRgHIAEoCUIkukghch8QBRiAIDIYXihbXi9dKygvW14vXSspKilcLmpzb24kEsABCg11c2VyX3NlcnZpY2VzGAggAygLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuU2VydmljZUJpbmRpbmdCerpId7oBbQocc3lzdGVtX3NlcnZpY2VzX3VuaXF1ZV9uYW1lcxIjYSBuYW1lIGNhbm5vdCBhcHBlYXIgbW9yZSB0aGFuIG9uY2UaKHRoaXMubWFwKHNlcnZpY2UsIHNlcnZpY2UubmFtZSkudW5pcXVlKCmSAQQIABAUEhcKCmRlcHJlY2F0ZWQYCSABKAhIA4gBAUIOCgxfZGVzY3JpcHRpb25CBwoFX2xvZ29CCQoHX2NvbmZpZ0INCgtfZGVwcmVjYXRlZCqLAQoKQ2FwYWJpbGl0eRIaChZDQVBBQklMSVRZX1VOU1BFQ0lGSUVEEAASEwoPQ0FQQUJJTElUWV9DUk9OEAESFwoTQ0FQQUJJTElUWV9FWFRFUk5BTBACEhsKF0NBUEFCSUxJVFlfQ09ORklHVVJBVE9SEAMSFgoSQ0FQQUJJTElUWV9CUk9XU0VSEARiBnByb3RvMw", [file_buf_validate_validate, file_mochabugapis_adapt_plugins_v1_service_binding]);
4504
+ var file_mochabugapis_adapt_plugins_v1_vertex = /* @__PURE__ */ fileDesc("Ciptb2NoYWJ1Z2FwaXMvYWRhcHQvcGx1Z2lucy92MS92ZXJ0ZXgucHJvdG8SHW1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxIpMECgZWZXJ0ZXgSMwoEbmFtZRgBIAEoCUIlukgiciAQARhkMhpeW18kYS16QS1aXVtfJGEtekEtWjAtOV0qJBIYCgVsYWJlbBgCIAEoCUIJukgGcgQQARhkEiQKC2Rlc2NyaXB0aW9uGAMgASgJQgq6SAdyBRABGPoBSACIAQESYgoEbG9nbxgEIAEoCUJPukhMckoQAhiAIDJDXihbXi9dKygvW14vXSspKilcLihnaWZ8anBnfGpwZWd8amZpZnxwanBlZ3xwanB8cG5nfHN2Z3x3ZWJwfGF2aWYpJEgBiAEBElIKDGNhcGFiaWxpdGllcxgFIAMoDjIpLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLkNhcGFiaWxpdHlCEbpIDpIBCxgBIgeCAQQQASAAEjIKBmNvbmZpZxgGIAEoCUIdukgachgQBRiAIDIRXihbXi9dKygvW14vXSspKilIAogBARI2CghtZXRhZGF0YRgHIAEoCUIkukghch8QBRiAIDIYXihbXi9dKygvW14vXSspKilcLmpzb24kEiQKDXVzZXJfc2VydmljZXMYCCADKAlCDbpICpIBBwgAEPQDGAESFwoKZGVwcmVjYXRlZBgJIAEoCEgDiAEBQg4KDF9kZXNjcmlwdGlvbkIHCgVfbG9nb0IJCgdfY29uZmlnQg0KC19kZXByZWNhdGVkKosBCgpDYXBhYmlsaXR5EhoKFkNBUEFCSUxJVFlfVU5TUEVDSUZJRUQQABITCg9DQVBBQklMSVRZX0NST04QARIXChNDQVBBQklMSVRZX0VYVEVSTkFMEAISGwoXQ0FQQUJJTElUWV9DT05GSUdVUkFUT1IQAxIWChJDQVBBQklMSVRZX0JST1dTRVIQBGIGcHJvdG8z", [file_buf_validate_validate]);
4503
4505
  var VertexSchema = /* @__PURE__ */ messageDesc(file_mochabugapis_adapt_plugins_v1_vertex, 0);
4504
4506
 
4505
4507
  // src/genproto/mochabugapis/adapt/plugins/v1/manifest_pb.ts
4506
- var file_mochabugapis_adapt_plugins_v1_manifest = /* @__PURE__ */ fileDesc("Cixtb2NoYWJ1Z2FwaXMvYWRhcHQvcGx1Z2lucy92MS9tYW5pZmVzdC5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEi+wsKCE1hbmlmZXN0EjMKBG5hbWUYASABKAlCJbpIInIgEAEYZDIaXltfJGEtekEtWl1bXyRhLXpBLVowLTldKiQS1AEKB3ZlcnNpb24YAiABKAlCwgG6SL4BcrsBEAUYlgEyswFeKDB8WzEtOV1cZCopXC4oMHxbMS05XVxkKilcLigwfFsxLTldXGQqKSg/Oi0oKD86MHxbMS05XVxkKnxcZCpbYS16QS1aLV1bMC05YS16QS1aLV0qKSg/OlwuKD86MHxbMS05XVxkKnxcZCpbYS16QS1aLV1bMC05YS16QS1aLV0qKSkqKSk/KD86XCsoWzAtOWEtekEtWi1dKyg/OlwuWzAtOWEtekEtWi1dKykqKSk/JBIYCgVsYWJlbBgDIAEoCUIJukgGcgQQARhkEh8KC2Rlc2NyaXB0aW9uGAQgASgJQgq6SAdyBRABGPoBEh4KDG9yZ2FuaXphdGlvbhgFIAEoCUIIukgFcgOwAQESWAoIaG9tZXBhZ2UYBiABKAlCQbpIPtgBAXI5EAsYgCAyMl5odHRwczovL1thLXpBLVowLTkuLV0rKD86XC5bYS16QS1aXXsyLH0pKD86Ly4qKT8kSACIAQESWgoKcmVwb3NpdG9yeRgHIAEoCUJBukg+2AEBcjkQCxiAIDIyXmh0dHBzOi8vW2EtekEtWjAtOS4tXSsoPzpcLlthLXpBLVpdezIsfSkoPzovLiopPyRIAYgBARLZAQoEYnVncxgIIAEoCULFAbpIwQG6AboBChJ2YWxpZF9lbWFpbF9vcl91cmwSIWJ1Z3MgbXVzdCBiZSBhIHZhbGlkIGVtYWlsIG9yIFVSTBqAAXNpemUodGhpcykgPj0gMiAmJiBzaXplKHRoaXMpIDw9IDQwOTYgJiYgKHRoaXMuaXNFbWFpbCgpIHx8IHRoaXMubWF0Y2hlcygnXmh0dHBzOi8vW2EtekEtWjAtOS4tXSsoPzpcXC5bYS16QS1aXXsyLH0pKD86Ly4qKT8kJykp2AEBSAKIAQESIQoGYXV0aG9yGAkgASgJQgy6SAnYAQFyBBABGGRIA4gBARJlCgRsb2dvGAogASgJQlK6SE/YAQFyShACGIAgMkNeKFteL10rKC9bXi9dKykqKVwuKGdpZnxqcGd8anBlZ3xqZmlmfHBqcGVnfHBqcHxwbmd8c3ZnfHdlYnB8YXZpZikkSASIAQESqAEKCHZlcnRpY2VzGAsgAygLMiUubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuVmVydGV4Qm+6SGy6AWIKE3ZlcnRleF91bmlxdWVfbmFtZXMSI2EgbmFtZSBjYW5ub3QgYXBwZWFyIG1vcmUgdGhhbiBvbmNlGiZ0aGlzLm1hcCh2ZXJ0ZXgsIHZlcnRleC5uYW1lKS51bmlxdWUoKZIBBAgBEGQSwgEKE3NlcnZpY2VfZGVmaW5pdGlvbnMYDCADKAsyMC5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5TZXJ2aWNlRGVmaW5pdGlvbkJzukhwugFmChVzZXJ2aWNlc191bmlxdWVfbmFtZXMSI2EgbmFtZSBjYW5ub3QgYXBwZWFyIG1vcmUgdGhhbiBvbmNlGih0aGlzLm1hcChzZXJ2aWNlLCBzZXJ2aWNlLm5hbWUpLnVuaXF1ZSgpkgEECAAQFBLCAQoPc3lzdGVtX3NlcnZpY2VzGA0gAygLMi0ubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuU2VydmljZUJpbmRpbmdCerpId7oBbQocc3lzdGVtX3NlcnZpY2VzX3VuaXF1ZV9uYW1lcxIjYSBuYW1lIGNhbm5vdCBhcHBlYXIgbW9yZSB0aGFuIG9uY2UaKHRoaXMubWFwKHNlcnZpY2UsIHNlcnZpY2UubmFtZSkudW5pcXVlKCmSAQQIABAUQgsKCV9ob21lcGFnZUINCgtfcmVwb3NpdG9yeUIHCgVfYnVnc0IJCgdfYXV0aG9yQgcKBV9sb2dvYgZwcm90bzM", [file_buf_validate_validate, file_mochabugapis_adapt_plugins_v1_service_binding, file_mochabugapis_adapt_plugins_v1_service_definition, file_mochabugapis_adapt_plugins_v1_vertex]);
4508
+ var file_mochabugapis_adapt_plugins_v1_manifest = /* @__PURE__ */ fileDesc("Cixtb2NoYWJ1Z2FwaXMvYWRhcHQvcGx1Z2lucy92MS9tYW5pZmVzdC5wcm90bxIdbW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEi0QoKCE1hbmlmZXN0EjMKBG5hbWUYASABKAlCJbpIInIgEAEYZDIaXltfJGEtekEtWl1bXyRhLXpBLVowLTldKiQS1AEKB3ZlcnNpb24YAiABKAlCwgG6SL4BcrsBEAUYlgEyswFeKDB8WzEtOV1cZCopXC4oMHxbMS05XVxkKilcLigwfFsxLTldXGQqKSg/Oi0oKD86MHxbMS05XVxkKnxcZCpbYS16QS1aLV1bMC05YS16QS1aLV0qKSg/OlwuKD86MHxbMS05XVxkKnxcZCpbYS16QS1aLV1bMC05YS16QS1aLV0qKSkqKSk/KD86XCsoWzAtOWEtekEtWi1dKyg/OlwuWzAtOWEtekEtWi1dKykqKSk/JBIYCgVsYWJlbBgDIAEoCUIJukgGcgQQARhkEh8KC2Rlc2NyaXB0aW9uGAQgASgJQgq6SAdyBRABGPoBEh4KDG9yZ2FuaXphdGlvbhgFIAEoCUIIukgFcgOwAQESVQoIaG9tZXBhZ2UYBiABKAlCPrpIO3I5EAsYgCAyMl5odHRwczovL1thLXpBLVowLTkuLV0rKD86XC5bYS16QS1aXXsyLH0pKD86Ly4qKT8kSACIAQESVwoKcmVwb3NpdG9yeRgHIAEoCUI+ukg7cjkQCxiAIDIyXmh0dHBzOi8vW2EtekEtWjAtOS4tXSsoPzpcLlthLXpBLVpdezIsfSkoPzovLiopPyRIAYgBARLWAQoEYnVncxgIIAEoCULCAbpIvgG6AboBChJ2YWxpZF9lbWFpbF9vcl91cmwSIWJ1Z3MgbXVzdCBiZSBhIHZhbGlkIGVtYWlsIG9yIFVSTBqAAXNpemUodGhpcykgPj0gMiAmJiBzaXplKHRoaXMpIDw9IDQwOTYgJiYgKHRoaXMuaXNFbWFpbCgpIHx8IHRoaXMubWF0Y2hlcygnXmh0dHBzOi8vW2EtekEtWjAtOS4tXSsoPzpcXC5bYS16QS1aXXsyLH0pKD86Ly4qKT8kJykpSAKIAQESHgoGYXV0aG9yGAkgASgJQgm6SAZyBBABGGRIA4gBARJiCgRsb2dvGAogASgJQk+6SExyShACGIAgMkNeKFteL10rKC9bXi9dKykqKVwuKGdpZnxqcGd8anBlZ3xqZmlmfHBqcGVnfHBqcHxwbmd8c3ZnfHdlYnB8YXZpZikkSASIAQESqQEKCHZlcnRpY2VzGAsgAygLMiUubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuVmVydGV4QnC6SG26AWIKE3ZlcnRleF91bmlxdWVfbmFtZXMSI2EgbmFtZSBjYW5ub3QgYXBwZWFyIG1vcmUgdGhhbiBvbmNlGiZ0aGlzLm1hcCh2ZXJ0ZXgsIHZlcnRleC5uYW1lKS51bmlxdWUoKZIBBQgBEPQDEsMBChNzZXJ2aWNlX2RlZmluaXRpb25zGAwgAygLMjAubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuU2VydmljZURlZmluaXRpb25CdLpIcboBZgoVc2VydmljZXNfdW5pcXVlX25hbWVzEiNhIG5hbWUgY2Fubm90IGFwcGVhciBtb3JlIHRoYW4gb25jZRoodGhpcy5tYXAoc2VydmljZSwgc2VydmljZS5uYW1lKS51bmlxdWUoKZIBBQgAEPQDEiYKD3N5c3RlbV9zZXJ2aWNlcxgNIAMoCUINukgKkgEHCAAQ9AMYAUILCglfaG9tZXBhZ2VCDQoLX3JlcG9zaXRvcnlCBwoFX2J1Z3NCCQoHX2F1dGhvckIHCgVfbG9nb2IGcHJvdG8z", [file_buf_validate_validate, file_mochabugapis_adapt_plugins_v1_service_definition, file_mochabugapis_adapt_plugins_v1_vertex]);
4507
4509
  var ManifestSchema = /* @__PURE__ */ messageDesc(file_mochabugapis_adapt_plugins_v1_manifest, 0);
4508
4510
 
4509
4511
  // src/utils.ts
4510
4512
  var ajv = new Ajv();
4513
+ var validator = createValidator();
4511
4514
  function readAsset(name) {
4512
4515
  return fs.readFileSync(
4513
4516
  path.join(
@@ -4564,43 +4567,17 @@ async function readManifest(filePath, src) {
4564
4567
  return vertex;
4565
4568
  });
4566
4569
  for (const v of manifest.vertices) {
4567
- for (const u of v.userServices) {
4568
- if (u.binding.case === "service") {
4569
- if (!manifest.serviceDefinitions.find((s) => s.name === u.binding.value)) {
4570
- throw new Error(
4571
- `Service not found: ${u.binding.value} in vertex: ${v.name}`
4572
- );
4573
- }
4574
- } else if (u.binding.case === "oneOf") {
4575
- for (const opt of u.binding.value.options) {
4576
- if (!manifest.serviceDefinitions.find((s) => s.name === opt)) {
4577
- throw new Error(`Service not found: ${opt} in vertex: ${v.name}`);
4578
- }
4579
- }
4580
- } else {
4570
+ for (const serviceName of v.userServices) {
4571
+ if (!manifest.serviceDefinitions.find((s) => s.name === serviceName)) {
4581
4572
  throw new Error(
4582
- `Invalid binding case: ${u.binding.case} in vertex: ${v.name}`
4573
+ `Service not found: ${serviceName} in vertex: ${v.name}`
4583
4574
  );
4584
4575
  }
4585
4576
  }
4586
4577
  }
4587
- for (const u of manifest.systemServices) {
4588
- if (u.binding.case === "service") {
4589
- if (!manifest.serviceDefinitions.find((s) => s.name === u.binding.value)) {
4590
- throw new Error(
4591
- `Service not found: ${u.binding.value} in system services`
4592
- );
4593
- }
4594
- } else if (u.binding.case === "oneOf") {
4595
- for (const opt of u.binding.value.options) {
4596
- if (!manifest.serviceDefinitions.find((s) => s.name === opt)) {
4597
- throw new Error(`Service not found: ${opt} in system services`);
4598
- }
4599
- }
4600
- } else {
4601
- throw new Error(
4602
- `Invalid binding case: ${u.binding.case} in system services`
4603
- );
4578
+ for (const serviceName of manifest.systemServices) {
4579
+ if (!manifest.serviceDefinitions.find((s) => s.name === serviceName)) {
4580
+ throw new Error(`Service not found: ${serviceName} in system services`);
4604
4581
  }
4605
4582
  }
4606
4583
  for (const v of manifest.vertices) {
@@ -4617,6 +4594,12 @@ async function readManifest(filePath, src) {
4617
4594
  for (const srv of manifest.serviceDefinitions) {
4618
4595
  await validateLoadServiceDefinition(baseDir, srv);
4619
4596
  }
4597
+ const result = validator.validate(ManifestSchema, manifest);
4598
+ if (result.kind != "valid") {
4599
+ console.error(result.error);
4600
+ console.error(result.violations);
4601
+ throw new Error(`Manifest validation failed: ${result.error}`);
4602
+ }
4620
4603
  return manifest;
4621
4604
  } catch (error) {
4622
4605
  console.error(
@@ -4638,43 +4621,26 @@ function validateOauthCodeFlow(manifest) {
4638
4621
  codeDefs.push(srv);
4639
4622
  }
4640
4623
  const codeDefNames = codeDefs.map((s) => s.name);
4641
- for (const srv of manifest.systemServices) {
4642
- if (srv.optional && srv.binding.case === "service" && codeDefNames.includes(srv.binding.value)) {
4643
- throw new Error(
4644
- `Service ${srv.binding.value} is using the OAuth2 code flow, it must be non-optional in the system services`
4624
+ for (const serviceName of manifest.systemServices) {
4625
+ if (codeDefNames.includes(serviceName)) {
4626
+ const serviceDef = manifest.serviceDefinitions.find(
4627
+ (s) => s.name === serviceName
4645
4628
  );
4646
- } else if (srv.binding.case === "oneOf") {
4647
- for (const opt of srv.binding.value.options) {
4648
- if (codeDefNames.includes(opt)) {
4649
- throw new Error(
4650
- `Service binding oneOf '${opt}' is using the OAuth2 code flow, it must be non-optional in the system services`
4651
- );
4652
- }
4629
+ if (serviceDef?.optional) {
4630
+ throw new Error(
4631
+ `Service ${serviceName} is using the OAuth2 code flow, it must be non-optional in the system services`
4632
+ );
4653
4633
  }
4654
4634
  }
4655
4635
  }
4656
4636
  for (const vertex of manifest.vertices) {
4657
- for (const srv of vertex.userServices) {
4658
- if (srv.binding.case === "service" && codeDefNames.includes(srv.binding.value)) {
4659
- if (!manifest.systemServices.find(
4660
- (s) => s.binding.case === "service" && s.binding.value === srv.binding.value
4661
- )) {
4637
+ for (const serviceName of vertex.userServices) {
4638
+ if (codeDefNames.includes(serviceName)) {
4639
+ if (!manifest.systemServices.includes(serviceName)) {
4662
4640
  throw new Error(
4663
- `Service ${srv.binding.value} is using the OAuth2 code flow, it must be in the system services`
4641
+ `Service ${serviceName} is using the OAuth2 code flow, it must be in the system services`
4664
4642
  );
4665
4643
  }
4666
- } else if (srv.binding.case === "oneOf") {
4667
- for (const opt of srv.binding.value.options) {
4668
- if (codeDefNames.includes(opt)) {
4669
- if (!manifest.systemServices.find(
4670
- (s) => s.binding.case === "service" && s.binding.value === opt
4671
- )) {
4672
- throw new Error(
4673
- `Service binding oneOf '${opt}' is using the OAuth2 code flow, it must be in the system services`
4674
- );
4675
- }
4676
- }
4677
- }
4678
4644
  }
4679
4645
  }
4680
4646
  }
@@ -4686,7 +4652,18 @@ async function validateLoadServiceDefinition(basePath, srv) {
4686
4652
  const schema = toJson(JTDSchemaSchema, srv.type.value.schema);
4687
4653
  await ajv.validateSchema(schema, true);
4688
4654
  if (srv.type.value.default) {
4689
- if (!ajv.validate(schema, toJson(ValueSchema, srv.type.value.default))) {
4655
+ let defaultValue = toJson(ValueSchema, srv.type.value.default);
4656
+ if (typeof defaultValue === "string" && defaultValue.endsWith(".json")) {
4657
+ const filePath = path.join(basePath, defaultValue);
4658
+ if (fs.existsSync(filePath)) {
4659
+ const fileContent = fs.readFileSync(filePath, "utf-8");
4660
+ defaultValue = JSON.parse(fileContent);
4661
+ srv.type.value.default = fromJson(ValueSchema, defaultValue);
4662
+ } else {
4663
+ throw new Error(`Default value file not found at ${filePath}`);
4664
+ }
4665
+ }
4666
+ if (!ajv.validate(schema, defaultValue)) {
4690
4667
  throw new Error(
4691
4668
  `Default value is incorrect: ${ajv.errorsText(ajv.errors)}`
4692
4669
  );
@@ -4699,6 +4676,29 @@ async function validateLoadServiceDefinition(basePath, srv) {
4699
4676
  }
4700
4677
  break;
4701
4678
  }
4679
+ case "httpProxy": {
4680
+ try {
4681
+ if (srv.type.value.tls?.caBundle) {
4682
+ const caBundlePath = path.join(
4683
+ basePath,
4684
+ srv.type.value.tls.caBundle.name
4685
+ );
4686
+ if (fs.existsSync(caBundlePath)) {
4687
+ srv.type.value.tls.caBundle = create(FileSchema, {
4688
+ name: srv.type.value.tls.caBundle.name,
4689
+ data: fs.readFileSync(caBundlePath)
4690
+ });
4691
+ } else {
4692
+ throw new Error(`CA Bundle file not found at ${caBundlePath}`);
4693
+ }
4694
+ }
4695
+ } catch (error) {
4696
+ throw new Error(
4697
+ `Validation failed for service definition '${srv.name}': ${formatErrorMessage(error.message)}`
4698
+ );
4699
+ }
4700
+ break;
4701
+ }
4702
4702
  }
4703
4703
  }
4704
4704
  function formatErrorMessage(message) {
@@ -5368,7 +5368,7 @@ var file_google_api_launch_stage = /* @__PURE__ */ fileDesc("Ch1nb29nbGUvYXBpL2x
5368
5368
  var file_google_api_client = /* @__PURE__ */ fileDesc("Chdnb29nbGUvYXBpL2NsaWVudC5wcm90bxIKZ29vZ2xlLmFwaSK+AQoWQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxIeChJyZWZlcmVuY2VfZG9jc191cmkYASABKAlCAhgBEjoKDGRlc3RpbmF0aW9ucxgCIAMoDjIkLmdvb2dsZS5hcGkuQ2xpZW50TGlicmFyeURlc3RpbmF0aW9uEkgKGnNlbGVjdGl2ZV9nYXBpY19nZW5lcmF0aW9uGAMgASgLMiQuZ29vZ2xlLmFwaS5TZWxlY3RpdmVHYXBpY0dlbmVyYXRpb24i+wMKFUNsaWVudExpYnJhcnlTZXR0aW5ncxIPCgd2ZXJzaW9uGAEgASgJEi0KDGxhdW5jaF9zdGFnZRgCIAEoDjIXLmdvb2dsZS5hcGkuTGF1bmNoU3RhZ2USGgoScmVzdF9udW1lcmljX2VudW1zGAMgASgIEi8KDWphdmFfc2V0dGluZ3MYFSABKAsyGC5nb29nbGUuYXBpLkphdmFTZXR0aW5ncxItCgxjcHBfc2V0dGluZ3MYFiABKAsyFy5nb29nbGUuYXBpLkNwcFNldHRpbmdzEi0KDHBocF9zZXR0aW5ncxgXIAEoCzIXLmdvb2dsZS5hcGkuUGhwU2V0dGluZ3MSMwoPcHl0aG9uX3NldHRpbmdzGBggASgLMhouZ29vZ2xlLmFwaS5QeXRob25TZXR0aW5ncxIvCg1ub2RlX3NldHRpbmdzGBkgASgLMhguZ29vZ2xlLmFwaS5Ob2RlU2V0dGluZ3MSMwoPZG90bmV0X3NldHRpbmdzGBogASgLMhouZ29vZ2xlLmFwaS5Eb3RuZXRTZXR0aW5ncxIvCg1ydWJ5X3NldHRpbmdzGBsgASgLMhguZ29vZ2xlLmFwaS5SdWJ5U2V0dGluZ3MSKwoLZ29fc2V0dGluZ3MYHCABKAsyFi5nb29nbGUuYXBpLkdvU2V0dGluZ3MiqAMKClB1Ymxpc2hpbmcSMwoPbWV0aG9kX3NldHRpbmdzGAIgAygLMhouZ29vZ2xlLmFwaS5NZXRob2RTZXR0aW5ncxIVCg1uZXdfaXNzdWVfdXJpGGUgASgJEhkKEWRvY3VtZW50YXRpb25fdXJpGGYgASgJEhYKDmFwaV9zaG9ydF9uYW1lGGcgASgJEhQKDGdpdGh1Yl9sYWJlbBhoIAEoCRIeChZjb2Rlb3duZXJfZ2l0aHViX3RlYW1zGGkgAygJEhYKDmRvY190YWdfcHJlZml4GGogASgJEjsKDG9yZ2FuaXphdGlvbhhrIAEoDjIlLmdvb2dsZS5hcGkuQ2xpZW50TGlicmFyeU9yZ2FuaXphdGlvbhI7ChBsaWJyYXJ5X3NldHRpbmdzGG0gAygLMiEuZ29vZ2xlLmFwaS5DbGllbnRMaWJyYXJ5U2V0dGluZ3MSKQohcHJvdG9fcmVmZXJlbmNlX2RvY3VtZW50YXRpb25fdXJpGG4gASgJEigKIHJlc3RfcmVmZXJlbmNlX2RvY3VtZW50YXRpb25fdXJpGG8gASgJIuMBCgxKYXZhU2V0dGluZ3MSFwoPbGlicmFyeV9wYWNrYWdlGAEgASgJEkwKE3NlcnZpY2VfY2xhc3NfbmFtZXMYAiADKAsyLy5nb29nbGUuYXBpLkphdmFTZXR0aW5ncy5TZXJ2aWNlQ2xhc3NOYW1lc0VudHJ5EjIKBmNvbW1vbhgDIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxo4ChZTZXJ2aWNlQ2xhc3NOYW1lc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiQQoLQ3BwU2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzIkEKC1BocFNldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncyKbAgoOUHl0aG9uU2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzEk4KFWV4cGVyaW1lbnRhbF9mZWF0dXJlcxgCIAEoCzIvLmdvb2dsZS5hcGkuUHl0aG9uU2V0dGluZ3MuRXhwZXJpbWVudGFsRmVhdHVyZXMahAEKFEV4cGVyaW1lbnRhbEZlYXR1cmVzEh0KFXJlc3RfYXN5bmNfaW9fZW5hYmxlZBgBIAEoCBInCh9wcm90b2J1Zl9weXRob25pY190eXBlc19lbmFibGVkGAIgASgIEiQKHHVudmVyc2lvbmVkX3BhY2thZ2VfZGlzYWJsZWQYAyABKAgiQgoMTm9kZVNldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncyKqAwoORG90bmV0U2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzEkkKEHJlbmFtZWRfc2VydmljZXMYAiADKAsyLy5nb29nbGUuYXBpLkRvdG5ldFNldHRpbmdzLlJlbmFtZWRTZXJ2aWNlc0VudHJ5EksKEXJlbmFtZWRfcmVzb3VyY2VzGAMgAygLMjAuZ29vZ2xlLmFwaS5Eb3RuZXRTZXR0aW5ncy5SZW5hbWVkUmVzb3VyY2VzRW50cnkSGQoRaWdub3JlZF9yZXNvdXJjZXMYBCADKAkSIAoYZm9yY2VkX25hbWVzcGFjZV9hbGlhc2VzGAUgAygJEh4KFmhhbmR3cml0dGVuX3NpZ25hdHVyZXMYBiADKAkaNgoUUmVuYW1lZFNlcnZpY2VzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARo3ChVSZW5hbWVkUmVzb3VyY2VzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJCCgxSdWJ5U2V0dGluZ3MSMgoGY29tbW9uGAEgASgLMiIuZ29vZ2xlLmFwaS5Db21tb25MYW5ndWFnZVNldHRpbmdzIr8BCgpHb1NldHRpbmdzEjIKBmNvbW1vbhgBIAEoCzIiLmdvb2dsZS5hcGkuQ29tbW9uTGFuZ3VhZ2VTZXR0aW5ncxJFChByZW5hbWVkX3NlcnZpY2VzGAIgAygLMisuZ29vZ2xlLmFwaS5Hb1NldHRpbmdzLlJlbmFtZWRTZXJ2aWNlc0VudHJ5GjYKFFJlbmFtZWRTZXJ2aWNlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEizwIKDk1ldGhvZFNldHRpbmdzEhAKCHNlbGVjdG9yGAEgASgJEjwKDGxvbmdfcnVubmluZxgCIAEoCzImLmdvb2dsZS5hcGkuTWV0aG9kU2V0dGluZ3MuTG9uZ1J1bm5pbmcSHQoVYXV0b19wb3B1bGF0ZWRfZmllbGRzGAMgAygJGs0BCgtMb25nUnVubmluZxI1ChJpbml0aWFsX3BvbGxfZGVsYXkYASABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SHQoVcG9sbF9kZWxheV9tdWx0aXBsaWVyGAIgASgCEjEKDm1heF9wb2xsX2RlbGF5GAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEjUKEnRvdGFsX3BvbGxfdGltZW91dBgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbiJRChhTZWxlY3RpdmVHYXBpY0dlbmVyYXRpb24SDwoHbWV0aG9kcxgBIAMoCRIkChxnZW5lcmF0ZV9vbWl0dGVkX2FzX2ludGVybmFsGAIgASgIKqMBChlDbGllbnRMaWJyYXJ5T3JnYW5pemF0aW9uEisKJ0NMSUVOVF9MSUJSQVJZX09SR0FOSVpBVElPTl9VTlNQRUNJRklFRBAAEgkKBUNMT1VEEAESBwoDQURTEAISCgoGUEhPVE9TEAMSDwoLU1RSRUVUX1ZJRVcQBBIMCghTSE9QUElORxAFEgcKA0dFTxAGEhEKDUdFTkVSQVRJVkVfQUkQBypnChhDbGllbnRMaWJyYXJ5RGVzdGluYXRpb24SKgomQ0xJRU5UX0xJQlJBUllfREVTVElOQVRJT05fVU5TUEVDSUZJRUQQABIKCgZHSVRIVUIQChITCg9QQUNLQUdFX01BTkFHRVIQFDpKChBtZXRob2Rfc2lnbmF0dXJlEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMYmwggAygJUg9tZXRob2RTaWduYXR1cmU6QwoMZGVmYXVsdF9ob3N0Eh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGJkIIAEoCVILZGVmYXVsdEhvc3Q6QwoMb2F1dGhfc2NvcGVzEh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VPcHRpb25zGJoIIAEoCVILb2F1dGhTY29wZXM6RAoLYXBpX3ZlcnNpb24SHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnMYwbqr+gEgASgJUgphcGlWZXJzaW9uQmkKDmNvbS5nb29nbGUuYXBpQgtDbGllbnRQcm90b1ABWkFnb29nbGUuZ29sYW5nLm9yZy9nZW5wcm90by9nb29nbGVhcGlzL2FwaS9hbm5vdGF0aW9uczthbm5vdGF0aW9uc6ICBEdBUEliBnByb3RvMw", [file_google_api_launch_stage, file_google_protobuf_descriptor, file_google_protobuf_duration]);
5369
5369
 
5370
5370
  // src/genproto/mochabugapis/adapt/plugins/v1/plugins_pb.ts
5371
- var file_mochabugapis_adapt_plugins_v1_plugins = /* @__PURE__ */ fileDesc("Cittb2NoYWJ1Z2FwaXMvYWRhcHQvcGx1Z2lucy92MS9wbHVnaW5zLnByb3RvEh1tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MSKWAQoTVXBsb2FkUGx1Z2luUmVxdWVzdBI7CgVzdGFydBgBIAEoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLlN0YXJ0VXBsb2FkSAASMwoEZmlsZRgCIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLkZpbGVIAEINCgRkYXRhEgW6SAIIASLWBQoLU3RhcnRVcGxvYWQSOQoIbWFuaWZlc3QYASABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5NYW5pZmVzdBI2CgpjZG5fcHJlZml4GAIgASgJQh26SBpyGBACGIAgMhFeW14vXSsoXC9bXi9dKykqJEgAiAEBEjkKDWFzc2V0c19wcmVmaXgYAyABKAlCHbpIGnIYEAIYgCAyEV5bXi9dKyhcL1teL10rKSokSAGIAQESPwoNZXhlY3V0b3JfcGF0aBgEIAEoCUIoukglciMQAhiAIDIcXihbXi9dKygvW14vXSspKilcLihjanN8anMpJBJCCg1leGVjdXRvcl93YXNtGAUgAygJQiu6SCiSASUYASIhch8QAhiAIDIYXihbXi9dKygvW14vXSspKilcLndhc20kEksKEWNvbmZpZ3VyYXRvcl9wYXRoGAYgASgJQiu6SCjYAQFyIxACGIAgMhxeKFteL10rKC9bXi9dKykqKVwuKGNqc3xqcykkSAKIAQESRgoRY29uZmlndXJhdG9yX3dhc20YByADKAlCK7pIKJIBJRgBIiFyHxACGIAgMhheKFteL10rKC9bXi9dKykqKVwud2FzbSQSIQoUY29weV9zeXN0ZW1fc2V0dGluZ3MYCCABKAhIA4gBATqLAbpIhwEahAEKEWNvbmZpZ3VyYXRvci53YXNtEix3YXNtIGNhbm5vdCBleGlzdHMgaWYgbm8gY29uZmlndXJhdG9yIGlzIHNldBpBaGFzKHRoaXMuY29uZmlndXJhdG9yX3BhdGgpIHx8IHRoaXMuY29uZmlndXJhdG9yX3dhc20uc2l6ZSgpID09IDBCDQoLX2Nkbl9wcmVmaXhCEAoOX2Fzc2V0c19wcmVmaXhCFAoSX2NvbmZpZ3VyYXRvcl9wYXRoQhcKFV9jb3B5X3N5c3RlbV9zZXR0aW5ncyIWChRVcGxvYWRQbHVnaW5SZXNwb25zZTKvAgoNUGx1Z2luU2VydmljZRKYAQoMVXBsb2FkUGx1Z2luEjIubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuVXBsb2FkUGx1Z2luUmVxdWVzdBozLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLlVwbG9hZFBsdWdpblJlc3BvbnNlIh2C0+STAhc6ASoiEi92MS9wbHVnaW5zL3VwbG9hZCgBGoIBykEWYWRhcHQubW9jaGFidWdhcGlzLmNvbdJBZmh0dHBzOi8vd3d3Lm1vY2hhYnVnYXBpcy5jb20vYXV0aC9hZGFwdC9wbHVnaW5zLGh0dHBzOi8vd3d3Lm1vY2hhYnVnYXBpcy5jb20vYXV0aC9hZGFwdC9wbHVnaW5zLnVwbG9hZGIGcHJvdG8z", [file_buf_validate_validate, file_google_api_annotations, file_google_api_client, file_mochabugapis_adapt_plugins_v1_file, file_mochabugapis_adapt_plugins_v1_manifest]);
5371
+ var file_mochabugapis_adapt_plugins_v1_plugins = /* @__PURE__ */ fileDesc("Cittb2NoYWJ1Z2FwaXMvYWRhcHQvcGx1Z2lucy92MS9wbHVnaW5zLnByb3RvEh1tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MSKWAQoTVXBsb2FkUGx1Z2luUmVxdWVzdBI7CgVzdGFydBgBIAEoCzIqLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLlN0YXJ0VXBsb2FkSAASMwoEZmlsZRgCIAEoCzIjLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLkZpbGVIAEINCgRkYXRhEgW6SAIIASLTBQoLU3RhcnRVcGxvYWQSOQoIbWFuaWZlc3QYASABKAsyJy5tb2NoYWJ1Z2FwaXMuYWRhcHQucGx1Z2lucy52MS5NYW5pZmVzdBI2CgpjZG5fcHJlZml4GAIgASgJQh26SBpyGBACGIAgMhFeW14vXSsoXC9bXi9dKykqJEgAiAEBEjkKDWFzc2V0c19wcmVmaXgYAyABKAlCHbpIGnIYEAIYgCAyEV5bXi9dKyhcL1teL10rKSokSAGIAQESPwoNZXhlY3V0b3JfcGF0aBgEIAEoCUIoukglciMQAhiAIDIcXihbXi9dKygvW14vXSspKilcLihjanN8anMpJBJCCg1leGVjdXRvcl93YXNtGAUgAygJQiu6SCiSASUYASIhch8QAhiAIDIYXihbXi9dKygvW14vXSspKilcLndhc20kEkgKEWNvbmZpZ3VyYXRvcl9wYXRoGAYgASgJQii6SCVyIxACGIAgMhxeKFteL10rKC9bXi9dKykqKVwuKGNqc3xqcykkSAKIAQESRgoRY29uZmlndXJhdG9yX3dhc20YByADKAlCK7pIKJIBJRgBIiFyHxACGIAgMhheKFteL10rKC9bXi9dKykqKVwud2FzbSQSIQoUY29weV9zeXN0ZW1fc2V0dGluZ3MYCCABKAhIA4gBATqLAbpIhwEahAEKEWNvbmZpZ3VyYXRvci53YXNtEix3YXNtIGNhbm5vdCBleGlzdHMgaWYgbm8gY29uZmlndXJhdG9yIGlzIHNldBpBaGFzKHRoaXMuY29uZmlndXJhdG9yX3BhdGgpIHx8IHRoaXMuY29uZmlndXJhdG9yX3dhc20uc2l6ZSgpID09IDBCDQoLX2Nkbl9wcmVmaXhCEAoOX2Fzc2V0c19wcmVmaXhCFAoSX2NvbmZpZ3VyYXRvcl9wYXRoQhcKFV9jb3B5X3N5c3RlbV9zZXR0aW5ncyIWChRVcGxvYWRQbHVnaW5SZXNwb25zZTKvAgoNUGx1Z2luU2VydmljZRKYAQoMVXBsb2FkUGx1Z2luEjIubW9jaGFidWdhcGlzLmFkYXB0LnBsdWdpbnMudjEuVXBsb2FkUGx1Z2luUmVxdWVzdBozLm1vY2hhYnVnYXBpcy5hZGFwdC5wbHVnaW5zLnYxLlVwbG9hZFBsdWdpblJlc3BvbnNlIh2C0+STAhc6ASoiEi92MS9wbHVnaW5zL3VwbG9hZCgBGoIBykEWYWRhcHQubW9jaGFidWdhcGlzLmNvbdJBZmh0dHBzOi8vd3d3Lm1vY2hhYnVnYXBpcy5jb20vYXV0aC9hZGFwdC9wbHVnaW5zLGh0dHBzOi8vd3d3Lm1vY2hhYnVnYXBpcy5jb20vYXV0aC9hZGFwdC9wbHVnaW5zLnVwbG9hZGIGcHJvdG8z", [file_buf_validate_validate, file_google_api_annotations, file_google_api_client, file_mochabugapis_adapt_plugins_v1_file, file_mochabugapis_adapt_plugins_v1_manifest]);
5372
5372
  var UploadPluginRequestSchema = /* @__PURE__ */ messageDesc(file_mochabugapis_adapt_plugins_v1_plugins, 0);
5373
5373
  var StartUploadSchema = /* @__PURE__ */ messageDesc(file_mochabugapis_adapt_plugins_v1_plugins, 1);
5374
5374
  var PluginService = /* @__PURE__ */ serviceDesc(file_mochabugapis_adapt_plugins_v1_plugins, 0);