@tsg-dsp/tsg-sdk 0.20.1 → 0.21.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 (158) hide show
  1. package/README.md +116 -27
  2. package/dist/.generated/control-plane.d.ts +287 -344
  3. package/dist/.generated/sso-bridge.d.ts +979 -42
  4. package/dist/.generated/wallet.d.ts +104 -206
  5. package/dist/auth/auth.provider.d.ts +5 -1
  6. package/dist/auth/auth.provider.d.ts.map +1 -1
  7. package/dist/auth/auth.provider.js +9 -1
  8. package/dist/auth/auth.provider.js.map +1 -1
  9. package/dist/browser.d.ts +525 -523
  10. package/dist/browser.d.ts.map +1 -1
  11. package/dist/browser.js +17 -4
  12. package/dist/browser.js.map +1 -1
  13. package/dist/catalog/catalog.sdk.d.ts.map +1 -1
  14. package/dist/catalog/catalog.sdk.js.map +1 -1
  15. package/dist/client.d.ts.map +1 -1
  16. package/dist/client.js +2 -0
  17. package/dist/client.js.map +1 -1
  18. package/dist/config/sdk.config.d.ts +20 -4
  19. package/dist/config/sdk.config.d.ts.map +1 -1
  20. package/dist/index.d.ts +2 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +2 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/metadata/metadata.sdk.d.ts +10 -7
  25. package/dist/metadata/metadata.sdk.d.ts.map +1 -1
  26. package/dist/metadata/metadata.sdk.js +7 -4
  27. package/dist/metadata/metadata.sdk.js.map +1 -1
  28. package/dist/negotiations/negotiations.sdk.d.ts +1 -1
  29. package/dist/negotiations/negotiations.sdk.d.ts.map +1 -1
  30. package/dist/negotiations/negotiations.sdk.js.map +1 -1
  31. package/dist/requirements/requirements.sdk.d.ts.map +1 -1
  32. package/dist/requirements/requirements.sdk.js.map +1 -1
  33. package/dist/sso/sso-management.sdk.d.ts.map +1 -1
  34. package/dist/sso/sso-management.sdk.js.map +1 -1
  35. package/dist/sso/sso.sdk.d.ts +1 -1
  36. package/dist/sso/sso.sdk.d.ts.map +1 -1
  37. package/dist/sso/sso.sdk.js +4 -2
  38. package/dist/sso/sso.sdk.js.map +1 -1
  39. package/dist/tenants/tenant-management.sdk.d.ts +48 -0
  40. package/dist/tenants/tenant-management.sdk.d.ts.map +1 -0
  41. package/dist/tenants/tenant-management.sdk.js +107 -0
  42. package/dist/tenants/tenant-management.sdk.js.map +1 -0
  43. package/dist/transfers/transfers.sdk.d.ts +27 -8
  44. package/dist/transfers/transfers.sdk.d.ts.map +1 -1
  45. package/dist/transfers/transfers.sdk.js +15 -1
  46. package/dist/transfers/transfers.sdk.js.map +1 -1
  47. package/dist/tsg-sdk.d.ts +4 -1
  48. package/dist/tsg-sdk.d.ts.map +1 -1
  49. package/dist/tsg-sdk.js +23 -6
  50. package/dist/tsg-sdk.js.map +1 -1
  51. package/dist/utils/errors.d.ts +2 -2
  52. package/dist/utils/errors.d.ts.map +1 -1
  53. package/dist/utils/errors.js.map +1 -1
  54. package/dist/utils/index.d.ts +1 -0
  55. package/dist/utils/index.d.ts.map +1 -1
  56. package/dist/utils/index.js +1 -0
  57. package/dist/utils/index.js.map +1 -1
  58. package/dist/utils/reason.d.ts +16 -0
  59. package/dist/utils/reason.d.ts.map +1 -0
  60. package/dist/utils/reason.js +34 -0
  61. package/dist/utils/reason.js.map +1 -0
  62. package/dist/utils/validate.js.map +1 -1
  63. package/dist/vendor/common-dtos/abac.policy.d.ts +10 -1
  64. package/dist/vendor/common-dtos/abac.policy.js +5 -2
  65. package/dist/vendor/common-dtos/audit.types.d.ts +1 -1
  66. package/dist/vendor/common-dtos/audit.types.js +0 -1
  67. package/dist/vendor/common-dtos/credential-requirements.d.ts +0 -1
  68. package/dist/vendor/common-dtos/credential-requirements.dto.d.ts +0 -1
  69. package/dist/vendor/common-dtos/credential-requirements.dto.js +0 -1
  70. package/dist/vendor/common-dtos/credential-requirements.js +0 -1
  71. package/dist/vendor/common-dtos/dataplane.dto.d.ts +0 -1
  72. package/dist/vendor/common-dtos/dataplane.dto.js +0 -1
  73. package/dist/vendor/common-dtos/dcp.dto.d.ts +0 -1
  74. package/dist/vendor/common-dtos/dcp.dto.js +0 -1
  75. package/dist/vendor/common-dtos/dcql.dto.d.ts +0 -1
  76. package/dist/vendor/common-dtos/dcql.dto.js +0 -1
  77. package/dist/vendor/common-dtos/did.schemas.d.ts +0 -1
  78. package/dist/vendor/common-dtos/did.schemas.js +0 -1
  79. package/dist/vendor/common-dtos/index.d.ts +1 -1
  80. package/dist/vendor/common-dtos/index.js +1 -1
  81. package/dist/vendor/common-dtos/metadata.dto.d.ts +0 -1
  82. package/dist/vendor/common-dtos/metadata.dto.js +0 -1
  83. package/dist/vendor/common-dtos/negotiations.dto.d.ts +2 -3
  84. package/dist/vendor/common-dtos/negotiations.dto.js +6 -7
  85. package/dist/vendor/common-dtos/permission-resources.d.ts +3 -0
  86. package/dist/vendor/common-dtos/permission-resources.js +18 -0
  87. package/dist/vendor/common-dtos/permissions.d.ts +6 -1
  88. package/dist/vendor/common-dtos/permissions.js +73 -1
  89. package/dist/vendor/common-dtos/presentation.request.dto.d.ts +0 -1
  90. package/dist/vendor/common-dtos/presentation.request.dto.js +0 -1
  91. package/dist/vendor/common-dtos/presentation.status.dto.d.ts +0 -1
  92. package/dist/vendor/common-dtos/presentation.status.dto.js +0 -1
  93. package/dist/vendor/common-dtos/presentationdefinition.dto.d.ts +0 -1
  94. package/dist/vendor/common-dtos/presentationdefinition.dto.js +0 -1
  95. package/dist/vendor/common-dtos/signatures.dto.d.ts +0 -1
  96. package/dist/vendor/common-dtos/signatures.dto.js +0 -1
  97. package/dist/vendor/common-dtos/transfer.dto.d.ts +0 -1
  98. package/dist/vendor/common-dtos/transfer.dto.js +0 -1
  99. package/dist/vendor/common-dtos/utils.swagger.d.ts +0 -1
  100. package/dist/vendor/common-dtos/utils.swagger.js +0 -1
  101. package/dist/vendor/control-plane-dtos/index.d.ts +0 -1
  102. package/dist/vendor/control-plane-dtos/index.js +0 -1
  103. package/dist/vendor/control-plane-dtos/registry/registry.dto.d.ts +0 -1
  104. package/dist/vendor/control-plane-dtos/registry/registry.dto.js +0 -1
  105. package/dist/vendor/control-plane-dtos/registry/registry.search.dto.d.ts +0 -1
  106. package/dist/vendor/control-plane-dtos/registry/registry.search.dto.js +0 -1
  107. package/dist/vendor/control-plane-dtos/ssi/verifiablePresentations.dto.d.ts +0 -1
  108. package/dist/vendor/control-plane-dtos/ssi/verifiablePresentations.dto.js +0 -1
  109. package/dist/vendor/control-plane-dtos/status/status.dto.d.ts +0 -1
  110. package/dist/vendor/control-plane-dtos/status/status.dto.js +0 -1
  111. package/dist/vendor/sso-bridge-dtos/clients.dto.d.ts +7 -4
  112. package/dist/vendor/sso-bridge-dtos/clients.dto.js +38 -4
  113. package/dist/vendor/sso-bridge-dtos/grants.d.ts +2 -1
  114. package/dist/vendor/sso-bridge-dtos/grants.js +7 -2
  115. package/dist/vendor/sso-bridge-dtos/index.d.ts +1 -1
  116. package/dist/vendor/sso-bridge-dtos/index.js +1 -1
  117. package/dist/vendor/sso-bridge-dtos/tenant.dto.d.ts +70 -0
  118. package/dist/vendor/sso-bridge-dtos/tenant.dto.js +1 -0
  119. package/dist/vendor/sso-bridge-dtos/users.dto.d.ts +19 -1
  120. package/dist/vendor/sso-bridge-dtos/users.dto.js +85 -2
  121. package/dist/vendor/tenant-dtos/authorization.dto.d.ts +46 -0
  122. package/dist/vendor/tenant-dtos/authorization.dto.js +5 -0
  123. package/dist/vendor/tenant-dtos/consumer.dto.d.ts +29 -0
  124. package/dist/vendor/tenant-dtos/consumer.dto.js +1 -0
  125. package/dist/vendor/tenant-dtos/fixtures.d.ts +15 -0
  126. package/dist/vendor/tenant-dtos/fixtures.js +48 -0
  127. package/dist/vendor/tenant-dtos/index.d.ts +8 -0
  128. package/dist/vendor/tenant-dtos/index.js +8 -0
  129. package/dist/vendor/tenant-dtos/management.dto.d.ts +137 -0
  130. package/dist/vendor/tenant-dtos/management.dto.js +1 -0
  131. package/dist/vendor/tenant-dtos/membership.dto.d.ts +22 -0
  132. package/dist/vendor/tenant-dtos/membership.dto.js +7 -0
  133. package/dist/vendor/tenant-dtos/principal.dto.d.ts +13 -0
  134. package/dist/vendor/tenant-dtos/principal.dto.js +6 -0
  135. package/dist/vendor/tenant-dtos/provisioning.dto.d.ts +47 -0
  136. package/dist/vendor/tenant-dtos/provisioning.dto.js +1 -0
  137. package/dist/vendor/tenant-dtos/service-binding.dto.d.ts +9 -0
  138. package/dist/vendor/tenant-dtos/service-binding.dto.js +1 -0
  139. package/dist/vendor/tenant-dtos/tenant.dto.d.ts +15 -0
  140. package/dist/vendor/tenant-dtos/tenant.dto.js +1 -0
  141. package/dist/vendor/wallet-dtos/clients.dto.d.ts +0 -1
  142. package/dist/vendor/wallet-dtos/clients.dto.js +0 -1
  143. package/dist/vendor/wallet-dtos/credentials.dto.d.ts +0 -1
  144. package/dist/vendor/wallet-dtos/credentials.dto.js +0 -1
  145. package/dist/vendor/wallet-dtos/index.d.ts +0 -1
  146. package/dist/vendor/wallet-dtos/index.js +0 -1
  147. package/dist/vendor/wallet-dtos/issuance.dto.d.ts +0 -1
  148. package/dist/vendor/wallet-dtos/issuance.dto.js +0 -1
  149. package/dist/vendor/wallet-dtos/scopes.dto.d.ts +0 -1
  150. package/dist/vendor/wallet-dtos/scopes.dto.js +0 -1
  151. package/dist/vendor/wallet-dtos/status.dto.d.ts +0 -1
  152. package/dist/vendor/wallet-dtos/status.dto.js +0 -1
  153. package/dist/vendor/wallet-dtos/utils/schema-converter.d.ts +0 -1
  154. package/dist/vendor/wallet-dtos/utils/schema-converter.js +0 -1
  155. package/dist/wallet/wallet.sdk.d.ts +3 -3
  156. package/dist/wallet/wallet.sdk.d.ts.map +1 -1
  157. package/dist/wallet/wallet.sdk.js.map +1 -1
  158. package/package.json +17 -16
