mitra-interactions-sdk 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/dist/index.d.mts +6 -8
- package/dist/index.d.ts +6 -8
- package/dist/index.js +6 -18
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +6 -18
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -22,7 +22,6 @@ import { configureSdkMitra } from 'mitra-interactions-sdk';
|
|
|
22
22
|
configureSdkMitra({
|
|
23
23
|
baseURL: 'https://api.mitra.com',
|
|
24
24
|
token: 'seu-jwt-token',
|
|
25
|
-
projectId: 123, // Opcional, pode ser passado em cada chamada
|
|
26
25
|
timeout: 30000 // Opcional, padrão: 30000ms
|
|
27
26
|
});
|
|
28
27
|
```
|
package/dist/index.d.mts
CHANGED
|
@@ -6,8 +6,6 @@ interface MitraConfig {
|
|
|
6
6
|
baseURL: string;
|
|
7
7
|
/** Token JWT para autenticação */
|
|
8
8
|
token: string;
|
|
9
|
-
/** ID do projeto (opcional, pode ser passado em cada chamada) */
|
|
10
|
-
projectId?: number;
|
|
11
9
|
/** Timeout em ms (padrão: 30000) */
|
|
12
10
|
timeout?: number;
|
|
13
11
|
}
|
|
@@ -33,7 +31,7 @@ declare function clearConfig(): void;
|
|
|
33
31
|
*/
|
|
34
32
|
interface RunQueryOptions {
|
|
35
33
|
/** ID do projeto */
|
|
36
|
-
projectId
|
|
34
|
+
projectId: number;
|
|
37
35
|
/** Query SQL (apenas SELECT) */
|
|
38
36
|
sql: string;
|
|
39
37
|
/** ID da conexão JDBC (opcional, usa autoConnect se não informado) */
|
|
@@ -41,7 +39,7 @@ interface RunQueryOptions {
|
|
|
41
39
|
}
|
|
42
40
|
interface ExecuteDbActionOptions {
|
|
43
41
|
/** ID do projeto */
|
|
44
|
-
projectId
|
|
42
|
+
projectId: number;
|
|
45
43
|
/** ID da DBAction cadastrada */
|
|
46
44
|
dbactionId: number;
|
|
47
45
|
/** Variáveis para o statement (opcional) */
|
|
@@ -49,7 +47,7 @@ interface ExecuteDbActionOptions {
|
|
|
49
47
|
}
|
|
50
48
|
interface ExecuteActionOptions {
|
|
51
49
|
/** ID do projeto */
|
|
52
|
-
projectId
|
|
50
|
+
projectId: number;
|
|
53
51
|
/** ID da Action (fluxo de ação) cadastrada */
|
|
54
52
|
actionId: number;
|
|
55
53
|
/** Variáveis para a action (opcional) */
|
|
@@ -57,7 +55,7 @@ interface ExecuteActionOptions {
|
|
|
57
55
|
}
|
|
58
56
|
interface SetFileStatusOptions {
|
|
59
57
|
/** ID do projeto */
|
|
60
|
-
projectId
|
|
58
|
+
projectId: number;
|
|
61
59
|
/** Nome do arquivo */
|
|
62
60
|
fileName: string;
|
|
63
61
|
/** Caminho de destino: "PUBLIC" ou "LOADABLE" */
|
|
@@ -65,7 +63,7 @@ interface SetFileStatusOptions {
|
|
|
65
63
|
}
|
|
66
64
|
interface SetVariableOptions {
|
|
67
65
|
/** ID do projeto */
|
|
68
|
-
projectId
|
|
66
|
+
projectId: number;
|
|
69
67
|
/** Nome da variável (key) */
|
|
70
68
|
key: string;
|
|
71
69
|
/** Valor da variável (opcional) */
|
|
@@ -73,7 +71,7 @@ interface SetVariableOptions {
|
|
|
73
71
|
}
|
|
74
72
|
interface ExecuteServerFunctionOptions {
|
|
75
73
|
/** ID do projeto */
|
|
76
|
-
projectId
|
|
74
|
+
projectId: number;
|
|
77
75
|
/** ID da Server Function cadastrada */
|
|
78
76
|
serverfunctionId: number;
|
|
79
77
|
/** Parâmetros para a função (opcional) */
|
package/dist/index.d.ts
CHANGED
|
@@ -6,8 +6,6 @@ interface MitraConfig {
|
|
|
6
6
|
baseURL: string;
|
|
7
7
|
/** Token JWT para autenticação */
|
|
8
8
|
token: string;
|
|
9
|
-
/** ID do projeto (opcional, pode ser passado em cada chamada) */
|
|
10
|
-
projectId?: number;
|
|
11
9
|
/** Timeout em ms (padrão: 30000) */
|
|
12
10
|
timeout?: number;
|
|
13
11
|
}
|
|
@@ -33,7 +31,7 @@ declare function clearConfig(): void;
|
|
|
33
31
|
*/
|
|
34
32
|
interface RunQueryOptions {
|
|
35
33
|
/** ID do projeto */
|
|
36
|
-
projectId
|
|
34
|
+
projectId: number;
|
|
37
35
|
/** Query SQL (apenas SELECT) */
|
|
38
36
|
sql: string;
|
|
39
37
|
/** ID da conexão JDBC (opcional, usa autoConnect se não informado) */
|
|
@@ -41,7 +39,7 @@ interface RunQueryOptions {
|
|
|
41
39
|
}
|
|
42
40
|
interface ExecuteDbActionOptions {
|
|
43
41
|
/** ID do projeto */
|
|
44
|
-
projectId
|
|
42
|
+
projectId: number;
|
|
45
43
|
/** ID da DBAction cadastrada */
|
|
46
44
|
dbactionId: number;
|
|
47
45
|
/** Variáveis para o statement (opcional) */
|
|
@@ -49,7 +47,7 @@ interface ExecuteDbActionOptions {
|
|
|
49
47
|
}
|
|
50
48
|
interface ExecuteActionOptions {
|
|
51
49
|
/** ID do projeto */
|
|
52
|
-
projectId
|
|
50
|
+
projectId: number;
|
|
53
51
|
/** ID da Action (fluxo de ação) cadastrada */
|
|
54
52
|
actionId: number;
|
|
55
53
|
/** Variáveis para a action (opcional) */
|
|
@@ -57,7 +55,7 @@ interface ExecuteActionOptions {
|
|
|
57
55
|
}
|
|
58
56
|
interface SetFileStatusOptions {
|
|
59
57
|
/** ID do projeto */
|
|
60
|
-
projectId
|
|
58
|
+
projectId: number;
|
|
61
59
|
/** Nome do arquivo */
|
|
62
60
|
fileName: string;
|
|
63
61
|
/** Caminho de destino: "PUBLIC" ou "LOADABLE" */
|
|
@@ -65,7 +63,7 @@ interface SetFileStatusOptions {
|
|
|
65
63
|
}
|
|
66
64
|
interface SetVariableOptions {
|
|
67
65
|
/** ID do projeto */
|
|
68
|
-
projectId
|
|
66
|
+
projectId: number;
|
|
69
67
|
/** Nome da variável (key) */
|
|
70
68
|
key: string;
|
|
71
69
|
/** Valor da variável (opcional) */
|
|
@@ -73,7 +71,7 @@ interface SetVariableOptions {
|
|
|
73
71
|
}
|
|
74
72
|
interface ExecuteServerFunctionOptions {
|
|
75
73
|
/** ID do projeto */
|
|
76
|
-
projectId
|
|
74
|
+
projectId: number;
|
|
77
75
|
/** ID da Server Function cadastrada */
|
|
78
76
|
serverfunctionId: number;
|
|
79
77
|
/** Parâmetros para a função (opcional) */
|
package/dist/index.js
CHANGED
|
@@ -81,10 +81,8 @@ var http = {
|
|
|
81
81
|
|
|
82
82
|
// src/services.ts
|
|
83
83
|
async function runQueryMitra(options) {
|
|
84
|
-
var _a;
|
|
85
|
-
const config = getConfig();
|
|
86
84
|
const body = {
|
|
87
|
-
projectId:
|
|
85
|
+
projectId: options.projectId,
|
|
88
86
|
sql: options.sql
|
|
89
87
|
};
|
|
90
88
|
if (options.jdbcId !== void 0) {
|
|
@@ -93,10 +91,8 @@ async function runQueryMitra(options) {
|
|
|
93
91
|
return http.post("/agentAiShortcut/runQuery", body);
|
|
94
92
|
}
|
|
95
93
|
async function executeDbActionMitra(options) {
|
|
96
|
-
var _a;
|
|
97
|
-
const config = getConfig();
|
|
98
94
|
const body = {
|
|
99
|
-
projectId:
|
|
95
|
+
projectId: options.projectId,
|
|
100
96
|
dbactionId: options.dbactionId
|
|
101
97
|
};
|
|
102
98
|
if (options.params !== void 0) {
|
|
@@ -105,10 +101,8 @@ async function executeDbActionMitra(options) {
|
|
|
105
101
|
return http.post("/agentAiShortcut/executeDbAction", body);
|
|
106
102
|
}
|
|
107
103
|
async function executeActionMitra(options) {
|
|
108
|
-
var _a;
|
|
109
|
-
const config = getConfig();
|
|
110
104
|
const body = {
|
|
111
|
-
projectId:
|
|
105
|
+
projectId: options.projectId,
|
|
112
106
|
actionId: options.actionId
|
|
113
107
|
};
|
|
114
108
|
if (options.params !== void 0) {
|
|
@@ -117,19 +111,15 @@ async function executeActionMitra(options) {
|
|
|
117
111
|
return http.post("/agentAiShortcut/runAction", body);
|
|
118
112
|
}
|
|
119
113
|
async function setFileStatusMitra(options) {
|
|
120
|
-
var _a;
|
|
121
|
-
const config = getConfig();
|
|
122
114
|
return http.post("/agentAiShortcut/setFileStatus", {
|
|
123
|
-
projectId:
|
|
115
|
+
projectId: options.projectId,
|
|
124
116
|
fileName: options.fileName,
|
|
125
117
|
targetPath: options.targetPath
|
|
126
118
|
});
|
|
127
119
|
}
|
|
128
120
|
async function setVariableMitra(options) {
|
|
129
|
-
var _a;
|
|
130
|
-
const config = getConfig();
|
|
131
121
|
const body = {
|
|
132
|
-
projectId:
|
|
122
|
+
projectId: options.projectId,
|
|
133
123
|
key: options.key
|
|
134
124
|
};
|
|
135
125
|
if (options.value !== void 0) {
|
|
@@ -138,10 +128,8 @@ async function setVariableMitra(options) {
|
|
|
138
128
|
return http.post("/agentAiShortcut/setVariable", body);
|
|
139
129
|
}
|
|
140
130
|
async function executeServerFunctionMitra(options) {
|
|
141
|
-
var _a;
|
|
142
|
-
const config = getConfig();
|
|
143
131
|
const body = {
|
|
144
|
-
projectId:
|
|
132
|
+
projectId: options.projectId,
|
|
145
133
|
serverfunctionId: options.serverfunctionId
|
|
146
134
|
};
|
|
147
135
|
if (options.params !== void 0) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/config.ts","../src/client.ts","../src/services.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Mitra Interactions SDK - Configuração\n */\n\nexport interface MitraConfig {\n /** URL base da API (ex: https://api.mitra.com) */\n baseURL: string;\n /** Token JWT para autenticação */\n token: string;\n /** ID do projeto (opcional, pode ser passado em cada chamada) */\n projectId?: number;\n /** Timeout em ms (padrão: 30000) */\n timeout?: number;\n}\n\nlet globalConfig: MitraConfig | null = null;\n\n/**\n * Configura o SDK globalmente\n */\nexport function configureSdkMitra(config: MitraConfig): void {\n if (!config.baseURL) {\n throw new Error('baseURL é obrigatório');\n }\n if (!config.token) {\n throw new Error('token é obrigatório');\n }\n\n globalConfig = {\n ...config,\n timeout: config.timeout ?? 30000\n };\n}\n\n/**\n * Obtém a configuração atual\n */\nexport function getConfig(): MitraConfig {\n if (!globalConfig) {\n throw new Error('SDK não configurado. Chame configureSdkMitra() primeiro.');\n }\n return globalConfig;\n}\n\n/**\n * Verifica se o SDK está configurado\n */\nexport function isConfigured(): boolean {\n return globalConfig !== null;\n}\n\n/**\n * Limpa a configuração\n */\nexport function clearConfig(): void {\n globalConfig = null;\n}\n","/**\n * Mitra Interactions SDK - HTTP Client\n */\n\nimport { getConfig } from './config';\n\n/**\n * Obtém a função fetch\n */\nfunction getFetch(): typeof fetch {\n if (typeof globalThis.fetch === 'function') {\n return globalThis.fetch;\n }\n throw new Error('fetch não disponível. Use Node.js 18+ ou instale node-fetch.');\n}\n\n/**\n * Formata o token para Authorization\n */\nfunction formatToken(token: string): string {\n return token.startsWith('Bearer ') ? token : `Bearer ${token}`;\n}\n\n/**\n * Constrói os headers\n */\nfunction buildHeaders(): Record<string, string> {\n const config = getConfig();\n return {\n 'Authorization': formatToken(config.token),\n 'Content-Type': 'application/json'\n };\n}\n\n/**\n * Constrói a URL\n */\nfunction buildUrl(endpoint: string): string {\n const config = getConfig();\n return `${config.baseURL}${endpoint}`;\n}\n\n/**\n * Cliente HTTP\n */\nexport const http = {\n async post<T>(endpoint: string, body?: unknown): Promise<T> {\n const fetchFn = getFetch();\n const config = getConfig();\n\n const controller = new AbortController();\n const timeout = config.timeout ?? 30000;\n const timeoutId = setTimeout(() => controller.abort(), timeout);\n\n try {\n const response = await fetchFn(buildUrl(endpoint), {\n method: 'POST',\n headers: buildHeaders(),\n body: body !== undefined ? JSON.stringify(body) : undefined,\n signal: controller.signal\n });\n\n const data = await response.json();\n\n if (!response.ok) {\n throw {\n message: data?.message || data?.error || `HTTP ${response.status}`,\n status: response.status,\n details: data\n };\n }\n\n return data as T;\n } finally {\n clearTimeout(timeoutId);\n }\n }\n};\n","/**\n * Mitra Interactions SDK - Services\n */\n\nimport { http } from './client';\nimport { getConfig } from './config';\nimport type {\n RunQueryOptions,\n ExecuteDbActionOptions,\n ExecuteActionOptions,\n SetFileStatusOptions,\n SetVariableOptions,\n ExecuteServerFunctionOptions\n} from './types';\n\n/**\n * POST /agentAiShortcut/runQuery\n * Executa query SELECT em um projeto\n */\nexport async function runQueryMitra(options: RunQueryOptions): Promise<unknown> {\n const config = getConfig();\n\n const body: Record<string, unknown> = {\n projectId: options.projectId ?? config.projectId,\n sql: options.sql\n };\n\n if (options.jdbcId !== undefined) {\n body.jdbcId = options.jdbcId;\n }\n\n return http.post('/agentAiShortcut/runQuery', body);\n}\n\n/**\n * POST /agentAiShortcut/executeDbAction\n * Executa uma DBAction (DML) cadastrada\n */\nexport async function executeDbActionMitra(options: ExecuteDbActionOptions): Promise<unknown> {\n const config = getConfig();\n\n const body: Record<string, unknown> = {\n projectId: options.projectId ?? config.projectId,\n dbactionId: options.dbactionId\n };\n\n if (options.params !== undefined) {\n body.params = options.params;\n }\n\n return http.post('/agentAiShortcut/executeDbAction', body);\n}\n\n/**\n * POST /agentAiShortcut/runAction\n * Executa uma Action (fluxo de ação) cadastrada\n */\nexport async function executeActionMitra(options: ExecuteActionOptions): Promise<unknown> {\n const config = getConfig();\n\n const body: Record<string, unknown> = {\n projectId: options.projectId ?? config.projectId,\n actionId: options.actionId\n };\n\n if (options.params !== undefined) {\n body.params = options.params;\n }\n\n return http.post('/agentAiShortcut/runAction', body);\n}\n\n/**\n * POST /agentAiShortcut/setFileStatus\n * Move arquivo do chat para PUBLIC ou LOADABLE\n */\nexport async function setFileStatusMitra(options: SetFileStatusOptions): Promise<unknown> {\n const config = getConfig();\n\n return http.post('/agentAiShortcut/setFileStatus', {\n projectId: options.projectId ?? config.projectId,\n fileName: options.fileName,\n targetPath: options.targetPath\n });\n}\n\n/**\n * POST /agentAiShortcut/setVariable\n * Cria ou atualiza uma variável customizada\n */\nexport async function setVariableMitra(options: SetVariableOptions): Promise<unknown> {\n const config = getConfig();\n\n const body: Record<string, unknown> = {\n projectId: options.projectId ?? config.projectId,\n key: options.key\n };\n\n if (options.value !== undefined) {\n body.value = options.value;\n }\n\n return http.post('/agentAiShortcut/setVariable', body);\n}\n\n/**\n * POST /agentAiShortcut/executeServerFunction\n * Executa uma Server Function cadastrada\n */\nexport async function executeServerFunctionMitra(options: ExecuteServerFunctionOptions): Promise<unknown> {\n const config = getConfig();\n\n const body: Record<string, unknown> = {\n projectId: options.projectId ?? config.projectId,\n serverfunctionId: options.serverfunctionId\n };\n\n if (options.params !== undefined) {\n body.args = options.params;\n }\n\n return http.post('/agentAiShortcut/executeServerFunction', body);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/config.ts","../src/client.ts","../src/services.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Mitra Interactions SDK - Configuração\n */\n\nexport interface MitraConfig {\n /** URL base da API (ex: https://api.mitra.com) */\n baseURL: string;\n /** Token JWT para autenticação */\n token: string;\n /** Timeout em ms (padrão: 30000) */\n timeout?: number;\n}\n\nlet globalConfig: MitraConfig | null = null;\n\n/**\n * Configura o SDK globalmente\n */\nexport function configureSdkMitra(config: MitraConfig): void {\n if (!config.baseURL) {\n throw new Error('baseURL é obrigatório');\n }\n if (!config.token) {\n throw new Error('token é obrigatório');\n }\n\n globalConfig = {\n ...config,\n timeout: config.timeout ?? 30000\n };\n}\n\n/**\n * Obtém a configuração atual\n */\nexport function getConfig(): MitraConfig {\n if (!globalConfig) {\n throw new Error('SDK não configurado. Chame configureSdkMitra() primeiro.');\n }\n return globalConfig;\n}\n\n/**\n * Verifica se o SDK está configurado\n */\nexport function isConfigured(): boolean {\n return globalConfig !== null;\n}\n\n/**\n * Limpa a configuração\n */\nexport function clearConfig(): void {\n globalConfig = null;\n}\n","/**\n * Mitra Interactions SDK - HTTP Client\n */\n\nimport { getConfig } from './config';\n\n/**\n * Obtém a função fetch\n */\nfunction getFetch(): typeof fetch {\n if (typeof globalThis.fetch === 'function') {\n return globalThis.fetch;\n }\n throw new Error('fetch não disponível. Use Node.js 18+ ou instale node-fetch.');\n}\n\n/**\n * Formata o token para Authorization\n */\nfunction formatToken(token: string): string {\n return token.startsWith('Bearer ') ? token : `Bearer ${token}`;\n}\n\n/**\n * Constrói os headers\n */\nfunction buildHeaders(): Record<string, string> {\n const config = getConfig();\n return {\n 'Authorization': formatToken(config.token),\n 'Content-Type': 'application/json'\n };\n}\n\n/**\n * Constrói a URL\n */\nfunction buildUrl(endpoint: string): string {\n const config = getConfig();\n return `${config.baseURL}${endpoint}`;\n}\n\n/**\n * Cliente HTTP\n */\nexport const http = {\n async post<T>(endpoint: string, body?: unknown): Promise<T> {\n const fetchFn = getFetch();\n const config = getConfig();\n\n const controller = new AbortController();\n const timeout = config.timeout ?? 30000;\n const timeoutId = setTimeout(() => controller.abort(), timeout);\n\n try {\n const response = await fetchFn(buildUrl(endpoint), {\n method: 'POST',\n headers: buildHeaders(),\n body: body !== undefined ? JSON.stringify(body) : undefined,\n signal: controller.signal\n });\n\n const data = await response.json();\n\n if (!response.ok) {\n throw {\n message: data?.message || data?.error || `HTTP ${response.status}`,\n status: response.status,\n details: data\n };\n }\n\n return data as T;\n } finally {\n clearTimeout(timeoutId);\n }\n }\n};\n","/**\n * Mitra Interactions SDK - Services\n */\n\nimport { http } from './client';\nimport type {\n RunQueryOptions,\n ExecuteDbActionOptions,\n ExecuteActionOptions,\n SetFileStatusOptions,\n SetVariableOptions,\n ExecuteServerFunctionOptions\n} from './types';\n\n/**\n * POST /agentAiShortcut/runQuery\n * Executa query SELECT em um projeto\n */\nexport async function runQueryMitra(options: RunQueryOptions): Promise<unknown> {\n const body: Record<string, unknown> = {\n projectId: options.projectId,\n sql: options.sql\n };\n\n if (options.jdbcId !== undefined) {\n body.jdbcId = options.jdbcId;\n }\n\n return http.post('/agentAiShortcut/runQuery', body);\n}\n\n/**\n * POST /agentAiShortcut/executeDbAction\n * Executa uma DBAction (DML) cadastrada\n */\nexport async function executeDbActionMitra(options: ExecuteDbActionOptions): Promise<unknown> {\n const body: Record<string, unknown> = {\n projectId: options.projectId,\n dbactionId: options.dbactionId\n };\n\n if (options.params !== undefined) {\n body.params = options.params;\n }\n\n return http.post('/agentAiShortcut/executeDbAction', body);\n}\n\n/**\n * POST /agentAiShortcut/runAction\n * Executa uma Action (fluxo de ação) cadastrada\n */\nexport async function executeActionMitra(options: ExecuteActionOptions): Promise<unknown> {\n const body: Record<string, unknown> = {\n projectId: options.projectId,\n actionId: options.actionId\n };\n\n if (options.params !== undefined) {\n body.params = options.params;\n }\n\n return http.post('/agentAiShortcut/runAction', body);\n}\n\n/**\n * POST /agentAiShortcut/setFileStatus\n * Move arquivo do chat para PUBLIC ou LOADABLE\n */\nexport async function setFileStatusMitra(options: SetFileStatusOptions): Promise<unknown> {\n return http.post('/agentAiShortcut/setFileStatus', {\n projectId: options.projectId,\n fileName: options.fileName,\n targetPath: options.targetPath\n });\n}\n\n/**\n * POST /agentAiShortcut/setVariable\n * Cria ou atualiza uma variável customizada\n */\nexport async function setVariableMitra(options: SetVariableOptions): Promise<unknown> {\n const body: Record<string, unknown> = {\n projectId: options.projectId,\n key: options.key\n };\n\n if (options.value !== undefined) {\n body.value = options.value;\n }\n\n return http.post('/agentAiShortcut/setVariable', body);\n}\n\n/**\n * POST /agentAiShortcut/executeServerFunction\n * Executa uma Server Function cadastrada\n */\nexport async function executeServerFunctionMitra(options: ExecuteServerFunctionOptions): Promise<unknown> {\n const body: Record<string, unknown> = {\n projectId: options.projectId,\n serverfunctionId: options.serverfunctionId\n };\n\n if (options.params !== undefined) {\n body.args = options.params;\n }\n\n return http.post('/agentAiShortcut/executeServerFunction', body);\n}\n"]}
|
package/dist/index.mjs
CHANGED
|
@@ -79,10 +79,8 @@ var http = {
|
|
|
79
79
|
|
|
80
80
|
// src/services.ts
|
|
81
81
|
async function runQueryMitra(options) {
|
|
82
|
-
var _a;
|
|
83
|
-
const config = getConfig();
|
|
84
82
|
const body = {
|
|
85
|
-
projectId:
|
|
83
|
+
projectId: options.projectId,
|
|
86
84
|
sql: options.sql
|
|
87
85
|
};
|
|
88
86
|
if (options.jdbcId !== void 0) {
|
|
@@ -91,10 +89,8 @@ async function runQueryMitra(options) {
|
|
|
91
89
|
return http.post("/agentAiShortcut/runQuery", body);
|
|
92
90
|
}
|
|
93
91
|
async function executeDbActionMitra(options) {
|
|
94
|
-
var _a;
|
|
95
|
-
const config = getConfig();
|
|
96
92
|
const body = {
|
|
97
|
-
projectId:
|
|
93
|
+
projectId: options.projectId,
|
|
98
94
|
dbactionId: options.dbactionId
|
|
99
95
|
};
|
|
100
96
|
if (options.params !== void 0) {
|
|
@@ -103,10 +99,8 @@ async function executeDbActionMitra(options) {
|
|
|
103
99
|
return http.post("/agentAiShortcut/executeDbAction", body);
|
|
104
100
|
}
|
|
105
101
|
async function executeActionMitra(options) {
|
|
106
|
-
var _a;
|
|
107
|
-
const config = getConfig();
|
|
108
102
|
const body = {
|
|
109
|
-
projectId:
|
|
103
|
+
projectId: options.projectId,
|
|
110
104
|
actionId: options.actionId
|
|
111
105
|
};
|
|
112
106
|
if (options.params !== void 0) {
|
|
@@ -115,19 +109,15 @@ async function executeActionMitra(options) {
|
|
|
115
109
|
return http.post("/agentAiShortcut/runAction", body);
|
|
116
110
|
}
|
|
117
111
|
async function setFileStatusMitra(options) {
|
|
118
|
-
var _a;
|
|
119
|
-
const config = getConfig();
|
|
120
112
|
return http.post("/agentAiShortcut/setFileStatus", {
|
|
121
|
-
projectId:
|
|
113
|
+
projectId: options.projectId,
|
|
122
114
|
fileName: options.fileName,
|
|
123
115
|
targetPath: options.targetPath
|
|
124
116
|
});
|
|
125
117
|
}
|
|
126
118
|
async function setVariableMitra(options) {
|
|
127
|
-
var _a;
|
|
128
|
-
const config = getConfig();
|
|
129
119
|
const body = {
|
|
130
|
-
projectId:
|
|
120
|
+
projectId: options.projectId,
|
|
131
121
|
key: options.key
|
|
132
122
|
};
|
|
133
123
|
if (options.value !== void 0) {
|
|
@@ -136,10 +126,8 @@ async function setVariableMitra(options) {
|
|
|
136
126
|
return http.post("/agentAiShortcut/setVariable", body);
|
|
137
127
|
}
|
|
138
128
|
async function executeServerFunctionMitra(options) {
|
|
139
|
-
var _a;
|
|
140
|
-
const config = getConfig();
|
|
141
129
|
const body = {
|
|
142
|
-
projectId:
|
|
130
|
+
projectId: options.projectId,
|
|
143
131
|
serverfunctionId: options.serverfunctionId
|
|
144
132
|
};
|
|
145
133
|
if (options.params !== void 0) {
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/config.ts","../src/client.ts","../src/services.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["/**\n * Mitra Interactions SDK - Configuração\n */\n\nexport interface MitraConfig {\n /** URL base da API (ex: https://api.mitra.com) */\n baseURL: string;\n /** Token JWT para autenticação */\n token: string;\n /** ID do projeto (opcional, pode ser passado em cada chamada) */\n projectId?: number;\n /** Timeout em ms (padrão: 30000) */\n timeout?: number;\n}\n\nlet globalConfig: MitraConfig | null = null;\n\n/**\n * Configura o SDK globalmente\n */\nexport function configureSdkMitra(config: MitraConfig): void {\n if (!config.baseURL) {\n throw new Error('baseURL é obrigatório');\n }\n if (!config.token) {\n throw new Error('token é obrigatório');\n }\n\n globalConfig = {\n ...config,\n timeout: config.timeout ?? 30000\n };\n}\n\n/**\n * Obtém a configuração atual\n */\nexport function getConfig(): MitraConfig {\n if (!globalConfig) {\n throw new Error('SDK não configurado. Chame configureSdkMitra() primeiro.');\n }\n return globalConfig;\n}\n\n/**\n * Verifica se o SDK está configurado\n */\nexport function isConfigured(): boolean {\n return globalConfig !== null;\n}\n\n/**\n * Limpa a configuração\n */\nexport function clearConfig(): void {\n globalConfig = null;\n}\n","/**\n * Mitra Interactions SDK - HTTP Client\n */\n\nimport { getConfig } from './config';\n\n/**\n * Obtém a função fetch\n */\nfunction getFetch(): typeof fetch {\n if (typeof globalThis.fetch === 'function') {\n return globalThis.fetch;\n }\n throw new Error('fetch não disponível. Use Node.js 18+ ou instale node-fetch.');\n}\n\n/**\n * Formata o token para Authorization\n */\nfunction formatToken(token: string): string {\n return token.startsWith('Bearer ') ? token : `Bearer ${token}`;\n}\n\n/**\n * Constrói os headers\n */\nfunction buildHeaders(): Record<string, string> {\n const config = getConfig();\n return {\n 'Authorization': formatToken(config.token),\n 'Content-Type': 'application/json'\n };\n}\n\n/**\n * Constrói a URL\n */\nfunction buildUrl(endpoint: string): string {\n const config = getConfig();\n return `${config.baseURL}${endpoint}`;\n}\n\n/**\n * Cliente HTTP\n */\nexport const http = {\n async post<T>(endpoint: string, body?: unknown): Promise<T> {\n const fetchFn = getFetch();\n const config = getConfig();\n\n const controller = new AbortController();\n const timeout = config.timeout ?? 30000;\n const timeoutId = setTimeout(() => controller.abort(), timeout);\n\n try {\n const response = await fetchFn(buildUrl(endpoint), {\n method: 'POST',\n headers: buildHeaders(),\n body: body !== undefined ? JSON.stringify(body) : undefined,\n signal: controller.signal\n });\n\n const data = await response.json();\n\n if (!response.ok) {\n throw {\n message: data?.message || data?.error || `HTTP ${response.status}`,\n status: response.status,\n details: data\n };\n }\n\n return data as T;\n } finally {\n clearTimeout(timeoutId);\n }\n }\n};\n","/**\n * Mitra Interactions SDK - Services\n */\n\nimport { http } from './client';\nimport { getConfig } from './config';\nimport type {\n RunQueryOptions,\n ExecuteDbActionOptions,\n ExecuteActionOptions,\n SetFileStatusOptions,\n SetVariableOptions,\n ExecuteServerFunctionOptions\n} from './types';\n\n/**\n * POST /agentAiShortcut/runQuery\n * Executa query SELECT em um projeto\n */\nexport async function runQueryMitra(options: RunQueryOptions): Promise<unknown> {\n const config = getConfig();\n\n const body: Record<string, unknown> = {\n projectId: options.projectId ?? config.projectId,\n sql: options.sql\n };\n\n if (options.jdbcId !== undefined) {\n body.jdbcId = options.jdbcId;\n }\n\n return http.post('/agentAiShortcut/runQuery', body);\n}\n\n/**\n * POST /agentAiShortcut/executeDbAction\n * Executa uma DBAction (DML) cadastrada\n */\nexport async function executeDbActionMitra(options: ExecuteDbActionOptions): Promise<unknown> {\n const config = getConfig();\n\n const body: Record<string, unknown> = {\n projectId: options.projectId ?? config.projectId,\n dbactionId: options.dbactionId\n };\n\n if (options.params !== undefined) {\n body.params = options.params;\n }\n\n return http.post('/agentAiShortcut/executeDbAction', body);\n}\n\n/**\n * POST /agentAiShortcut/runAction\n * Executa uma Action (fluxo de ação) cadastrada\n */\nexport async function executeActionMitra(options: ExecuteActionOptions): Promise<unknown> {\n const config = getConfig();\n\n const body: Record<string, unknown> = {\n projectId: options.projectId ?? config.projectId,\n actionId: options.actionId\n };\n\n if (options.params !== undefined) {\n body.params = options.params;\n }\n\n return http.post('/agentAiShortcut/runAction', body);\n}\n\n/**\n * POST /agentAiShortcut/setFileStatus\n * Move arquivo do chat para PUBLIC ou LOADABLE\n */\nexport async function setFileStatusMitra(options: SetFileStatusOptions): Promise<unknown> {\n const config = getConfig();\n\n return http.post('/agentAiShortcut/setFileStatus', {\n projectId: options.projectId ?? config.projectId,\n fileName: options.fileName,\n targetPath: options.targetPath\n });\n}\n\n/**\n * POST /agentAiShortcut/setVariable\n * Cria ou atualiza uma variável customizada\n */\nexport async function setVariableMitra(options: SetVariableOptions): Promise<unknown> {\n const config = getConfig();\n\n const body: Record<string, unknown> = {\n projectId: options.projectId ?? config.projectId,\n key: options.key\n };\n\n if (options.value !== undefined) {\n body.value = options.value;\n }\n\n return http.post('/agentAiShortcut/setVariable', body);\n}\n\n/**\n * POST /agentAiShortcut/executeServerFunction\n * Executa uma Server Function cadastrada\n */\nexport async function executeServerFunctionMitra(options: ExecuteServerFunctionOptions): Promise<unknown> {\n const config = getConfig();\n\n const body: Record<string, unknown> = {\n projectId: options.projectId ?? config.projectId,\n serverfunctionId: options.serverfunctionId\n };\n\n if (options.params !== undefined) {\n body.args = options.params;\n }\n\n return http.post('/agentAiShortcut/executeServerFunction', body);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/config.ts","../src/client.ts","../src/services.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["/**\n * Mitra Interactions SDK - Configuração\n */\n\nexport interface MitraConfig {\n /** URL base da API (ex: https://api.mitra.com) */\n baseURL: string;\n /** Token JWT para autenticação */\n token: string;\n /** Timeout em ms (padrão: 30000) */\n timeout?: number;\n}\n\nlet globalConfig: MitraConfig | null = null;\n\n/**\n * Configura o SDK globalmente\n */\nexport function configureSdkMitra(config: MitraConfig): void {\n if (!config.baseURL) {\n throw new Error('baseURL é obrigatório');\n }\n if (!config.token) {\n throw new Error('token é obrigatório');\n }\n\n globalConfig = {\n ...config,\n timeout: config.timeout ?? 30000\n };\n}\n\n/**\n * Obtém a configuração atual\n */\nexport function getConfig(): MitraConfig {\n if (!globalConfig) {\n throw new Error('SDK não configurado. Chame configureSdkMitra() primeiro.');\n }\n return globalConfig;\n}\n\n/**\n * Verifica se o SDK está configurado\n */\nexport function isConfigured(): boolean {\n return globalConfig !== null;\n}\n\n/**\n * Limpa a configuração\n */\nexport function clearConfig(): void {\n globalConfig = null;\n}\n","/**\n * Mitra Interactions SDK - HTTP Client\n */\n\nimport { getConfig } from './config';\n\n/**\n * Obtém a função fetch\n */\nfunction getFetch(): typeof fetch {\n if (typeof globalThis.fetch === 'function') {\n return globalThis.fetch;\n }\n throw new Error('fetch não disponível. Use Node.js 18+ ou instale node-fetch.');\n}\n\n/**\n * Formata o token para Authorization\n */\nfunction formatToken(token: string): string {\n return token.startsWith('Bearer ') ? token : `Bearer ${token}`;\n}\n\n/**\n * Constrói os headers\n */\nfunction buildHeaders(): Record<string, string> {\n const config = getConfig();\n return {\n 'Authorization': formatToken(config.token),\n 'Content-Type': 'application/json'\n };\n}\n\n/**\n * Constrói a URL\n */\nfunction buildUrl(endpoint: string): string {\n const config = getConfig();\n return `${config.baseURL}${endpoint}`;\n}\n\n/**\n * Cliente HTTP\n */\nexport const http = {\n async post<T>(endpoint: string, body?: unknown): Promise<T> {\n const fetchFn = getFetch();\n const config = getConfig();\n\n const controller = new AbortController();\n const timeout = config.timeout ?? 30000;\n const timeoutId = setTimeout(() => controller.abort(), timeout);\n\n try {\n const response = await fetchFn(buildUrl(endpoint), {\n method: 'POST',\n headers: buildHeaders(),\n body: body !== undefined ? JSON.stringify(body) : undefined,\n signal: controller.signal\n });\n\n const data = await response.json();\n\n if (!response.ok) {\n throw {\n message: data?.message || data?.error || `HTTP ${response.status}`,\n status: response.status,\n details: data\n };\n }\n\n return data as T;\n } finally {\n clearTimeout(timeoutId);\n }\n }\n};\n","/**\n * Mitra Interactions SDK - Services\n */\n\nimport { http } from './client';\nimport type {\n RunQueryOptions,\n ExecuteDbActionOptions,\n ExecuteActionOptions,\n SetFileStatusOptions,\n SetVariableOptions,\n ExecuteServerFunctionOptions\n} from './types';\n\n/**\n * POST /agentAiShortcut/runQuery\n * Executa query SELECT em um projeto\n */\nexport async function runQueryMitra(options: RunQueryOptions): Promise<unknown> {\n const body: Record<string, unknown> = {\n projectId: options.projectId,\n sql: options.sql\n };\n\n if (options.jdbcId !== undefined) {\n body.jdbcId = options.jdbcId;\n }\n\n return http.post('/agentAiShortcut/runQuery', body);\n}\n\n/**\n * POST /agentAiShortcut/executeDbAction\n * Executa uma DBAction (DML) cadastrada\n */\nexport async function executeDbActionMitra(options: ExecuteDbActionOptions): Promise<unknown> {\n const body: Record<string, unknown> = {\n projectId: options.projectId,\n dbactionId: options.dbactionId\n };\n\n if (options.params !== undefined) {\n body.params = options.params;\n }\n\n return http.post('/agentAiShortcut/executeDbAction', body);\n}\n\n/**\n * POST /agentAiShortcut/runAction\n * Executa uma Action (fluxo de ação) cadastrada\n */\nexport async function executeActionMitra(options: ExecuteActionOptions): Promise<unknown> {\n const body: Record<string, unknown> = {\n projectId: options.projectId,\n actionId: options.actionId\n };\n\n if (options.params !== undefined) {\n body.params = options.params;\n }\n\n return http.post('/agentAiShortcut/runAction', body);\n}\n\n/**\n * POST /agentAiShortcut/setFileStatus\n * Move arquivo do chat para PUBLIC ou LOADABLE\n */\nexport async function setFileStatusMitra(options: SetFileStatusOptions): Promise<unknown> {\n return http.post('/agentAiShortcut/setFileStatus', {\n projectId: options.projectId,\n fileName: options.fileName,\n targetPath: options.targetPath\n });\n}\n\n/**\n * POST /agentAiShortcut/setVariable\n * Cria ou atualiza uma variável customizada\n */\nexport async function setVariableMitra(options: SetVariableOptions): Promise<unknown> {\n const body: Record<string, unknown> = {\n projectId: options.projectId,\n key: options.key\n };\n\n if (options.value !== undefined) {\n body.value = options.value;\n }\n\n return http.post('/agentAiShortcut/setVariable', body);\n}\n\n/**\n * POST /agentAiShortcut/executeServerFunction\n * Executa uma Server Function cadastrada\n */\nexport async function executeServerFunctionMitra(options: ExecuteServerFunctionOptions): Promise<unknown> {\n const body: Record<string, unknown> = {\n projectId: options.projectId,\n serverfunctionId: options.serverfunctionId\n };\n\n if (options.params !== undefined) {\n body.args = options.params;\n }\n\n return http.post('/agentAiShortcut/executeServerFunction', body);\n}\n"]}
|