gdc-sdk-node-ts 2.1.4 → 2.3.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 (56) hide show
  1. package/README.md +11 -5
  2. package/dist/backend-profile-runtime.d.ts +23 -0
  3. package/dist/backend-profile-runtime.js +23 -0
  4. package/dist/backend-profile-workspace.d.ts +48 -0
  5. package/dist/backend-profile-workspace.js +91 -0
  6. package/dist/index.d.ts +3 -0
  7. package/dist/index.js +3 -0
  8. package/dist/individual-controller-backend-runtime.d.ts +6 -1
  9. package/dist/individual-controller-backend-runtime.js +7 -0
  10. package/dist/node-runtime-client.d.ts +51 -4
  11. package/dist/node-runtime-client.js +148 -4
  12. package/dist/orchestration/client-port.d.ts +6 -1
  13. package/dist/orchestration/individual-controller-sdk.d.ts +46 -1
  14. package/dist/orchestration/individual-controller-sdk.js +59 -0
  15. package/dist/orchestration/individual-member-sdk.d.ts +35 -1
  16. package/dist/orchestration/individual-member-sdk.js +44 -0
  17. package/dist/orchestration/personal-sdk.d.ts +3 -1
  18. package/dist/orchestration/personal-sdk.js +4 -0
  19. package/dist/orchestration/professional-sdk.d.ts +11 -1
  20. package/dist/orchestration/professional-sdk.js +14 -0
  21. package/dist/professional-backend-runtime.d.ts +6 -1
  22. package/dist/professional-backend-runtime.js +7 -0
  23. package/dist/profile-workspace.d.ts +12 -0
  24. package/dist/profile-workspace.js +15 -0
  25. package/dist/resource-operations.d.ts +185 -4
  26. package/dist/resource-operations.js +267 -3
  27. package/dist/runtime-client-paths.d.ts +8 -2
  28. package/dist/runtime-client-paths.js +6 -0
  29. package/dist/runtime-route-context.js +18 -1
  30. package/dist/runtime-transport.d.ts +13 -1
  31. package/dist/runtime-transport.js +18 -3
  32. package/dist/server-profile-protection.d.ts +64 -0
  33. package/dist/server-profile-protection.js +110 -0
  34. package/dist/server-profile-session.d.ts +115 -0
  35. package/dist/server-profile-session.js +259 -0
  36. package/dist/session.d.ts +7 -0
  37. package/dist/session.js +10 -0
  38. package/package.json +3 -3
  39. package/dist/legal-organization-onboarding-facade.d.ts +0 -70
  40. package/dist/legal-organization-onboarding-facade.js +0 -169
  41. package/dist/lifecycle-examples.d.ts +0 -7
  42. package/dist/lifecycle-examples.js +0 -8
  43. package/dist/runtime-software-proof.d.ts +0 -51
  44. package/dist/runtime-software-proof.js +0 -34
  45. package/dist/simple-device-activation.d.ts +0 -44
  46. package/dist/simple-device-activation.js +0 -44
  47. package/dist/simple-host-onboarding.d.ts +0 -27
  48. package/dist/simple-host-onboarding.js +0 -39
  49. package/dist/simple-individual-onboarding.d.ts +0 -27
  50. package/dist/simple-individual-onboarding.js +0 -38
  51. package/dist/simple-individual-start.d.ts +0 -45
  52. package/dist/simple-individual-start.js +0 -59
  53. package/dist/simple-poll-options.d.ts +0 -5
  54. package/dist/simple-poll-options.js +0 -17
  55. package/dist/simple-smart-token.d.ts +0 -58
  56. package/dist/simple-smart-token.js +0 -85
package/README.md CHANGED
@@ -7,7 +7,10 @@ execution adapters, or orchestration tests.
7
7
  Short rule:
8
8
 
9
9
  - `101` tests must read like executable tutorials
10
- - shared fixtures/types belong in `gdc-common-utils-ts`, not as local literals
10
+ - `gdc-common-utils-ts` owns the canonical step-by-step editors/readers,
11
+ shared fixtures, and reusable payload examples
12
+ - `gdc-sdk-node-ts` starts after that shared authoring step and at
13
+ `ProfileRuntime -> loadProfile(...) -> workspace/session -> actor facade`
11
14
  in node runtime tests
12
15
 
13
16
  Node runtime package for consuming the shared GDC SDK contracts against real
