@gen3/core 0.10.95 → 0.10.98

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/dist/cjs/index.js +267 -6
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/dts/features/authz/authzMappingSlice.d.ts +463 -31
  4. package/dist/dts/features/authz/authzMappingSlice.d.ts.map +1 -1
  5. package/dist/dts/features/authz/index.d.ts +2 -2
  6. package/dist/dts/features/authz/index.d.ts.map +1 -1
  7. package/dist/dts/features/authz/types.d.ts +17 -0
  8. package/dist/dts/features/authz/types.d.ts.map +1 -1
  9. package/dist/dts/features/cohort/cohortSlice.d.ts +2 -0
  10. package/dist/dts/features/cohort/cohortSlice.d.ts.map +1 -1
  11. package/dist/dts/features/dataLibrary/index.d.ts +1 -1
  12. package/dist/dts/features/dataLibrary/index.d.ts.map +1 -1
  13. package/dist/dts/features/dataLibrary/storage/types.d.ts +1 -5
  14. package/dist/dts/features/dataLibrary/storage/types.d.ts.map +1 -1
  15. package/dist/dts/features/dataLibrary/useDataLibrary.d.ts +1 -1
  16. package/dist/dts/features/dataLibrary/useDataLibrary.d.ts.map +1 -1
  17. package/dist/dts/features/fence/utils.d.ts.map +1 -1
  18. package/dist/dts/features/filters/filters.d.ts.map +1 -1
  19. package/dist/dts/features/filters/index.d.ts +2 -2
  20. package/dist/dts/features/filters/index.d.ts.map +1 -1
  21. package/dist/dts/features/filters/types.d.ts +4 -1
  22. package/dist/dts/features/filters/types.d.ts.map +1 -1
  23. package/dist/dts/features/gen3/gen3Api.d.ts.map +1 -1
  24. package/dist/dts/features/guppy/guppySlice.d.ts +186 -1
  25. package/dist/dts/features/guppy/guppySlice.d.ts.map +1 -1
  26. package/dist/dts/features/requestor/index.d.ts +3 -0
  27. package/dist/dts/features/requestor/index.d.ts.map +1 -1
  28. package/dist/dts/features/requestor/remoteSupport/index.d.ts +5 -0
  29. package/dist/dts/features/requestor/remoteSupport/index.d.ts.map +1 -0
  30. package/dist/dts/features/requestor/remoteSupport/registerDefaultRemoteSupport.d.ts +2 -0
  31. package/dist/dts/features/requestor/remoteSupport/registerDefaultRemoteSupport.d.ts.map +1 -0
  32. package/dist/dts/features/requestor/remoteSupport/registeredRemoteSupportServices.d.ts +48 -0
  33. package/dist/dts/features/requestor/remoteSupport/registeredRemoteSupportServices.d.ts.map +1 -0
  34. package/dist/dts/features/requestor/remoteSupport/types.d.ts +12 -0
  35. package/dist/dts/features/requestor/remoteSupport/types.d.ts.map +1 -0
  36. package/dist/dts/features/requestor/remoteSupport/zenDesk.d.ts +5 -0
  37. package/dist/dts/features/requestor/remoteSupport/zenDesk.d.ts.map +1 -0
  38. package/dist/dts/features/requestor/requestorSlice.d.ts +595 -23
  39. package/dist/dts/features/requestor/requestorSlice.d.ts.map +1 -1
  40. package/dist/dts/features/user/userSliceRTK.d.ts.map +1 -1
  41. package/dist/dts/types/index.d.ts +20 -0
  42. package/dist/dts/types/index.d.ts.map +1 -1
  43. package/dist/dts/utils/caseConversion.d.ts +3 -0
  44. package/dist/dts/utils/caseConversion.d.ts.map +1 -0
  45. package/dist/dts/utils/conversions.d.ts +33 -0
  46. package/dist/dts/utils/conversions.d.ts.map +1 -0
  47. package/dist/dts/utils/index.d.ts +2 -1
  48. package/dist/dts/utils/index.d.ts.map +1 -1
  49. package/dist/dts/utils/logger.d.ts +6 -0
  50. package/dist/dts/utils/logger.d.ts.map +1 -0
  51. package/dist/dts/utils/test/caseConversion.unit.test.d.ts +2 -0
  52. package/dist/dts/utils/test/caseConversion.unit.test.d.ts.map +1 -0
  53. package/dist/esm/index.js +252 -7
  54. package/dist/esm/index.js.map +1 -1
  55. package/dist/index.d.ts +1968 -665
  56. package/package.json +2 -2
