@stack-spot/portal-network 0.175.1 → 0.176.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 (57) hide show
  1. package/CHANGELOG.md +230 -0
  2. package/dist/api/ai.d.ts +3 -0
  3. package/dist/api/ai.d.ts.map +1 -1
  4. package/dist/api/ai.js.map +1 -1
  5. package/dist/api/codeShift.d.ts +95 -10
  6. package/dist/api/codeShift.d.ts.map +1 -1
  7. package/dist/api/codeShift.js +84 -0
  8. package/dist/api/codeShift.js.map +1 -1
  9. package/dist/api-addresses.d.ts +14 -5
  10. package/dist/api-addresses.d.ts.map +1 -1
  11. package/dist/api-addresses.js +27 -10
  12. package/dist/api-addresses.js.map +1 -1
  13. package/dist/apis-itau.json +225 -0
  14. package/dist/client/code-shift.d.ts +46 -4
  15. package/dist/client/code-shift.d.ts.map +1 -1
  16. package/dist/client/code-shift.js +28 -1
  17. package/dist/client/code-shift.js.map +1 -1
  18. package/dist/client/data-integration.d.ts +9 -0
  19. package/dist/client/data-integration.d.ts.map +1 -1
  20. package/dist/client/data-integration.js +10 -1
  21. package/dist/client/data-integration.js.map +1 -1
  22. package/dist/client/workspace-manager.d.ts +9 -0
  23. package/dist/client/workspace-manager.d.ts.map +1 -1
  24. package/dist/client/workspace-manager.js +11 -2
  25. package/dist/client/workspace-manager.js.map +1 -1
  26. package/dist/error/dictionary/cloud-platform.d.ts +70 -8
  27. package/dist/error/dictionary/cloud-platform.d.ts.map +1 -1
  28. package/dist/error/dictionary/cloud-platform.js +74 -12
  29. package/dist/error/dictionary/cloud-platform.js.map +1 -1
  30. package/dist/index.d.ts +3 -3
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +2 -2
  33. package/dist/index.js.map +1 -1
  34. package/dist/network/NetworkClient.d.ts +4 -2
  35. package/dist/network/NetworkClient.d.ts.map +1 -1
  36. package/dist/network/NetworkClient.js +5 -3
  37. package/dist/network/NetworkClient.js.map +1 -1
  38. package/dist/network/types.d.ts +1 -0
  39. package/dist/network/types.d.ts.map +1 -1
  40. package/package.json +2 -2
  41. package/readme.md +1 -1
  42. package/src/api/account.ts +1 -0
  43. package/src/api/agent-tools.ts +3 -0
  44. package/src/api/agent.ts +2 -0
  45. package/src/api/ai.ts +3 -0
  46. package/src/api/codeShift.ts +264 -10
  47. package/src/api/notification.ts +2 -0
  48. package/src/api-addresses.ts +30 -11
  49. package/src/apis-itau.json +225 -0
  50. package/src/client/ai.ts +1 -0
  51. package/src/client/code-shift.ts +19 -0
  52. package/src/client/data-integration.ts +6 -0
  53. package/src/client/workspace-manager.ts +8 -1
  54. package/src/error/dictionary/cloud-platform.ts +74 -12
  55. package/src/index.ts +4 -3
  56. package/src/network/NetworkClient.ts +7 -4
  57. package/src/network/types.ts +2 -0
@@ -58,6 +58,9 @@ import {
58
58
  getModuleV1ModulesModuleIdGet,
59
59
  analyticsProgramGroupsTargetDetailsV1AnalyticsProgramGroupsTargetDetailsGet,
60
60
  analyticsProgramGroupsTargetDetailsDownloadV1AnalyticsProgramGroupsTargetDetailsDownloadGet,
61
+ analyticsRepositoryTargetDetailsV1AnalyticsRepositoriesTargetDetailsGet,
62
+ analyticsRepositoryTargetDetailsDownloadV1AnalyticsRepositoriesTargetDetailsDownloadGet,
63
+ searchReposScmServiceV2ReposSearchScmPost,
61
64
  } from '../api/codeShift'
