@aether-baas/core 3.1.7 → 3.2.0

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.
@@ -0,0 +1,3 @@
1
+ export { QueryCache, getQueryCache, resetQueryCache } from './query-cache.js';
2
+ export type { CacheOptions } from './query-cache.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC9E,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,5 @@
1
+ // =============================================================================
2
+ // @aether/core - Cache Module Index
3
+ // =============================================================================
4
+ export { QueryCache, getQueryCache, resetQueryCache } from './query-cache.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,oCAAoC;AACpC,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Opções do cache.
3
+ */
4
+ export interface CacheOptions {
5
+ /** TTL em milissegundos (padrão: 5 minutos) */
6
+ ttl?: number;
7
+ /** Tamanho máximo do cache (padrão: 100 entradas) */
8
+ maxSize?: number;
9
+ /** Se deve usar stale-while-revalidate */
10
+ staleWhileRevalidate?: boolean;
11
+ }
12
+ /**
13
+ * Cache de queries com TTL e invalidação.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const cache = new QueryCache({ ttl: 60000 }); // 1 minuto
18
+ *
19
+ * // Set
20
+ * cache.set('users:list', users);
21
+ *
22
+ * // Get (retorna null se expirado)
23
+ * const cached = cache.get('users:list');
24
+ *
25
+ * // Invalidate
26
+ * cache.invalidate('users:*'); // Invalida todos que começam com 'users:'
27
+ * ```
28
+ */
29
+ export declare class QueryCache {
30
+ private cache;
31
+ private ttl;
32
+ private maxSize;
33
+ private staleWhileRevalidate;
34
+ constructor(options?: CacheOptions);
35
+ /**
36
+ * Gera chave de cache para uma query.
37
+ */
38
+ static createKey(collection: string, options?: Record<string, unknown>): string;
39
+ /**
40
+ * Obtém valor do cache.
41
+ * Retorna null se não existir ou estiver expirado.
42
+ */
43
+ get<T>(key: string): T | null;
44
+ /**
45
+ * Verifica se cache está stale (expirado mas ainda válido para SWR).
46
+ */
47
+ isStale(key: string): boolean;
48
+ /**
49
+ * Define valor no cache.
50
+ */
51
+ set<T>(key: string, data: T): void;
52
+ /**
53
+ * Atualiza timestamp de uma entrada existente.
54
+ */
55
+ touch(key: string): void;
56
+ /**
57
+ * Invalida entradas que correspondem ao padrão.
58
+ * Suporta wildcard no final (ex: 'users:*').
59
+ */
60
+ invalidate(pattern: string): number;
61
+ /**
62
+ * Invalida todas as entradas de uma collection.
63
+ */
64
+ invalidateCollection(collection: string): number;
65
+ /**
66
+ * Limpa todo o cache.
67
+ */
68
+ clear(): void;
69
+ /**
70
+ * Retorna estatísticas do cache.
71
+ */
72
+ stats(): {
73
+ size: number;
74
+ maxSize: number;
75
+ ttl: number;
76
+ entries: Array<{
77
+ key: string;
78
+ age: number;
79
+ stale: boolean;
80
+ }>;
81
+ };
82
+ /**
83
+ * Remove a entrada mais antiga (LRU).
84
+ */
85
+ private evictOldest;
86
+ }
87
+ /**
88
+ * Obtém a instância global do cache.
89
+ */
90
+ export declare function getQueryCache(options?: CacheOptions): QueryCache;
91
+ /**
92
+ * Reseta o cache global (útil para testes).
93
+ */
94
+ export declare function resetQueryCache(): void;
95
+ //# sourceMappingURL=query-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-cache.d.ts","sourceRoot":"","sources":["../../src/cache/query-cache.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,UAAU;IACnB,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,oBAAoB,CAAU;gBAE1B,OAAO,GAAE,YAAiB;IAMtC;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAa/E;;;OAGG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAsB7B;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAQ7B;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;IAalC;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAOxB;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAgBnC;;OAEG;IACH,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAIhD;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,KAAK,IAAI;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,KAAK,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;KAChE;IAgBD;;OAEG;IACH,OAAO,CAAC,WAAW;CAatB;AAQD;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,UAAU,CAKhE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAGtC"}
@@ -0,0 +1,184 @@
1
+ // =============================================================================
2
+ // @aether/core - Query Cache
3
+ // =============================================================================
4
+ // Cache com TTL para queries do banco de dados.
5
+ // Reduz requisições e melhora performance significativamente.
6
+ // =============================================================================
7
+ /**
8
+ * Cache de queries com TTL e invalidação.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * const cache = new QueryCache({ ttl: 60000 }); // 1 minuto
13
+ *
14
+ * // Set
15
+ * cache.set('users:list', users);
16
+ *
17
+ * // Get (retorna null se expirado)
18
+ * const cached = cache.get('users:list');
19
+ *
20
+ * // Invalidate
21
+ * cache.invalidate('users:*'); // Invalida todos que começam com 'users:'
22
+ * ```
23
+ */
24
+ export class QueryCache {
25
+ cache = new Map();
26
+ ttl;
27
+ maxSize;
28
+ staleWhileRevalidate;
29
+ constructor(options = {}) {
30
+ this.ttl = options.ttl ?? 5 * 60 * 1000; // 5 minutos
31
+ this.maxSize = options.maxSize ?? 100;
32
+ this.staleWhileRevalidate = options.staleWhileRevalidate ?? true;
33
+ }
34
+ /**
35
+ * Gera chave de cache para uma query.
36
+ */
37
+ static createKey(collection, options) {
38
+ const base = `query:${collection}`;
39
+ if (!options || Object.keys(options).length === 0) {
40
+ return base;
41
+ }
42
+ // Sort keys para consistência
43
+ const sorted = Object.keys(options).sort().reduce((acc, key) => {
44
+ acc[key] = options[key];
45
+ return acc;
46
+ }, {});
47
+ return `${base}:${JSON.stringify(sorted)}`;
48
+ }
49
+ /**
50
+ * Obtém valor do cache.
51
+ * Retorna null se não existir ou estiver expirado.
52
+ */
53
+ get(key) {
54
+ const entry = this.cache.get(key);
55
+ if (!entry) {
56
+ return null;
57
+ }
58
+ const age = Date.now() - entry.timestamp;
59
+ const isExpired = age > this.ttl;
60
+ if (isExpired) {
61
+ // Se stale-while-revalidate está ativo, retorna stale mas marca para refresh
62
+ if (!this.staleWhileRevalidate) {
63
+ this.cache.delete(key);
64
+ return null;
65
+ }
66
+ // Retorna data stale (caller deve revalidar)
67
+ }
68
+ return entry.data;
69
+ }
70
+ /**
71
+ * Verifica se cache está stale (expirado mas ainda válido para SWR).
72
+ */
73
+ isStale(key) {
74
+ const entry = this.cache.get(key);
75
+ if (!entry)
76
+ return true;
77
+ const age = Date.now() - entry.timestamp;
78
+ return age > this.ttl;
79
+ }
80
+ /**
81
+ * Define valor no cache.
82
+ */
83
+ set(key, data) {
84
+ // Limpa cache se atingiu tamanho máximo (LRU simples)
85
+ if (this.cache.size >= this.maxSize) {
86
+ this.evictOldest();
87
+ }
88
+ this.cache.set(key, {
89
+ data,
90
+ timestamp: Date.now(),
91
+ key,
92
+ });
93
+ }
94
+ /**
95
+ * Atualiza timestamp de uma entrada existente.
96
+ */
97
+ touch(key) {
98
+ const entry = this.cache.get(key);
99
+ if (entry) {
100
+ entry.timestamp = Date.now();
101
+ }
102
+ }
103
+ /**
104
+ * Invalida entradas que correspondem ao padrão.
105
+ * Suporta wildcard no final (ex: 'users:*').
106
+ */
107
+ invalidate(pattern) {
108
+ let count = 0;
109
+ const isWildcard = pattern.endsWith('*');
110
+ const prefix = isWildcard ? pattern.slice(0, -1) : pattern;
111
+ for (const key of this.cache.keys()) {
112
+ const matches = isWildcard ? key.startsWith(prefix) : key === pattern;
113
+ if (matches) {
114
+ this.cache.delete(key);
115
+ count++;
116
+ }
117
+ }
118
+ return count;
119
+ }
120
+ /**
121
+ * Invalida todas as entradas de uma collection.
122
+ */
123
+ invalidateCollection(collection) {
124
+ return this.invalidate(`query:${collection}*`);
125
+ }
126
+ /**
127
+ * Limpa todo o cache.
128
+ */
129
+ clear() {
130
+ this.cache.clear();
131
+ }
132
+ /**
133
+ * Retorna estatísticas do cache.
134
+ */
135
+ stats() {
136
+ const now = Date.now();
137
+ const entries = Array.from(this.cache.entries()).map(([key, entry]) => ({
138
+ key,
139
+ age: now - entry.timestamp,
140
+ stale: (now - entry.timestamp) > this.ttl,
141
+ }));
142
+ return {
143
+ size: this.cache.size,
144
+ maxSize: this.maxSize,
145
+ ttl: this.ttl,
146
+ entries,
147
+ };
148
+ }
149
+ /**
150
+ * Remove a entrada mais antiga (LRU).
151
+ */
152
+ evictOldest() {
153
+ let oldest = null;
154
+ for (const [key, entry] of this.cache.entries()) {
155
+ if (!oldest || entry.timestamp < oldest.timestamp) {
156
+ oldest = { key, timestamp: entry.timestamp };
157
+ }
158
+ }
159
+ if (oldest) {
160
+ this.cache.delete(oldest.key);
161
+ }
162
+ }
163
+ }
164
+ // =============================================================================
165
+ // SINGLETON GLOBAL
166
+ // =============================================================================
167
+ let _globalCache = null;
168
+ /**
169
+ * Obtém a instância global do cache.
170
+ */
171
+ export function getQueryCache(options) {
172
+ if (!_globalCache) {
173
+ _globalCache = new QueryCache(options);
174
+ }
175
+ return _globalCache;
176
+ }
177
+ /**
178
+ * Reseta o cache global (útil para testes).
179
+ */
180
+ export function resetQueryCache() {
181
+ _globalCache?.clear();
182
+ _globalCache = null;
183
+ }
184
+ //# sourceMappingURL=query-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-cache.js","sourceRoot":"","sources":["../../src/cache/query-cache.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -13,11 +13,13 @@ export { createHttpClient } from './http/client.js';
13
13
  export type { RetryConfig, TokenProvider } from './http/client.js';
