mitra-interactions-sdk 1.0.24 → 1.0.26

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 CHANGED
@@ -33,65 +33,33 @@ MITRA_BASE_URL=https://api.mitra.com
33
33
  MITRA_TOKEN=seu-jwt-token-da-plataforma-mitra
34
34
  ```
35
35
 
36
- ### configureMitra
37
-
38
- Auto-configura o SDK a partir dos query params da URL (`token` e `backURL`). Útil quando o SDK roda dentro de um iframe que recebe as credenciais via URL.
39
-
40
- ```typescript
41
- import { configureMitra } from 'mitra-interactions-sdk';
42
-
43
- const { configured } = configureMitra();
44
- // Se a URL contém ?token=xxx&backURL=xxx, o SDK é configurado automaticamente
45
- ```
46
-
47
36
  ## Autenticação (Login)
48
37
 
49
- O SDK oferece 3 métodos de login que autenticam o usuário e **auto-configuram o SDK** automaticamente.
50
-
51
- ### loginWithEmailMitra
52
-
53
- Login com email e senha.
38
+ Login via popup seguro hospedado no domínio Mitra. Credenciais nunca passam pelo código do desenvolvedor. O SDK é **auto-configurado** após o login.
54
39
 
55
40
  ```typescript
56
- import { loginWithEmailMitra } from 'mitra-interactions-sdk';
41
+ import { loginMitra } from 'mitra-interactions-sdk';
57
42
 