@@ -69,7 +72,8 @@ If you are integrating this package for the first time, open these in order:
69
72
  2. [docs/101-SDK_INTEGRATION.md](./docs/101-SDK_INTEGRATION.md)
70
73
  Real backend setup plus the public runtime entrypoints:
71
74
  `HostOnboardingSdk`, `OrganizationControllerSdk`,
72
- `IndividualControllerSdk`, `ProfessionalSdk`, and route-context usage.
75
+ `IndividualControllerSdk`, `ProfessionalSdk`, route-context usage, and the
76
+ canonical `ProfileRuntime -> loadProfile(...) -> workspace/session -> actor facade -> submit/poll` shape.
73
77
  3. [tests/101-live-full-cycle-bff-runtime.e2e.test.mjs](./tests/101-live-full-cycle-bff-runtime.e2e.test.mjs)
74
78
  Canonical live backend/BFF walkthrough on a fresh local GW lifecycle:
75
79
  host/tenant activation, employee provisioning, individual bootstrap,
@@ -194,7 +198,8 @@ Current live `101` flow covered by the test suite:
194
198
  2. provision one professional employee through the organization controller
195
199
  3. load the individual-controller profile and bootstrap one hosted individual
196
200
  4. confirm the returned order and verify the invoice bundle projection
197
- 5. ingest one IPS/clinical `Communication` through the individual controller
201
+ 5. ingest one IPS/clinical `Communication` whose attached payload is the
202
+ canonical document `Bundle` with `Composition` first entry
198
203
  6. grant professional consent for one patient-summary section
199
204
  7. load the professional profile and request one SMART token
200
205
  8. read the allowed IPS bundle as the professional actor
@@ -293,8 +298,9 @@ npm run test:e2e:live-gw
293
298
 
294
299
  Implementation note:
295
300
 
296
- - the public runtime contract is still `Bundle/_search`
297
- - `gdc-sdk-node-ts` submits that request as-is
301
+ - the beginner search story stays on FHIR parameters such as
302
+ `Composition.section`
303
+ - `gdc-sdk-node-ts` submits the search request through the runtime facade
298
304
  - GW CORE resolves it internally from indexed subject sections and returns the
299
305
  consolidated IPS bundle document
300
306
 