62
65
  import { DefaultAPIError } from '../error/DefaultAPIError'
63
66
  import { codeShiftDictionary } from '../error/dictionary/code-shift'
@@ -159,6 +162,10 @@ class CodeShift extends ReactQueryNetworkClient {
159
162
  * Downloads file with found repositories
160
163
  */
161
164
  downloadSearchRepository = this.mutation(removeAuthorizationParam(downloadSearchReposScmServiceV1ReposSearchScmSearchRepoIdDownloadGet))
165
+ /**
166
+ * Searches for repositories (v2)
167
+ */
168
+ searchRepositoryV2 = this.mutation(removeAuthorizationParam(searchReposScmServiceV2ReposSearchScmPost))
162
169
  /**
163
170
  * Validate if the user has permission.
164
171
  * We do not use opa in this api, so this is the fn needed to check permissions.
@@ -330,6 +337,18 @@ class CodeShift extends ReactQueryNetworkClient {
330
337
  analyticsProgramGroupsTargetDetailsDownload = this.query(
331
338
  removeAuthorizationParam(analyticsProgramGroupsTargetDetailsDownloadV1AnalyticsProgramGroupsTargetDetailsDownloadGet),
332
339
  )
340
+ /**
341
+ * Analytics Repository Target Details
342
+ */
343
+ analyticsRepositoryTargetDetails = this.query(
344
+ removeAuthorizationParam(analyticsRepositoryTargetDetailsV1AnalyticsRepositoriesTargetDetailsGet),
345
+ )
346
+ /**
347
+ * Analytics Repository Target Details Download
348
+ */
349
+ analyticsRepositoryTargetDetailsDownload = this.query(
350
+ removeAuthorizationParam(analyticsRepositoryTargetDetailsDownloadV1AnalyticsRepositoriesTargetDetailsDownloadGet),
351
+ )
333
352
  }
334
353
 
335
354
  export const codeShiftClient = new CodeShift()