package/dist/cjs/index.js CHANGED
@@ -97,6 +97,7 @@ const isFetchError = (obj)=>{
97
97
  */ const fetchFence = async ({ endpoint, headers, body = {}, method = 'GET', isJSON = true })=>{
98
98
  const res = await fetch(`${GEN3_FENCE_API}${endpoint}`, {
99
99
  method: method,
100
+ credentials: 'include',
100
101
  headers: headers,
101
102
  body: 'POST' === method ? JSON.stringify(body) : null
102
103
  });
@@ -189,6 +190,10 @@ const userAuthApi = react.createApi({
189
190
  return {
190
191
  error: error
191
192
  };
193
+ } else {
194
+ return {
195
+ error: 'Unknown Error'
196
+ };
192
197
  }
193
198
  }
194
199
  return {
@@ -246,6 +251,9 @@ const selectHeadersWithCSRFToken = toolkit.createSelector([
246
251
  }
247
252
  if (csrfToken) headers.set('X-CSRF-Token', csrfToken);
248
253
  return headers;
254
+ },
255
+ validateStatus: (response)=>{
256
+ return response.status >= 200 && response.status < 300;
249
257
  }
250
258
  }),
251
259
  endpoints: ()=>({})
@@ -823,7 +831,8 @@ const newCohort = ({ filters = {}, customName })=>{
823
831
  filters: filters ?? {},
824
832
  modified: false,
825
833
  saved: false,
826
- modified_datetime: ts.toISOString()
834
+ modified_datetime: ts.toISOString(),
835
+ counts: {}
827
836
  };
828
837
  };
829
838
  const createCohortId = ()=>toolkit.nanoid();