@@ -539,6 +539,22 @@ export interface paths {
539
539
  patch?: never;
540
540
  trace?: never;
541
541
  };
542
+ "/auth/tenancy": {
543
+ parameters: {
544
+ query?: never;
545
+ header?: never;
546
+ path?: never;
547
+ cookie?: never;
548
+ };
549
+ get: operations["AuthController_tenancyInfo"];
550
+ put?: never;
551
+ post?: never;
552
+ delete?: never;
553
+ options?: never;
554
+ head?: never;
555
+ patch?: never;
556
+ trace?: never;
557
+ };
542
558
  "/auth/user": {
543
559
  parameters: {
544
560
  query?: never;
@@ -568,7 +584,7 @@ export interface paths {
568
584
  };
569
585
  /**
570
586
  * Login redirect
571
- * @description Redirects user to the correct authorization server
587
+ * @description Redirects to the authorization server, preserving a safe return route and optional OIDC prompt
572
588
  */
573
589
  get: operations["AuthController_login"];
574
590
  put?: never;
@@ -588,7 +604,7 @@ export interface paths {
588
604
  };
589
605
  /**
590
606
  * Logout redirect
591
- * @description Removes session information and redirects user the root of the frontend (`auth.redirectURL`)
607
+ * @description Removes session information and redirects to a safe same-origin return route or the configured UI root
592
608
  */
593
609
  get: operations["AuthController_logout"];
594
610
  put?: never;
@@ -848,15 +864,11 @@ export interface paths {
848
864
  };
849
865
  /**
850
866
  * List tenants
851
- * @description List all tenants the current user is a member of.
867
+ * @description List tenants the current identity can access.
852
868
  */
853
869
  get: operations["TenantController_listTenants"];
854
870
  put?: never;
855
- /**
856
- * Create tenant
857
- * @description Creates a new tenant. The calling user becomes its owner.
858
- */
859
- post: operations["TenantController_createTenant"];
871
+ post?: never;
860
872
  delete?: never;
861
873
  options?: never;
862
874
  head?: never;
@@ -877,45 +889,29 @@ export interface paths {
877
889
  get: operations["TenantController_getTenant"];
878
890
  put?: never;
879
891
  post?: never;
880
- /**
881
- * Delete tenant
882
- * @description Soft-delete a tenant.
883
- */
884
- delete: operations["TenantController_deleteTenant"];
892
+ delete?: never;
885
893
  options?: never;
886
894
  head?: never;
887
- /**
888
- * Update tenant
889
- * @description Update tenant name or slug.
890
- */
891
- patch: operations["TenantController_updateTenant"];
895
+ patch?: never;
892
896
  trace?: never;
893
897
  };
894
- "/management/tenants/{slug}/members": {
898
+ "/public/tenants/{id}": {
895
899
  parameters: {
896
900
  query?: never;
897
901
  header?: never;
898
902
  path?: never;
899
903
  cookie?: never;
900
904
  };
901
- /**
902
- * List tenant members
903
- * @description List the users that are members of a tenant.
904
- */
905
- get: operations["TenantController_listMembers"];
905
+ get: operations["PublicTenantController_resolve"];
906
906
  put?: never;
907
- /**
908
- * Add tenant member
909
- * @description Invite a user to a tenant. The invite becomes a membership when the user next signs in.
910
- */
911
- post: operations["TenantController_addMember"];
907
+ post?: never;
912
908
  delete?: never;
913
909
  options?: never;
914
910
  head?: never;
915
911
  patch?: never;
916
912
  trace?: never;
917
913
  };
918
- "/management/tenants/{slug}/members/{userId}": {
914
+ "/internal/tenants/{tenantId}/configuration": {
919
915
  parameters: {
920
916
  query?: never;
921
917
  header?: never;
@@ -923,34 +919,22 @@ export interface paths {
923
919
  cookie?: never;
924
920
  };
925
921
  get?: never;
926
- put?: never;
922
+ put: operations["ManagedWalletProvisioningController_configure"];
927
923
  post?: never;
928
- /**
929
- * Remove tenant member
930
- * @description Revoke a user's membership of a tenant.
931
- */
932
- delete: operations["TenantController_removeMember"];
924
+ delete?: never;
933
925
  options?: never;
934
926
  head?: never;
935
- /**
936
- * Update tenant member role
937
- * @description Change the role of an existing tenant member.
938
- */
939
- patch: operations["TenantController_updateMember"];
927
+ patch?: never;
940
928
  trace?: never;
941
929
  };
942
- "/management/tenants/{slug}/invites": {
930
+ "/internal/tenants/{tenantId}/status": {
943
931
  parameters: {
944
932
  query?: never;
945
933
  header?: never;
946
934
  path?: never;
947
935
  cookie?: never;
948
936
  };
949
- /**
950
- * List tenant invites
951
- * @description List the pending invites of a tenant.
952
- */
953
- get: operations["TenantController_listInvites"];
937
+ get: operations["ManagedWalletProvisioningController_status"];
954
938
  put?: never;
955
939
  post?: never;
956
940
  delete?: never;
@@ -959,7 +943,7 @@ export interface paths {
959
943
  patch?: never;
960
944
  trace?: never;
961
945
  };
962
- "/management/tenants/{slug}/invites/{inviteId}": {
946
+ "/internal/tenants/{tenantId}/authorization": {
963
947
  parameters: {
964
948
  query?: never;
965
949
  header?: never;
@@ -967,13 +951,25 @@ export interface paths {
967
951
  cookie?: never;
968
952
  };
969
953
  get?: never;
970
- put?: never;
954
+ put: operations["ManagedWalletProvisioningController_authorization"];
971
955
  post?: never;
972
- /**
973
- * Remove tenant invite
974
- * @description Cancel a pending invite.
975
- */
976
- delete: operations["TenantController_removeInvite"];
956
+ delete?: never;
957
+ options?: never;
958
+ head?: never;
959
+ patch?: never;
960
+ trace?: never;
961
+ };
962
+ "/internal/tenants/{tenantId}/lifecycle": {
963
+ parameters: {
964
+ query?: never;
965
+ header?: never;
966
+ path?: never;
967
+ cookie?: never;
968
+ };
969
+ get?: never;
970
+ put: operations["ManagedWalletProvisioningController_lifecycle"];
971
+ post?: never;
972
+ delete?: never;
977
973
  options?: never;
978
974
  head?: never;
979
975
  patch?: never;
@@ -1918,8 +1914,11 @@ export interface components {
1918
1914
  * @enum {string}
1919
1915
  */
1920
1916
  statusPurpose: "refresh" | "revocation" | "suspension" | "message";
1921
- /** @example 0 */
1922
- statusListIndex: string;
1917
+ /**
1918
+ * @example 0
1919
+ * @example 0
1920
+ */
1921
+ statusListIndex: string | number;
1923
1922
  /** @example did:example:status-credential */
1924
1923
  statusListCredential: string;
1925
1924
  /** @example 10 */
@@ -2054,9 +2053,11 @@ export interface components {
2054
2053
  * "VerifiablePresentation"
2055
2054
  * ]
2056
2055
  */
2057
- type: string[];
2056
+ type: string | string[];
2058
2057
  /** @example 3f2592da-ffc9-40cb-a336-a9daa9343ce8 */
2059
2058
  id?: string;
2059
+ /** @example did:example:holder */
2060
+ holder?: string;
2060
2061
  verifiableCredential: components["schemas"]["VerifiableCredential"] | components["schemas"]["VerifiableCredential"][];
2061
2062
  proof: components["schemas"]["DataIntegrityProof"][];
2062
2063
  };
@@ -2208,6 +2209,14 @@ export interface components {
2208
2209
  credential_sets?: components["schemas"]["CredentialSetQuery"][];
2209
2210
  };
2210
2211
  ClientInfo: {
2212
+ issuer?: string;
2213
+ tenantId?: string;
2214
+ audience?: string | string[];
2215
+ /** @enum {string} */
2216
+ actorType?: "human" | "service";
2217
+ authorizationRevision?: number;
2218
+ /** @description Whether this human principal has operator-configured platform authority */
2219
+ platformAdministrator?: boolean;
2211
2220
  /** @example user-id-123 */
2212
2221
  sub: string;
2213
2222
  /** @example John Doe */
@@ -2224,8 +2233,6 @@ export interface components {
2224
2233
  * ]
2225
2234
  */
2226
2235
  permissions: string[];
2227
- /** @example refresh-token-abc123 */
2228
- refreshToken?: string;
2229
2236
  };
2230
2237
  AuthenticatedUser: {
2231
2238
  /** @example authenticated */
@@ -2240,7 +2247,7 @@ export interface components {
2240
2247
  * "manage:key"
2241
2248
  * ],
2242
2249
  * "didId": "did:example:123456789",
2243
- * "refreshToken": "refresh-token-abc123"
2250
+ * "platformAdministrator": false
2244
2251
  * }
2245
2252
  */
2246
2253
  user: components["schemas"]["ClientInfo"];
@@ -2553,45 +2560,6 @@ export interface components {
2553
2560
  /** @example https://dataspace.example/connector */
2554
2561
  serviceEndpoint: string;
2555
2562
  };
2556
- CreateTenantDto: {
2557
- /**
2558
- * @description Display name of the tenant
2559
- * @example My Organization
2560
- */
2561
- name: string;
2562
- /**
2563
- * @description URL-safe slug (lowercase alphanumeric + hyphens, 1-63 chars)
2564
- * @example my-organization
2565
- */
2566
- slug: string;
2567
- };
2568
- UpdateTenantDto: {
2569
- /** @example Updated Name */
2570
- name?: string;
2571
- /** @example updated-slug */
2572
- slug?: string;
2573
- };
2574
- AddMemberDto: {
2575
- /**
2576
- * @description Identifier of the user to add — a username, email address, or user ID
2577
- * @example tsg
2578
- */
2579
- identifier: string;
2580
- /**
2581
- * @description Display name to record for the user, when known
2582
- * @example Jane Doe
2583
- */
2584
- username?: string;
2585
- /**
2586
- * @default member
2587
- * @enum {string}
2588
- */
2589
- role: "admin" | "member";
2590
- };
2591
- UpdateTenantMemberRoleDto: {
2592
- /** @enum {string} */
2593
- role: "owner" | "admin" | "member";
2594
- };
2595
2563
  /** @enum {string} */
2596
2564
  KeyType: "EdDSA" | "ES384" | "X509";
2597
2565
  KeyInfoDto: {
@@ -3049,7 +3017,7 @@ export interface components {
3049
3017
  };
3050
3018
  ExtendedDisplay: {
3051
3019
  /** @example Extended Display Name */
3052
- name?: string;
3020
+ name: string;
3053
3021
  /** @example en-US */
3054
3022
  locale?: string;
3055
3023
  /**
@@ -4557,6 +4525,23 @@ export interface operations {
4557
4525
  };
4558
4526
  };
4559
4527
  };
4528
+ AuthController_tenancyInfo: {
4529
+ parameters: {
4530
+ query?: never;
4531
+ header?: never;
4532
+ path?: never;
4533
+ cookie?: never;
4534
+ };
4535
+ requestBody?: never;
4536
+ responses: {
4537
+ 200: {
4538
+ headers: {
4539
+ [name: string]: unknown;
4540
+ };
4541
+ content?: never;
4542
+ };
4543
+ };
4544
+ };
4560
4545
  AuthController_getUser: {
4561
4546
  parameters: {
4562
4547
  query?: never;
@@ -4578,7 +4563,11 @@ export interface operations {
4578
4563
  };
4579
4564
  AuthController_login: {
4580
4565
  parameters: {
4581
- query?: never;
4566
+ query?: {
4567
+ tenant_id?: string;
4568
+ return_to?: string;
4569
+ prompt?: string;
4570
+ };
4582
4571
  header?: never;
4583
4572
  path?: never;
4584
4573
  cookie?: never;
@@ -4595,7 +4584,9 @@ export interface operations {
4595
4584
  };
4596
4585
  AuthController_logout: {
4597
4586
  parameters: {
4598
- query?: never;
4587
+ query?: {
4588
+ return_to?: string;
4589
+ };
4599
4590
  header?: never;
4600
4591
  path?: never;
4601
4592
  cookie?: never;
@@ -5214,27 +5205,6 @@ export interface operations {
5214
5205
  };
5215
5206
  };
5216
5207
  };
5217
- TenantController_createTenant: {
5218
- parameters: {
5219
- query?: never;
5220
- header?: never;
5221
- path?: never;
5222
- cookie?: never;
5223
- };
5224
- requestBody: {
5225
- content: {
5226
- "application/json": components["schemas"]["CreateTenantDto"];
5227
- };
5228
- };
5229
- responses: {
5230
- 201: {
5231
- headers: {
5232
- [name: string]: unknown;
5233
- };
5234
- content?: never;
5235
- };
5236
- };
5237
- };
5238
5208
  TenantController_getTenant: {
5239
5209
  parameters: {
5240
5210
  query?: never;
@@ -5254,39 +5224,16 @@ export interface operations {
5254
5224
  };
5255
5225
  };
5256
5226
  };
5257
- TenantController_deleteTenant: {
5227
+ PublicTenantController_resolve: {
5258
5228
  parameters: {
5259
5229
  query?: never;
5260
5230
  header?: never;
5261
5231
  path: {
5262
- slug: string;
5232
+ id: string;
5263
5233
  };
5264
5234
  cookie?: never;
5265
5235
  };
5266
5236
  requestBody?: never;
5267
- responses: {
5268
- 204: {
5269
- headers: {
5270
- [name: string]: unknown;
5271
- };
5272
- content?: never;
5273
- };
5274
- };
5275
- };
5276
- TenantController_updateTenant: {
5277
- parameters: {
5278
- query?: never;
5279
- header?: never;
5280
- path: {
5281
- slug: string;
5282
- };
5283
- cookie?: never;
5284
- };
5285
- requestBody: {
5286
- content: {
5287
- "application/json": components["schemas"]["UpdateTenantDto"];
5288
- };
5289
- };
5290
5237
  responses: {
5291
5238
  200: {
5292
5239
  headers: {
@@ -5296,12 +5243,12 @@ export interface operations {
5296
5243
  };
5297
5244
  };
5298
5245
  };
5299
- TenantController_listMembers: {
5246
+ ManagedWalletProvisioningController_configure: {
5300
5247
  parameters: {
5301
5248
  query?: never;
5302
5249
  header?: never;
5303
5250
  path: {
5304
- slug: string;
5251
+ tenantId: string;
5305
5252
  };
5306
5253
  cookie?: never;
5307
5254
  };
@@ -5315,64 +5262,16 @@ export interface operations {
5315
5262
  };
5316
5263
  };
5317
5264
  };
5318
- TenantController_addMember: {
5319
- parameters: {
5320
- query?: never;
5321
- header?: never;
5322
- path: {
5323
- slug: string;
5324
- };
5325
- cookie?: never;
5326
- };
5327
- requestBody: {
5328
- content: {
5329
- "application/json": components["schemas"]["AddMemberDto"];
5330
- };
5331
- };
5332
- responses: {
5333
- 201: {
5334
- headers: {
5335
- [name: string]: unknown;
5336
- };
5337
- content?: never;
5338
- };
5339
- };
5340
- };
5341
- TenantController_removeMember: {
5265
+ ManagedWalletProvisioningController_status: {
5342
5266
  parameters: {
5343
5267
  query?: never;
5344
5268
  header?: never;
5345
5269
  path: {
5346
- slug: string;
5347
- userId: string;
5270
+ tenantId: string;
5348
5271
  };
5349
5272
  cookie?: never;
5350
5273
  };
5351
5274
  requestBody?: never;
5352
- responses: {
5353
- 204: {
5354
- headers: {
5355
- [name: string]: unknown;
5356
- };
5357
- content?: never;
5358
- };
5359
- };
5360
- };
5361
- TenantController_updateMember: {
5362
- parameters: {
5363
- query?: never;
5364
- header?: never;
5365
- path: {
5366
- slug: string;
5367
- userId: string;
5368
- };
5369
- cookie?: never;
5370
- };
5371
- requestBody: {
5372
- content: {
5373
- "application/json": components["schemas"]["UpdateTenantMemberRoleDto"];
5374
- };
5375
- };
5376
5275
  responses: {
5377
5276
  200: {
5378
5277
  headers: {
@@ -5382,12 +5281,12 @@ export interface operations {
5382
5281
  };
5383
5282
  };
5384
5283
  };
5385
- TenantController_listInvites: {
5284
+ ManagedWalletProvisioningController_authorization: {
5386
5285
  parameters: {
5387
5286
  query?: never;
5388
5287
  header?: never;
5389
5288
  path: {
5390
- slug: string;
5289
+ tenantId: string;
5391
5290
  };
5392
5291
  cookie?: never;
5393
5292
  };
@@ -5401,19 +5300,18 @@ export interface operations {
5401
5300
  };
5402
5301
  };
5403
5302
  };
5404
- TenantController_removeInvite: {
5303
+ ManagedWalletProvisioningController_lifecycle: {
5405
5304
  parameters: {
5406
5305
  query?: never;
5407
5306
  header?: never;
5408
5307
  path: {
5409
- slug: string;
5410
- inviteId: string;
5308
+ tenantId: string;
5411
5309
  };
5412
5310
  cookie?: never;
5413
5311
  };
5414
5312
  requestBody?: never;
5415
5313
  responses: {
5416
- 204: {
5314
+ 200: {
5417
5315
  headers: {
5418
5316
  [name: string]: unknown;
5419
5317
  };
@@ -15,10 +15,14 @@ import type { TsgSdkAuthConfig } from "../config/sdk.config.js";
15
15
  export declare class AuthProvider {
16
16
  private readonly authConfig;
17
17
  private readonly ssoBridgeBaseUrl;
18
+ private readonly target?;
18
19
  private cachedToken?;
19
20
  private tokenExpiresAt;
20
21
  private openIdConfig?;
21
- constructor(authConfig: TsgSdkAuthConfig | undefined, ssoBridgeBaseUrl: string | undefined);
22
+ constructor(authConfig: TsgSdkAuthConfig | undefined, ssoBridgeBaseUrl: string | undefined, target?: {
23
+ tenantId?: string;
24
+ audience?: string;
25
+ } | undefined);
22
26
  /**
23
27
  * Get a valid access token, acquiring or refreshing one if necessary.
24
28
  *
@@ -1 +1 @@
1
- {"version":3,"file":"auth.provider.d.ts","sourceRoot":"","sources":["../../src/auth/auth.provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAWhE;;;;;;;;;;;;GAYG;AACH,qBAAa,YAAY;IAMrB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IANnC,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,YAAY,CAAC,CAAsB;gBAGxB,UAAU,EAAE,gBAAgB,GAAG,SAAS,EACxC,gBAAgB,EAAE,MAAM,GAAG,SAAS;IAGvD;;;;;;;;OAQG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAiBnD;;;;;;OAMG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAQzC,YAAY;YA4DZ,sBAAsB;YAwCtB,qBAAqB;IAmBnC,OAAO,CAAC,gBAAgB;CAazB"}
1
+ {"version":3,"file":"auth.provider.d.ts","sourceRoot":"","sources":["../../src/auth/auth.provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAWhE;;;;;;;;;;;;GAYG;AACH,qBAAa,YAAY;IAMrB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAP1B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,YAAY,CAAC,CAAsB;IAE3C,YACmB,UAAU,EAAE,gBAAgB,GAAG,SAAS,EACxC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,YAAA,EAChE;IAEJ;;;;;;;;OAQG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAelD;IAED;;;;;;OAMG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAMtD;YAEa,YAAY;YAmEZ,sBAAsB;YAwCtB,qBAAqB;IAmBnC,OAAO,CAAC,gBAAgB;CAazB"}
@@ -22,12 +22,14 @@ const TOKEN_EXPIRY_BUFFER_MS = 10_000;
22
22
  export class AuthProvider {
23
23
  authConfig;
24
24
  ssoBridgeBaseUrl;
25
+ target;
25
26
  cachedToken;
26
27
  tokenExpiresAt = 0;
27
28
  openIdConfig;
28
- constructor(authConfig, ssoBridgeBaseUrl) {
29
+ constructor(authConfig, ssoBridgeBaseUrl, target) {
29
30
  this.authConfig = authConfig;
30
31
  this.ssoBridgeBaseUrl = ssoBridgeBaseUrl;
32
+ this.target = target;
31
33
  }
32
34
  /**
33
35
  * Get a valid access token, acquiring or refreshing one if necessary.
@@ -70,11 +72,17 @@ export class AuthProvider {
70
72
  if (!config || config.method === "access_token") {
71
73
  throw new SdkError("Cannot acquire token with access_token method", SdkErrorCode.AUTH_FAILED);
72
74
  }
75
+ if (!this.target?.audience?.trim())
76
+ throw new SdkError("Token acquisition requires an explicit receiving audience", SdkErrorCode.NOT_CONFIGURED);
73
77
  const openIdConfig = await this.getOpenIdConfiguration();
74
78
  const tokenEndpoint = openIdConfig.token_endpoint;
75
79
  const params = new URLSearchParams();
76
80
  params.set("grant_type", "client_credentials");
77
81
  params.set("client_id", config.clientId);
82
+ if (this.target?.tenantId)
83
+ params.set("tenant_id", this.target.tenantId);
84
+ if (this.target?.audience)
85
+ params.set("audience", this.target.audience);
78
86
  if (config.method === "client_secret_post") {
79
87
  params.set("client_secret", config.clientSecret);
80
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.provider.js","sourceRoot":"","sources":["../../src/auth/auth.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.provider.js","sourceRoot":"","sources":["../../src/auth/auth.provider.ts"],"names":[],"mappings":"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"}