@stack-spot/portal-network 0.199.0-beta.1 → 0.200.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.
- package/CHANGELOG.md +55 -1
- package/dist/api/account.d.ts +331 -89
- package/dist/api/account.d.ts.map +1 -1
- package/dist/api/account.js +203 -46
- package/dist/api/account.js.map +1 -1
- package/dist/api/accountAssetManager.d.ts +279 -0
- package/dist/api/accountAssetManager.d.ts.map +1 -0
- package/dist/api/accountAssetManager.js +167 -0
- package/dist/api/accountAssetManager.js.map +1 -0
- package/dist/api/agent-tools.d.ts +2 -0
- package/dist/api/agent-tools.d.ts.map +1 -1
- package/dist/api/agent-tools.js.map +1 -1
- package/dist/api/ai.d.ts +2 -3
- package/dist/api/ai.d.ts.map +1 -1
- package/dist/api/ai.js.map +1 -1
- package/dist/api/discover.d.ts +9 -6
- package/dist/api/discover.d.ts.map +1 -1
- package/dist/api/discover.js +5 -5
- package/dist/api/discover.js.map +1 -1
- package/dist/api/edpBfa.d.ts +215 -0
- package/dist/api/edpBfa.d.ts.map +1 -0
- package/dist/api/edpBfa.js +87 -0
- package/dist/api/edpBfa.js.map +1 -0
- package/dist/api-addresses.d.ts +11 -20
- package/dist/api-addresses.d.ts.map +1 -1
- package/dist/api-addresses.js +31 -17
- package/dist/api-addresses.js.map +1 -1
- package/dist/apis-itau.json +16 -0
- package/dist/apis.json +16 -0
- package/dist/client/account-asset-manager.d.ts +110 -0
- package/dist/client/account-asset-manager.d.ts.map +1 -0
- package/dist/client/account-asset-manager.js +160 -0
- package/dist/client/account-asset-manager.js.map +1 -0
- package/dist/client/account.d.ts +11 -9
- package/dist/client/account.d.ts.map +1 -1
- package/dist/client/account.js +11 -8
- package/dist/client/account.js.map +1 -1
- package/dist/client/agent-tools.d.ts +2 -2
- package/dist/client/agent-tools.d.ts.map +1 -1
- package/dist/client/agent-tools.js +2 -1
- package/dist/client/agent-tools.js.map +1 -1
- package/dist/client/ai.d.ts +24 -1
- package/dist/client/ai.d.ts.map +1 -1
- package/dist/client/ai.js +19 -1
- package/dist/client/ai.js.map +1 -1
- package/dist/client/data-integration.d.ts.map +1 -1
- package/dist/client/data-integration.js +8 -1
- package/dist/client/data-integration.js.map +1 -1
- package/dist/client/discover.d.ts +2 -2
- package/dist/client/discover.d.ts.map +1 -1
- package/dist/client/discover.js.map +1 -1
- package/dist/client/edp-bfa.d.ts +16 -0
- package/dist/client/edp-bfa.d.ts.map +1 -0
- package/dist/client/edp-bfa.js +24 -0
- package/dist/client/edp-bfa.js.map +1 -0
- package/dist/client/notification.d.ts +7 -0
- package/dist/client/notification.d.ts.map +1 -1
- package/dist/client/notification.js +10 -1
- package/dist/client/notification.js.map +1 -1
- package/dist/client/workspace-manager.d.ts +15 -0
- package/dist/client/workspace-manager.d.ts.map +1 -1
- package/dist/client/workspace-manager.js +19 -1
- package/dist/client/workspace-manager.js.map +1 -1
- package/dist/error/dictionary/accountAssetManager.d.ts +11 -0
- package/dist/error/dictionary/accountAssetManager.d.ts.map +1 -0
- package/dist/error/dictionary/accountAssetManager.js +11 -0
- package/dist/error/dictionary/accountAssetManager.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/network/NetworkClient.js.map +1 -1
- package/package.json +1 -1
- package/src/api/account.ts +579 -163
- package/src/api/accountAssetManager.ts +655 -0
- package/src/api/agent-tools.ts +2 -0
- package/src/api/ai.ts +2 -3
- package/src/api/discover.ts +10 -10
- package/src/api/edpBfa.ts +472 -0
- package/src/api-addresses.ts +56 -37
- package/src/apis-itau.json +16 -0
- package/src/apis.json +16 -0
- package/src/client/account-asset-manager.ts +100 -0
- package/src/client/account.ts +11 -7
- package/src/client/agent-tools.ts +2 -1
- package/src/client/ai.ts +10 -0
- package/src/client/data-integration.ts +9 -2
- package/src/client/discover.ts +2 -2
- package/src/client/edp-bfa.ts +24 -0
- package/src/client/notification.ts +6 -1
- package/src/client/workspace-manager.ts +13 -0
- package/src/error/dictionary/accountAssetManager.ts +12 -0
- package/src/index.ts +4 -1
- package/src/network/NetworkClient.ts +1 -1
package/src/api/discover.ts
CHANGED
|
@@ -151,7 +151,7 @@ export type InsightResponseInsightData = {
|
|
|
151
151
|
title: string;
|
|
152
152
|
summary: string;
|
|
153
153
|
badge: string;
|
|
154
|
-
chartUrl
|
|
154
|
+
chartUrl?: string;
|
|
155
155
|
};
|
|
156
156
|
export type InsightResponse = {
|
|
157
157
|
insights: InsightResponseInsightData[];
|
|
@@ -192,7 +192,7 @@ export type CreateDocumentResponse = {
|
|
|
192
192
|
updatedAt?: string;
|
|
193
193
|
chatId: string;
|
|
194
194
|
};
|
|
195
|
-
export type
|
|
195
|
+
export type AiChatRequest = {
|
|
196
196
|
prompt: string;
|
|
197
197
|
conversationId: string;
|
|
198
198
|
};
|
|
@@ -216,8 +216,9 @@ export type AdminAgentResponse = {
|
|
|
216
216
|
export type GetInsightResponse = {
|
|
217
217
|
id: string;
|
|
218
218
|
title: string;
|
|
219
|
+
summary: string;
|
|
219
220
|
content: string;
|
|
220
|
-
chartUrl
|
|
221
|
+
chartUrl?: string;
|
|
221
222
|
};
|
|
222
223
|
export type GetArtifactResponse = {
|
|
223
224
|
"type": "OPPORTUNITY" | "HYPOTHESIS" | "DOCUMENT";
|
|
@@ -470,9 +471,11 @@ export function create2({ createDocumentRequest }: {
|
|
|
470
471
|
body: createDocumentRequest
|
|
471
472
|
})));
|
|
472
473
|
}
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
474
|
+
/**
|
|
475
|
+
* Send a message to AI chat
|
|
476
|
+
*/
|
|
477
|
+
export function chat({ aiChatRequest }: {
|
|
478
|
+
aiChatRequest: AiChatRequest;
|
|
476
479
|
}, opts?: Oazapfts.RequestOpts) {
|
|
477
480
|
return oazapfts.ok(oazapfts.fetchJson<{
|
|
478
481
|
status: 200;
|
|
@@ -480,10 +483,7 @@ export function chat({ authorization, messageRequest }: {
|
|
|
480
483
|
}>("/v2/ai/chat", oazapfts.json({
|
|
481
484
|
...opts,
|
|
482
485
|
method: "POST",
|
|
483
|
-
body:
|
|
484
|
-
headers: oazapfts.mergeHeaders(opts?.headers, {
|
|
485
|
-
Authorization: authorization
|
|
486
|
-
})
|
|
486
|
+
body: aiChatRequest
|
|
487
487
|
})));
|
|
488
488
|
}
|
|
489
489
|
export function createAgent({ adminAgentCreateRequest }: {
|
|
@@ -0,0 +1,472 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EDP Backend for Agent
|
|
3
|
+
* 0.0.1
|
|
4
|
+
* DO NOT MODIFY - This file has been generated using oazapfts.
|
|
5
|
+
* See https://www.npmjs.com/package/oazapfts
|
|
6
|
+
*/
|
|
7
|
+
import * as Oazapfts from "@oazapfts/runtime";
|
|
8
|
+
import * as QS from "@oazapfts/runtime/query";
|
|
9
|
+
export const defaults: Oazapfts.Defaults<Oazapfts.CustomHeaders> = {
|
|
10
|
+
headers: {},
|
|
11
|
+
baseUrl: "https://adp-development-edp-bfa.prd.stackspot.com",
|
|
12
|
+
};
|
|
13
|
+
const oazapfts = Oazapfts.runtime(defaults);
|
|
14
|
+
export const servers = {
|
|
15
|
+
generatedServerUrl: "https://adp-development-edp-bfa.prd.stackspot.com"
|
|
16
|
+
};
|
|
17
|
+
export type WorkflowExecutionRequestV2 = {
|
|
18
|
+
/** Nome do app/infra a ser criado */
|
|
19
|
+
name: string;
|
|
20
|
+
/** Descrição do app/infra a ser criado */
|
|
21
|
+
description: string;
|
|
22
|
+
/** Valores dos inputs definidos pelo workflow */
|
|
23
|
+
inputs: string;
|
|
24
|
+
};
|
|
25
|
+
export type CreateWorkflowExecutionResponse = {
|
|
26
|
+
/** ID da execução. Use esse id para obter o status da execução do workflow. */
|
|
27
|
+
executionId: string;
|
|
28
|
+
/** ID do app/infra criado no portal do EDP */
|
|
29
|
+
targetId: string;
|
|
30
|
+
/** URL para acompanhamento da execução do workflow no portal do EDP. */
|
|
31
|
+
portalUrl: string;
|
|
32
|
+
};
|
|
33
|
+
export type ErrorDetail = {
|
|
34
|
+
status: string;
|
|
35
|
+
code: string;
|
|
36
|
+
details: string;
|
|
37
|
+
};
|
|
38
|
+
export type ValidationDetail = {
|
|
39
|
+
code: string;
|
|
40
|
+
values: string[];
|
|
41
|
+
};
|
|
42
|
+
export type ErrorBody = {
|
|
43
|
+
code: string;
|
|
44
|
+
details: string;
|
|
45
|
+
status: string;
|
|
46
|
+
validationDetails?: ValidationDetail[];
|
|
47
|
+
};
|
|
48
|
+
export type SpecWorkflowInputs = {
|
|
49
|
+
/** Caminho do repositório */
|
|
50
|
+
repositoryPath: string;
|
|
51
|
+
/** Branch de origem */
|
|
52
|
+
sourceBranch?: string;
|
|
53
|
+
/** Branch de destino */
|
|
54
|
+
targetBranch?: string;
|
|
55
|
+
/** Constitution */
|
|
56
|
+
constitution: string;
|
|
57
|
+
/** Functional */
|
|
58
|
+
functional: string;
|
|
59
|
+
/** Technical */
|
|
60
|
+
technical: string;
|
|
61
|
+
};
|
|
62
|
+
export type WorkflowSpecExecutionRequest = {
|
|
63
|
+
/** Valores dos inputs definidos pelo workflow no formato string */
|
|
64
|
+
inputs: SpecWorkflowInputs;
|
|
65
|
+
};
|
|
66
|
+
export type WorkflowExecutionStatus = {
|
|
67
|
+
/** ID da execução */
|
|
68
|
+
executionId: string;
|
|
69
|
+
/** Status da execução */
|
|
70
|
+
status: "pending" | "in_progress" | "completed" | "suspended";
|
|
71
|
+
/** Data/hora de início */
|
|
72
|
+
startedAt?: string;
|
|
73
|
+
/** Data/hora de término */
|
|
74
|
+
endedAt?: string;
|
|
75
|
+
/** Resultado final da execução */
|
|
76
|
+
conclusion?: "error" | "success" | "skipped" | "cancelled";
|
|
77
|
+
/** URL para acompanhamento da execução do workflow no portal do EDP. */
|
|
78
|
+
webUrl?: string;
|
|
79
|
+
};
|
|
80
|
+
export type CodeWorkflowInputs = {
|
|
81
|
+
/** Caminho do repositório */
|
|
82
|
+
repositoryPath: string;
|
|
83
|
+
/** Branch de origem */
|
|
84
|
+
sourceBranch?: string;
|
|
85
|
+
/** Branch de destino */
|
|
86
|
+
targetBranch?: string;
|
|
87
|
+
};
|
|
88
|
+
export type WorkflowCodeExecutionRequest = {
|
|
89
|
+
/** Valores dos inputs definidos pelo workflow no formato string */
|
|
90
|
+
inputs: CodeWorkflowInputs;
|
|
91
|
+
};
|
|
92
|
+
export type Workspace = {
|
|
93
|
+
/** ID do workspace */
|
|
94
|
+
id: string;
|
|
95
|
+
/** Nome do workspace */
|
|
96
|
+
name: string;
|
|
97
|
+
/** Descrição do workspace */
|
|
98
|
+
description: string;
|
|
99
|
+
};
|
|
100
|
+
export type WorkspacesPage = {
|
|
101
|
+
/** Lista de resultados */
|
|
102
|
+
items: Workspace[];
|
|
103
|
+
/** Número da página */
|
|
104
|
+
page: number;
|
|
105
|
+
/** Quantidade de itens por página */
|
|
106
|
+
pageSize: number;
|
|
107
|
+
/** Indica se é a última página */
|
|
108
|
+
isLastPage: boolean;
|
|
109
|
+
};
|
|
110
|
+
export type Value = {
|
|
111
|
+
/** Valor do input. Pode ser string, número, booleano, etc. */
|
|
112
|
+
value: any;
|
|
113
|
+
/** Indica se o valor é mandatório. Se for o valor não poderá ser alterado, então não adianta perguntá-lo ao usuário. Se não for mandatório é uma sugestão de valor inicial que poderá ser alterada. */
|
|
114
|
+
mandatory: boolean;
|
|
115
|
+
};
|
|
116
|
+
export type EnvValue = {
|
|
117
|
+
/** Nome do ambiente (ex: dev, prod). Se não informado, é valor padrão. */
|
|
118
|
+
env?: string;
|
|
119
|
+
/** Indica o valor atual e se é mandatório para o ambiente. */
|
|
120
|
+
value: Value;
|
|
121
|
+
};
|
|
122
|
+
export type Condition = {
|
|
123
|
+
/** Nome da variável a ser avaliada na condição. */
|
|
124
|
+
variable?: string;
|
|
125
|
+
/** Operador lógico da condição (ex: ==, !=, >, <). */
|
|
126
|
+
operator?: string;
|
|
127
|
+
/** Valor esperado para a condição ser verdadeira. */
|
|
128
|
+
value?: string;
|
|
129
|
+
};
|
|
130
|
+
export type WorkflowInput = {
|
|
131
|
+
/** Nome do input */
|
|
132
|
+
name?: string;
|
|
133
|
+
/** Descrição do input */
|
|
134
|
+
label: string;
|
|
135
|
+
/** Tipo do input */
|
|
136
|
+
"type": "text" | "bool" | "int" | "select" | "multiselect" | "list" | "object";
|
|
137
|
+
/** Lista de opções para campos dos tipos select e multiselect. */
|
|
138
|
+
items?: string[];
|
|
139
|
+
/** Se true ou não presente, o campo é obrigatório, caso contrário opcional. */
|
|
140
|
+
required?: boolean;
|
|
141
|
+
/** Expressão regular para validação do valor do input (usado em campos do tipo text). */
|
|
142
|
+
pattern?: string;
|
|
143
|
+
/** Dica ou instrução adicional para o usuário */
|
|
144
|
+
help?: string;
|
|
145
|
+
/** Valores do input por ambiente, incluindo se é mandatório. */
|
|
146
|
+
values?: EnvValue[];
|
|
147
|
+
/** Pergunta exibida ao usuário para adicionar novos itens em campos do tipo lista. */
|
|
148
|
+
addQuestion?: string;
|
|
149
|
+
/** Definição do schema para cada item de uma lista (usado em campos do tipo list). */
|
|
150
|
+
input?: any;
|
|
151
|
+
/** Lista de inputs agrupados (usado em campos do tipo object). */
|
|
152
|
+
inputs?: any;
|
|
153
|
+
/** Condição para exibir ou habilitar o input, baseada em outros valores. */
|
|
154
|
+
condition?: Condition;
|
|
155
|
+
/** Escopo do input (ex: default, hidden, env, deploy). */
|
|
156
|
+
scope?: string;
|
|
157
|
+
};
|
|
158
|
+
export type Workflow = {
|
|
159
|
+
/** ID do workflow */
|
|
160
|
+
id: string;
|
|
161
|
+
/** Nome do workflow */
|
|
162
|
+
name: string;
|
|
163
|
+
/** Descrição do workflow */
|
|
164
|
+
description: string;
|
|
165
|
+
/** Inputs do workflow */
|
|
166
|
+
inputs: WorkflowInput[];
|
|
167
|
+
};
|
|
168
|
+
export type WorkflowList = {
|
|
169
|
+
/** Lista de workflows */
|
|
170
|
+
items: Workflow[];
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* Dispara a execução de um workflow em um workspace
|
|
174
|
+
*/
|
|
175
|
+
export function executeWorkflow({ workspaceId, workflowId, workflowExecutionRequestV2 }: {
|
|
176
|
+
workspaceId: string;
|
|
177
|
+
workflowId: string;
|
|
178
|
+
workflowExecutionRequestV2: WorkflowExecutionRequestV2;
|
|
179
|
+
}, opts?: Oazapfts.RequestOpts) {
|
|
180
|
+
return oazapfts.ok(oazapfts.fetchJson<{
|
|
181
|
+
status: 201;
|
|
182
|
+
data: CreateWorkflowExecutionResponse;
|
|
183
|
+
} | {
|
|
184
|
+
status: 400;
|
|
185
|
+
data: ErrorDetail;
|
|
186
|
+
} | {
|
|
187
|
+
status: 401;
|
|
188
|
+
data: ErrorDetail;
|
|
189
|
+
} | {
|
|
190
|
+
status: 403;
|
|
191
|
+
data: ErrorDetail;
|
|
192
|
+
} | {
|
|
193
|
+
status: 404;
|
|
194
|
+
data: ErrorDetail;
|
|
195
|
+
} | {
|
|
196
|
+
status: 409;
|
|
197
|
+
data: ErrorBody;
|
|
198
|
+
} | {
|
|
199
|
+
status: 422;
|
|
200
|
+
data: ErrorBody;
|
|
201
|
+
} | {
|
|
202
|
+
status: 500;
|
|
203
|
+
data: ErrorDetail;
|
|
204
|
+
} | {
|
|
205
|
+
status: 503;
|
|
206
|
+
data: ErrorBody;
|
|
207
|
+
}>(`/v2/workspaces/${encodeURIComponent(workspaceId)}/workflows/${encodeURIComponent(workflowId)}/executions`, oazapfts.json({
|
|
208
|
+
...opts,
|
|
209
|
+
method: "POST",
|
|
210
|
+
body: workflowExecutionRequestV2
|
|
211
|
+
})));
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Dispara a execução de um workflow do tipo spec
|
|
215
|
+
*/
|
|
216
|
+
export function executeSpecWorkflow({ workflowSpecExecutionRequest }: {
|
|
217
|
+
workflowSpecExecutionRequest: WorkflowSpecExecutionRequest;
|
|
218
|
+
}, opts?: Oazapfts.RequestOpts) {
|
|
219
|
+
return oazapfts.ok(oazapfts.fetchJson<{
|
|
220
|
+
status: 200;
|
|
221
|
+
data: WorkflowExecutionStatus;
|
|
222
|
+
} | {
|
|
223
|
+
status: 400;
|
|
224
|
+
data: ErrorDetail;
|
|
225
|
+
} | {
|
|
226
|
+
status: 401;
|
|
227
|
+
data: ErrorDetail;
|
|
228
|
+
} | {
|
|
229
|
+
status: 403;
|
|
230
|
+
data: ErrorDetail;
|
|
231
|
+
} | {
|
|
232
|
+
status: 404;
|
|
233
|
+
data: ErrorDetail;
|
|
234
|
+
} | {
|
|
235
|
+
status: 409;
|
|
236
|
+
data: ErrorBody;
|
|
237
|
+
} | {
|
|
238
|
+
status: 422;
|
|
239
|
+
data: ErrorBody;
|
|
240
|
+
} | {
|
|
241
|
+
status: 500;
|
|
242
|
+
data: ErrorDetail;
|
|
243
|
+
} | {
|
|
244
|
+
status: 503;
|
|
245
|
+
data: ErrorBody;
|
|
246
|
+
}>("/v1/workflows/executions/spec", oazapfts.json({
|
|
247
|
+
...opts,
|
|
248
|
+
method: "POST",
|
|
249
|
+
body: workflowSpecExecutionRequest
|
|
250
|
+
})));
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Dispara a execução de um workflow de geração de código
|
|
254
|
+
*/
|
|
255
|
+
export function executeCodeWorkflow({ workflowCodeExecutionRequest }: {
|
|
256
|
+
workflowCodeExecutionRequest: WorkflowCodeExecutionRequest;
|
|
257
|
+
}, opts?: Oazapfts.RequestOpts) {
|
|
258
|
+
return oazapfts.ok(oazapfts.fetchJson<{
|
|
259
|
+
status: 200;
|
|
260
|
+
data: WorkflowExecutionStatus;
|
|
261
|
+
} | {
|
|
262
|
+
status: 400;
|
|
263
|
+
data: ErrorDetail;
|
|
264
|
+
} | {
|
|
265
|
+
status: 401;
|
|
266
|
+
data: ErrorDetail;
|
|
267
|
+
} | {
|
|
268
|
+
status: 403;
|
|
269
|
+
data: ErrorDetail;
|
|
270
|
+
} | {
|
|
271
|
+
status: 404;
|
|
272
|
+
data: ErrorDetail;
|
|
273
|
+
} | {
|
|
274
|
+
status: 409;
|
|
275
|
+
data: ErrorBody;
|
|
276
|
+
} | {
|
|
277
|
+
status: 422;
|
|
278
|
+
data: ErrorBody;
|
|
279
|
+
} | {
|
|
280
|
+
status: 500;
|
|
281
|
+
data: ErrorDetail;
|
|
282
|
+
} | {
|
|
283
|
+
status: 503;
|
|
284
|
+
data: ErrorBody;
|
|
285
|
+
}>("/v1/workflows/executions/code", oazapfts.json({
|
|
286
|
+
...opts,
|
|
287
|
+
method: "POST",
|
|
288
|
+
body: workflowCodeExecutionRequest
|
|
289
|
+
})));
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Lista os workspaces disponíveis para o usuário autenticado
|
|
293
|
+
*/
|
|
294
|
+
export function listWorkspaces({ page, pageSize }: {
|
|
295
|
+
page?: number;
|
|
296
|
+
pageSize?: number;
|
|
297
|
+
}, opts?: Oazapfts.RequestOpts) {
|
|
298
|
+
return oazapfts.ok(oazapfts.fetchJson<{
|
|
299
|
+
status: 200;
|
|
300
|
+
data: WorkspacesPage;
|
|
301
|
+
} | {
|
|
302
|
+
status: 400;
|
|
303
|
+
data: ErrorBody;
|
|
304
|
+
} | {
|
|
305
|
+
status: 401;
|
|
306
|
+
} | {
|
|
307
|
+
status: 403;
|
|
308
|
+
} | {
|
|
309
|
+
status: 404;
|
|
310
|
+
data: ErrorBody | {
|
|
311
|
+
[key: string]: any;
|
|
312
|
+
};
|
|
313
|
+
} | {
|
|
314
|
+
status: 409;
|
|
315
|
+
data: ErrorBody;
|
|
316
|
+
} | {
|
|
317
|
+
status: 422;
|
|
318
|
+
data: ErrorBody;
|
|
319
|
+
} | {
|
|
320
|
+
status: 500;
|
|
321
|
+
} | {
|
|
322
|
+
status: 503;
|
|
323
|
+
data: ErrorBody;
|
|
324
|
+
}>(`/v1/workspaces${QS.query(QS.explode({
|
|
325
|
+
page,
|
|
326
|
+
pageSize
|
|
327
|
+
}))}`, {
|
|
328
|
+
...opts
|
|
329
|
+
}));
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Obtém detalhes de um workspace específico
|
|
333
|
+
*/
|
|
334
|
+
export function getWorkspace({ workspaceId }: {
|
|
335
|
+
workspaceId: string;
|
|
336
|
+
}, opts?: Oazapfts.RequestOpts) {
|
|
337
|
+
return oazapfts.ok(oazapfts.fetchJson<{
|
|
338
|
+
status: 200;
|
|
339
|
+
data: Workspace;
|
|
340
|
+
} | {
|
|
341
|
+
status: 400;
|
|
342
|
+
data: ErrorBody;
|
|
343
|
+
} | {
|
|
344
|
+
status: 401;
|
|
345
|
+
} | {
|
|
346
|
+
status: 403;
|
|
347
|
+
} | {
|
|
348
|
+
status: 404;
|
|
349
|
+
} | {
|
|
350
|
+
status: 409;
|
|
351
|
+
data: ErrorBody;
|
|
352
|
+
} | {
|
|
353
|
+
status: 422;
|
|
354
|
+
data: ErrorBody;
|
|
355
|
+
} | {
|
|
356
|
+
status: 500;
|
|
357
|
+
} | {
|
|
358
|
+
status: 503;
|
|
359
|
+
data: ErrorBody;
|
|
360
|
+
}>(`/v1/workspaces/${encodeURIComponent(workspaceId)}`, {
|
|
361
|
+
...opts
|
|
362
|
+
}));
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* Lista workflows do workspace
|
|
366
|
+
*/
|
|
367
|
+
export function listWorkflows({ workspaceId }: {
|
|
368
|
+
workspaceId: string;
|
|
369
|
+
}, opts?: Oazapfts.RequestOpts) {
|
|
370
|
+
return oazapfts.ok(oazapfts.fetchJson<{
|
|
371
|
+
status: 200;
|
|
372
|
+
data: WorkflowList;
|
|
373
|
+
} | {
|
|
374
|
+
status: 400;
|
|
375
|
+
data: ErrorBody;
|
|
376
|
+
} | {
|
|
377
|
+
status: 401;
|
|
378
|
+
} | {
|
|
379
|
+
status: 403;
|
|
380
|
+
} | {
|
|
381
|
+
status: 404;
|
|
382
|
+
data: ErrorBody | {
|
|
383
|
+
[key: string]: any;
|
|
384
|
+
};
|
|
385
|
+
} | {
|
|
386
|
+
status: 409;
|
|
387
|
+
data: ErrorBody;
|
|
388
|
+
} | {
|
|
389
|
+
status: 422;
|
|
390
|
+
data: ErrorBody;
|
|
391
|
+
} | {
|
|
392
|
+
status: 500;
|
|
393
|
+
} | {
|
|
394
|
+
status: 503;
|
|
395
|
+
data: ErrorBody;
|
|
396
|
+
}>(`/v1/workspaces/${encodeURIComponent(workspaceId)}/workflows`, {
|
|
397
|
+
...opts
|
|
398
|
+
}));
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Obtém detalhes de uma execução de workflow. Use o executionnId retornado pelo serviço execução do workflow para consultar o status da execução.
|
|
402
|
+
*/
|
|
403
|
+
export function getWorkflowExecution({ executionId }: {
|
|
404
|
+
executionId: string;
|
|
405
|
+
}, opts?: Oazapfts.RequestOpts) {
|
|
406
|
+
return oazapfts.ok(oazapfts.fetchJson<{
|
|
407
|
+
status: 200;
|
|
408
|
+
data: WorkflowExecutionStatus;
|
|
409
|
+
} | {
|
|
410
|
+
status: 400;
|
|
411
|
+
data: ErrorBody;
|
|
412
|
+
} | {
|
|
413
|
+
status: 401;
|
|
414
|
+
data: ErrorDetail;
|
|
415
|
+
} | {
|
|
416
|
+
status: 403;
|
|
417
|
+
data: ErrorDetail;
|
|
418
|
+
} | {
|
|
419
|
+
status: 404;
|
|
420
|
+
data: ErrorDetail;
|
|
421
|
+
} | {
|
|
422
|
+
status: 409;
|
|
423
|
+
data: ErrorBody;
|
|
424
|
+
} | {
|
|
425
|
+
status: 422;
|
|
426
|
+
data: ErrorBody;
|
|
427
|
+
} | {
|
|
428
|
+
status: 500;
|
|
429
|
+
data: ErrorDetail;
|
|
430
|
+
} | {
|
|
431
|
+
status: 503;
|
|
432
|
+
data: ErrorBody;
|
|
433
|
+
}>(`/v1/workflows/executions/${encodeURIComponent(executionId)}`, {
|
|
434
|
+
...opts
|
|
435
|
+
}));
|
|
436
|
+
}
|
|
437
|
+
export function healthz(opts?: Oazapfts.RequestOpts) {
|
|
438
|
+
return oazapfts.ok(oazapfts.fetchJson<{
|
|
439
|
+
status: 200;
|
|
440
|
+
data: {
|
|
441
|
+
[key: string]: string;
|
|
442
|
+
};
|
|
443
|
+
} | {
|
|
444
|
+
status: 400;
|
|
445
|
+
data: ErrorBody;
|
|
446
|
+
} | {
|
|
447
|
+
status: 401;
|
|
448
|
+
data: ErrorBody;
|
|
449
|
+
} | {
|
|
450
|
+
status: 403;
|
|
451
|
+
data: ErrorBody;
|
|
452
|
+
} | {
|
|
453
|
+
status: 404;
|
|
454
|
+
data: ErrorBody | {
|
|
455
|
+
[key: string]: any;
|
|
456
|
+
};
|
|
457
|
+
} | {
|
|
458
|
+
status: 409;
|
|
459
|
+
data: ErrorBody;
|
|
460
|
+
} | {
|
|
461
|
+
status: 422;
|
|
462
|
+
data: ErrorBody;
|
|
463
|
+
} | {
|
|
464
|
+
status: 500;
|
|
465
|
+
data: ErrorBody;
|
|
466
|
+
} | {
|
|
467
|
+
status: 503;
|
|
468
|
+
data: ErrorBody;
|
|
469
|
+
}>("/healthz", {
|
|
470
|
+
...opts
|
|
471
|
+
}));
|
|
472
|
+
}
|
package/src/api-addresses.ts
CHANGED
|
@@ -5,26 +5,26 @@ import { Env, Tenant } from './network/types'
|
|
|
5
5
|
|
|
6
6
|
type ApisKeys = keyof typeof apisJson;
|
|
7
7
|
|
|
8
|
+
declare global {
|
|
9
|
+
interface ImportMeta {
|
|
10
|
+
readonly env: {
|
|
11
|
+
VITE_NETWORK_OVERRIDES: string,
|
|
12
|
+
DEV: boolean,
|
|
13
|
+
PROD: boolean,
|
|
14
|
+
},
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
8
18
|
type ApiConfig = {
|
|
9
19
|
url: Record<Env, string>,
|
|
10
20
|
docs?: string,
|
|
11
21
|
}
|
|
12
22
|
|
|
13
|
-
type PartialApiConfig = {
|
|
14
|
-
url: Partial<Record<Env, string>>,
|
|
15
|
-
docs?: string
|
|
16
|
-
}
|
|
17
|
-
|
|
18
23
|
type Apis = Record<ApisKeys, ApiConfig>;
|
|
19
24
|
|
|
20
|
-
type
|
|
25
|
+
type ApiAddress = Record<ApisKeys, string>
|
|
21
26
|
|
|
22
|
-
|
|
23
|
-
[api: string]: string,
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
let defaultApis: Apis = apisJson;
|
|
27
|
-
let overrideApis: PartialApis = {};
|
|
27
|
+
const defaultApis: Apis = apisJson
|
|
28
28
|
|
|
29
29
|
const apis: Record<Tenant, Apis> = {
|
|
30
30
|
'stackspot': apisJson,
|
|
@@ -37,12 +37,12 @@ const apis: Record<Tenant, Apis> = {
|
|
|
37
37
|
* @param tenant The current tenant (e.g., 'stackspot', 'itau').
|
|
38
38
|
* @returns API catalog containing the URLs per environment.
|
|
39
39
|
*/
|
|
40
|
-
|
|
40
|
+
function getApisByTenant(tenant: Tenant) {
|
|
41
41
|
return apis[tenant]
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
function transformApisToApiAddress(apis: Apis, env: Env): ApiAddress {
|
|
45
|
-
const apiAddress
|
|
45
|
+
const apiAddress = {} as ApiAddress
|
|
46
46
|
|
|
47
47
|
for (const api in apis) {
|
|
48
48
|
const key = api as ApisKeys
|
|
@@ -59,14 +59,28 @@ function transformApisToApiAddress(apis: Apis, env: Env): ApiAddress {
|
|
|
59
59
|
* @returns {boolean} true if the URL is found, otherwise false.
|
|
60
60
|
*/
|
|
61
61
|
function matchesBaseUrl(baseUrl: Record<Env, string>, candidate: Record<Env, string>): boolean {
|
|
62
|
-
const envs: Env[] = ['dev', 'stg', 'prd']
|
|
62
|
+
const envs: Env[] = ['dev', 'stg', 'prd']
|
|
63
63
|
|
|
64
64
|
return envs.every(e => {
|
|
65
65
|
if (candidate[e]) {
|
|
66
|
-
return baseUrl[e] === candidate[e]
|
|
66
|
+
return baseUrl[e] === candidate[e]
|
|
67
67
|
}
|
|
68
|
-
return true
|
|
69
|
-
})
|
|
68
|
+
return true
|
|
69
|
+
})
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const getApiOverride = () => {
|
|
73
|
+
const envs = import.meta.env
|
|
74
|
+
|
|
75
|
+
let overrideAPIsURL = {} as ApiAddress
|
|
76
|
+
if (envs.PROD) return overrideAPIsURL
|
|
77
|
+
|
|
78
|
+
try {
|
|
79
|
+
overrideAPIsURL= JSON.parse(envs.VITE_NETWORK_OVERRIDES)
|
|
80
|
+
return overrideAPIsURL
|
|
81
|
+
} catch {
|
|
82
|
+
return overrideAPIsURL
|
|
83
|
+
}
|
|
70
84
|
}
|
|
71
85
|
|
|
72
86
|
/**
|
|
@@ -77,42 +91,47 @@ function matchesBaseUrl(baseUrl: Record<Env, string>, candidate: Record<Env, str
|
|
|
77
91
|
* @param tenant the current tenant.
|
|
78
92
|
* @returns {string} the base URL for the given environment and tenant, applying any overrides if available.
|
|
79
93
|
*/
|
|
80
|
-
export const getBaseUrlByTenantWithOverride = (baseUrl: Record<Env, string>, targetEnv: Env = 'prd',
|
|
81
|
-
|
|
94
|
+
export const getBaseUrlByTenantWithOverride = (baseUrl: Record<Env, string>, targetEnv: Env = 'prd',
|
|
95
|
+
tenant: Tenant = 'stackspot'): string => {
|
|
96
|
+
let matchesApiName: ApisKeys | null = null
|
|
82
97
|
|
|
83
98
|
for (const [apiName, config] of Object.entries(defaultApis) as [ApisKeys, ApiConfig][]) {
|
|
84
99
|
if (matchesBaseUrl(baseUrl, config.url)) {
|
|
85
|
-
matchesApiName = apiName
|
|
86
|
-
break
|
|
100
|
+
matchesApiName = apiName
|
|
101
|
+
break
|
|
87
102
|
}
|
|
88
103
|
}
|
|
89
104
|
|
|
90
105
|
if (!matchesApiName) return ''
|
|
91
106
|
|
|
92
|
-
const
|
|
93
|
-
if (overrideUrl) {
|
|
94
|
-
return overrideUrl;
|
|
95
|
-
}
|
|
96
|
-
|
|
107
|
+
const overrides = getApiOverride()
|
|
97
108
|
const apis = getApisByTenant(tenant)
|
|
98
|
-
|
|
109
|
+
const api = apis[matchesApiName]
|
|
110
|
+
return overrides?.[matchesApiName] ?? api?.url?.[targetEnv]
|
|
99
111
|
}
|
|
100
112
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
113
|
+
export const getApisBaseUrlConfig = (env: Env = 'prd', tenant: Tenant = 'stackspot'): ApiAddress => {
|
|
114
|
+
const overrides = getApiOverride()
|
|
115
|
+
const apis = getApisByTenant(tenant)
|
|
116
|
+
const apiMap = {} as ApiAddress
|
|
117
|
+
|
|
118
|
+
for (const [key, value] of Object.entries(apis)) {
|
|
119
|
+
if (value?.url && value.url?.[env]) {
|
|
120
|
+
const url = value.url[env]
|
|
121
|
+
const api = key as ApisKeys
|
|
122
|
+
apiMap[api] = url
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
return { ...overrides, ...apiMap }
|
|
107
127
|
}
|
|
108
128
|
|
|
129
|
+
|
|
109
130
|
/**
|
|
110
131
|
* Sets the default APIs addresses for each environments.
|
|
111
132
|
* @returns {Apis} an object containing APIs URLs grouped by api name and enviroments.
|
|
112
133
|
*/
|
|
113
|
-
export const getApiAddresses = (): Apis =>
|
|
114
|
-
return defaultApis;
|
|
115
|
-
}
|
|
134
|
+
export const getApiAddresses = (): Apis => defaultApis
|
|
116
135
|
|
|
117
136
|
export const apiAddresses = () => {
|
|
118
137
|
const env = NetworkClient.getEnv()
|
package/src/apis-itau.json
CHANGED
|
@@ -221,5 +221,21 @@
|
|
|
221
221
|
"prd": "https://discover-core.stackspot.com"
|
|
222
222
|
},
|
|
223
223
|
"docs": "/v3/api-docs"
|
|
224
|
+
},
|
|
225
|
+
"accountAssetManager" : {
|
|
226
|
+
"url": {
|
|
227
|
+
"dev": "https://account-asset-manager.dev.stackspot.com",
|
|
228
|
+
"stg": "https://account-asset-manager.stg.stackspot.com",
|
|
229
|
+
"prd": "https://account-asset-manager.stackspot.com"
|
|
230
|
+
},
|
|
231
|
+
"docs": "/v3/api-docs"
|
|
232
|
+
},
|
|
233
|
+
"edpBfa": {
|
|
234
|
+
"url": {
|
|
235
|
+
"dev": "https://adp-development-edp-bfa.dev.stackspot.com",
|
|
236
|
+
"stg": "https://adp-development-edp-bfa.stg.stackspot.com",
|
|
237
|
+
"prd": "https://edp-bfa.stackspot.com"
|
|
238
|
+
},
|
|
239
|
+
"docs": "/openapi.json"
|
|
224
240
|
}
|
|
225
241
|
}
|