mitra-interactions-sdk 1.0.5 → 1.0.7
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 +50 -16
- package/dist/index.d.mts +47 -14
- package/dist/index.d.ts +47 -14
- package/dist/index.js +91 -13
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +85 -13
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -59,20 +59,6 @@ const result = await executeDbActionMitra({
|
|
|
59
59
|
});
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
### executeActionMitra
|
|
63
|
-
|
|
64
|
-
Executa uma Action (fluxo de ação) cadastrada.
|
|
65
|
-
|
|
66
|
-
```typescript
|
|
67
|
-
import { executeActionMitra } from 'mitra-interactions-sdk';
|
|
68
|
-
|
|
69
|
-
const result = await executeActionMitra({
|
|
70
|
-
projectId: 123,
|
|
71
|
-
actionId: 789,
|
|
72
|
-
params: {} // Opcional
|
|
73
|
-
});
|
|
74
|
-
```
|
|
75
|
-
|
|
76
62
|
### executeServerFunctionMitra
|
|
77
63
|
|
|
78
64
|
Executa uma Server Function cadastrada.
|
|
@@ -117,6 +103,48 @@ const result = await setVariableMitra({
|
|
|
117
103
|
});
|
|
118
104
|
```
|
|
119
105
|
|
|
106
|
+
### Dynamic Schema CRUD
|
|
107
|
+
|
|
108
|
+
CRUD completo em tabelas do projeto via Dynamic Schema (usa header `X-TenantID`).
|
|
109
|
+
|
|
110
|
+
- `listRecordsMitra({ projectId, tableName, page?, size?, filters? })` - Lista registros com paginação
|
|
111
|
+
- `getRecordMitra({ projectId, tableName, id })` - Busca registro por ID
|
|
112
|
+
- `createRecordMitra({ projectId, tableName, data })` - Cria registro
|
|
113
|
+
- `updateRecordMitra({ projectId, tableName, id, data })` - Atualiza registro (PUT)
|
|
114
|
+
- `patchRecordMitra({ projectId, tableName, id, data })` - Atualiza parcialmente (PATCH)
|
|
115
|
+
- `deleteRecordMitra({ projectId, tableName, id })` - Remove registro
|
|
116
|
+
- `createRecordsBatchMitra({ projectId, tableName, records })` - Cria múltiplos registros
|
|
117
|
+
|
|
118
|
+
```typescript
|
|
119
|
+
import { listRecordsMitra, createRecordMitra, updateRecordMitra, deleteRecordMitra } from 'mitra-interactions-sdk';
|
|
120
|
+
|
|
121
|
+
// Listar registros
|
|
122
|
+
const result = await listRecordsMitra({
|
|
123
|
+
projectId: 123,
|
|
124
|
+
tableName: 'produtos',
|
|
125
|
+
page: 0,
|
|
126
|
+
size: 20
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
// Criar registro
|
|
130
|
+
await createRecordMitra({
|
|
131
|
+
projectId: 123,
|
|
132
|
+
tableName: 'produtos',
|
|
133
|
+
data: { nome: 'Produto A', preco: 99.90 }
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
// Atualizar registro
|
|
137
|
+
await updateRecordMitra({
|
|
138
|
+
projectId: 123,
|
|
139
|
+
tableName: 'produtos',
|
|
140
|
+
id: 1,
|
|
141
|
+
data: { nome: 'Produto A Atualizado', preco: 89.90, version: 0 }
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
// Deletar registro
|
|
145
|
+
await deleteRecordMitra({ projectId: 123, tableName: 'produtos', id: 1 });
|
|
146
|
+
```
|
|
147
|
+
|
|
120
148
|
## Tratamento de Erros
|
|
121
149
|
|
|
122
150
|
```typescript
|
|
@@ -141,10 +169,16 @@ import type {
|
|
|
141
169
|
MitraConfig,
|
|
142
170
|
RunQueryOptions,
|
|
143
171
|
ExecuteDbActionOptions,
|
|
144
|
-
ExecuteActionOptions,
|
|
145
172
|
ExecuteServerFunctionOptions,
|
|
146
173
|
SetFileStatusOptions,
|
|
147
|
-
SetVariableOptions
|
|
174
|
+
SetVariableOptions,
|
|
175
|
+
ListRecordsOptions,
|
|
176
|
+
GetRecordOptions,
|
|
177
|
+
CreateRecordOptions,
|
|
178
|
+
UpdateRecordOptions,
|
|
179
|
+
PatchRecordOptions,
|
|
180
|
+
DeleteRecordOptions,
|
|
181
|
+
CreateRecordsBatchOptions
|
|
148
182
|
} from 'mitra-interactions-sdk';
|
|
149
183
|
```
|
|
150
184
|
|
package/dist/index.d.mts
CHANGED
|
@@ -45,14 +45,6 @@ interface ExecuteDbActionOptions {
|
|
|
45
45
|
/** Variáveis para o statement (opcional) */
|
|
46
46
|
params?: Record<string, unknown>;
|
|
47
47
|
}
|
|
48
|
-
interface ExecuteActionOptions {
|
|
49
|
-
/** ID do projeto */
|
|
50
|
-
projectId: number;
|
|
51
|
-
/** ID da Action (fluxo de ação) cadastrada */
|
|
52
|
-
actionId: number;
|
|
53
|
-
/** Variáveis para a action (opcional) */
|
|
54
|
-
params?: Record<string, unknown>;
|
|
55
|
-
}
|
|
56
48
|
interface SetFileStatusOptions {
|
|
57
49
|
/** ID do projeto */
|
|
58
50
|
projectId: number;
|
|
@@ -77,6 +69,45 @@ interface ExecuteServerFunctionOptions {
|
|
|
77
69
|
/** Parâmetros para a função (opcional) */
|
|
78
70
|
params?: Record<string, unknown>;
|
|
79
71
|
}
|
|
72
|
+
interface ListRecordsOptions {
|
|
73
|
+
projectId: number;
|
|
74
|
+
tableName: string;
|
|
75
|
+
page?: number;
|
|
76
|
+
size?: number;
|
|
77
|
+
filters?: Record<string, unknown>;
|
|
78
|
+
}
|
|
79
|
+
interface GetRecordOptions {
|
|
80
|
+
projectId: number;
|
|
81
|
+
tableName: string;
|
|
82
|
+
id: number;
|
|
83
|
+
}
|
|
84
|
+
interface CreateRecordOptions {
|
|
85
|
+
projectId: number;
|
|
86
|
+
tableName: string;
|
|
87
|
+
data: Record<string, unknown>;
|
|
88
|
+
}
|
|
89
|
+
interface UpdateRecordOptions {
|
|
90
|
+
projectId: number;
|
|
91
|
+
tableName: string;
|
|
92
|
+
id: number;
|
|
93
|
+
data: Record<string, unknown>;
|
|
94
|
+
}
|
|
95
|
+
interface PatchRecordOptions {
|
|
96
|
+
projectId: number;
|
|
97
|
+
tableName: string;
|
|
98
|
+
id: number;
|
|
99
|
+
data: Record<string, unknown>;
|
|
100
|
+
}
|
|
101
|
+
interface DeleteRecordOptions {
|
|
102
|
+
projectId: number;
|
|
103
|
+
tableName: string;
|
|
104
|
+
id: number;
|
|
105
|
+
}
|
|
106
|
+
interface CreateRecordsBatchOptions {
|
|
107
|
+
projectId: number;
|
|
108
|
+
tableName: string;
|
|
109
|
+
records: Record<string, unknown>[];
|
|
110
|
+
}
|
|
80
111
|
|
|
81
112
|
/**
|
|
82
113
|
* Mitra Interactions SDK - Services
|
|
@@ -92,11 +123,6 @@ declare function runQueryMitra(options: RunQueryOptions): Promise<unknown>;
|
|
|
92
123
|
* Executa uma DBAction (DML) cadastrada
|
|
93
124
|
*/
|
|
94
125
|
declare function executeDbActionMitra(options: ExecuteDbActionOptions): Promise<unknown>;
|
|
95
|
-
/**
|
|
96
|
-
* POST /agentAiShortcut/runAction
|
|
97
|
-
* Executa uma Action (fluxo de ação) cadastrada
|
|
98
|
-
*/
|
|
99
|
-
declare function executeActionMitra(options: ExecuteActionOptions): Promise<unknown>;
|
|
100
126
|
/**
|
|
101
127
|
* POST /agentAiShortcut/setFileStatus
|
|
102
128
|
* Move arquivo do chat para PUBLIC ou LOADABLE
|
|
@@ -112,5 +138,12 @@ declare function setVariableMitra(options: SetVariableOptions): Promise<unknown>
|
|
|
112
138
|
* Executa uma Server Function cadastrada
|
|
113
139
|
*/
|
|
114
140
|
declare function executeServerFunctionMitra(options: ExecuteServerFunctionOptions): Promise<unknown>;
|
|
141
|
+
declare function listRecordsMitra(options: ListRecordsOptions): Promise<unknown>;
|
|
142
|
+
declare function getRecordMitra(options: GetRecordOptions): Promise<unknown>;
|
|
143
|
+
declare function createRecordMitra(options: CreateRecordOptions): Promise<unknown>;
|
|
144
|
+
declare function updateRecordMitra(options: UpdateRecordOptions): Promise<unknown>;
|
|
145
|
+
declare function patchRecordMitra(options: PatchRecordOptions): Promise<unknown>;
|
|
146
|
+
declare function deleteRecordMitra(options: DeleteRecordOptions): Promise<unknown>;
|
|
147
|
+
declare function createRecordsBatchMitra(options: CreateRecordsBatchOptions): Promise<unknown>;
|
|
115
148
|
|
|
116
|
-
export { type
|
|
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 };
|
package/dist/index.d.ts
CHANGED
|
@@ -45,14 +45,6 @@ interface ExecuteDbActionOptions {
|
|
|
45
45
|
/** Variáveis para o statement (opcional) */
|
|
46
46
|
params?: Record<string, unknown>;
|
|
47
47
|
}
|
|
48
|
-
interface ExecuteActionOptions {
|
|
49
|
-
/** ID do projeto */
|
|
50
|
-
projectId: number;
|
|
51
|
-
/** ID da Action (fluxo de ação) cadastrada */
|
|
52
|
-
actionId: number;
|
|
53
|
-
/** Variáveis para a action (opcional) */
|
|
54
|
-
params?: Record<string, unknown>;
|
|
55
|
-
}
|
|
56
48
|
interface SetFileStatusOptions {
|
|
57
49
|
/** ID do projeto */
|
|
58
50
|
projectId: number;
|
|
@@ -77,6 +69,45 @@ interface ExecuteServerFunctionOptions {
|
|
|
77
69
|
/** Parâmetros para a função (opcional) */
|
|
78
70
|
params?: Record<string, unknown>;
|
|
79
71
|
}
|
|
72
|
+
interface ListRecordsOptions {
|
|
73
|
+
projectId: number;
|
|
74
|
+
tableName: string;
|
|
75
|
+
page?: number;
|
|
76
|
+
size?: number;
|
|
77
|
+
filters?: Record<string, unknown>;
|
|
78
|
+
}
|
|
79
|
+
interface GetRecordOptions {
|
|
80
|
+
projectId: number;
|
|
81
|
+
tableName: string;
|
|
82
|
+
id: number;
|
|
83
|
+
}
|
|
84
|
+
interface CreateRecordOptions {
|
|
85
|
+
projectId: number;
|
|
86
|
+
tableName: string;
|
|
87
|
+
data: Record<string, unknown>;
|
|
88
|
+
}
|
|
89
|
+
interface UpdateRecordOptions {
|
|
90
|
+
projectId: number;
|
|
91
|
+
tableName: string;
|
|
92
|
+
id: number;
|
|
93
|
+
data: Record<string, unknown>;
|
|
94
|
+
}
|
|
95
|
+
interface PatchRecordOptions {
|
|
96
|
+
projectId: number;
|
|
97
|
+
tableName: string;
|
|
98
|
+
id: number;
|
|
99
|
+
data: Record<string, unknown>;
|
|
100
|
+
}
|
|
101
|
+
interface DeleteRecordOptions {
|
|
102
|
+
projectId: number;
|
|
103
|
+
tableName: string;
|
|
104
|
+
id: number;
|
|
105
|
+
}
|
|
106
|
+
interface CreateRecordsBatchOptions {
|
|
107
|
+
projectId: number;
|
|
108
|
+
tableName: string;
|
|
109
|
+
records: Record<string, unknown>[];
|
|
110
|
+
}
|
|
80
111
|
|
|
81
112
|
/**
|
|
82
113
|
* Mitra Interactions SDK - Services
|
|
@@ -92,11 +123,6 @@ declare function runQueryMitra(options: RunQueryOptions): Promise<unknown>;
|
|
|
92
123
|
* Executa uma DBAction (DML) cadastrada
|
|
93
124
|
*/
|
|
94
125
|
declare function executeDbActionMitra(options: ExecuteDbActionOptions): Promise<unknown>;
|
|
95
|
-
/**
|
|
96
|
-
* POST /agentAiShortcut/runAction
|
|
97
|
-
* Executa uma Action (fluxo de ação) cadastrada
|
|
98
|
-
*/
|
|
99
|
-
declare function executeActionMitra(options: ExecuteActionOptions): Promise<unknown>;
|
|
100
126
|
/**
|
|
101
127
|
* POST /agentAiShortcut/setFileStatus
|
|
102
128
|
* Move arquivo do chat para PUBLIC ou LOADABLE
|
|
@@ -112,5 +138,12 @@ declare function setVariableMitra(options: SetVariableOptions): Promise<unknown>
|
|
|
112
138
|
* Executa uma Server Function cadastrada
|
|
113
139
|
*/
|
|
114
140
|
declare function executeServerFunctionMitra(options: ExecuteServerFunctionOptions): Promise<unknown>;
|
|
141
|
+
declare function listRecordsMitra(options: ListRecordsOptions): Promise<unknown>;
|
|
142
|
+
declare function getRecordMitra(options: GetRecordOptions): Promise<unknown>;
|
|
143
|
+
declare function createRecordMitra(options: CreateRecordOptions): Promise<unknown>;
|
|
144
|
+
declare function updateRecordMitra(options: UpdateRecordOptions): Promise<unknown>;
|
|
145
|
+
declare function patchRecordMitra(options: PatchRecordOptions): Promise<unknown>;
|
|
146
|
+
declare function deleteRecordMitra(options: DeleteRecordOptions): Promise<unknown>;
|
|
147
|
+
declare function createRecordsBatchMitra(options: CreateRecordsBatchOptions): Promise<unknown>;
|
|
115
148
|
|
|
116
|
-
export { type
|
|
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 };
|
package/dist/index.js
CHANGED
|
@@ -46,9 +46,14 @@ function buildHeaders() {
|
|
|
46
46
|
"Content-Type": "application/json"
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
|
-
function buildUrl(endpoint) {
|
|
49
|
+
function buildUrl(endpoint, params) {
|
|
50
50
|
const config = getConfig();
|
|
51
|
-
|
|
51
|
+
let url = `${config.baseURL}${endpoint}`;
|
|
52
|
+
if (params) {
|
|
53
|
+
const query = Object.entries(params).filter(([, v]) => v !== void 0 && v !== null).map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(String(v))}`).join("&");
|
|
54
|
+
if (query) url += `?${query}`;
|
|
55
|
+
}
|
|
56
|
+
return url;
|
|
52
57
|
}
|
|
53
58
|
var http = {
|
|
54
59
|
async post(endpoint, body) {
|
|
@@ -80,6 +85,55 @@ var http = {
|
|
|
80
85
|
}
|
|
81
86
|
}
|
|
82
87
|
};
|
|
88
|
+
async function requestWithTenant(method, endpoint, tenantId, options) {
|
|
89
|
+
var _a;
|
|
90
|
+
const fetchFn = getFetch();
|
|
91
|
+
const config = getConfig();
|
|
92
|
+
const controller = new AbortController();
|
|
93
|
+
const timeout = (_a = config.timeout) != null ? _a : 3e4;
|
|
94
|
+
const timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
95
|
+
try {
|
|
96
|
+
const headers = {
|
|
97
|
+
...buildHeaders(),
|
|
98
|
+
"X-TenantID": String(tenantId)
|
|
99
|
+
};
|
|
100
|
+
const response = await fetchFn(buildUrl(endpoint, options == null ? void 0 : options.params), {
|
|
101
|
+
method,
|
|
102
|
+
headers,
|
|
103
|
+
body: (options == null ? void 0 : options.body) !== void 0 ? JSON.stringify(options.body) : void 0,
|
|
104
|
+
signal: controller.signal
|
|
105
|
+
});
|
|
106
|
+
const text = await response.text();
|
|
107
|
+
const data = text ? JSON.parse(text) : null;
|
|
108
|
+
if (!response.ok) {
|
|
109
|
+
throw {
|
|
110
|
+
message: (data == null ? void 0 : data.message) || (data == null ? void 0 : data.error) || `HTTP ${response.status}`,
|
|
111
|
+
status: response.status,
|
|
112
|
+
details: data
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
return data;
|
|
116
|
+
} finally {
|
|
117
|
+
clearTimeout(timeoutId);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
var httpTenant = {
|
|
121
|
+
get(endpoint, tenantId, params) {
|
|
122
|
+
return requestWithTenant("GET", endpoint, tenantId, { params });
|
|
123
|
+
},
|
|
124
|
+
post(endpoint, tenantId, body) {
|
|
125
|
+
return requestWithTenant("POST", endpoint, tenantId, { body });
|
|
126
|
+
},
|
|
127
|
+
put(endpoint, tenantId, body) {
|
|
128
|
+
return requestWithTenant("PUT", endpoint, tenantId, { body });
|
|
129
|
+
},
|
|
130
|
+
patch(endpoint, tenantId, body) {
|
|
131
|
+
return requestWithTenant("PATCH", endpoint, tenantId, { body });
|
|
132
|
+
},
|
|
133
|
+
del(endpoint, tenantId) {
|
|
134
|
+
return requestWithTenant("DELETE", endpoint, tenantId);
|
|
135
|
+
}
|
|
136
|
+
};
|
|
83
137
|
|
|
84
138
|
// src/services.ts
|
|
85
139
|
async function runQueryMitra(options) {
|
|
@@ -102,16 +156,6 @@ async function executeDbActionMitra(options) {
|
|
|
102
156
|
}
|
|
103
157
|
return http.post("/agentAiShortcut/executeDbAction", body);
|
|
104
158
|
}
|
|
105
|
-
async function executeActionMitra(options) {
|
|
106
|
-
const body = {
|
|
107
|
-
projectId: options.projectId,
|
|
108
|
-
actionId: options.actionId
|
|
109
|
-
};
|
|
110
|
-
if (options.params !== void 0) {
|
|
111
|
-
body.params = options.params;
|
|
112
|
-
}
|
|
113
|
-
return http.post("/agentAiShortcut/runAction", body);
|
|
114
|
-
}
|
|
115
159
|
async function setFileStatusMitra(options) {
|
|
116
160
|
return http.post("/agentAiShortcut/setFileStatus", {
|
|
117
161
|
projectId: options.projectId,
|
|
@@ -139,16 +183,50 @@ async function executeServerFunctionMitra(options) {
|
|
|
139
183
|
}
|
|
140
184
|
return http.post("/agentAiShortcut/executeServerFunction", body);
|
|
141
185
|
}
|
|
186
|
+
async function listRecordsMitra(options) {
|
|
187
|
+
const { tableName, projectId, page, size, filters } = options;
|
|
188
|
+
return httpTenant.get(`/api/v1/data/${tableName}`, projectId, { page, size, ...filters });
|
|
189
|
+
}
|
|
190
|
+
async function getRecordMitra(options) {
|
|
191
|
+
const { tableName, id, projectId } = options;
|
|
192
|
+
return httpTenant.get(`/api/v1/data/${tableName}/${id}`, projectId);
|
|
193
|
+
}
|
|
194
|
+
async function createRecordMitra(options) {
|
|
195
|
+
const { tableName, projectId, data } = options;
|
|
196
|
+
return httpTenant.post(`/api/v1/data/${tableName}`, projectId, data);
|
|
197
|
+
}
|
|
198
|
+
async function updateRecordMitra(options) {
|
|
199
|
+
const { tableName, id, projectId, data } = options;
|
|
200
|
+
return httpTenant.put(`/api/v1/data/${tableName}/${id}`, projectId, data);
|
|
201
|
+
}
|
|
202
|
+
async function patchRecordMitra(options) {
|
|
203
|
+
const { tableName, id, projectId, data } = options;
|
|
204
|
+
return httpTenant.patch(`/api/v1/data/${tableName}/${id}`, projectId, data);
|
|
205
|
+
}
|
|
206
|
+
async function deleteRecordMitra(options) {
|
|
207
|
+
const { tableName, id, projectId } = options;
|
|
208
|
+
return httpTenant.del(`/api/v1/data/${tableName}/${id}`, projectId);
|
|
209
|
+
}
|
|
210
|
+
async function createRecordsBatchMitra(options) {
|
|
211
|
+
const { tableName, projectId, records } = options;
|
|
212
|
+
return httpTenant.post(`/api/v1/data/${tableName}/batch`, projectId, records);
|
|
213
|
+
}
|
|
142
214
|
|
|
143
215
|
exports.clearConfig = clearConfig;
|
|
144
216
|
exports.configureSdkMitra = configureSdkMitra;
|
|
145
|
-
exports.
|
|
217
|
+
exports.createRecordMitra = createRecordMitra;
|
|
218
|
+
exports.createRecordsBatchMitra = createRecordsBatchMitra;
|
|
219
|
+
exports.deleteRecordMitra = deleteRecordMitra;
|
|
146
220
|
exports.executeDbActionMitra = executeDbActionMitra;
|
|
147
221
|
exports.executeServerFunctionMitra = executeServerFunctionMitra;
|
|
148
222
|
exports.getConfig = getConfig;
|
|
223
|
+
exports.getRecordMitra = getRecordMitra;
|
|
149
224
|
exports.isConfigured = isConfigured;
|
|
225
|
+
exports.listRecordsMitra = listRecordsMitra;
|
|
226
|
+
exports.patchRecordMitra = patchRecordMitra;
|
|
150
227
|
exports.runQueryMitra = runQueryMitra;
|
|
151
228
|
exports.setFileStatusMitra = setFileStatusMitra;
|
|
152
229
|
exports.setVariableMitra = setVariableMitra;
|
|
230
|
+
exports.updateRecordMitra = updateRecordMitra;
|
|
153
231
|
//# sourceMappingURL=index.js.map
|
|
154
232
|
//# 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":"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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\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 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 * 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"]}
|
|
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): 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"]}
|
package/dist/index.mjs
CHANGED
|
@@ -44,9 +44,14 @@ function buildHeaders() {
|
|
|
44
44
|
"Content-Type": "application/json"
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
|
-
function buildUrl(endpoint) {
|
|
47
|
+
function buildUrl(endpoint, params) {
|
|
48
48
|
const config = getConfig();
|
|
49
|
-
|
|
49
|
+
let url = `${config.baseURL}${endpoint}`;
|
|
50
|
+
if (params) {
|
|
51
|
+
const query = Object.entries(params).filter(([, v]) => v !== void 0 && v !== null).map(([k, v]) => `${encodeURIComponent(k)}=${encodeURIComponent(String(v))}`).join("&");
|
|
52
|
+
if (query) url += `?${query}`;
|
|
53
|
+
}
|
|
54
|
+
return url;
|
|
50
55
|
}
|
|
51
56
|
var http = {
|
|
52
57
|
async post(endpoint, body) {
|
|
@@ -78,6 +83,55 @@ var http = {
|
|
|
78
83
|
}
|
|
79
84
|
}
|
|
80
85
|
};
|
|
86
|
+
async function requestWithTenant(method, endpoint, tenantId, options) {
|
|
87
|
+
var _a;
|
|
88
|
+
const fetchFn = getFetch();
|
|
89
|
+
const config = getConfig();
|
|
90
|
+
const controller = new AbortController();
|
|
91
|
+
const timeout = (_a = config.timeout) != null ? _a : 3e4;
|
|
92
|
+
const timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
93
|
+
try {
|
|
94
|
+
const headers = {
|
|
95
|
+
...buildHeaders(),
|
|
96
|
+
"X-TenantID": String(tenantId)
|
|
97
|
+
};
|
|
98
|
+
const response = await fetchFn(buildUrl(endpoint, options == null ? void 0 : options.params), {
|
|
99
|
+
method,
|
|
100
|
+
headers,
|
|
101
|
+
body: (options == null ? void 0 : options.body) !== void 0 ? JSON.stringify(options.body) : void 0,
|
|
102
|
+
signal: controller.signal
|
|
103
|
+
});
|
|
104
|
+
const text = await response.text();
|
|
105
|
+
const data = text ? JSON.parse(text) : null;
|
|
106
|
+
if (!response.ok) {
|
|
107
|
+
throw {
|
|
108
|
+
message: (data == null ? void 0 : data.message) || (data == null ? void 0 : data.error) || `HTTP ${response.status}`,
|
|
109
|
+
status: response.status,
|
|
110
|
+
details: data
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
return data;
|
|
114
|
+
} finally {
|
|
115
|
+
clearTimeout(timeoutId);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
var httpTenant = {
|
|
119
|
+
get(endpoint, tenantId, params) {
|
|
120
|
+
return requestWithTenant("GET", endpoint, tenantId, { params });
|
|
121
|
+
},
|
|
122
|
+
post(endpoint, tenantId, body) {
|
|
123
|
+
return requestWithTenant("POST", endpoint, tenantId, { body });
|
|
124
|
+
},
|
|
125
|
+
put(endpoint, tenantId, body) {
|
|
126
|
+
return requestWithTenant("PUT", endpoint, tenantId, { body });
|
|
127
|
+
},
|
|
128
|
+
patch(endpoint, tenantId, body) {
|
|
129
|
+
return requestWithTenant("PATCH", endpoint, tenantId, { body });
|
|
130
|
+
},
|
|
131
|
+
del(endpoint, tenantId) {
|
|
132
|
+
return requestWithTenant("DELETE", endpoint, tenantId);
|
|
133
|
+
}
|
|
134
|
+
};
|
|
81
135
|
|
|
82
136
|
// src/services.ts
|
|
83
137
|
async function runQueryMitra(options) {
|
|
@@ -100,16 +154,6 @@ async function executeDbActionMitra(options) {
|
|
|
100
154
|
}
|
|
101
155
|
return http.post("/agentAiShortcut/executeDbAction", body);
|
|
102
156
|
}
|
|
103
|
-
async function executeActionMitra(options) {
|
|
104
|
-
const body = {
|
|
105
|
-
projectId: options.projectId,
|
|
106
|
-
actionId: options.actionId
|
|
107
|
-
};
|
|
108
|
-
if (options.params !== void 0) {
|
|
109
|
-
body.params = options.params;
|
|
110
|
-
}
|
|
111
|
-
return http.post("/agentAiShortcut/runAction", body);
|
|
112
|
-
}
|
|
113
157
|
async function setFileStatusMitra(options) {
|
|
114
158
|
return http.post("/agentAiShortcut/setFileStatus", {
|
|
115
159
|
projectId: options.projectId,
|
|
@@ -137,7 +181,35 @@ async function executeServerFunctionMitra(options) {
|
|
|
137
181
|
}
|
|
138
182
|
return http.post("/agentAiShortcut/executeServerFunction", body);
|
|
139
183
|
}
|
|
184
|
+
async function listRecordsMitra(options) {
|
|
185
|
+
const { tableName, projectId, page, size, filters } = options;
|
|
186
|
+
return httpTenant.get(`/api/v1/data/${tableName}`, projectId, { page, size, ...filters });
|
|
187
|
+
}
|
|
188
|
+
async function getRecordMitra(options) {
|
|
189
|
+
const { tableName, id, projectId } = options;
|
|
190
|
+
return httpTenant.get(`/api/v1/data/${tableName}/${id}`, projectId);
|
|
191
|
+
}
|
|
192
|
+
async function createRecordMitra(options) {
|
|
193
|
+
const { tableName, projectId, data } = options;
|
|
194
|
+
return httpTenant.post(`/api/v1/data/${tableName}`, projectId, data);
|
|
195
|
+
}
|
|
196
|
+
async function updateRecordMitra(options) {
|
|
197
|
+
const { tableName, id, projectId, data } = options;
|
|
198
|
+
return httpTenant.put(`/api/v1/data/${tableName}/${id}`, projectId, data);
|
|
199
|
+
}
|
|
200
|
+
async function patchRecordMitra(options) {
|
|
201
|
+
const { tableName, id, projectId, data } = options;
|
|
202
|
+
return httpTenant.patch(`/api/v1/data/${tableName}/${id}`, projectId, data);
|
|
203
|
+
}
|
|
204
|
+
async function deleteRecordMitra(options) {
|
|
205
|
+
const { tableName, id, projectId } = options;
|
|
206
|
+
return httpTenant.del(`/api/v1/data/${tableName}/${id}`, projectId);
|
|
207
|
+
}
|
|
208
|
+
async function createRecordsBatchMitra(options) {
|
|
209
|
+
const { tableName, projectId, records } = options;
|
|
210
|
+
return httpTenant.post(`/api/v1/data/${tableName}/batch`, projectId, records);
|
|
211
|
+
}
|
|
140
212
|
|
|
141
|
-
export { clearConfig, configureSdkMitra,
|
|
213
|
+
export { clearConfig, configureSdkMitra, createRecordMitra, createRecordsBatchMitra, deleteRecordMitra, executeDbActionMitra, executeServerFunctionMitra, getConfig, getRecordMitra, isConfigured, listRecordsMitra, patchRecordMitra, runQueryMitra, setFileStatusMitra, setVariableMitra, updateRecordMitra };
|
|
142
214
|
//# sourceMappingURL=index.mjs.map
|
|
143
215
|
//# 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\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 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 * 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"]}
|
|
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"]}
|