@stack-spot/portal-network 0.200.0 → 0.201.0-beta.1

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 (124) hide show
  1. package/CHANGELOG.md +188 -0
  2. package/dist/api/account.d.ts +331 -89
  3. package/dist/api/account.d.ts.map +1 -1
  4. package/dist/api/account.js +203 -46
  5. package/dist/api/account.js.map +1 -1
  6. package/dist/api/accountAssetManager.d.ts +279 -0
  7. package/dist/api/accountAssetManager.d.ts.map +1 -0
  8. package/dist/api/accountAssetManager.js +167 -0
  9. package/dist/api/accountAssetManager.js.map +1 -0
  10. package/dist/api/agent-tools.d.ts +152 -148
  11. package/dist/api/agent-tools.d.ts.map +1 -1
  12. package/dist/api/agent-tools.js +41 -4
  13. package/dist/api/agent-tools.js.map +1 -1
  14. package/dist/api/ai.d.ts +301 -20
  15. package/dist/api/ai.d.ts.map +1 -1
  16. package/dist/api/ai.js +196 -11
  17. package/dist/api/ai.js.map +1 -1
  18. package/dist/api/codeShift.d.ts +122 -9
  19. package/dist/api/codeShift.d.ts.map +1 -1
  20. package/dist/api/codeShift.js +70 -6
  21. package/dist/api/codeShift.js.map +1 -1
  22. package/dist/api/dataIntegration.d.ts +291 -1
  23. package/dist/api/dataIntegration.d.ts.map +1 -1
  24. package/dist/api/dataIntegration.js +254 -0
  25. package/dist/api/dataIntegration.js.map +1 -1
  26. package/dist/api/discover.d.ts +79 -4
  27. package/dist/api/discover.d.ts.map +1 -1
  28. package/dist/api/discover.js +73 -7
  29. package/dist/api/discover.js.map +1 -1
  30. package/dist/api/edpBfa.d.ts +215 -0
  31. package/dist/api/edpBfa.d.ts.map +1 -0
  32. package/dist/api/edpBfa.js +87 -0
  33. package/dist/api/edpBfa.js.map +1 -0
  34. package/dist/api-addresses.d.ts +13 -20
  35. package/dist/api-addresses.d.ts.map +1 -1
  36. package/dist/api-addresses.js +59 -17
  37. package/dist/api-addresses.js.map +1 -1
  38. package/dist/apis-itau.json +16 -0
  39. package/dist/apis.json +16 -0
  40. package/dist/client/account-asset-manager.d.ts +110 -0
  41. package/dist/client/account-asset-manager.d.ts.map +1 -0
  42. package/dist/client/account-asset-manager.js +160 -0
  43. package/dist/client/account-asset-manager.js.map +1 -0
  44. package/dist/client/account.d.ts +11 -9
  45. package/dist/client/account.d.ts.map +1 -1
  46. package/dist/client/account.js +11 -8
  47. package/dist/client/account.js.map +1 -1
  48. package/dist/client/agent-tools.d.ts +35 -2
  49. package/dist/client/agent-tools.d.ts.map +1 -1
  50. package/dist/client/agent-tools.js +26 -3
  51. package/dist/client/agent-tools.js.map +1 -1
  52. package/dist/client/ai.d.ts +160 -2
  53. package/dist/client/ai.d.ts.map +1 -1
  54. package/dist/client/ai.js +120 -2
  55. package/dist/client/ai.js.map +1 -1
  56. package/dist/client/code-shift.d.ts +52 -3
  57. package/dist/client/code-shift.d.ts.map +1 -1
  58. package/dist/client/code-shift.js +46 -1
  59. package/dist/client/code-shift.js.map +1 -1
  60. package/dist/client/data-integration.d.ts +30 -0
  61. package/dist/client/data-integration.d.ts.map +1 -1
  62. package/dist/client/data-integration.js +29 -2
  63. package/dist/client/data-integration.js.map +1 -1
  64. package/dist/client/discover.d.ts +16 -2
  65. package/dist/client/discover.d.ts.map +1 -1
  66. package/dist/client/discover.js +28 -1
  67. package/dist/client/discover.js.map +1 -1
  68. package/dist/client/edp-bfa.d.ts +16 -0
  69. package/dist/client/edp-bfa.d.ts.map +1 -0
  70. package/dist/client/edp-bfa.js +24 -0
  71. package/dist/client/edp-bfa.js.map +1 -0
  72. package/dist/client/notification.d.ts +7 -0
  73. package/dist/client/notification.d.ts.map +1 -1
  74. package/dist/client/notification.js +10 -1
  75. package/dist/client/notification.js.map +1 -1
  76. package/dist/client/secrets.d.ts.map +1 -1
  77. package/dist/client/secrets.js +1 -1
  78. package/dist/client/secrets.js.map +1 -1
  79. package/dist/client/workspace-ai.d.ts +5 -5
  80. package/dist/client/workspace-manager.d.ts +15 -0
  81. package/dist/client/workspace-manager.d.ts.map +1 -1
  82. package/dist/client/workspace-manager.js +19 -1
  83. package/dist/client/workspace-manager.js.map +1 -1
  84. package/dist/error/dictionary/accountAssetManager.d.ts +11 -0
  85. package/dist/error/dictionary/accountAssetManager.d.ts.map +1 -0
  86. package/dist/error/dictionary/accountAssetManager.js +11 -0
  87. package/dist/error/dictionary/accountAssetManager.js.map +1 -0
  88. package/dist/index.d.ts +3 -1
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +3 -1
  91. package/dist/index.js.map +1 -1
  92. package/dist/network/NetworkClient.d.ts.map +1 -1
  93. package/dist/network/NetworkClient.js +11 -2
  94. package/dist/network/NetworkClient.js.map +1 -1
  95. package/dist/network/types.d.ts +1 -0
  96. package/dist/network/types.d.ts.map +1 -1
  97. package/package.json +1 -1
  98. package/readme.md +39 -1
  99. package/src/api/account.ts +579 -163
  100. package/src/api/accountAssetManager.ts +655 -0
  101. package/src/api/agent-tools.ts +201 -152
  102. package/src/api/ai.ts +534 -25
  103. package/src/api/codeShift.ts +225 -12
  104. package/src/api/dataIntegration.ts +635 -1
  105. package/src/api/discover.ts +153 -10
  106. package/src/api/edpBfa.ts +472 -0
  107. package/src/api-addresses.ts +92 -37
  108. package/src/apis-itau.json +16 -0
  109. package/src/apis.json +16 -0
  110. package/src/client/account-asset-manager.ts +100 -0
  111. package/src/client/account.ts +11 -7
  112. package/src/client/agent-tools.ts +17 -3
  113. package/src/client/ai.ts +91 -10
  114. package/src/client/code-shift.ts +29 -0
  115. package/src/client/data-integration.ts +23 -2
  116. package/src/client/discover.ts +15 -2
  117. package/src/client/edp-bfa.ts +24 -0
  118. package/src/client/notification.ts +6 -1
  119. package/src/client/secrets.ts +1 -1
  120. package/src/client/workspace-manager.ts +13 -0
  121. package/src/error/dictionary/accountAssetManager.ts +12 -0
  122. package/src/index.ts +4 -1
  123. package/src/network/NetworkClient.ts +12 -3
  124. package/src/network/types.ts +1 -0
