@criticalbridge/brain-client 1.0.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 (126) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +23 -0
  3. package/dist/auth.d.ts +2 -0
  4. package/dist/auth.js +21 -0
  5. package/dist/auth.js.map +1 -0
  6. package/dist/client.d.ts +604 -0
  7. package/dist/client.js +1197 -0
  8. package/dist/client.js.map +1 -0
  9. package/dist/errors.d.ts +17 -0
  10. package/dist/errors.js +44 -0
  11. package/dist/errors.js.map +1 -0
  12. package/dist/index.d.ts +52 -0
  13. package/dist/index.js +95 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/types/a2a.types.d.ts +42 -0
  16. package/dist/types/a2a.types.js +3 -0
  17. package/dist/types/a2a.types.js.map +1 -0
  18. package/dist/types/agent-skill-lifecycle.types.d.ts +46 -0
  19. package/dist/types/agent-skill-lifecycle.types.js +22 -0
  20. package/dist/types/agent-skill-lifecycle.types.js.map +1 -0
  21. package/dist/types/agent.types.d.ts +117 -0
  22. package/dist/types/agent.types.js +3 -0
  23. package/dist/types/agent.types.js.map +1 -0
  24. package/dist/types/ai-knowledge.types.d.ts +180 -0
  25. package/dist/types/ai-knowledge.types.js +3 -0
  26. package/dist/types/ai-knowledge.types.js.map +1 -0
  27. package/dist/types/api.types.d.ts +550 -0
  28. package/dist/types/api.types.js +3 -0
  29. package/dist/types/api.types.js.map +1 -0
  30. package/dist/types/approval-events.types.d.ts +43 -0
  31. package/dist/types/approval-events.types.js +7 -0
  32. package/dist/types/approval-events.types.js.map +1 -0
  33. package/dist/types/best-practices-kg.types.d.ts +112 -0
  34. package/dist/types/best-practices-kg.types.js +3 -0
  35. package/dist/types/best-practices-kg.types.js.map +1 -0
  36. package/dist/types/bias-threshold-policy.types.d.ts +37 -0
  37. package/dist/types/bias-threshold-policy.types.js +3 -0
  38. package/dist/types/bias-threshold-policy.types.js.map +1 -0
  39. package/dist/types/change-approval-gate.types.d.ts +110 -0
  40. package/dist/types/change-approval-gate.types.js +53 -0
  41. package/dist/types/change-approval-gate.types.js.map +1 -0
  42. package/dist/types/connection.types.d.ts +100 -0
  43. package/dist/types/connection.types.js +3 -0
  44. package/dist/types/connection.types.js.map +1 -0
  45. package/dist/types/connector-manifest.types.d.ts +889 -0
  46. package/dist/types/connector-manifest.types.js +118 -0
  47. package/dist/types/connector-manifest.types.js.map +1 -0
  48. package/dist/types/control-profile.types.d.ts +69 -0
  49. package/dist/types/control-profile.types.js +10 -0
  50. package/dist/types/control-profile.types.js.map +1 -0
  51. package/dist/types/corpus.types.d.ts +2584 -0
  52. package/dist/types/corpus.types.js +120 -0
  53. package/dist/types/corpus.types.js.map +1 -0
  54. package/dist/types/credentials.types.d.ts +18 -0
  55. package/dist/types/credentials.types.js +3 -0
  56. package/dist/types/credentials.types.js.map +1 -0
  57. package/dist/types/dashboard.types.d.ts +205 -0
  58. package/dist/types/dashboard.types.js +3 -0
  59. package/dist/types/dashboard.types.js.map +1 -0
  60. package/dist/types/document-ingestion.types.d.ts +30 -0
  61. package/dist/types/document-ingestion.types.js +3 -0
  62. package/dist/types/document-ingestion.types.js.map +1 -0
  63. package/dist/types/domain-event.types.d.ts +21 -0
  64. package/dist/types/domain-event.types.js +3 -0
  65. package/dist/types/domain-event.types.js.map +1 -0
  66. package/dist/types/drift-dashboard.types.d.ts +17 -0
  67. package/dist/types/drift-dashboard.types.js +3 -0
  68. package/dist/types/drift-dashboard.types.js.map +1 -0
  69. package/dist/types/effective-control-profile.types.d.ts +39 -0
  70. package/dist/types/effective-control-profile.types.js +39 -0
  71. package/dist/types/effective-control-profile.types.js.map +1 -0
  72. package/dist/types/entity-kg.types.d.ts +140 -0
  73. package/dist/types/entity-kg.types.js +3 -0
  74. package/dist/types/entity-kg.types.js.map +1 -0
  75. package/dist/types/entity-model-graph.types.d.ts +63 -0
  76. package/dist/types/entity-model-graph.types.js +3 -0
  77. package/dist/types/entity-model-graph.types.js.map +1 -0
  78. package/dist/types/entity-model-sources.types.d.ts +117 -0
  79. package/dist/types/entity-model-sources.types.js +3 -0
  80. package/dist/types/entity-model-sources.types.js.map +1 -0
  81. package/dist/types/entity.types.d.ts +6 -0
  82. package/dist/types/entity.types.js +3 -0
  83. package/dist/types/entity.types.js.map +1 -0
  84. package/dist/types/failure.types.d.ts +22 -0
  85. package/dist/types/failure.types.js +3 -0
  86. package/dist/types/failure.types.js.map +1 -0
  87. package/dist/types/harvest.types.d.ts +662 -0
  88. package/dist/types/harvest.types.js +52 -0
  89. package/dist/types/harvest.types.js.map +1 -0
  90. package/dist/types/incident.types.d.ts +105 -0
  91. package/dist/types/incident.types.js +3 -0
  92. package/dist/types/incident.types.js.map +1 -0
  93. package/dist/types/introspection.types.d.ts +46 -0
  94. package/dist/types/introspection.types.js +3 -0
  95. package/dist/types/introspection.types.js.map +1 -0
  96. package/dist/types/kb-kg.types.d.ts +38 -0
  97. package/dist/types/kb-kg.types.js +3 -0
  98. package/dist/types/kb-kg.types.js.map +1 -0
  99. package/dist/types/managed-agent.types.d.ts +59 -0
  100. package/dist/types/managed-agent.types.js +11 -0
  101. package/dist/types/managed-agent.types.js.map +1 -0
  102. package/dist/types/object-store.types.d.ts +25 -0
  103. package/dist/types/object-store.types.js +8 -0
  104. package/dist/types/object-store.types.js.map +1 -0
  105. package/dist/types/pipeline.types.d.ts +39 -0
  106. package/dist/types/pipeline.types.js +3 -0
  107. package/dist/types/pipeline.types.js.map +1 -0
  108. package/dist/types/policy.types.d.ts +32 -0
  109. package/dist/types/policy.types.js +3 -0
  110. package/dist/types/policy.types.js.map +1 -0
  111. package/dist/types/risk-classification.types.d.ts +71 -0
  112. package/dist/types/risk-classification.types.js +3 -0
  113. package/dist/types/risk-classification.types.js.map +1 -0
  114. package/dist/types/skill-draft.types.d.ts +271 -0
  115. package/dist/types/skill-draft.types.js +48 -0
  116. package/dist/types/skill-draft.types.js.map +1 -0
  117. package/dist/types/source-mapping.types.d.ts +69 -0
  118. package/dist/types/source-mapping.types.js +3 -0
  119. package/dist/types/source-mapping.types.js.map +1 -0
  120. package/dist/types/synthesize.types.d.ts +90 -0
  121. package/dist/types/synthesize.types.js +41 -0
  122. package/dist/types/synthesize.types.js.map +1 -0
  123. package/dist/types/wizard-assistant.types.d.ts +25 -0
  124. package/dist/types/wizard-assistant.types.js +3 -0
  125. package/dist/types/wizard-assistant.types.js.map +1 -0
  126. package/package.json +55 -0
