@meshtrade/api-node 1.30.0

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 (186) hide show
  1. package/README.md +93 -0
  2. package/dist/buf/validate/validate_pb.d.ts +4597 -0
  3. package/dist/buf/validate/validate_pb.js +354 -0
  4. package/dist/google/type/date_pb.d.ts +52 -0
  5. package/dist/google/type/date_pb.js +26 -0
  6. package/dist/meshtrade/common/config.d.ts +50 -0
  7. package/dist/meshtrade/common/config.js +34 -0
  8. package/dist/meshtrade/common/connectInterceptors.d.ts +137 -0
  9. package/dist/meshtrade/common/connectInterceptors.js +233 -0
  10. package/dist/meshtrade/common/validation.d.ts +62 -0
  11. package/dist/meshtrade/common/validation.js +77 -0
  12. package/dist/meshtrade/compliance/client/v1/client_pb.d.ts +138 -0
  13. package/dist/meshtrade/compliance/client/v1/client_pb.js +23 -0
  14. package/dist/meshtrade/compliance/client/v1/company_pb.d.ts +313 -0
  15. package/dist/meshtrade/compliance/client/v1/company_pb.js +100 -0
  16. package/dist/meshtrade/compliance/client/v1/company_representative_pb.d.ts +81 -0
  17. package/dist/meshtrade/compliance/client/v1/company_representative_pb.js +22 -0
  18. package/dist/meshtrade/compliance/client/v1/company_representative_role_pb.d.ts +88 -0
  19. package/dist/meshtrade/compliance/client/v1/company_representative_role_pb.js +95 -0
  20. package/dist/meshtrade/compliance/client/v1/fund_pb.d.ts +65 -0
  21. package/dist/meshtrade/compliance/client/v1/fund_pb.js +18 -0
  22. package/dist/meshtrade/compliance/client/v1/identification_document_type_pb.d.ts +55 -0
  23. package/dist/meshtrade/compliance/client/v1/identification_document_type_pb.js +62 -0
  24. package/dist/meshtrade/compliance/client/v1/index.d.ts +16 -0
  25. package/dist/meshtrade/compliance/client/v1/index.js +59 -0
  26. package/dist/meshtrade/compliance/client/v1/industry_classification_pb.d.ts +86 -0
  27. package/dist/meshtrade/compliance/client/v1/industry_classification_pb.js +16 -0
  28. package/dist/meshtrade/compliance/client/v1/natural_person_connection_type_pb.d.ts +133 -0
  29. package/dist/meshtrade/compliance/client/v1/natural_person_connection_type_pb.js +140 -0
  30. package/dist/meshtrade/compliance/client/v1/natural_person_pb.d.ts +143 -0
  31. package/dist/meshtrade/compliance/client/v1/natural_person_pb.js +24 -0
  32. package/dist/meshtrade/compliance/client/v1/pep_status_pb.d.ts +46 -0
  33. package/dist/meshtrade/compliance/client/v1/pep_status_pb.js +53 -0
  34. package/dist/meshtrade/compliance/client/v1/service_node_meshts.d.ts +78 -0
  35. package/dist/meshtrade/compliance/client/v1/service_node_meshts.js +141 -0
  36. package/dist/meshtrade/compliance/client/v1/service_pb.d.ts +123 -0
  37. package/dist/meshtrade/compliance/client/v1/service_pb.js +45 -0
  38. package/dist/meshtrade/compliance/client/v1/source_of_income_and_wealth_pb.d.ts +180 -0
  39. package/dist/meshtrade/compliance/client/v1/source_of_income_and_wealth_pb.js +187 -0
  40. package/dist/meshtrade/compliance/client/v1/tax_residency_pb.d.ts +40 -0
  41. package/dist/meshtrade/compliance/client/v1/tax_residency_pb.js +17 -0
  42. package/dist/meshtrade/compliance/client/v1/trust_pb.d.ts +65 -0
  43. package/dist/meshtrade/compliance/client/v1/trust_pb.js +18 -0
  44. package/dist/meshtrade/compliance/client/v1/verification_status_pb.d.ts +57 -0
  45. package/dist/meshtrade/compliance/client/v1/verification_status_pb.js +64 -0
  46. package/dist/meshtrade/iam/api_user/v1/api_credentials_pb.d.ts +43 -0
  47. package/dist/meshtrade/iam/api_user/v1/api_credentials_pb.js +17 -0
  48. package/dist/meshtrade/iam/api_user/v1/api_user_pb.d.ts +152 -0
  49. package/dist/meshtrade/iam/api_user/v1/api_user_pb.js +95 -0
  50. package/dist/meshtrade/iam/api_user/v1/index.d.ts +4 -0
  51. package/dist/meshtrade/iam/api_user/v1/index.js +45 -0
  52. package/dist/meshtrade/iam/api_user/v1/service_node_meshts.d.ts +114 -0
  53. package/dist/meshtrade/iam/api_user/v1/service_node_meshts.js +201 -0
  54. package/dist/meshtrade/iam/api_user/v1/service_pb.d.ts +343 -0
  55. package/dist/meshtrade/iam/api_user/v1/service_pb.js +86 -0
  56. package/dist/meshtrade/iam/group/v1/group_pb.d.ts +58 -0
  57. package/dist/meshtrade/iam/group/v1/group_pb.js +17 -0
  58. package/dist/meshtrade/iam/group/v1/index.d.ts +3 -0
  59. package/dist/meshtrade/iam/group/v1/index.js +44 -0
  60. package/dist/meshtrade/iam/group/v1/service_node_meshts.d.ts +90 -0
  61. package/dist/meshtrade/iam/group/v1/service_node_meshts.js +161 -0
  62. package/dist/meshtrade/iam/group/v1/service_pb.d.ts +306 -0
  63. package/dist/meshtrade/iam/group/v1/service_pb.js +75 -0
  64. package/dist/meshtrade/iam/role/v1/index.d.ts +2 -0
  65. package/dist/meshtrade/iam/role/v1/index.js +43 -0
  66. package/dist/meshtrade/iam/role/v1/role.d.ts +71 -0
  67. package/dist/meshtrade/iam/role/v1/role.js +192 -0
  68. package/dist/meshtrade/iam/role/v1/role_pb.d.ts +164 -0
  69. package/dist/meshtrade/iam/role/v1/role_pb.js +171 -0
  70. package/dist/meshtrade/iam/user/v1/index.d.ts +3 -0
  71. package/dist/meshtrade/iam/user/v1/index.js +44 -0
  72. package/dist/meshtrade/iam/user/v1/service_node_meshts.d.ts +108 -0
  73. package/dist/meshtrade/iam/user/v1/service_node_meshts.js +191 -0
  74. package/dist/meshtrade/iam/user/v1/service_pb.d.ts +379 -0
  75. package/dist/meshtrade/iam/user/v1/service_pb.js +90 -0
  76. package/dist/meshtrade/iam/user/v1/user_pb.d.ts +58 -0
  77. package/dist/meshtrade/iam/user/v1/user_pb.js +17 -0
  78. package/dist/meshtrade/ledger/transaction/v1/index.d.ts +5 -0
  79. package/dist/meshtrade/ledger/transaction/v1/index.js +46 -0
  80. package/dist/meshtrade/ledger/transaction/v1/service_node_meshts.d.ts +80 -0
  81. package/dist/meshtrade/ledger/transaction/v1/service_node_meshts.js +140 -0
  82. package/dist/meshtrade/ledger/transaction/v1/service_pb.d.ts +102 -0
  83. package/dist/meshtrade/ledger/transaction/v1/service_pb.js +41 -0
  84. package/dist/meshtrade/ledger/transaction/v1/transaction_action_pb.d.ts +46 -0
  85. package/dist/meshtrade/ledger/transaction/v1/transaction_action_pb.js +53 -0
  86. package/dist/meshtrade/ledger/transaction/v1/transaction_state.d.ts +14 -0
  87. package/dist/meshtrade/ledger/transaction/v1/transaction_state.js +64 -0
  88. package/dist/meshtrade/ledger/transaction/v1/transaction_state_pb.d.ts +50 -0
  89. package/dist/meshtrade/ledger/transaction/v1/transaction_state_pb.js +57 -0
  90. package/dist/meshtrade/market_data/price/v1/index.d.ts +3 -0
  91. package/dist/meshtrade/market_data/price/v1/index.js +44 -0
  92. package/dist/meshtrade/market_data/price/v1/price_pb.d.ts +50 -0
  93. package/dist/meshtrade/market_data/price/v1/price_pb.js +19 -0
  94. package/dist/meshtrade/market_data/price/v1/service_node_meshts.d.ts +66 -0
  95. package/dist/meshtrade/market_data/price/v1/service_node_meshts.js +121 -0
  96. package/dist/meshtrade/market_data/price/v1/service_pb.d.ts +48 -0
  97. package/dist/meshtrade/market_data/price/v1/service_pb.js +27 -0
  98. package/dist/meshtrade/option/method_options/v1/index.d.ts +1 -0
  99. package/dist/meshtrade/option/method_options/v1/index.js +42 -0
  100. package/dist/meshtrade/option/method_options/v1/method_options_pb.d.ts +132 -0
  101. package/dist/meshtrade/option/method_options/v1/method_options_pb.js +108 -0
  102. package/dist/meshtrade/reporting/account_report/v1/account_report_pb.d.ts +136 -0
  103. package/dist/meshtrade/reporting/account_report/v1/account_report_pb.js +28 -0
  104. package/dist/meshtrade/reporting/account_report/v1/disclaimer_pb.d.ts +39 -0
  105. package/dist/meshtrade/reporting/account_report/v1/disclaimer_pb.js +16 -0
  106. package/dist/meshtrade/reporting/account_report/v1/fee_entry_pb.d.ts +66 -0
  107. package/dist/meshtrade/reporting/account_report/v1/fee_entry_pb.js +18 -0
  108. package/dist/meshtrade/reporting/account_report/v1/income_entry_pb.d.ts +139 -0
  109. package/dist/meshtrade/reporting/account_report/v1/income_entry_pb.js +80 -0
  110. package/dist/meshtrade/reporting/account_report/v1/index.d.ts +7 -0
  111. package/dist/meshtrade/reporting/account_report/v1/index.js +48 -0
  112. package/dist/meshtrade/reporting/account_report/v1/service_node_meshts.d.ts +72 -0
  113. package/dist/meshtrade/reporting/account_report/v1/service_node_meshts.js +131 -0
  114. package/dist/meshtrade/reporting/account_report/v1/service_pb.d.ts +162 -0
  115. package/dist/meshtrade/reporting/account_report/v1/service_pb.js +46 -0
  116. package/dist/meshtrade/reporting/account_report/v1/trading_statement_entry_pb.d.ts +80 -0
  117. package/dist/meshtrade/reporting/account_report/v1/trading_statement_entry_pb.js +18 -0
  118. package/dist/meshtrade/studio/instrument/v1/index.d.ts +3 -0
  119. package/dist/meshtrade/studio/instrument/v1/index.js +44 -0
  120. package/dist/meshtrade/studio/instrument/v1/instrument_pb.d.ts +53 -0
  121. package/dist/meshtrade/studio/instrument/v1/instrument_pb.js +18 -0
  122. package/dist/meshtrade/studio/instrument/v1/instrument_type_pb.d.ts +214 -0
  123. package/dist/meshtrade/studio/instrument/v1/instrument_type_pb.js +221 -0
  124. package/dist/meshtrade/studio/instrument/v1/unit_pb.d.ts +148 -0
  125. package/dist/meshtrade/studio/instrument/v1/unit_pb.js +155 -0
  126. package/dist/meshtrade/trading/limit_order/v1/index.d.ts +3 -0
  127. package/dist/meshtrade/trading/limit_order/v1/index.js +44 -0
  128. package/dist/meshtrade/trading/limit_order/v1/limit_order_pb.d.ts +211 -0
  129. package/dist/meshtrade/trading/limit_order/v1/limit_order_pb.js +111 -0
  130. package/dist/meshtrade/trading/limit_order/v1/service_node_meshts.d.ts +111 -0
  131. package/dist/meshtrade/trading/limit_order/v1/service_node_meshts.js +190 -0
  132. package/dist/meshtrade/trading/limit_order/v1/service_pb.d.ts +357 -0
  133. package/dist/meshtrade/trading/limit_order/v1/service_pb.js +73 -0
  134. package/dist/meshtrade/trading/market_order/v1/index.d.ts +3 -0
  135. package/dist/meshtrade/trading/market_order/v1/index.js +44 -0
  136. package/dist/meshtrade/trading/market_order/v1/market_order_pb.d.ts +20 -0
  137. package/dist/meshtrade/trading/market_order/v1/market_order_pb.js +16 -0
  138. package/dist/meshtrade/trading/market_order/v1/service_node_meshts.d.ts +66 -0
  139. package/dist/meshtrade/trading/market_order/v1/service_node_meshts.js +121 -0
  140. package/dist/meshtrade/trading/market_order/v1/service_pb.d.ts +34 -0
  141. package/dist/meshtrade/trading/market_order/v1/service_pb.js +22 -0
  142. package/dist/meshtrade/type/v1/address_pb.d.ts +82 -0
  143. package/dist/meshtrade/type/v1/address_pb.js +16 -0
  144. package/dist/meshtrade/type/v1/amount.d.ts +13 -0
  145. package/dist/meshtrade/type/v1/amount.js +68 -0
  146. package/dist/meshtrade/type/v1/amountWrapper.d.ts +74 -0
  147. package/dist/meshtrade/type/v1/amountWrapper.js +98 -0
  148. package/dist/meshtrade/type/v1/amount_pb.d.ts +44 -0
  149. package/dist/meshtrade/type/v1/amount_pb.js +18 -0
  150. package/dist/meshtrade/type/v1/contact_details_pb.d.ts +98 -0
  151. package/dist/meshtrade/type/v1/contact_details_pb.js +16 -0
  152. package/dist/meshtrade/type/v1/date.d.ts +49 -0
  153. package/dist/meshtrade/type/v1/date.js +136 -0
  154. package/dist/meshtrade/type/v1/date_pb.d.ts +50 -0
  155. package/dist/meshtrade/type/v1/date_pb.js +16 -0
  156. package/dist/meshtrade/type/v1/decimalConversions.d.ts +24 -0
  157. package/dist/meshtrade/type/v1/decimalConversions.js +39 -0
  158. package/dist/meshtrade/type/v1/decimal_pb.d.ts +24 -0
  159. package/dist/meshtrade/type/v1/decimal_pb.js +16 -0
  160. package/dist/meshtrade/type/v1/index.d.ts +15 -0
  161. package/dist/meshtrade/type/v1/index.js +56 -0
  162. package/dist/meshtrade/type/v1/ledger.d.ts +27 -0
  163. package/dist/meshtrade/type/v1/ledger.js +115 -0
  164. package/dist/meshtrade/type/v1/ledger_pb.d.ts +83 -0
  165. package/dist/meshtrade/type/v1/ledger_pb.js +90 -0
  166. package/dist/meshtrade/type/v1/sorting_pb.d.ts +35 -0
  167. package/dist/meshtrade/type/v1/sorting_pb.js +42 -0
  168. package/dist/meshtrade/type/v1/time_of_day.d.ts +74 -0
  169. package/dist/meshtrade/type/v1/time_of_day.js +199 -0
  170. package/dist/meshtrade/type/v1/time_of_day_pb.d.ts +67 -0
  171. package/dist/meshtrade/type/v1/time_of_day_pb.js +16 -0
  172. package/dist/meshtrade/type/v1/token.d.ts +4 -0
  173. package/dist/meshtrade/type/v1/token.js +23 -0
  174. package/dist/meshtrade/type/v1/tokenWrapper.d.ts +49 -0
  175. package/dist/meshtrade/type/v1/tokenWrapper.js +92 -0
  176. package/dist/meshtrade/type/v1/token_pb.d.ts +56 -0
  177. package/dist/meshtrade/type/v1/token_pb.js +17 -0
  178. package/dist/meshtrade/wallet/account/v1/account_pb.d.ts +264 -0
  179. package/dist/meshtrade/wallet/account/v1/account_pb.js +74 -0
  180. package/dist/meshtrade/wallet/account/v1/index.d.ts +3 -0
  181. package/dist/meshtrade/wallet/account/v1/index.js +44 -0
  182. package/dist/meshtrade/wallet/account/v1/service_node_meshts.d.ts +114 -0
  183. package/dist/meshtrade/wallet/account/v1/service_node_meshts.js +201 -0
  184. package/dist/meshtrade/wallet/account/v1/service_pb.d.ts +559 -0
  185. package/dist/meshtrade/wallet/account/v1/service_pb.js +112 -0
  186. package/package.json +171 -0