@@ -75,6 +75,11 @@ import {
75
75
  createReposBatchServiceV2ReposBatchPost,
76
76
  getImportResultV2ReposBatchImportIdGet,
77
77
  downloadImportResultV2ReposBatchImportIdDownloadGet,
78
+ deleteModuleServiceV1ModulesModuleIdDelete,
79
+ createRepositoryServiceV2ReposPost,
80
+ listRepositoryServiceV2ReposGet,
81
+ listModuleExecutionBatchActivitiesV1ActivitiesModuleExecutionBatchGet,
82
+ getModuleExecutionBatchActivitiesByIdV1ActivitiesModuleExecutionBatchModuleExecutionBatchIdGet,
78
83
  } from '../api/codeShift'
79
84
  import { DefaultAPIError } from '../error/DefaultAPIError'
80
85
  import { codeShiftDictionary } from '../error/dictionary/code-shift'
@@ -96,6 +101,10 @@ class CodeShift extends ReactQueryNetworkClient {
96
101
  * Creates a repository.
97
102
  */
98
103
  createRepository = this.mutation(removeAuthorizationParam(createRepositoryServiceV1ReposPost))
104
+ /**
105
+ * Creates a repository (v2).
106
+ */
107
+ createRepositoryV2 = this.mutation(removeAuthorizationParam(createRepositoryServiceV2ReposPost))
99
108
  /**
100
109
  * Creates repositories in batch.
101
110
  */
@@ -116,6 +125,10 @@ class CodeShift extends ReactQueryNetworkClient {
116
125
  * Gets list of repositories.
117
126
  */
118
127
  repositories = this.query(removeAuthorizationParam(listRepositoryServiceV1ReposGet))
128
+ /**
129
+ * Gets list of repositories (v2).
130
+ */
131
+ repositoriesV2 = this.query(removeAuthorizationParam(listRepositoryServiceV2ReposGet))
119
132
  /**
120
133
  * Gets a repository
121
134
  */
@@ -144,6 +157,10 @@ class CodeShift extends ReactQueryNetworkClient {
144
157
  * Gets module by id.
145
158
  */
146
159
  module = this.query(removeAuthorizationParam(getModuleV1ModulesModuleIdGet))
160
+ /**
161
+ * Deletes a module by id.
162
+ */
163
+ deleteModule = this.mutation(removeAuthorizationParam(deleteModuleServiceV1ModulesModuleIdDelete))
147
164
  /**
148
165
  * Add a module in favorites.
149
166
  */
@@ -428,6 +445,18 @@ class CodeShift extends ReactQueryNetworkClient {
428
445
  analyticsModulesExecutionTimesDownload = this.query(
429
446
  removeAuthorizationParam(analyticsModuleExecutionTimesDownloadV1AnalyticsModulesExecutionTimesDownloadGet),
430
447
  )
448
+ /**
449
+ * List Module Execution Batch Activities
450
+ */
451
+ activitiesModuleExecutionBatch = this.query(
452
+ removeAuthorizationParam(listModuleExecutionBatchActivitiesV1ActivitiesModuleExecutionBatchGet),
453
+ )
454
+ /**
455
+ * Get Module Execution Batch Activity by ID
456
+ */
457
+ activityModuleExecutionBatch = this.query(
458
+ removeAuthorizationParam(getModuleExecutionBatchActivitiesByIdV1ActivitiesModuleExecutionBatchModuleExecutionBatchIdGet),
459
+ )
431
460
  }
432
461
 
433
462
  export const codeShiftClient = new CodeShift()
@@ -1,4 +1,5 @@
1
1
  import { HttpError } from '@oazapfts/runtime'
2
+ import { getApiAddresses } from '../api-addresses'
2
3
  import {
3
4
  addFavoriteV1KnowledgeSourcesSlugFavoritePost,
4
5
  createKsV1KnowledgeSourcesPost,
@@ -14,7 +15,9 @@ import {
14
15
  getUploadFormV1FileUploadFormPost,
15
16
  getUploadFormV2V2FileUploadFormPost,
16
17
  listKosV1KnowledgeSourcesKsSlugObjectsGet,
18
+ listKosV2KnowledgeSourcesKsSlugObjectsGet,
17
19
  listKsV1KnowledgeSourcesGet,
20
+ listKsV2KnowledgeSourcesGet,
18
21
  publishKsV1KnowledgeSourcesSlugPublishPost,
19
22
  resetKosV1KnowledgeSourcesKsSlugObjectsDelete,
20
23
  saveChunkedFilesDeprecatedV1FileUploadFileUploadIdPost,
@@ -32,7 +35,10 @@ import { FileUploadError } from '../error/FileUploadError'
32
35
  import { StackspotAPIError } from '../error/StackspotAPIError'
33
36
  import { ReactQueryNetworkClient } from '../network/ReactQueryNetworkClient'
34
37
  import { removeAuthorizationParam } from '../utils/remove-authorization-param'
35
- import { getApiAddresses } from '../api-addresses'
38
+
39
+ const listKSV2WithoutAuthorization = removeAuthorizationParam(listKsV2KnowledgeSourcesGet)
40
+ const listKOV2WithoutAuthorization = removeAuthorizationParam(listKosV2KnowledgeSourcesKsSlugObjectsGet)
41
+
36
42
 
37
43
  class DataIntegrationClient extends ReactQueryNetworkClient {
38
44
  constructor() {
@@ -90,6 +96,17 @@ class DataIntegrationClient extends ReactQueryNetworkClient {
90
96
  * List of knowledge sources
91
97
  */
92
98
  knowledgeSources = this.query(removeAuthorizationParam(listKsV1KnowledgeSourcesGet))
99
+ /**
100
+ * List of knowledge sources with pagination
101
+ */
102
+ knowledgeSourcesV2 = this.infiniteQuery(listKSV2WithoutAuthorization, {
103
+ accumulator: 'items',
104
+ getNextPageParam: ({ variables, lastPage, lastPageParam }) => {
105
+ const size = variables.size ?? 1
106
+ const parsedLastPageParam = (lastPageParam as number) ?? variables.page ?? 1
107
+ return lastPage.items && lastPage.items.length < size ? undefined : parsedLastPageParam + 1
108
+ },
109
+ })
93
110
  /**
94
111
  * Adds the resource of type Knowledge Source to the list of favorites.
95
112
  */
@@ -102,6 +119,10 @@ class DataIntegrationClient extends ReactQueryNetworkClient {
102
119
  * List knowledge objects from a knowledge source
103
120
  */
104
121
  listKnowledgeObjects = this.query(removeAuthorizationParam(listKosV1KnowledgeSourcesKsSlugObjectsGet))
122
+ /**
123
+ * List knowledge objects from a knowledge source with pagination
124
+ */
125
+ listKnowledgeObjectsV2 = this.infiniteQuery(listKOV2WithoutAuthorization, { accumulator: 'items' })
105
126
  /**
106
127
  * Get a knowledge object by id
107
128
  */
@@ -185,7 +206,7 @@ class DataIntegrationClient extends ReactQueryNetworkClient {
185
206
  * Get Indexed Files
186
207
  */
187
208
  listIndexedProjectFiles = this.query(removeAuthorizationParam(getIndexedFilesV1KnowledgeSourcesKsSlugFilesGet))
188
-
209
+
189
210
  }
190
211
 
191
212
  export const dataIntegrationClient = new DataIntegrationClient()
@@ -2,7 +2,7 @@ import { HttpError } from '@oazapfts/runtime'
2
2
  import { findLast, last } from 'lodash'
3
3
  import { getApiAddresses } from '../api-addresses'
4
4
  import { ConversationResponse } from '../api/ai'
5
- import { create, create1, create2, defaults, deleteById, deleteById1, deleteById2, getAll, getAll1, getAll2, getAllByHypothesis, getById, getById1, getById2, GetOpportunityResponse, MessageRequest } from '../api/discover'
5
+ import { create, create1, create2, defaults, deleteById, deleteById1, deleteById2, fetchInsights, getAll, getAll1, getAll2, getAllByHypothesis, getById, getById1, getById2, getInsightById, GetOpportunityResponse, AiChatRequest, refreshInsights } from '../api/discover'
6
6
  import { DefaultAPIError } from '../error/DefaultAPIError'
7
7
  import { StackspotAPIError } from '../error/StackspotAPIError'
8
8
  import { StreamedJson } from '../utils/StreamedJson'
@@ -53,6 +53,19 @@ class DiscoverClient extends ReactQueryNetworkClient {
53
53
 
54
54
  deleteDocument = this.mutation(deleteById2)
55
55
 
56
+ /**
57
+ * Fetch insights
58
+ */
59
+ insights = this.query(fetchInsights)
60
+ /**
61
+ * Refresh insights
62
+ */
63
+ refreshInsights = this.mutation(refreshInsights)
64
+ /**
65
+ * Get Insight by Id
66
+ */
67
+ insightById = this.query(getInsightById)
68
+
56
69
  chats = this.query({
57
70
  name: 'chats',
58
71
  request: async (_signal, variables: { filter?: string, page?: number, size?: number }) => {
@@ -108,7 +121,7 @@ class DiscoverClient extends ReactQueryNetworkClient {
108
121
  }
109
122
 
110
123
 
111
- sendChatMessage(request: MessageRequest & { agentId: string }, minChangeIntervalMS?: number): StreamedJson<ChatResponseWithSteps> {
124
+ sendChatMessage(request: AiChatRequest & { agentId: string }, minChangeIntervalMS?: number): StreamedJson<ChatResponseWithSteps> {
112
125
  const abortController = new AbortController()
113
126
  const headers = {
114
127
  'Content-Type': 'application/json',
@@ -0,0 +1,24 @@
1
+ import { HttpError } from '@oazapfts/runtime'
2
+ import { getApiAddresses } from '../api-addresses'
3
+ import { defaults, executeCodeWorkflow } from '../api/edpBfa'
4
+ import { DefaultAPIError } from '../error/DefaultAPIError'
5
+ import { baseDictionary } from '../error/dictionary/base'
6
+ import { StackspotAPIError } from '../error/StackspotAPIError'
7
+ import { ReactQueryNetworkClient } from '../network/ReactQueryNetworkClient'
8
+
9
+ class EdpBfaClient extends ReactQueryNetworkClient {
10
+ constructor() {
11
+ super(getApiAddresses().edpBfa.url, defaults)
12
+ }
13
+
14
+ protected buildStackSpotError(error: HttpError): StackspotAPIError {
15
+ return new DefaultAPIError(error.data, error.status, baseDictionary, error.headers)
16
+ }
17
+
18
+ /**
19
+ * Triggers an workflow to generate code.
20
+ */
21
+ generateCode = this.mutation(executeCodeWorkflow)
22
+ }
23
+
24
+ export const edpBfaClient = new EdpBfaClient()
@@ -1,5 +1,5 @@
1
1
  import { HttpError } from '@oazapfts/runtime'
2
- import { commit, committedNotifications, defaults, findAll } from '../api/notification'
2
+ import { commit, committedNotifications, defaults, findAll, uncommit } from '../api/notification'
3
3
  import { DefaultAPIError } from '../error/DefaultAPIError'
4
4
  import { baseDictionary } from '../error/dictionary/base'
5
5
  import { StackspotAPIError } from '../error/StackspotAPIError'
@@ -27,6 +27,11 @@ class NotificationClient extends ReactQueryNetworkClient {
27
27
  * Mark a notification as committed (mark as read)
28
28
  */
29
29
  commit = this.mutation(commit)
30
+ /**
31
+ * Mark a notification as uncommitted (mark as unread)
32
+ */
33
+ uncommit = this.mutation(uncommit)
34
+
30
35
  }
31
36
 
32
37
  export const notificationClient = new NotificationClient()
@@ -1,11 +1,11 @@
1
1
  import { HttpError } from '@oazapfts/runtime'
2
2
 
3
+ import { getApiAddresses } from '../api-addresses'
3
4
  import { createKey, defaults, deleteKey, deleteSecretValue, editKey, encrypt, getAll1, getAvailability, updateSecretValue } from '../api/secrets'
4
5
  import { DefaultAPIError } from '../error/DefaultAPIError'
5
6
  import { secretsDictionary } from '../error/dictionary/secrets'
6
7
  import { StackspotAPIError } from '../error/StackspotAPIError'
7
8
  import { ReactQueryNetworkClient } from '../network/ReactQueryNetworkClient'
8
- import { getApiAddresses } from '../api-addresses'
9
9
 
10
10
  class SecretClient extends ReactQueryNetworkClient {
11
11
  constructor() {
@@ -29,6 +29,8 @@ import {
29
29
  contextControllerclearActionContextInWorkspace,
30
30
  contextControllerclearPluginContextInAccount,
31
31
  contextControllerclearPluginContextInWorkspace,
32
+ contextControllerclearWorkflowContextInAccount,
33
+ contextControllerclearWorkflowContextInWorkspace,
32
34
  contextControllerimportContextInAccount,
33
35
  contextControllerimportContextInWorkspace,
34
36
  contextControllerupsertAccountActionsInputContext,
@@ -539,6 +541,17 @@ class WorkspaceManagerClient extends ReactQueryNetworkClient {
539
541
  permission: async ({ stackVersionId, workflowVersionId }: Parameters<typeof contextControllerupsertWorkflowAccountContext>[0]) =>
540
542
  workspaceClient.saveContextInAccount.isAllowed({ $type: 'workflow', stackVersionId, externalId: workflowVersionId }),
541
543
  })
544
+
545
+ /**
546
+ * Clear stack workflow context in account
547
+ */
548
+ clearInputContextWorkflowAccount = this.mutation(contextControllerclearWorkflowContextInAccount)
549
+
550
+ /**
551
+ * Clear stack workflow context in workspace
552
+ */
553
+ clearInputContextWorkflowWorkspace = this.mutation(contextControllerclearWorkflowContextInWorkspace)
554
+
542
555
  /**
543
556
  * Get Stacks with context
544
557
  */
@@ -0,0 +1,12 @@
1
+ import { Dictionary } from '@stack-spot/portal-translate'
2
+
3
+ export const accountAssetManagerDictionary = {
4
+ en: {
5
+ FOLDER_BAD_REQUEST_ERROR: 'The provided data is invalid or inconsistent.',
6
+ FOLDER_ALREADY_EXISTS: 'A folder with this name already exists.',
7
+ },
8
+ pt: {
9
+ FOLDER_BAD_REQUEST_ERROR: 'Os dados informados estão inválidos ou inconsistentes.',
10
+ FOLDER_ALREADY_EXISTS: 'Já existe uma pasta com esse nome.',
11
+ },
12
+ } satisfies Dictionary
package/src/index.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { CancelledError } from '@tanstack/react-query'
2
- export { apiAddresses, getApiAddresses, getApisByTenant, getBaseUrlByTenantWithOverride, setApisOverride } from './api-addresses'
2
+ export { apiAddresses, getApiAddresses, getApisBaseUrlConfig, getBaseUrlByTenantWithOverride } from './api-addresses'
3
3
  export { accountClient } from './client/account'
4
+ export { accountAssetManagerClient } from './client/account-asset-manager'
4
5
  export { agentClient } from './client/agent'
5
6
  export { agentToolsClient } from './client/agent-tools'
6
7
  export { aiClient } from './client/ai'
@@ -15,6 +16,7 @@ export { contentClient } from './client/content'
15
16
  export { dataIntegrationClient } from './client/data-integration'
16
17
  export * from './client/discover'
17
18
  export { discoverClient } from './client/discover'
19
+ export { edpBfaClient } from './client/edp-bfa'
18
20
  export { eventBusClient } from './client/event-bus'
19
21
  export { genAiInferenceClient } from './client/gen-ai-inference'
20
22
  export { insightsClient } from './client/insights'
@@ -41,3 +43,4 @@ export { StreamedArray } from './utils/StreamedArray'
41
43
  export { StreamedJson } from './utils/StreamedJson'
42
44
  export { useExtendedList } from './utils/use-extended-list'
43
45
  export { useStreamedArray } from './utils/use-streamed-array'
46
+
@@ -1,8 +1,9 @@
1
1
  import { AuthenticationError, SessionExpiredError } from '@stack-spot/auth'
2
- import { requestPermission } from '@stack-spot/opa'
2
+ import { requestPermission, setup as setupPermissions } from '@stack-spot/opa'
3
3
  import { events } from 'fetch-event-stream'
4
- import { getBaseUrlByTenantWithOverride } from '../api-addresses'
4
+ import { getApisBaseUrlConfig, getBaseUrlByTenantWithOverride, getPermissionsAPIMap } from '../api-addresses'
5
5
  import { StackspotAPIError } from '../error/StackspotAPIError'
6
+ import { queryClient } from './react-query-client'
6
7
  import { Env, FetchEventStream, HTTPMethod, SessionManager, Tenant } from './types'
7
8
 
8
9
  /**
@@ -41,6 +42,14 @@ export abstract class NetworkClient {
41
42
  NetworkClient.sessionManager = sessionManager
42
43
  NetworkClient.env = env
43
44
  NetworkClient.tenant = tenant
45
+ const url = getApisBaseUrlConfig(env, tenant).permissionValidation
46
+ const apiMap = getPermissionsAPIMap(env, tenant)
47
+ sessionManager.onChange?.((session) => {
48
+ if (session) {
49
+ queryClient.invalidateQueries()
50
+ setupPermissions({ url, session, apiMap })
51
+ }
52
+ })
44
53
  }
45
54
 
46
55
  /**
@@ -65,7 +74,7 @@ export abstract class NetworkClient {
65
74
  * @returns the final baseURL for the current environment, considering overrides if available.
66
75
  */
67
76
  protected getBaseURL(): string {
68
- return getBaseUrlByTenantWithOverride(this.baseURL, NetworkClient.env, NetworkClient.tenant);
77
+ return getBaseUrlByTenantWithOverride(this.baseURL, NetworkClient.env, NetworkClient.tenant)
69
78
  }
70
79
 
71
80
  /**
@@ -8,6 +8,7 @@ export interface SessionManager {
8
8
  hasSession(): boolean,
9
9
  endSession(): void,
10
10
  getSession(): Session,
11
+ onChange?: (listener: (session: Session | undefined) => void) => (() => void),
11
12
  }
12
13
 
13
14
  export type Tenant = 'stackspot' | 'itau'