mitra-business-sdk
v1.0.2
Published
SDK para consumo de dados da plataforma Mitra com filtragem por perfil
Downloads
352
Maintainers
Readme
Mitra Business SDK
SDK para consumo de dados da plataforma Mitra com filtragem por perfil. Usa endpoints /businessAgentAiShortcut.
Diferente do mitra-interactions-sdk (acesso irrestrito para DEV), esta SDK sempre filtra por perfil:
- DEV/ADMIN: vê a soma de todos os perfis (recursos configurados em pelo menos 1 perfil)
- BUSINESS: vê apenas os recursos dos seus perfis
Instalação
npm install mitra-business-sdkConfiguração
import { configureSdkMitra } from 'mitra-business-sdk';
const sdk = configureSdkMitra({
baseURL: 'https://api.mitra.com',
token: 'seu-token-jwt-ou-sk_-ou-tsk_',
projectId: 123 // opcional
});Aceita JWT, API Keys (sk_) e Task API Keys (tsk_).
Instância isolada
import { createMitraBusinessInstance } from 'mitra-business-sdk';
const sdk = createMitraBusinessInstance({
baseURL: 'https://api.mitra.com',
token: 'sk_...',
projectId: 123
});
const context = await sdk.getProjectContext();Métodos
Projetos
getProjectsMitra()→GetProjectsResponse- Lista projetos vinculados à API key
import { getProjectsMitra } from 'mitra-business-sdk';
const projects = await getProjectsMitra();
// { status, result: [{ id, name, projects: [{ id, name, accessType }] }] }Contexto do Projeto
getProjectContextMitra({ projectId? })→GetProjectContextResponse- Contexto completo filtrado por perfil
import { getProjectContextMitra } from 'mitra-business-sdk';
const context = await getProjectContextMitra({ projectId: 123 });
// { status, result: { serverFunctions: [...], tables: [...], additionalInstructions, additionalBusinessInstructions } }
additionalInstructionsretornanullpara BUSINESS — apenas DEV/ADMIN vê instruções gerais.
Query
runQueryMitra({ projectId?, sql, jdbcId? })→RunQueryResponse- Executa SELECT filtrado por perfil
import { runQueryMitra } from 'mitra-business-sdk';
const result = await runQueryMitra({
projectId: 123,
sql: 'SELECT * FROM clientes LIMIT 10'
});
// { status, projectId, jdbcId, executionTime, result: { rows: [...], rowCount } }Tabelas são validadas contra o perfil do usuário. Se a query usa uma tabela fora do perfil, retorna 403.
Server Function
executeServerFunctionMitra({ projectId?, serverFunctionId, input? })→ExecuteServerFunctionResponse- Executa Server Function (síncrono, 60s timeout)
import { executeServerFunctionMitra } from 'mitra-business-sdk';
const result = await executeServerFunctionMitra({
projectId: 123,
serverFunctionId: 1,
input: { param1: 'valor' }
});
// { status, result: { executionId, executionStatus, output, logs, error, durationMs } }Server functions com
publicExecution=truepodem ser executadas sem estar no perfil.
TypeScript
import type {
MitraBusinessConfig,
GetProjectsResponse,
GetProjectContextOptions,
GetProjectContextResponse,
RunQueryOptions,
RunQueryResponse,
ExecuteServerFunctionOptions,
ExecuteServerFunctionResponse
} from 'mitra-business-sdk';Licença
MIT