58
- const result = await loginWithEmailMitra({
59
- baseURL: 'https://api0.mitraecp.com:1005',
60
- email: 'user@example.com',
61
- password: 'senha123'
43
+ // Login com email e senha
44
+ const result = await loginMitra('email', {
45
+ authUrl: 'https://validacao.mitralab.io/auth/',
46
+ projectId: 123
62
47
  });
63
- // SDK auto-configurado, pronto pra usar
64
- // result: { token, type, merge: { userToken, backURL, userEmail, integrationURL, ... } }
65
- ```
66
-
67
- ### loginWithGoogleMitra
68
-
69
- Login via Google OAuth. Abre popup do Google automaticamente (sem dependências npm extras).
70
-
71
- ```typescript
72
- import { loginWithGoogleMitra } from 'mitra-interactions-sdk';
73
48
 
74
- const result = await loginWithGoogleMitra({
75
- baseURL: 'https://api0.mitraecp.com:1005',
76
- googleClientId: 'xxxxx.apps.googleusercontent.com'
49
+ // Login com Google
50
+ const result = await loginMitra('google', {
51
+ authUrl: 'https://validacao.mitralab.io/auth/',
52
+ projectId: 123
77
53
  });
78
- // SDK auto-configurado após login
79
- ```
80
-
81
- ### loginWithMicrosoftMitra
82
-
83
- Login via Microsoft OAuth. Abre popup da Microsoft automaticamente.
84
-
85
- > **Requisito:** Instale `@azure/msal-browser` separadamente: `npm install @azure/msal-browser`
86
54
 
87
- ```typescript
88
- import { loginWithMicrosoftMitra } from 'mitra-interactions-sdk';
89
-
90
- const result = await loginWithMicrosoftMitra({
91
- baseURL: 'https://api0.mitraecp.com:1005',
92
- msClientId: 'xxxxx-xxxx-xxxx-xxxx'
55
+ // Login com Microsoft
56
+ const result = await loginMitra('microsoft', {
57
+ authUrl: 'https://validacao.mitralab.io/auth/',
58
+ projectId: 123
93
59
  });
94
- // SDK auto-configurado após login
60
+
61
+ // authUrl e projectId são opcionais se já configurados via configureSdkMitra()
62
+ // result: { token, baseURL, integrationURL? }
95
63
  ```
96
64
 
97
65
  ## Métodos Disponíveis
@@ -179,7 +147,7 @@ const result = await stopServerFunctionExecutionMitra({
179
147
 
180
148
  ### Integrações
181
149
 
182
- > **Requisito:** A `integrationURL` deve ser configurada via `configureSdkMitra({ ..., integrationURL: 'https://api0.mitraecp.com:1003' })` ou via query param `integrationURL` (auto-config com `configureMitra()`).
150
+ > **Requisito:** A `integrationURL` deve ser configurada via `configureSdkMitra({ ..., integrationURL: 'https://api0.mitraecp.com:1003' })`.
183
151
 
184
152
  #### listIntegrationsMitra
185
153
 
@@ -301,16 +269,6 @@ const result2 = await listRecordsMitra({
301
269
  });
302
270
  ```
303
271
 
304
- ### logoutMitra
305
-
306
- Solicita logout ao app pai (Mitra Nuxt) via postMessage.
307
-
308
- ```typescript
309
- import { logoutMitra } from 'mitra-interactions-sdk';
310
-
311
- logoutMitra();
312
- ```
313
-
314
272
  ## Tipos TypeScript
315
273
 
316
274
  Todos os tipos estão incluídos:
@@ -319,9 +277,7 @@ Todos os tipos estão incluídos:
319
277
  import type {
320
278
  MitraConfig,
321
279
  // Login
322
- LoginWithEmailOptions,
323
- LoginWithGoogleOptions,
324
- LoginWithMicrosoftOptions,
280
+ LoginOptions,
325
281
  LoginResponse,
326
282
  // Options
327
283
  RunQueryOptions,
package/dist/index.d.mts CHANGED
@@ -1,40 +1,3 @@
1
- /**
2
- * Mitra Interactions SDK - Configuração
3
- */
4
- interface MitraConfig {
5
- /** URL base da API (ex: https://api.mitra.com) */
6
- baseURL: string;
7
- /** Token JWT para autenticação */
8
- token: string;
9
- /** URL base do serviço de integrações (ex: https://api0.mitraecp.com:1003) */
10
- integrationURL?: string;
11
- /** URL da página de autenticação Mitra (ex: https://coder.mitralab.io/auth/) */
12
- authUrl?: string;
13
- /** ID do projeto (usado como fallback nos métodos de login e serviços) */
14
- projectId?: number;
15
- }
16
- /**
17
- * Configura o SDK globalmente e persiste no localStorage.
18
- */
19
- declare function configureSdkMitra(config: MitraConfig): void;
20
- /**
21
- * Obtém a configuração atual
22
- */
23
- declare function getConfig(): MitraConfig;
24
- /**
25
- * Resolve projectId: usa o valor passado, senão pega do config salvo.
26
- */
27
- declare function resolveProjectId(projectId?: number): number;
28
- /**
29
- * Auto-configura o SDK.
30
- * 1. Verifica query params (token + backURL) — se encontrar, salva no store e configura.
31
- * 2. Se não tem params, tenta carregar do localStorage.
32
- * Retorna { configured: true } se configurou, ou { configured: false } caso contrário.
33
- */
34
- declare function configureMitra(): {
35
- configured: boolean;
36
- };
37
-
38
1
  /**
39
2
  * Mitra Interactions SDK - Types
40
3
  */
@@ -252,6 +215,66 @@ interface StopServerFunctionExecutionResponse {
252
215
  };
253
216
  }
254
217
 
218
+ /**
219
+ * Mitra Interactions SDK - Instance
220
+ *
221
+ * Permite múltiplas instâncias configuradas independentemente.
222
+ */
223
+
224
+ interface MitraInstance {
225
+ readonly config: MitraConfig;
226
+ login(method: 'email' | 'google' | 'microsoft', options?: LoginOptions): Promise<MitraInstance>;
227
+ loginWithEmail(options?: LoginOptions): Promise<MitraInstance>;
228
+ loginWithGoogle(options?: LoginOptions): Promise<MitraInstance>;
229
+ loginWithMicrosoft(options?: LoginOptions): Promise<MitraInstance>;
230
+ runQuery(options: RunQueryOptions): Promise<RunQueryResponse>;
231
+ executeDbAction(options: ExecuteDbActionOptions): Promise<ExecuteDbActionResponse>;
232
+ setFileStatus(options: SetFileStatusOptions): Promise<SetFileStatusResponse>;
233
+ setVariable(options: SetVariableOptions): Promise<SetVariableResponse>;
234
+ executeServerFunction(options: ExecuteServerFunctionOptions): Promise<ExecuteServerFunctionResponse>;
235
+ executeServerFunctionAsync(options: ExecuteServerFunctionAsyncOptions): Promise<ExecuteServerFunctionAsyncResponse>;
236
+ stopServerFunctionExecution(options: StopServerFunctionExecutionOptions): Promise<StopServerFunctionExecutionResponse>;
237
+ listIntegrations(options?: ListIntegrationsOptions): Promise<IntegrationResponse[]>;
238
+ callIntegration(options: CallIntegrationOptions): Promise<CallIntegrationResponse>;
239
+ listRecords(options: ListRecordsOptions): Promise<ListRecordsResponse>;
240
+ getRecord(options: GetRecordOptions): Promise<Record<string, any>>;
241
+ createRecord(options: CreateRecordOptions): Promise<Record<string, any>>;
242
+ updateRecord(options: UpdateRecordOptions): Promise<Record<string, any>>;
243
+ patchRecord(options: PatchRecordOptions): Promise<Record<string, any>>;
244
+ deleteRecord(options: DeleteRecordOptions): Promise<void>;
245
+ createRecordsBatch(options: CreateRecordsBatchOptions): Promise<Record<string, any>[]>;
246
+ }
247
+ declare function createMitraInstance(initialConfig: Partial<MitraConfig>): MitraInstance;
248
+
249
+ /**
250
+ * Mitra Interactions SDK - Configuração
251
+ */
252
+
253
+ interface MitraConfig {
254
+ /** URL base da API (ex: https://api.mitra.com) */
255
+ baseURL: string;
256
+ /** Token JWT para autenticação */
257
+ token: string;
258
+ /** URL base do serviço de integrações (ex: https://api0.mitraecp.com:1003) */
259
+ integrationURL?: string;
260
+ /** URL da página de autenticação Mitra (ex: https://coder.mitralab.io/auth/) */
261
+ authUrl?: string;
262
+ /** ID do projeto (usado como fallback nos métodos de login e serviços) */
263
+ projectId?: number;
264
+ }
265
+ /**
266
+ * Configura o SDK globalmente e retorna uma instância configurada.
267
+ */
268
+ declare function configureSdkMitra(config: MitraConfig): MitraInstance;
269
+ /**
270
+ * Obtém a configuração atual
271
+ */
272
+ declare function getConfig(): MitraConfig;
273
+ /**
274
+ * Resolve projectId: usa o valor passado, senão pega do config salvo.
275
+ */
276
+ declare function resolveProjectId(projectId?: number): number;
277
+
255
278
  /**
256
279
  * Mitra Interactions SDK - Autenticação
257
280
  *
@@ -280,6 +303,11 @@ declare function loginWithGoogleMitra(options?: LoginOptions): Promise<LoginResp
280
303
  * Se passados, sobrescrevem os valores salvos.
281
304
  */
282
305
  declare function loginWithMicrosoftMitra(options?: LoginOptions): Promise<LoginResponse>;
306
+ /**
307
+ * Login genérico via popup seguro Mitra.
308
+ * Recebe o método de login como string e delega para a função correspondente.
309
+ */
310
+ declare function loginMitra(method: 'email' | 'google' | 'microsoft', options?: LoginOptions): Promise<LoginResponse>;
283
311
 
284
312
  /**
285
313
  * Mitra Interactions SDK - Services
@@ -338,11 +366,5 @@ declare function updateRecordMitra(options: UpdateRecordOptions): Promise<Record
338
366
  declare function patchRecordMitra(options: PatchRecordOptions): Promise<Record<string, any>>;
339
367
  declare function deleteRecordMitra(options: DeleteRecordOptions): Promise<void>;
340
368
  declare function createRecordsBatchMitra(options: CreateRecordsBatchOptions): Promise<Record<string, any>[]>;
341
- /**
342
- * Realiza logout do SDK.
343
- * - Se embarcado no Mitra (iframe): envia postMessage pro app pai solicitando logout.
344
- * - Se standalone: limpa config (memória + localStorage) e redireciona pro redirectPath se informado.
345
- */
346
- declare function logoutMitra(redirectPath?: string): void;
347
369
 
348
- export { type CallIntegrationOptions, type CallIntegrationResponse, type CreateRecordOptions, type CreateRecordsBatchOptions, type DeleteRecordOptions, type ExecuteDbActionOptions, type ExecuteDbActionResponse, type ExecuteServerFunctionAsyncOptions, type ExecuteServerFunctionAsyncResponse, type ExecuteServerFunctionOptions, type ExecuteServerFunctionResponse, type GetRecordOptions, type IntegrationResponse, type ListIntegrationsOptions, type ListRecordsOptions, type ListRecordsResponse, type LoginOptions, type LoginResponse, type MitraConfig, type PatchRecordOptions, type RunQueryOptions, type RunQueryResponse, type SetFileStatusOptions, type SetFileStatusResponse, type SetVariableOptions, type SetVariableResponse, type StopServerFunctionExecutionOptions, type StopServerFunctionExecutionResponse, type UpdateRecordOptions, callIntegrationMitra, configureMitra, configureSdkMitra, createRecordMitra, createRecordsBatchMitra, deleteRecordMitra, executeDbActionMitra, executeServerFunctionAsyncMitra, executeServerFunctionMitra, getConfig, getRecordMitra, listIntegrationsMitra, listRecordsMitra, loginWithEmailMitra, loginWithGoogleMitra, loginWithMicrosoftMitra, logoutMitra, patchRecordMitra, resolveProjectId, runQueryMitra, setFileStatusMitra, setVariableMitra, stopServerFunctionExecutionMitra, updateRecordMitra };
370
+ export { type CallIntegrationOptions, type CallIntegrationResponse, type CreateRecordOptions, type CreateRecordsBatchOptions, type DeleteRecordOptions, type ExecuteDbActionOptions, type ExecuteDbActionResponse, type ExecuteServerFunctionAsyncOptions, type ExecuteServerFunctionAsyncResponse, type ExecuteServerFunctionOptions, type ExecuteServerFunctionResponse, type GetRecordOptions, type IntegrationResponse, type ListIntegrationsOptions, type ListRecordsOptions, type ListRecordsResponse, type LoginOptions, type LoginResponse, type MitraConfig, type MitraInstance, type PatchRecordOptions, type RunQueryOptions, type RunQueryResponse, type SetFileStatusOptions, type SetFileStatusResponse, type SetVariableOptions, type SetVariableResponse, type StopServerFunctionExecutionOptions, type StopServerFunctionExecutionResponse, type UpdateRecordOptions, callIntegrationMitra, configureSdkMitra, createMitraInstance, createRecordMitra, createRecordsBatchMitra, deleteRecordMitra, executeDbActionMitra, executeServerFunctionAsyncMitra, executeServerFunctionMitra, getConfig, getRecordMitra, listIntegrationsMitra, listRecordsMitra, loginMitra, loginWithEmailMitra, loginWithGoogleMitra, loginWithMicrosoftMitra, patchRecordMitra, resolveProjectId, runQueryMitra, setFileStatusMitra, setVariableMitra, stopServerFunctionExecutionMitra, updateRecordMitra };
package/dist/index.d.ts CHANGED
@@ -1,40 +1,3 @@
1
- /**
2
- * Mitra Interactions SDK - Configuração
3
- */
4
- interface MitraConfig {
5
- /** URL base da API (ex: https://api.mitra.com) */
6
- baseURL: string;
7
- /** Token JWT para autenticação */
8
- token: string;
9
- /** URL base do serviço de integrações (ex: https://api0.mitraecp.com:1003) */
10
- integrationURL?: string;
11
- /** URL da página de autenticação Mitra (ex: https://coder.mitralab.io/auth/) */
12
- authUrl?: string;
13
- /** ID do projeto (usado como fallback nos métodos de login e serviços) */
14
- projectId?: number;
15
- }
16
- /**
17
- * Configura o SDK globalmente e persiste no localStorage.
18
- */
19
- declare function configureSdkMitra(config: MitraConfig): void;
20
- /**
21
- * Obtém a configuração atual
22
- */
23
- declare function getConfig(): MitraConfig;
24
- /**
25
- * Resolve projectId: usa o valor passado, senão pega do config salvo.
26
- */
27
- declare function resolveProjectId(projectId?: number): number;
28
- /**
29
- * Auto-configura o SDK.
30
- * 1. Verifica query params (token + backURL) — se encontrar, salva no store e configura.
31
- * 2. Se não tem params, tenta carregar do localStorage.
32
- * Retorna { configured: true } se configurou, ou { configured: false } caso contrário.
33
- */
34
- declare function configureMitra(): {
35
- configured: boolean;
36
- };
37
-
38
1
  /**
39
2
  * Mitra Interactions SDK - Types
40
3
  */
@@ -252,6 +215,66 @@ interface StopServerFunctionExecutionResponse {
252
215
  };
253
216
  }
254
217
 
218
+ /**
219
+ * Mitra Interactions SDK - Instance
220
+ *
221
+ * Permite múltiplas instâncias configuradas independentemente.
222
+ */
223
+
224
+ interface MitraInstance {
225
+ readonly config: MitraConfig;
226
+ login(method: 'email' | 'google' | 'microsoft', options?: LoginOptions): Promise<MitraInstance>;
227
+ loginWithEmail(options?: LoginOptions): Promise<MitraInstance>;
228
+ loginWithGoogle(options?: LoginOptions): Promise<MitraInstance>;
229
+ loginWithMicrosoft(options?: LoginOptions): Promise<MitraInstance>;
230
+ runQuery(options: RunQueryOptions): Promise<RunQueryResponse>;
231
+ executeDbAction(options: ExecuteDbActionOptions): Promise<ExecuteDbActionResponse>;
232
+ setFileStatus(options: SetFileStatusOptions): Promise<SetFileStatusResponse>;
233
+ setVariable(options: SetVariableOptions): Promise<SetVariableResponse>;
234
+ executeServerFunction(options: ExecuteServerFunctionOptions): Promise<ExecuteServerFunctionResponse>;
235
+ executeServerFunctionAsync(options: ExecuteServerFunctionAsyncOptions): Promise<ExecuteServerFunctionAsyncResponse>;
236
+ stopServerFunctionExecution(options: StopServerFunctionExecutionOptions): Promise<StopServerFunctionExecutionResponse>;
237
+ listIntegrations(options?: ListIntegrationsOptions): Promise<IntegrationResponse[]>;
238
+ callIntegration(options: CallIntegrationOptions): Promise<CallIntegrationResponse>;
239
+ listRecords(options: ListRecordsOptions): Promise<ListRecordsResponse>;
240
+ getRecord(options: GetRecordOptions): Promise<Record<string, any>>;
241
+ createRecord(options: CreateRecordOptions): Promise<Record<string, any>>;
242
+ updateRecord(options: UpdateRecordOptions): Promise<Record<string, any>>;
243
+ patchRecord(options: PatchRecordOptions): Promise<Record<string, any>>;
244
+ deleteRecord(options: DeleteRecordOptions): Promise<void>;
245
+ createRecordsBatch(options: CreateRecordsBatchOptions): Promise<Record<string, any>[]>;
246
+ }
247
+ declare function createMitraInstance(initialConfig: Partial<MitraConfig>): MitraInstance;
248
+
249
+ /**
250
+ * Mitra Interactions SDK - Configuração
251
+ */
252
+
253
+ interface MitraConfig {
254
+ /** URL base da API (ex: https://api.mitra.com) */
255
+ baseURL: string;
256
+ /** Token JWT para autenticação */
257
+ token: string;
258
+ /** URL base do serviço de integrações (ex: https://api0.mitraecp.com:1003) */
259
+ integrationURL?: string;
260
+ /** URL da página de autenticação Mitra (ex: https://coder.mitralab.io/auth/) */
261
+ authUrl?: string;
262
+ /** ID do projeto (usado como fallback nos métodos de login e serviços) */
263
+ projectId?: number;
264
+ }
265
+ /**
266
+ * Configura o SDK globalmente e retorna uma instância configurada.
267
+ */
268
+ declare function configureSdkMitra(config: MitraConfig): MitraInstance;
269
+ /**
270
+ * Obtém a configuração atual
271
+ */
272
+ declare function getConfig(): MitraConfig;
273
+ /**
274
+ * Resolve projectId: usa o valor passado, senão pega do config salvo.
275
+ */
276
+ declare function resolveProjectId(projectId?: number): number;
277
+
255
278
  /**
256
279
  * Mitra Interactions SDK - Autenticação
257
280
  *
@@ -280,6 +303,11 @@ declare function loginWithGoogleMitra(options?: LoginOptions): Promise<LoginResp
280
303
  * Se passados, sobrescrevem os valores salvos.
281
304
  */
282
305
  declare function loginWithMicrosoftMitra(options?: LoginOptions): Promise<LoginResponse>;
306
+ /**
307
+ * Login genérico via popup seguro Mitra.
308
+ * Recebe o método de login como string e delega para a função correspondente.
309
+ */
310
+ declare function loginMitra(method: 'email' | 'google' | 'microsoft', options?: LoginOptions): Promise<LoginResponse>;
283
311
 
284
312
  /**
285
313
  * Mitra Interactions SDK - Services
@@ -338,11 +366,5 @@ declare function updateRecordMitra(options: UpdateRecordOptions): Promise<Record
338
366
  declare function patchRecordMitra(options: PatchRecordOptions): Promise<Record<string, any>>;
339
367
  declare function deleteRecordMitra(options: DeleteRecordOptions): Promise<void>;
340
368
  declare function createRecordsBatchMitra(options: CreateRecordsBatchOptions): Promise<Record<string, any>[]>;
341
- /**
342
- * Realiza logout do SDK.
343
- * - Se embarcado no Mitra (iframe): envia postMessage pro app pai solicitando logout.
344
- * - Se standalone: limpa config (memória + localStorage) e redireciona pro redirectPath se informado.
345
- */
346
- declare function logoutMitra(redirectPath?: string): void;
347
369
 
348
- export { type CallIntegrationOptions, type CallIntegrationResponse, type CreateRecordOptions, type CreateRecordsBatchOptions, type DeleteRecordOptions, type ExecuteDbActionOptions, type ExecuteDbActionResponse, type ExecuteServerFunctionAsyncOptions, type ExecuteServerFunctionAsyncResponse, type ExecuteServerFunctionOptions, type ExecuteServerFunctionResponse, type GetRecordOptions, type IntegrationResponse, type ListIntegrationsOptions, type ListRecordsOptions, type ListRecordsResponse, type LoginOptions, type LoginResponse, type MitraConfig, type PatchRecordOptions, type RunQueryOptions, type RunQueryResponse, type SetFileStatusOptions, type SetFileStatusResponse, type SetVariableOptions, type SetVariableResponse, type StopServerFunctionExecutionOptions, type StopServerFunctionExecutionResponse, type UpdateRecordOptions, callIntegrationMitra, configureMitra, configureSdkMitra, createRecordMitra, createRecordsBatchMitra, deleteRecordMitra, executeDbActionMitra, executeServerFunctionAsyncMitra, executeServerFunctionMitra, getConfig, getRecordMitra, listIntegrationsMitra, listRecordsMitra, loginWithEmailMitra, loginWithGoogleMitra, loginWithMicrosoftMitra, logoutMitra, patchRecordMitra, resolveProjectId, runQueryMitra, setFileStatusMitra, setVariableMitra, stopServerFunctionExecutionMitra, updateRecordMitra };
370
+ export { type CallIntegrationOptions, type CallIntegrationResponse, type CreateRecordOptions, type CreateRecordsBatchOptions, type DeleteRecordOptions, type ExecuteDbActionOptions, type ExecuteDbActionResponse, type ExecuteServerFunctionAsyncOptions, type ExecuteServerFunctionAsyncResponse, type ExecuteServerFunctionOptions, type ExecuteServerFunctionResponse, type GetRecordOptions, type IntegrationResponse, type ListIntegrationsOptions, type ListRecordsOptions, type ListRecordsResponse, type LoginOptions, type LoginResponse, type MitraConfig, type MitraInstance, type PatchRecordOptions, type RunQueryOptions, type RunQueryResponse, type SetFileStatusOptions, type SetFileStatusResponse, type SetVariableOptions, type SetVariableResponse, type StopServerFunctionExecutionOptions, type StopServerFunctionExecutionResponse, type UpdateRecordOptions, callIntegrationMitra, configureSdkMitra, createMitraInstance, createRecordMitra, createRecordsBatchMitra, deleteRecordMitra, executeDbActionMitra, executeServerFunctionAsyncMitra, executeServerFunctionMitra, getConfig, getRecordMitra, listIntegrationsMitra, listRecordsMitra, loginMitra, loginWithEmailMitra, loginWithGoogleMitra, loginWithMicrosoftMitra, patchRecordMitra, resolveProjectId, runQueryMitra, setFileStatusMitra, setVariableMitra, stopServerFunctionExecutionMitra, updateRecordMitra };