@@ -2,6 +2,8 @@ import type { ActorProfileDescriptor, IJobManager, ActorKind, LoadedActorProfile
2
2
  import type { ActorSession } from './session.js';
3
3
  import type { RuntimeClient } from './orchestration/client-port.js';
4
4
  import { IndividualControllerSdk } from './orchestration/individual-controller-sdk.js';
5
+ import { IndividualMemberSdk } from './orchestration/individual-member-sdk.js';
6
+ import { PersonalSdk } from './orchestration/personal-sdk.js';
5
7
  import { OrganizationControllerSdk } from './orchestration/organization-controller-sdk.js';
6
8
  import { ProfessionalSdk } from './orchestration/professional-sdk.js';
7
9
  import type { RouteContext } from './individual-onboarding.js';
@@ -51,6 +53,16 @@ export type BackendIndividualControllerProfile = {
51
53
  session: ActorSession;
52
54
  sdk: IndividualControllerSdk;
53
55
  };
56
+ export type BackendPersonalProfile = {
57
+ profile: BackendLoadedActorProfile;
58
+ session: ActorSession;
59
+ sdk: PersonalSdk;
60
+ };
61
+ export type BackendIndividualMemberProfile = {
62
+ profile: BackendLoadedActorProfile;
63
+ session: ActorSession;
64
+ sdk: IndividualMemberSdk;
65
+ };
54
66
  export type BackendOrganizationControllerProfile = {
55
67
  profile: BackendLoadedActorProfile;
56
68
  session: ActorSession;
@@ -224,6 +236,10 @@ export declare function requireBackendIndividualControllerSession(profile: Backe
224
236
  * backend profile.
225
237
  */
226
238
  export declare function requireBackendIndividualControllerSdk(profile: BackendLoadedActorProfile): IndividualControllerSdk;
239
+ /** Returns the individual-member session from one loaded backend profile. */
240
+ export declare function requireBackendIndividualMemberSession(profile: BackendLoadedActorProfile): ActorSession;
241
+ /** Materializes the individual-member facade from one loaded backend profile. */
242
+ export declare function requireBackendIndividualMemberSdk(profile: BackendLoadedActorProfile): IndividualMemberSdk;
227
243
  /**
228
244
  * Returns the organization-controller session from one loaded backend profile.
229
245
  */
@@ -251,6 +267,13 @@ export declare function requireBackendProfessionalSdk(profile: BackendLoadedActo
251
267
  * from the individual-controller flow.
252
268
  */
253
269
  export declare function loadBackendIndividualControllerProfile(client: BackendProfileRuntimeClient, input: ProfileLoadRequest): Promise<BackendIndividualControllerProfile>;
270
+ /**
271
+ * Loads a self-managed individual profile. The canonical actor kind remains
272
+ * individual-controller, while PersonalSdk presents the reduced self surface.
273
+ */
274
+ export declare function loadBackendPersonalProfile(client: BackendProfileRuntimeClient, input: ProfileLoadRequest): Promise<BackendPersonalProfile>;
275
+ /** Loads an accepted individual-member/RelatedPerson backend profile. */
276
+ export declare function loadBackendIndividualMemberProfile(client: BackendProfileRuntimeClient, input: ProfileLoadRequest): Promise<BackendIndividualMemberProfile>;
254
277
  /**
255
278
  * Loads one backend profile and resolves the organization-controller session in
256
279
  * one step.
@@ -421,6 +421,14 @@ export function requireBackendIndividualControllerSession(profile) {
421
421
  export function requireBackendIndividualControllerSdk(profile) {
422
422
  return requireBackendIndividualControllerSession(profile).asIndividualController();
423
423
  }
424
+ /** Returns the individual-member session from one loaded backend profile. */
425
+ export function requireBackendIndividualMemberSession(profile) {
426
+ return requireBackendActorSession(profile, ActorKinds.IndividualMember);
427
+ }
428
+ /** Materializes the individual-member facade from one loaded backend profile. */
429
+ export function requireBackendIndividualMemberSdk(profile) {
430
+ return requireBackendIndividualMemberSession(profile).asIndividualMember();
431
+ }
424
432
  /**
425
433
  * Returns the organization-controller session from one loaded backend profile.
426
434
  */
@@ -464,6 +472,21 @@ export async function loadBackendIndividualControllerProfile(client, input) {
464
472
  sdk: session.asIndividualController(),
465
473
  };
466
474
  }
475
+ /**
476
+ * Loads a self-managed individual profile. The canonical actor kind remains
477
+ * individual-controller, while PersonalSdk presents the reduced self surface.
478
+ */
479
+ export async function loadBackendPersonalProfile(client, input) {
480
+ const profile = await loadBackendProfile(client, input);
481
+ const session = requireBackendIndividualControllerSession(profile);
482
+ return { profile, session, sdk: session.asPersonal() };
483
+ }
484
+ /** Loads an accepted individual-member/RelatedPerson backend profile. */
485
+ export async function loadBackendIndividualMemberProfile(client, input) {
486
+ const profile = await loadBackendProfile(client, input);
487
+ const session = requireBackendIndividualMemberSession(profile);
488
+ return { profile, session, sdk: session.asIndividualMember() };
489
+ }
467
490
  /**
468
491
  * Loads one backend profile and resolves the organization-controller session in
469
492
  * one step.
@@ -0,0 +1,48 @@
1
+ import type { ProfileLoadRequest, SubjectIndexCompositionRequest, SubjectIndexConnectionRequest, TrustedDeviceRegistrationRequest } from 'gdc-sdk-core-ts';
2
+ import type { BackendLoadedActorProfile, BackendProfileRuntimeClient, BackendSubjectIndexCompositionResult, BackendSubjectIndexConnectionResult, BackendTrustedDeviceRegistrationResult } from './backend-profile-runtime.js';
3
+ import { type OrganizationControllerProfileWorkspace, type ProfessionalProfileWorkspace } from './profile-workspace.js';
4
+ import { HostOnboardingSdk } from './orchestration/host-onboarding-sdk.js';
5
+ import { IndividualControllerSdk } from './orchestration/individual-controller-sdk.js';
6
+ import { IndividualMemberSdk } from './orchestration/individual-member-sdk.js';
7
+ import { OrganizationControllerSdk } from './orchestration/organization-controller-sdk.js';
8
+ import { OrganizationEmployeeSdk } from './orchestration/organization-employee-sdk.js';
9
+ import { ProfessionalSdk } from './orchestration/professional-sdk.js';
10
+ /**
11
+ * Backend loaded-profile workspace that keeps the canonical
12
+ * `loadProfile -> workspace/session -> actor facade` story explicit.
13
+ */
14
+ export declare class LoadedProfileWorkspace {
15
+ private readonly profileRuntime;
16
+ readonly profile: BackendLoadedActorProfile;
17
+ constructor(profileRuntime: BackendProfileRuntimeClient, profile: BackendLoadedActorProfile);
18
+ close(): Promise<void>;
19
+ registerTrustedDevice(input: TrustedDeviceRegistrationRequest): Promise<BackendTrustedDeviceRegistrationResult>;
20
+ connectToSubjectIndex(input: SubjectIndexConnectionRequest): Promise<BackendSubjectIndexConnectionResult>;
21
+ getSubjectIndexComposition(input: SubjectIndexCompositionRequest): Promise<BackendSubjectIndexCompositionResult>;
22
+ asHostOnboarding(): HostOnboardingSdk;
23
+ asOrganizationController(): OrganizationControllerSdk;
24
+ asOrganizationEmployee(): OrganizationEmployeeSdk;
25
+ asIndividualController(): IndividualControllerSdk;
26
+ asIndividualMember(): IndividualMemberSdk;
27
+ asProfessional(): ProfessionalSdk;
28
+ createOrganizationControllerWorkspace(): OrganizationControllerProfileWorkspace;
29
+ createProfessionalWorkspace(): ProfessionalProfileWorkspace;
30
+ }
31
+ export declare class ProfileRuntime {
32
+ private readonly profileRuntime;
33
+ constructor(profileRuntime: BackendProfileRuntimeClient);
34
+ loadProfile(input: ProfileLoadRequest): Promise<LoadedProfileWorkspace>;
35
+ }
36
+ export declare function createLoadedProfileWorkspace(profileRuntime: BackendProfileRuntimeClient, profile: BackendLoadedActorProfile): LoadedProfileWorkspace;
37
+ /**
38
+ * @deprecated Prefer `LoadedProfileWorkspace`.
39
+ */
40
+ export { LoadedProfileWorkspace as BackendProfileWorkspace };
41
+ /**
42
+ * @deprecated Prefer `ProfileRuntime`.
43
+ */
44
+ export { ProfileRuntime as BackendProfileWorkspaceRuntime };
45
+ /**
46
+ * @deprecated Prefer `createLoadedProfileWorkspace`.
47
+ */
48
+ export { createLoadedProfileWorkspace as createBackendProfileWorkspace };
@@ -0,0 +1,91 @@
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 { closeBackendProfile, connectBackendToSubjectIndex, getBackendSubjectIndexComposition, registerBackendTrustedDevice, } from './backend-profile-runtime.js';
4
+ import { createOrganizationControllerProfileWorkspace, createProfessionalProfileWorkspace, } from './profile-workspace.js';
5
+ function requireActorSession(profile, actorKind) {
6
+ const session = profile.actorSessions.find((candidate) => candidate.actorKind === actorKind);
7
+ if (!session) {
8
+ throw new Error(`Loaded backend profile does not expose actor kind '${actorKind}'.`);
9
+ }
10
+ return session;
11
+ }
12
+ /**
13
+ * Backend loaded-profile workspace that keeps the canonical
14
+ * `loadProfile -> workspace/session -> actor facade` story explicit.
15
+ */
16
+ export class LoadedProfileWorkspace {
17
+ constructor(profileRuntime, profile) {
18
+ this.profileRuntime = profileRuntime;
19
+ this.profile = profile;
20
+ }
21
+ close() {
22
+ return closeBackendProfile(this.profileRuntime, String(this.profile.descriptor.profileDid || this.profile.descriptor.profileId));
23
+ }
24
+ registerTrustedDevice(input) {
25
+ return registerBackendTrustedDevice(this.profileRuntime, input);
26
+ }
27
+ connectToSubjectIndex(input) {
28
+ return connectBackendToSubjectIndex(this.profileRuntime, input);
29
+ }
30
+ getSubjectIndexComposition(input) {
31
+ return getBackendSubjectIndexComposition(this.profileRuntime, input);
32
+ }
33
+ asHostOnboarding() {
34
+ return requireActorSession(this.profile, ActorKinds.HostOnboarding).asHostOnboarding();
35
+ }
36
+ asOrganizationController() {
37
+ return requireActorSession(this.profile, ActorKinds.OrganizationController).asOrganizationController();
38
+ }
39
+ asOrganizationEmployee() {
40
+ return requireActorSession(this.profile, ActorKinds.OrganizationEmployee).asOrganizationEmployee();
41
+ }
42
+ asIndividualController() {
43
+ return requireActorSession(this.profile, ActorKinds.IndividualController).asIndividualController();
44
+ }
45
+ asIndividualMember() {
46
+ return requireActorSession(this.profile, ActorKinds.IndividualMember).asIndividualMember();
47
+ }
48
+ asProfessional() {
49
+ return requireActorSession(this.profile, ActorKinds.Professional).asProfessional();
50
+ }
51
+ createOrganizationControllerWorkspace() {
52
+ const session = requireActorSession(this.profile, ActorKinds.OrganizationController);
53
+ return createOrganizationControllerProfileWorkspace({
54
+ profile: this.profile,
55
+ session,
56
+ sdk: this.asOrganizationController(),
57
+ });
58
+ }
59
+ createProfessionalWorkspace() {
60
+ const session = requireActorSession(this.profile, ActorKinds.Professional);
61
+ return createProfessionalProfileWorkspace({
62
+ profile: this.profile,
63
+ session,
64
+ sdk: this.asProfessional(),
65
+ });
66
+ }
67
+ }
68
+ export class ProfileRuntime {
69
+ constructor(profileRuntime) {
70
+ this.profileRuntime = profileRuntime;
71
+ }
72
+ async loadProfile(input) {
73
+ const profile = await this.profileRuntime.loadProfile(input);
74
+ return new LoadedProfileWorkspace(this.profileRuntime, profile);
75
+ }
76
+ }
77
+ export function createLoadedProfileWorkspace(profileRuntime, profile) {
78
+ return new LoadedProfileWorkspace(profileRuntime, profile);
79
+ }
80
+ /**
81
+ * @deprecated Prefer `LoadedProfileWorkspace`.
82
+ */
83
+ export { LoadedProfileWorkspace as BackendProfileWorkspace };
84
+ /**
85
+ * @deprecated Prefer `ProfileRuntime`.
86
+ */
87
+ export { ProfileRuntime as BackendProfileWorkspaceRuntime };
88
+ /**
89
+ * @deprecated Prefer `createLoadedProfileWorkspace`.
90
+ */
91
+ export { createLoadedProfileWorkspace as createBackendProfileWorkspace };
package/dist/index.d.ts CHANGED
@@ -3,6 +3,9 @@ export * from './runtime-contracts.js';
3
3
  export * from './identity-bootstrap.js';
4
4
  export * from './async-polling.js';
5
5
  export * from './backend-profile-runtime.js';
6
+ export * from './server-profile-session.js';
7
+ export * from './server-profile-protection.js';
8
+ export * from './backend-profile-workspace.js';
6
9
  export * from './individual-controller-backend-runtime.js';
7
10
  export * from './organization-controller-backend-runtime.js';
8
11
  export * from './professional-backend-runtime.js';
package/dist/index.js CHANGED
@@ -4,6 +4,9 @@ export * from './runtime-contracts.js';
4
4
  export * from './identity-bootstrap.js';
5
5
  export * from './async-polling.js';
6
6
  export * from './backend-profile-runtime.js';
7
+ export * from './server-profile-session.js';
8
+ export * from './server-profile-protection.js';
9
+ export * from './backend-profile-workspace.js';
7
10
  export * from './individual-controller-backend-runtime.js';
8
11
  export * from './organization-controller-backend-runtime.js';
9
12
  export * from './professional-backend-runtime.js';
@@ -4,7 +4,7 @@ import type { IndividualOrganizationConfirmOrderInput, RouteContext } from './in
4
4
  import type { IndividualOrganizationBootstrapInput, IndividualOrganizationStartResult } from './individual-start.js';
5
5
  import type { EnsureFamilyOrganizationRegistrationInput, EnsureFamilyOrganizationRegistrationResult } from './family-organization-registration.js';
6
6
  import type { FamilyOrganizationSearchInput } from './family-organization-search.js';
7
- import type { ClinicalBundleSearchInput } from './resource-operations.js';
7
+ import type { BlockchainArtifactRegistrationInput, ClinicalBundleSearchInput } from './resource-operations.js';
8
8
  import { type BackendIndividualControllerProfile, type BackendProfileRuntimeClient } from './backend-profile-runtime.js';
9
9
  import type { ProfileLoadRequest } from 'gdc-sdk-core-ts';
10
10
  /**
@@ -56,4 +56,9 @@ export declare class IndividualControllerBackendRuntime {
56
56
  * individual-controller facade.
57
57
  */
58
58
  getLatestIps(profile: BackendIndividualControllerProfile, ctx: RouteContext, input: Omit<ClinicalBundleSearchInput, 'includedTypes'>): Promise<SubmitAndPollResult>;
59
+ /**
60
+ * Registers one FHIR resource or raw artifact on blockchain before it is
61
+ * attached to a subject communication.
62
+ */
63
+ registerBlockchainArtifactAndUpdateIndex(profile: BackendIndividualControllerProfile, ctx: RouteContext, input: BlockchainArtifactRegistrationInput): Promise<SubmitAndPollResult>;
59
64
  }
@@ -64,4 +64,11 @@ export class IndividualControllerBackendRuntime {
64
64
  getLatestIps(profile, ctx, input) {
65
65
  return profile.sdk.getLatestIps(ctx, input);
66
66
  }
67
+ /**
68
+ * Registers one FHIR resource or raw artifact on blockchain before it is
69
+ * attached to a subject communication.
70
+ */
71
+ registerBlockchainArtifactAndUpdateIndex(profile, ctx, input) {
72
+ return profile.sdk.registerBlockchainArtifactAndUpdateIndex(ctx, input);
73
+ }
67
74
  }
@@ -1,16 +1,17 @@
1
1
  import type { OrganizationDidBindingInput } from 'gdc-sdk-core-ts';
2
2
  import type { AppInfo } from 'gdc-sdk-core-ts';
3
3
  import type { IndividualOrganizationLifecycleInput } from 'gdc-sdk-core-ts';
4
- import { type ResolvedAppInfo } from 'gdc-sdk-core-ts';
4
+ import { type ResolvedAppInfo, type CommunicationClinicalFormatRenderers, type SecureDidcommTransportAdapter, type TransportProfile } from 'gdc-sdk-core-ts';
5
5
  import { type HostRouteContext, type HostedTenantLifecycleInput } from './host-onboarding.js';
6
6
  import type { NodeLegalOrganizationVerificationTransactionInput, NodeOrganizationDidBindingInput, NodeOrganizationActivationInput } from './orchestration/client-port.js';
7
7
  import { type IndividualOrganizationConfirmOrderInput, type RouteContext } from './individual-onboarding.js';
8
8
  import { type EnsureFamilyOrganizationRegistrationInput } from './family-organization-registration.js';
9
9
  import { type FamilyOrganizationSearchInput } from './family-organization-search.js';
10
10
  import { type SmartTokenRequestInput } from './smart-token.js';
11
+ import { type EmployeeDeviceActivationRequestInput, type EmployeeDeviceActivationResult } from './device-activation.js';
11
12
  import { type OrganizationLicenseOrderConfirmInput } from './organization-license-order.js';
12
13
  import { type IndividualOrganizationBootstrapInput, type IndividualOrganizationStartResult } from './individual-start.js';
13
- import { type CommunicationIngestionInput, type CommunicationParticipantRuntimeSearchInput, type ClinicalBundleSearchInput, type GrantProfessionalAccessInput, type GrantProfessionalAccessResult, type IndividualMemberLifecycleInput, type LicenseListRuntimeSearchInput, type LicenseOfferRuntimeSearchInput, type LicenseOrderRuntimeSearchInput, type OrganizationEmployeeCreationInput, type OrganizationEmployeeLifecycleInput, type OrganizationEmployeeSearchInput, type RevokeProfessionalAccessInput, type RevokeProfessionalAccessResult, type RelatedPersonUpsertInput } from './resource-operations.js';
14
+ import { type CommunicationIngestionInput, type BlockchainArtifactRegistrationInput, type VitalSignBatchCommunicationFromSearchResponseInput, type CommunicationParticipantRuntimeSearchInput, type ClinicalBundleSearchInput, type GrantProfessionalAccessInput, type GrantProfessionalAccessResult, type IndividualMemberLifecycleInput, type IndividualMemberLicenseAddInput, type IndividualMemberLicenseInvitationInput, type IndividualMemberLicenseTransitionInput, type LicenseListRuntimeSearchInput, type LicenseOfferRuntimeSearchInput, type LicenseOrderRuntimeSearchInput, type OrganizationEmployeeCreationInput, type OrganizationEmployeeLifecycleInput, type OrganizationEmployeeSearchInput, type RevokeProfessionalAccessInput, type RevokeProfessionalAccessResult, type RelatedPersonUpsertInput } from './resource-operations.js';
14
15
  import type { LegalOrganizationOrderInput } from './host-onboarding.js';
15
16
  import type { SmartTokenExchangeResult } from './smart-token.js';
16
17
  import type { NodeRuntimeClient, PollOptions, PollResult, SubmitAndPollResult, SubmitPayload, SubmitResponse } from './orchestration/client-port.js';
@@ -48,6 +49,14 @@ export type HttpRuntimeClientOptions = {
48
49
  ctx?: RouteContext;
49
50
  defaultHeaders?: Record<string, string>;
50
51
  requestTimeoutMs?: number;
52
+ /** Default wire profile for high-level clinical outbox submissions. */
53
+ transportProfile?: TransportProfile;
54
+ /** Wallet-backed pack/unpack adapter required by the secure-form profile. */
55
+ secureTransportAdapter?: SecureDidcommTransportAdapter;
56
+ /** Product-supplied clinical projections not owned by the generic runtime. */
57
+ communicationFormatRenderers?: CommunicationClinicalFormatRenderers;
58
+ /** Injectable fetch implementation for BFF adapters and deterministic tests. */
59
+ fetchImpl?: typeof fetch;
51
60
  };
52
61
  /**
53
62
  * @deprecated Prefer `HttpRuntimeClientOptions`.
@@ -69,6 +78,10 @@ export declare class HttpRuntimeClient implements NodeRuntimeClient {
69
78
  private readonly ctx?;
70
79
  private readonly defaultHeaders;
71
80
  private readonly requestTimeoutMs;
81
+ private readonly transportProfile;
82
+ private readonly secureTransportAdapter?;
83
+ private readonly communicationFormatRenderers;
84
+ private readonly fetchImpl?;
72
85
  private readonly httpTraceFile?;
73
86
  private readonly tokenCache;
74
87
  private readonly paths;
@@ -115,6 +128,7 @@ export declare class HttpRuntimeClient implements NodeRuntimeClient {
115
128
  * Convenience wrapper that performs submit and poll in sequence.
116
129
  */
117
130
  submitAndPoll(submitPath: string, pollPath: string, payload: SubmitPayload, pollOptions?: PollOptions): Promise<SubmitAndPollResult>;
131
+ private submitAndPollWithBearerToken;
118
132
  /**
119
133
  * Starts the host-side legal-organization verification transaction that GW
120
134
  * CORE forwards to ICA `_verify`.
@@ -336,6 +350,12 @@ export declare class HttpRuntimeClient implements NodeRuntimeClient {
336
350
  * with optional filters.
337
351
  */
338
352
  listIndividualLicenses(ctx: RouteContext, input?: LicenseListRuntimeSearchInput): Promise<SubmitAndPollResult>;
353
+ /** Adds zero-cost seats to one individual organization's member pool. */
354
+ addFreeIndividualMemberLicenses(ctx: RouteContext, input: IndividualMemberLicenseAddInput): Promise<SubmitAndPollResult>;
355
+ /** Reserves one individual seat for an existing FHIR v3-role contact. */
356
+ issueIndividualMemberLicense(ctx: RouteContext, input: IndividualMemberLicenseInvitationInput): Promise<SubmitAndPollResult>;
357
+ /** Accepts, deactivates or releases one individual-member seat. */
358
+ transitionIndividualMemberLicense(ctx: RouteContext, action: '_accept' | '_deactivate' | '_release', input: IndividualMemberLicenseTransitionInput): Promise<SubmitAndPollResult>;
339
359
  searchIndividualLicenseOffers(ctx: RouteContext, input: LicenseOfferRuntimeSearchInput): Promise<SubmitAndPollResult>;
340
360
  listIndividualLicenseOffers(ctx: RouteContext, input?: LicenseOfferRuntimeSearchInput): Promise<SubmitAndPollResult>;
341
361
  searchIndividualLicenseOrders(ctx: RouteContext, input: LicenseOrderRuntimeSearchInput): Promise<SubmitAndPollResult>;
@@ -363,6 +383,12 @@ export declare class HttpRuntimeClient implements NodeRuntimeClient {
363
383
  * the default client route context configured in the constructor.
364
384
  */
365
385
  requestSmartToken(input: SmartTokenRequestInput): Promise<SmartTokenExchangeResult>;
386
+ /**
387
+ * Registers any actor profile device through activation-code exchange plus
388
+ * GW DCR. The historical helper name says employee, but the transport is
389
+ * actor-neutral and is used by portal and telephone profile runtimes.
390
+ */
391
+ activateProfileDeviceWithActivationRequest(input: EmployeeDeviceActivationRequestInput): Promise<EmployeeDeviceActivationResult>;
366
392
  /**
367
393
  * Creates or updates a `RelatedPerson` for non-employee family/caregiver
368
394
  * roles such as a grandfather, guardian, or external caregiver.
@@ -376,6 +402,23 @@ export declare class HttpRuntimeClient implements NodeRuntimeClient {
376
402
  * @param input Communication payload plus route/format options.
377
403
  */
378
404
  ingestCommunicationAndUpdateIndex(ctx: RouteContext, input: CommunicationIngestionInput): Promise<SubmitAndPollResult>;
405
+ /**
406
+ * Renders and submits one canonical clinical outbox job without requiring
407
+ * BFF, portal or assistant consumers to know GW wire envelopes.
408
+ */
409
+ private submitCommunicationOutboxJobAndPoll;
410
+ /** Applies the configured wire profile to subject-scoped clinical searches. */
411
+ private submitClinicalMessageAndPoll;
412
+ /**
413
+ * Registers one FHIR resource or raw artifact on blockchain and waits until
414
+ * GW has indexed the resulting DocumentReference projection.
415
+ */
416
+ registerBlockchainArtifactAndUpdateIndex(ctx: RouteContext, input: BlockchainArtifactRegistrationInput): Promise<SubmitAndPollResult>;
417
+ /**
418
+ * Builds and submits a Communication carrying the selected vital-sign day
419
+ * batch artifacts from a paginated search response.
420
+ */
421
+ submitVitalSignBatchCommunicationFromSearchResponse(ctx: RouteContext, input: VitalSignBatchCommunicationFromSearchResponseInput): Promise<SubmitAndPollResult>;
379
422
  /**
380
423
  * Searches communication channel records by subject and participant
381
424
  * identifiers through `Communication/_search`.
@@ -467,6 +510,8 @@ export declare class HttpRuntimeClient implements NodeRuntimeClient {
467
510
  individualFamilyOrganizationPurgePollPath(ctx?: RouteContext): string;
468
511
  individualLicenseSearchPath(ctx?: RouteContext): string;
469
512
  individualLicenseSearchPollPath(ctx?: RouteContext): string;
513
+ individualLicenseActionPath(ctx: RouteContext | undefined, action: string): string;
514
+ individualLicenseActionPollPath(ctx: RouteContext | undefined, action: string): string;
470
515
  individualLicenseOfferSearchPath(ctx?: RouteContext): string;
471
516
  individualLicenseOfferSearchPollPath(ctx?: RouteContext): string;
472
517
  individualLicenseOrderSearchPath(ctx?: RouteContext): string;
@@ -479,10 +524,12 @@ export declare class HttpRuntimeClient implements NodeRuntimeClient {
479
524
  individualRelatedPersonPurgePollPath(ctx?: RouteContext): string;
480
525
  individualConsentR4BatchPath(ctx: RouteContext): string;
481
526
  individualConsentR4PollPath(ctx: RouteContext): string;
482
- individualCommunicationBatchPath(ctx: RouteContext, format: 'org.hl7.fhir.api' | 'org.hl7.fhir.r4'): string;
483
- individualCommunicationPollPath(ctx: RouteContext, format: 'org.hl7.fhir.api' | 'org.hl7.fhir.r4'): string;
527
+ individualCommunicationBatchPath(ctx: RouteContext, format: string): string;
528
+ individualCommunicationPollPath(ctx: RouteContext, format: string): string;
484
529
  individualCommunicationSearchPath(ctx: RouteContext): string;
485
530
  individualCommunicationSearchPollPath(ctx: RouteContext): string;
531
+ individualDocumentReferenceBatchPath(ctx: RouteContext): string;
532
+ individualDocumentReferencePollPath(ctx: RouteContext): string;
486
533
  individualBundleSearchPath(ctx: RouteContext): string;
487
534
  individualBundleSearchPollPath(ctx: RouteContext): string;
488
535
  identityTokenExchangePath(ctx: RouteContext): string;