14
14
  export type { PartialBy, RequiredBy, NonNullableFields, StringKeyOf, User, LoginResponse, Session, TenantUser, TenantLoginCredentials, TenantRegisterCredentials, TenantLoginResponse, OAuthProvider, AuthState, AuthChangeEvent, AuthStateChangeCallback, BaseDocument, Document, CreateData, UpdateData, FilterOperator, FilterCondition, SortDirection, SortOption, PaginationOptions, QueryOptions, PaginatedResult, ListOptions, BatchOperation, RealtimeEvent, RealtimePayload, RealtimeCallback, Unsubscribe, RealtimeConnectionState, FileObject, UploadOptions, UploadProgress, ListFilesOptions, InvokeFunctionOptions, FunctionResult, PushPlatform, PushEnvironment, PushDevice, RegisterDeviceParams, SendPushParams, PushNotificationData, PushStatus, PushStats, AIMessageRole, AIMessage, AISource, AIAskOptions, AIChatOptions, AIChatMetadata, AIResponse, AIUsageInfo, AIPersonaConfig, ClientConfig, SuccessResult, ErrorResult, Result, } from './types/index.js';
15
15
  export { success, failure } from './types/index.js';
16
+ export { QueryCache, getQueryCache, resetQueryCache } from './cache/index.js';
17
+ export type { CacheOptions } from './cache/index.js';
16
18
  export type { SendPushResponse, PushLogEntry, ListPushLogsOptions, PushTriggerEvent, PushTriggerCondition, LookupFieldConfig, PushTrigger, CreatePushTriggerParams, } from './modules/push.js';