@@ -0,0 +1,58 @@
1
+ import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
2
+ import type { Message } from "@bufbuild/protobuf";
3
+ /**
4
+ * Describes the file meshtrade/iam/group/v1/group.proto.
5
+ */
6
+ export declare const file_meshtrade_iam_group_v1_group: GenFile;
7
+ /**
8
+ *
9
+ * Organizational group resource representing a multi-tenancy boundary.
10
+ *
11
+ * Groups form hierarchical ownership structures within Mesh, enabling resource
12
+ * isolation, permission inheritance, and organizational modeling. Each group
13
+ * can own sub-groups, users, API users, accounts, and trading resources,
14
+ * providing a complete tenant separation model.
15
+ *
16
+ * @generated from message meshtrade.iam.group.v1.Group
17
+ */
18
+ export type Group = Message<"meshtrade.iam.group.v1.Group"> & {
19
+ /**
20
+ *
21
+ * The unique resource name for the group.
22
+ * Format: groups/{ULIDv2}.
23
+ * This field is system-generated and immutable upon creation.
24
+ * Any value provided on creation is ignored.
25
+ *
26
+ * @generated from field: string name = 1;
27
+ */
28
+ name: string;
29
+ /**
30
+ *
31
+ * The resource name of the parent group that owns this group.
32
+ * This field is required on creation and establishes the direct ownership link.
33
+ * Format: groups/{ULIDv2}.
34
+ *
35
+ * @generated from field: string owner = 2;
36
+ */
37
+ owner: string;
38
+ /**
39
+ *
40
+ * Human-readable name for organizational identification and display.
41
+ * User-configurable and non-unique across the system.
42
+ *
43
+ * @generated from field: string display_name = 4;
44
+ */
45
+ displayName: string;
46
+ /**
47
+ *
48
+ * Optional contextual information describing the group's organizational purpose.
49
+ *
50
+ * @generated from field: string description = 5;
51
+ */
52
+ description: string;
53
+ };
54
+ /**
55
+ * Describes the message meshtrade.iam.group.v1.Group.
56
+ * Use `create(GroupSchema)` to create a new message.
57
+ */
58
+ export declare const GroupSchema: GenMessage<Group>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ // @generated by protoc-gen-es v2.10.1 with parameter "target=ts"
3
+ // @generated from file meshtrade/iam/group/v1/group.proto (package meshtrade.iam.group.v1, syntax proto3)
4
+ /* eslint-disable */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.GroupSchema = exports.file_meshtrade_iam_group_v1_group = void 0;
7
+ const codegenv2_1 = require("@bufbuild/protobuf/codegenv2");
8
+ const validate_pb_1 = require("../../../../buf/validate/validate_pb");
9
+ /**
10
+ * Describes the file meshtrade/iam/group/v1/group.proto.
11
+ */
12
+ exports.file_meshtrade_iam_group_v1_group = (0, codegenv2_1.fileDesc)("CiJtZXNodHJhZGUvaWFtL2dyb3VwL3YxL2dyb3VwLnByb3RvEhZtZXNodHJhZGUuaWFtLmdyb3VwLnYxItECCgVHcm91cBK2AQoEbmFtZRgBIAEoCUKnAbpIowG6AZ8BChRuYW1lLmZvcm1hdC5vcHRpb25hbBIzbmFtZSBtdXN0IGJlIGVtcHR5IG9yIGluIHRoZSBmb3JtYXQgZ3JvdXBzL3tVTElEdjJ9GlJzaXplKHRoaXMpID09IDAgfHwgdGhpcy5tYXRjaGVzKCdeZ3JvdXBzL1swMTIzNDU2Nzg5QUJDREVGR0hKS01OUFFSU1RWV1hZWl17MjZ9JCcpEksKBW93bmVyGAIgASgJQjy6SDnIAQFyNDIvXmdyb3Vwcy9bMDEyMzQ1Njc4OUFCQ0RFRkdISktNTlBRUlNUVldYWVpdezI2fSSYASESIwoMZGlzcGxheV9uYW1lGAQgASgJQg26SArIAQFyBRABGP8BEh0KC2Rlc2NyaXB0aW9uGAUgASgJQgi6SAVyAxjoB0JSCh1jby5tZXNodHJhZGUuYXBpLmlhbS5ncm91cC52MVoxZ2l0aHViLmNvbS9tZXNodHJhZGUvYXBpL2dvL2lhbS9ncm91cC92MTtncm91cF92MWIGcHJvdG8z", [validate_pb_1.file_buf_validate_validate]);
13
+ /**
14
+ * Describes the message meshtrade.iam.group.v1.Group.
15
+ * Use `create(GroupSchema)` to create a new message.
16
+ */
17
+ exports.GroupSchema = (0, codegenv2_1.messageDesc)(exports.file_meshtrade_iam_group_v1_group, 0);
@@ -0,0 +1,3 @@
1
+ export * from "./group_pb";
2
+ export * from "./service_node_meshts";
3
+ export * from "./service_pb";
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ // ===================================================================
3
+ // AUTO-GENERATED SECTION - ONLY EDIT BELOW THE CLOSING COMMENT BLOCK
4
+ // ===================================================================
5
+ // This section is automatically managed by protoc-gen-meshts.
6
+ //
7
+ // DO NOT EDIT ANYTHING IN THIS SECTION MANUALLY!
8
+ // Your changes will be overwritten during code generation.
9
+ //
10
+ // To add custom exports, scroll down to the
11
+ // "MANUAL EXPORTS" section indicated below.
12
+ // ===================================================================
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
25
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ // Generated exports
29
+ __exportStar(require("./group_pb"), exports);
30
+ __exportStar(require("./service_node_meshts"), exports);
31
+ __exportStar(require("./service_pb"), exports);
32
+ // ===================================================================
33
+ // END OF AUTO-GENERATED SECTION
34
+ // ===================================================================
35
+ //
36
+ // MANUAL EXPORTS - ADD YOUR CUSTOM EXPORTS BELOW
37
+ //
38
+ // You can safely add your own export statements in this section.
39
+ // They will be preserved across code generation.
40
+ //
41
+ // Example:
42
+ // export * from "./my_custom_module";
43
+ // export { MyCustomClass } from "./another_module";
44
+ // ===================================================================
@@ -0,0 +1,90 @@
1
+ import { Interceptor } from "@connectrpc/connect";
2
+ import { CreateGroupRequest, GetGroupRequest, ListGroupsRequest, ListGroupsResponse, SearchGroupsRequest, SearchGroupsResponse, UpdateGroupRequest } from "./service_pb";
3
+ import { Group } from "./group_pb";
4
+ import { ConfigOpts } from "../../../common/config";
5
+ /**
6
+ * Node.js client for interacting with the meshtrade.iam.group.v1 group v1 API resource service.
7
+ * Uses Connect-ES with gRPC transport for Node.js gRPC communication.
8
+ *
9
+ * Supports three authentication modes:
10
+ *
11
+ * 1. **No Authentication** (public APIs):
12
+ * ```typescript
13
+ * const client = new GroupServiceNode({ apiServerURL: "http://localhost:10000" });
14
+ * ```
15
+ *
16
+ * 2. **API Key Authentication** (backend services):
17
+ * ```typescript
18
+ * const client = new GroupServiceNode({
19
+ * apiServerURL: "https://api.example.com",
20
+ * apiKey: "your-api-key",
21
+ * group: "groups/01ARZ3NDEKTSV4YWVF8F5BH32"
22
+ * });
23
+ * ```
24
+ *
25
+ * 3. **JWT Token Authentication** (Next.js backend with user session):
26
+ * ```typescript
27
+ * const client = new GroupServiceNode({
28
+ * apiServerURL: "https://api.example.com",
29
+ * jwtToken: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
30
+ * });
31
+ * ```
32
+ */
33
+ export declare class GroupServiceNode {
34
+ private _client;
35
+ private readonly _config;
36
+ private readonly _interceptors;
37
+ /**
38
+ * Constructs an instance of GroupServiceNode.
39
+ * @param {ConfigOpts} [config] - Optional configuration for the client.
40
+ * @param {Interceptor[]} [interceptors] - For internal use by `withGroup`.
41
+ */
42
+ constructor(config?: ConfigOpts, interceptors?: Interceptor[]);
43
+ /**
44
+ * Returns a new client instance configured to send the specified group
45
+ * resource name in the request headers for subsequent API calls.
46
+ *
47
+ * **Important**: This method only works with API key authentication.
48
+ * - For **API key auth**: Creates a new client with updated group context
49
+ * - For **JWT auth**: Throws error (group comes from JWT token claims)
50
+ * - For **no auth**: Throws error (group requires authentication)
51
+ *
52
+ * @param {string} group - The operating group context to inject into the request
53
+ * in the format `groups/{ulid}` where {ulid} is a 26-character ULID.
54
+ * Example: 'groups/01ARZ3NDEKTSV4YWVF8F5BH32'
55
+ * @returns {GroupServiceNode} A new, configured instance of the client.
56
+ * @throws {Error} If used with JWT authentication or no authentication
57
+ * @throws {Error} If the group format is invalid
58
+ */
59
+ withGroup(group: string): GroupServiceNode;
60
+ /**
61
+ * Creates a new group.
62
+ * @param {CreateGroupRequest} request - The request object for creategroup.
63
+ * @returns {Promise<Group>} A promise that resolves with the group.
64
+ */
65
+ createGroup(request: CreateGroupRequest): Promise<Group>;
66
+ /**
67
+ * Updates an existing group.
68
+ * @param {UpdateGroupRequest} request - The request object for updategroup.
69
+ * @returns {Promise<Group>} A promise that resolves with the group.
70
+ */
71
+ updateGroup(request: UpdateGroupRequest): Promise<Group>;
72
+ /**
73
+ * Retrieves a list of groups.
74
+ * @param {ListGroupsRequest} request - The request object for listgroups.
75
+ * @returns {Promise<ListGroupsResponse>} A promise that resolves with the list of groups.
76
+ */
77
+ listGroups(request: ListGroupsRequest): Promise<ListGroupsResponse>;
78
+ /**
79
+ * Searches for groups.
80
+ * @param {SearchGroupsRequest} request - The request object for searchgroups.
81
+ * @returns {Promise<SearchGroupsResponse>} A promise that resolves with the search results.
82
+ */
83
+ searchGroups(request: SearchGroupsRequest): Promise<SearchGroupsResponse>;
84
+ /**
85
+ * Retrieves a group.
86
+ * @param {GetGroupRequest} request - The request object for getgroup.
87
+ * @returns {Promise<Group>} A promise that resolves with the group.
88
+ */
89
+ getGroup(request: GetGroupRequest): Promise<Group>;
90
+ }
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ // @generated by protoc-gen-meshts v1
3
+ // @generated from file meshtrade/iam/group/v1/service.proto (package meshtrade.iam.group.v1, syntax proto3)
4
+ /* eslint-disable */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.GroupServiceNode = void 0;
7
+ const connect_1 = require("@connectrpc/connect");
8
+ const connect_node_1 = require("@connectrpc/connect-node");
9
+ const service_pb_1 = require("./service_pb");
10
+ const config_1 = require("../../../common/config");
11
+ const validation_1 = require("../../../common/validation");
12
+ const connectInterceptors_1 = require("../../../common/connectInterceptors");
13
+ /**
14
+ * Node.js client for interacting with the meshtrade.iam.group.v1 group v1 API resource service.
15
+ * Uses Connect-ES with gRPC transport for Node.js gRPC communication.
16
+ *
17
+ * Supports three authentication modes:
18
+ *
19
+ * 1. **No Authentication** (public APIs):
20
+ * ```typescript
21
+ * const client = new GroupServiceNode({ apiServerURL: "http://localhost:10000" });
22
+ * ```
23
+ *
24
+ * 2. **API Key Authentication** (backend services):
25
+ * ```typescript
26
+ * const client = new GroupServiceNode({
27
+ * apiServerURL: "https://api.example.com",
28
+ * apiKey: "your-api-key",
29
+ * group: "groups/01ARZ3NDEKTSV4YWVF8F5BH32"
30
+ * });
31
+ * ```
32
+ *
33
+ * 3. **JWT Token Authentication** (Next.js backend with user session):
34
+ * ```typescript
35
+ * const client = new GroupServiceNode({
36
+ * apiServerURL: "https://api.example.com",
37
+ * jwtToken: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
38
+ * });
39
+ * ```
40
+ */
41
+ class GroupServiceNode {
42
+ /**
43
+ * Constructs an instance of GroupServiceNode.
44
+ * @param {ConfigOpts} [config] - Optional configuration for the client.
45
+ * @param {Interceptor[]} [interceptors] - For internal use by `withGroup`.
46
+ */
47
+ constructor(config, interceptors) {
48
+ this._config = (0, config_1.getConfigFromOpts)(config);
49
+ // If interceptors are provided (from withGroup), use them
50
+ // Otherwise, create auth interceptors based on config
51
+ if (interceptors) {
52
+ this._interceptors = interceptors;
53
+ }
54
+ else {
55
+ this._interceptors = [];
56
+ // Add authentication interceptor based on configuration
57
+ if (this._config.apiKey && this._config.group) {
58
+ // API Key authentication mode
59
+ this._interceptors.push((0, connectInterceptors_1.createApiKeyInterceptor)(this._config.apiKey, this._config.group));
60
+ }
61
+ else if (this._config.jwtToken) {
62
+ // JWT authentication mode
63
+ this._interceptors.push((0, connectInterceptors_1.createJwtInterceptor)(this._config.jwtToken));
64
+ }
65
+ // If neither is configured, no authentication (public API mode)
66
+ }
67
+ // Create the gRPC transport for Node.js with interceptors
68
+ // Note: gRPC transport uses HTTP/2 by default
69
+ const transport = (0, connect_node_1.createGrpcTransport)({
70
+ baseUrl: this._config.apiServerURL,
71
+ interceptors: this._interceptors,
72
+ });
73
+ // Construct the Connect-ES client
74
+ this._client = (0, connect_1.createClient)(service_pb_1.GroupService, transport);
75
+ }
76
+ /**
77
+ * Returns a new client instance configured to send the specified group
78
+ * resource name in the request headers for subsequent API calls.
79
+ *
80
+ * **Important**: This method only works with API key authentication.
81
+ * - For **API key auth**: Creates a new client with updated group context
82
+ * - For **JWT auth**: Throws error (group comes from JWT token claims)
83
+ * - For **no auth**: Throws error (group requires authentication)
84
+ *
85
+ * @param {string} group - The operating group context to inject into the request
86
+ * in the format `groups/{ulid}` where {ulid} is a 26-character ULID.
87
+ * Example: 'groups/01ARZ3NDEKTSV4YWVF8F5BH32'
88
+ * @returns {GroupServiceNode} A new, configured instance of the client.
89
+ * @throws {Error} If used with JWT authentication or no authentication
90
+ * @throws {Error} If the group format is invalid
91
+ */
92
+ withGroup(group) {
93
+ // Check authentication mode
94
+ if (this._config.jwtToken) {
95
+ throw new Error("Cannot use withGroup() with JWT authentication. " +
96
+ "The group context is determined by the JWT token claims.");
97
+ }
98
+ if (!this._config.apiKey) {
99
+ throw new Error("Cannot use withGroup() without authentication. " +
100
+ "Please configure API key authentication to use group context.");
101
+ }
102
+ // For API key authentication, create new client with updated group
103
+ // Replace the existing API key interceptor with one that has the new group
104
+ const newInterceptors = [
105
+ (0, connectInterceptors_1.createApiKeyInterceptor)(this._config.apiKey, group)
106
+ ];
107
+ // Return a new client instance with updated group context
108
+ return new GroupServiceNode(this._config, newInterceptors);
109
+ }
110
+ /**
111
+ * Creates a new group.
112
+ * @param {CreateGroupRequest} request - The request object for creategroup.
113
+ * @returns {Promise<Group>} A promise that resolves with the group.
114
+ */
115
+ createGroup(request) {
116
+ // Validate request
117
+ (0, validation_1.validateRequest)(request);
118
+ return this._client.createGroup(request);
119
+ }
120
+ /**
121
+ * Updates an existing group.
122
+ * @param {UpdateGroupRequest} request - The request object for updategroup.
123
+ * @returns {Promise<Group>} A promise that resolves with the group.
124
+ */
125
+ updateGroup(request) {
126
+ // Validate request
127
+ (0, validation_1.validateRequest)(request);
128
+ return this._client.updateGroup(request);
129
+ }
130
+ /**
131
+ * Retrieves a list of groups.
132
+ * @param {ListGroupsRequest} request - The request object for listgroups.
133
+ * @returns {Promise<ListGroupsResponse>} A promise that resolves with the list of groups.
134
+ */
135
+ listGroups(request) {
136
+ // Validate request
137
+ (0, validation_1.validateRequest)(request);
138
+ return this._client.listGroups(request);
139
+ }
140
+ /**
141
+ * Searches for groups.
142
+ * @param {SearchGroupsRequest} request - The request object for searchgroups.
143
+ * @returns {Promise<SearchGroupsResponse>} A promise that resolves with the search results.
144
+ */
145
+ searchGroups(request) {
146
+ // Validate request
147
+ (0, validation_1.validateRequest)(request);
148
+ return this._client.searchGroups(request);
149
+ }
150
+ /**
151
+ * Retrieves a group.
152
+ * @param {GetGroupRequest} request - The request object for getgroup.
153
+ * @returns {Promise<Group>} A promise that resolves with the group.
154
+ */
155
+ getGroup(request) {
156
+ // Validate request
157
+ (0, validation_1.validateRequest)(request);
158
+ return this._client.getGroup(request);
159
+ }
160
+ }
161
+ exports.GroupServiceNode = GroupServiceNode;
@@ -0,0 +1,306 @@
1
+ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
+ import type { Group, GroupSchema } from "./group_pb";
3
+ import type { SortingOrder } from "../../../type/v1/sorting_pb";
4
+ import type { Message } from "@bufbuild/protobuf";
5
+ /**
6
+ * Describes the file meshtrade/iam/group/v1/service.proto.
7
+ */
8
+ export declare const file_meshtrade_iam_group_v1_service: GenFile;
9
+ /**
10
+ *
11
+ * Request to create a new group.
12
+ *
13
+ * @generated from message meshtrade.iam.group.v1.CreateGroupRequest
14
+ */
15
+ export type CreateGroupRequest = Message<"meshtrade.iam.group.v1.CreateGroupRequest"> & {
16
+ /**
17
+ *
18
+ * The group configuration for creation.
19
+ * The name field will be ignored and assigned by the system.
20
+ *
21
+ * @generated from field: meshtrade.iam.group.v1.Group group = 1;
22
+ */
23
+ group?: Group;
24
+ };
25
+ /**
26
+ * Describes the message meshtrade.iam.group.v1.CreateGroupRequest.
27
+ * Use `create(CreateGroupRequestSchema)` to create a new message.
28
+ */
29
+ export declare const CreateGroupRequestSchema: GenMessage<CreateGroupRequest>;
30
+ /**
31
+ *
32
+ * Request to update an existing group.
33
+ *
34
+ * @generated from message meshtrade.iam.group.v1.UpdateGroupRequest
35
+ */
36
+ export type UpdateGroupRequest = Message<"meshtrade.iam.group.v1.UpdateGroupRequest"> & {
37
+ /**
38
+ *
39
+ * Complete group resource with updated fields.
40
+ * Only display_name and description can be modified.
41
+ *
42
+ * @generated from field: meshtrade.iam.group.v1.Group group = 1;
43
+ */
44
+ group?: Group;
45
+ };
46
+ /**
47
+ * Describes the message meshtrade.iam.group.v1.UpdateGroupRequest.
48
+ * Use `create(UpdateGroupRequestSchema)` to create a new message.
49
+ */
50
+ export declare const UpdateGroupRequestSchema: GenMessage<UpdateGroupRequest>;
51
+ /**
52
+ *
53
+ * Request to list all groups in the hierarchy.
54
+ *
55
+ * @generated from message meshtrade.iam.group.v1.ListGroupsRequest
56
+ */
57
+ export type ListGroupsRequest = Message<"meshtrade.iam.group.v1.ListGroupsRequest"> & {
58
+ /**
59
+ *
60
+ * Optional sorting configuration.
61
+ *
62
+ * @generated from field: meshtrade.iam.group.v1.ListGroupsRequest.Sorting sorting = 1;
63
+ */
64
+ sorting?: ListGroupsRequest_Sorting;
65
+ };
66
+ /**
67
+ * Describes the message meshtrade.iam.group.v1.ListGroupsRequest.
68
+ * Use `create(ListGroupsRequestSchema)` to create a new message.
69
+ */
70
+ export declare const ListGroupsRequestSchema: GenMessage<ListGroupsRequest>;
71
+ /**
72
+ *
73
+ * Sorting configuration for organizing results.
74
+ *
75
+ * @generated from message meshtrade.iam.group.v1.ListGroupsRequest.Sorting
76
+ */
77
+ export type ListGroupsRequest_Sorting = Message<"meshtrade.iam.group.v1.ListGroupsRequest.Sorting"> & {
78
+ /**
79
+ *
80
+ * Field to sort by (e.g., "name", "display_name").
81
+ *
82
+ * @generated from field: string field = 1;
83
+ */
84
+ field: string;
85
+ /**
86
+ *
87
+ * Sort order for results.
88
+ *
89
+ * @generated from field: meshtrade.type.v1.SortingOrder order = 2;
90
+ */
91
+ order: SortingOrder;
92
+ };
93
+ /**
94
+ * Describes the message meshtrade.iam.group.v1.ListGroupsRequest.Sorting.
95
+ * Use `create(ListGroupsRequest_SortingSchema)` to create a new message.
96
+ */
97
+ export declare const ListGroupsRequest_SortingSchema: GenMessage<ListGroupsRequest_Sorting>;
98
+ /**
99
+ *
100
+ * Response containing a list of groups.
101
+ *
102
+ * @generated from message meshtrade.iam.group.v1.ListGroupsResponse
103
+ */
104
+ export type ListGroupsResponse = Message<"meshtrade.iam.group.v1.ListGroupsResponse"> & {
105
+ /**
106
+ *
107
+ * Collection of groups in the hierarchy.
108
+ *
109
+ * @generated from field: repeated meshtrade.iam.group.v1.Group groups = 1;
110
+ */
111
+ groups: Group[];
112
+ };
113
+ /**
114
+ * Describes the message meshtrade.iam.group.v1.ListGroupsResponse.
115
+ * Use `create(ListGroupsResponseSchema)` to create a new message.
116
+ */
117
+ export declare const ListGroupsResponseSchema: GenMessage<ListGroupsResponse>;
118
+ /**
119
+ *
120
+ * Request to search groups with filtering criteria.
121
+ *
122
+ * @generated from message meshtrade.iam.group.v1.SearchGroupsRequest
123
+ */
124
+ export type SearchGroupsRequest = Message<"meshtrade.iam.group.v1.SearchGroupsRequest"> & {
125
+ /**
126
+ *
127
+ * Optional substring to search for in group display names.
128
+ * Case-insensitive partial matching.
129
+ *
130
+ * @generated from field: string display_name = 1;
131
+ */
132
+ displayName: string;
133
+ /**
134
+ *
135
+ * Optional substring to search for in group descriptions.
136
+ * Case-insensitive partial matching.
137
+ *
138
+ * @generated from field: string description = 2;
139
+ */
140
+ description: string;
141
+ /**
142
+ *
143
+ * Optional sorting configuration.
144
+ *
145
+ * @generated from field: meshtrade.iam.group.v1.SearchGroupsRequest.Sorting sorting = 3;
146
+ */
147
+ sorting?: SearchGroupsRequest_Sorting;
148
+ };
149
+ /**
150
+ * Describes the message meshtrade.iam.group.v1.SearchGroupsRequest.
151
+ * Use `create(SearchGroupsRequestSchema)` to create a new message.
152
+ */
153
+ export declare const SearchGroupsRequestSchema: GenMessage<SearchGroupsRequest>;
154
+ /**
155
+ *
156
+ * Sorting configuration for organizing results.
157
+ *
158
+ * @generated from message meshtrade.iam.group.v1.SearchGroupsRequest.Sorting
159
+ */
160
+ export type SearchGroupsRequest_Sorting = Message<"meshtrade.iam.group.v1.SearchGroupsRequest.Sorting"> & {
161
+ /**
162
+ *
163
+ * Field to sort by ("name" or "display_name").
164
+ *
165
+ * @generated from field: string field = 1;
166
+ */
167
+ field: string;
168
+ /**
169
+ *
170
+ * Sort order for results.
171
+ *
172
+ * @generated from field: meshtrade.type.v1.SortingOrder order = 2;
173
+ */
174
+ order: SortingOrder;
175
+ };
176
+ /**
177
+ * Describes the message meshtrade.iam.group.v1.SearchGroupsRequest.Sorting.
178
+ * Use `create(SearchGroupsRequest_SortingSchema)` to create a new message.
179
+ */
180
+ export declare const SearchGroupsRequest_SortingSchema: GenMessage<SearchGroupsRequest_Sorting>;
181
+ /**
182
+ *
183
+ * Response containing search results.
184
+ *
185
+ * @generated from message meshtrade.iam.group.v1.SearchGroupsResponse
186
+ */
187
+ export type SearchGroupsResponse = Message<"meshtrade.iam.group.v1.SearchGroupsResponse"> & {
188
+ /**
189
+ *
190
+ * Collection of groups matching the search criteria.
191
+ *
192
+ * @generated from field: repeated meshtrade.iam.group.v1.Group groups = 1;
193
+ */
194
+ groups: Group[];
195
+ };
196
+ /**
197
+ * Describes the message meshtrade.iam.group.v1.SearchGroupsResponse.
198
+ * Use `create(SearchGroupsResponseSchema)` to create a new message.
199
+ */
200
+ export declare const SearchGroupsResponseSchema: GenMessage<SearchGroupsResponse>;
201
+ /**
202
+ *
203
+ * Request to retrieve a specific group.
204
+ *
205
+ * @generated from message meshtrade.iam.group.v1.GetGroupRequest
206
+ */
207
+ export type GetGroupRequest = Message<"meshtrade.iam.group.v1.GetGroupRequest"> & {
208
+ /**
209
+ *
210
+ * The resource name of the group to retrieve in format groups/{group_id}.
211
+ *
212
+ * @generated from field: string name = 1;
213
+ */
214
+ name: string;
215
+ };
216
+ /**
217
+ * Describes the message meshtrade.iam.group.v1.GetGroupRequest.
218
+ * Use `create(GetGroupRequestSchema)` to create a new message.
219
+ */
220
+ export declare const GetGroupRequestSchema: GenMessage<GetGroupRequest>;
221
+ /**
222
+ *
223
+ * GroupService manages organizational group hierarchy and lifecycle operations.
224
+ *
225
+ * Groups are the fundamental multi-tenancy units in Mesh that own resources,
226
+ * define permission boundaries, and enable hierarchical access control.
227
+ * Each group can own sub-groups, users, API users, and platform resources,
228
+ * forming tree structures for inherited permissions and resource isolation.
229
+ *
230
+ * All operations are scoped to the authenticated group's hierarchy and
231
+ * require appropriate IAM domain permissions.
232
+ *
233
+ * @generated from service meshtrade.iam.group.v1.GroupService
234
+ */
235
+ export declare const GroupService: GenService<{
236
+ /**
237
+ *
238
+ * Creates a new child group within the authenticated group's hierarchy.
239
+ *
240
+ * The new group inherits access from its parent and becomes part of the
241
+ * organizational structure. Group ownership must match the executing context.
242
+ *
243
+ * @generated from rpc meshtrade.iam.group.v1.GroupService.CreateGroup
244
+ */
245
+ createGroup: {
246
+ methodKind: "unary";
247
+ input: typeof CreateGroupRequestSchema;
248
+ output: typeof GroupSchema;
249
+ };
250
+ /**
251
+ *
252
+ * Updates an existing group's display name and description metadata.
253
+ *
254
+ * Only mutable fields can be modified while preserving the group's
255
+ * identity and ownership within the hierarchy.
256
+ *
257
+ * @generated from rpc meshtrade.iam.group.v1.GroupService.UpdateGroup
258
+ */
259
+ updateGroup: {
260
+ methodKind: "unary";
261
+ input: typeof UpdateGroupRequestSchema;
262
+ output: typeof GroupSchema;
263
+ };
264
+ /**
265
+ *
266
+ * Retrieves all groups within the authenticated group's hierarchical scope.
267
+ *
268
+ * Returns the complete organizational structure accessible to the executing
269
+ * context, including the root group and all descendant groups.
270
+ *
271
+ * @generated from rpc meshtrade.iam.group.v1.GroupService.ListGroups
272
+ */
273
+ listGroups: {
274
+ methodKind: "unary";
275
+ input: typeof ListGroupsRequestSchema;
276
+ output: typeof ListGroupsResponseSchema;
277
+ };
278
+ /**
279
+ *
280
+ * Searches groups using flexible text criteria within the hierarchy.
281
+ *
282
+ * Performs case-insensitive substring matching on display names and
283
+ * descriptions using OR logic across search terms.
284
+ *
285
+ * @generated from rpc meshtrade.iam.group.v1.GroupService.SearchGroups
286
+ */
287
+ searchGroups: {
288
+ methodKind: "unary";
289
+ input: typeof SearchGroupsRequestSchema;
290
+ output: typeof SearchGroupsResponseSchema;
291
+ };
292
+ /**
293
+ *
294
+ * Retrieves a specific group by its resource identifier within the hierarchy.
295
+ *
296
+ * Provides access to a single group's complete metadata and organizational
297
+ * context if accessible within the executing group's scope.
298
+ *
299
+ * @generated from rpc meshtrade.iam.group.v1.GroupService.GetGroup
300
+ */
301
+ getGroup: {
302
+ methodKind: "unary";
303
+ input: typeof GetGroupRequestSchema;
304
+ output: typeof GroupSchema;
305
+ };
306
+ }>;