@@ -1497,6 +1506,22 @@ const fetchFencePresignedURL = async ({ guid, method = 'GET', onAbort = ()=>null
1497
1506
  return await response.json();
1498
1507
  };
1499
1508
 
1509
+ /**
1510
+ * Converts HistogramData to HistogramDataAsStringKey by ensuring the key is a string.
1511
+ * If the key is already a string, it's used as is.
1512
+ * If the key is a number tuple [min, max], it's converted to a string in the format "min-max".
1513
+ *
1514
+ * @param data The HistogramData object to convert
1515
+ * @returns HistogramDataAsStringKey with the converted key
1516
+ */ const convertToHistogramDataAsStringKey = (data)=>{
1517
+ return {
1518
+ key: typeof data.key === 'string' ? data.key : `${data.key[0]}-${data.key[1]}`,
1519
+ count: data.count
1520
+ };
1521
+ };
1522
+ const calculatePercentageAsNumber = (count, total)=>count ? count / total * 100 : 0;
1523
+ const calculatePercentageAsString = (count, total)=>`${(count / total * 100).toFixed(2)}%`;
1524
+
1500
1525
  const queryWTSFederatedLoginStatus = async (signal)=>{
1501
1526
  try {
1502
1527
  const results = await fetchJSONDataFromURL(`${GEN3_WTS_API}/external_oidc/`, false, HttpMethod.GET, undefined, signal);
@@ -1807,19 +1832,42 @@ const CoreProvider = ({ children })=>{
1807
1832
  // Add more endpoints here
1808
1833
  const { useAskQuestionMutation, useGetAISearchStatusQuery, useGetAISearchVersionQuery } = aiSearchApi;
1809
1834
 
1835
+ const TAGS$1 = 'authz';
1836
+ const authzTags = gen3Api.enhanceEndpoints({
1837
+ addTagTypes: [
1838
+ TAGS$1
1839
+ ]
1840
+ });
1810
1841
  /**
1811
1842
  * Creates the authzApi for checking arborist permissions for a selected user
1812
1843
  * @see https://petstore.swagger.io/?url=https://raw.githubusercontent.com/uc-cdis/arborist/master/docs/openapi.yaml#/auth/get_auth_mapping
1813
1844
  * @see https://github.com/uc-cdis/arborist/blob/master/docs/relationships.simplified.png
1814
1845
  * @returns: An arborist response dict of user permissions {method, service} for each resource path.
1815
- */ const authzApi = gen3Api.injectEndpoints({
1846
+ */ const authzApi = authzTags.injectEndpoints({
1816
1847
  endpoints: (builder)=>({
1817
1848
  getAuthzMappings: builder.query({
1818
1849
  query: ()=>`${GEN3_AUTHZ_API}/mapping`
1850
+ }),
1851
+ getAuthzResources: builder.query({
1852
+ query: ()=>({
1853
+ url: `${GEN3_AUTHZ_API}/resources`,
1854
+ method: 'GET'
1855
+ })
1856
+ }),
1857
+ createAuthzResource: builder.mutation({
1858
+ query: (request)=>({
1859
+ // url: `${GEN3_AUTHZ_API}/resources/${request.resourcePath}${request?.path ? `&p=${request.path}` : ''}`,
1860
+ url: `${GEN3_AUTHZ_API}/resources`,
1861
+ method: 'POST',
1862
+ body: request.data
1863
+ }),
1864
+ invalidatesTags: [
1865
+ TAGS$1
1866
+ ]
1819
1867
  })
1820
1868
  })
1821
1869
  });
1822
- const { useGetAuthzMappingsQuery, useLazyGetAuthzMappingsQuery } = authzApi;
1870
+ const { useGetAuthzMappingsQuery, useLazyGetAuthzMappingsQuery, useGetAuthzResourcesQuery, useLazyGetAuthzResourcesQuery, useCreateAuthzResourceMutation } = authzApi;
1823
1871
  const selectAuthzMapping = authzApi.endpoints.getAuthzMappings.select();
1824
1872
  const selectAuthzMappingData = toolkit.createSelector(selectAuthzMapping, (authzMapping)=>authzMapping?.data ?? {
1825
1873
  mappings: []
@@ -2937,6 +2985,7 @@ const handleOperation = (handler, op)=>{
2937
2985
  case 'nested':
2938
2986
  return handler.handleNestedFilter(op);
2939
2987
  case 'in':
2988
+ case 'includes':
2940
2989
  return handler.handleIncludes(op);
2941
2990
  case 'excludeifany':
2942
2991
  return handler.handleExcludeIfAny(op);
@@ -3091,6 +3140,9 @@ function isUnion(value) {
3091
3140
  function isIntersection(value) {
3092
3141
  return typeof value === 'object' && value !== null && value.operator === 'and' && Array.isArray(value.operands);
3093
3142
  }
3143
+ const isOperandsType = (operation)=>{
3144
+ return operation?.operands !== undefined;
3145
+ };
3094
3146
 
3095
3147
  const FieldNameOverrides = {};
3096
3148
  const COMMON_PREPOSITIONS = [
@@ -3930,7 +3982,7 @@ const buildGetAggregationQuery = (type, fields, filters, accessibility = Accessi
3930
3982
  };
3931
3983
  return queryBody;
3932
3984
  };
3933
- const { useGetRawDataAndTotalCountsQuery, useGetAccessibleDataQuery, useGetAllFieldsForTypeQuery, useGetAggsQuery, useGetAggsNoFilterSelfQuery, useLazyGetAggsQuery, useGetSubAggsQuery, useGetCountsQuery, useGetFieldCountSummaryQuery, useGetFieldsForIndexQuery, useGetSharedFieldsForIndexQuery, useGeneralGQLQuery, useLazyGeneralGQLQuery } = explorerApi;
3985
+ const { useGetRawDataAndTotalCountsQuery, useGetAccessibleDataQuery, useGetAllFieldsForTypeQuery, useGetAggsQuery, useGetAggsNoFilterSelfQuery, useLazyGetAggsQuery, useLazyGetAggsNoFilterSelfQuery, useGetSubAggsQuery, useGetCountsQuery, useGetFieldCountSummaryQuery, useGetFieldsForIndexQuery, useGetSharedFieldsForIndexQuery, useGeneralGQLQuery, useLazyGeneralGQLQuery } = explorerApi;
3934
3986
 
3935
3987
  /**
3936
3988
  * Creates a Guppy API for fetching bulk (> 10K rows) elasticsearch data
@@ -4210,6 +4262,178 @@ const queryMultipleMDSRecords = async (guids, useAggMDS = false, signal)=>{
4210
4262
  });
4211
4263
  };
4212
4264
 
4265
+ class MissingServiceConfigurationError extends Error {
4266
+ constructor(serviceName){
4267
+ super(`Missing service configuration for ${serviceName}`);
4268
+ this.name = 'MissingServiceConfigurationError';
4269
+ }
4270
+ }
4271
+
4272
+ // Default console logger
4273
+ const defaultLogger = {
4274
+ warn: (message)=>console.warn(message),
4275
+ error: (message)=>console.error(message)
4276
+ };
4277
+
4278
+ const DefaultRemoteSupportAction = async ()=>{
4279
+ throw new Error('No remote support service registered for this service name');
4280
+ };
4281
+ class RemoteSupportServiceRegistry {
4282
+ constructor(logger = defaultLogger){
4283
+ this.services = new Map();
4284
+ this.logger = logger;
4285
+ }
4286
+ /**
4287
+ * Register a remote support service
4288
+ * @param serviceName - Unique identifier for the service
4289
+ * @param action - The action function to execute for this service
4290
+ * @throws Error if serviceName or action is invalid
4291
+ */ registerService(serviceName, action) {
4292
+ if (!serviceName?.trim()) {
4293
+ throw new Error('Service name cannot be empty or null');
4294
+ }
4295
+ if (typeof action !== 'function') {
4296
+ throw new Error('Action must be a function');
4297
+ }
4298
+ if (this.services.has(serviceName)) {
4299
+ this.logger.warn(`Service '${serviceName}' is already registered and will be overwritten.`);
4300
+ }
4301
+ this.services.set(serviceName, action);
4302
+ }
4303
+ /**
4304
+ * Get a registered service action
4305
+ * @param serviceName - The service identifier
4306
+ * @returns The registered action or default action if not found
4307
+ */ getSupportService(serviceName) {
4308
+ if (!serviceName?.trim()) {
4309
+ this.logger.error('Service name cannot be empty or null');
4310
+ return DefaultRemoteSupportAction;
4311
+ }
4312
+ const service = this.services.get(serviceName);
4313
+ if (!service) {
4314
+ this.logger.warn(`Service '${serviceName}' not registered. Using default action.`);
4315
+ throw new MissingServiceConfigurationError(serviceName);
4316
+ }
4317
+ return service;
4318
+ }
4319
+ /**
4320
+ * Check if a service is registered
4321
+ * @param serviceName - The service identifier
4322
+ * @returns true if service is registered
4323
+ */ hasService(serviceName) {
4324
+ return this.services.has(serviceName);
4325
+ }
4326
+ /**
4327
+ * Get all registered service names
4328
+ * @returns Array of registered service names
4329
+ */ getRegisteredServices() {
4330
+ return Array.from(this.services.keys());
4331
+ }
4332
+ /**
4333
+ * Unregister a service
4334
+ * @param serviceName - The service identifier
4335
+ * @returns true if service was removed, false if it wasn't registered
4336
+ */ unregisterService(serviceName) {
4337
+ return this.services.delete(serviceName);
4338
+ }
4339
+ /**
4340
+ * Clear all registered services
4341
+ */ clear() {
4342
+ this.services.clear();
4343
+ }
4344
+ /**
4345
+ * Get the number of registered services
4346
+ */ size() {
4347
+ return this.services.size;
4348
+ }
4349
+ }
4350
+ let defaultRegistryInstance = null;
4351
+ function getRemoteSupportServiceRegistry(logger) {
4352
+ if (!defaultRegistryInstance) {
4353
+ defaultRegistryInstance = new RemoteSupportServiceRegistry(logger);
4354
+ }
4355
+ return defaultRegistryInstance;
4356
+ }
4357
+
4358
+ const ZENDESK_MAX_SUBJECT_LENGTH = 255;
4359
+ const ZENDESK_DOMAIN = process.env.NEXT_PUBLIC_GEN3_ZENDESK_API || 'https://<SUBDOMAIN_NAME>.zendesk.com';
4360
+ const createZendeskTicket = async ({ subject, fullName, email, contents }, configuration)=>{
4361
+ const { zendeskSubdomainName } = configuration;
4362
+ try {
4363
+ let zendeskTicketCreationURL = `${ZENDESK_DOMAIN}/api/v2/requests`;
4364
+ if (zendeskSubdomainName) {
4365
+ zendeskTicketCreationURL = zendeskTicketCreationURL.replace('<SUBDOMAIN_NAME>', zendeskSubdomainName);
4366
+ } else {
4367
+ // This is the default Gen3 helpdesk subdomain
4368
+ zendeskTicketCreationURL = zendeskTicketCreationURL.replace('<SUBDOMAIN_NAME>', 'gen3support');
4369
+ }
4370
+ let ticketSubject = subject;
4371
+ if (subject.length > ZENDESK_MAX_SUBJECT_LENGTH) {
4372
+ ticketSubject = `${subject.substring(0, ZENDESK_MAX_SUBJECT_LENGTH - 3)}...`;
4373
+ }
4374
+ await fetch(zendeskTicketCreationURL, {
4375
+ method: 'POST',
4376
+ headers: {
4377
+ 'Content-Type': 'application/json'
4378
+ },
4379
+ body: JSON.stringify({
4380
+ request: {
4381
+ subject: ticketSubject,
4382
+ comment: {
4383
+ body: contents
4384
+ },
4385
+ requester: {
4386
+ name: fullName,
4387
+ email
4388
+ }
4389
+ }
4390
+ })
4391
+ }).then((response)=>{
4392
+ if (response.status !== 201) {
4393
+ throw new Error(`Request for create Zendesk ticket failed with status ${response.status}`);
4394
+ }
4395
+ return response;
4396
+ });
4397
+ } catch (err) {
4398
+ throw new Error(`Request for create Zendesk ticket failed: ${err}`);
4399
+ }
4400
+ };
4401
+
4402
+ const registerDefaultRemoteSupport = ()=>{
4403
+ const registry = getRemoteSupportServiceRegistry();
4404
+ registry.registerService('zenDesk', createZendeskTicket);
4405
+ };
4406
+
4407
+ /**
4408
+ * Converts a Partial<RequestListQuery> object to a URL query string
4409
+ * @param params - The parameters to convert
4410
+ * @returns A formatted query string (including the leading '?')
4411
+ */ const convertToQueryString = (params)=>{
4412
+ if (!params || Object.keys(params).length === 0) {
4413
+ return '';
4414
+ }
4415
+ const queryParts = [];
4416
+ // Handle policy_ids array
4417
+ if (params.policy_ids && params.policy_ids.length > 0) {
4418
+ params.policy_ids.forEach((id)=>{
4419
+ queryParts.push(`policy_id=${encodeURIComponent(id)}`);
4420
+ });
4421
+ }
4422
+ if (params.resource_ids && params.resource_ids.length > 0) {
4423
+ params.resource_ids.forEach((id)=>{
4424
+ queryParts.push(`resource_id=${encodeURIComponent(id)}`);
4425
+ });
4426
+ }
4427
+ // Handle status
4428
+ if (params.status !== undefined) {
4429
+ queryParts.push(`status=${encodeURIComponent(params.status)}`);
4430
+ }
4431
+ // Handle revoke
4432
+ if (params.revoke !== undefined) {
4433
+ queryParts.push(`revoke=${params.revoke}`);
4434
+ }
4435
+ return queryParts.length > 0 ? `?${queryParts.join('&')}` : undefined;
4436
+ };
4213
4437
  /**
4214
4438
  * Defines requester service using a base URL and expected endpoints. Derived from gen3Api core API.
4215
4439
  *
@@ -4218,9 +4442,30 @@ const queryMultipleMDSRecords = async (guids, useAggMDS = false, signal)=>{
4218
4442
  * @see https://github.com/uc-cdis/requestor?tab=readme-ov-file#requestor
4219
4443
  * @see https://petstore.swagger.io/?url=https://raw.githubusercontent.com/uc-cdis/requestor/master/docs/openapi.yaml#/Query/list_requests_request_get
4220
4444
  * @returns: Object of request made
4221
- */ const requestorApi = gen3Api.injectEndpoints({
4445
+ */ //TODO convert snakeCase yTpes o camelCase by adding transform respomse
4446
+ const requestorApi = gen3Api.injectEndpoints({
4222
4447
  endpoints: (builder)=>({
4448
+ status: builder.query({
4449
+ // get status of requestor service
4450
+ query: ()=>`${GEN3_REQUESTOR_API}/_status`
4451
+ }),
4223
4452
  request: builder.query({
4453
+ query: (params)=>{
4454
+ const strParams = params ? convertToQueryString(params) : undefined;
4455
+ return `${GEN3_REQUESTOR_API}/request${strParams ?? ''}`;
4456
+ }
4457
+ }),
4458
+ userRequest: builder.query({
4459
+ // get a list of requests
4460
+ query: (params)=>{
4461
+ const strParams = params ? convertToQueryString(params) : undefined;
4462
+ return `${GEN3_REQUESTOR_API}/request/user${strParams ?? ''}`;
4463
+ }
4464
+ }),
4465
+ requestById: builder.query({
4466
+ query: (requestId)=>`${GEN3_REQUESTOR_API}/request/${requestId}`
4467
+ }),
4468
+ createRequest: builder.mutation({
4224
4469
  query: (queryBody)=>({
4225
4470
  url: `${GEN3_REQUESTOR_API}/request`,
4226
4471
  method: 'POST',
@@ -4234,7 +4479,7 @@ const queryMultipleMDSRecords = async (guids, useAggMDS = false, signal)=>{
4234
4479
  })
4235
4480
  })
4236
4481
  });
4237
- const { useRequestQuery, useLazyRequestQuery } = requestorApi;
4482
+ const { useCreateRequestMutation, useRequestQuery, useLazyRequestQuery, useStatusQuery: useRequestorStatusQuery, useRequestByIdQuery, useUserRequestQuery } = requestorApi;
4238
4483
 
4239
4484
  /**
4240
4485
  * Creates a loadingStatusApi for checking the status of a sower data download job
@@ -4635,6 +4880,7 @@ exports.GEN3_WORKSPACE_API = GEN3_WORKSPACE_API;
4635
4880
  exports.HTTPError = HTTPError;
4636
4881
  exports.HTTPErrorMessages = HTTPErrorMessages;
4637
4882
  exports.HttpMethod = HttpMethod;
4883
+ exports.MissingServiceConfigurationError = MissingServiceConfigurationError;
4638
4884
  exports.Modals = Modals;
4639
4885
  exports.PodConditionType = PodConditionType;
4640
4886
  exports.PodStatus = PodStatus;
@@ -4643,11 +4889,15 @@ exports.WorkspaceStatus = WorkspaceStatus;
4643
4889
  exports.addNewDefaultUnsavedCohort = addNewDefaultUnsavedCohort;
4644
4890
  exports.buildGetAggregationQuery = buildGetAggregationQuery;
4645
4891
  exports.buildListItemsGroupedByDataset = buildListItemsGroupedByDataset;
4892
+ exports.calculatePercentageAsNumber = calculatePercentageAsNumber;
4893
+ exports.calculatePercentageAsString = calculatePercentageAsString;
4646
4894
  exports.clearActiveWorkspaceId = clearActiveWorkspaceId;
4647
4895
  exports.clearCohortFilters = clearCohortFilters;
4648
4896
  exports.cohortReducer = cohortReducer;
4649
4897
  exports.convertFilterSetToGqlFilter = convertFilterSetToGqlFilter;
4650
4898
  exports.convertFilterToGqlFilter = convertFilterToGqlFilter;
4899
+ exports.convertToHistogramDataAsStringKey = convertToHistogramDataAsStringKey;
4900
+ exports.convertToQueryString = convertToQueryString;
4651
4901
  exports.coreStore = coreStore;
4652
4902
  exports.createAppApiForRTKQ = createAppApiForRTKQ;
4653
4903
  exports.createAppStore = createAppStore;
@@ -4675,6 +4925,7 @@ exports.getCurrentTimestamp = getCurrentTimestamp;
4675
4925
  exports.getFederatedLoginStatus = getFederatedLoginStatus;
4676
4926
  exports.getGen3AppId = getGen3AppId;
4677
4927
  exports.getNumberOfItemsInDatalist = getNumberOfItemsInDatalist;
4928
+ exports.getRemoteSupportServiceRegistry = getRemoteSupportServiceRegistry;
4678
4929
  exports.getTimestamp = getTimestamp;
4679
4930
  exports.graphQLAPI = graphQLAPI;
4680
4931
  exports.graphQLWithTags = graphQLWithTags;
@@ -4715,6 +4966,7 @@ exports.isJSONValue = isJSONValue;
4715
4966
  exports.isJSONValueArray = isJSONValueArray;
4716
4967
  exports.isNotDefined = isNotDefined;
4717
4968
  exports.isObject = isObject;
4969
+ exports.isOperandsType = isOperandsType;
4718
4970
  exports.isOperationWithField = isOperationWithField;
4719
4971
  exports.isOperatorWithFieldAndArrayOfOperands = isOperatorWithFieldAndArrayOfOperands;
4720
4972
  exports.isPending = isPending;
@@ -4736,6 +4988,7 @@ exports.processHistogramResponse = processHistogramResponse;
4736
4988
  exports.projectCodeFromResourcePath = projectCodeFromResourcePath;
4737
4989
  exports.queryMultipleMDSRecords = queryMultipleMDSRecords;
4738
4990
  exports.rawDataQueryStrForEachField = rawDataQueryStrForEachField;
4991
+ exports.registerDefaultRemoteSupport = registerDefaultRemoteSupport;
4739
4992
  exports.removeCohort = removeCohort;
4740
4993
  exports.removeCohortFilter = removeCohortFilter;
4741
4994
  exports.requestorApi = requestorApi;
@@ -4804,6 +5057,8 @@ exports.useAskQuestionMutation = useAskQuestionMutation;
4804
5057
  exports.useAuthorizeFromCredentialsMutation = useAuthorizeFromCredentialsMutation;
4805
5058
  exports.useCoreDispatch = useCoreDispatch;
4806
5059
  exports.useCoreSelector = useCoreSelector;
5060
+ exports.useCreateAuthzResourceMutation = useCreateAuthzResourceMutation;
5061
+ exports.useCreateRequestMutation = useCreateRequestMutation;
4807
5062
  exports.useDataLibrary = useDataLibrary;
4808
5063
  exports.useDownloadFromGuppyMutation = useDownloadFromGuppyMutation;
4809
5064
  exports.useFetchUserDetailsQuery = useFetchUserDetailsQuery;
@@ -4818,6 +5073,7 @@ exports.useGetAggsQuery = useGetAggsQuery;
4818
5073
  exports.useGetAllFieldsForTypeQuery = useGetAllFieldsForTypeQuery;
4819
5074
  exports.useGetArrayTypes = useGetArrayTypes;
4820
5075
  exports.useGetAuthzMappingsQuery = useGetAuthzMappingsQuery;
5076
+ exports.useGetAuthzResourcesQuery = useGetAuthzResourcesQuery;
4821
5077
  exports.useGetCSRFQuery = useGetCSRFQuery;
4822
5078
  exports.useGetCohortManifestQuery = useGetCohortManifestQuery;
4823
5079
  exports.useGetCountsQuery = useGetCountsQuery;
@@ -4863,8 +5119,10 @@ exports.useIsUserLoggedIn = useIsUserLoggedIn;
4863
5119
  exports.useLaunchWorkspaceMutation = useLaunchWorkspaceMutation;
4864
5120
  exports.useLazyFetchUserDetailsQuery = useLazyFetchUserDetailsQuery;
4865
5121
  exports.useLazyGeneralGQLQuery = useLazyGeneralGQLQuery;
5122
+ exports.useLazyGetAggsNoFilterSelfQuery = useLazyGetAggsNoFilterSelfQuery;
4866
5123
  exports.useLazyGetAggsQuery = useLazyGetAggsQuery;
4867
5124
  exports.useLazyGetAuthzMappingsQuery = useLazyGetAuthzMappingsQuery;
5125
+ exports.useLazyGetAuthzResourcesQuery = useLazyGetAuthzResourcesQuery;
4868
5126
  exports.useLazyGetCSRFQuery = useLazyGetCSRFQuery;
4869
5127
  exports.useLazyGetCrosswalkDataQuery = useLazyGetCrosswalkDataQuery;
4870
5128
  exports.useLazyGetDownloadQuery = useLazyGetDownloadQuery;
@@ -4877,11 +5135,14 @@ exports.useLazyIsExternalConnectedQuery = useLazyIsExternalConnectedQuery;
4877
5135
  exports.useLazyRequestQuery = useLazyRequestQuery;
4878
5136
  exports.usePrevious = usePrevious;
4879
5137
  exports.useRemoveCredentialMutation = useRemoveCredentialMutation;
5138
+ exports.useRequestByIdQuery = useRequestByIdQuery;
4880
5139
  exports.useRequestQuery = useRequestQuery;
5140
+ exports.useRequestorStatusQuery = useRequestorStatusQuery;
4881
5141
  exports.useSetCurrentPayModelMutation = useSetCurrentPayModelMutation;
4882
5142
  exports.useSubmitSowerJobMutation = useSubmitSowerJobMutation;
4883
5143
  exports.useTerminateWorkspaceMutation = useTerminateWorkspaceMutation;
4884
5144
  exports.useUserAuth = useUserAuth;
5145
+ exports.useUserRequestQuery = useUserRequestQuery;
4885
5146
  exports.userHasCreateOrUpdateOnAnyProject = userHasCreateOrUpdateOnAnyProject;
4886
5147
  exports.userHasDataUpload = userHasDataUpload;
4887
5148
  exports.userHasMethodForServiceOnProject = userHasMethodForServiceOnProject;