@@ -10,6 +10,7 @@ import {
10
10
  findKsV1KnowledgeSourcesSlugGet,
11
11
  forkKsV1KnowledgeSourcesSlugForkPost,
12
12
  getFileUploadStatusV1FileUploadFileUploadIdGet,
13
+ getIndexedFilesV1KnowledgeSourcesKsSlugFilesGet,
13
14
  getUploadFormV1FileUploadFormPost,
14
15
  getUploadFormV2V2FileUploadFormPost,
15
16
  listKosV1KnowledgeSourcesKsSlugObjectsGet,
@@ -180,6 +181,11 @@ class DataIntegrationClient extends ReactQueryNetworkClient {
180
181
  * Delete Knowledge Object from Knowledge Source
181
182
  */
182
183
  deleteKnowledgeObjectFromKnowledgeSource = this.mutation(removeAuthorizationParam(deleteKoByIdV1KnowledgeSourcesKsSlugObjectsKoIdDelete))
184
+ /**
185
+ * Get Indexed Files
186
+ */
187
+ listIndexedProjectFiles = this.query(removeAuthorizationParam(getIndexedFilesV1KnowledgeSourcesKsSlugFilesGet))
188
+
183
189
  }
184
190
 
185
191
  export const dataIntegrationClient = new DataIntegrationClient()
@@ -1,5 +1,6 @@
1
1
  /* eslint-disable max-len */
2
2
  import { HttpError } from '@oazapfts/runtime'
3
+ import { getApiAddresses } from '../api-addresses'
3
4
  import {
4
5
  accountApplicationControllergetAccountApplicationPage,
5
6
  accountApplicationControllergetAccountApplicationsFilters,
@@ -38,6 +39,7 @@ import {
38
39
  contextControllerupsertWorkspaceActionsInputContext,
39
40
  contextWorkflowControllergetAccountWorkflowInputs,
40
41
  contextWorkflowControllergetConsolidatedWorkflowInputs,
42
+ contextWorkflowControllergetWorkspaceWorkflowInputs,
41
43
  contextgetAccountPluginInputs,
42
44
  contextgetConsolidatedPluginInputs,
43
45
  contextgetConsolidatedPluginInputsWithConnectionInterfaces,
@@ -79,7 +81,6 @@ import { ReactQueryNetworkClient } from '../network/ReactQueryNetworkClient'
79
81
  import { contentClient } from './content'
80
82
  import { FixedFullInputContextResponse, FixedPaginatedActivityResponse, FixedPluginForAppCreationV2Response, FixedWorkflowForCreationResponse, ReplaceResult } from './types'
81
83
  import { workspaceClient } from './workspace'
82
- import { getApiAddresses } from '../api-addresses'
83
84
 
84
85
  class WorkspaceManagerClient extends ReactQueryNetworkClient {
85
86
  constructor() {
@@ -153,6 +154,12 @@ class WorkspaceManagerClient extends ReactQueryNetworkClient {
153
154
  */
154
155
  workflowDataWithInputsInWorkspace = this.query(contextWorkflowControllergetConsolidatedWorkflowInputs as
155
156
  unknown as ReplaceResult<typeof contextWorkflowControllergetConsolidatedWorkflowInputs, FixedWorkflowForCreationResponse>)
157
+
158
+ /**
159
+ * Gets workflow inputs in a workspace stack
160
+ */
161
+ workflowInputsInWorkspace = this.query(contextWorkflowControllergetWorkspaceWorkflowInputs as unknown as ReplaceResult<typeof contextWorkflowControllergetWorkspaceWorkflowInputs, FixedWorkflowForCreationResponse>)
162
+
156
163
  /**
157
164
  * Gets workflow inputs in an account stack
158
165
  */
@@ -2,19 +2,81 @@ import { Dictionary } from '@stack-spot/portal-translate'
2
2
 
3
3
  export const scfDictionary = {
4
4
  en: {
5
- SCF_CIDR_CREATION_ERROR: 'Error creating CIDR.',
6
- SCF_CIDR_RANGE_CONFLICT: 'The specified CIDR conflicts with an existing CIDR. {1}',
7
- SCF_FOLDER_CREATION_ERROR: 'Error creating folder.',
8
- SCF_FOLDER_ALREADY_EXISTS_ERROR: 'There is already a folder {1} within that foundation.',
9
- SCF_CIDR_FOUNDATION_RESERVED: 'The CIDR block {1} has been reserved for Foundation use.',
10
- SCF_CIDR_NOTATION_INVALID: 'The CIDR block {1} is not a valid CIDR notation. Expected format: {2}.',
5
+ SCF_CERTIFICATE_ERROR: 'Certificate operation failed.',
6
+ SCF_CERTIFICATE_NOT_FOUND_ERROR: 'Certificate with ID {1} not found.',
7
+ SCF_CIDR_ERROR: 'CIDR operation failed.',
8
+ SCF_CIDR_RANGE_CONFLICT: 'CIDR range {1} conflicts with an existing range.',
9
+ SCF_CIDR_FOUNDATION_RESERVED: 'CIDR range {1} conflicts with the Foundation\'s reserved range.',
10
+ SCF_CIDR_NOT_FOUND_ERROR: 'CIDR with ID {1} not found.',
11
+ SCF_CONTROL_TOWER_BUSY_ERROR: 'Foundations Control Tower is currently busy. Please try again later.',
12
+ SCF_DNS_RECORD_ERROR: 'DNS Record operation failed.',
13
+ SCF_DNS_RECORD_NOT_FOUND_ERROR: 'DNS Record with ID {1} not found.',
14
+ SCF_DNS_ZONE_ERROR: 'DNS Zone operation failed.',
15
+ SCF_DNS_ZONE_NOT_FOUND_ERROR: 'DNS Zone with ID {1} not found.',
16
+ SCF_DNS_ZONE_NOT_READY_ERROR: 'DNS Zone with ID {1} not ready.',
17
+ SCF_FOLDER_ALREADY_EXISTS_ERROR: 'A folder named {1} already exists.',
18
+ SCF_FOLDER_ERROR: 'Folder operation failed.',
19
+ SCF_FOLDER_NOT_FOUND_ERROR: 'Folder with ID {1} not found.',
20
+ SCF_FOLDER_NOT_READY_ERROR: 'Folder with ID {1} not ready.',
21
+ SCF_FOUNDATION_ERROR: 'Foundation operation failed.',
22
+ SCF_FOUNDATION_NOT_FOUND_ERROR: 'Foundation with ID {1} not found.',
23
+ SCF_FOUNDATION_NOT_READY_ERROR: 'Foundation with ID {1} not ready.',
24
+ SCF_INBOUND_ERROR: 'Inbound operation failed.',
25
+ SCF_INVALID_REGEX_ERROR: 'The value {1} is invalid.',
26
+ SCF_MASTER_ACCOUNT_ERROR: 'Master Account operation failed.',
27
+ SCF_MASTER_ACCOUNT_NOT_FOUND_ERROR: 'No Master Account available for Foundation creation.',
28
+ SCF_NAMESPACE_CREATION_ERROR: 'An error occurred while creating the Kubernetes namespace.',
29
+ SCF_NETWORK_CONNECTION_ERROR: 'Network Connection operation failed.',
30
+ SCF_NETWORK_ERROR: 'Network operation failed.',
31
+ SCF_NETWORK_NOT_FOUND_ERROR: 'Network with ID {1} not found.',
32
+ SCF_NETWORK_NOT_READY_ERROR: 'Network with ID {1} not ready.',
33
+ SCF_PARENT_FOLDER_NOT_READY_ERROR: 'Parent Folder with ID {1} not ready.',
34
+ SCF_PROJECT_ERROR: 'Project operation failed.',
35
+ SCF_PROJECT_NOT_FOUND_ERROR: 'Project with ID {1} not found.',
36
+ SCF_PROJECT_NOT_READY_ERROR: 'Project with ID {1} not ready.',
37
+ SCF_UNKNOWN_ERROR: 'An unexpected error has occurred.',
38
+ SCF_VPN_CONFIGURATION_NOT_FOUND_ERROR: 'Configuration for VPN with ID {1} not found.',
39
+ SCF_VPN_ERROR: 'VPN operation failed.',
40
+ SCF_VPN_NOT_FOUND_ERROR: 'VPN with ID {1} not found.',
41
+ SCF_VPN_NOT_READY_ERROR: 'VPN with ID {1} not ready.',
11
42
  },
12
43
  pt: {
13
- SCF_CIDR_CREATION_ERROR: 'Erro ao criar CIDR.',
14
- SCF_CIDR_RANGE_CONFLICT: 'O CIDR especificado conflita com um CIDR já existente: {1}.',
15
- SCF_FOLDER_CREATION_ERROR: 'Erro ao criar pasta.',
16
- SCF_FOLDER_ALREADY_EXISTS_ERROR: ' existe uma pasta {1} dentro dessa fundação.',
17
- SCF_CIDR_FOUNDATION_RESERVED: 'O bloco CIDR {1} foi reservado para uso da Fundação.',
18
- SCF_CIDR_NOTATION_INVALID: 'O bloco CIDR {1} não é uma notação CIDR válida. Formato esperado: {2}.',
44
+ SCF_CERTIFICATE_ERROR: 'Falha na operação de Certificado.',
45
+ SCF_CERTIFICATE_NOT_FOUND_ERROR: 'Certificado com ID {1} não encontrado.',
46
+ SCF_CIDR_ERROR: 'Falha na operação de CIDR.',
47
+ SCF_CIDR_RANGE_CONFLICT: 'O intervalo CIDR {1} conflita com um intervalo existente.',
48
+ SCF_CIDR_FOUNDATION_RESERVED: 'O intervalo CIDR {1} conflita com o intervalo reservado da Fundação.',
49
+ SCF_CIDR_NOT_FOUND_ERROR: 'CIDR com ID {1} não encontrado.',
50
+ SCF_CONTROL_TOWER_BUSY_ERROR: 'Control Tower da Fundação está ocupada no momento. Por favor, tente novamente mais tarde.',
51
+ SCF_DNS_RECORD_ERROR: 'Falha na operação de DNS Record.',
52
+ SCF_DNS_RECORD_NOT_FOUND_ERROR: 'DNS Record com ID {1} não encontrado.',
53
+ SCF_DNS_ZONE_ERROR: 'Falha na operação de DNS Zone.',
54
+ SCF_DNS_ZONE_NOT_FOUND_ERROR: 'DNS Zone com ID {1} não encontrada.',
55
+ SCF_DNS_ZONE_NOT_READY_ERROR: 'DNS Zone com ID {1} não está pronta.',
56
+ SCF_FOLDER_ALREADY_EXISTS_ERROR: 'Uma Pasta com o nome {1} já existe.',
57
+ SCF_FOLDER_ERROR: 'Falha na operação de Pasta.',
58
+ SCF_FOLDER_NOT_FOUND_ERROR: 'Pasta com ID {1} não encontrada.',
59
+ SCF_FOLDER_NOT_READY_ERROR: 'Pasta com ID {1} não está pronta.',
60
+ SCF_FOUNDATION_ERROR: 'Falha na operação da Fundação.',
61
+ SCF_FOUNDATION_NOT_FOUND_ERROR: 'Fundação com ID {1} não encontrada.',
62
+ SCF_FOUNDATION_NOT_READY_ERROR: 'Fundação com ID {1} não está pronta.',
63
+ SCF_INBOUND_ERROR: 'Falha na operação de Inbound.',
64
+ SCF_INVALID_REGEX_ERROR: 'O valor {1} é inválido.',
65
+ SCF_MASTER_ACCOUNT_ERROR: 'Falha na operação da Master Account.',
66
+ SCF_MASTER_ACCOUNT_NOT_FOUND_ERROR: 'Nenhuma Master Account disponível para criação da Fundação.',
67
+ SCF_NAMESPACE_CREATION_ERROR: 'Ocorreu um erro ao criar o namespace no Kubernetes.',
68
+ SCF_NETWORK_CONNECTION_ERROR: 'Falha na operação de Network Connection.',
69
+ SCF_NETWORK_ERROR: 'Falha na operação de Network.',
70
+ SCF_NETWORK_NOT_FOUND_ERROR: 'Network com ID {1} não encontrada.',
71
+ SCF_NETWORK_NOT_READY_ERROR: 'Network com ID {1} não está pronta.',
72
+ SCF_PARENT_FOLDER_NOT_READY_ERROR: 'Pasta pai com ID {1} não está pronta.',
73
+ SCF_PROJECT_ERROR: 'Falha na operação do Projeto.',
74
+ SCF_PROJECT_NOT_FOUND_ERROR: 'Projeto com ID {1} não encontrado.',
75
+ SCF_PROJECT_NOT_READY_ERROR: 'Projeto com ID {1} não está pronto.',
76
+ SCF_UNKNOWN_ERROR: 'Ocorreu um erro inesperado.',
77
+ SCF_VPN_CONFIGURATION_NOT_FOUND_ERROR: 'Configuração para VPN com ID {1} não encontrada.',
78
+ SCF_VPN_ERROR: 'Falha na operação de VPN.',
79
+ SCF_VPN_NOT_FOUND_ERROR: 'VPN com ID {1} não encontrada.',
80
+ SCF_VPN_NOT_READY_ERROR: 'VPN com ID {1} não está pronta.',
19
81
  },
20
82
  } satisfies Dictionary
package/src/index.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  export { CancelledError } from '@tanstack/react-query'
2
- export { apiAddresses, getApiAddresses, getBaseUrlWithOverride, setApisOverride } from './api-addresses'
2
+ export { apiAddresses, getApiAddresses, getApisByTenant, getBaseUrlByTenantWithOverride, setApisOverride } from './api-addresses'
3
3
  export { accountClient } from './client/account'
4
- export * from './client/discover'
5
4
  export { agentClient } from './client/agent'
6
5
  export { agentToolsClient } from './client/agent-tools'
7
6
  export { aiClient } from './client/ai'
@@ -14,6 +13,7 @@ export { cloudServicesClient } from './client/cloud-services'
14
13
  export { codeShiftClient } from './client/code-shift'
15
14
  export { contentClient } from './client/content'
16
15
  export { dataIntegrationClient } from './client/data-integration'
16
+ export * from './client/discover'
17
17
  export { discoverClient } from './client/discover'
18
18
  export { eventBusClient } from './client/event-bus'
19
19
  export { genAiInferenceClient } from './client/gen-ai-inference'
@@ -35,9 +35,10 @@ export { StreamError } from './error/StreamError'
35
35
  export { StreamJsonError } from './error/StreamJsonError'
36
36
  export { NetworkClient } from './network/NetworkClient'
37
37
  export { queryClient } from './network/react-query-client'
38
- export { OperationResult, OperationVariables, UseQueryObjectOptions } from './network/types'
38
+ export { Env, OperationResult, OperationVariables, Tenant, UseQueryObjectOptions } from './network/types'
39
39
  export { StreamingStatus } from './types'
40
40
  export { StreamedArray } from './utils/StreamedArray'
41
41
  export { StreamedJson } from './utils/StreamedJson'
42
42
  export { useExtendedList } from './utils/use-extended-list'
43
43
  export { useStreamedArray } from './utils/use-streamed-array'
44
+
@@ -1,9 +1,9 @@
1
1
  import { AuthenticationError, SessionExpiredError } from '@stack-spot/auth'
2
2
  import { requestPermission } from '@stack-spot/opa'
3
3
  import { events } from 'fetch-event-stream'
4
+ import { getBaseUrlByTenantWithOverride } from '../api-addresses'
4
5
  import { StackspotAPIError } from '../error/StackspotAPIError'
5
- import { Env, FetchEventStream, HTTPMethod, SessionManager } from './types'
6
- import { getBaseUrlWithOverride } from '../api-addresses'
6
+ import { Env, FetchEventStream, HTTPMethod, SessionManager, Tenant } from './types'
7
7
 
8
8
  /**
9
9
  * A set of methods for performing network requests to an API.
@@ -21,6 +21,7 @@ export abstract class NetworkClient {
21
21
  private baseURL: Record<Env, string>
22
22
  static readonly sessionManager?: SessionManager
23
23
  private static env?: Env
24
+ private static tenant?: Tenant
24
25
 
25
26
  /**
26
27
  * @param baseURL An object with the keys "dev", "stg" and "prd". The values must be the url for each of these environments.
@@ -33,11 +34,13 @@ export abstract class NetworkClient {
33
34
  * Sets up all network clients. Must be called before attempting to make any request.
34
35
  * @param sessionManager An object with functions capable of checking, retrieving and ending the current session.
35
36
  * @param env The environment to send the requests to.
37
+ * @param tenant - {@link Tenant} tenant identifier used to scope requests.
36
38
  */
37
- static setup(sessionManager: SessionManager, env: Env) {
39
+ static setup(sessionManager: SessionManager, env: Env, tenant: Tenant) {
38
40
  //@ts-ignore This is the only place we would link session manager to be set.
39
41
  NetworkClient.sessionManager = sessionManager
40
42
  NetworkClient.env = env
43
+ NetworkClient.tenant = tenant
41
44
  }
42
45
 
43
46
  /**
@@ -62,7 +65,7 @@ export abstract class NetworkClient {
62
65
  * @returns the final baseURL for the current environment, considering overrides if available.
63
66
  */
64
67
  protected getBaseURL(): string {
65
- return getBaseUrlWithOverride(this.baseURL, NetworkClient.env);
68
+ return getBaseUrlByTenantWithOverride(this.baseURL, NetworkClient.env, NetworkClient.tenant);
66
69
  }
67
70
 
68
71
  /**
@@ -10,6 +10,8 @@ export interface SessionManager {
10
10
  getSession(): Session,
11
11
  }
12
12
 
13
+ export type Tenant = 'stackspot' | 'itau'
14
+
13
15
  export type Env = 'dev' | 'stg' | 'prd'
14
16
 
15
17
  export type HTTPMethod = 'post' | 'patch' | 'delete' | 'put' | 'get'