gdc-sdk-front-ts 0.9.1 → 2.0.2
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.
- package/README.md +22 -2
- package/dist/ProfileManager.d.ts +65 -0
- package/dist/ProfileManager.js +173 -4
- package/dist/frontend-profile-runtime.d.ts +63 -0
- package/dist/frontend-profile-runtime.js +41 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/individual-controller-frontend-runtime.d.ts +50 -0
- package/dist/individual-controller-frontend-runtime.js +58 -0
- package/dist/orchestration/client-port.d.ts +53 -3
- package/dist/orchestration/host-onboarding-sdk.d.ts +7 -4
- package/dist/orchestration/host-onboarding-sdk.js +11 -5
- package/dist/orchestration/individual-controller-sdk.d.ts +18 -1
- package/dist/orchestration/individual-controller-sdk.js +29 -0
- package/dist/orchestration/organization-controller-sdk.d.ts +31 -2
- package/dist/orchestration/organization-controller-sdk.js +49 -0
- package/dist/orchestration/personal-sdk.d.ts +18 -1
- package/dist/orchestration/personal-sdk.js +29 -0
- package/dist/services.d.ts +27 -7
- package/dist/services.js +133 -3
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# gdc-sdk-front-ts
|
|
2
2
|
|
|
3
|
+
See [ARCHITECTURE.md](./ARCHITECTURE.md) and
|
|
4
|
+
[CONTRIBUTING.md](./CONTRIBUTING.md) before adding frontend facades,
|
|
5
|
+
profile/session runtime logic, or orchestration tests.
|
|
6
|
+
|
|
7
|
+
Short rule:
|
|
8
|
+
|
|
9
|
+
- `101` tests must stay didactic and step by step
|
|
10
|
+
- reusable fixtures/types must come from `gdc-common-utils-ts` instead of
|
|
11
|
+
being repeated as frontend-local literals
|
|
12
|
+
|
|
3
13
|
Frontend runtime package for consuming the shared GDC SDK contracts in web or
|
|
4
14
|
mobile apps.
|
|
5
15
|
|
|
@@ -28,6 +38,13 @@ If you are integrating this package for the first time, open these in order:
|
|
|
28
38
|
1. [gdc-sdk-core-ts/docs/101-SDK_PACKAGE_BOUNDARIES.md](https://github.com/Global-DataCare/gdc-sdk-core-ts/blob/main/docs/101-SDK_PACKAGE_BOUNDARIES.md)
|
|
29
39
|
Why `core`, `node`, and `front` are separate packages, what each one owns,
|
|
30
40
|
and why frontend facades should mirror backend actor boundaries.
|
|
41
|
+
1. [tests/101-frontend-profile-runtime.test.mjs](./tests/101-frontend-profile-runtime.test.mjs)
|
|
42
|
+
Minimal frontend-generic walkthrough for loading one actor profile,
|
|
43
|
+
registering one trusted device/runtime context, connecting to one subject
|
|
44
|
+
index, and reading one subject index composition.
|
|
45
|
+
1. [tests/101-individual-controller-frontend-runtime.test.mjs](./tests/101-individual-controller-frontend-runtime.test.mjs)
|
|
46
|
+
First pragmatic frontend wrapper over the generic profile runtime for the
|
|
47
|
+
current individual-controller baseline.
|
|
31
48
|
1. [docs/101-SDK_INTEGRATION.md](./docs/101-SDK_INTEGRATION.md)
|
|
32
49
|
Real frontend/native setup, imports, `new ClientSDK(...)`,
|
|
33
50
|
`initializeCommunicationIdentity(...)`, provider discovery, and
|
|
@@ -40,9 +57,12 @@ If you are integrating this package for the first time, open these in order:
|
|
|
40
57
|
4. [gdc-sdk-node-ts/docs/101-LIVE_GW_LOCAL.md](https://github.com/Global-DataCare/gdc-sdk-node-ts/blob/main/docs/101-LIVE_GW_LOCAL.md)
|
|
41
58
|
Canonical local/TTY/Docker GW reference when the frontend team also needs a
|
|
42
59
|
real local GW running for end-to-end checks.
|
|
43
|
-
5. [
|
|
60
|
+
5. [gwtemplate-node-ts/docs/PORTAL_API_TO_GW_CORE.md](https://github.com/Global-DataCare/gwtemplate-node-ts/blob/main/docs/PORTAL_API_TO_GW_CORE.md)
|
|
61
|
+
Canonical portal/BFF functional map over GW CORE, including the separation
|
|
62
|
+
between `related persons`, invited `members`, and effective `consents`.
|
|
63
|
+
6. [gdc-common-utils-ts/src/examples/frontend-session.ts](https://github.com/Global-DataCare/gdc-common-utils-ts/blob/main/src/examples/frontend-session.ts)
|
|
44
64
|
Shared profile/session payload source of truth.
|
|
45
|
-
|
|
65
|
+
7. [gdc-common-utils-ts/docs/101-LIFECYCLE.md](https://github.com/Global-DataCare/gdc-common-utils-ts/blob/main/docs/101-LIFECYCLE.md)
|
|
46
66
|
Canonical lifecycle semantics and reusable placeholders for UI and portal flows.
|
|
47
67
|
|
|
48
68
|
If you need the shortest path:
|
package/dist/ProfileManager.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { DeviceAppType, DeviceUserClass } from 'gdc-common-utils-ts/constants';
|
|
2
|
+
import type { SubmitAndPollResult } from 'gdc-sdk-core-ts';
|
|
2
3
|
import type { Profile } from './types.js';
|
|
3
4
|
import type { CommonServices, FamilyAdminServices, IndividualServices, OrgAdminServices, ProfessionalServices } from './roleRegistry.js';
|
|
4
5
|
import { HostOnboardingSdk } from './orchestration/host-onboarding-sdk.js';
|
|
@@ -8,6 +9,7 @@ import { OrganizationControllerSdk } from './orchestration/organization-controll
|
|
|
8
9
|
import { OrganizationEmployeeSdk } from './orchestration/organization-employee-sdk.js';
|
|
9
10
|
import { PersonalSdk } from './orchestration/personal-sdk.js';
|
|
10
11
|
import { ProfessionalSdk } from './orchestration/professional-sdk.js';
|
|
12
|
+
import { type FrontLicenseListSearchInput, type FrontLicenseOfferSearchInput, type FrontLicenseOrderSearchInput, type FrontOrganizationEmployeeSearchInput } from './orchestration/client-port.js';
|
|
11
13
|
/**
|
|
12
14
|
* Role-scoped session object returned by `ClientSDK.initializeSession(...)`.
|
|
13
15
|
*
|
|
@@ -48,6 +50,69 @@ export declare class ProfileManager {
|
|
|
48
50
|
}): Promise<{
|
|
49
51
|
thid: string;
|
|
50
52
|
}>;
|
|
53
|
+
/**
|
|
54
|
+
* Organization-admin helper to search employee bundles through the frontend runtime.
|
|
55
|
+
*/
|
|
56
|
+
searchOrganizationEmployees(params: {
|
|
57
|
+
providerDid: string;
|
|
58
|
+
idToken: string;
|
|
59
|
+
employeeClaims?: FrontOrganizationEmployeeSearchInput['employeeClaims'];
|
|
60
|
+
requestThid?: string;
|
|
61
|
+
}): Promise<SubmitAndPollResult>;
|
|
62
|
+
/**
|
|
63
|
+
* Organization-admin helper to search/list tenant-owned license seats.
|
|
64
|
+
*/
|
|
65
|
+
searchOrganizationLicenses(params: {
|
|
66
|
+
providerDid: string;
|
|
67
|
+
idToken: string;
|
|
68
|
+
licenseQuery?: FrontLicenseListSearchInput['licenseQuery'];
|
|
69
|
+
requestThid?: string;
|
|
70
|
+
}): Promise<SubmitAndPollResult>;
|
|
71
|
+
/**
|
|
72
|
+
* Organization-admin helper to search/list hosted commercial offer records.
|
|
73
|
+
*/
|
|
74
|
+
searchOrganizationLicenseOffers(params: {
|
|
75
|
+
providerDid: string;
|
|
76
|
+
idToken: string;
|
|
77
|
+
offerQuery?: FrontLicenseOfferSearchInput['offerQuery'];
|
|
78
|
+
requestThid?: string;
|
|
79
|
+
}): Promise<SubmitAndPollResult>;
|
|
80
|
+
/**
|
|
81
|
+
* Family-admin helper to search/list subject-side commercial offer records.
|
|
82
|
+
*/
|
|
83
|
+
searchIndividualLicenseOffers(params: {
|
|
84
|
+
providerDid: string;
|
|
85
|
+
idToken: string;
|
|
86
|
+
offerQuery?: FrontLicenseOfferSearchInput['offerQuery'];
|
|
87
|
+
requestThid?: string;
|
|
88
|
+
}): Promise<SubmitAndPollResult>;
|
|
89
|
+
/**
|
|
90
|
+
* Organization-admin helper to search/list hosted commercial order/payment records.
|
|
91
|
+
*/
|
|
92
|
+
searchOrganizationLicenseOrders(params: {
|
|
93
|
+
providerDid: string;
|
|
94
|
+
idToken: string;
|
|
95
|
+
orderQuery?: FrontLicenseOrderSearchInput['orderQuery'];
|
|
96
|
+
requestThid?: string;
|
|
97
|
+
}): Promise<SubmitAndPollResult>;
|
|
98
|
+
/**
|
|
99
|
+
* Family-admin helper to search/list subject-side commercial order/payment records.
|
|
100
|
+
*/
|
|
101
|
+
searchIndividualLicenseOrders(params: {
|
|
102
|
+
providerDid: string;
|
|
103
|
+
idToken: string;
|
|
104
|
+
orderQuery?: FrontLicenseOrderSearchInput['orderQuery'];
|
|
105
|
+
requestThid?: string;
|
|
106
|
+
}): Promise<SubmitAndPollResult>;
|
|
107
|
+
/**
|
|
108
|
+
* Family/individual-admin helper to search/list subject-side license seats.
|
|
109
|
+
*/
|
|
110
|
+
searchIndividualLicenses(params: {
|
|
111
|
+
providerDid: string;
|
|
112
|
+
idToken: string;
|
|
113
|
+
licenseQuery?: FrontLicenseListSearchInput['licenseQuery'];
|
|
114
|
+
requestThid?: string;
|
|
115
|
+
}): Promise<SubmitAndPollResult>;
|
|
51
116
|
/**
|
|
52
117
|
* Family/individual-admin helper for subject organization/index bootstrap.
|
|
53
118
|
*/
|
package/dist/ProfileManager.js
CHANGED
|
@@ -37,15 +37,25 @@ export class ProfileManager {
|
|
|
37
37
|
this.individual = mapped.individual;
|
|
38
38
|
this.professional = mapped.professional;
|
|
39
39
|
this.runtimeClient = {
|
|
40
|
-
activateOrganizationInGatewayFromIcaProof: (input) => {
|
|
40
|
+
activateOrganizationInGatewayFromIcaProof: (hostCtx, input) => {
|
|
41
41
|
if (!this.orgAdmin?.admin)
|
|
42
42
|
throw new Error('orgAdmin.admin service is not available for this profile.');
|
|
43
|
-
return this.orgAdmin.admin.activateOrganizationInGatewayFromIcaProof(input);
|
|
43
|
+
return this.orgAdmin.admin.activateOrganizationInGatewayFromIcaProof(hostCtx, input);
|
|
44
44
|
},
|
|
45
|
-
confirmLegalOrganizationOrder: (input) => {
|
|
45
|
+
confirmLegalOrganizationOrder: (hostCtx, input) => {
|
|
46
46
|
if (!this.orgAdmin?.admin)
|
|
47
47
|
throw new Error('orgAdmin.admin service is not available for this profile.');
|
|
48
|
-
return this.orgAdmin.admin.confirmLegalOrganizationOrder(input);
|
|
48
|
+
return this.orgAdmin.admin.confirmLegalOrganizationOrder(hostCtx, input);
|
|
49
|
+
},
|
|
50
|
+
disableHost: (hostCtx, input) => {
|
|
51
|
+
if (!this.orgAdmin?.admin)
|
|
52
|
+
throw new Error('orgAdmin.admin service is not available for this profile.');
|
|
53
|
+
return this.orgAdmin.admin.disableHost(hostCtx, input);
|
|
54
|
+
},
|
|
55
|
+
purgeHost: (hostCtx, input) => {
|
|
56
|
+
if (!this.orgAdmin?.admin)
|
|
57
|
+
throw new Error('orgAdmin.admin service is not available for this profile.');
|
|
58
|
+
return this.orgAdmin.admin.purgeHost(hostCtx, input);
|
|
49
59
|
},
|
|
50
60
|
createOrganizationEmployee: (ctx, input) => {
|
|
51
61
|
if (!this.orgAdmin?.admin)
|
|
@@ -53,6 +63,41 @@ export class ProfileManager {
|
|
|
53
63
|
return this.orgAdmin.admin.createOrganizationEmployee(ctx.providerDid, ctx.idToken, input)
|
|
54
64
|
.then((result) => createSyntheticSubmitAndPollResult(result.thid));
|
|
55
65
|
},
|
|
66
|
+
searchOrganizationEmployees: (ctx, input) => {
|
|
67
|
+
if (!this.orgAdmin?.admin)
|
|
68
|
+
throw new Error('orgAdmin.admin service is not available for this profile.');
|
|
69
|
+
return this.orgAdmin.admin.searchOrganizationEmployees(ctx.providerDid, ctx.idToken, input);
|
|
70
|
+
},
|
|
71
|
+
searchOrganizationLicenses: (ctx, input) => {
|
|
72
|
+
if (!this.orgAdmin?.admin)
|
|
73
|
+
throw new Error('orgAdmin.admin service is not available for this profile.');
|
|
74
|
+
return this.orgAdmin.admin.searchOrganizationLicenses(ctx.providerDid, ctx.idToken, input);
|
|
75
|
+
},
|
|
76
|
+
listOrganizationLicenses: (ctx, input = {}) => {
|
|
77
|
+
if (!this.orgAdmin?.admin)
|
|
78
|
+
throw new Error('orgAdmin.admin service is not available for this profile.');
|
|
79
|
+
return this.orgAdmin.admin.listOrganizationLicenses(ctx.providerDid, ctx.idToken, input);
|
|
80
|
+
},
|
|
81
|
+
searchOrganizationLicenseOffers: (ctx, input) => {
|
|
82
|
+
if (!this.orgAdmin?.admin)
|
|
83
|
+
throw new Error('orgAdmin.admin service is not available for this profile.');
|
|
84
|
+
return this.orgAdmin.admin.searchOrganizationLicenseOffers(ctx.providerDid, ctx.idToken, input);
|
|
85
|
+
},
|
|
86
|
+
listOrganizationLicenseOffers: (ctx, input = {}) => {
|
|
87
|
+
if (!this.orgAdmin?.admin)
|
|
88
|
+
throw new Error('orgAdmin.admin service is not available for this profile.');
|
|
89
|
+
return this.orgAdmin.admin.listOrganizationLicenseOffers(ctx.providerDid, ctx.idToken, input);
|
|
90
|
+
},
|
|
91
|
+
searchOrganizationLicenseOrders: (ctx, input) => {
|
|
92
|
+
if (!this.orgAdmin?.admin)
|
|
93
|
+
throw new Error('orgAdmin.admin service is not available for this profile.');
|
|
94
|
+
return this.orgAdmin.admin.searchOrganizationLicenseOrders(ctx.providerDid, ctx.idToken, input);
|
|
95
|
+
},
|
|
96
|
+
listOrganizationLicenseOrders: (ctx, input = {}) => {
|
|
97
|
+
if (!this.orgAdmin?.admin)
|
|
98
|
+
throw new Error('orgAdmin.admin service is not available for this profile.');
|
|
99
|
+
return this.orgAdmin.admin.listOrganizationLicenseOrders(ctx.providerDid, ctx.idToken, input);
|
|
100
|
+
},
|
|
56
101
|
disableEmployee: (ctx, input) => {
|
|
57
102
|
if (!this.orgAdmin?.admin)
|
|
58
103
|
throw new Error('orgAdmin.admin service is not available for this profile.');
|
|
@@ -63,6 +108,16 @@ export class ProfileManager {
|
|
|
63
108
|
throw new Error('orgAdmin.admin service is not available for this profile.');
|
|
64
109
|
return this.orgAdmin.admin.purgeEmployee(ctx.providerDid, ctx.idToken, input);
|
|
65
110
|
},
|
|
111
|
+
disableTenant: (hostCtx, input) => {
|
|
112
|
+
if (!this.orgAdmin?.admin)
|
|
113
|
+
throw new Error('orgAdmin.admin service is not available for this profile.');
|
|
114
|
+
return this.orgAdmin.admin.disableTenant(hostCtx, input);
|
|
115
|
+
},
|
|
116
|
+
purgeTenant: (hostCtx, input) => {
|
|
117
|
+
if (!this.orgAdmin?.admin)
|
|
118
|
+
throw new Error('orgAdmin.admin service is not available for this profile.');
|
|
119
|
+
return this.orgAdmin.admin.purgeTenant(hostCtx, input);
|
|
120
|
+
},
|
|
66
121
|
activateEmployeeDeviceWithActivationRequest: (ctx, input) => this.common.auth.activateEmployeeDeviceWithActivationRequest(input.activationCode, ctx.providerDid, ctx.idToken, input.dcrPayload),
|
|
67
122
|
requestSmartToken: (input) => this.common.auth.requestSmartToken(input),
|
|
68
123
|
startIndividualOrganization: (ctx, input) => {
|
|
@@ -95,6 +150,36 @@ export class ProfileManager {
|
|
|
95
150
|
throw new Error('familyAdmin.admin service is not available for this profile.');
|
|
96
151
|
return this.familyAdmin.admin.purgeIndividualMember(ctx.providerDid, ctx.idToken, input);
|
|
97
152
|
},
|
|
153
|
+
searchIndividualLicenses: (ctx, input) => {
|
|
154
|
+
if (!this.familyAdmin?.admin)
|
|
155
|
+
throw new Error('familyAdmin.admin service is not available for this profile.');
|
|
156
|
+
return this.familyAdmin.admin.searchIndividualLicenses(ctx.providerDid, ctx.idToken, input);
|
|
157
|
+
},
|
|
158
|
+
listIndividualLicenses: (ctx, input = {}) => {
|
|
159
|
+
if (!this.familyAdmin?.admin)
|
|
160
|
+
throw new Error('familyAdmin.admin service is not available for this profile.');
|
|
161
|
+
return this.familyAdmin.admin.listIndividualLicenses(ctx.providerDid, ctx.idToken, input);
|
|
162
|
+
},
|
|
163
|
+
searchIndividualLicenseOffers: (ctx, input) => {
|
|
164
|
+
if (!this.familyAdmin?.admin)
|
|
165
|
+
throw new Error('familyAdmin.admin service is not available for this profile.');
|
|
166
|
+
return this.familyAdmin.admin.searchIndividualLicenseOffers(ctx.providerDid, ctx.idToken, input);
|
|
167
|
+
},
|
|
168
|
+
listIndividualLicenseOffers: (ctx, input = {}) => {
|
|
169
|
+
if (!this.familyAdmin?.admin)
|
|
170
|
+
throw new Error('familyAdmin.admin service is not available for this profile.');
|
|
171
|
+
return this.familyAdmin.admin.listIndividualLicenseOffers(ctx.providerDid, ctx.idToken, input);
|
|
172
|
+
},
|
|
173
|
+
searchIndividualLicenseOrders: (ctx, input) => {
|
|
174
|
+
if (!this.familyAdmin?.admin)
|
|
175
|
+
throw new Error('familyAdmin.admin service is not available for this profile.');
|
|
176
|
+
return this.familyAdmin.admin.searchIndividualLicenseOrders(ctx.providerDid, ctx.idToken, input);
|
|
177
|
+
},
|
|
178
|
+
listIndividualLicenseOrders: (ctx, input = {}) => {
|
|
179
|
+
if (!this.familyAdmin?.admin)
|
|
180
|
+
throw new Error('familyAdmin.admin service is not available for this profile.');
|
|
181
|
+
return this.familyAdmin.admin.listIndividualLicenseOrders(ctx.providerDid, ctx.idToken, input);
|
|
182
|
+
},
|
|
98
183
|
grantProfessionalAccess: (ctx, input) => {
|
|
99
184
|
if (this.professional?.physician) {
|
|
100
185
|
return this.professional.physician.grantProfessionalAccess({ ...input, providerDid: ctx.providerDid, requiredScope: ctx.requiredScope, idToken: ctx.idToken });
|
|
@@ -151,6 +236,90 @@ export class ProfileManager {
|
|
|
151
236
|
}
|
|
152
237
|
return this.orgAdmin.admin.createOrganizationEmployee(providerDid, idToken, params);
|
|
153
238
|
}
|
|
239
|
+
/**
|
|
240
|
+
* Organization-admin helper to search employee bundles through the frontend runtime.
|
|
241
|
+
*/
|
|
242
|
+
async searchOrganizationEmployees(params) {
|
|
243
|
+
if (!this.orgAdmin?.admin) {
|
|
244
|
+
throw new Error('orgAdmin.admin service is not available for this profile.');
|
|
245
|
+
}
|
|
246
|
+
return this.orgAdmin.admin.searchOrganizationEmployees(params.providerDid, params.idToken, {
|
|
247
|
+
employeeClaims: params.employeeClaims,
|
|
248
|
+
requestThid: params.requestThid,
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Organization-admin helper to search/list tenant-owned license seats.
|
|
253
|
+
*/
|
|
254
|
+
async searchOrganizationLicenses(params) {
|
|
255
|
+
if (!this.orgAdmin?.admin) {
|
|
256
|
+
throw new Error('orgAdmin.admin service is not available for this profile.');
|
|
257
|
+
}
|
|
258
|
+
return this.orgAdmin.admin.searchOrganizationLicenses(params.providerDid, params.idToken, {
|
|
259
|
+
licenseQuery: params.licenseQuery,
|
|
260
|
+
requestThid: params.requestThid,
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Organization-admin helper to search/list hosted commercial offer records.
|
|
265
|
+
*/
|
|
266
|
+
async searchOrganizationLicenseOffers(params) {
|
|
267
|
+
if (!this.orgAdmin?.admin) {
|
|
268
|
+
throw new Error('orgAdmin.admin service is not available for this profile.');
|
|
269
|
+
}
|
|
270
|
+
return this.orgAdmin.admin.searchOrganizationLicenseOffers(params.providerDid, params.idToken, {
|
|
271
|
+
offerQuery: params.offerQuery,
|
|
272
|
+
requestThid: params.requestThid,
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Family-admin helper to search/list subject-side commercial offer records.
|
|
277
|
+
*/
|
|
278
|
+
async searchIndividualLicenseOffers(params) {
|
|
279
|
+
if (!this.familyAdmin?.admin) {
|
|
280
|
+
throw new Error('familyAdmin.admin service is not available for this profile.');
|
|
281
|
+
}
|
|
282
|
+
return this.familyAdmin.admin.searchIndividualLicenseOffers(params.providerDid, params.idToken, {
|
|
283
|
+
offerQuery: params.offerQuery,
|
|
284
|
+
requestThid: params.requestThid,
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Organization-admin helper to search/list hosted commercial order/payment records.
|
|
289
|
+
*/
|
|
290
|
+
async searchOrganizationLicenseOrders(params) {
|
|
291
|
+
if (!this.orgAdmin?.admin) {
|
|
292
|
+
throw new Error('orgAdmin.admin service is not available for this profile.');
|
|
293
|
+
}
|
|
294
|
+
return this.orgAdmin.admin.searchOrganizationLicenseOrders(params.providerDid, params.idToken, {
|
|
295
|
+
orderQuery: params.orderQuery,
|
|
296
|
+
requestThid: params.requestThid,
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Family-admin helper to search/list subject-side commercial order/payment records.
|
|
301
|
+
*/
|
|
302
|
+
async searchIndividualLicenseOrders(params) {
|
|
303
|
+
if (!this.familyAdmin?.admin) {
|
|
304
|
+
throw new Error('familyAdmin.admin service is not available for this profile.');
|
|
305
|
+
}
|
|
306
|
+
return this.familyAdmin.admin.searchIndividualLicenseOrders(params.providerDid, params.idToken, {
|
|
307
|
+
orderQuery: params.orderQuery,
|
|
308
|
+
requestThid: params.requestThid,
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Family/individual-admin helper to search/list subject-side license seats.
|
|
313
|
+
*/
|
|
314
|
+
async searchIndividualLicenses(params) {
|
|
315
|
+
if (!this.familyAdmin?.admin) {
|
|
316
|
+
throw new Error('familyAdmin.admin service is not available for this profile.');
|
|
317
|
+
}
|
|
318
|
+
return this.familyAdmin.admin.searchIndividualLicenses(params.providerDid, params.idToken, {
|
|
319
|
+
licenseQuery: params.licenseQuery,
|
|
320
|
+
requestThid: params.requestThid,
|
|
321
|
+
});
|
|
322
|
+
}
|
|
154
323
|
/**
|
|
155
324
|
* Family/individual-admin helper for subject organization/index bootstrap.
|
|
156
325
|
*/
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { LoadedActorProfile, ProfileLoadRequest, SubjectIndexCompositionRequest, SubjectIndexConnectionRequest, TrustedDeviceRegistrationRequest } from 'gdc-sdk-core-ts';
|
|
2
|
+
/**
|
|
3
|
+
* Result of registering one trusted frontend device/runtime context.
|
|
4
|
+
*/
|
|
5
|
+
export type FrontendTrustedDeviceRegistrationResult = {
|
|
6
|
+
trustedDeviceId: string;
|
|
7
|
+
status: 'registered' | 'already-trusted';
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Result of connecting one loaded actor profile to one subject index from a
|
|
11
|
+
* frontend runtime.
|
|
12
|
+
*/
|
|
13
|
+
export type FrontendSubjectIndexConnectionResult = {
|
|
14
|
+
subjectId: string;
|
|
15
|
+
userId: string;
|
|
16
|
+
userRoleCode: string;
|
|
17
|
+
status: 'connected' | 'already-connected';
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Result of reading one subject index composition from a frontend runtime.
|
|
21
|
+
*/
|
|
22
|
+
export type FrontendSubjectIndexCompositionResult = {
|
|
23
|
+
subjectId: string;
|
|
24
|
+
userId: string;
|
|
25
|
+
userRoleCode: string;
|
|
26
|
+
composition: unknown;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Canonical frontend runtime contract for:
|
|
30
|
+
* - loading one actor profile,
|
|
31
|
+
* - registering one trusted device/runtime context,
|
|
32
|
+
* - connecting one actor to one subject index, and
|
|
33
|
+
* - reading the resulting subject index composition.
|
|
34
|
+
*/
|
|
35
|
+
export type FrontendProfileRuntimeClient = {
|
|
36
|
+
loadProfile?: (input: ProfileLoadRequest) => Promise<LoadedActorProfile>;
|
|
37
|
+
registerTrustedDevice?: (input: TrustedDeviceRegistrationRequest) => Promise<FrontendTrustedDeviceRegistrationResult>;
|
|
38
|
+
connectToSubjectIndex?: (input: SubjectIndexConnectionRequest) => Promise<FrontendSubjectIndexConnectionResult>;
|
|
39
|
+
getSubjectIndexComposition?: (input: SubjectIndexCompositionRequest) => Promise<FrontendSubjectIndexCompositionResult>;
|
|
40
|
+
};
|
|
41
|
+
export type FrontendProfileRuntimeAdapters = {
|
|
42
|
+
loadProfile(input: ProfileLoadRequest): Promise<LoadedActorProfile>;
|
|
43
|
+
registerTrustedDevice(input: TrustedDeviceRegistrationRequest): Promise<FrontendTrustedDeviceRegistrationResult>;
|
|
44
|
+
connectToSubjectIndex(input: SubjectIndexConnectionRequest): Promise<FrontendSubjectIndexConnectionResult>;
|
|
45
|
+
getSubjectIndexComposition(input: SubjectIndexCompositionRequest): Promise<FrontendSubjectIndexCompositionResult>;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Default frontend-generic profile runtime implementation backed by injected
|
|
49
|
+
* adapters.
|
|
50
|
+
*/
|
|
51
|
+
export declare class FrontendProfileRuntime implements FrontendProfileRuntimeClient {
|
|
52
|
+
private readonly adapters;
|
|
53
|
+
constructor(adapters: FrontendProfileRuntimeAdapters);
|
|
54
|
+
loadProfile(input: ProfileLoadRequest): Promise<LoadedActorProfile>;
|
|
55
|
+
registerTrustedDevice(input: TrustedDeviceRegistrationRequest): Promise<FrontendTrustedDeviceRegistrationResult>;
|
|
56
|
+
connectToSubjectIndex(input: SubjectIndexConnectionRequest): Promise<FrontendSubjectIndexConnectionResult>;
|
|
57
|
+
getSubjectIndexComposition(input: SubjectIndexCompositionRequest): Promise<FrontendSubjectIndexCompositionResult>;
|
|
58
|
+
}
|
|
59
|
+
export declare function requireFrontendProfileRuntimeMethod<T extends keyof FrontendProfileRuntimeClient>(client: FrontendProfileRuntimeClient, method: T): NonNullable<FrontendProfileRuntimeClient[T]>;
|
|
60
|
+
export declare function loadFrontendProfile(client: FrontendProfileRuntimeClient, input: ProfileLoadRequest): Promise<LoadedActorProfile>;
|
|
61
|
+
export declare function registerFrontendTrustedDevice(client: FrontendProfileRuntimeClient, input: TrustedDeviceRegistrationRequest): Promise<FrontendTrustedDeviceRegistrationResult>;
|
|
62
|
+
export declare function connectFrontendToSubjectIndex(client: FrontendProfileRuntimeClient, input: SubjectIndexConnectionRequest): Promise<FrontendSubjectIndexConnectionResult>;
|
|
63
|
+
export declare function getFrontendSubjectIndexComposition(client: FrontendProfileRuntimeClient, input: SubjectIndexCompositionRequest): Promise<FrontendSubjectIndexCompositionResult>;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// Copyright 2026 Antifraud Services Inc. under the Apache License, Version 2.0.
|
|
2
|
+
/**
|
|
3
|
+
* Default frontend-generic profile runtime implementation backed by injected
|
|
4
|
+
* adapters.
|
|
5
|
+
*/
|
|
6
|
+
export class FrontendProfileRuntime {
|
|
7
|
+
constructor(adapters) {
|
|
8
|
+
this.adapters = adapters;
|
|
9
|
+
}
|
|
10
|
+
async loadProfile(input) {
|
|
11
|
+
return this.adapters.loadProfile(input);
|
|
12
|
+
}
|
|
13
|
+
async registerTrustedDevice(input) {
|
|
14
|
+
return this.adapters.registerTrustedDevice(input);
|
|
15
|
+
}
|
|
16
|
+
async connectToSubjectIndex(input) {
|
|
17
|
+
return this.adapters.connectToSubjectIndex(input);
|
|
18
|
+
}
|
|
19
|
+
async getSubjectIndexComposition(input) {
|
|
20
|
+
return this.adapters.getSubjectIndexComposition(input);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export function requireFrontendProfileRuntimeMethod(client, method) {
|
|
24
|
+
const candidate = client[method];
|
|
25
|
+
if (typeof candidate !== 'function') {
|
|
26
|
+
throw new Error(`FrontendProfileRuntimeClient does not implement '${String(method)}'.`);
|
|
27
|
+
}
|
|
28
|
+
return candidate.bind(client);
|
|
29
|
+
}
|
|
30
|
+
export async function loadFrontendProfile(client, input) {
|
|
31
|
+
return requireFrontendProfileRuntimeMethod(client, 'loadProfile')(input);
|
|
32
|
+
}
|
|
33
|
+
export async function registerFrontendTrustedDevice(client, input) {
|
|
34
|
+
return requireFrontendProfileRuntimeMethod(client, 'registerTrustedDevice')(input);
|
|
35
|
+
}
|
|
36
|
+
export async function connectFrontendToSubjectIndex(client, input) {
|
|
37
|
+
return requireFrontendProfileRuntimeMethod(client, 'connectToSubjectIndex')(input);
|
|
38
|
+
}
|
|
39
|
+
export async function getFrontendSubjectIndexComposition(client, input) {
|
|
40
|
+
return requireFrontendProfileRuntimeMethod(client, 'getSubjectIndexComposition')(input);
|
|
41
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ export * from './VerifierService.js';
|
|
|
11
11
|
export * from './ProfileManager.js';
|
|
12
12
|
export * from './ProfileRegistry.js';
|
|
13
13
|
export * from './ClientSDK.js';
|
|
14
|
+
export * from './frontend-profile-runtime.js';
|
|
15
|
+
export * from './individual-controller-frontend-runtime.js';
|
|
14
16
|
export * from './discovery/index.js';
|
|
15
17
|
export * from './orchestration/client-port.js';
|
|
16
18
|
export * from './orchestration/host-onboarding-sdk.js';
|
package/dist/index.js
CHANGED
|
@@ -12,6 +12,8 @@ export * from './VerifierService.js';
|
|
|
12
12
|
export * from './ProfileManager.js';
|
|
13
13
|
export * from './ProfileRegistry.js';
|
|
14
14
|
export * from './ClientSDK.js';
|
|
15
|
+
export * from './frontend-profile-runtime.js';
|
|
16
|
+
export * from './individual-controller-frontend-runtime.js';
|
|
15
17
|
export * from './discovery/index.js';
|
|
16
18
|
export * from './orchestration/client-port.js';
|
|
17
19
|
export * from './orchestration/host-onboarding-sdk.js';
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { SubmitAndPollResult } from 'gdc-sdk-core-ts';
|
|
2
|
+
import type { ProfileLoadRequest } from 'gdc-sdk-core-ts';
|
|
3
|
+
import { type FrontendProfileRuntimeClient } from './frontend-profile-runtime.js';
|
|
4
|
+
import { IndividualControllerSdk } from './orchestration/individual-controller-sdk.js';
|
|
5
|
+
import type { FrontClinicalBundleSearchInput, FrontIndividualOrganizationBootstrapInput, FrontIndividualOrganizationConfirmOrderInput, FrontIndividualOrganizationStartResult, FrontRouteContext, FrontRuntimeClient } from './orchestration/client-port.js';
|
|
6
|
+
import type { LoadedActorProfile } from 'gdc-sdk-core-ts';
|
|
7
|
+
export type FrontendIndividualControllerProfile = {
|
|
8
|
+
profile: LoadedActorProfile;
|
|
9
|
+
sdk: IndividualControllerSdk;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* First pragmatic frontend use-case wrapper on top of the generic v2 profile
|
|
13
|
+
* runtime.
|
|
14
|
+
*
|
|
15
|
+
* It keeps the generic `loadProfile(...)` contract intact while giving portal
|
|
16
|
+
* or app code one narrower surface for the current individual-controller
|
|
17
|
+
* baseline.
|
|
18
|
+
*/
|
|
19
|
+
export declare class IndividualControllerFrontendRuntime {
|
|
20
|
+
private readonly profileRuntime;
|
|
21
|
+
private readonly facadeClient;
|
|
22
|
+
constructor(profileRuntime: FrontendProfileRuntimeClient, facadeClient: FrontRuntimeClient);
|
|
23
|
+
/**
|
|
24
|
+
* Loads one frontend profile and ensures it exposes the individual-controller
|
|
25
|
+
* actor capability before materializing the facade.
|
|
26
|
+
*/
|
|
27
|
+
loadProfile(input: ProfileLoadRequest): Promise<FrontendIndividualControllerProfile>;
|
|
28
|
+
/**
|
|
29
|
+
* Starts the current individual/family bootstrap flow from frontend code.
|
|
30
|
+
*/
|
|
31
|
+
startIndividualOrganization(profile: FrontendIndividualControllerProfile, ctx: FrontRouteContext, input: FrontIndividualOrganizationBootstrapInput): Promise<FrontIndividualOrganizationStartResult>;
|
|
32
|
+
/**
|
|
33
|
+
* Confirms the order returned by the frontend bootstrap flow.
|
|
34
|
+
*/
|
|
35
|
+
confirmIndividualOrganizationOrder(profile: FrontendIndividualControllerProfile, ctx: FrontRouteContext, input: FrontIndividualOrganizationConfirmOrderInput): Promise<SubmitAndPollResult>;
|
|
36
|
+
/**
|
|
37
|
+
* Searches the subject clinical index from the frontend individual-controller
|
|
38
|
+
* facade.
|
|
39
|
+
*/
|
|
40
|
+
searchClinicalBundle(profile: FrontendIndividualControllerProfile, ctx: FrontRouteContext, input: FrontClinicalBundleSearchInput): Promise<{
|
|
41
|
+
thid: string;
|
|
42
|
+
}>;
|
|
43
|
+
/**
|
|
44
|
+
* Reads the latest IPS-oriented bundle from the frontend individual-controller
|
|
45
|
+
* facade.
|
|
46
|
+
*/
|
|
47
|
+
getLatestIps(profile: FrontendIndividualControllerProfile, ctx: FrontRouteContext, subject: string): Promise<{
|
|
48
|
+
thid: string;
|
|
49
|
+
}>;
|
|
50
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// Copyright 2026 Antifraud Services Inc. under the Apache License, Version 2.0.
|
|
2
|
+
import { ActorKinds } from 'gdc-common-utils-ts/constants/actor-session';
|
|
3
|
+
import { loadFrontendProfile, } from './frontend-profile-runtime.js';
|
|
4
|
+
import { IndividualControllerSdk } from './orchestration/individual-controller-sdk.js';
|
|
5
|
+
/**
|
|
6
|
+
* First pragmatic frontend use-case wrapper on top of the generic v2 profile
|
|
7
|
+
* runtime.
|
|
8
|
+
*
|
|
9
|
+
* It keeps the generic `loadProfile(...)` contract intact while giving portal
|
|
10
|
+
* or app code one narrower surface for the current individual-controller
|
|
11
|
+
* baseline.
|
|
12
|
+
*/
|
|
13
|
+
export class IndividualControllerFrontendRuntime {
|
|
14
|
+
constructor(profileRuntime, facadeClient) {
|
|
15
|
+
this.profileRuntime = profileRuntime;
|
|
16
|
+
this.facadeClient = facadeClient;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Loads one frontend profile and ensures it exposes the individual-controller
|
|
20
|
+
* actor capability before materializing the facade.
|
|
21
|
+
*/
|
|
22
|
+
async loadProfile(input) {
|
|
23
|
+
const profile = await loadFrontendProfile(this.profileRuntime, input);
|
|
24
|
+
if (!profile.session.actorKinds.includes(ActorKinds.IndividualController)) {
|
|
25
|
+
throw new Error('Loaded frontend profile does not expose actor kind \'individual_controller\'.');
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
profile,
|
|
29
|
+
sdk: new IndividualControllerSdk(this.facadeClient),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Starts the current individual/family bootstrap flow from frontend code.
|
|
34
|
+
*/
|
|
35
|
+
startIndividualOrganization(profile, ctx, input) {
|
|
36
|
+
return profile.sdk.startIndividualOrganization(ctx, input);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Confirms the order returned by the frontend bootstrap flow.
|
|
40
|
+
*/
|
|
41
|
+
confirmIndividualOrganizationOrder(profile, ctx, input) {
|
|
42
|
+
return profile.sdk.confirmIndividualOrganizationOrder(ctx, input);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Searches the subject clinical index from the frontend individual-controller
|
|
46
|
+
* facade.
|
|
47
|
+
*/
|
|
48
|
+
searchClinicalBundle(profile, ctx, input) {
|
|
49
|
+
return profile.sdk.searchClinicalBundle(ctx, input);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Reads the latest IPS-oriented bundle from the frontend individual-controller
|
|
53
|
+
* facade.
|
|
54
|
+
*/
|
|
55
|
+
getLatestIps(profile, ctx, subject) {
|
|
56
|
+
return profile.sdk.getLatestIps(ctx, subject);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { DeviceAppType, DeviceUserClass } from 'gdc-common-utils-ts/constants';
|
|
2
|
+
import type { LicenseListSearchState } from 'gdc-common-utils-ts/utils/license-list-search';
|
|
3
|
+
import type { LicenseOfferSearchState, LicenseOrderSearchState } from 'gdc-common-utils-ts/utils/license-commercial-search';
|
|
2
4
|
import type { IndividualOnboardingDraftInput, IndividualOnboardingDraftResult } from 'gdc-common-utils-ts/models/individual-onboarding';
|
|
3
|
-
import type { BundleSearchQuery, CommunicationInput, PollOptions, SubmitAndPollResult, SubmitPayload } from 'gdc-sdk-core-ts';
|
|
5
|
+
import type { BundleSearchQuery, CommunicationInput, EmployeeSearchValue, HostLifecycleInput, HostRouteContext, HostedTenantLifecycleInput, OrganizationDidBindingInput, LegalOrganizationOrderInput, PollOptions, SubmitAndPollResult, SubmitPayload } from 'gdc-sdk-core-ts';
|
|
4
6
|
export type FrontRouteContext = {
|
|
5
7
|
providerDid: string;
|
|
6
8
|
idToken: string;
|
|
@@ -21,6 +23,7 @@ export type FrontOrganizationActivationInput = {
|
|
|
21
23
|
service?: Record<string, unknown>;
|
|
22
24
|
additionalClaims?: Record<string, unknown>;
|
|
23
25
|
};
|
|
26
|
+
export type FrontOrganizationDidBindingInput = OrganizationDidBindingInput;
|
|
24
27
|
export type FrontLegalOrganizationOrderInput = {
|
|
25
28
|
offerId: string;
|
|
26
29
|
orderClaims?: Record<string, unknown>;
|
|
@@ -36,6 +39,35 @@ export type FrontOrganizationEmployeeLifecycleInput = {
|
|
|
36
39
|
employeeClaims?: Record<string, unknown>;
|
|
37
40
|
resourceId?: string;
|
|
38
41
|
};
|
|
42
|
+
export type FrontOrganizationEmployeeSearchInput = {
|
|
43
|
+
employeeClaims?: Record<string, EmployeeSearchValue>;
|
|
44
|
+
requestThid?: string;
|
|
45
|
+
pollOptions?: PollOptions;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Frontend/runtime search/list input for license seats.
|
|
49
|
+
*/
|
|
50
|
+
export type FrontLicenseListSearchInput = {
|
|
51
|
+
licenseQuery?: Partial<LicenseListSearchState>;
|
|
52
|
+
requestThid?: string;
|
|
53
|
+
pollOptions?: PollOptions;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Frontend/runtime search/list input for commercial offer read-models.
|
|
57
|
+
*/
|
|
58
|
+
export type FrontLicenseOfferSearchInput = {
|
|
59
|
+
offerQuery?: Partial<LicenseOfferSearchState>;
|
|
60
|
+
requestThid?: string;
|
|
61
|
+
pollOptions?: PollOptions;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Frontend/runtime search/list input for commercial order/payment read-models.
|
|
65
|
+
*/
|
|
66
|
+
export type FrontLicenseOrderSearchInput = {
|
|
67
|
+
orderQuery?: Partial<LicenseOrderSearchState>;
|
|
68
|
+
requestThid?: string;
|
|
69
|
+
pollOptions?: PollOptions;
|
|
70
|
+
};
|
|
39
71
|
export type FrontEmployeeDeviceActivationRequestInput = {
|
|
40
72
|
activationCode: string;
|
|
41
73
|
dcrPayload?: Record<string, unknown>;
|
|
@@ -134,11 +166,23 @@ export type FrontDigitalTwinGenerationInput = {
|
|
|
134
166
|
format?: 'org.hl7.fhir.r4' | 'org.hl7.fhir.api';
|
|
135
167
|
};
|
|
136
168
|
export type FrontRuntimeClient = {
|
|
137
|
-
activateOrganizationInGatewayFromIcaProof?: (input: FrontOrganizationActivationInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
138
|
-
confirmLegalOrganizationOrder?: (input:
|
|
169
|
+
activateOrganizationInGatewayFromIcaProof?: (hostCtx: HostRouteContext, input: FrontOrganizationActivationInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
170
|
+
confirmLegalOrganizationOrder?: (hostCtx: HostRouteContext, input: LegalOrganizationOrderInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
171
|
+
disableHost?: (hostCtx: HostRouteContext, input: HostLifecycleInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
172
|
+
purgeHost?: (hostCtx: HostRouteContext, input: HostLifecycleInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
139
173
|
createOrganizationEmployee?: (ctx: FrontRouteContext, input: FrontOrganizationEmployeeCreationInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
174
|
+
submitOrganizationDidBinding?: (ctx: FrontRouteContext, input: FrontOrganizationDidBindingInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
140
175
|
disableEmployee?: (ctx: FrontRouteContext, input: FrontOrganizationEmployeeLifecycleInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
176
|
+
searchOrganizationEmployees?: (ctx: FrontRouteContext, input: FrontOrganizationEmployeeSearchInput) => Promise<SubmitAndPollResult>;
|
|
177
|
+
searchOrganizationLicenses?: (ctx: FrontRouteContext, input: FrontLicenseListSearchInput) => Promise<SubmitAndPollResult>;
|
|
178
|
+
listOrganizationLicenses?: (ctx: FrontRouteContext, input?: FrontLicenseListSearchInput) => Promise<SubmitAndPollResult>;
|
|
179
|
+
searchOrganizationLicenseOffers?: (ctx: FrontRouteContext, input: FrontLicenseOfferSearchInput) => Promise<SubmitAndPollResult>;
|
|
180
|
+
listOrganizationLicenseOffers?: (ctx: FrontRouteContext, input?: FrontLicenseOfferSearchInput) => Promise<SubmitAndPollResult>;
|
|
181
|
+
searchOrganizationLicenseOrders?: (ctx: FrontRouteContext, input: FrontLicenseOrderSearchInput) => Promise<SubmitAndPollResult>;
|
|
182
|
+
listOrganizationLicenseOrders?: (ctx: FrontRouteContext, input?: FrontLicenseOrderSearchInput) => Promise<SubmitAndPollResult>;
|
|
141
183
|
purgeEmployee?: (ctx: FrontRouteContext, input: FrontOrganizationEmployeeLifecycleInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
184
|
+
disableTenant?: (hostCtx: HostRouteContext, input: HostedTenantLifecycleInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
185
|
+
purgeTenant?: (hostCtx: HostRouteContext, input: HostedTenantLifecycleInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
142
186
|
activateEmployeeDeviceWithActivationRequest?: (ctx: FrontRouteContext, input: FrontEmployeeDeviceActivationRequestInput) => Promise<SubmitAndPollResult>;
|
|
143
187
|
requestSmartToken?: (input: FrontSmartTokenRequestInput) => Promise<FrontSmartTokenExchangeResult>;
|
|
144
188
|
startIndividualOrganization?: (ctx: FrontRouteContext, input: FrontIndividualOrganizationBootstrapInput) => Promise<FrontIndividualOrganizationStartResult>;
|
|
@@ -148,6 +192,12 @@ export type FrontRuntimeClient = {
|
|
|
148
192
|
purgeIndividual?: (ctx: FrontRouteContext, input: FrontIndividualOrganizationLifecycleInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
149
193
|
disableIndividualMember?: (ctx: FrontRouteContext, input: FrontIndividualMemberLifecycleInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
150
194
|
purgeIndividualMember?: (ctx: FrontRouteContext, input: FrontIndividualMemberLifecycleInput, pollOptions?: PollOptions) => Promise<SubmitAndPollResult>;
|
|
195
|
+
searchIndividualLicenses?: (ctx: FrontRouteContext, input: FrontLicenseListSearchInput) => Promise<SubmitAndPollResult>;
|
|
196
|
+
listIndividualLicenses?: (ctx: FrontRouteContext, input?: FrontLicenseListSearchInput) => Promise<SubmitAndPollResult>;
|
|
197
|
+
searchIndividualLicenseOffers?: (ctx: FrontRouteContext, input: FrontLicenseOfferSearchInput) => Promise<SubmitAndPollResult>;
|
|
198
|
+
listIndividualLicenseOffers?: (ctx: FrontRouteContext, input?: FrontLicenseOfferSearchInput) => Promise<SubmitAndPollResult>;
|
|
199
|
+
searchIndividualLicenseOrders?: (ctx: FrontRouteContext, input: FrontLicenseOrderSearchInput) => Promise<SubmitAndPollResult>;
|
|
200
|
+
listIndividualLicenseOrders?: (ctx: FrontRouteContext, input?: FrontLicenseOrderSearchInput) => Promise<SubmitAndPollResult>;
|
|
151
201
|
grantProfessionalAccess?: (ctx: FrontRouteContext, input: FrontGrantProfessionalAccessInput) => Promise<FrontGrantProfessionalAccessResult>;
|
|
152
202
|
importIpsOrFhirAndUpdateIndex?: (ctx: FrontRouteContext, input: FrontIpsOrFhirImportInput) => Promise<SubmitAndPollResult>;
|
|
153
203
|
upsertRelatedPersonAndPoll?: (ctx: FrontRouteContext, input: FrontRelatedPersonUpsertInput) => Promise<SubmitAndPollResult>;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import type { PollOptions, SubmitAndPollResult, SubmitPayload } from 'gdc-sdk-core-ts';
|
|
2
|
-
import { type
|
|
1
|
+
import type { HostLifecycleInput, HostRouteContext, PollOptions, SubmitAndPollResult, SubmitPayload } from 'gdc-sdk-core-ts';
|
|
2
|
+
import { type FrontOrganizationActivationInput, type FrontRuntimeClient } from './client-port.js';
|
|
3
|
+
import type { LegalOrganizationOrderInput } from 'gdc-sdk-core-ts';
|
|
3
4
|
export declare class HostOnboardingSdk {
|
|
4
5
|
private readonly client;
|
|
5
6
|
constructor(client: FrontRuntimeClient);
|
|
6
|
-
activateOrganizationInGatewayFromIcaProof(input: FrontOrganizationActivationInput, pollOptions?: PollOptions): Promise<SubmitAndPollResult>;
|
|
7
|
-
confirmLegalOrganizationOrder(input:
|
|
7
|
+
activateOrganizationInGatewayFromIcaProof(hostCtx: HostRouteContext, input: FrontOrganizationActivationInput, pollOptions?: PollOptions): Promise<SubmitAndPollResult>;
|
|
8
|
+
confirmLegalOrganizationOrder(hostCtx: HostRouteContext, input: LegalOrganizationOrderInput, pollOptions?: PollOptions): Promise<SubmitAndPollResult>;
|
|
9
|
+
disableHost(hostCtx: HostRouteContext, input: HostLifecycleInput, pollOptions?: PollOptions): Promise<SubmitAndPollResult>;
|
|
10
|
+
purgeHost(hostCtx: HostRouteContext, input: HostLifecycleInput, pollOptions?: PollOptions): Promise<SubmitAndPollResult>;
|
|
8
11
|
submitAndPoll(submitPath: string, pollPath: string, payload: SubmitPayload, pollOptions?: PollOptions): Promise<SubmitAndPollResult>;
|
|
9
12
|
}
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
// Copyright 2026 Antifraud Services Inc. under the Apache License, Version 2.0.
|
|
2
|
-
import { requireClientMethod } from './client-port.js';
|
|
2
|
+
import { requireClientMethod, } from './client-port.js';
|
|
3
3
|
export class HostOnboardingSdk {
|
|
4
4
|
constructor(client) {
|
|
5
5
|
this.client = client;
|
|
6
6
|
}
|
|
7
|
-
activateOrganizationInGatewayFromIcaProof(input, pollOptions) {
|
|
8
|
-
return requireClientMethod(this.client, 'activateOrganizationInGatewayFromIcaProof')(input, pollOptions);
|
|
7
|
+
activateOrganizationInGatewayFromIcaProof(hostCtx, input, pollOptions) {
|
|
8
|
+
return requireClientMethod(this.client, 'activateOrganizationInGatewayFromIcaProof')(hostCtx, input, pollOptions);
|
|
9
9
|
}
|
|
10
|
-
confirmLegalOrganizationOrder(input, pollOptions) {
|
|
11
|
-
return requireClientMethod(this.client, 'confirmLegalOrganizationOrder')(input, pollOptions);
|
|
10
|
+
confirmLegalOrganizationOrder(hostCtx, input, pollOptions) {
|
|
11
|
+
return requireClientMethod(this.client, 'confirmLegalOrganizationOrder')(hostCtx, input, pollOptions);
|
|
12
|
+
}
|
|
13
|
+
disableHost(hostCtx, input, pollOptions) {
|
|
14
|
+
return requireClientMethod(this.client, 'disableHost')(hostCtx, input, pollOptions);
|
|
15
|
+
}
|
|
16
|
+
purgeHost(hostCtx, input, pollOptions) {
|
|
17
|
+
return requireClientMethod(this.client, 'purgeHost')(hostCtx, input, pollOptions);
|
|
12
18
|
}
|
|
13
19
|
submitAndPoll(submitPath, pollPath, payload, pollOptions) {
|
|
14
20
|
return requireClientMethod(this.client, 'submitAndPoll')(submitPath, pollPath, payload, pollOptions);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PollOptions, SubmitAndPollResult } from 'gdc-sdk-core-ts';
|
|
2
|
-
import { type FrontCommunicationIngestionInput, type FrontDigitalTwinGenerationInput, type FrontGrantProfessionalAccessInput, type FrontGrantProfessionalAccessResult, type FrontIndividualMemberLifecycleInput, type FrontIndividualOnboardingPdfDraftInput, type FrontIndividualOnboardingPdfDraftResult, type FrontIndividualOrganizationBootstrapInput, type FrontIndividualOrganizationConfirmOrderInput, type FrontIndividualOrganizationLifecycleInput, type FrontIndividualOrganizationStartResult, type FrontIpsOrFhirImportInput, type FrontRelatedPersonUpsertInput, type FrontRouteContext, type FrontRuntimeClient, type FrontSmartTokenExchangeResult, type FrontSmartTokenRequestInput } from './client-port.js';
|
|
2
|
+
import { type FrontClinicalBundleSearchInput, type FrontCommunicationIngestionInput, type FrontDigitalTwinGenerationInput, type FrontGrantProfessionalAccessInput, type FrontGrantProfessionalAccessResult, type FrontIndividualMemberLifecycleInput, type FrontIndividualOnboardingPdfDraftInput, type FrontIndividualOnboardingPdfDraftResult, type FrontIndividualOrganizationBootstrapInput, type FrontIndividualOrganizationConfirmOrderInput, type FrontIndividualOrganizationLifecycleInput, type FrontIndividualOrganizationStartResult, type FrontIpsOrFhirImportInput, type FrontLicenseListSearchInput, type FrontLicenseOfferSearchInput, type FrontLicenseOrderSearchInput, type FrontRelatedPersonUpsertInput, type FrontRouteContext, type FrontRuntimeClient, type FrontSmartTokenExchangeResult, type FrontSmartTokenRequestInput } from './client-port.js';
|
|
3
3
|
export declare class IndividualControllerSdk {
|
|
4
4
|
private readonly client;
|
|
5
5
|
constructor(client: FrontRuntimeClient);
|
|
@@ -15,5 +15,22 @@ export declare class IndividualControllerSdk {
|
|
|
15
15
|
upsertRelatedPersonAndPoll(ctx: FrontRouteContext, input: FrontRelatedPersonUpsertInput): Promise<SubmitAndPollResult>;
|
|
16
16
|
ingestCommunicationAndUpdateIndex(ctx: FrontRouteContext, input: FrontCommunicationIngestionInput): Promise<SubmitAndPollResult>;
|
|
17
17
|
generateDigitalTwinFromSubjectData(ctx: FrontRouteContext, input: FrontDigitalTwinGenerationInput): Promise<SubmitAndPollResult>;
|
|
18
|
+
searchClinicalBundle(ctx: FrontRouteContext, input: FrontClinicalBundleSearchInput): Promise<{
|
|
19
|
+
thid: string;
|
|
20
|
+
}>;
|
|
21
|
+
getLatestIps(ctx: FrontRouteContext, subject: string): Promise<{
|
|
22
|
+
thid: string;
|
|
23
|
+
}>;
|
|
24
|
+
searchLicenses(ctx: FrontRouteContext, input: FrontLicenseListSearchInput): Promise<SubmitAndPollResult>;
|
|
25
|
+
/** Lists subject/individual-side license seats with optional filters. */
|
|
26
|
+
listLicenses(ctx: FrontRouteContext, input?: FrontLicenseListSearchInput): Promise<SubmitAndPollResult>;
|
|
27
|
+
/** Searches subject-side commercial offer records that back portal list/detail views. */
|
|
28
|
+
searchLicenseOffers(ctx: FrontRouteContext, input: FrontLicenseOfferSearchInput): Promise<SubmitAndPollResult>;
|
|
29
|
+
/** Lists subject-side commercial offer records without requiring explicit filters. */
|
|
30
|
+
listLicenseOffers(ctx: FrontRouteContext, input?: FrontLicenseOfferSearchInput): Promise<SubmitAndPollResult>;
|
|
31
|
+
/** Searches subject-side commercial order/payment records for portal read-model flows. */
|
|
32
|
+
searchLicenseOrders(ctx: FrontRouteContext, input: FrontLicenseOrderSearchInput): Promise<SubmitAndPollResult>;
|
|
33
|
+
/** Lists subject-side commercial order/payment records without requiring explicit filters. */
|
|
34
|
+
listLicenseOrders(ctx: FrontRouteContext, input?: FrontLicenseOrderSearchInput): Promise<SubmitAndPollResult>;
|
|
18
35
|
requestSmartToken(input: FrontSmartTokenRequestInput): Promise<FrontSmartTokenExchangeResult>;
|
|
19
36
|
}
|
|
@@ -40,6 +40,35 @@ export class IndividualControllerSdk {
|
|
|
40
40
|
generateDigitalTwinFromSubjectData(ctx, input) {
|
|
41
41
|
return requireClientMethod(this.client, 'generateDigitalTwinFromSubjectData')(ctx, input);
|
|
42
42
|
}
|
|
43
|
+
searchClinicalBundle(ctx, input) {
|
|
44
|
+
return requireClientMethod(this.client, 'searchClinicalBundle')(ctx, input);
|
|
45
|
+
}
|
|
46
|
+
getLatestIps(ctx, subject) {
|
|
47
|
+
return requireClientMethod(this.client, 'getLatestIps')(ctx, subject);
|
|
48
|
+
}
|
|
49
|
+
searchLicenses(ctx, input) {
|
|
50
|
+
return requireClientMethod(this.client, 'searchIndividualLicenses')(ctx, input);
|
|
51
|
+
}
|
|
52
|
+
/** Lists subject/individual-side license seats with optional filters. */
|
|
53
|
+
listLicenses(ctx, input = {}) {
|
|
54
|
+
return requireClientMethod(this.client, 'listIndividualLicenses')(ctx, input);
|
|
55
|
+
}
|
|
56
|
+
/** Searches subject-side commercial offer records that back portal list/detail views. */
|
|
57
|
+
searchLicenseOffers(ctx, input) {
|
|
58
|
+
return requireClientMethod(this.client, 'searchIndividualLicenseOffers')(ctx, input);
|
|
59
|
+
}
|
|
60
|
+
/** Lists subject-side commercial offer records without requiring explicit filters. */
|
|
61
|
+
listLicenseOffers(ctx, input = {}) {
|
|
62
|
+
return requireClientMethod(this.client, 'listIndividualLicenseOffers')(ctx, input);
|
|
63
|
+
}
|
|
64
|
+
/** Searches subject-side commercial order/payment records for portal read-model flows. */
|
|
65
|
+
searchLicenseOrders(ctx, input) {
|
|
66
|
+
return requireClientMethod(this.client, 'searchIndividualLicenseOrders')(ctx, input);
|
|
67
|
+
}
|
|
68
|
+
/** Lists subject-side commercial order/payment records without requiring explicit filters. */
|
|
69
|
+
listLicenseOrders(ctx, input = {}) {
|
|
70
|
+
return requireClientMethod(this.client, 'listIndividualLicenseOrders')(ctx, input);
|
|
71
|
+
}
|
|
43
72
|
requestSmartToken(input) {
|
|
44
73
|
return requireClientMethod(this.client, 'requestSmartToken')(input);
|
|
45
74
|
}
|
|
@@ -1,11 +1,40 @@
|
|
|
1
|
-
import type { PollOptions, SubmitAndPollResult } from 'gdc-sdk-core-ts';
|
|
2
|
-
import { type FrontEmployeeDeviceActivationRequestInput, type FrontOrganizationEmployeeCreationInput, type FrontOrganizationEmployeeLifecycleInput, type FrontRouteContext, type FrontRuntimeClient, type FrontSmartTokenExchangeResult, type FrontSmartTokenRequestInput } from './client-port.js';
|
|
1
|
+
import type { HostRouteContext, HostedTenantLifecycleInput, PollOptions, SubmitAndPollResult } from 'gdc-sdk-core-ts';
|
|
2
|
+
import { type FrontEmployeeDeviceActivationRequestInput, type FrontLicenseListSearchInput, type FrontLicenseOfferSearchInput, type FrontLicenseOrderSearchInput, type FrontOrganizationDidBindingInput, type FrontOrganizationEmployeeCreationInput, type FrontOrganizationEmployeeLifecycleInput, type FrontOrganizationEmployeeSearchInput, type FrontRouteContext, type FrontRuntimeClient, type FrontSmartTokenExchangeResult, type FrontSmartTokenRequestInput } from './client-port.js';
|
|
3
3
|
export declare class OrganizationControllerSdk {
|
|
4
4
|
private readonly client;
|
|
5
5
|
constructor(client: FrontRuntimeClient);
|
|
6
|
+
/**
|
|
7
|
+
* Binds the current tenant organization DID document to one public alias
|
|
8
|
+
* view.
|
|
9
|
+
*
|
|
10
|
+
* Alias contract:
|
|
11
|
+
* - the current tenant path identifies the organization
|
|
12
|
+
* - `organization.url` carries the public alias/domain list
|
|
13
|
+
* - `controller.sameAs` is optional corroborating identity evidence
|
|
14
|
+
*
|
|
15
|
+
* Current version limits:
|
|
16
|
+
* - this binding flow does not accept new organization public keys
|
|
17
|
+
*/
|
|
18
|
+
submitOrganizationDidBinding(ctx: FrontRouteContext, input: FrontOrganizationDidBindingInput, pollOptions?: PollOptions): Promise<SubmitAndPollResult>;
|
|
6
19
|
createOrganizationEmployee(ctx: FrontRouteContext, input: FrontOrganizationEmployeeCreationInput, pollOptions?: PollOptions): Promise<SubmitAndPollResult>;
|
|
7
20
|
disableEmployee(ctx: FrontRouteContext, input: FrontOrganizationEmployeeLifecycleInput, pollOptions?: PollOptions): Promise<SubmitAndPollResult>;
|
|
21
|
+
searchOrganizationEmployees(ctx: FrontRouteContext, input: FrontOrganizationEmployeeSearchInput): Promise<SubmitAndPollResult>;
|
|
22
|
+
searchLicenses(ctx: FrontRouteContext, input: FrontLicenseListSearchInput): Promise<SubmitAndPollResult>;
|
|
23
|
+
/** Lists organization-owned license seats with optional filters. */
|
|
24
|
+
listLicenses(ctx: FrontRouteContext, input?: FrontLicenseListSearchInput): Promise<SubmitAndPollResult>;
|
|
25
|
+
/** Searches hosted commercial offer records that back portal list/detail views. */
|
|
26
|
+
searchLicenseOffers(ctx: FrontRouteContext, input: FrontLicenseOfferSearchInput): Promise<SubmitAndPollResult>;
|
|
27
|
+
/** Lists hosted commercial offer records without requiring explicit filters. */
|
|
28
|
+
listLicenseOffers(ctx: FrontRouteContext, input?: FrontLicenseOfferSearchInput): Promise<SubmitAndPollResult>;
|
|
29
|
+
/** Searches hosted commercial order/payment records for portal read-model flows. */
|
|
30
|
+
searchLicenseOrders(ctx: FrontRouteContext, input: FrontLicenseOrderSearchInput): Promise<SubmitAndPollResult>;
|
|
31
|
+
/** Lists hosted commercial order/payment records without requiring explicit filters. */
|
|
32
|
+
listLicenseOrders(ctx: FrontRouteContext, input?: FrontLicenseOrderSearchInput): Promise<SubmitAndPollResult>;
|
|
8
33
|
purgeEmployee(ctx: FrontRouteContext, input: FrontOrganizationEmployeeLifecycleInput, pollOptions?: PollOptions): Promise<SubmitAndPollResult>;
|
|
34
|
+
/** Disables the hosted tenant itself through the host registry. */
|
|
35
|
+
disableTenant(hostCtx: HostRouteContext, input: HostedTenantLifecycleInput, pollOptions?: PollOptions): Promise<SubmitAndPollResult>;
|
|
36
|
+
/** Purges the already-disabled hosted tenant through the host registry. */
|
|
37
|
+
purgeTenant(hostCtx: HostRouteContext, input: HostedTenantLifecycleInput, pollOptions?: PollOptions): Promise<SubmitAndPollResult>;
|
|
9
38
|
activateEmployeeDeviceWithActivationRequest(ctx: FrontRouteContext, input: FrontEmployeeDeviceActivationRequestInput): Promise<SubmitAndPollResult>;
|
|
10
39
|
requestSmartToken(input: FrontSmartTokenRequestInput): Promise<FrontSmartTokenExchangeResult>;
|
|
11
40
|
}
|
|
@@ -4,15 +4,64 @@ export class OrganizationControllerSdk {
|
|
|
4
4
|
constructor(client) {
|
|
5
5
|
this.client = client;
|
|
6
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* Binds the current tenant organization DID document to one public alias
|
|
9
|
+
* view.
|
|
10
|
+
*
|
|
11
|
+
* Alias contract:
|
|
12
|
+
* - the current tenant path identifies the organization
|
|
13
|
+
* - `organization.url` carries the public alias/domain list
|
|
14
|
+
* - `controller.sameAs` is optional corroborating identity evidence
|
|
15
|
+
*
|
|
16
|
+
* Current version limits:
|
|
17
|
+
* - this binding flow does not accept new organization public keys
|
|
18
|
+
*/
|
|
19
|
+
submitOrganizationDidBinding(ctx, input, pollOptions) {
|
|
20
|
+
return requireClientMethod(this.client, 'submitOrganizationDidBinding')(ctx, input, pollOptions);
|
|
21
|
+
}
|
|
7
22
|
createOrganizationEmployee(ctx, input, pollOptions) {
|
|
8
23
|
return requireClientMethod(this.client, 'createOrganizationEmployee')(ctx, input, pollOptions);
|
|
9
24
|
}
|
|
10
25
|
disableEmployee(ctx, input, pollOptions) {
|
|
11
26
|
return requireClientMethod(this.client, 'disableEmployee')(ctx, input, pollOptions);
|
|
12
27
|
}
|
|
28
|
+
searchOrganizationEmployees(ctx, input) {
|
|
29
|
+
return requireClientMethod(this.client, 'searchOrganizationEmployees')(ctx, input);
|
|
30
|
+
}
|
|
31
|
+
searchLicenses(ctx, input) {
|
|
32
|
+
return requireClientMethod(this.client, 'searchOrganizationLicenses')(ctx, input);
|
|
33
|
+
}
|
|
34
|
+
/** Lists organization-owned license seats with optional filters. */
|
|
35
|
+
listLicenses(ctx, input = {}) {
|
|
36
|
+
return requireClientMethod(this.client, 'listOrganizationLicenses')(ctx, input);
|
|
37
|
+
}
|
|
38
|
+
/** Searches hosted commercial offer records that back portal list/detail views. */
|
|
39
|
+
searchLicenseOffers(ctx, input) {
|
|
40
|
+
return requireClientMethod(this.client, 'searchOrganizationLicenseOffers')(ctx, input);
|
|
41
|
+
}
|
|
42
|
+
/** Lists hosted commercial offer records without requiring explicit filters. */
|
|
43
|
+
listLicenseOffers(ctx, input = {}) {
|
|
44
|
+
return requireClientMethod(this.client, 'listOrganizationLicenseOffers')(ctx, input);
|
|
45
|
+
}
|
|
46
|
+
/** Searches hosted commercial order/payment records for portal read-model flows. */
|
|
47
|
+
searchLicenseOrders(ctx, input) {
|
|
48
|
+
return requireClientMethod(this.client, 'searchOrganizationLicenseOrders')(ctx, input);
|
|
49
|
+
}
|
|
50
|
+
/** Lists hosted commercial order/payment records without requiring explicit filters. */
|
|
51
|
+
listLicenseOrders(ctx, input = {}) {
|
|
52
|
+
return requireClientMethod(this.client, 'listOrganizationLicenseOrders')(ctx, input);
|
|
53
|
+
}
|
|
13
54
|
purgeEmployee(ctx, input, pollOptions) {
|
|
14
55
|
return requireClientMethod(this.client, 'purgeEmployee')(ctx, input, pollOptions);
|
|
15
56
|
}
|
|
57
|
+
/** Disables the hosted tenant itself through the host registry. */
|
|
58
|
+
disableTenant(hostCtx, input, pollOptions) {
|
|
59
|
+
return requireClientMethod(this.client, 'disableTenant')(hostCtx, input, pollOptions);
|
|
60
|
+
}
|
|
61
|
+
/** Purges the already-disabled hosted tenant through the host registry. */
|
|
62
|
+
purgeTenant(hostCtx, input, pollOptions) {
|
|
63
|
+
return requireClientMethod(this.client, 'purgeTenant')(hostCtx, input, pollOptions);
|
|
64
|
+
}
|
|
16
65
|
activateEmployeeDeviceWithActivationRequest(ctx, input) {
|
|
17
66
|
return requireClientMethod(this.client, 'activateEmployeeDeviceWithActivationRequest')(ctx, input);
|
|
18
67
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PollOptions, SubmitAndPollResult, SubmitPayload } from 'gdc-sdk-core-ts';
|
|
2
|
-
import { type FrontCommunicationIngestionInput, type FrontDigitalTwinGenerationInput, type FrontGrantProfessionalAccessInput, type FrontGrantProfessionalAccessResult, type FrontIndividualOrganizationBootstrapInput, type FrontIndividualOrganizationStartResult, type FrontIpsOrFhirImportInput, type FrontRouteContext, type FrontRuntimeClient, type FrontSmartTokenExchangeResult, type FrontSmartTokenRequestInput } from './client-port.js';
|
|
2
|
+
import { type FrontClinicalBundleSearchInput, type FrontCommunicationIngestionInput, type FrontDigitalTwinGenerationInput, type FrontGrantProfessionalAccessInput, type FrontGrantProfessionalAccessResult, type FrontIndividualOrganizationBootstrapInput, type FrontIndividualOrganizationStartResult, type FrontIpsOrFhirImportInput, type FrontLicenseListSearchInput, type FrontLicenseOfferSearchInput, type FrontLicenseOrderSearchInput, type FrontRouteContext, type FrontRuntimeClient, type FrontSmartTokenExchangeResult, type FrontSmartTokenRequestInput } from './client-port.js';
|
|
3
3
|
export declare class PersonalSdk {
|
|
4
4
|
private readonly client;
|
|
5
5
|
constructor(client: FrontRuntimeClient);
|
|
@@ -8,6 +8,23 @@ export declare class PersonalSdk {
|
|
|
8
8
|
importIpsOrFhirAndUpdateIndex(ctx: FrontRouteContext, input: FrontIpsOrFhirImportInput): Promise<SubmitAndPollResult>;
|
|
9
9
|
ingestCommunicationAndUpdateIndex(ctx: FrontRouteContext, input: FrontCommunicationIngestionInput): Promise<SubmitAndPollResult>;
|
|
10
10
|
generateDigitalTwinFromSubjectData(ctx: FrontRouteContext, input: FrontDigitalTwinGenerationInput): Promise<SubmitAndPollResult>;
|
|
11
|
+
searchClinicalBundle(ctx: FrontRouteContext, input: FrontClinicalBundleSearchInput): Promise<{
|
|
12
|
+
thid: string;
|
|
13
|
+
}>;
|
|
14
|
+
getLatestIps(ctx: FrontRouteContext, subject: string): Promise<{
|
|
15
|
+
thid: string;
|
|
16
|
+
}>;
|
|
17
|
+
searchLicenses(ctx: FrontRouteContext, input: FrontLicenseListSearchInput): Promise<SubmitAndPollResult>;
|
|
18
|
+
/** Lists subject-side license seats with optional filters. */
|
|
19
|
+
listLicenses(ctx: FrontRouteContext, input?: FrontLicenseListSearchInput): Promise<SubmitAndPollResult>;
|
|
20
|
+
/** Searches subject-side commercial offer records that back personal portal views. */
|
|
21
|
+
searchLicenseOffers(ctx: FrontRouteContext, input: FrontLicenseOfferSearchInput): Promise<SubmitAndPollResult>;
|
|
22
|
+
/** Lists subject-side commercial offer records without requiring explicit filters. */
|
|
23
|
+
listLicenseOffers(ctx: FrontRouteContext, input?: FrontLicenseOfferSearchInput): Promise<SubmitAndPollResult>;
|
|
24
|
+
/** Searches subject-side commercial order/payment records for portal read-model flows. */
|
|
25
|
+
searchLicenseOrders(ctx: FrontRouteContext, input: FrontLicenseOrderSearchInput): Promise<SubmitAndPollResult>;
|
|
26
|
+
/** Lists subject-side commercial order/payment records without requiring explicit filters. */
|
|
27
|
+
listLicenseOrders(ctx: FrontRouteContext, input?: FrontLicenseOrderSearchInput): Promise<SubmitAndPollResult>;
|
|
11
28
|
requestSmartToken(input: FrontSmartTokenRequestInput): Promise<FrontSmartTokenExchangeResult>;
|
|
12
29
|
submitAndPoll(submitPath: string, pollPath: string, payload: SubmitPayload, pollOptions?: PollOptions): Promise<SubmitAndPollResult>;
|
|
13
30
|
}
|
|
@@ -19,6 +19,35 @@ export class PersonalSdk {
|
|
|
19
19
|
generateDigitalTwinFromSubjectData(ctx, input) {
|
|
20
20
|
return requireClientMethod(this.client, 'generateDigitalTwinFromSubjectData')(ctx, input);
|
|
21
21
|
}
|
|
22
|
+
searchClinicalBundle(ctx, input) {
|
|
23
|
+
return requireClientMethod(this.client, 'searchClinicalBundle')(ctx, input);
|
|
24
|
+
}
|
|
25
|
+
getLatestIps(ctx, subject) {
|
|
26
|
+
return requireClientMethod(this.client, 'getLatestIps')(ctx, subject);
|
|
27
|
+
}
|
|
28
|
+
searchLicenses(ctx, input) {
|
|
29
|
+
return requireClientMethod(this.client, 'searchIndividualLicenses')(ctx, input);
|
|
30
|
+
}
|
|
31
|
+
/** Lists subject-side license seats with optional filters. */
|
|
32
|
+
listLicenses(ctx, input = {}) {
|
|
33
|
+
return requireClientMethod(this.client, 'listIndividualLicenses')(ctx, input);
|
|
34
|
+
}
|
|
35
|
+
/** Searches subject-side commercial offer records that back personal portal views. */
|
|
36
|
+
searchLicenseOffers(ctx, input) {
|
|
37
|
+
return requireClientMethod(this.client, 'searchIndividualLicenseOffers')(ctx, input);
|
|
38
|
+
}
|
|
39
|
+
/** Lists subject-side commercial offer records without requiring explicit filters. */
|
|
40
|
+
listLicenseOffers(ctx, input = {}) {
|
|
41
|
+
return requireClientMethod(this.client, 'listIndividualLicenseOffers')(ctx, input);
|
|
42
|
+
}
|
|
43
|
+
/** Searches subject-side commercial order/payment records for portal read-model flows. */
|
|
44
|
+
searchLicenseOrders(ctx, input) {
|
|
45
|
+
return requireClientMethod(this.client, 'searchIndividualLicenseOrders')(ctx, input);
|
|
46
|
+
}
|
|
47
|
+
/** Lists subject-side commercial order/payment records without requiring explicit filters. */
|
|
48
|
+
listLicenseOrders(ctx, input = {}) {
|
|
49
|
+
return requireClientMethod(this.client, 'listIndividualLicenseOrders')(ctx, input);
|
|
50
|
+
}
|
|
22
51
|
requestSmartToken(input) {
|
|
23
52
|
return requireClientMethod(this.client, 'requestSmartToken')(input);
|
|
24
53
|
}
|
package/dist/services.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { DeviceAppType, DeviceUserClass } from 'gdc-common-utils-ts/constants';
|
|
2
2
|
import type { IndividualOnboardingDraftInput, IndividualOnboardingDraftResult } from 'gdc-common-utils-ts/models/individual-onboarding';
|
|
3
|
-
import { type SubmitAndPollResult } from 'gdc-sdk-core-ts';
|
|
4
|
-
import { type FrontGrantProfessionalAccessResult, type FrontSmartTokenExchangeResult, type FrontSmartTokenRequestInput } from './orchestration/client-port.js';
|
|
3
|
+
import { type HostLifecycleInput, type HostRouteContext, type HostedTenantLifecycleInput, type LegalOrganizationOrderInput, type SubmitAndPollResult } from 'gdc-sdk-core-ts';
|
|
4
|
+
import { type FrontLicenseListSearchInput, type FrontLicenseOfferSearchInput, type FrontLicenseOrderSearchInput, type FrontOrganizationEmployeeSearchInput, type FrontGrantProfessionalAccessResult, type FrontSmartTokenExchangeResult, type FrontSmartTokenRequestInput } from './orchestration/client-port.js';
|
|
5
5
|
export declare class CommonAuthService {
|
|
6
6
|
activateDevice(_licenseCode: string, _providerDid: string, _idToken: string): Promise<{
|
|
7
7
|
thid: string;
|
|
@@ -10,16 +10,15 @@ export declare class CommonAuthService {
|
|
|
10
10
|
requestSmartToken(input: FrontSmartTokenRequestInput): Promise<FrontSmartTokenExchangeResult>;
|
|
11
11
|
}
|
|
12
12
|
export declare class OrgAdminService {
|
|
13
|
-
activateOrganizationInGatewayFromIcaProof(_input: {
|
|
13
|
+
activateOrganizationInGatewayFromIcaProof(_hostCtx: HostRouteContext, _input: {
|
|
14
14
|
vpToken: string;
|
|
15
15
|
controller?: Record<string, unknown>;
|
|
16
16
|
service?: Record<string, unknown>;
|
|
17
17
|
additionalClaims?: Record<string, unknown>;
|
|
18
18
|
}): Promise<SubmitAndPollResult>;
|
|
19
|
-
confirmLegalOrganizationOrder(_input:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}): Promise<SubmitAndPollResult>;
|
|
19
|
+
confirmLegalOrganizationOrder(_hostCtx: HostRouteContext, _input: LegalOrganizationOrderInput): Promise<SubmitAndPollResult>;
|
|
20
|
+
disableHost(_hostCtx: HostRouteContext, _input: HostLifecycleInput): Promise<SubmitAndPollResult>;
|
|
21
|
+
purgeHost(_hostCtx: HostRouteContext, _input: HostLifecycleInput): Promise<SubmitAndPollResult>;
|
|
23
22
|
createOrganizationEmployee(_providerDid: string, _idToken: string, _params: {
|
|
24
23
|
email: string;
|
|
25
24
|
role: string;
|
|
@@ -36,6 +35,18 @@ export declare class OrgAdminService {
|
|
|
36
35
|
employeeClaims?: Record<string, unknown>;
|
|
37
36
|
resourceId?: string;
|
|
38
37
|
}): Promise<SubmitAndPollResult>;
|
|
38
|
+
disableTenant(_hostCtx: HostRouteContext, _input: HostedTenantLifecycleInput): Promise<SubmitAndPollResult>;
|
|
39
|
+
purgeTenant(_hostCtx: HostRouteContext, _input: HostedTenantLifecycleInput): Promise<SubmitAndPollResult>;
|
|
40
|
+
searchOrganizationEmployees(_providerDid: string, _idToken: string, input: FrontOrganizationEmployeeSearchInput): Promise<SubmitAndPollResult>;
|
|
41
|
+
searchOrganizationLicenses(_providerDid: string, _idToken: string, input: FrontLicenseListSearchInput): Promise<SubmitAndPollResult>;
|
|
42
|
+
/** Lists organization-owned license seats with optional semantic filters. */
|
|
43
|
+
listOrganizationLicenses(providerDid: string, idToken: string, input?: FrontLicenseListSearchInput): Promise<SubmitAndPollResult>;
|
|
44
|
+
searchOrganizationLicenseOffers(_providerDid: string, _idToken: string, input: FrontLicenseOfferSearchInput): Promise<SubmitAndPollResult>;
|
|
45
|
+
/** Lists organization-owned commercial offer records with optional semantic filters. */
|
|
46
|
+
listOrganizationLicenseOffers(providerDid: string, idToken: string, input?: FrontLicenseOfferSearchInput): Promise<SubmitAndPollResult>;
|
|
47
|
+
searchOrganizationLicenseOrders(_providerDid: string, _idToken: string, input: FrontLicenseOrderSearchInput): Promise<SubmitAndPollResult>;
|
|
48
|
+
/** Lists organization-owned commercial order/payment records with optional semantic filters. */
|
|
49
|
+
listOrganizationLicenseOrders(providerDid: string, idToken: string, input?: FrontLicenseOrderSearchInput): Promise<SubmitAndPollResult>;
|
|
39
50
|
}
|
|
40
51
|
export declare class FamilyAdminService {
|
|
41
52
|
prepareIndividualOnboardingPdfDraft(_providerDid: string, _idToken: string, input: IndividualOnboardingDraftInput): Promise<IndividualOnboardingDraftResult>;
|
|
@@ -75,6 +86,15 @@ export declare class FamilyAdminService {
|
|
|
75
86
|
memberClaims?: Record<string, unknown>;
|
|
76
87
|
resourceId?: string;
|
|
77
88
|
}): Promise<SubmitAndPollResult>;
|
|
89
|
+
searchIndividualLicenses(_providerDid: string, _idToken: string, input: FrontLicenseListSearchInput): Promise<SubmitAndPollResult>;
|
|
90
|
+
/** Lists subject/individual-side license seats with optional semantic filters. */
|
|
91
|
+
listIndividualLicenses(providerDid: string, idToken: string, input?: FrontLicenseListSearchInput): Promise<SubmitAndPollResult>;
|
|
92
|
+
searchIndividualLicenseOffers(_providerDid: string, _idToken: string, input: FrontLicenseOfferSearchInput): Promise<SubmitAndPollResult>;
|
|
93
|
+
/** Lists subject/individual-side commercial offer records with optional semantic filters. */
|
|
94
|
+
listIndividualLicenseOffers(providerDid: string, idToken: string, input?: FrontLicenseOfferSearchInput): Promise<SubmitAndPollResult>;
|
|
95
|
+
searchIndividualLicenseOrders(_providerDid: string, _idToken: string, input: FrontLicenseOrderSearchInput): Promise<SubmitAndPollResult>;
|
|
96
|
+
/** Lists subject/individual-side commercial order/payment records with optional semantic filters. */
|
|
97
|
+
listIndividualLicenseOrders(providerDid: string, idToken: string, input?: FrontLicenseOrderSearchInput): Promise<SubmitAndPollResult>;
|
|
78
98
|
}
|
|
79
99
|
export declare class IndividualService {
|
|
80
100
|
/**
|
package/dist/services.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// Copyright 2026 Antifraud Services Inc. under the Apache License, Version 2.0.
|
|
2
|
-
import {
|
|
2
|
+
import { LicenseListSearchEditor, LicenseOfferSearchEditor, LicenseOrderSearchEditor } from 'gdc-common-utils-ts';
|
|
3
|
+
import { buildEmployeeSearchBundle, createIndividualOnboardingFacade, } from 'gdc-sdk-core-ts';
|
|
3
4
|
import { createSyntheticSubmitAndPollResult, } from './orchestration/client-port.js';
|
|
4
5
|
function requireNonEmptyText(value, fieldName) {
|
|
5
6
|
const normalized = String(value ?? '').trim();
|
|
@@ -35,12 +36,18 @@ export class CommonAuthService {
|
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
38
|
export class OrgAdminService {
|
|
38
|
-
async activateOrganizationInGatewayFromIcaProof(_input) {
|
|
39
|
+
async activateOrganizationInGatewayFromIcaProof(_hostCtx, _input) {
|
|
39
40
|
return createSyntheticSubmitAndPollResult(runtimeThid('host-activation'));
|
|
40
41
|
}
|
|
41
|
-
async confirmLegalOrganizationOrder(_input) {
|
|
42
|
+
async confirmLegalOrganizationOrder(_hostCtx, _input) {
|
|
42
43
|
return createSyntheticSubmitAndPollResult(runtimeThid('host-order-confirmation'));
|
|
43
44
|
}
|
|
45
|
+
async disableHost(_hostCtx, _input) {
|
|
46
|
+
return createSyntheticSubmitAndPollResult(runtimeThid('host-disable'));
|
|
47
|
+
}
|
|
48
|
+
async purgeHost(_hostCtx, _input) {
|
|
49
|
+
return createSyntheticSubmitAndPollResult(runtimeThid('host-purge'));
|
|
50
|
+
}
|
|
44
51
|
async createOrganizationEmployee(_providerDid, _idToken, _params) {
|
|
45
52
|
return { thid: `thid-${Date.now()}` };
|
|
46
53
|
}
|
|
@@ -50,6 +57,75 @@ export class OrgAdminService {
|
|
|
50
57
|
async purgeEmployee(_providerDid, _idToken, _input) {
|
|
51
58
|
return createSyntheticSubmitAndPollResult(runtimeThid('employee-purge'));
|
|
52
59
|
}
|
|
60
|
+
async disableTenant(_hostCtx, _input) {
|
|
61
|
+
return createSyntheticSubmitAndPollResult(runtimeThid('tenant-disable'));
|
|
62
|
+
}
|
|
63
|
+
async purgeTenant(_hostCtx, _input) {
|
|
64
|
+
return createSyntheticSubmitAndPollResult(runtimeThid('tenant-purge'));
|
|
65
|
+
}
|
|
66
|
+
async searchOrganizationEmployees(_providerDid, _idToken, input) {
|
|
67
|
+
const thid = input.requestThid || runtimeThid('employee-search');
|
|
68
|
+
return createSyntheticSubmitAndPollResult(thid, {
|
|
69
|
+
thid,
|
|
70
|
+
request: buildEmployeeSearchBundle({
|
|
71
|
+
claims: input.employeeClaims,
|
|
72
|
+
}),
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
async searchOrganizationLicenses(_providerDid, _idToken, input) {
|
|
76
|
+
const thid = input.requestThid || runtimeThid('organization-license-search');
|
|
77
|
+
return createSyntheticSubmitAndPollResult(thid, {
|
|
78
|
+
thid,
|
|
79
|
+
request: {
|
|
80
|
+
resourceType: 'Bundle',
|
|
81
|
+
type: 'batch',
|
|
82
|
+
entry: [
|
|
83
|
+
new LicenseListSearchEditor(input.licenseQuery || {})
|
|
84
|
+
.buildSearchEntry(),
|
|
85
|
+
],
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
/** Lists organization-owned license seats with optional semantic filters. */
|
|
90
|
+
async listOrganizationLicenses(providerDid, idToken, input = {}) {
|
|
91
|
+
return this.searchOrganizationLicenses(providerDid, idToken, input);
|
|
92
|
+
}
|
|
93
|
+
async searchOrganizationLicenseOffers(_providerDid, _idToken, input) {
|
|
94
|
+
const thid = input.requestThid || runtimeThid('organization-license-offer-search');
|
|
95
|
+
return createSyntheticSubmitAndPollResult(thid, {
|
|
96
|
+
thid,
|
|
97
|
+
request: {
|
|
98
|
+
resourceType: 'Bundle',
|
|
99
|
+
type: 'batch',
|
|
100
|
+
entry: [
|
|
101
|
+
new LicenseOfferSearchEditor(input.offerQuery || {})
|
|
102
|
+
.buildSearchEntry(),
|
|
103
|
+
],
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
/** Lists organization-owned commercial offer records with optional semantic filters. */
|
|
108
|
+
async listOrganizationLicenseOffers(providerDid, idToken, input = {}) {
|
|
109
|
+
return this.searchOrganizationLicenseOffers(providerDid, idToken, input);
|
|
110
|
+
}
|
|
111
|
+
async searchOrganizationLicenseOrders(_providerDid, _idToken, input) {
|
|
112
|
+
const thid = input.requestThid || runtimeThid('organization-license-order-search');
|
|
113
|
+
return createSyntheticSubmitAndPollResult(thid, {
|
|
114
|
+
thid,
|
|
115
|
+
request: {
|
|
116
|
+
resourceType: 'Bundle',
|
|
117
|
+
type: 'batch',
|
|
118
|
+
entry: [
|
|
119
|
+
new LicenseOrderSearchEditor(input.orderQuery || {})
|
|
120
|
+
.buildSearchEntry(),
|
|
121
|
+
],
|
|
122
|
+
},
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
/** Lists organization-owned commercial order/payment records with optional semantic filters. */
|
|
126
|
+
async listOrganizationLicenseOrders(providerDid, idToken, input = {}) {
|
|
127
|
+
return this.searchOrganizationLicenseOrders(providerDid, idToken, input);
|
|
128
|
+
}
|
|
53
129
|
}
|
|
54
130
|
export class FamilyAdminService {
|
|
55
131
|
async prepareIndividualOnboardingPdfDraft(_providerDid, _idToken, input) {
|
|
@@ -76,6 +152,60 @@ export class FamilyAdminService {
|
|
|
76
152
|
async purgeIndividualMember(_providerDid, _idToken, _input) {
|
|
77
153
|
return createSyntheticSubmitAndPollResult(runtimeThid('individual-member-purge'));
|
|
78
154
|
}
|
|
155
|
+
async searchIndividualLicenses(_providerDid, _idToken, input) {
|
|
156
|
+
const thid = input.requestThid || runtimeThid('individual-license-search');
|
|
157
|
+
return createSyntheticSubmitAndPollResult(thid, {
|
|
158
|
+
thid,
|
|
159
|
+
request: {
|
|
160
|
+
resourceType: 'Bundle',
|
|
161
|
+
type: 'batch',
|
|
162
|
+
entry: [
|
|
163
|
+
new LicenseListSearchEditor(input.licenseQuery || {})
|
|
164
|
+
.buildSearchEntry(),
|
|
165
|
+
],
|
|
166
|
+
},
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
/** Lists subject/individual-side license seats with optional semantic filters. */
|
|
170
|
+
async listIndividualLicenses(providerDid, idToken, input = {}) {
|
|
171
|
+
return this.searchIndividualLicenses(providerDid, idToken, input);
|
|
172
|
+
}
|
|
173
|
+
async searchIndividualLicenseOffers(_providerDid, _idToken, input) {
|
|
174
|
+
const thid = input.requestThid || runtimeThid('individual-license-offer-search');
|
|
175
|
+
return createSyntheticSubmitAndPollResult(thid, {
|
|
176
|
+
thid,
|
|
177
|
+
request: {
|
|
178
|
+
resourceType: 'Bundle',
|
|
179
|
+
type: 'batch',
|
|
180
|
+
entry: [
|
|
181
|
+
new LicenseOfferSearchEditor(input.offerQuery || {})
|
|
182
|
+
.buildSearchEntry(),
|
|
183
|
+
],
|
|
184
|
+
},
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
/** Lists subject/individual-side commercial offer records with optional semantic filters. */
|
|
188
|
+
async listIndividualLicenseOffers(providerDid, idToken, input = {}) {
|
|
189
|
+
return this.searchIndividualLicenseOffers(providerDid, idToken, input);
|
|
190
|
+
}
|
|
191
|
+
async searchIndividualLicenseOrders(_providerDid, _idToken, input) {
|
|
192
|
+
const thid = input.requestThid || runtimeThid('individual-license-order-search');
|
|
193
|
+
return createSyntheticSubmitAndPollResult(thid, {
|
|
194
|
+
thid,
|
|
195
|
+
request: {
|
|
196
|
+
resourceType: 'Bundle',
|
|
197
|
+
type: 'batch',
|
|
198
|
+
entry: [
|
|
199
|
+
new LicenseOrderSearchEditor(input.orderQuery || {})
|
|
200
|
+
.buildSearchEntry(),
|
|
201
|
+
],
|
|
202
|
+
},
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
/** Lists subject/individual-side commercial order/payment records with optional semantic filters. */
|
|
206
|
+
async listIndividualLicenseOrders(providerDid, idToken, input = {}) {
|
|
207
|
+
return this.searchIndividualLicenseOrders(providerDid, idToken, input);
|
|
208
|
+
}
|
|
79
209
|
}
|
|
80
210
|
export class IndividualService {
|
|
81
211
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gdc-sdk-front-ts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"description": "Next-generation frontend runtime package for the GDC SDK family",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Antifraud Services Inc.",
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@babel/runtime": "^7.28.4",
|
|
20
|
-
"gdc-common-utils-ts": "^
|
|
21
|
-
"gdc-sdk-core-ts": "^0.
|
|
20
|
+
"gdc-common-utils-ts": "^2.0.4",
|
|
21
|
+
"gdc-sdk-core-ts": "^2.0.3"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@types/node": "^20.14.10",
|