mitra-interactions-sdk 1.0.8 → 1.0.9
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 +41 -10
- package/dist/index.d.mts +19 -1
- package/dist/index.d.ts +19 -1
- package/dist/index.js +29 -22
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +29 -23
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,18 +14,26 @@ pnpm add mitra-interactions-sdk
|
|
|
14
14
|
|
|
15
15
|
## Configuração
|
|
16
16
|
|
|
17
|
-
Antes de usar qualquer função, configure o SDK
|
|
17
|
+
Antes de usar qualquer função, configure o SDK com seu token da plataforma Mitra.
|
|
18
|
+
|
|
19
|
+
> **Importante:** O token é um JWT de autenticação da plataforma Mitra. **Nunca deixe o token estático no código.** Utilize variáveis de ambiente para armazená-lo de forma segura.
|
|
18
20
|
|
|
19
21
|
```typescript
|
|
20
22
|
import { configureSdkMitra } from 'mitra-interactions-sdk';
|
|
21
23
|
|
|
22
24
|
configureSdkMitra({
|
|
23
|
-
baseURL: 'https://api.mitra.com',
|
|
24
|
-
token:
|
|
25
|
+
baseURL: process.env.MITRA_BASE_URL || 'https://api.mitra.com',
|
|
26
|
+
token: process.env.MITRA_TOKEN!,
|
|
25
27
|
timeout: 30000 // Opcional, padrão: 30000ms
|
|
26
28
|
});
|
|
27
29
|
```
|
|
28
30
|
|
|
31
|
+
Exemplo de `.env`:
|
|
32
|
+
```
|
|
33
|
+
MITRA_BASE_URL=https://api.mitra.com
|
|
34
|
+
MITRA_TOKEN=seu-jwt-token-da-plataforma-mitra
|
|
35
|
+
```
|
|
36
|
+
|
|
29
37
|
## Métodos Disponíveis
|
|
30
38
|
|
|
31
39
|
### runQueryMitra
|
|
@@ -75,6 +83,19 @@ const result = await executeServerFunctionMitra({
|
|
|
75
83
|
});
|
|
76
84
|
```
|
|
77
85
|
|
|
86
|
+
### stopServerFunctionExecutionMitra
|
|
87
|
+
|
|
88
|
+
Para a execução de uma Server Function em andamento.
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
import { stopServerFunctionExecutionMitra } from 'mitra-interactions-sdk';
|
|
92
|
+
|
|
93
|
+
const result = await stopServerFunctionExecutionMitra({
|
|
94
|
+
projectId: 123,
|
|
95
|
+
executionId: 'exec-uuid-aqui'
|
|
96
|
+
});
|
|
97
|
+
```
|
|
98
|
+
|
|
78
99
|
### setFileStatusMitra
|
|
79
100
|
|
|
80
101
|
Move arquivo do chat para PUBLIC ou LOADABLE.
|
|
@@ -107,13 +128,15 @@ const result = await setVariableMitra({
|
|
|
107
128
|
|
|
108
129
|
CRUD completo em tabelas do projeto via Dynamic Schema (usa header `X-TenantID`).
|
|
109
130
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
- `
|
|
113
|
-
- `
|
|
114
|
-
- `
|
|
115
|
-
- `
|
|
116
|
-
- `
|
|
131
|
+
Todos os endpoints suportam o parâmetro opcional `jdbcConnectionConfigId` para operar em datasources adicionais (PostgreSQL, Oracle, SQL Server, etc.) ao invés do banco principal do tenant.
|
|
132
|
+
|
|
133
|
+
- `listRecordsMitra({ projectId, tableName, page?, size?, filters?, jdbcConnectionConfigId? })` - Lista registros com paginação
|
|
134
|
+
- `getRecordMitra({ projectId, tableName, id, jdbcConnectionConfigId? })` - Busca registro por ID
|
|
135
|
+
- `createRecordMitra({ projectId, tableName, data, jdbcConnectionConfigId? })` - Cria registro
|
|
136
|
+
- `updateRecordMitra({ projectId, tableName, id, data, jdbcConnectionConfigId? })` - Atualiza registro (PUT)
|
|
137
|
+
- `patchRecordMitra({ projectId, tableName, id, data, jdbcConnectionConfigId? })` - Atualiza parcialmente (PATCH)
|
|
138
|
+
- `deleteRecordMitra({ projectId, tableName, id, jdbcConnectionConfigId? })` - Remove registro
|
|
139
|
+
- `createRecordsBatchMitra({ projectId, tableName, records, jdbcConnectionConfigId? })` - Cria múltiplos registros
|
|
117
140
|
|
|
118
141
|
```typescript
|
|
119
142
|
import { listRecordsMitra, createRecordMitra, updateRecordMitra, deleteRecordMitra } from 'mitra-interactions-sdk';
|
|
@@ -143,6 +166,13 @@ await updateRecordMitra({
|
|
|
143
166
|
|
|
144
167
|
// Deletar registro
|
|
145
168
|
await deleteRecordMitra({ projectId: 123, tableName: 'produtos', id: 1 });
|
|
169
|
+
|
|
170
|
+
// Usando datasource adicional (jdbcConnectionConfigId)
|
|
171
|
+
const result2 = await listRecordsMitra({
|
|
172
|
+
projectId: 123,
|
|
173
|
+
tableName: 'clientes',
|
|
174
|
+
jdbcConnectionConfigId: 5
|
|
175
|
+
});
|
|
146
176
|
```
|
|
147
177
|
|
|
148
178
|
## Tratamento de Erros
|
|
@@ -170,6 +200,7 @@ import type {
|
|
|
170
200
|
RunQueryOptions,
|
|
171
201
|
ExecuteDbActionOptions,
|
|
172
202
|
ExecuteServerFunctionOptions,
|
|
203
|
+
StopServerFunctionExecutionOptions,
|
|
173
204
|
SetFileStatusOptions,
|
|
174
205
|
SetVariableOptions,
|
|
175
206
|
ListRecordsOptions,
|
package/dist/index.d.mts
CHANGED
|
@@ -75,38 +75,51 @@ interface ListRecordsOptions {
|
|
|
75
75
|
page?: number;
|
|
76
76
|
size?: number;
|
|
77
77
|
filters?: Record<string, unknown>;
|
|
78
|
+
jdbcConnectionConfigId?: number;
|
|
78
79
|
}
|
|
79
80
|
interface GetRecordOptions {
|
|
80
81
|
projectId: number;
|
|
81
82
|
tableName: string;
|
|
82
83
|
id: number;
|
|
84
|
+
jdbcConnectionConfigId?: number;
|
|
83
85
|
}
|
|
84
86
|
interface CreateRecordOptions {
|
|
85
87
|
projectId: number;
|
|
86
88
|
tableName: string;
|
|
87
89
|
data: Record<string, unknown>;
|
|
90
|
+
jdbcConnectionConfigId?: number;
|
|
88
91
|
}
|
|
89
92
|
interface UpdateRecordOptions {
|
|
90
93
|
projectId: number;
|
|
91
94
|
tableName: string;
|
|
92
95
|
id: number;
|
|
93
96
|
data: Record<string, unknown>;
|
|
97
|
+
jdbcConnectionConfigId?: number;
|
|
94
98
|
}
|
|
95
99
|
interface PatchRecordOptions {
|
|
96
100
|
projectId: number;
|
|
97
101
|
tableName: string;
|
|
98
102
|
id: number;
|
|
99
103
|
data: Record<string, unknown>;
|
|
104
|
+
jdbcConnectionConfigId?: number;
|
|
100
105
|
}
|
|
101
106
|
interface DeleteRecordOptions {
|
|
102
107
|
projectId: number;
|
|
103
108
|
tableName: string;
|
|
104
109
|
id: number;
|
|
110
|
+
jdbcConnectionConfigId?: number;
|
|
105
111
|
}
|
|
106
112
|
interface CreateRecordsBatchOptions {
|
|
107
113
|
projectId: number;
|
|
108
114
|
tableName: string;
|
|
109
115
|
records: Record<string, unknown>[];
|
|
116
|
+
jdbcConnectionConfigId?: number;
|
|
117
|
+
}
|
|
118
|
+
interface StopServerFunctionExecutionOptions {
|
|
119
|
+
/** ID do projeto */
|
|
120
|
+
projectId: number;
|
|
121
|
+
/** ID da execução a ser parada */
|
|
122
|
+
executionId: string;
|
|
110
123
|
}
|
|
111
124
|
|
|
112
125
|
/**
|
|
@@ -138,6 +151,11 @@ declare function setVariableMitra(options: SetVariableOptions): Promise<unknown>
|
|
|
138
151
|
* Executa uma Server Function cadastrada
|
|
139
152
|
*/
|
|
140
153
|
declare function executeServerFunctionMitra(options: ExecuteServerFunctionOptions): Promise<unknown>;
|
|
154
|
+
/**
|
|
155
|
+
* POST /agentAiShortcut/stopServerFunctionExecution
|
|
156
|
+
* Para a execução de uma Server Function em andamento
|
|
157
|
+
*/
|
|
158
|
+
declare function stopServerFunctionExecutionMitra(options: StopServerFunctionExecutionOptions): Promise<unknown>;
|
|
141
159
|
declare function listRecordsMitra(options: ListRecordsOptions): Promise<unknown>;
|
|
142
160
|
declare function getRecordMitra(options: GetRecordOptions): Promise<unknown>;
|
|
143
161
|
declare function createRecordMitra(options: CreateRecordOptions): Promise<unknown>;
|
|
@@ -146,4 +164,4 @@ declare function patchRecordMitra(options: PatchRecordOptions): Promise<unknown>
|
|
|
146
164
|
declare function deleteRecordMitra(options: DeleteRecordOptions): Promise<unknown>;
|
|
147
165
|
declare function createRecordsBatchMitra(options: CreateRecordsBatchOptions): Promise<unknown>;
|
|
148
166
|
|
|
149
|
-
export { type CreateRecordOptions, type CreateRecordsBatchOptions, type DeleteRecordOptions, type ExecuteDbActionOptions, type ExecuteServerFunctionOptions, type GetRecordOptions, type ListRecordsOptions, type MitraConfig, type PatchRecordOptions, type RunQueryOptions, type SetFileStatusOptions, type SetVariableOptions, type UpdateRecordOptions, clearConfig, configureSdkMitra, createRecordMitra, createRecordsBatchMitra, deleteRecordMitra, executeDbActionMitra, executeServerFunctionMitra, getConfig, getRecordMitra, isConfigured, listRecordsMitra, patchRecordMitra, runQueryMitra, setFileStatusMitra, setVariableMitra, updateRecordMitra };
|
|
167
|
+
export { type CreateRecordOptions, type CreateRecordsBatchOptions, type DeleteRecordOptions, type ExecuteDbActionOptions, type ExecuteServerFunctionOptions, type GetRecordOptions, type ListRecordsOptions, type MitraConfig, type PatchRecordOptions, type RunQueryOptions, type SetFileStatusOptions, type SetVariableOptions, type StopServerFunctionExecutionOptions, type UpdateRecordOptions, clearConfig, configureSdkMitra, createRecordMitra, createRecordsBatchMitra, deleteRecordMitra, executeDbActionMitra, executeServerFunctionMitra, getConfig, getRecordMitra, isConfigured, listRecordsMitra, patchRecordMitra, runQueryMitra, setFileStatusMitra, setVariableMitra, stopServerFunctionExecutionMitra, updateRecordMitra };
|
package/dist/index.d.ts
CHANGED
|
@@ -75,38 +75,51 @@ interface ListRecordsOptions {
|
|
|
75
75
|
page?: number;
|
|
76
76
|
size?: number;
|
|
77
77
|
filters?: Record<string, unknown>;
|
|
78
|
+
jdbcConnectionConfigId?: number;
|
|
78
79
|
}
|
|
79
80
|
interface GetRecordOptions {
|
|
80
81
|
projectId: number;
|
|
81
82
|
tableName: string;
|
|
82
83
|
id: number;
|
|
84
|
+
jdbcConnectionConfigId?: number;
|
|
83
85
|
}
|
|
84
86
|
interface CreateRecordOptions {
|
|
85
87
|
projectId: number;
|
|
86
88
|
tableName: string;
|
|
87
89
|
data: Record<string, unknown>;
|
|
90
|
+
jdbcConnectionConfigId?: number;
|
|
88
91
|
}
|
|
89
92
|
interface UpdateRecordOptions {
|
|
90
93
|
projectId: number;
|
|
91
94
|
tableName: string;
|
|
92
95
|
id: number;
|
|
93
96
|
data: Record<string, unknown>;
|
|
97
|
+
jdbcConnectionConfigId?: number;
|
|
94
98
|
}
|
|
95
99
|
interface PatchRecordOptions {
|
|
96
100
|
projectId: number;
|
|
97
101
|
tableName: string;
|
|
98
102
|
id: number;
|
|
99
103
|
data: Record<string, unknown>;
|
|
104
|
+
jdbcConnectionConfigId?: number;
|
|
100
105
|
}
|
|
101
106
|
interface DeleteRecordOptions {
|
|
102
107
|
projectId: number;
|
|
103
108
|
tableName: string;
|
|
104
109
|
id: number;
|
|
110
|
+
jdbcConnectionConfigId?: number;
|
|
105
111
|
}
|
|
106
112
|
interface CreateRecordsBatchOptions {
|
|
107
113
|
projectId: number;
|
|
108
114
|
tableName: string;
|
|
109
115
|
records: Record<string, unknown>[];
|
|
116
|
+
jdbcConnectionConfigId?: number;
|
|
117
|
+
}
|
|
118
|
+
interface StopServerFunctionExecutionOptions {
|
|
119
|
+
/** ID do projeto */
|
|
120
|
+
projectId: number;
|
|
121
|
+
/** ID da execução a ser parada */
|
|
122
|
+
executionId: string;
|
|
110
123
|
}
|
|
111
124
|
|
|
112
125
|
/**
|
|
@@ -138,6 +151,11 @@ declare function setVariableMitra(options: SetVariableOptions): Promise<unknown>
|
|
|
138
151
|
* Executa uma Server Function cadastrada
|
|
139
152
|
*/
|
|
140
153
|
declare function executeServerFunctionMitra(options: ExecuteServerFunctionOptions): Promise<unknown>;
|
|
154
|
+
/**
|
|
155
|
+
* POST /agentAiShortcut/stopServerFunctionExecution
|
|
156
|
+
* Para a execução de uma Server Function em andamento
|
|
157
|
+
*/
|
|
158
|
+
declare function stopServerFunctionExecutionMitra(options: StopServerFunctionExecutionOptions): Promise<unknown>;
|
|
141
159
|
declare function listRecordsMitra(options: ListRecordsOptions): Promise<unknown>;
|
|
142
160
|
declare function getRecordMitra(options: GetRecordOptions): Promise<unknown>;
|
|
143
161
|
declare function createRecordMitra(options: CreateRecordOptions): Promise<unknown>;
|
|
@@ -146,4 +164,4 @@ declare function patchRecordMitra(options: PatchRecordOptions): Promise<unknown>
|
|
|
146
164
|
declare function deleteRecordMitra(options: DeleteRecordOptions): Promise<unknown>;
|
|
147
165
|
declare function createRecordsBatchMitra(options: CreateRecordsBatchOptions): Promise<unknown>;
|
|
148
166
|
|
|
149
|
-
export { type CreateRecordOptions, type CreateRecordsBatchOptions, type DeleteRecordOptions, type ExecuteDbActionOptions, type ExecuteServerFunctionOptions, type GetRecordOptions, type ListRecordsOptions, type MitraConfig, type PatchRecordOptions, type RunQueryOptions, type SetFileStatusOptions, type SetVariableOptions, type UpdateRecordOptions, clearConfig, configureSdkMitra, createRecordMitra, createRecordsBatchMitra, deleteRecordMitra, executeDbActionMitra, executeServerFunctionMitra, getConfig, getRecordMitra, isConfigured, listRecordsMitra, patchRecordMitra, runQueryMitra, setFileStatusMitra, setVariableMitra, updateRecordMitra };
|
|
167
|
+
export { type CreateRecordOptions, type CreateRecordsBatchOptions, type DeleteRecordOptions, type ExecuteDbActionOptions, type ExecuteServerFunctionOptions, type GetRecordOptions, type ListRecordsOptions, type MitraConfig, type PatchRecordOptions, type RunQueryOptions, type SetFileStatusOptions, type SetVariableOptions, type StopServerFunctionExecutionOptions, type UpdateRecordOptions, clearConfig, configureSdkMitra, createRecordMitra, createRecordsBatchMitra, deleteRecordMitra, executeDbActionMitra, executeServerFunctionMitra, getConfig, getRecordMitra, isConfigured, listRecordsMitra, patchRecordMitra, runQueryMitra, setFileStatusMitra, setVariableMitra, stopServerFunctionExecutionMitra, updateRecordMitra };
|
package/dist/index.js
CHANGED
|
@@ -121,17 +121,17 @@ var httpTenant = {
|
|
|
121
121
|
get(endpoint, tenantId, params) {
|
|
122
122
|
return requestWithTenant("GET", endpoint, tenantId, { params });
|
|
123
123
|
},
|
|
124
|
-
post(endpoint, tenantId, body) {
|
|
125
|
-
return requestWithTenant("POST", endpoint, tenantId, { body });
|
|
124
|
+
post(endpoint, tenantId, body, params) {
|
|
125
|
+
return requestWithTenant("POST", endpoint, tenantId, { body, params });
|
|
126
126
|
},
|
|
127
|
-
put(endpoint, tenantId, body) {
|
|
128
|
-
return requestWithTenant("PUT", endpoint, tenantId, { body });
|
|
127
|
+
put(endpoint, tenantId, body, params) {
|
|
128
|
+
return requestWithTenant("PUT", endpoint, tenantId, { body, params });
|
|
129
129
|
},
|
|
130
|
-
patch(endpoint, tenantId, body) {
|
|
131
|
-
return requestWithTenant("PATCH", endpoint, tenantId, { body });
|
|
130
|
+
patch(endpoint, tenantId, body, params) {
|
|
131
|
+
return requestWithTenant("PATCH", endpoint, tenantId, { body, params });
|
|
132
132
|
},
|
|
133
|
-
del(endpoint, tenantId) {
|
|
134
|
-
return requestWithTenant("DELETE", endpoint, tenantId);
|
|
133
|
+
del(endpoint, tenantId, params) {
|
|
134
|
+
return requestWithTenant("DELETE", endpoint, tenantId, { params });
|
|
135
135
|
}
|
|
136
136
|
};
|
|
137
137
|
|
|
@@ -183,33 +183,39 @@ async function executeServerFunctionMitra(options) {
|
|
|
183
183
|
}
|
|
184
184
|
return http.post("/agentAiShortcut/executeServerFunction", body);
|
|
185
185
|
}
|
|
186
|
+
async function stopServerFunctionExecutionMitra(options) {
|
|
187
|
+
return http.post("/agentAiShortcut/stopServerFunctionExecution", {
|
|
188
|
+
projectId: options.projectId,
|
|
189
|
+
executionId: options.executionId
|
|
190
|
+
});
|
|
191
|
+
}
|
|
186
192
|
async function listRecordsMitra(options) {
|
|
187
|
-
const { tableName, projectId, page, size, filters } = options;
|
|
188
|
-
return httpTenant.get(`/api/v1/data/${tableName}`, projectId, { page, size, ...filters });
|
|
193
|
+
const { tableName, projectId, page, size, filters, jdbcConnectionConfigId } = options;
|
|
194
|
+
return httpTenant.get(`/api/v1/data/${tableName}`, projectId, { page, size, jdbcConnectionConfigId, ...filters });
|
|
189
195
|
}
|
|
190
196
|
async function getRecordMitra(options) {
|
|
191
|
-
const { tableName, id, projectId } = options;
|
|
192
|
-
return httpTenant.get(`/api/v1/data/${tableName}/${id}`, projectId);
|
|
197
|
+
const { tableName, id, projectId, jdbcConnectionConfigId } = options;
|
|
198
|
+
return httpTenant.get(`/api/v1/data/${tableName}/${id}`, projectId, { jdbcConnectionConfigId });
|
|
193
199
|
}
|
|
194
200
|
async function createRecordMitra(options) {
|
|
195
|
-
const { tableName, projectId, data } = options;
|
|
196
|
-
return httpTenant.post(`/api/v1/data/${tableName}`, projectId, data);
|
|
201
|
+
const { tableName, projectId, data, jdbcConnectionConfigId } = options;
|
|
202
|
+
return httpTenant.post(`/api/v1/data/${tableName}`, projectId, data, { jdbcConnectionConfigId });
|
|
197
203
|
}
|
|
198
204
|
async function updateRecordMitra(options) {
|
|
199
|
-
const { tableName, id, projectId, data } = options;
|
|
200
|
-
return httpTenant.put(`/api/v1/data/${tableName}/${id}`, projectId, data);
|
|
205
|
+
const { tableName, id, projectId, data, jdbcConnectionConfigId } = options;
|
|
206
|
+
return httpTenant.put(`/api/v1/data/${tableName}/${id}`, projectId, data, { jdbcConnectionConfigId });
|
|
201
207
|
}
|
|
202
208
|
async function patchRecordMitra(options) {
|
|
203
|
-
const { tableName, id, projectId, data } = options;
|
|
204
|
-
return httpTenant.patch(`/api/v1/data/${tableName}/${id}`, projectId, data);
|
|
209
|
+
const { tableName, id, projectId, data, jdbcConnectionConfigId } = options;
|
|
210
|
+
return httpTenant.patch(`/api/v1/data/${tableName}/${id}`, projectId, data, { jdbcConnectionConfigId });
|
|
205
211
|
}
|
|
206
212
|
async function deleteRecordMitra(options) {
|
|
207
|
-
const { tableName, id, projectId } = options;
|
|
208
|
-
return httpTenant.del(`/api/v1/data/${tableName}/${id}`, projectId);
|
|
213
|
+
const { tableName, id, projectId, jdbcConnectionConfigId } = options;
|
|
214
|
+
return httpTenant.del(`/api/v1/data/${tableName}/${id}`, projectId, { jdbcConnectionConfigId });
|
|
209
215
|
}
|
|
210
216
|
async function createRecordsBatchMitra(options) {
|
|
211
|
-
const { tableName, projectId, records } = options;
|
|
212
|
-
return httpTenant.post(`/api/v1/data/${tableName}/batch`, projectId, records);
|
|
217
|
+
const { tableName, projectId, records, jdbcConnectionConfigId } = options;
|
|
218
|
+
return httpTenant.post(`/api/v1/data/${tableName}/batch`, projectId, records, { jdbcConnectionConfigId });
|
|
213
219
|
}
|
|
214
220
|
|
|
215
221
|
exports.clearConfig = clearConfig;
|
|
@@ -227,6 +233,7 @@ exports.patchRecordMitra = patchRecordMitra;
|
|
|
227
233
|
exports.runQueryMitra = runQueryMitra;
|
|
228
234
|
exports.setFileStatusMitra = setFileStatusMitra;
|
|
229
235
|
exports.setVariableMitra = setVariableMitra;
|
|
236
|
+
exports.stopServerFunctionExecutionMitra = stopServerFunctionExecutionMitra;
|
|
230
237
|
exports.updateRecordMitra = updateRecordMitra;
|
|
231
238
|
//# sourceMappingURL=index.js.map
|
|
232
239
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/config.ts","../src/client.ts","../src/services.ts"],"names":[],"mappings":";;;AAaA,IAAI,YAAA,GAAmC,IAAA;AAKhC,SAAS,kBAAkB,MAAA,EAA2B;AAlB7D,EAAA,IAAA,EAAA;AAmBE,EAAA,IAAI,CAAC,OAAO,OAAA,EAAS;AACnB,IAAA,MAAM,IAAI,MAAM,6BAAuB,CAAA;AAAA,EACzC;AACA,EAAA,IAAI,CAAC,OAAO,KAAA,EAAO;AACjB,IAAA,MAAM,IAAI,MAAM,2BAAqB,CAAA;AAAA,EACvC;AAEA,EAAA,YAAA,GAAe;AAAA,IACb,GAAG,MAAA;AAAA,IACH,OAAA,EAAS,MAAA,CAAO,OAAA,CAAQ,OAAA,CAAQ,QAAQ,EAAE,CAAA;AAAA,IAC1C,OAAA,EAAA,CAAS,EAAA,GAAA,MAAA,CAAO,OAAA,KAAP,IAAA,GAAA,EAAA,GAAkB;AAAA,GAC7B;AACF;AAKO,SAAS,SAAA,GAAyB;AACvC,EAAA,IAAI,CAAC,YAAA,EAAc;AACjB,IAAA,MAAM,IAAI,MAAM,6DAA0D,CAAA;AAAA,EAC5E;AACA,EAAA,OAAO,YAAA;AACT;AAKO,SAAS,YAAA,GAAwB;AACtC,EAAA,OAAO,YAAA,KAAiB,IAAA;AAC1B;AAKO,SAAS,WAAA,GAAoB;AAClC,EAAA,YAAA,GAAe,IAAA;AACjB;;;AC9CA,SAAS,QAAA,GAAyB;AAChC,EAAA,IAAI,OAAO,UAAA,CAAW,KAAA,KAAU,UAAA,EAAY;AAC1C,IAAA,OAAO,UAAA,CAAW,KAAA;AAAA,EACpB;AACA,EAAA,MAAM,IAAI,MAAM,oEAA8D,CAAA;AAChF;AAKA,SAAS,YAAY,KAAA,EAAuB;AAC1C,EAAA,OAAO,MAAM,UAAA,CAAW,SAAS,CAAA,GAAI,KAAA,GAAQ,UAAU,KAAK,CAAA,CAAA;AAC9D;AAKA,SAAS,YAAA,GAAuC;AAC9C,EAAA,MAAM,SAAS,SAAA,EAAU;AACzB,EAAA,OAAO;AAAA,IACL,eAAA,EAAiB,WAAA,CAAY,MAAA,CAAO,KAAK,CAAA;AAAA,IACzC,cAAA,EAAgB;AAAA,GAClB;AACF;AAKA,SAAS,QAAA,CAAS,UAAkB,MAAA,EAA0C;AAC5E,EAAA,MAAM,SAAS,SAAA,EAAU;AACzB,EAAA,IAAI,GAAA,GAAM,CAAA,EAAG,MAAA,CAAO,OAAO,GAAG,QAAQ,CAAA,CAAA;AACtC,EAAA,IAAI,MAAA,EAAQ;AACV,IAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,OAAA,CAAQ,MAAM,EAChC,MAAA,CAAO,CAAC,GAAG,CAAC,CAAA,KAAM,CAAA,KAAM,MAAA,IAAa,CAAA,KAAM,IAAI,CAAA,CAC/C,GAAA,CAAI,CAAC,CAAC,GAAG,CAAC,CAAA,KAAM,CAAA,EAAG,kBAAA,CAAmB,CAAC,CAAC,CAAA,CAAA,EAAI,kBAAA,CAAmB,MAAA,CAAO,CAAC,CAAC,CAAC,CAAA,CAAE,CAAA,CAC3E,KAAK,GAAG,CAAA;AACX,IAAA,IAAI,KAAA,EAAO,GAAA,IAAO,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA;AAAA,EAC7B;AACA,EAAA,OAAO,GAAA;AACT;AAKO,IAAM,IAAA,GAAO;AAAA,EAClB,MAAM,IAAA,CAAQ,QAAA,EAAkB,IAAA,EAA4B;AAtD9D,IAAA,IAAA,EAAA;AAuDI,IAAA,MAAM,UAAU,QAAA,EAAS;AACzB,IAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,IAAA,MAAM,UAAA,GAAa,IAAI,eAAA,EAAgB;AACvC,IAAA,MAAM,OAAA,GAAA,CAAU,EAAA,GAAA,MAAA,CAAO,OAAA,KAAP,IAAA,GAAA,EAAA,GAAkB,GAAA;AAClC,IAAA,MAAM,YAAY,UAAA,CAAW,MAAM,UAAA,CAAW,KAAA,IAAS,OAAO,CAAA;AAE9D,IAAA,IAAI;AACF,MAAA,MAAM,QAAA,GAAW,MAAM,OAAA,CAAQ,QAAA,CAAS,QAAQ,CAAA,EAAG;AAAA,QACjD,MAAA,EAAQ,MAAA;AAAA,QACR,SAAS,YAAA,EAAa;AAAA,QACtB,MAAM,IAAA,KAAS,KAAA,CAAA,GAAY,IAAA,CAAK,SAAA,CAAU,IAAI,CAAA,GAAI,KAAA,CAAA;AAAA,QAClD,QAAQ,UAAA,CAAW;AAAA,OACpB,CAAA;AAED,MAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,IAAA,EAAK;AACjC,MAAA,MAAM,IAAA,GAAO,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,IAAI,CAAA,GAAI,IAAA;AAEvC,MAAA,IAAI,CAAC,SAAS,EAAA,EAAI;AAChB,QAAA,MAAM;AAAA,UACJ,UAAS,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,OAAA,MAAW,6BAAM,KAAA,CAAA,IAAS,CAAA,KAAA,EAAQ,SAAS,MAAM,CAAA,CAAA;AAAA,UAChE,QAAQ,QAAA,CAAS,MAAA;AAAA,UACjB,OAAA,EAAS;AAAA,SACX;AAAA,MACF;AAEA,MAAA,OAAO,IAAA;AAAA,IACT,CAAA,SAAE;AACA,MAAA,YAAA,CAAa,SAAS,CAAA;AAAA,IACxB;AAAA,EACF;AACF,CAAA;AAGA,eAAe,iBAAA,CACb,MAAA,EACA,QAAA,EACA,QAAA,EACA,OAAA,EACY;AA9Fd,EAAA,IAAA,EAAA;AA+FE,EAAA,MAAM,UAAU,QAAA,EAAS;AACzB,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,MAAM,UAAA,GAAa,IAAI,eAAA,EAAgB;AACvC,EAAA,MAAM,OAAA,GAAA,CAAU,EAAA,GAAA,MAAA,CAAO,OAAA,KAAP,IAAA,GAAA,EAAA,GAAkB,GAAA;AAClC,EAAA,MAAM,YAAY,UAAA,CAAW,MAAM,UAAA,CAAW,KAAA,IAAS,OAAO,CAAA;AAE9D,EAAA,IAAI;AACF,IAAA,MAAM,OAAA,GAAU;AAAA,MACd,GAAG,YAAA,EAAa;AAAA,MAChB,YAAA,EAAc,OAAO,QAAQ;AAAA,KAC/B;AAEA,IAAA,MAAM,WAAW,MAAM,OAAA,CAAQ,SAAS,QAAA,EAAU,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,MAAM,CAAA,EAAG;AAAA,MAClE,MAAA;AAAA,MACA,OAAA;AAAA,MACA,IAAA,EAAA,CAAM,mCAAS,IAAA,MAAS,KAAA,CAAA,GAAY,KAAK,SAAA,CAAU,OAAA,CAAQ,IAAI,CAAA,GAAI,KAAA,CAAA;AAAA,MACnE,QAAQ,UAAA,CAAW;AAAA,KACpB,CAAA;AAED,IAAA,MAAM,IAAA,GAAO,MAAM,QAAA,CAAS,IAAA,EAAK;AACjC,IAAA,MAAM,IAAA,GAAO,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,IAAI,CAAA,GAAI,IAAA;AAEvC,IAAA,IAAI,CAAC,SAAS,EAAA,EAAI;AAChB,MAAA,MAAM;AAAA,QACJ,UAAS,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,OAAA,MAAW,6BAAM,KAAA,CAAA,IAAS,CAAA,KAAA,EAAQ,SAAS,MAAM,CAAA,CAAA;AAAA,QAChE,QAAQ,QAAA,CAAS,MAAA;AAAA,QACjB,OAAA,EAAS;AAAA,OACX;AAAA,IACF;AAEA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA,SAAE;AACA,IAAA,YAAA,CAAa,SAAS,CAAA;AAAA,EACxB;AACF;AAEO,IAAM,UAAA,GAAa;AAAA,EACxB,GAAA,CAAO,QAAA,EAAkB,QAAA,EAAkB,MAAA,EAA8C;AACvF,IAAA,OAAO,kBAAkB,KAAA,EAAO,QAAA,EAAU,QAAA,EAAU,EAAE,QAAQ,CAAA;AAAA,EAChE,CAAA;AAAA,EACA,IAAA,CAAQ,QAAA,EAAkB,QAAA,EAAkB,IAAA,EAA4B;AACtE,IAAA,OAAO,kBAAkB,MAAA,EAAQ,QAAA,EAAU,QAAA,EAAU,EAAE,MAAM,CAAA;AAAA,EAC/D,CAAA;AAAA,EACA,GAAA,CAAO,QAAA,EAAkB,QAAA,EAAkB,IAAA,EAA4B;AACrE,IAAA,OAAO,kBAAkB,KAAA,EAAO,QAAA,EAAU,QAAA,EAAU,EAAE,MAAM,CAAA;AAAA,EAC9D,CAAA;AAAA,EACA,KAAA,CAAS,QAAA,EAAkB,QAAA,EAAkB,IAAA,EAA4B;AACvE,IAAA,OAAO,kBAAkB,OAAA,EAAS,QAAA,EAAU,QAAA,EAAU,EAAE,MAAM,CAAA;AAAA,EAChE,CAAA;AAAA,EACA,GAAA,CAAO,UAAkB,QAAA,EAA8B;AACrD,IAAA,OAAO,iBAAA,CAAkB,QAAA,EAAU,QAAA,EAAU,QAAQ,CAAA;AAAA,EACvD;AACF,CAAA;;;AC5HA,eAAsB,cAAc,OAAA,EAA4C;AAC9E,EAAA,MAAM,IAAA,GAAgC;AAAA,IACpC,WAAW,OAAA,CAAQ,SAAA;AAAA,IACnB,KAAK,OAAA,CAAQ;AAAA,GACf;AAEA,EAAA,IAAI,OAAA,CAAQ,WAAW,MAAA,EAAW;AAChC,IAAA,IAAA,CAAK,SAAS,OAAA,CAAQ,MAAA;AAAA,EACxB;AAEA,EAAA,OAAO,IAAA,CAAK,IAAA,CAAK,2BAAA,EAA6B,IAAI,CAAA;AACpD;AAMA,eAAsB,qBAAqB,OAAA,EAAmD;AAC5F,EAAA,MAAM,IAAA,GAAgC;AAAA,IACpC,WAAW,OAAA,CAAQ,SAAA;AAAA,IACnB,YAAY,OAAA,CAAQ;AAAA,GACtB;AAEA,EAAA,IAAI,OAAA,CAAQ,WAAW,MAAA,EAAW;AAChC,IAAA,IAAA,CAAK,SAAS,OAAA,CAAQ,MAAA;AAAA,EACxB;AAEA,EAAA,OAAO,IAAA,CAAK,IAAA,CAAK,kCAAA,EAAoC,IAAI,CAAA;AAC3D;AAMA,eAAsB,mBAAmB,OAAA,EAAiD;AACxF,EAAA,OAAO,IAAA,CAAK,KAAK,gCAAA,EAAkC;AAAA,IACjD,WAAW,OAAA,CAAQ,SAAA;AAAA,IACnB,UAAU,OAAA,CAAQ,QAAA;AAAA,IAClB,YAAY,OAAA,CAAQ;AAAA,GACrB,CAAA;AACH;AAMA,eAAsB,iBAAiB,OAAA,EAA+C;AACpF,EAAA,MAAM,IAAA,GAAgC;AAAA,IACpC,WAAW,OAAA,CAAQ,SAAA;AAAA,IACnB,KAAK,OAAA,CAAQ;AAAA,GACf;AAEA,EAAA,IAAI,OAAA,CAAQ,UAAU,MAAA,EAAW;AAC/B,IAAA,IAAA,CAAK,QAAQ,OAAA,CAAQ,KAAA;AAAA,EACvB;AAEA,EAAA,OAAO,IAAA,CAAK,IAAA,CAAK,8BAAA,EAAgC,IAAI,CAAA;AACvD;AAMA,eAAsB,2BAA2B,OAAA,EAAyD;AACxG,EAAA,MAAM,IAAA,GAAgC;AAAA,IACpC,WAAW,OAAA,CAAQ,SAAA;AAAA,IACnB,kBAAkB,OAAA,CAAQ;AAAA,GAC5B;AAEA,EAAA,IAAI,OAAA,CAAQ,WAAW,MAAA,EAAW;AAChC,IAAA,IAAA,CAAK,OAAO,OAAA,CAAQ,MAAA;AAAA,EACtB;AAEA,EAAA,OAAO,IAAA,CAAK,IAAA,CAAK,wCAAA,EAA0C,IAAI,CAAA;AACjE;AAIA,eAAsB,iBAAiB,OAAA,EAA+C;AACpF,EAAA,MAAM,EAAE,SAAA,EAAW,SAAA,EAAW,IAAA,EAAM,IAAA,EAAM,SAAQ,GAAI,OAAA;AACtD,EAAA,OAAO,UAAA,CAAW,GAAA,CAAI,CAAA,aAAA,EAAgB,SAAS,CAAA,CAAA,EAAI,SAAA,EAAW,EAAE,IAAA,EAAM,IAAA,EAAM,GAAG,OAAA,EAAS,CAAA;AAC1F;AAEA,eAAsB,eAAe,OAAA,EAA6C;AAChF,EAAA,MAAM,EAAE,SAAA,EAAW,EAAA,EAAI,SAAA,EAAU,GAAI,OAAA;AACrC,EAAA,OAAO,WAAW,GAAA,CAAI,CAAA,aAAA,EAAgB,SAAS,CAAA,CAAA,EAAI,EAAE,IAAI,SAAS,CAAA;AACpE;AAEA,eAAsB,kBAAkB,OAAA,EAAgD;AACtF,EAAA,MAAM,EAAE,SAAA,EAAW,SAAA,EAAW,IAAA,EAAK,GAAI,OAAA;AACvC,EAAA,OAAO,WAAW,IAAA,CAAK,CAAA,aAAA,EAAgB,SAAS,CAAA,CAAA,EAAI,WAAW,IAAI,CAAA;AACrE;AAEA,eAAsB,kBAAkB,OAAA,EAAgD;AACtF,EAAA,MAAM,EAAE,SAAA,EAAW,EAAA,EAAI,SAAA,EAAW,MAAK,GAAI,OAAA;AAC3C,EAAA,OAAO,UAAA,CAAW,IAAI,CAAA,aAAA,EAAgB,SAAS,IAAI,EAAE,CAAA,CAAA,EAAI,WAAW,IAAI,CAAA;AAC1E;AAEA,eAAsB,iBAAiB,OAAA,EAA+C;AACpF,EAAA,MAAM,EAAE,SAAA,EAAW,EAAA,EAAI,SAAA,EAAW,MAAK,GAAI,OAAA;AAC3C,EAAA,OAAO,UAAA,CAAW,MAAM,CAAA,aAAA,EAAgB,SAAS,IAAI,EAAE,CAAA,CAAA,EAAI,WAAW,IAAI,CAAA;AAC5E;AAEA,eAAsB,kBAAkB,OAAA,EAAgD;AACtF,EAAA,MAAM,EAAE,SAAA,EAAW,EAAA,EAAI,SAAA,EAAU,GAAI,OAAA;AACrC,EAAA,OAAO,WAAW,GAAA,CAAI,CAAA,aAAA,EAAgB,SAAS,CAAA,CAAA,EAAI,EAAE,IAAI,SAAS,CAAA;AACpE;AAEA,eAAsB,wBAAwB,OAAA,EAAsD;AAClG,EAAA,MAAM,EAAE,SAAA,EAAW,SAAA,EAAW,OAAA,EAAQ,GAAI,OAAA;AAC1C,EAAA,OAAO,WAAW,IAAA,CAAK,CAAA,aAAA,EAAgB,SAAS,CAAA,MAAA,CAAA,EAAU,WAAW,OAAO,CAAA;AAC9E","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 baseURL: config.baseURL.replace(/\\/+$/, ''),\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 com query params opcionais\n */\nfunction buildUrl(endpoint: string, params?: Record<string, unknown>): string {\n const config = getConfig();\n let url = `${config.baseURL}${endpoint}`;\n if (params) {\n const query = Object.entries(params)\n .filter(([, v]) => v !== undefined && v !== null)\n .map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(String(v))}`)\n .join('&');\n if (query) url += `?${query}`;\n }\n return url;\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 text = await response.text();\n const data = text ? JSON.parse(text) : null;\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// HTTP client para Dynamic Schema (usa X-TenantID header)\nasync function requestWithTenant<T>(\n method: string,\n endpoint: string,\n tenantId: number,\n options?: { params?: Record<string, unknown>; body?: unknown }\n): 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 headers = {\n ...buildHeaders(),\n 'X-TenantID': String(tenantId)\n };\n\n const response = await fetchFn(buildUrl(endpoint, options?.params), {\n method,\n headers,\n body: options?.body !== undefined ? JSON.stringify(options.body) : undefined,\n signal: controller.signal\n });\n\n const text = await response.text();\n const data = text ? JSON.parse(text) : null;\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\nexport const httpTenant = {\n get<T>(endpoint: string, tenantId: number, params?: Record<string, unknown>): Promise<T> {\n return requestWithTenant('GET', endpoint, tenantId, { params });\n },\n post<T>(endpoint: string, tenantId: number, body?: unknown): Promise<T> {\n return requestWithTenant('POST', endpoint, tenantId, { body });\n },\n put<T>(endpoint: string, tenantId: number, body?: unknown): Promise<T> {\n return requestWithTenant('PUT', endpoint, tenantId, { body });\n },\n patch<T>(endpoint: string, tenantId: number, body?: unknown): Promise<T> {\n return requestWithTenant('PATCH', endpoint, tenantId, { body });\n },\n del<T>(endpoint: string, tenantId: number): Promise<T> {\n return requestWithTenant('DELETE', endpoint, tenantId);\n }\n};\n","/**\n * Mitra Interactions SDK - Services\n */\n\nimport { http, httpTenant } from './client';\nimport type {\n RunQueryOptions,\n ExecuteDbActionOptions,\n SetFileStatusOptions,\n SetVariableOptions,\n ExecuteServerFunctionOptions,\n ListRecordsOptions,\n GetRecordOptions,\n CreateRecordOptions,\n UpdateRecordOptions,\n PatchRecordOptions,\n DeleteRecordOptions,\n CreateRecordsBatchOptions\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/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\n// === Dynamic Schema CRUD ===\n\nexport async function listRecordsMitra(options: ListRecordsOptions): Promise<unknown> {\n const { tableName, projectId, page, size, filters } = options;\n return httpTenant.get(`/api/v1/data/${tableName}`, projectId, { page, size, ...filters });\n}\n\nexport async function getRecordMitra(options: GetRecordOptions): Promise<unknown> {\n const { tableName, id, projectId } = options;\n return httpTenant.get(`/api/v1/data/${tableName}/${id}`, projectId);\n}\n\nexport async function createRecordMitra(options: CreateRecordOptions): Promise<unknown> {\n const { tableName, projectId, data } = options;\n return httpTenant.post(`/api/v1/data/${tableName}`, projectId, data);\n}\n\nexport async function updateRecordMitra(options: UpdateRecordOptions): Promise<unknown> {\n const { tableName, id, projectId, data } = options;\n return httpTenant.put(`/api/v1/data/${tableName}/${id}`, projectId, data);\n}\n\nexport async function patchRecordMitra(options: PatchRecordOptions): Promise<unknown> {\n const { tableName, id, projectId, data } = options;\n return httpTenant.patch(`/api/v1/data/${tableName}/${id}`, projectId, data);\n}\n\nexport async function deleteRecordMitra(options: DeleteRecordOptions): Promise<unknown> {\n const { tableName, id, projectId } = options;\n return httpTenant.del(`/api/v1/data/${tableName}/${id}`, projectId);\n}\n\nexport async function createRecordsBatchMitra(options: CreateRecordsBatchOptions): Promise<unknown> {\n const { tableName, projectId, records } = options;\n return httpTenant.post(`/api/v1/data/${tableName}/batch`, projectId, records);\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 baseURL: config.baseURL.replace(/\\/+$/, ''),\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 com query params opcionais\n */\nfunction buildUrl(endpoint: string, params?: Record<string, unknown>): string {\n const config = getConfig();\n let url = `${config.baseURL}${endpoint}`;\n if (params) {\n const query = Object.entries(params)\n .filter(([, v]) => v !== undefined && v !== null)\n .map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(String(v))}`)\n .join('&');\n if (query) url += `?${query}`;\n }\n return url;\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 text = await response.text();\n const data = text ? JSON.parse(text) : null;\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// HTTP client para Dynamic Schema (usa X-TenantID header)\nasync function requestWithTenant<T>(\n method: string,\n endpoint: string,\n tenantId: number,\n options?: { params?: Record<string, unknown>; body?: unknown }\n): 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 headers = {\n ...buildHeaders(),\n 'X-TenantID': String(tenantId)\n };\n\n const response = await fetchFn(buildUrl(endpoint, options?.params), {\n method,\n headers,\n body: options?.body !== undefined ? JSON.stringify(options.body) : undefined,\n signal: controller.signal\n });\n\n const text = await response.text();\n const data = text ? JSON.parse(text) : null;\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\nexport const httpTenant = {\n get<T>(endpoint: string, tenantId: number, params?: Record<string, unknown>): Promise<T> {\n return requestWithTenant('GET', endpoint, tenantId, { params });\n },\n post<T>(endpoint: string, tenantId: number, body?: unknown, params?: Record<string, unknown>): Promise<T> {\n return requestWithTenant('POST', endpoint, tenantId, { body, params });\n },\n put<T>(endpoint: string, tenantId: number, body?: unknown, params?: Record<string, unknown>): Promise<T> {\n return requestWithTenant('PUT', endpoint, tenantId, { body, params });\n },\n patch<T>(endpoint: string, tenantId: number, body?: unknown, params?: Record<string, unknown>): Promise<T> {\n return requestWithTenant('PATCH', endpoint, tenantId, { body, params });\n },\n del<T>(endpoint: string, tenantId: number, params?: Record<string, unknown>): Promise<T> {\n return requestWithTenant('DELETE', endpoint, tenantId, { params });\n }\n};\n","/**\n * Mitra Interactions SDK - Services\n */\n\nimport { http, httpTenant } from './client';\nimport type {\n RunQueryOptions,\n ExecuteDbActionOptions,\n SetFileStatusOptions,\n SetVariableOptions,\n ExecuteServerFunctionOptions,\n StopServerFunctionExecutionOptions,\n ListRecordsOptions,\n GetRecordOptions,\n CreateRecordOptions,\n UpdateRecordOptions,\n PatchRecordOptions,\n DeleteRecordOptions,\n CreateRecordsBatchOptions\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/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\n/**\n * POST /agentAiShortcut/stopServerFunctionExecution\n * Para a execução de uma Server Function em andamento\n */\nexport async function stopServerFunctionExecutionMitra(options: StopServerFunctionExecutionOptions): Promise<unknown> {\n return http.post('/agentAiShortcut/stopServerFunctionExecution', {\n projectId: options.projectId,\n executionId: options.executionId\n });\n}\n\n// === Dynamic Schema CRUD ===\n\nexport async function listRecordsMitra(options: ListRecordsOptions): Promise<unknown> {\n const { tableName, projectId, page, size, filters, jdbcConnectionConfigId } = options;\n return httpTenant.get(`/api/v1/data/${tableName}`, projectId, { page, size, jdbcConnectionConfigId, ...filters });\n}\n\nexport async function getRecordMitra(options: GetRecordOptions): Promise<unknown> {\n const { tableName, id, projectId, jdbcConnectionConfigId } = options;\n return httpTenant.get(`/api/v1/data/${tableName}/${id}`, projectId, { jdbcConnectionConfigId });\n}\n\nexport async function createRecordMitra(options: CreateRecordOptions): Promise<unknown> {\n const { tableName, projectId, data, jdbcConnectionConfigId } = options;\n return httpTenant.post(`/api/v1/data/${tableName}`, projectId, data, { jdbcConnectionConfigId });\n}\n\nexport async function updateRecordMitra(options: UpdateRecordOptions): Promise<unknown> {\n const { tableName, id, projectId, data, jdbcConnectionConfigId } = options;\n return httpTenant.put(`/api/v1/data/${tableName}/${id}`, projectId, data, { jdbcConnectionConfigId });\n}\n\nexport async function patchRecordMitra(options: PatchRecordOptions): Promise<unknown> {\n const { tableName, id, projectId, data, jdbcConnectionConfigId } = options;\n return httpTenant.patch(`/api/v1/data/${tableName}/${id}`, projectId, data, { jdbcConnectionConfigId });\n}\n\nexport async function deleteRecordMitra(options: DeleteRecordOptions): Promise<unknown> {\n const { tableName, id, projectId, jdbcConnectionConfigId } = options;\n return httpTenant.del(`/api/v1/data/${tableName}/${id}`, projectId, { jdbcConnectionConfigId });\n}\n\nexport async function createRecordsBatchMitra(options: CreateRecordsBatchOptions): Promise<unknown> {\n const { tableName, projectId, records, jdbcConnectionConfigId } = options;\n return httpTenant.post(`/api/v1/data/${tableName}/batch`, projectId, records, { jdbcConnectionConfigId });\n}\n"]}
|
package/dist/index.mjs
CHANGED
|
@@ -119,17 +119,17 @@ var httpTenant = {
|
|
|
119
119
|
get(endpoint, tenantId, params) {
|
|
120
120
|
return requestWithTenant("GET", endpoint, tenantId, { params });
|
|
121
121
|
},
|
|
122
|
-
post(endpoint, tenantId, body) {
|
|
123
|
-
return requestWithTenant("POST", endpoint, tenantId, { body });
|
|
122
|
+
post(endpoint, tenantId, body, params) {
|
|
123
|
+
return requestWithTenant("POST", endpoint, tenantId, { body, params });
|
|
124
124
|
},
|
|
125
|
-
put(endpoint, tenantId, body) {
|
|
126
|
-
return requestWithTenant("PUT", endpoint, tenantId, { body });
|
|
125
|
+
put(endpoint, tenantId, body, params) {
|
|
126
|
+
return requestWithTenant("PUT", endpoint, tenantId, { body, params });
|
|
127
127
|
},
|
|
128
|
-
patch(endpoint, tenantId, body) {
|
|
129
|
-
return requestWithTenant("PATCH", endpoint, tenantId, { body });
|
|
128
|
+
patch(endpoint, tenantId, body, params) {
|
|
129
|
+
return requestWithTenant("PATCH", endpoint, tenantId, { body, params });
|
|
130
130
|
},
|
|
131
|
-
del(endpoint, tenantId) {
|
|
132
|
-
return requestWithTenant("DELETE", endpoint, tenantId);
|
|
131
|
+
del(endpoint, tenantId, params) {
|
|
132
|
+
return requestWithTenant("DELETE", endpoint, tenantId, { params });
|
|
133
133
|
}
|
|
134
134
|
};
|
|
135
135
|
|
|
@@ -181,35 +181,41 @@ async function executeServerFunctionMitra(options) {
|
|
|
181
181
|
}
|
|
182
182
|
return http.post("/agentAiShortcut/executeServerFunction", body);
|
|
183
183
|
}
|
|
184
|
+
async function stopServerFunctionExecutionMitra(options) {
|
|
185
|
+
return http.post("/agentAiShortcut/stopServerFunctionExecution", {
|
|
186
|
+
projectId: options.projectId,
|
|
187
|
+
executionId: options.executionId
|
|
188
|
+
});
|
|
189
|
+
}
|
|
184
190
|
async function listRecordsMitra(options) {
|
|
185
|
-
const { tableName, projectId, page, size, filters } = options;
|
|
186
|
-
return httpTenant.get(`/api/v1/data/${tableName}`, projectId, { page, size, ...filters });
|
|
191
|
+
const { tableName, projectId, page, size, filters, jdbcConnectionConfigId } = options;
|
|
192
|
+
return httpTenant.get(`/api/v1/data/${tableName}`, projectId, { page, size, jdbcConnectionConfigId, ...filters });
|
|
187
193
|
}
|
|
188
194
|
async function getRecordMitra(options) {
|
|
189
|
-
const { tableName, id, projectId } = options;
|
|
190
|
-
return httpTenant.get(`/api/v1/data/${tableName}/${id}`, projectId);
|
|
195
|
+
const { tableName, id, projectId, jdbcConnectionConfigId } = options;
|
|
196
|
+
return httpTenant.get(`/api/v1/data/${tableName}/${id}`, projectId, { jdbcConnectionConfigId });
|
|
191
197
|
}
|
|
192
198
|
async function createRecordMitra(options) {
|
|
193
|
-
const { tableName, projectId, data } = options;
|
|
194
|
-
return httpTenant.post(`/api/v1/data/${tableName}`, projectId, data);
|
|
199
|
+
const { tableName, projectId, data, jdbcConnectionConfigId } = options;
|
|
200
|
+
return httpTenant.post(`/api/v1/data/${tableName}`, projectId, data, { jdbcConnectionConfigId });
|
|
195
201
|
}
|
|
196
202
|
async function updateRecordMitra(options) {
|
|
197
|
-
const { tableName, id, projectId, data } = options;
|
|
198
|
-
return httpTenant.put(`/api/v1/data/${tableName}/${id}`, projectId, data);
|
|
203
|
+
const { tableName, id, projectId, data, jdbcConnectionConfigId } = options;
|
|
204
|
+
return httpTenant.put(`/api/v1/data/${tableName}/${id}`, projectId, data, { jdbcConnectionConfigId });
|
|
199
205
|
}
|
|
200
206
|
async function patchRecordMitra(options) {
|
|
201
|
-
const { tableName, id, projectId, data } = options;
|
|
202
|
-
return httpTenant.patch(`/api/v1/data/${tableName}/${id}`, projectId, data);
|
|
207
|
+
const { tableName, id, projectId, data, jdbcConnectionConfigId } = options;
|
|
208
|
+
return httpTenant.patch(`/api/v1/data/${tableName}/${id}`, projectId, data, { jdbcConnectionConfigId });
|
|
203
209
|
}
|
|
204
210
|
async function deleteRecordMitra(options) {
|
|
205
|
-
const { tableName, id, projectId } = options;
|
|
206
|
-
return httpTenant.del(`/api/v1/data/${tableName}/${id}`, projectId);
|
|
211
|
+
const { tableName, id, projectId, jdbcConnectionConfigId } = options;
|
|
212
|
+
return httpTenant.del(`/api/v1/data/${tableName}/${id}`, projectId, { jdbcConnectionConfigId });
|
|
207
213
|
}
|
|
208
214
|
async function createRecordsBatchMitra(options) {
|
|
209
|
-
const { tableName, projectId, records } = options;
|
|
210
|
-
return httpTenant.post(`/api/v1/data/${tableName}/batch`, projectId, records);
|
|
215
|
+
const { tableName, projectId, records, jdbcConnectionConfigId } = options;
|
|
216
|
+
return httpTenant.post(`/api/v1/data/${tableName}/batch`, projectId, records, { jdbcConnectionConfigId });
|
|
211
217
|
}
|
|
212
218
|
|
|
213
|
-
export { clearConfig, configureSdkMitra, createRecordMitra, createRecordsBatchMitra, deleteRecordMitra, executeDbActionMitra, executeServerFunctionMitra, getConfig, getRecordMitra, isConfigured, listRecordsMitra, patchRecordMitra, runQueryMitra, setFileStatusMitra, setVariableMitra, updateRecordMitra };
|
|
219
|
+
export { clearConfig, configureSdkMitra, createRecordMitra, createRecordsBatchMitra, deleteRecordMitra, executeDbActionMitra, executeServerFunctionMitra, getConfig, getRecordMitra, isConfigured, listRecordsMitra, patchRecordMitra, runQueryMitra, setFileStatusMitra, setVariableMitra, stopServerFunctionExecutionMitra, updateRecordMitra };
|
|
214
220
|
//# sourceMappingURL=index.mjs.map
|
|
215
221
|
//# sourceMappingURL=index.mjs.map
|
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 /** 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 baseURL: config.baseURL.replace(/\\/+$/, ''),\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 com query params opcionais\n */\nfunction buildUrl(endpoint: string, params?: Record<string, unknown>): string {\n const config = getConfig();\n let url = `${config.baseURL}${endpoint}`;\n if (params) {\n const query = Object.entries(params)\n .filter(([, v]) => v !== undefined && v !== null)\n .map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(String(v))}`)\n .join('&');\n if (query) url += `?${query}`;\n }\n return url;\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 text = await response.text();\n const data = text ? JSON.parse(text) : null;\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// HTTP client para Dynamic Schema (usa X-TenantID header)\nasync function requestWithTenant<T>(\n method: string,\n endpoint: string,\n tenantId: number,\n options?: { params?: Record<string, unknown>; body?: unknown }\n): 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 headers = {\n ...buildHeaders(),\n 'X-TenantID': String(tenantId)\n };\n\n const response = await fetchFn(buildUrl(endpoint, options?.params), {\n method,\n headers,\n body: options?.body !== undefined ? JSON.stringify(options.body) : undefined,\n signal: controller.signal\n });\n\n const text = await response.text();\n const data = text ? JSON.parse(text) : null;\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\nexport const httpTenant = {\n get<T>(endpoint: string, tenantId: number, params?: Record<string, unknown>): Promise<T> {\n return requestWithTenant('GET', endpoint, tenantId, { params });\n },\n post<T>(endpoint: string, tenantId: number, body?: unknown): Promise<T> {\n return requestWithTenant('POST', endpoint, tenantId, { body });\n },\n put<T>(endpoint: string, tenantId: number, body?: unknown): Promise<T> {\n return requestWithTenant('PUT', endpoint, tenantId, { body });\n },\n patch<T>(endpoint: string, tenantId: number, body?: unknown): Promise<T> {\n return requestWithTenant('PATCH', endpoint, tenantId, { body });\n },\n del<T>(endpoint: string, tenantId: number): Promise<T> {\n return requestWithTenant('DELETE', endpoint, tenantId);\n }\n};\n","/**\n * Mitra Interactions SDK - Services\n */\n\nimport { http, httpTenant } from './client';\nimport type {\n RunQueryOptions,\n ExecuteDbActionOptions,\n SetFileStatusOptions,\n SetVariableOptions,\n ExecuteServerFunctionOptions,\n ListRecordsOptions,\n GetRecordOptions,\n CreateRecordOptions,\n UpdateRecordOptions,\n PatchRecordOptions,\n DeleteRecordOptions,\n CreateRecordsBatchOptions\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/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\n// === Dynamic Schema CRUD ===\n\nexport async function listRecordsMitra(options: ListRecordsOptions): Promise<unknown> {\n const { tableName, projectId, page, size, filters } = options;\n return httpTenant.get(`/api/v1/data/${tableName}`, projectId, { page, size, ...filters });\n}\n\nexport async function getRecordMitra(options: GetRecordOptions): Promise<unknown> {\n const { tableName, id, projectId } = options;\n return httpTenant.get(`/api/v1/data/${tableName}/${id}`, projectId);\n}\n\nexport async function createRecordMitra(options: CreateRecordOptions): Promise<unknown> {\n const { tableName, projectId, data } = options;\n return httpTenant.post(`/api/v1/data/${tableName}`, projectId, data);\n}\n\nexport async function updateRecordMitra(options: UpdateRecordOptions): Promise<unknown> {\n const { tableName, id, projectId, data } = options;\n return httpTenant.put(`/api/v1/data/${tableName}/${id}`, projectId, data);\n}\n\nexport async function patchRecordMitra(options: PatchRecordOptions): Promise<unknown> {\n const { tableName, id, projectId, data } = options;\n return httpTenant.patch(`/api/v1/data/${tableName}/${id}`, projectId, data);\n}\n\nexport async function deleteRecordMitra(options: DeleteRecordOptions): Promise<unknown> {\n const { tableName, id, projectId } = options;\n return httpTenant.del(`/api/v1/data/${tableName}/${id}`, projectId);\n}\n\nexport async function createRecordsBatchMitra(options: CreateRecordsBatchOptions): Promise<unknown> {\n const { tableName, projectId, records } = options;\n return httpTenant.post(`/api/v1/data/${tableName}/batch`, projectId, records);\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 baseURL: config.baseURL.replace(/\\/+$/, ''),\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 com query params opcionais\n */\nfunction buildUrl(endpoint: string, params?: Record<string, unknown>): string {\n const config = getConfig();\n let url = `${config.baseURL}${endpoint}`;\n if (params) {\n const query = Object.entries(params)\n .filter(([, v]) => v !== undefined && v !== null)\n .map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(String(v))}`)\n .join('&');\n if (query) url += `?${query}`;\n }\n return url;\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 text = await response.text();\n const data = text ? JSON.parse(text) : null;\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// HTTP client para Dynamic Schema (usa X-TenantID header)\nasync function requestWithTenant<T>(\n method: string,\n endpoint: string,\n tenantId: number,\n options?: { params?: Record<string, unknown>; body?: unknown }\n): 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 headers = {\n ...buildHeaders(),\n 'X-TenantID': String(tenantId)\n };\n\n const response = await fetchFn(buildUrl(endpoint, options?.params), {\n method,\n headers,\n body: options?.body !== undefined ? JSON.stringify(options.body) : undefined,\n signal: controller.signal\n });\n\n const text = await response.text();\n const data = text ? JSON.parse(text) : null;\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\nexport const httpTenant = {\n get<T>(endpoint: string, tenantId: number, params?: Record<string, unknown>): Promise<T> {\n return requestWithTenant('GET', endpoint, tenantId, { params });\n },\n post<T>(endpoint: string, tenantId: number, body?: unknown, params?: Record<string, unknown>): Promise<T> {\n return requestWithTenant('POST', endpoint, tenantId, { body, params });\n },\n put<T>(endpoint: string, tenantId: number, body?: unknown, params?: Record<string, unknown>): Promise<T> {\n return requestWithTenant('PUT', endpoint, tenantId, { body, params });\n },\n patch<T>(endpoint: string, tenantId: number, body?: unknown, params?: Record<string, unknown>): Promise<T> {\n return requestWithTenant('PATCH', endpoint, tenantId, { body, params });\n },\n del<T>(endpoint: string, tenantId: number, params?: Record<string, unknown>): Promise<T> {\n return requestWithTenant('DELETE', endpoint, tenantId, { params });\n }\n};\n","/**\n * Mitra Interactions SDK - Services\n */\n\nimport { http, httpTenant } from './client';\nimport type {\n RunQueryOptions,\n ExecuteDbActionOptions,\n SetFileStatusOptions,\n SetVariableOptions,\n ExecuteServerFunctionOptions,\n StopServerFunctionExecutionOptions,\n ListRecordsOptions,\n GetRecordOptions,\n CreateRecordOptions,\n UpdateRecordOptions,\n PatchRecordOptions,\n DeleteRecordOptions,\n CreateRecordsBatchOptions\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/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\n/**\n * POST /agentAiShortcut/stopServerFunctionExecution\n * Para a execução de uma Server Function em andamento\n */\nexport async function stopServerFunctionExecutionMitra(options: StopServerFunctionExecutionOptions): Promise<unknown> {\n return http.post('/agentAiShortcut/stopServerFunctionExecution', {\n projectId: options.projectId,\n executionId: options.executionId\n });\n}\n\n// === Dynamic Schema CRUD ===\n\nexport async function listRecordsMitra(options: ListRecordsOptions): Promise<unknown> {\n const { tableName, projectId, page, size, filters, jdbcConnectionConfigId } = options;\n return httpTenant.get(`/api/v1/data/${tableName}`, projectId, { page, size, jdbcConnectionConfigId, ...filters });\n}\n\nexport async function getRecordMitra(options: GetRecordOptions): Promise<unknown> {\n const { tableName, id, projectId, jdbcConnectionConfigId } = options;\n return httpTenant.get(`/api/v1/data/${tableName}/${id}`, projectId, { jdbcConnectionConfigId });\n}\n\nexport async function createRecordMitra(options: CreateRecordOptions): Promise<unknown> {\n const { tableName, projectId, data, jdbcConnectionConfigId } = options;\n return httpTenant.post(`/api/v1/data/${tableName}`, projectId, data, { jdbcConnectionConfigId });\n}\n\nexport async function updateRecordMitra(options: UpdateRecordOptions): Promise<unknown> {\n const { tableName, id, projectId, data, jdbcConnectionConfigId } = options;\n return httpTenant.put(`/api/v1/data/${tableName}/${id}`, projectId, data, { jdbcConnectionConfigId });\n}\n\nexport async function patchRecordMitra(options: PatchRecordOptions): Promise<unknown> {\n const { tableName, id, projectId, data, jdbcConnectionConfigId } = options;\n return httpTenant.patch(`/api/v1/data/${tableName}/${id}`, projectId, data, { jdbcConnectionConfigId });\n}\n\nexport async function deleteRecordMitra(options: DeleteRecordOptions): Promise<unknown> {\n const { tableName, id, projectId, jdbcConnectionConfigId } = options;\n return httpTenant.del(`/api/v1/data/${tableName}/${id}`, projectId, { jdbcConnectionConfigId });\n}\n\nexport async function createRecordsBatchMitra(options: CreateRecordsBatchOptions): Promise<unknown> {\n const { tableName, projectId, records, jdbcConnectionConfigId } = options;\n return httpTenant.post(`/api/v1/data/${tableName}/batch`, projectId, records, { jdbcConnectionConfigId });\n}\n"]}
|