@fluwa-tool/sdk 1.0.53 → 1.0.54
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/dist/index.d.ts +0 -11
- package/dist/index.js +1 -47
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -9,21 +9,10 @@
|
|
|
9
9
|
import { FluwaConfig } from './types';
|
|
10
10
|
/**
|
|
11
11
|
* Inicializar Fluwa-Tool
|
|
12
|
-
* Deve ser chamado no início da aplicação
|
|
13
12
|
*/
|
|
14
13
|
export declare function initFluwaTool(partialConfig?: Partial<FluwaConfig>): Promise<void>;
|
|
15
|
-
/**
|
|
16
|
-
* Desativar Fluwa
|
|
17
|
-
*/
|
|
18
14
|
export declare function disableFluwaTool(): void;
|
|
19
|
-
/**
|
|
20
|
-
* Habilitar Fluwa
|
|
21
|
-
*/
|
|
22
15
|
export declare function enableFluwaTool(): Promise<void>;
|
|
23
|
-
/**
|
|
24
|
-
* Verificar se Fluwa está ativo
|
|
25
|
-
*/
|
|
26
|
-
export declare function isFluwaTooIialized(): boolean;
|
|
27
16
|
export * from './types';
|
|
28
17
|
export { Logger, LogLevel } from './core/Logger';
|
|
29
18
|
export { ConfigManager } from './core/Config';
|
package/dist/index.js
CHANGED
|
@@ -26,7 +26,6 @@ exports.FLUWA_INTERNAL_PATHS = exports.createFluwaSdkFilter = exports.UrlFilter
|
|
|
26
26
|
exports.initFluwaTool = initFluwaTool;
|
|
27
27
|
exports.disableFluwaTool = disableFluwaTool;
|
|
28
28
|
exports.enableFluwaTool = enableFluwaTool;
|
|
29
|
-
exports.isFluwaTooIialized = isFluwaTooIialized;
|
|
30
29
|
const types_1 = require("./types");
|
|
31
30
|
const Logger_1 = require("./core/Logger");
|
|
32
31
|
const Config_1 = require("./core/Config");
|
|
@@ -38,9 +37,6 @@ const RequestLogger_1 = require("./features/network/RequestLogger");
|
|
|
38
37
|
const MockResolver_1 = require("./features/network/MockResolver");
|
|
39
38
|
const UrlFilter_1 = require("./features/network/UrlFilter");
|
|
40
39
|
const IdGenerator_1 = require("./core/IdGenerator");
|
|
41
|
-
// ============================================
|
|
42
|
-
// ESTADO GLOBAL
|
|
43
|
-
// ============================================
|
|
44
40
|
let isInitialized = false;
|
|
45
41
|
let logger = Logger_1.defaultLogger;
|
|
46
42
|
let config;
|
|
@@ -51,12 +47,8 @@ let fetchInterceptor;
|
|
|
51
47
|
let xmlHttpRequestInterceptor;
|
|
52
48
|
let mockResolver;
|
|
53
49
|
let urlFilter = null; // URL filter para evitar loops infinitos
|
|
54
|
-
// ============================================
|
|
55
|
-
// INICIALIZAÇÃO
|
|
56
|
-
// ============================================
|
|
57
50
|
/**
|
|
58
51
|
* Inicializar Fluwa-Tool
|
|
59
|
-
* Deve ser chamado no início da aplicação
|
|
60
52
|
*/
|
|
61
53
|
async function initFluwaTool(partialConfig = {}) {
|
|
62
54
|
if (isInitialized) {
|
|
@@ -64,41 +56,25 @@ async function initFluwaTool(partialConfig = {}) {
|
|
|
64
56
|
return;
|
|
65
57
|
}
|
|
66
58
|
try {
|
|
67
|
-
// 1. Configurar
|
|
68
59
|
config = (0, Config_1.getConfigManager)(partialConfig);
|
|
69
60
|
logger = new Logger_1.Logger('Fluwa', config.getConfig().debug ? Logger_1.LogLevel.DEBUG : Logger_1.LogLevel.INFO);
|
|
70
61
|
logger.success('Inicializando Fluwa-Tool');
|
|
71
|
-
logger.debug('Configuração', config.getConfig());
|
|
72
62
|
if (!config.isEnabled()) {
|
|
73
63
|
logger.warn('Fluwa desativado via config.enabled=false');
|
|
74
64
|
return;
|
|
75
65
|
}
|
|
76
|
-
// 2. Gerar session ID
|
|
77
66
|
sessionId = IdGenerator_1.idGenerator.generate();
|
|
78
|
-
logger.debug(`Session ID: ${sessionId}`);
|
|
79
|
-
// 3. Criar clientes HTTP e WebSocket
|
|
80
67
|
const { requestTimeout, serverUrl } = config.getConfig();
|
|
81
68
|
httpClient = new HttpClient_1.HttpClient(serverUrl, logger, requestTimeout || 5000);
|
|
82
69
|
wsClient = new WebSocketClient_1.WebSocketClient(serverUrl, logger, config.getAppName());
|
|
83
|
-
// 4. Criar resolvedor de mocks
|
|
84
70
|
mockResolver = new MockResolver_1.MockResolver(httpClient, logger);
|
|
85
|
-
// 5. Criar logger de requisições
|
|
86
71
|
const requestLogger = new RequestLogger_1.RequestLogger(httpClient, logger);
|
|
87
|
-
// 6. ✅ Criar URL Filter para evitar loops infinitos
|
|
88
|
-
// Automatically excludes Fluwa server URLs and internal endpoints
|
|
89
72
|
const { excludedUrls } = config.getConfig();
|
|
90
73
|
urlFilter = (0, UrlFilter_1.createFluwaSdkFilter)(serverUrl, excludedUrls, config.getConfig().debug);
|
|
91
|
-
logger.debug(`URL Filter configurado com ${urlFilter.getExcludedPatterns().length} padrões excluídos`);
|
|
92
|
-
// 7. Criar interceptador de fetch
|
|
93
74
|
fetchInterceptor = new FetchInterceptor_1.FetchInterceptor(logger, requestLogger, mockResolver, sessionId, config.getAppName(), urlFilter);
|
|
94
|
-
// 7b. Criar interceptador de XMLHttpRequest (DESABILITADO)
|
|
95
|
-
// axios agora usa fetch via configureAxiosToUseFetch(), então não precisa mais de XHR
|
|
96
75
|
xmlHttpRequestInterceptor = new XMLHttpRequestInterceptor_1.XMLHttpRequestInterceptor(logger, requestLogger, mockResolver, sessionId, config.getAppName(), urlFilter);
|
|
97
|
-
// 8. Instalar interceptadores
|
|
98
76
|
fetchInterceptor.install();
|
|
99
|
-
xmlHttpRequestInterceptor.install();
|
|
100
|
-
// 9. Conectar WebSocket
|
|
101
|
-
logger.debug('Conectando ao WebSocket...');
|
|
77
|
+
xmlHttpRequestInterceptor.install();
|
|
102
78
|
try {
|
|
103
79
|
await wsClient.connect();
|
|
104
80
|
setupWebSocketListeners();
|
|
@@ -106,7 +82,6 @@ async function initFluwaTool(partialConfig = {}) {
|
|
|
106
82
|
catch (error) {
|
|
107
83
|
logger.warn('Falha ao conectar WebSocket, continuando em modo offline', error);
|
|
108
84
|
}
|
|
109
|
-
// 10. Enviar init session
|
|
110
85
|
wsClient.send({
|
|
111
86
|
type: types_1.WebSocketMessageType.INIT_SESSION,
|
|
112
87
|
sessionId,
|
|
@@ -120,9 +95,6 @@ async function initFluwaTool(partialConfig = {}) {
|
|
|
120
95
|
throw error;
|
|
121
96
|
}
|
|
122
97
|
}
|
|
123
|
-
/**
|
|
124
|
-
* Configurar listeners do WebSocket
|
|
125
|
-
*/
|
|
126
98
|
function setupWebSocketListeners() {
|
|
127
99
|
wsClient.on('message', (message) => {
|
|
128
100
|
try {
|
|
@@ -141,12 +113,6 @@ function setupWebSocketListeners() {
|
|
|
141
113
|
logger.error('Erro no WebSocket', error);
|
|
142
114
|
});
|
|
143
115
|
}
|
|
144
|
-
// ============================================
|
|
145
|
-
// CONTROLE
|
|
146
|
-
// ============================================
|
|
147
|
-
/**
|
|
148
|
-
* Desativar Fluwa
|
|
149
|
-
*/
|
|
150
116
|
function disableFluwaTool() {
|
|
151
117
|
if (!isInitialized) {
|
|
152
118
|
return;
|
|
@@ -157,9 +123,6 @@ function disableFluwaTool() {
|
|
|
157
123
|
isInitialized = false;
|
|
158
124
|
logger.success('Fluwa-Tool desativado');
|
|
159
125
|
}
|
|
160
|
-
/**
|
|
161
|
-
* Habilitar Fluwa
|
|
162
|
-
*/
|
|
163
126
|
async function enableFluwaTool() {
|
|
164
127
|
if (isInitialized) {
|
|
165
128
|
return;
|
|
@@ -175,15 +138,6 @@ async function enableFluwaTool() {
|
|
|
175
138
|
isInitialized = true;
|
|
176
139
|
logger.success('Fluwa-Tool habilitado');
|
|
177
140
|
}
|
|
178
|
-
/**
|
|
179
|
-
* Verificar se Fluwa está ativo
|
|
180
|
-
*/
|
|
181
|
-
function isFluwaTooIialized() {
|
|
182
|
-
return isInitialized;
|
|
183
|
-
}
|
|
184
|
-
// ============================================
|
|
185
|
-
// EXPORTS
|
|
186
|
-
// ============================================
|
|
187
141
|
__exportStar(require("./types"), exports);
|
|
188
142
|
var Logger_2 = require("./core/Logger");
|
|
189
143
|
Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return Logger_2.Logger; } });
|