17
19
  export type { ChatOptions, AskResponse, Conversation, Message, FeedbackType, SemanticSearchOptions, SemanticSearchResult, GenerateOptions, } from './modules/ai.js';
18
20
  export type { SignInWithPasswordCredentials, SignUpCredentials, } from './modules/tenant-auth.js';
19
21
  export { detectEnvironment, isBrowser as isBrowserEnv, isReactNative, isNode, hasCustomEvent, hasLocalStorage as hasLocalStorageEnv, hasDom, hasWebSocket, hasFetch, safeDispatchEvent, safeConsole, } from './utils/environment.js';
20
22
  export type { RuntimeEnvironment } from './utils/environment.js';
21
- export declare const VERSION = "3.1.6";
23
+ export declare const VERSION = "3.2.0";
22
24
  export { PlataformaClient as default } from './client/index.js';
23
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -34,13 +34,17 @@ export { BrowserStorageAdapter, MemoryStorageAdapter, CookieStorageAdapter, Noop
34
34
  export { createHttpClient } from './http/client.js';
35
35
  export { success, failure } from './types/index.js';
36
36
  // =============================================================================
37
+ // CACHE
38
+ // =============================================================================
39
+ export { QueryCache, getQueryCache, resetQueryCache } from './cache/index.js';
40
+ // =============================================================================
37
41
  // ENVIRONMENT UTILS
38
42
  // =============================================================================
39
43
  export { detectEnvironment, isBrowser as isBrowserEnv, isReactNative, isNode, hasCustomEvent, hasLocalStorage as hasLocalStorageEnv, hasDom, hasWebSocket, hasFetch, safeDispatchEvent, safeConsole, } from './utils/environment.js';
40
44
  // =============================================================================
41
45
  // VERSION
42
46
  // =============================================================================
43
- export const VERSION = '3.1.6';
47
+ export const VERSION = '3.2.0';
44
48
  // =============================================================================
45
49
  // DEFAULT EXPORT
46
50
  // =============================================================================
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAChF,6DAA6D;AAC7D,GAAG;AACH,mEAAmE;AACnE,oEAAoE;AACpE,wDAAwD;AACxD,gFAAgF;AAEhF,gFAAgF;AAChF,SAAS;AACT,gFAAgF;AAEhF,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAA0C,MAAM,uBAAuB,CAAC;AAE/F,gFAAgF;AAChF,SAAS;AACT,gFAAgF;AAEhF,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EACd,OAAO,GACR,MAAM,mBAAmB,CAAC;AAI3B,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,SAAS,EACT,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAI/B,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAyFpD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAyCpD,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,OAAO,EACL,iBAAiB,EACjB,SAAS,IAAI,YAAY,EACzB,aAAa,EACb,MAAM,EACN,cAAc,EACd,eAAe,IAAI,kBAAkB,EACrC,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAIhC,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAChF,6DAA6D;AAC7D,GAAG;AACH,mEAAmE;AACnE,oEAAoE;AACpE,wDAAwD;AACxD,gFAAgF;AAEhF,gFAAgF;AAChF,SAAS;AACT,gFAAgF;AAEhF,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAA0C,MAAM,uBAAuB,CAAC;AAE/F,gFAAgF;AAChF,SAAS;AACT,gFAAgF;AAEhF,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EACd,OAAO,GACR,MAAM,mBAAmB,CAAC;AAI3B,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,SAAS,EACT,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAI/B,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAyFpD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEpD,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AA0C9E,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,OAAO,EACL,iBAAiB,EACjB,SAAS,IAAI,YAAY,EACzB,aAAa,EACb,MAAM,EACN,cAAc,EACd,eAAe,IAAI,kBAAkB,EACrC,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAIhC,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aether-baas/core",
3
- "version": "3.1.7",
4
- "description": "Aether SDK Core - Cliente principal para Aether BaaS",
3
+ "version": "3.2.0",
4
+ "description": "Aether SDK Core - Cliente principal para Aether BaaS com Cache integrado",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.js",