@@ -0,0 +1,604 @@
1
+ import type { AgentActionResponse, AssignAgentParams, AssignAgentResponse, BrainClientConfig, CancelDispatchResponse, CreateDispatchRequest, CreateDispatchResponse, DeleteAgentResponse, EnqueueWorkItemRequest, EnqueueWorkItemResponse, GetAgentResponse, GetAssignmentResponse, GetDecisionLineageResponse, GetDispatchResponse, GetEntityLicenseUsageResponse, GetLicenseAwareUtilizationResponse, GetSeatLicenseUsageResponse, ListAgentGroupsResponse, ListAgentsParams, ListAgentsResponse, ListAgentWorkItemsParams, ListAgentWorkItemsResponse, ListDecisionLineageParams, ListDecisionLineageResponse, ListDispatchesResponse, ListEventsParams, ListEventsResponse, ListOperatorSignalsParams, ListOperatorSignalsResponse, ListWorkAssignmentEventsParams, ListWorkAssignmentEventsResponse, MeshSubscriptionHealthResponse, SystemHealthResponse, ListProcessInstancesParams, ListProcessInstancesResponse, ListUsersResponse, ReassignWorkItemRequest, ReassignWorkItemResponse, RecordDecisionLineageRequest, RecordDecisionLineageResponse, GetMyRbacRolesResponse, AssignRbacRoleResponse, CreateDelegationResponse, GetDelegationsResponse, GetSelfSuperUserResponse, GrantSuperUserRequest, GrantSuperUserResponse, ListSuperUsersResponse, RbacRole, GetEntityMetadataResponse, BootstrapLoginResponse, RegisterAgentRequest, RegisterAgentResponse, ResolveTenantResponse, UnassignAgentResponse, UpdateAgentRequest, UpdateAgentResponse } from './types/api.types';
2
+ import type { ActivityResponse, AdvanceStageRequest, AdvanceStageResponse, DashboardMetricsResponse, GetProcessStagesResponse, LatencyResponse, LicensePoolResponse, QueueDepthsResponse, RunVolumeResponse, SeatLicense, SeatLicensesResponse, TopCapabilitiesResponse, TopCapabilitiesWindow, UsageHistoryResponse } from './types/dashboard.types';
3
+ import type { DriftDashboardSnapshotResponse } from './types/drift-dashboard.types';
4
+ import type { GetEntityInfoResponse } from './types/entity.types';
5
+ import type { DeletePipelineResponse, ListPipelineRunsResponse, ListPipelinesResponse } from './types/pipeline.types';
6
+ import type { DocumentIngestionStatusResponse, TriggerDocumentIngestionInput, TriggerDocumentIngestionResponse } from './types/document-ingestion.types';
7
+ import type { ChangeApprovalRiskTier, ClearChangeApprovalPolicyOverrideBody, GetChangeApprovalPolicyAuditResponse, GetChangeApprovalPolicyResponse, GetChangeApprovalVerdictResponse, ListChangeApprovalDecisionsResponse, ListChangeApprovalPoliciesResponse, RecordChangeApprovalDecisionBody, RecordChangeApprovalDecisionResponse, SetChangeApprovalPolicyOverrideBody } from './types/change-approval-gate.types';
8
+ import type { AgentSkillEntityKind, GetLifecycleStatusResponse, TransitionLifecycleBody, TransitionLifecycleResponse } from './types/agent-skill-lifecycle.types';
9
+ import type { ClassifyAgentBody, ClassifyAgentResponse } from './types/risk-classification.types';
10
+ import type { WizardAssistantTurnBody, WizardAssistantTurnResponse } from './types/wizard-assistant.types';
11
+ import type { GetEffectiveControlProfileResponse } from './types/effective-control-profile.types';
12
+ import type { GetBiasThresholdPolicyResponse, UpdateBiasThresholdPolicyBody, UpdateBiasThresholdPolicyResponse } from './types/bias-threshold-policy.types';
13
+ import type { ClearControlProfileOverrideBody, ControlProfileRiskTier, GetControlProfileAuditResponse, GetControlProfileResponse, ListControlProfilesResponse, SetControlProfileOverrideBody } from './types/control-profile.types';
14
+ import type { GetAgentPolicyHistoryParams, GetAgentPolicyHistoryResponse, GetPolicyCatalogResponse } from './types/policy.types';
15
+ import type { RecentFailuresOptions, RecentFailuresResponse } from './types/failure.types';
16
+ import type { AckIncidentRequest, AckIncidentResponse, AssignIncidentRequest, AssignIncidentResponse, CreateIncidentInput, CreateIncidentResponse, GetIncidentResponse, IncidentListFilter, ListIncidentsResponse, ResolveIncidentRequest, ResolveIncidentResponse } from './types/incident.types';
17
+ import type { A2AVendor, A2AVendorId, ListA2AAgentsResponse, ListA2AVendorsResponse, ProvenanceMix, RegisterA2AVendorRequest } from './types/a2a.types';
18
+ import type { ConnectionCreateBody, ConnectionUpdateBody, ConnectionWriteResponse, GetConnectionResponse, ListConnectionsResponse, PutCredentialResponse, RefreshedCredentialResponse, ScopedCredential } from './types/connection.types';
19
+ import type { IntrospectTableBody, IntrospectTableResponse, ListTablesResponse, SampleValuesBody, SampleValuesResponse } from './types/introspection.types';
20
+ import type { GetMappingConfigResponse, GetSourceDefinitionResponse, ListMappingConfigsResponse, ListSourceDefinitionsResponse, MappingConfigWriteResponse, SourceDefinitionInput, SourceDefinitionWriteResponse, SourceMappingConfigInput } from './types/source-mapping.types';
21
+ import type { EntityModelEntityType, EntityModelMutationResponse, EntityModelRelationship, GetEntityModelResponse, ListEntityModelsResponse } from './types/entity-model-graph.types';
22
+ import type { AILearnFromImportBody, AIParameterSuggestionsBody, AIRecordNodeUsageBody, AIScoreQualityBody, AISimilarWorkflowsBody, AISmartDefaultsBody, AISuggestNextNodesBody, NodeSuggestion, ParameterSuggestion, PatternMatch, QualityScore, SmartDefaults } from './types/ai-knowledge.types';
23
+ import type { BPKGConflictDetectionResult, BPKGDetectConflictsBody, BPKGGraphTraversalResult, BPKGRecommendationResult, BPKGRecommendationsBody, BPKGRelationshipWithDetails, BPKGRelationshipsForPracticeBody, BPKGShortestPathBody, BPKGStatistics, BPKGTraverseBody } from './types/best-practices-kg.types';
24
+ import type { KBKGDocumentNode, KBKGFindByEntityBody, KBKGFindRelatedBody, KBKGRelatedDocument, KBKGStatistics } from './types/kb-kg.types';
25
+ import type { EKGEntity, EKGFindEntitiesBody, EKGFindPathBody, EKGGetEntityBody, EKGGetEntityRelationshipsBody, EKGGraphTraversalResult, EKGHealthCheck, EKGRawReadQueryBody, EKGRelationshipWithDetails, EKGRelationshipsByEntityIdsBody, EKGSearchEntitiesBody, EKGShortestPathResult, EKGStatistics, EKGTraverseBody } from './types/entity-kg.types';
26
+ import type { AppendDomainEventBatchResponse, AppendDomainEventResponse, BrainDomainEvent } from './types/domain-event.types';
27
+ import type { CheckSourceReferencesResponse, CreateSourceRequest, DiscoverEntitiesResponse, EntityModelSourceWriteResponse, GetEntityModelSourceResponse, ListEntityModelSourcesResponse, SyncDispatchResponse, TestConnectionResponse, UpdateSourceRequest } from './types/entity-model-sources.types';
28
+ import { type ListObjectsResponse, type ObjectMetadataResponse, type SignObjectUrlRequest, type SignObjectUrlResponse } from './types/object-store.types';
29
+ export declare const ENTITY_ADMIN_CONFIG_KINDS: readonly ["sso", "ldap", "log-streaming", "rules-engine"];
30
+ export type EntityAdminConfigKind = (typeof ENTITY_ADMIN_CONFIG_KINDS)[number];
31
+ export interface BrainBreakGlassGrant {
32
+ id: string;
33
+ expiresAt: string;
34
+ supervisorNotificationRequired: boolean;
35
+ targetSchema?: string;
36
+ }
37
+ export interface BrainBreakGlassRequestBody {
38
+ userId?: string;
39
+ emergencyType: string;
40
+ justification: string;
41
+ targetSchema?: string;
42
+ targetTable?: string;
43
+ targetRecordId?: string;
44
+ durationHours?: number;
45
+ }
46
+ export declare const HEALTHCARE_COMPLIANCE_COLLECTIONS: readonly ["access-log", "consents", "relationships", "purpose-permissions", "hipaa-checklist"];
47
+ export type HealthcareComplianceCollection = (typeof HEALTHCARE_COMPLIANCE_COLLECTIONS)[number];
48
+ export interface HealthcarePHIAccessResult {
49
+ granted: boolean;
50
+ data?: Record<string, unknown>;
51
+ denialReason?: string;
52
+ auditId?: string;
53
+ }
54
+ export interface FinancePCIAccessRequest {
55
+ userId: string;
56
+ tenantId: string;
57
+ dataType: string;
58
+ recordId: string;
59
+ purpose: string;
60
+ justification?: string;
61
+ }
62
+ export interface FinancePCIAccessResult {
63
+ granted: boolean;
64
+ denialReason?: string;
65
+ auditId: string;
66
+ data?: {
67
+ id: string;
68
+ recordId: string;
69
+ dataType: string;
70
+ value: string;
71
+ };
72
+ }
73
+ export interface FinanceSOXAccessRequest {
74
+ userId: string;
75
+ tenantId: string;
76
+ action: string;
77
+ recordId: string;
78
+ fiscalPeriod: string;
79
+ requiresApproval: boolean;
80
+ }
81
+ export interface FinanceSOXAccessResult {
82
+ granted: boolean;
83
+ denialReason?: string;
84
+ auditId: string;
85
+ data?: {
86
+ id: string;
87
+ recordId: string;
88
+ fiscalPeriod: string;
89
+ data: Record<string, unknown>;
90
+ };
91
+ }
92
+ export interface FinanceSoDVerifyRequest {
93
+ userId: string;
94
+ tenantId?: string;
95
+ action: string;
96
+ recordId?: string;
97
+ }
98
+ export interface FinanceSoDVerifyResult {
99
+ allowed: boolean;
100
+ conflictingActions: string[];
101
+ reason?: string;
102
+ }
103
+ export interface InsuranceAccessPolicyholderRequest {
104
+ userId: string;
105
+ policyholderId: string;
106
+ purpose: string;
107
+ tenantId?: string;
108
+ decisionLineageSignalId?: string;
109
+ }
110
+ export interface InsuranceAccessPolicyholderData {
111
+ id?: string;
112
+ policyholderId?: string;
113
+ externalId?: string;
114
+ dataClassification?: string;
115
+ regulatoryFrameworks?: string[];
116
+ riskTier?: string;
117
+ customerSegment?: string;
118
+ marketingConsent?: boolean;
119
+ dataSharingConsent?: boolean;
120
+ ssn?: string;
121
+ dateOfBirth?: string;
122
+ contactInfo?: {
123
+ city?: string;
124
+ state?: string;
125
+ zipPrefix?: string;
126
+ [key: string]: unknown;
127
+ };
128
+ }
129
+ export interface InsuranceAccessPolicyholderResult {
130
+ granted: boolean;
131
+ denialReason?: string;
132
+ auditId: string;
133
+ data?: InsuranceAccessPolicyholderData;
134
+ }
135
+ export declare const INSURANCE_COMPLIANCE_COLLECTIONS: readonly ["user-tiers", "claims", "siu-investigations", "underwriting", "regulatory-status", "policyholders"];
136
+ export type InsuranceComplianceCollection = (typeof INSURANCE_COMPLIANCE_COLLECTIONS)[number];
137
+ export declare class BrainAPIClient {
138
+ private readonly baseUrl;
139
+ private readonly entityId;
140
+ private readonly apiKey?;
141
+ private readonly getAccessToken?;
142
+ private readonly fetchImpl;
143
+ private readonly requestTimeoutMs;
144
+ constructor(config: BrainClientConfig);
145
+ getEntityId(): string;
146
+ getEntityInfo(): Promise<GetEntityInfoResponse>;
147
+ registerAgent<TAgent>(body: RegisterAgentRequest<TAgent>): Promise<RegisterAgentResponse>;
148
+ resolveTenant(): Promise<ResolveTenantResponse>;
149
+ getMyRbacRoles(): Promise<GetMyRbacRolesResponse>;
150
+ getUserRbacRoles(userId: string): Promise<GetMyRbacRolesResponse>;
151
+ assignRbacRole(userId: string, roleName: string): Promise<AssignRbacRoleResponse>;
152
+ removeRbacRole(userId: string, roleName: string): Promise<void>;
153
+ createDelegation(userId: string, roleName: string, expiresAt?: string): Promise<CreateDelegationResponse>;
154
+ revokeDelegation(userId: string, roleName: string): Promise<void>;
155
+ getDelegations(userId: string): Promise<GetDelegationsResponse>;
156
+ grantSuperUser(userId: string, body: GrantSuperUserRequest): Promise<GrantSuperUserResponse>;
157
+ revokeSuperUser(userId: string, reason: string): Promise<void>;
158
+ listSuperUsers(): Promise<ListSuperUsersResponse>;
159
+ getSelfSuperUserAccess(): Promise<GetSelfSuperUserResponse>;
160
+ getUserEntities(): Promise<RbacRole[]>;
161
+ getEntityMetadata(): Promise<GetEntityMetadataResponse>;
162
+ bootstrapRbacLogin(): Promise<BootstrapLoginResponse>;
163
+ getAgent(agentId: string): Promise<GetAgentResponse>;
164
+ getDriftDashboard(): Promise<DriftDashboardSnapshotResponse>;
165
+ deleteAgent(agentId: string): Promise<DeleteAgentResponse>;
166
+ updateAgent<TAgent = Record<string, unknown>>(agentId: string, body: UpdateAgentRequest<TAgent>): Promise<UpdateAgentResponse>;
167
+ listAgents<T = unknown>(params?: ListAgentsParams): Promise<ListAgentsResponse<T>>;
168
+ listUsers(): Promise<ListUsersResponse>;
169
+ assignAgent(agentId: string, params: AssignAgentParams): Promise<AssignAgentResponse>;
170
+ unassignAgent(agentId: string): Promise<UnassignAgentResponse>;
171
+ getAgentAssignment(agentId: string): Promise<GetAssignmentResponse>;
172
+ listProcessInstances<T = unknown>(params?: ListProcessInstancesParams): Promise<ListProcessInstancesResponse<T>>;
173
+ listEvents(params?: ListEventsParams): Promise<ListEventsResponse>;
174
+ getProcessStages(processId: string): Promise<GetProcessStagesResponse>;
175
+ advanceStage(processId: string, stageId: string, body: AdvanceStageRequest): Promise<AdvanceStageResponse>;
176
+ getDashboardMetrics(): Promise<DashboardMetricsResponse>;
177
+ getRecentActivity(limit?: number): Promise<ActivityResponse>;
178
+ getQueueDepths(): Promise<QueueDepthsResponse>;
179
+ getRecentFailures(opts?: RecentFailuresOptions): Promise<RecentFailuresResponse>;
180
+ getRunVolume(opts: {
181
+ window: '1h' | '24h' | '7d' | '30d' | '60m';
182
+ bucket: '1m' | '5m' | '15m' | '1h' | '1d';
183
+ }): Promise<RunVolumeResponse>;
184
+ getLatencySeries(opts: {
185
+ window: '1h' | '24h' | '7d' | '30d' | '60m';
186
+ bucket: '1m' | '5m' | '15m' | '1h' | '1d';
187
+ }): Promise<LatencyResponse>;
188
+ getTopCapabilities(opts?: {
189
+ window?: TopCapabilitiesWindow;
190
+ limit?: number;
191
+ }): Promise<TopCapabilitiesResponse>;
192
+ getEntityLicenseUsage<T = unknown>(): Promise<GetEntityLicenseUsageResponse<T>>;
193
+ getLicensePool(): Promise<LicensePoolResponse>;
194
+ getSeatLicenses(): Promise<SeatLicensesResponse>;
195
+ createSeatLicense(body: {
196
+ userId: string;
197
+ userEmail: string;
198
+ maxConcurrentAgents: number;
199
+ }): Promise<SeatLicense>;
200
+ updateSeatLicense(seatId: string, body: {
201
+ maxConcurrentAgents: number;
202
+ }): Promise<SeatLicense>;
203
+ deleteSeatLicense(seatId: string): Promise<{
204
+ deleted: boolean;
205
+ seatId: string;
206
+ alreadyAbsent?: boolean;
207
+ }>;
208
+ getLicenseUsageHistory(period?: '24h' | '7d' | '30d'): Promise<UsageHistoryResponse>;
209
+ getLicenseAwareUtilization(): Promise<GetLicenseAwareUtilizationResponse>;
210
+ listAgentGroups<T = unknown>(): Promise<ListAgentGroupsResponse<T>>;
211
+ getSeatLicenseUsage<T = unknown>(seatLicenseId: string): Promise<GetSeatLicenseUsageResponse<T>>;
212
+ listDispatches(): Promise<ListDispatchesResponse>;
213
+ getDispatch(dispatchId: string): Promise<GetDispatchResponse>;
214
+ cancelDispatch(dispatchId: string): Promise<CancelDispatchResponse>;
215
+ listMeshSubscriptionHealth(): Promise<MeshSubscriptionHealthResponse>;
216
+ stopAgent(agentId: string): Promise<AgentActionResponse>;
217
+ restartAgent(agentId: string): Promise<AgentActionResponse>;
218
+ dispatch<TWorkItem = Record<string, unknown>>(body: CreateDispatchRequest<TWorkItem>): Promise<CreateDispatchResponse>;
219
+ getAgentWorkItems(agentId: string, params?: ListAgentWorkItemsParams): Promise<ListAgentWorkItemsResponse>;
220
+ enqueueWorkItem(agentId: string, body: EnqueueWorkItemRequest): Promise<EnqueueWorkItemResponse>;
221
+ reassignWorkItem(agentId: string, workItemId: string, body?: ReassignWorkItemRequest): Promise<ReassignWorkItemResponse>;
222
+ listOperatorSignals(params?: ListOperatorSignalsParams): Promise<ListOperatorSignalsResponse>;
223
+ getSystemHealth(): Promise<SystemHealthResponse>;
224
+ getPolicyCatalog(): Promise<GetPolicyCatalogResponse>;
225
+ getAgentPolicyHistory(agentId: string, params?: GetAgentPolicyHistoryParams): Promise<GetAgentPolicyHistoryResponse>;
226
+ listControlProfiles(): Promise<ListControlProfilesResponse>;
227
+ getControlProfile(tier: ControlProfileRiskTier): Promise<GetControlProfileResponse>;
228
+ getControlProfileAudit(tier: ControlProfileRiskTier, opts?: {
229
+ limit?: number;
230
+ offset?: number;
231
+ }): Promise<GetControlProfileAuditResponse>;
232
+ setControlProfileOverride(tier: ControlProfileRiskTier, body: SetControlProfileOverrideBody): Promise<GetControlProfileResponse>;
233
+ clearControlProfileOverride(tier: ControlProfileRiskTier, body: ClearControlProfileOverrideBody): Promise<GetControlProfileResponse>;
234
+ listChangeApprovalPolicies(): Promise<ListChangeApprovalPoliciesResponse>;
235
+ getChangeApprovalPolicy(tier: ChangeApprovalRiskTier): Promise<GetChangeApprovalPolicyResponse>;
236
+ getChangeApprovalPolicyAudit(tier: ChangeApprovalRiskTier): Promise<GetChangeApprovalPolicyAuditResponse>;
237
+ setChangeApprovalPolicyOverride(tier: ChangeApprovalRiskTier, body: SetChangeApprovalPolicyOverrideBody): Promise<GetChangeApprovalPolicyResponse>;
238
+ clearChangeApprovalPolicyOverride(tier: ChangeApprovalRiskTier, body: ClearChangeApprovalPolicyOverrideBody): Promise<GetChangeApprovalPolicyResponse>;
239
+ recordChangeApprovalDecision(changeId: string, body: RecordChangeApprovalDecisionBody): Promise<RecordChangeApprovalDecisionResponse>;
240
+ listChangeApprovalDecisions(changeId: string): Promise<ListChangeApprovalDecisionsResponse>;
241
+ getChangeApprovalVerdict(changeId: string, tier: ChangeApprovalRiskTier): Promise<GetChangeApprovalVerdictResponse>;
242
+ wizardAssistantTurn(agentId: string, body: WizardAssistantTurnBody): Promise<WizardAssistantTurnResponse>;
243
+ transitionLifecycle(entityKind: AgentSkillEntityKind, targetId: string, body: TransitionLifecycleBody): Promise<TransitionLifecycleResponse>;
244
+ getLifecycleStatus(entityKind: AgentSkillEntityKind, targetId: string): Promise<GetLifecycleStatusResponse>;
245
+ classifyAgent(agentId: string, body: ClassifyAgentBody): Promise<ClassifyAgentResponse>;
246
+ getEffectiveControlProfile(agentId: string): Promise<GetEffectiveControlProfileResponse>;
247
+ getBiasThresholdPolicy(): Promise<GetBiasThresholdPolicyResponse>;
248
+ updateBiasThresholdPolicy(body: UpdateBiasThresholdPolicyBody): Promise<UpdateBiasThresholdPolicyResponse>;
249
+ getWorkAssignmentEvents(params?: ListWorkAssignmentEventsParams): Promise<ListWorkAssignmentEventsResponse>;
250
+ getDecisionLineage(signalId: string): Promise<GetDecisionLineageResponse>;
251
+ recordDecisionLineage(signalId: string, body: RecordDecisionLineageRequest): Promise<RecordDecisionLineageResponse>;
252
+ listDecisionLineage(params?: ListDecisionLineageParams): Promise<ListDecisionLineageResponse>;
253
+ listEntityPipelines(): Promise<ListPipelinesResponse>;
254
+ listPipelineRuns(pipelineId: string, options?: {
255
+ limit?: number;
256
+ }): Promise<ListPipelineRunsResponse>;
257
+ deletePipeline(pipelineId: string): Promise<DeletePipelineResponse>;
258
+ listIncidents(filter?: IncidentListFilter): Promise<ListIncidentsResponse>;
259
+ getIncident(incidentId: string): Promise<GetIncidentResponse>;
260
+ createIncident(body: Omit<CreateIncidentInput, 'entityId'>): Promise<CreateIncidentResponse>;
261
+ ackIncident(incidentId: string, body: AckIncidentRequest): Promise<AckIncidentResponse>;
262
+ assignIncident(incidentId: string, body: AssignIncidentRequest): Promise<AssignIncidentResponse>;
263
+ resolveIncident(incidentId: string, body: ResolveIncidentRequest): Promise<ResolveIncidentResponse>;
264
+ listA2AVendors(): Promise<ListA2AVendorsResponse>;
265
+ registerA2AVendor(req: RegisterA2AVendorRequest): Promise<A2AVendor>;
266
+ suspendA2AVendor(vendor: A2AVendorId): Promise<void>;
267
+ getProvenanceMix(): Promise<ProvenanceMix>;
268
+ listA2AAgents(): Promise<ListA2AAgentsResponse>;
269
+ listConnections(): Promise<ListConnectionsResponse>;
270
+ getConnection(connectionId: string): Promise<GetConnectionResponse>;
271
+ createConnection(body: ConnectionCreateBody): Promise<ConnectionWriteResponse>;
272
+ updateConnection(connectionId: string, body: ConnectionUpdateBody): Promise<ConnectionWriteResponse>;
273
+ deleteConnection(connectionId: string): Promise<void>;
274
+ putCredential(connectionId: string, secret: Record<string, unknown>): Promise<PutCredentialResponse>;
275
+ deleteCredential(connectionId: string): Promise<void>;
276
+ mintScopedCredential(connectionId: string): Promise<ScopedCredential>;
277
+ persistRefreshedCredential(connectionId: string, refreshedCredential: Record<string, unknown>): Promise<RefreshedCredentialResponse>;
278
+ introspectListTables(connectionId: string): Promise<ListTablesResponse>;
279
+ introspectTable(body: IntrospectTableBody): Promise<IntrospectTableResponse>;
280
+ introspectSampleValues(body: SampleValuesBody): Promise<SampleValuesResponse>;
281
+ listSourceDefinitions(): Promise<ListSourceDefinitionsResponse>;
282
+ getSourceDefinition(sourceId: string): Promise<GetSourceDefinitionResponse>;
283
+ putSourceDefinition(sourceId: string, body: SourceDefinitionInput): Promise<SourceDefinitionWriteResponse>;
284
+ deleteSourceDefinition(sourceId: string): Promise<void>;
285
+ listMappingConfigs(): Promise<ListMappingConfigsResponse>;
286
+ getMappingConfig(configId: string): Promise<GetMappingConfigResponse>;
287
+ putMappingConfig(configId: string, body: SourceMappingConfigInput): Promise<MappingConfigWriteResponse>;
288
+ deleteMappingConfig(configId: string): Promise<void>;
289
+ listEntityModels(): Promise<ListEntityModelsResponse>;
290
+ getEntityModel(modelId: string): Promise<GetEntityModelResponse>;
291
+ upsertEntityModelType(modelId: string, entityType: EntityModelEntityType): Promise<EntityModelMutationResponse>;
292
+ deleteEntityModelType(modelId: string, entityTypeId: string): Promise<EntityModelMutationResponse>;
293
+ upsertEntityModelRelationship(modelId: string, relationship: EntityModelRelationship): Promise<EntityModelMutationResponse>;
294
+ deleteEntityModelRelationship(modelId: string, relationshipId: string): Promise<EntityModelMutationResponse>;
295
+ private aiKnowledge;
296
+ aiSimilarWorkflows(body: AISimilarWorkflowsBody): Promise<PatternMatch[]>;
297
+ aiSuggestNextNodes(body: AISuggestNextNodesBody): Promise<NodeSuggestion[]>;
298
+ aiParameterSuggestions(body: AIParameterSuggestionsBody): Promise<ParameterSuggestion[]>;
299
+ aiSmartDefaults(body: AISmartDefaultsBody): Promise<SmartDefaults>;
300
+ aiScoreQuality(body: AIScoreQualityBody): Promise<QualityScore>;
301
+ aiLearnFromImport(body: AILearnFromImportBody): Promise<void>;
302
+ aiRecordNodeUsage(body: AIRecordNodeUsageBody): Promise<void>;
303
+ private bestPracticesKg;
304
+ bpkgStatistics(): Promise<BPKGStatistics>;
305
+ bpkgTraverse(body: BPKGTraverseBody): Promise<BPKGGraphTraversalResult>;
306
+ bpkgRelationshipsForPractice(body: BPKGRelationshipsForPracticeBody): Promise<BPKGRelationshipWithDetails[]>;
307
+ bpkgRecommendations(body: BPKGRecommendationsBody): Promise<BPKGRecommendationResult>;
308
+ bpkgShortestPath(body: BPKGShortestPathBody): Promise<BPKGGraphTraversalResult | null>;
309
+ bpkgDetectConflicts(body: BPKGDetectConflictsBody): Promise<BPKGConflictDetectionResult>;
310
+ private kbKg;
311
+ kbKgFindRelated(body: KBKGFindRelatedBody): Promise<KBKGRelatedDocument[]>;
312
+ kbKgFindByEntity(body: KBKGFindByEntityBody): Promise<KBKGDocumentNode[]>;
313
+ kbKgStatistics(): Promise<KBKGStatistics>;
314
+ private entityKg;
315
+ entityKgHealthCheck(): Promise<EKGHealthCheck>;
316
+ entityKgStatistics(): Promise<EKGStatistics>;
317
+ entityKgGetEntity(body: EKGGetEntityBody): Promise<EKGEntity | null>;
318
+ entityKgFindEntities(body: EKGFindEntitiesBody): Promise<EKGEntity[]>;
319
+ entityKgSearchEntities(body: EKGSearchEntitiesBody): Promise<EKGEntity[]>;
320
+ entityKgGetEntityRelationships(body: EKGGetEntityRelationshipsBody): Promise<EKGRelationshipWithDetails[]>;
321
+ entityKgRelationshipsByEntityIds(body: EKGRelationshipsByEntityIdsBody): Promise<EKGRelationshipWithDetails[][]>;
322
+ entityKgTraverse(body: EKGTraverseBody): Promise<EKGGraphTraversalResult>;
323
+ entityKgFindPath(body: EKGFindPathBody): Promise<EKGShortestPathResult>;
324
+ entityKgRawReadQuery(body: EKGRawReadQueryBody): Promise<Array<Record<string, unknown>>>;
325
+ listEntityModelSources(): Promise<ListEntityModelSourcesResponse>;
326
+ getEntityModelSource(sourceId: string): Promise<GetEntityModelSourceResponse>;
327
+ createEntityModelSource(body: CreateSourceRequest): Promise<EntityModelSourceWriteResponse>;
328
+ updateEntityModelSource(sourceId: string, body: UpdateSourceRequest): Promise<EntityModelSourceWriteResponse>;
329
+ deleteEntityModelSource(sourceId: string): Promise<void>;
330
+ syncEntityModelSource(sourceId: string): Promise<SyncDispatchResponse>;
331
+ checkEntityModelSourceReferences(sourceId: string): Promise<CheckSourceReferencesResponse>;
332
+ discoverEntityModelSourceEntities(sourceId: string): Promise<DiscoverEntitiesResponse>;
333
+ testEntityModelSourceConnection(sourceId: string): Promise<TestConnectionResponse>;
334
+ triggerDocumentIngestion(input: TriggerDocumentIngestionInput): Promise<TriggerDocumentIngestionResponse>;
335
+ getDocumentIngestionStatus(jobId: string): Promise<DocumentIngestionStatusResponse>;
336
+ appendDomainEvent(event: BrainDomainEvent): Promise<AppendDomainEventResponse>;
337
+ appendDomainEventBatch(events: BrainDomainEvent[]): Promise<AppendDomainEventBatchResponse>;
338
+ getDomainEvent(eventId: string): Promise<BrainDomainEvent>;
339
+ private objectsPath;
340
+ getObject(bucket: string, objectPath: string): Promise<{
341
+ data: Buffer;
342
+ contentType: string;
343
+ }>;
344
+ putObject(bucket: string, objectPath: string, data: Uint8Array, opts?: {
345
+ contentType?: string;
346
+ cacheControl?: string;
347
+ ifNotExists?: boolean;
348
+ }): Promise<void>;
349
+ deleteObject(bucket: string, objectPath: string): Promise<void>;
350
+ headObject(bucket: string, objectPath: string): Promise<ObjectMetadataResponse>;
351
+ listObjects(bucket: string, prefix: string): Promise<ListObjectsResponse>;
352
+ signObjectUrl(bucket: string, body: SignObjectUrlRequest): Promise<SignObjectUrlResponse>;
353
+ private rawFetch;
354
+ getEntityAdminConfig(kind: EntityAdminConfigKind): Promise<{
355
+ config: Record<string, unknown> | null;
356
+ source: string;
357
+ }>;
358
+ putEntityAdminConfig(kind: EntityAdminConfigKind, config: Record<string, unknown>): Promise<void>;
359
+ getExternalSecretsConfig(): Promise<{
360
+ config: Record<string, unknown> | null;
361
+ source: string;
362
+ }>;
363
+ putExternalSecretsConfig(config: Record<string, unknown>): Promise<void>;
364
+ testExternalSecretsProvider(providerId: string): Promise<{
365
+ ok: true;
366
+ audit: Record<string, unknown>;
367
+ }>;
368
+ rotateExternalSecretsProvider(providerId: string): Promise<{
369
+ ok: true;
370
+ audit: Record<string, unknown>;
371
+ }>;
372
+ getExternalAdapterConfig(): Promise<{
373
+ config: Record<string, unknown> | null;
374
+ source: string;
375
+ }>;
376
+ putExternalAdapterConfig(config: Record<string, unknown>): Promise<void>;
377
+ getFieldSecurityPolicies(): Promise<{
378
+ config: Record<string, unknown> | null;
379
+ source: string;
380
+ }>;
381
+ putFieldSecurityPolicies(config: Record<string, unknown>): Promise<void>;
382
+ applyFieldSecurityPolicyChange(body: {
383
+ kind: 'upsert';
384
+ policy: Record<string, unknown>;
385
+ } | {
386
+ kind: 'delete';
387
+ policyId: string;
388
+ }): Promise<{
389
+ ok: true;
390
+ change: {
391
+ ts: string;
392
+ actor: string;
393
+ kind: 'upsert' | 'delete';
394
+ policyId: string;
395
+ fieldPath?: string;
396
+ resourceType?: string;
397
+ };
398
+ policies: Record<string, unknown>[];
399
+ changeLog: Array<{
400
+ ts: string;
401
+ actor: string;
402
+ kind: 'upsert' | 'delete';
403
+ policyId: string;
404
+ fieldPath?: string;
405
+ resourceType?: string;
406
+ }>;
407
+ }>;
408
+ private healthcarePath;
409
+ getHealthcareComplianceCollection(collection: HealthcareComplianceCollection): Promise<{
410
+ records: Record<string, unknown>[];
411
+ }>;
412
+ accessHealthcarePHI(request: Record<string, unknown>): Promise<HealthcarePHIAccessResult>;
413
+ createHealthcareRelationship(params: Record<string, unknown>): Promise<{
414
+ id: string;
415
+ }>;
416
+ toggleHealthcareRelationship(relationshipId: string, active: boolean): Promise<void>;
417
+ revokeHealthcareConsent(consentId: string): Promise<void>;
418
+ grantHealthcarePurpose(params: Record<string, unknown>): Promise<{
419
+ id: string;
420
+ }>;
421
+ revokeHealthcarePurpose(permissionId: string): Promise<void>;
422
+ getFinanceComplianceDoc(): Promise<{
423
+ config: Record<string, unknown> | null;
424
+ source: string;
425
+ }>;
426
+ putFinanceComplianceDoc(config: Record<string, unknown>): Promise<void>;
427
+ getComplianceSettings(): Promise<{
428
+ config: Record<string, unknown> | null;
429
+ source: string;
430
+ generation?: number;
431
+ }>;
432
+ putComplianceSettings(config: Record<string, unknown>, opts?: {
433
+ ifGenerationMatch?: number;
434
+ }): Promise<{
435
+ generation?: number;
436
+ }>;
437
+ financeAccessPCI(request: FinancePCIAccessRequest): Promise<FinancePCIAccessResult>;
438
+ insuranceAccessPolicyholder(request: InsuranceAccessPolicyholderRequest): Promise<InsuranceAccessPolicyholderResult>;
439
+ getComplianceAuditLogs(query?: {
440
+ schema?: string;
441
+ operation?: string;
442
+ userId?: string;
443
+ startDate?: string;
444
+ endDate?: string;
445
+ emergencyOnly?: boolean;
446
+ chainIntegrity?: 'valid' | 'invalid' | 'all';
447
+ search?: string;
448
+ limit?: number;
449
+ offset?: number;
450
+ }): Promise<{
451
+ entries: Array<Record<string, unknown>>;
452
+ total: number;
453
+ partialContentHashCoverage?: boolean;
454
+ source: string;
455
+ }>;
456
+ putComplianceAuditLog(doc: Record<string, unknown>): Promise<void>;
457
+ verifyComplianceAuditChain(): Promise<{
458
+ valid: boolean;
459
+ totalEntries: number;
460
+ validEntries: number;
461
+ invalidEntries: number;
462
+ firstInvalidId?: string;
463
+ entriesWithContentHash?: number;
464
+ partialContentHashCoverage?: boolean;
465
+ source: string;
466
+ }>;
467
+ exportComplianceAuditCsv(query?: {
468
+ schema?: string;
469
+ operation?: string;
470
+ userId?: string;
471
+ startDate?: string;
472
+ endDate?: string;
473
+ emergencyOnly?: boolean;
474
+ chainIntegrity?: 'valid' | 'invalid';
475
+ search?: string;
476
+ }): Promise<Response>;
477
+ getComplianceDashboardOverview(): Promise<{
478
+ config: Record<string, unknown> | null;
479
+ source: string;
480
+ }>;
481
+ putComplianceDashboardOverview(config: Record<string, unknown>): Promise<void>;
482
+ financeAccessSOX(request: FinanceSOXAccessRequest): Promise<FinanceSOXAccessResult>;
483
+ financeVerifySoD(request: FinanceSoDVerifyRequest): Promise<FinanceSoDVerifyResult>;
484
+ getInsuranceComplianceDoc(collection: InsuranceComplianceCollection): Promise<{
485
+ config: Record<string, unknown> | null;
486
+ source: string;
487
+ generation?: number;
488
+ }>;
489
+ putInsuranceComplianceDoc(collection: InsuranceComplianceCollection, config: Record<string, unknown>, opts?: {
490
+ ifGenerationMatch?: number;
491
+ }): Promise<void>;
492
+ requestBreakGlassAccess(body: BrainBreakGlassRequestBody): Promise<{
493
+ grant: BrainBreakGlassGrant;
494
+ }>;
495
+ getActiveBreakGlassGrants(): Promise<{
496
+ grants: BrainBreakGlassGrant[];
497
+ }>;
498
+ getBreakGlassPendingReviews(): Promise<{
499
+ grants: BrainBreakGlassGrant[];
500
+ }>;
501
+ revokeBreakGlassGrant(grantId: string, revokedBy?: string): Promise<void>;
502
+ approveBreakGlassPostHoc(grantId: string, body: {
503
+ supervisorId?: string;
504
+ approved: boolean;
505
+ notes?: string;
506
+ }): Promise<void>;
507
+ recordIntegrityHash(body: {
508
+ recordType: string;
509
+ recordId: string;
510
+ content: Record<string, unknown>;
511
+ gcsPath?: string;
512
+ }): Promise<{
513
+ hash: Record<string, unknown>;
514
+ }>;
515
+ getRecordIntegrityHash(recordType: string, recordId: string): Promise<{
516
+ hash: Record<string, unknown> | null;
517
+ }>;
518
+ verifyRecordIntegrity(body: {
519
+ recordType: string;
520
+ recordId: string;
521
+ content: Record<string, unknown>;
522
+ }): Promise<{
523
+ result: Record<string, unknown>;
524
+ }>;
525
+ verifyRecordIntegrityChain(body: {
526
+ recordType: string;
527
+ limit?: number;
528
+ }): Promise<{
529
+ result: Record<string, unknown>;
530
+ }>;
531
+ private breakGlassBase;
532
+ getRulesEngineConfig(): Promise<{
533
+ config: Record<string, unknown> | null;
534
+ source: string;
535
+ }>;
536
+ putRulesEngineConfig(config: Record<string, unknown>): Promise<void>;
537
+ triggerRulesEngineConnectionTest(opts: {
538
+ connectionId: string;
539
+ }): Promise<{
540
+ ok: true;
541
+ auditEntry: Record<string, unknown>;
542
+ auditLogs: Array<Record<string, unknown>>;
543
+ }>;
544
+ createSSOProvider(body: {
545
+ id?: string;
546
+ name: string;
547
+ type: 'saml' | 'oidc';
548
+ domain?: string;
549
+ config?: Record<string, unknown>;
550
+ }): Promise<{
551
+ ok: true;
552
+ provider: Record<string, unknown>;
553
+ auditLog: Record<string, unknown>;
554
+ }>;
555
+ updateSSOProvider(providerId: string, patch: {
556
+ name?: string;
557
+ domain?: string;
558
+ status?: 'active' | 'inactive' | 'pending';
559
+ config?: Record<string, unknown>;
560
+ }): Promise<{
561
+ ok: true;
562
+ provider: Record<string, unknown>;
563
+ auditLog: Record<string, unknown>;
564
+ }>;
565
+ deleteSSOProvider(providerId: string): Promise<{
566
+ ok: true;
567
+ auditLog: Record<string, unknown>;
568
+ }>;
569
+ getLdapConfig(): Promise<{
570
+ config: Record<string, unknown> | null;
571
+ source: string;
572
+ }>;
573
+ putLdapConfig(config: Record<string, unknown>): Promise<void>;
574
+ triggerLdapSync(opts?: {
575
+ syncType?: 'manual' | 'full' | 'delta';
576
+ }): Promise<{
577
+ ok: true;
578
+ syncLog: Record<string, unknown>;
579
+ }>;
580
+ getLogStreamingConfig(): Promise<{
581
+ config: Record<string, unknown> | null;
582
+ source: string;
583
+ }>;
584
+ putLogStreamingConfig(config: Record<string, unknown>): Promise<void>;
585
+ testLogStreamingDestination(destinationId: string): Promise<{
586
+ ok: true;
587
+ testLog: Record<string, unknown>;
588
+ testLogs: Array<Record<string, unknown>>;
589
+ }>;
590
+ getLicensePlatformDoc(subPath: string): Promise<{
591
+ config: unknown | null;
592
+ }>;
593
+ putLicensePlatformDoc(subPath: string, config: unknown): Promise<void>;
594
+ listLicenseTierHistory(tier: string, limit: number): Promise<{
595
+ entries: unknown[];
596
+ }>;
597
+ appendLicenseTierHistory(tier: string, entry: Record<string, unknown>): Promise<void>;
598
+ getAdminSecret(key: string): Promise<{
599
+ config: Record<string, unknown> | null;
600
+ }>;
601
+ putAdminSecret(key: string, config: Record<string, unknown>): Promise<void>;
602
+ private request;
603
+ }
604
+ export declare function createBrainClient(config: BrainClientConfig): BrainAPIClient;