mitra-interactions-sdk 1.0.0 → 1.0.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 (2) hide show
  1. package/README.md +77 -253
  2. package/package.json +3 -2
package/README.md CHANGED
@@ -1,15 +1,15 @@
1
1
  # Mitra Interactions SDK
2
2
 
3
- SDK agnóstico para interações com a plataforma Mitra ECP. Funciona com JavaScript, TypeScript, Vue, React, Angular, Node.js e browsers.
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 @mitra/interactions-sdk
8
+ npm install mitra-interactions-sdk
9
9
  # ou
10
- yarn add @mitra/interactions-sdk
10
+ yarn add mitra-interactions-sdk
11
11
  # ou
12
- pnpm add @mitra/interactions-sdk
12
+ pnpm add mitra-interactions-sdk
13
13
  ```
14
14
 
15
15
  ## Configuração
@@ -17,249 +17,122 @@ pnpm add @mitra/interactions-sdk
17
17
  Antes de usar qualquer função, configure o SDK:
18
18
 
19
19
  ```typescript
20
- import { configure } from '@mitra/interactions-sdk';
20
+ import { configureSdkMitra } from 'mitra-interactions-sdk';
21
21
 
22
- configure({
22
+ configureSdkMitra({
23
23
  baseURL: 'https://api.mitra.com',
24
24
  token: 'seu-jwt-token',
25
- // Opcionais:
26
- screenId: 123, // ID da tela atual
27
- screenComponentId: 456, // ID do componente
28
- timeout: 30000 // Timeout em ms (padrão: 30000)
25
+ projectId: 123, // Opcional, pode ser passado em cada chamada
26
+ timeout: 30000 // Opcional, padrão: 30000ms
29
27
  });
30
28
  ```
31
29
 
32
- ## Uso
30
+ ## Métodos Disponíveis
33
31
 
34
- ### Query SQL
32
+ ### runQueryMitra
35
33
 
36
- ```typescript
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)
34
+ Executa uma query SQL (SELECT) em um projeto.
63
35
 
64
36
  ```typescript
65
- import { dbactionMitra } from '@mitra/interactions-sdk';
37
+ import { runQueryMitra } from 'mitra-interactions-sdk';
66
38
 
67
- // Executa uma ação
68
- const result = await dbactionMitra({ actionIds: 123 });
69
-
70
- // Executa múltiplas ações
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
- ]
39
+ const result = await runQueryMitra({
40
+ projectId: 123,
41
+ sql: 'SELECT * FROM usuarios LIMIT 10',
42
+ jdbcId: 1 // Opcional, usa autoConnect se não informado
80
43
  });
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
44
  ```
88
45
 
89
- ### Variáveis
46
+ ### executeDbActionMitra
90
47
 
91
- ```typescript
92
- import { setVariableMitra, setVariablesBatch } from '@mitra/interactions-sdk';
48
+ Executa uma DBAction (DML) cadastrada.
93
49
 
94
- // Define uma variável
95
- await setVariableMitra({
96
- name: 'filtro_ativo',
97
- content: 'sim'
98
- });
99
-
100
- // Define variável com objeto
101
- await setVariableMitra({
102
- name: 'configuracao',
103
- content: { tema: 'dark', idioma: 'pt-BR' }
50
+ ```typescript
51
+ import { executeDbActionMitra } from 'mitra-interactions-sdk';
52
+
53
+ const result = await executeDbActionMitra({
54
+ projectId: 123,
55
+ dbactionId: 456,
56
+ params: { // Opcional
57
+ campo1: 'valor1',
58
+ campo2: 'valor2'
59
+ }
104
60
  });
105
-
106
- // Define múltiplas variáveis
107
- await setVariablesBatch([
108
- { name: 'var1', content: 'valor1' },
109
- { name: 'var2', content: { objeto: true } }
110
- ]);
111
61
  ```
112
62
 
113
- ### Upload de Arquivos
63
+ ### executeActionMitra
114
64
 
115
- ```typescript
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
65
+ Executa uma Action (fluxo de ação) cadastrada.
129
66
 
130
67
  ```typescript
131
- import { downloadFileMitra, getFileUrl, downloadFile } from '@mitra/interactions-sdk';
132
-
133
- // Obtém URL autenticada
134
- const result = await downloadFileMitra({ fileKey: 'path/to/file.pdf' });
135
- console.log(result.url);
68
+ import { executeActionMitra } from 'mitra-interactions-sdk';
136
69
 
137
- // Forma simplificada
138
- const url = getFileUrl('path/to/file.pdf');
139
-
140
- // Download como Blob (para manipulação)
141
- const result = await downloadFileMitra({
142
- fileKey: 'path/to/file.pdf',
143
- asBlob: true
70
+ const result = await executeActionMitra({
71
+ projectId: 123,
72
+ actionId: 789,
73
+ params: {} // Opcional
144
74
  });
145
-
146
- // Dispara download no browser
147
- await downloadFile('path/to/file.pdf', 'meu-arquivo.pdf');
148
75
  ```
149
76
 
150
- ## Uso com Classe (OOP)
77
+ ### executeServerFunctionMitra
151
78
 
152
- ```typescript
153
- import { MitraSDK, createMitraSDK } from '@mitra/interactions-sdk';
79
+ Executa uma Server Function cadastrada.
154
80
 
155
- // Usando construtor
156
- const sdk = new MitraSDK({
157
- baseURL: 'https://api.mitra.com',
158
- token: 'seu-jwt-token'
159
- });
81
+ ```typescript
82
+ import { executeServerFunctionMitra } from 'mitra-interactions-sdk';
160
83
 
161
- // Ou usando factory
162
- const sdk = createMitraSDK({
163
- baseURL: 'https://api.mitra.com',
164
- token: 'seu-jwt-token'
84
+ const result = await executeServerFunctionMitra({
85
+ projectId: 123,
86
+ serverfunctionId: 101,
87
+ params: { // Opcional
88
+ arg1: 'valor1'
89
+ }
165
90
  });
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
91
  ```
172
92
 
173
- ## Aliases (Compatibilidade)
93
+ ### setFileStatusMitra
174
94
 
175
- Para facilitar migração, existem aliases simplificados:
95
+ Move arquivo do chat para PUBLIC ou LOADABLE.
176
96
 
177
97
  ```typescript
178
- import { dbaction, setVariable, query, uploadFile } from '@mitra/interactions-sdk';
98
+ import { setFileStatusMitra } from 'mitra-interactions-sdk';
179
99
 
180
- // Forma simplificada
181
- await dbaction(123);
182
- await setVariable('nome', 'valor');
183
- const result = await query('SELECT * FROM tabela');
184
- const url = await uploadFile(arquivo);
100
+ const result = await setFileStatusMitra({
101
+ projectId: 123,
102
+ fileName: 'arquivo.jpg',
103
+ targetPath: 'PUBLIC' // 'PUBLIC' ou 'LOADABLE'
104
+ });
185
105
  ```
186
106
 
187
- ## Uso em Diferentes Frameworks
107
+ ### setVariableMitra
188
108
 
189
- ### Vue.js
109
+ Cria ou atualiza uma variável customizada.
190
110
 
191
111
  ```typescript
192
- // plugins/mitra.ts
193
- import { configure } from '@mitra/interactions-sdk';
112
+ import { setVariableMitra } from 'mitra-interactions-sdk';
194
113
 
195
- export default {
196
- install(app, options) {
197
- configure(options);
198
- }
199
- };
200
-
201
- // main.ts
202
- app.use(mitraPlugin, {
203
- baseURL: import.meta.env.VITE_API_URL,
204
- token: getToken()
114
+ const result = await setVariableMitra({
115
+ projectId: 123,
116
+ key: 'minhaVariavel',
117
+ value: 'meuValor' // Opcional
205
118
  });
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
119
  ```
231
120
 
232
- ### Angular
121
+ ## Tratamento de Erros
233
122
 
234
123
  ```typescript
235
- // mitra.service.ts
236
- import { Injectable } from '@angular/core';
237
- import { configure, queryMitra, dbactionMitra } from '@mitra/interactions-sdk';
238
-
239
- @Injectable({ providedIn: 'root' })
240
- export class MitraService {
241
- configure(config) {
242
- configure(config);
243
- }
244
-
245
- query = queryMitra;
246
- dbaction = dbactionMitra;
124
+ try {
125
+ const result = await runQueryMitra({
126
+ projectId: 123,
127
+ sql: 'SELECT * FROM tabela'
128
+ });
129
+ } catch (error) {
130
+ console.log('Erro:', error.message);
131
+ console.log('Status:', error.status);
132
+ console.log('Detalhes:', error.details);
247
133
  }
248
134
  ```
249
135
 
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
136
  ## Tipos TypeScript
264
137
 
265
138
  Todos os tipos estão incluídos:
@@ -267,62 +140,13 @@ Todos os tipos estão incluídos:
267
140
  ```typescript
268
141
  import type {
269
142
  MitraConfig,
270
- QueryResult,
271
- DBActionResult,
272
- UploadResult
273
- } from '@mitra/interactions-sdk';
274
- ```
275
-
276
- ## Tratamento de Erros
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
143
+ RunQueryOptions,
144
+ ExecuteDbActionOptions,
145
+ ExecuteActionOptions,
146
+ ExecuteServerFunctionOptions,
147
+ SetFileStatusOptions,
148
+ SetVariableOptions
149
+ } from 'mitra-interactions-sdk';
326
150
  ```
327
151
 
328
152
  ## Licença
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mitra-interactions-sdk",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
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",