mitra-interactions-sdk 1.0.0 → 1.0.2
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/README.md +76 -253
- package/dist/index.d.mts +6 -8
- package/dist/index.d.ts +6 -8
- package/dist/index.js +6 -18
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +6 -18
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
# Mitra Interactions SDK
|
|
2
2
|
|
|
3
|
-
SDK
|
|
3
|
+
SDK para interações com a plataforma Mitra ECP via endpoints `/agentAiShortcut/`.
|
|
4
4
|
|
|
5
5
|
## Instalação
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
npm install
|
|
8
|
+
npm install mitra-interactions-sdk
|
|
9
9
|
# ou
|
|
10
|
-
yarn add
|
|
10
|
+
yarn add mitra-interactions-sdk
|
|
11
11
|
# ou
|
|
12
|
-
pnpm add
|
|
12
|
+
pnpm add mitra-interactions-sdk
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
## Configuração
|
|
@@ -17,249 +17,121 @@ pnpm add @mitra/interactions-sdk
|
|
|
17
17
|
Antes de usar qualquer função, configure o SDK:
|
|
18
18
|
|
|
19
19
|
```typescript
|
|
20
|
-
import {
|
|
20
|
+
import { configureSdkMitra } from 'mitra-interactions-sdk';
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
configureSdkMitra({
|
|
23
23
|
baseURL: 'https://api.mitra.com',
|
|
24
24
|
token: 'seu-jwt-token',
|
|
25
|
-
//
|
|
26
|
-
screenId: 123, // ID da tela atual
|
|
27
|
-
screenComponentId: 456, // ID do componente
|
|
28
|
-
timeout: 30000 // Timeout em ms (padrão: 30000)
|
|
25
|
+
timeout: 30000 // Opcional, padrão: 30000ms
|
|
29
26
|
});
|
|
30
27
|
```
|
|
31
28
|
|
|
32
|
-
##
|
|
29
|
+
## Métodos Disponíveis
|
|
33
30
|
|
|
34
|
-
###
|
|
31
|
+
### runQueryMitra
|
|
35
32
|
|
|
36
|
-
|
|
37
|
-
import { queryMitra } from '@mitra/interactions-sdk';
|
|
38
|
-
|
|
39
|
-
// Query direta
|
|
40
|
-
const result = await queryMitra({
|
|
41
|
-
query: 'SELECT * FROM usuarios WHERE ativo = 1'
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
console.log(result.headers); // ['id', 'nome', 'email']
|
|
45
|
-
console.log(result.data); // [[1, 'João', 'joao@email.com'], ...]
|
|
46
|
-
|
|
47
|
-
// Com conexão específica
|
|
48
|
-
const result = await queryMitra({
|
|
49
|
-
query: 'SELECT * FROM produtos',
|
|
50
|
-
jdbcId: 5,
|
|
51
|
-
onlineTables: true
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
// Query a partir de variável customizada
|
|
55
|
-
import { getQueryMitra } from '@mitra/interactions-sdk';
|
|
56
|
-
|
|
57
|
-
const result = await getQueryMitra({
|
|
58
|
-
query: 'nome_da_variavel_query'
|
|
59
|
-
});
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### DBAction (Ações de Banco)
|
|
33
|
+
Executa uma query SQL (SELECT) em um projeto.
|
|
63
34
|
|
|
64
35
|
```typescript
|
|
65
|
-
import {
|
|
36
|
+
import { runQueryMitra } from 'mitra-interactions-sdk';
|
|
66
37
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
//
|
|
71
|
-
const result = await dbactionMitra({ actionIds: [123, 456, 789] });
|
|
72
|
-
|
|
73
|
-
// Com filtros de seleção
|
|
74
|
-
const result = await dbactionMitra({
|
|
75
|
-
actionIds: 123,
|
|
76
|
-
selection: [
|
|
77
|
-
{ dimensionId: 1, value: 'teste' },
|
|
78
|
-
{ dimensionId: 2, value: 100 }
|
|
79
|
-
]
|
|
38
|
+
const result = await runQueryMitra({
|
|
39
|
+
projectId: 123,
|
|
40
|
+
sql: 'SELECT * FROM usuarios LIMIT 10',
|
|
41
|
+
jdbcId: 1 // Opcional, usa autoConnect se não informado
|
|
80
42
|
});
|
|
81
|
-
|
|
82
|
-
if (result.successfullyExecuted) {
|
|
83
|
-
console.log('Ações executadas com sucesso!');
|
|
84
|
-
} else {
|
|
85
|
-
console.log('Erros:', result.executions.map(e => e.errorMessage));
|
|
86
|
-
}
|
|
87
43
|
```
|
|
88
44
|
|
|
89
|
-
###
|
|
45
|
+
### executeDbActionMitra
|
|
90
46
|
|
|
91
|
-
|
|
92
|
-
import { setVariableMitra, setVariablesBatch } from '@mitra/interactions-sdk';
|
|
47
|
+
Executa uma DBAction (DML) cadastrada.
|
|
93
48
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
//
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
49
|
+
```typescript
|
|
50
|
+
import { executeDbActionMitra } from 'mitra-interactions-sdk';
|
|
51
|
+
|
|
52
|
+
const result = await executeDbActionMitra({
|
|
53
|
+
projectId: 123,
|
|
54
|
+
dbactionId: 456,
|
|
55
|
+
params: { // Opcional
|
|
56
|
+
campo1: 'valor1',
|
|
57
|
+
campo2: 'valor2'
|
|
58
|
+
}
|
|
104
59
|
});
|
|
105
|
-
|
|
106
|
-
// Define múltiplas variáveis
|
|
107
|
-
await setVariablesBatch([
|
|
108
|
-
{ name: 'var1', content: 'valor1' },
|
|
109
|
-
{ name: 'var2', content: { objeto: true } }
|
|
110
|
-
]);
|
|
111
60
|
```
|
|
112
61
|
|
|
113
|
-
###
|
|
62
|
+
### executeActionMitra
|
|
114
63
|
|
|
115
|
-
|
|
116
|
-
import { uploadFileAsPublic, uploadFileAsLoadable } from '@mitra/interactions-sdk';
|
|
117
|
-
|
|
118
|
-
// Upload público (URL acessível sem autenticação)
|
|
119
|
-
const url = await uploadFileAsPublic(arquivo);
|
|
120
|
-
|
|
121
|
-
// Upload para IA (arquivos carregáveis)
|
|
122
|
-
const url = await uploadFileAsLoadable(arquivo);
|
|
123
|
-
|
|
124
|
-
// Com nome customizado
|
|
125
|
-
const url = await uploadFileAsLoadable(arquivo, 'relatorio-2024.xlsx');
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
### Download de Arquivos
|
|
64
|
+
Executa uma Action (fluxo de ação) cadastrada.
|
|
129
65
|
|
|
130
66
|
```typescript
|
|
131
|
-
import {
|
|
132
|
-
|
|
133
|
-
// Obtém URL autenticada
|
|
134
|
-
const result = await downloadFileMitra({ fileKey: 'path/to/file.pdf' });
|
|
135
|
-
console.log(result.url);
|
|
67
|
+
import { executeActionMitra } from 'mitra-interactions-sdk';
|
|
136
68
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
//
|
|
141
|
-
const result = await downloadFileMitra({
|
|
142
|
-
fileKey: 'path/to/file.pdf',
|
|
143
|
-
asBlob: true
|
|
69
|
+
const result = await executeActionMitra({
|
|
70
|
+
projectId: 123,
|
|
71
|
+
actionId: 789,
|
|
72
|
+
params: {} // Opcional
|
|
144
73
|
});
|
|
145
|
-
|
|
146
|
-
// Dispara download no browser
|
|
147
|
-
await downloadFile('path/to/file.pdf', 'meu-arquivo.pdf');
|
|
148
74
|
```
|
|
149
75
|
|
|
150
|
-
|
|
76
|
+
### executeServerFunctionMitra
|
|
151
77
|
|
|
152
|
-
|
|
153
|
-
import { MitraSDK, createMitraSDK } from '@mitra/interactions-sdk';
|
|
78
|
+
Executa uma Server Function cadastrada.
|
|
154
79
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
baseURL: 'https://api.mitra.com',
|
|
158
|
-
token: 'seu-jwt-token'
|
|
159
|
-
});
|
|
80
|
+
```typescript
|
|
81
|
+
import { executeServerFunctionMitra } from 'mitra-interactions-sdk';
|
|
160
82
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
83
|
+
const result = await executeServerFunctionMitra({
|
|
84
|
+
projectId: 123,
|
|
85
|
+
serverfunctionId: 101,
|
|
86
|
+
params: { // Opcional
|
|
87
|
+
arg1: 'valor1'
|
|
88
|
+
}
|
|
165
89
|
});
|
|
166
|
-
|
|
167
|
-
// Usando métodos
|
|
168
|
-
const result = await sdk.query({ query: 'SELECT * FROM usuarios' });
|
|
169
|
-
await sdk.dbaction({ actionIds: 123 });
|
|
170
|
-
await sdk.setVariable({ name: 'teste', content: 'valor' });
|
|
171
90
|
```
|
|
172
91
|
|
|
173
|
-
|
|
92
|
+
### setFileStatusMitra
|
|
174
93
|
|
|
175
|
-
|
|
94
|
+
Move arquivo do chat para PUBLIC ou LOADABLE.
|
|
176
95
|
|
|
177
96
|
```typescript
|
|
178
|
-
import {
|
|
97
|
+
import { setFileStatusMitra } from 'mitra-interactions-sdk';
|
|
179
98
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
99
|
+
const result = await setFileStatusMitra({
|
|
100
|
+
projectId: 123,
|
|
101
|
+
fileName: 'arquivo.jpg',
|
|
102
|
+
targetPath: 'PUBLIC' // 'PUBLIC' ou 'LOADABLE'
|
|
103
|
+
});
|
|
185
104
|
```
|
|
186
105
|
|
|
187
|
-
|
|
106
|
+
### setVariableMitra
|
|
188
107
|
|
|
189
|
-
|
|
108
|
+
Cria ou atualiza uma variável customizada.
|
|
190
109
|
|
|
191
110
|
```typescript
|
|
192
|
-
|
|
193
|
-
import { configure } from '@mitra/interactions-sdk';
|
|
111
|
+
import { setVariableMitra } from 'mitra-interactions-sdk';
|
|
194
112
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
};
|
|
200
|
-
|
|
201
|
-
// main.ts
|
|
202
|
-
app.use(mitraPlugin, {
|
|
203
|
-
baseURL: import.meta.env.VITE_API_URL,
|
|
204
|
-
token: getToken()
|
|
113
|
+
const result = await setVariableMitra({
|
|
114
|
+
projectId: 123,
|
|
115
|
+
key: 'minhaVariavel',
|
|
116
|
+
value: 'meuValor' // Opcional
|
|
205
117
|
});
|
|
206
|
-
|
|
207
|
-
// componente.vue
|
|
208
|
-
import { queryMitra } from '@mitra/interactions-sdk';
|
|
209
|
-
|
|
210
|
-
const dados = await queryMitra({ query: 'SELECT * FROM tabela' });
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
### React
|
|
214
|
-
|
|
215
|
-
```typescript
|
|
216
|
-
// hooks/useMitra.ts
|
|
217
|
-
import { useEffect } from 'react';
|
|
218
|
-
import { configure, queryMitra } from '@mitra/interactions-sdk';
|
|
219
|
-
|
|
220
|
-
export function useMitra(token: string) {
|
|
221
|
-
useEffect(() => {
|
|
222
|
-
configure({
|
|
223
|
-
baseURL: process.env.REACT_APP_API_URL,
|
|
224
|
-
token
|
|
225
|
-
});
|
|
226
|
-
}, [token]);
|
|
227
|
-
|
|
228
|
-
return { queryMitra, /* ... */ };
|
|
229
|
-
}
|
|
230
118
|
```
|
|
231
119
|
|
|
232
|
-
|
|
120
|
+
## Tratamento de Erros
|
|
233
121
|
|
|
234
122
|
```typescript
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
query = queryMitra;
|
|
246
|
-
dbaction = dbactionMitra;
|
|
123
|
+
try {
|
|
124
|
+
const result = await runQueryMitra({
|
|
125
|
+
projectId: 123,
|
|
126
|
+
sql: 'SELECT * FROM tabela'
|
|
127
|
+
});
|
|
128
|
+
} catch (error) {
|
|
129
|
+
console.log('Erro:', error.message);
|
|
130
|
+
console.log('Status:', error.status);
|
|
131
|
+
console.log('Detalhes:', error.details);
|
|
247
132
|
}
|
|
248
133
|
```
|
|
249
134
|
|
|
250
|
-
### Node.js
|
|
251
|
-
|
|
252
|
-
```typescript
|
|
253
|
-
import { configure, queryMitra } from '@mitra/interactions-sdk';
|
|
254
|
-
|
|
255
|
-
configure({
|
|
256
|
-
baseURL: process.env.MITRA_API_URL,
|
|
257
|
-
token: process.env.MITRA_TOKEN
|
|
258
|
-
});
|
|
259
|
-
|
|
260
|
-
const result = await queryMitra({ query: 'SELECT * FROM tabela' });
|
|
261
|
-
```
|
|
262
|
-
|
|
263
135
|
## Tipos TypeScript
|
|
264
136
|
|
|
265
137
|
Todos os tipos estão incluídos:
|
|
@@ -267,62 +139,13 @@ Todos os tipos estão incluídos:
|
|
|
267
139
|
```typescript
|
|
268
140
|
import type {
|
|
269
141
|
MitraConfig,
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
```typescript
|
|
279
|
-
import { queryMitra } from '@mitra/interactions-sdk';
|
|
280
|
-
import type { ApiError } from '@mitra/interactions-sdk';
|
|
281
|
-
|
|
282
|
-
try {
|
|
283
|
-
const result = await queryMitra({ query: 'SELECT * FROM tabela' });
|
|
284
|
-
} catch (error) {
|
|
285
|
-
const apiError = error as ApiError;
|
|
286
|
-
console.log('Erro:', apiError.message);
|
|
287
|
-
console.log('Status:', apiError.status);
|
|
288
|
-
console.log('Detalhes:', apiError.details);
|
|
289
|
-
}
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
## Cancelamento de Requisições
|
|
293
|
-
|
|
294
|
-
```typescript
|
|
295
|
-
const controller = new AbortController();
|
|
296
|
-
|
|
297
|
-
// Inicia a requisição
|
|
298
|
-
const promise = queryMitra({
|
|
299
|
-
query: 'SELECT * FROM tabela_grande',
|
|
300
|
-
signal: controller.signal
|
|
301
|
-
});
|
|
302
|
-
|
|
303
|
-
// Cancela após 5 segundos
|
|
304
|
-
setTimeout(() => controller.abort(), 5000);
|
|
305
|
-
|
|
306
|
-
try {
|
|
307
|
-
const result = await promise;
|
|
308
|
-
} catch (error) {
|
|
309
|
-
if (error.name === 'AbortError') {
|
|
310
|
-
console.log('Requisição cancelada');
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
## Compatibilidade
|
|
316
|
-
|
|
317
|
-
- **Browsers**: Chrome 67+, Firefox 68+, Safari 14+, Edge 79+
|
|
318
|
-
- **Node.js**: 14+ (18+ para fetch nativo)
|
|
319
|
-
- **Bundlers**: Webpack, Vite, Rollup, esbuild
|
|
320
|
-
- **Frameworks**: Vue 2/3, React, Angular, Svelte, etc.
|
|
321
|
-
|
|
322
|
-
## Build
|
|
323
|
-
|
|
324
|
-
```bash
|
|
325
|
-
npm run build
|
|
142
|
+
RunQueryOptions,
|
|
143
|
+
ExecuteDbActionOptions,
|
|
144
|
+
ExecuteActionOptions,
|
|
145
|
+
ExecuteServerFunctionOptions,
|
|
146
|
+
SetFileStatusOptions,
|
|
147
|
+
SetVariableOptions
|
|
148
|
+
} from 'mitra-interactions-sdk';
|
|
326
149
|
```
|
|
327
150
|
|
|
328
151
|
## Licença
|
package/dist/index.d.mts
CHANGED
|
@@ -6,8 +6,6 @@ interface MitraConfig {
|
|
|
6
6
|
baseURL: string;
|
|
7
7
|
/** Token JWT para autenticação */
|
|
8
8
|
token: string;
|
|
9
|
-
/** ID do projeto (opcional, pode ser passado em cada chamada) */
|
|
10
|
-
projectId?: number;
|
|
11
9
|
/** Timeout em ms (padrão: 30000) */
|
|
12
10
|
timeout?: number;
|
|
13
11
|
}
|
|
@@ -33,7 +31,7 @@ declare function clearConfig(): void;
|
|
|
33
31
|
*/
|
|
34
32
|
interface RunQueryOptions {
|
|
35
33
|
/** ID do projeto */
|
|
36
|
-
projectId
|
|
34
|
+
projectId: number;
|
|
37
35
|
/** Query SQL (apenas SELECT) */
|
|
38
36
|
sql: string;
|
|
39
37
|
/** ID da conexão JDBC (opcional, usa autoConnect se não informado) */
|
|
@@ -41,7 +39,7 @@ interface RunQueryOptions {
|
|
|
41
39
|
}
|
|
42
40
|
interface ExecuteDbActionOptions {
|
|
43
41
|
/** ID do projeto */
|
|
44
|
-
projectId
|
|
42
|
+
projectId: number;
|
|
45
43
|
/** ID da DBAction cadastrada */
|
|
46
44
|
dbactionId: number;
|
|
47
45
|
/** Variáveis para o statement (opcional) */
|
|
@@ -49,7 +47,7 @@ interface ExecuteDbActionOptions {
|
|
|
49
47
|
}
|
|
50
48
|
interface ExecuteActionOptions {
|
|
51
49
|
/** ID do projeto */
|
|
52
|
-
projectId
|
|
50
|
+
projectId: number;
|
|
53
51
|
/** ID da Action (fluxo de ação) cadastrada */
|
|
54
52
|
actionId: number;
|
|
55
53
|
/** Variáveis para a action (opcional) */
|
|
@@ -57,7 +55,7 @@ interface ExecuteActionOptions {
|
|
|
57
55
|
}
|
|
58
56
|
interface SetFileStatusOptions {
|
|
59
57
|
/** ID do projeto */
|
|
60
|
-
projectId
|
|
58
|
+
projectId: number;
|
|
61
59
|
/** Nome do arquivo */
|
|
62
60
|
fileName: string;
|
|
63
61
|
/** Caminho de destino: "PUBLIC" ou "LOADABLE" */
|
|
@@ -65,7 +63,7 @@ interface SetFileStatusOptions {
|
|
|
65
63
|
}
|
|
66
64
|
interface SetVariableOptions {
|
|
67
65
|
/** ID do projeto */
|
|
68
|
-
projectId
|
|
66
|
+
projectId: number;
|
|
69
67
|
/** Nome da variável (key) */
|
|
70
68
|
key: string;
|
|
71
69
|
/** Valor da variável (opcional) */
|
|
@@ -73,7 +71,7 @@ interface SetVariableOptions {
|
|
|
73
71
|
}
|
|
74
72
|
interface ExecuteServerFunctionOptions {
|
|
75
73
|
/** ID do projeto */
|
|
76
|
-
projectId
|
|
74
|
+
projectId: number;
|
|
77
75
|
/** ID da Server Function cadastrada */
|
|
78
76
|
serverfunctionId: number;
|
|
79
77
|
/** Parâmetros para a função (opcional) */
|
package/dist/index.d.ts
CHANGED
|
@@ -6,8 +6,6 @@ interface MitraConfig {
|
|
|
6
6
|
baseURL: string;
|
|
7
7
|
/** Token JWT para autenticação */
|
|
8
8
|
token: string;
|
|
9
|
-
/** ID do projeto (opcional, pode ser passado em cada chamada) */
|
|
10
|
-
projectId?: number;
|
|
11
9
|
/** Timeout em ms (padrão: 30000) */
|
|
12
10
|
timeout?: number;
|
|
13
11
|
}
|
|
@@ -33,7 +31,7 @@ declare function clearConfig(): void;
|
|
|
33
31
|
*/
|
|
34
32
|
interface RunQueryOptions {
|
|
35
33
|
/** ID do projeto */
|
|
36
|
-
projectId
|
|
34
|
+
projectId: number;
|
|
37
35
|
/** Query SQL (apenas SELECT) */
|
|
38
36
|
sql: string;
|
|
39
37
|
/** ID da conexão JDBC (opcional, usa autoConnect se não informado) */
|
|
@@ -41,7 +39,7 @@ interface RunQueryOptions {
|
|
|
41
39
|
}
|
|
42
40
|
interface ExecuteDbActionOptions {
|
|
43
41
|
/** ID do projeto */
|
|
44
|
-
projectId
|
|
42
|
+
projectId: number;
|
|
45
43
|
/** ID da DBAction cadastrada */
|
|
46
44
|
dbactionId: number;
|
|
47
45
|
/** Variáveis para o statement (opcional) */
|
|
@@ -49,7 +47,7 @@ interface ExecuteDbActionOptions {
|
|
|
49
47
|
}
|
|
50
48
|
interface ExecuteActionOptions {
|
|
51
49
|
/** ID do projeto */
|
|
52
|
-
projectId
|
|
50
|
+
projectId: number;
|
|
53
51
|
/** ID da Action (fluxo de ação) cadastrada */
|
|
54
52
|
actionId: number;
|
|
55
53
|
/** Variáveis para a action (opcional) */
|
|
@@ -57,7 +55,7 @@ interface ExecuteActionOptions {
|
|
|
57
55
|
}
|
|
58
56
|
interface SetFileStatusOptions {
|
|
59
57
|
/** ID do projeto */
|
|
60
|
-
projectId
|
|
58
|
+
projectId: number;
|
|
61
59
|
/** Nome do arquivo */
|
|
62
60
|
fileName: string;
|
|
63
61
|
/** Caminho de destino: "PUBLIC" ou "LOADABLE" */
|
|
@@ -65,7 +63,7 @@ interface SetFileStatusOptions {
|
|
|
65
63
|
}
|
|
66
64
|
interface SetVariableOptions {
|
|
67
65
|
/** ID do projeto */
|
|
68
|
-
projectId
|
|
66
|
+
projectId: number;
|
|
69
67
|
/** Nome da variável (key) */
|
|
70
68
|
key: string;
|
|
71
69
|
/** Valor da variável (opcional) */
|
|
@@ -73,7 +71,7 @@ interface SetVariableOptions {
|
|
|
73
71
|
}
|
|
74
72
|
interface ExecuteServerFunctionOptions {
|
|
75
73
|
/** ID do projeto */
|
|
76
|
-
projectId
|
|
74
|
+
projectId: number;
|
|
77
75
|
/** ID da Server Function cadastrada */
|
|
78
76
|
serverfunctionId: number;
|
|
79
77
|
/** Parâmetros para a função (opcional) */
|
package/dist/index.js
CHANGED
|
@@ -81,10 +81,8 @@ var http = {
|
|
|
81
81
|
|
|
82
82
|
// src/services.ts
|
|
83
83
|
async function runQueryMitra(options) {
|
|
84
|
-
var _a;
|
|
85
|
-
const config = getConfig();
|
|
86
84
|
const body = {
|
|
87
|
-
projectId:
|
|
85
|
+
projectId: options.projectId,
|
|
88
86
|
sql: options.sql
|
|
89
87
|
};
|
|
90
88
|
if (options.jdbcId !== void 0) {
|
|
@@ -93,10 +91,8 @@ async function runQueryMitra(options) {
|
|
|
93
91
|
return http.post("/agentAiShortcut/runQuery", body);
|
|
94
92
|
}
|
|
95
93
|
async function executeDbActionMitra(options) {
|
|
96
|
-
var _a;
|
|
97
|
-
const config = getConfig();
|
|
98
94
|
const body = {
|
|
99
|
-
projectId:
|
|
95
|
+
projectId: options.projectId,
|
|
100
96
|
dbactionId: options.dbactionId
|
|
101
97
|
};
|
|
102
98
|
if (options.params !== void 0) {
|
|
@@ -105,10 +101,8 @@ async function executeDbActionMitra(options) {
|
|
|
105
101
|
return http.post("/agentAiShortcut/executeDbAction", body);
|
|
106
102
|
}
|
|
107
103
|
async function executeActionMitra(options) {
|
|
108
|
-
var _a;
|
|
109
|
-
const config = getConfig();
|
|
110
104
|
const body = {
|
|
111
|
-
projectId:
|
|
105
|
+
projectId: options.projectId,
|
|
112
106
|
actionId: options.actionId
|
|
113
107
|
};
|
|
114
108
|
if (options.params !== void 0) {
|
|
@@ -117,19 +111,15 @@ async function executeActionMitra(options) {
|
|
|
117
111
|
return http.post("/agentAiShortcut/runAction", body);
|
|
118
112
|
}
|
|
119
113
|
async function setFileStatusMitra(options) {
|
|
120
|
-
var _a;
|
|
121
|
-
const config = getConfig();
|
|
122
114
|
return http.post("/agentAiShortcut/setFileStatus", {
|
|
123
|
-
projectId:
|
|
115
|
+
projectId: options.projectId,
|
|
124
116
|
fileName: options.fileName,
|
|
125
117
|
targetPath: options.targetPath
|
|
126
118
|
});
|
|
127
119
|
}
|
|
128
120
|
async function setVariableMitra(options) {
|
|
129
|
-
var _a;
|
|
130
|
-
const config = getConfig();
|
|
131
121
|
const body = {
|
|
132
|
-
projectId:
|
|
122
|
+
projectId: options.projectId,
|
|
133
123
|
key: options.key
|
|
134
124
|
};
|
|
135
125
|
if (options.value !== void 0) {
|
|
@@ -138,10 +128,8 @@ async function setVariableMitra(options) {
|
|
|
138
128
|
return http.post("/agentAiShortcut/setVariable", body);
|
|
139
129
|
}
|
|
140
130
|
async function executeServerFunctionMitra(options) {
|
|
141
|
-
var _a;
|
|
142
|
-
const config = getConfig();
|
|
143
131
|
const body = {
|
|
144
|
-
projectId:
|
|
132
|
+
projectId: options.projectId,
|
|
145
133
|
serverfunctionId: options.serverfunctionId
|
|
146
134
|
};
|
|
147
135
|
if (options.params !== void 0) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/config.ts","../src/client.ts","../src/services.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Mitra Interactions SDK - Configuração\n */\n\nexport interface MitraConfig {\n /** URL base da API (ex: https://api.mitra.com) */\n baseURL: string;\n /** Token JWT para autenticação */\n token: string;\n /** ID do projeto (opcional, pode ser passado em cada chamada) */\n projectId?: number;\n /** Timeout em ms (padrão: 30000) */\n timeout?: number;\n}\n\nlet globalConfig: MitraConfig | null = null;\n\n/**\n * Configura o SDK globalmente\n */\nexport function configureSdkMitra(config: MitraConfig): void {\n if (!config.baseURL) {\n throw new Error('baseURL é obrigatório');\n }\n if (!config.token) {\n throw new Error('token é obrigatório');\n }\n\n globalConfig = {\n ...config,\n timeout: config.timeout ?? 30000\n };\n}\n\n/**\n * Obtém a configuração atual\n */\nexport function getConfig(): MitraConfig {\n if (!globalConfig) {\n throw new Error('SDK não configurado. Chame configureSdkMitra() primeiro.');\n }\n return globalConfig;\n}\n\n/**\n * Verifica se o SDK está configurado\n */\nexport function isConfigured(): boolean {\n return globalConfig !== null;\n}\n\n/**\n * Limpa a configuração\n */\nexport function clearConfig(): void {\n globalConfig = null;\n}\n","/**\n * Mitra Interactions SDK - HTTP Client\n */\n\nimport { getConfig } from './config';\n\n/**\n * Obtém a função fetch\n */\nfunction getFetch(): typeof fetch {\n if (typeof globalThis.fetch === 'function') {\n return globalThis.fetch;\n }\n throw new Error('fetch não disponível. Use Node.js 18+ ou instale node-fetch.');\n}\n\n/**\n * Formata o token para Authorization\n */\nfunction formatToken(token: string): string {\n return token.startsWith('Bearer ') ? token : `Bearer ${token}`;\n}\n\n/**\n * Constrói os headers\n */\nfunction buildHeaders(): Record<string, string> {\n const config = getConfig();\n return {\n 'Authorization': formatToken(config.token),\n 'Content-Type': 'application/json'\n };\n}\n\n/**\n * Constrói a URL\n */\nfunction buildUrl(endpoint: string): string {\n const config = getConfig();\n return `${config.baseURL}${endpoint}`;\n}\n\n/**\n * Cliente HTTP\n */\nexport const http = {\n async post<T>(endpoint: string, body?: unknown): Promise<T> {\n const fetchFn = getFetch();\n const config = getConfig();\n\n const controller = new AbortController();\n const timeout = config.timeout ?? 30000;\n const timeoutId = setTimeout(() => controller.abort(), timeout);\n\n try {\n const response = await fetchFn(buildUrl(endpoint), {\n method: 'POST',\n headers: buildHeaders(),\n body: body !== undefined ? JSON.stringify(body) : undefined,\n signal: controller.signal\n });\n\n const data = await response.json();\n\n if (!response.ok) {\n throw {\n message: data?.message || data?.error || `HTTP ${response.status}`,\n status: response.status,\n details: data\n };\n }\n\n return data as T;\n } finally {\n clearTimeout(timeoutId);\n }\n }\n};\n","/**\n * Mitra Interactions SDK - Services\n */\n\nimport { http } from './client';\nimport { getConfig } from './config';\nimport type {\n RunQueryOptions,\n ExecuteDbActionOptions,\n ExecuteActionOptions,\n SetFileStatusOptions,\n SetVariableOptions,\n ExecuteServerFunctionOptions\n} from './types';\n\n/**\n * POST /agentAiShortcut/runQuery\n * Executa query SELECT em um projeto\n */\nexport async function runQueryMitra(options: RunQueryOptions): Promise<unknown> {\n const config = getConfig();\n\n const body: Record<string, unknown> = {\n projectId: options.projectId ?? config.projectId,\n sql: options.sql\n };\n\n if (options.jdbcId !== undefined) {\n body.jdbcId = options.jdbcId;\n }\n\n return http.post('/agentAiShortcut/runQuery', body);\n}\n\n/**\n * POST /agentAiShortcut/executeDbAction\n * Executa uma DBAction (DML) cadastrada\n */\nexport async function executeDbActionMitra(options: ExecuteDbActionOptions): Promise<unknown> {\n const config = getConfig();\n\n const body: Record<string, unknown> = {\n projectId: options.projectId ?? config.projectId,\n dbactionId: options.dbactionId\n };\n\n if (options.params !== undefined) {\n body.params = options.params;\n }\n\n return http.post('/agentAiShortcut/executeDbAction', body);\n}\n\n/**\n * POST /agentAiShortcut/runAction\n * Executa uma Action (fluxo de ação) cadastrada\n */\nexport async function executeActionMitra(options: ExecuteActionOptions): Promise<unknown> {\n const config = getConfig();\n\n const body: Record<string, unknown> = {\n projectId: options.projectId ?? config.projectId,\n actionId: options.actionId\n };\n\n if (options.params !== undefined) {\n body.params = options.params;\n }\n\n return http.post('/agentAiShortcut/runAction', body);\n}\n\n/**\n * POST /agentAiShortcut/setFileStatus\n * Move arquivo do chat para PUBLIC ou LOADABLE\n */\nexport async function setFileStatusMitra(options: SetFileStatusOptions): Promise<unknown> {\n const config = getConfig();\n\n return http.post('/agentAiShortcut/setFileStatus', {\n projectId: options.projectId ?? config.projectId,\n fileName: options.fileName,\n targetPath: options.targetPath\n });\n}\n\n/**\n * POST /agentAiShortcut/setVariable\n * Cria ou atualiza uma variável customizada\n */\nexport async function setVariableMitra(options: SetVariableOptions): Promise<unknown> {\n const config = getConfig();\n\n const body: Record<string, unknown> = {\n projectId: options.projectId ?? config.projectId,\n key: options.key\n };\n\n if (options.value !== undefined) {\n body.value = options.value;\n }\n\n return http.post('/agentAiShortcut/setVariable', body);\n}\n\n/**\n * POST /agentAiShortcut/executeServerFunction\n * Executa uma Server Function cadastrada\n */\nexport async function executeServerFunctionMitra(options: ExecuteServerFunctionOptions): Promise<unknown> {\n const config = getConfig();\n\n const body: Record<string, unknown> = {\n projectId: options.projectId ?? config.projectId,\n serverfunctionId: options.serverfunctionId\n };\n\n if (options.params !== undefined) {\n body.args = options.params;\n }\n\n return http.post('/agentAiShortcut/executeServerFunction', body);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/config.ts","../src/client.ts","../src/services.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Mitra Interactions SDK - Configuração\n */\n\nexport interface MitraConfig {\n /** URL base da API (ex: https://api.mitra.com) */\n baseURL: string;\n /** Token JWT para autenticação */\n token: string;\n /** Timeout em ms (padrão: 30000) */\n timeout?: number;\n}\n\nlet globalConfig: MitraConfig | null = null;\n\n/**\n * Configura o SDK globalmente\n */\nexport function configureSdkMitra(config: MitraConfig): void {\n if (!config.baseURL) {\n throw new Error('baseURL é obrigatório');\n }\n if (!config.token) {\n throw new Error('token é obrigatório');\n }\n\n globalConfig = {\n ...config,\n timeout: config.timeout ?? 30000\n };\n}\n\n/**\n * Obtém a configuração atual\n */\nexport function getConfig(): MitraConfig {\n if (!globalConfig) {\n throw new Error('SDK não configurado. Chame configureSdkMitra() primeiro.');\n }\n return globalConfig;\n}\n\n/**\n * Verifica se o SDK está configurado\n */\nexport function isConfigured(): boolean {\n return globalConfig !== null;\n}\n\n/**\n * Limpa a configuração\n */\nexport function clearConfig(): void {\n globalConfig = null;\n}\n","/**\n * Mitra Interactions SDK - HTTP Client\n */\n\nimport { getConfig } from './config';\n\n/**\n * Obtém a função fetch\n */\nfunction getFetch(): typeof fetch {\n if (typeof globalThis.fetch === 'function') {\n return globalThis.fetch;\n }\n throw new Error('fetch não disponível. Use Node.js 18+ ou instale node-fetch.');\n}\n\n/**\n * Formata o token para Authorization\n */\nfunction formatToken(token: string): string {\n return token.startsWith('Bearer ') ? token : `Bearer ${token}`;\n}\n\n/**\n * Constrói os headers\n */\nfunction buildHeaders(): Record<string, string> {\n const config = getConfig();\n return {\n 'Authorization': formatToken(config.token),\n 'Content-Type': 'application/json'\n };\n}\n\n/**\n * Constrói a URL\n */\nfunction buildUrl(endpoint: string): string {\n const config = getConfig();\n return `${config.baseURL}${endpoint}`;\n}\n\n/**\n * Cliente HTTP\n */\nexport const http = {\n async post<T>(endpoint: string, body?: unknown): Promise<T> {\n const fetchFn = getFetch();\n const config = getConfig();\n\n const controller = new AbortController();\n const timeout = config.timeout ?? 30000;\n const timeoutId = setTimeout(() => controller.abort(), timeout);\n\n try {\n const response = await fetchFn(buildUrl(endpoint), {\n method: 'POST',\n headers: buildHeaders(),\n body: body !== undefined ? JSON.stringify(body) : undefined,\n signal: controller.signal\n });\n\n const data = await response.json();\n\n if (!response.ok) {\n throw {\n message: data?.message || data?.error || `HTTP ${response.status}`,\n status: response.status,\n details: data\n };\n }\n\n return data as T;\n } finally {\n clearTimeout(timeoutId);\n }\n }\n};\n","/**\n * Mitra Interactions SDK - Services\n */\n\nimport { http } from './client';\nimport type {\n RunQueryOptions,\n ExecuteDbActionOptions,\n ExecuteActionOptions,\n SetFileStatusOptions,\n SetVariableOptions,\n ExecuteServerFunctionOptions\n} from './types';\n\n/**\n * POST /agentAiShortcut/runQuery\n * Executa query SELECT em um projeto\n */\nexport async function runQueryMitra(options: RunQueryOptions): Promise<unknown> {\n const body: Record<string, unknown> = {\n projectId: options.projectId,\n sql: options.sql\n };\n\n if (options.jdbcId !== undefined) {\n body.jdbcId = options.jdbcId;\n }\n\n return http.post('/agentAiShortcut/runQuery', body);\n}\n\n/**\n * POST /agentAiShortcut/executeDbAction\n * Executa uma DBAction (DML) cadastrada\n */\nexport async function executeDbActionMitra(options: ExecuteDbActionOptions): Promise<unknown> {\n const body: Record<string, unknown> = {\n projectId: options.projectId,\n dbactionId: options.dbactionId\n };\n\n if (options.params !== undefined) {\n body.params = options.params;\n }\n\n return http.post('/agentAiShortcut/executeDbAction', body);\n}\n\n/**\n * POST /agentAiShortcut/runAction\n * Executa uma Action (fluxo de ação) cadastrada\n */\nexport async function executeActionMitra(options: ExecuteActionOptions): Promise<unknown> {\n const body: Record<string, unknown> = {\n projectId: options.projectId,\n actionId: options.actionId\n };\n\n if (options.params !== undefined) {\n body.params = options.params;\n }\n\n return http.post('/agentAiShortcut/runAction', body);\n}\n\n/**\n * POST /agentAiShortcut/setFileStatus\n * Move arquivo do chat para PUBLIC ou LOADABLE\n */\nexport async function setFileStatusMitra(options: SetFileStatusOptions): Promise<unknown> {\n return http.post('/agentAiShortcut/setFileStatus', {\n projectId: options.projectId,\n fileName: options.fileName,\n targetPath: options.targetPath\n });\n}\n\n/**\n * POST /agentAiShortcut/setVariable\n * Cria ou atualiza uma variável customizada\n */\nexport async function setVariableMitra(options: SetVariableOptions): Promise<unknown> {\n const body: Record<string, unknown> = {\n projectId: options.projectId,\n key: options.key\n };\n\n if (options.value !== undefined) {\n body.value = options.value;\n }\n\n return http.post('/agentAiShortcut/setVariable', body);\n}\n\n/**\n * POST /agentAiShortcut/executeServerFunction\n * Executa uma Server Function cadastrada\n */\nexport async function executeServerFunctionMitra(options: ExecuteServerFunctionOptions): Promise<unknown> {\n const body: Record<string, unknown> = {\n projectId: options.projectId,\n serverfunctionId: options.serverfunctionId\n };\n\n if (options.params !== undefined) {\n body.args = options.params;\n }\n\n return http.post('/agentAiShortcut/executeServerFunction', body);\n}\n"]}
|
package/dist/index.mjs
CHANGED
|
@@ -79,10 +79,8 @@ var http = {
|
|
|
79
79
|
|
|
80
80
|
// src/services.ts
|
|
81
81
|
async function runQueryMitra(options) {
|
|
82
|
-
var _a;
|
|
83
|
-
const config = getConfig();
|
|
84
82
|
const body = {
|
|
85
|
-
projectId:
|
|
83
|
+
projectId: options.projectId,
|
|
86
84
|
sql: options.sql
|
|
87
85
|
};
|
|
88
86
|
if (options.jdbcId !== void 0) {
|
|
@@ -91,10 +89,8 @@ async function runQueryMitra(options) {
|
|
|
91
89
|
return http.post("/agentAiShortcut/runQuery", body);
|
|
92
90
|
}
|
|
93
91
|
async function executeDbActionMitra(options) {
|
|
94
|
-
var _a;
|
|
95
|
-
const config = getConfig();
|
|
96
92
|
const body = {
|
|
97
|
-
projectId:
|
|
93
|
+
projectId: options.projectId,
|
|
98
94
|
dbactionId: options.dbactionId
|
|
99
95
|
};
|
|
100
96
|
if (options.params !== void 0) {
|
|
@@ -103,10 +99,8 @@ async function executeDbActionMitra(options) {
|
|
|
103
99
|
return http.post("/agentAiShortcut/executeDbAction", body);
|
|
104
100
|
}
|
|
105
101
|
async function executeActionMitra(options) {
|
|
106
|
-
var _a;
|
|
107
|
-
const config = getConfig();
|
|
108
102
|
const body = {
|
|
109
|
-
projectId:
|
|
103
|
+
projectId: options.projectId,
|
|
110
104
|
actionId: options.actionId
|
|
111
105
|
};
|
|
112
106
|
if (options.params !== void 0) {
|
|
@@ -115,19 +109,15 @@ async function executeActionMitra(options) {
|
|
|
115
109
|
return http.post("/agentAiShortcut/runAction", body);
|
|
116
110
|
}
|
|
117
111
|
async function setFileStatusMitra(options) {
|
|
118
|
-
var _a;
|
|
119
|
-
const config = getConfig();
|
|
120
112
|
return http.post("/agentAiShortcut/setFileStatus", {
|
|
121
|
-
projectId:
|
|
113
|
+
projectId: options.projectId,
|
|
122
114
|
fileName: options.fileName,
|
|
123
115
|
targetPath: options.targetPath
|
|
124
116
|
});
|
|
125
117
|
}
|
|
126
118
|
async function setVariableMitra(options) {
|
|
127
|
-
var _a;
|
|
128
|
-
const config = getConfig();
|
|
129
119
|
const body = {
|
|
130
|
-
projectId:
|
|
120
|
+
projectId: options.projectId,
|
|
131
121
|
key: options.key
|
|
132
122
|
};
|
|
133
123
|
if (options.value !== void 0) {
|
|
@@ -136,10 +126,8 @@ async function setVariableMitra(options) {
|
|
|
136
126
|
return http.post("/agentAiShortcut/setVariable", body);
|
|
137
127
|
}
|
|
138
128
|
async function executeServerFunctionMitra(options) {
|
|
139
|
-
var _a;
|
|
140
|
-
const config = getConfig();
|
|
141
129
|
const body = {
|
|
142
|
-
projectId:
|
|
130
|
+
projectId: options.projectId,
|
|
143
131
|
serverfunctionId: options.serverfunctionId
|
|
144
132
|
};
|
|
145
133
|
if (options.params !== void 0) {
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/config.ts","../src/client.ts","../src/services.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["/**\n * Mitra Interactions SDK - Configuração\n */\n\nexport interface MitraConfig {\n /** URL base da API (ex: https://api.mitra.com) */\n baseURL: string;\n /** Token JWT para autenticação */\n token: string;\n /** ID do projeto (opcional, pode ser passado em cada chamada) */\n projectId?: number;\n /** Timeout em ms (padrão: 30000) */\n timeout?: number;\n}\n\nlet globalConfig: MitraConfig | null = null;\n\n/**\n * Configura o SDK globalmente\n */\nexport function configureSdkMitra(config: MitraConfig): void {\n if (!config.baseURL) {\n throw new Error('baseURL é obrigatório');\n }\n if (!config.token) {\n throw new Error('token é obrigatório');\n }\n\n globalConfig = {\n ...config,\n timeout: config.timeout ?? 30000\n };\n}\n\n/**\n * Obtém a configuração atual\n */\nexport function getConfig(): MitraConfig {\n if (!globalConfig) {\n throw new Error('SDK não configurado. Chame configureSdkMitra() primeiro.');\n }\n return globalConfig;\n}\n\n/**\n * Verifica se o SDK está configurado\n */\nexport function isConfigured(): boolean {\n return globalConfig !== null;\n}\n\n/**\n * Limpa a configuração\n */\nexport function clearConfig(): void {\n globalConfig = null;\n}\n","/**\n * Mitra Interactions SDK - HTTP Client\n */\n\nimport { getConfig } from './config';\n\n/**\n * Obtém a função fetch\n */\nfunction getFetch(): typeof fetch {\n if (typeof globalThis.fetch === 'function') {\n return globalThis.fetch;\n }\n throw new Error('fetch não disponível. Use Node.js 18+ ou instale node-fetch.');\n}\n\n/**\n * Formata o token para Authorization\n */\nfunction formatToken(token: string): string {\n return token.startsWith('Bearer ') ? token : `Bearer ${token}`;\n}\n\n/**\n * Constrói os headers\n */\nfunction buildHeaders(): Record<string, string> {\n const config = getConfig();\n return {\n 'Authorization': formatToken(config.token),\n 'Content-Type': 'application/json'\n };\n}\n\n/**\n * Constrói a URL\n */\nfunction buildUrl(endpoint: string): string {\n const config = getConfig();\n return `${config.baseURL}${endpoint}`;\n}\n\n/**\n * Cliente HTTP\n */\nexport const http = {\n async post<T>(endpoint: string, body?: unknown): Promise<T> {\n const fetchFn = getFetch();\n const config = getConfig();\n\n const controller = new AbortController();\n const timeout = config.timeout ?? 30000;\n const timeoutId = setTimeout(() => controller.abort(), timeout);\n\n try {\n const response = await fetchFn(buildUrl(endpoint), {\n method: 'POST',\n headers: buildHeaders(),\n body: body !== undefined ? JSON.stringify(body) : undefined,\n signal: controller.signal\n });\n\n const data = await response.json();\n\n if (!response.ok) {\n throw {\n message: data?.message || data?.error || `HTTP ${response.status}`,\n status: response.status,\n details: data\n };\n }\n\n return data as T;\n } finally {\n clearTimeout(timeoutId);\n }\n }\n};\n","/**\n * Mitra Interactions SDK - Services\n */\n\nimport { http } from './client';\nimport { getConfig } from './config';\nimport type {\n RunQueryOptions,\n ExecuteDbActionOptions,\n ExecuteActionOptions,\n SetFileStatusOptions,\n SetVariableOptions,\n ExecuteServerFunctionOptions\n} from './types';\n\n/**\n * POST /agentAiShortcut/runQuery\n * Executa query SELECT em um projeto\n */\nexport async function runQueryMitra(options: RunQueryOptions): Promise<unknown> {\n const config = getConfig();\n\n const body: Record<string, unknown> = {\n projectId: options.projectId ?? config.projectId,\n sql: options.sql\n };\n\n if (options.jdbcId !== undefined) {\n body.jdbcId = options.jdbcId;\n }\n\n return http.post('/agentAiShortcut/runQuery', body);\n}\n\n/**\n * POST /agentAiShortcut/executeDbAction\n * Executa uma DBAction (DML) cadastrada\n */\nexport async function executeDbActionMitra(options: ExecuteDbActionOptions): Promise<unknown> {\n const config = getConfig();\n\n const body: Record<string, unknown> = {\n projectId: options.projectId ?? config.projectId,\n dbactionId: options.dbactionId\n };\n\n if (options.params !== undefined) {\n body.params = options.params;\n }\n\n return http.post('/agentAiShortcut/executeDbAction', body);\n}\n\n/**\n * POST /agentAiShortcut/runAction\n * Executa uma Action (fluxo de ação) cadastrada\n */\nexport async function executeActionMitra(options: ExecuteActionOptions): Promise<unknown> {\n const config = getConfig();\n\n const body: Record<string, unknown> = {\n projectId: options.projectId ?? config.projectId,\n actionId: options.actionId\n };\n\n if (options.params !== undefined) {\n body.params = options.params;\n }\n\n return http.post('/agentAiShortcut/runAction', body);\n}\n\n/**\n * POST /agentAiShortcut/setFileStatus\n * Move arquivo do chat para PUBLIC ou LOADABLE\n */\nexport async function setFileStatusMitra(options: SetFileStatusOptions): Promise<unknown> {\n const config = getConfig();\n\n return http.post('/agentAiShortcut/setFileStatus', {\n projectId: options.projectId ?? config.projectId,\n fileName: options.fileName,\n targetPath: options.targetPath\n });\n}\n\n/**\n * POST /agentAiShortcut/setVariable\n * Cria ou atualiza uma variável customizada\n */\nexport async function setVariableMitra(options: SetVariableOptions): Promise<unknown> {\n const config = getConfig();\n\n const body: Record<string, unknown> = {\n projectId: options.projectId ?? config.projectId,\n key: options.key\n };\n\n if (options.value !== undefined) {\n body.value = options.value;\n }\n\n return http.post('/agentAiShortcut/setVariable', body);\n}\n\n/**\n * POST /agentAiShortcut/executeServerFunction\n * Executa uma Server Function cadastrada\n */\nexport async function executeServerFunctionMitra(options: ExecuteServerFunctionOptions): Promise<unknown> {\n const config = getConfig();\n\n const body: Record<string, unknown> = {\n projectId: options.projectId ?? config.projectId,\n serverfunctionId: options.serverfunctionId\n };\n\n if (options.params !== undefined) {\n body.args = options.params;\n }\n\n return http.post('/agentAiShortcut/executeServerFunction', body);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/config.ts","../src/client.ts","../src/services.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["/**\n * Mitra Interactions SDK - Configuração\n */\n\nexport interface MitraConfig {\n /** URL base da API (ex: https://api.mitra.com) */\n baseURL: string;\n /** Token JWT para autenticação */\n token: string;\n /** Timeout em ms (padrão: 30000) */\n timeout?: number;\n}\n\nlet globalConfig: MitraConfig | null = null;\n\n/**\n * Configura o SDK globalmente\n */\nexport function configureSdkMitra(config: MitraConfig): void {\n if (!config.baseURL) {\n throw new Error('baseURL é obrigatório');\n }\n if (!config.token) {\n throw new Error('token é obrigatório');\n }\n\n globalConfig = {\n ...config,\n timeout: config.timeout ?? 30000\n };\n}\n\n/**\n * Obtém a configuração atual\n */\nexport function getConfig(): MitraConfig {\n if (!globalConfig) {\n throw new Error('SDK não configurado. Chame configureSdkMitra() primeiro.');\n }\n return globalConfig;\n}\n\n/**\n * Verifica se o SDK está configurado\n */\nexport function isConfigured(): boolean {\n return globalConfig !== null;\n}\n\n/**\n * Limpa a configuração\n */\nexport function clearConfig(): void {\n globalConfig = null;\n}\n","/**\n * Mitra Interactions SDK - HTTP Client\n */\n\nimport { getConfig } from './config';\n\n/**\n * Obtém a função fetch\n */\nfunction getFetch(): typeof fetch {\n if (typeof globalThis.fetch === 'function') {\n return globalThis.fetch;\n }\n throw new Error('fetch não disponível. Use Node.js 18+ ou instale node-fetch.');\n}\n\n/**\n * Formata o token para Authorization\n */\nfunction formatToken(token: string): string {\n return token.startsWith('Bearer ') ? token : `Bearer ${token}`;\n}\n\n/**\n * Constrói os headers\n */\nfunction buildHeaders(): Record<string, string> {\n const config = getConfig();\n return {\n 'Authorization': formatToken(config.token),\n 'Content-Type': 'application/json'\n };\n}\n\n/**\n * Constrói a URL\n */\nfunction buildUrl(endpoint: string): string {\n const config = getConfig();\n return `${config.baseURL}${endpoint}`;\n}\n\n/**\n * Cliente HTTP\n */\nexport const http = {\n async post<T>(endpoint: string, body?: unknown): Promise<T> {\n const fetchFn = getFetch();\n const config = getConfig();\n\n const controller = new AbortController();\n const timeout = config.timeout ?? 30000;\n const timeoutId = setTimeout(() => controller.abort(), timeout);\n\n try {\n const response = await fetchFn(buildUrl(endpoint), {\n method: 'POST',\n headers: buildHeaders(),\n body: body !== undefined ? JSON.stringify(body) : undefined,\n signal: controller.signal\n });\n\n const data = await response.json();\n\n if (!response.ok) {\n throw {\n message: data?.message || data?.error || `HTTP ${response.status}`,\n status: response.status,\n details: data\n };\n }\n\n return data as T;\n } finally {\n clearTimeout(timeoutId);\n }\n }\n};\n","/**\n * Mitra Interactions SDK - Services\n */\n\nimport { http } from './client';\nimport type {\n RunQueryOptions,\n ExecuteDbActionOptions,\n ExecuteActionOptions,\n SetFileStatusOptions,\n SetVariableOptions,\n ExecuteServerFunctionOptions\n} from './types';\n\n/**\n * POST /agentAiShortcut/runQuery\n * Executa query SELECT em um projeto\n */\nexport async function runQueryMitra(options: RunQueryOptions): Promise<unknown> {\n const body: Record<string, unknown> = {\n projectId: options.projectId,\n sql: options.sql\n };\n\n if (options.jdbcId !== undefined) {\n body.jdbcId = options.jdbcId;\n }\n\n return http.post('/agentAiShortcut/runQuery', body);\n}\n\n/**\n * POST /agentAiShortcut/executeDbAction\n * Executa uma DBAction (DML) cadastrada\n */\nexport async function executeDbActionMitra(options: ExecuteDbActionOptions): Promise<unknown> {\n const body: Record<string, unknown> = {\n projectId: options.projectId,\n dbactionId: options.dbactionId\n };\n\n if (options.params !== undefined) {\n body.params = options.params;\n }\n\n return http.post('/agentAiShortcut/executeDbAction', body);\n}\n\n/**\n * POST /agentAiShortcut/runAction\n * Executa uma Action (fluxo de ação) cadastrada\n */\nexport async function executeActionMitra(options: ExecuteActionOptions): Promise<unknown> {\n const body: Record<string, unknown> = {\n projectId: options.projectId,\n actionId: options.actionId\n };\n\n if (options.params !== undefined) {\n body.params = options.params;\n }\n\n return http.post('/agentAiShortcut/runAction', body);\n}\n\n/**\n * POST /agentAiShortcut/setFileStatus\n * Move arquivo do chat para PUBLIC ou LOADABLE\n */\nexport async function setFileStatusMitra(options: SetFileStatusOptions): Promise<unknown> {\n return http.post('/agentAiShortcut/setFileStatus', {\n projectId: options.projectId,\n fileName: options.fileName,\n targetPath: options.targetPath\n });\n}\n\n/**\n * POST /agentAiShortcut/setVariable\n * Cria ou atualiza uma variável customizada\n */\nexport async function setVariableMitra(options: SetVariableOptions): Promise<unknown> {\n const body: Record<string, unknown> = {\n projectId: options.projectId,\n key: options.key\n };\n\n if (options.value !== undefined) {\n body.value = options.value;\n }\n\n return http.post('/agentAiShortcut/setVariable', body);\n}\n\n/**\n * POST /agentAiShortcut/executeServerFunction\n * Executa uma Server Function cadastrada\n */\nexport async function executeServerFunctionMitra(options: ExecuteServerFunctionOptions): Promise<unknown> {\n const body: Record<string, unknown> = {\n projectId: options.projectId,\n serverfunctionId: options.serverfunctionId\n };\n\n if (options.params !== undefined) {\n body.args = options.params;\n }\n\n return http.post('/agentAiShortcut/executeServerFunction', body);\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mitra-interactions-sdk",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "SDK agnóstico para interações com a plataforma Mitra ECP",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"files": [
|
|
16
|
-
"dist"
|
|
16
|
+
"dist",
|
|
17
|
+
"README.md"
|
|
17
18
|
],
|
|
18
19
|
"scripts": {
|
|
19
20
|
"build": "tsup src/index.ts --format cjs,esm --dts --clean",
|