@nahisaho/yata-global 1.6.6

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.
Files changed (45) hide show
  1. package/dist/api-client.d.ts +71 -0
  2. package/dist/api-client.d.ts.map +1 -0
  3. package/dist/api-client.js +165 -0
  4. package/dist/api-client.js.map +1 -0
  5. package/dist/cache-manager.d.ts +122 -0
  6. package/dist/cache-manager.d.ts.map +1 -0
  7. package/dist/cache-manager.js +376 -0
  8. package/dist/cache-manager.js.map +1 -0
  9. package/dist/index.d.ts +138 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +548 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/kgpr/index.d.ts +12 -0
  14. package/dist/kgpr/index.d.ts.map +1 -0
  15. package/dist/kgpr/index.js +12 -0
  16. package/dist/kgpr/index.js.map +1 -0
  17. package/dist/kgpr/kgpr-manager.d.ts +162 -0
  18. package/dist/kgpr/kgpr-manager.d.ts.map +1 -0
  19. package/dist/kgpr/kgpr-manager.js +465 -0
  20. package/dist/kgpr/kgpr-manager.js.map +1 -0
  21. package/dist/kgpr/merge-engine.d.ts +269 -0
  22. package/dist/kgpr/merge-engine.d.ts.map +1 -0
  23. package/dist/kgpr/merge-engine.js +451 -0
  24. package/dist/kgpr/merge-engine.js.map +1 -0
  25. package/dist/kgpr/notification-service.d.ts +227 -0
  26. package/dist/kgpr/notification-service.d.ts.map +1 -0
  27. package/dist/kgpr/notification-service.js +440 -0
  28. package/dist/kgpr/notification-service.js.map +1 -0
  29. package/dist/kgpr/privacy-filter.d.ts +61 -0
  30. package/dist/kgpr/privacy-filter.d.ts.map +1 -0
  31. package/dist/kgpr/privacy-filter.js +191 -0
  32. package/dist/kgpr/privacy-filter.js.map +1 -0
  33. package/dist/kgpr/types.d.ts +303 -0
  34. package/dist/kgpr/types.d.ts.map +1 -0
  35. package/dist/kgpr/types.js +40 -0
  36. package/dist/kgpr/types.js.map +1 -0
  37. package/dist/sync-engine.d.ts +104 -0
  38. package/dist/sync-engine.d.ts.map +1 -0
  39. package/dist/sync-engine.js +275 -0
  40. package/dist/sync-engine.js.map +1 -0
  41. package/dist/types.d.ts +353 -0
  42. package/dist/types.d.ts.map +1 -0
  43. package/dist/types.js +19 -0
  44. package/dist/types.js.map +1 -0
  45. package/package.json +59 -0
@@ -0,0 +1,376 @@
1
+ /**
2
+ * YATA Global - Cache Manager
3
+ *
4
+ * Local caching for offline support and performance
5
+ *
6
+ * @packageDocumentation
7
+ * @module @nahisaho/yata-global
8
+ *
9
+ * @see REQ-YG-SYNC-003
10
+ */
11
+ import Database from 'better-sqlite3';
12
+ /**
13
+ * SQLite schema for cache
14
+ */
15
+ const CACHE_SCHEMA = `
16
+ -- Frameworks cache
17
+ CREATE TABLE IF NOT EXISTS frameworks (
18
+ id TEXT PRIMARY KEY,
19
+ data TEXT NOT NULL,
20
+ expires_at INTEGER,
21
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now') * 1000)
22
+ );
23
+
24
+ -- Patterns cache
25
+ CREATE TABLE IF NOT EXISTS patterns (
26
+ id TEXT PRIMARY KEY,
27
+ data TEXT NOT NULL,
28
+ expires_at INTEGER,
29
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now') * 1000)
30
+ );
31
+
32
+ -- Generic key-value cache
33
+ CREATE TABLE IF NOT EXISTS cache (
34
+ key TEXT PRIMARY KEY,
35
+ value TEXT NOT NULL,
36
+ expires_at INTEGER,
37
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now') * 1000)
38
+ );
39
+
40
+ -- Sync metadata
41
+ CREATE TABLE IF NOT EXISTS sync_meta (
42
+ key TEXT PRIMARY KEY,
43
+ value TEXT NOT NULL,
44
+ updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now') * 1000)
45
+ );
46
+
47
+ -- Indexes
48
+ CREATE INDEX IF NOT EXISTS idx_frameworks_expires ON frameworks(expires_at);
49
+ CREATE INDEX IF NOT EXISTS idx_patterns_expires ON patterns(expires_at);
50
+ CREATE INDEX IF NOT EXISTS idx_cache_expires ON cache(expires_at);
51
+ `;
52
+ /**
53
+ * Cache manager for offline support
54
+ */
55
+ export class CacheManager {
56
+ db;
57
+ config;
58
+ defaultTtl = 3600 * 1000; // 1 hour in ms
59
+ constructor(dbPath, config) {
60
+ this.db = new Database(dbPath);
61
+ this.config = config;
62
+ // Enable WAL mode for better performance
63
+ this.db.pragma('journal_mode = WAL');
64
+ // Initialize schema
65
+ this.db.exec(CACHE_SCHEMA);
66
+ }
67
+ /**
68
+ * Close database connection
69
+ */
70
+ close() {
71
+ this.db.close();
72
+ }
73
+ // ========================================
74
+ // Framework Cache
75
+ // ========================================
76
+ /**
77
+ * Cache a framework
78
+ */
79
+ cacheFramework(framework, ttl) {
80
+ const expiresAt = ttl ? Date.now() + ttl : Date.now() + this.defaultTtl;
81
+ const stmt = this.db.prepare(`
82
+ INSERT OR REPLACE INTO frameworks (id, data, expires_at, created_at)
83
+ VALUES (?, ?, ?, ?)
84
+ `);
85
+ stmt.run(framework.id, JSON.stringify(framework), expiresAt, Date.now());
86
+ }
87
+ /**
88
+ * Cache multiple frameworks
89
+ */
90
+ cacheFrameworks(frameworks, ttl) {
91
+ const expiresAt = ttl ? Date.now() + ttl : Date.now() + this.defaultTtl;
92
+ const stmt = this.db.prepare(`
93
+ INSERT OR REPLACE INTO frameworks (id, data, expires_at, created_at)
94
+ VALUES (?, ?, ?, ?)
95
+ `);
96
+ const insert = this.db.transaction((fws) => {
97
+ for (const fw of fws) {
98
+ stmt.run(fw.id, JSON.stringify(fw), expiresAt, Date.now());
99
+ }
100
+ });
101
+ insert(frameworks);
102
+ }
103
+ /**
104
+ * Get cached framework
105
+ */
106
+ getFramework(id) {
107
+ const stmt = this.db.prepare(`
108
+ SELECT data FROM frameworks
109
+ WHERE id = ? AND (expires_at IS NULL OR expires_at > ?)
110
+ `);
111
+ const row = stmt.get(id, Date.now());
112
+ return row ? this.parseFramework(row.data) : null;
113
+ }
114
+ /**
115
+ * Get all cached frameworks
116
+ */
117
+ getAllFrameworks() {
118
+ const stmt = this.db.prepare(`
119
+ SELECT data FROM frameworks
120
+ WHERE expires_at IS NULL OR expires_at > ?
121
+ `);
122
+ const rows = stmt.all(Date.now());
123
+ return rows.map(row => this.parseFramework(row.data)).filter((f) => f !== null);
124
+ }
125
+ /**
126
+ * Parse framework JSON with date conversion
127
+ */
128
+ parseFramework(json) {
129
+ try {
130
+ const data = JSON.parse(json);
131
+ return {
132
+ ...data,
133
+ updatedAt: new Date(data.updatedAt),
134
+ createdAt: new Date(data.createdAt),
135
+ };
136
+ }
137
+ catch {
138
+ return null;
139
+ }
140
+ }
141
+ // ========================================
142
+ // Pattern Cache
143
+ // ========================================
144
+ /**
145
+ * Cache a pattern
146
+ */
147
+ cachePattern(pattern, ttl) {
148
+ const expiresAt = ttl ? Date.now() + ttl : Date.now() + this.defaultTtl;
149
+ const stmt = this.db.prepare(`
150
+ INSERT OR REPLACE INTO patterns (id, data, expires_at, created_at)
151
+ VALUES (?, ?, ?, ?)
152
+ `);
153
+ stmt.run(pattern.id, JSON.stringify(pattern), expiresAt, Date.now());
154
+ }
155
+ /**
156
+ * Cache multiple patterns
157
+ */
158
+ cachePatterns(patterns, ttl) {
159
+ const expiresAt = ttl ? Date.now() + ttl : Date.now() + this.defaultTtl;
160
+ const stmt = this.db.prepare(`
161
+ INSERT OR REPLACE INTO patterns (id, data, expires_at, created_at)
162
+ VALUES (?, ?, ?, ?)
163
+ `);
164
+ const insert = this.db.transaction((ps) => {
165
+ for (const p of ps) {
166
+ stmt.run(p.id, JSON.stringify(p), expiresAt, Date.now());
167
+ }
168
+ });
169
+ insert(patterns);
170
+ }
171
+ /**
172
+ * Get cached pattern
173
+ */
174
+ getPattern(id) {
175
+ const stmt = this.db.prepare(`
176
+ SELECT data FROM patterns
177
+ WHERE id = ? AND (expires_at IS NULL OR expires_at > ?)
178
+ `);
179
+ const row = stmt.get(id, Date.now());
180
+ return row ? this.parsePattern(row.data) : null;
181
+ }
182
+ /**
183
+ * Get all cached patterns
184
+ */
185
+ getAllPatterns() {
186
+ const stmt = this.db.prepare(`
187
+ SELECT data FROM patterns
188
+ WHERE expires_at IS NULL OR expires_at > ?
189
+ `);
190
+ const rows = stmt.all(Date.now());
191
+ return rows.map(row => this.parsePattern(row.data)).filter((p) => p !== null);
192
+ }
193
+ /**
194
+ * Parse pattern JSON with date conversion
195
+ */
196
+ parsePattern(json) {
197
+ try {
198
+ const data = JSON.parse(json);
199
+ return {
200
+ ...data,
201
+ updatedAt: new Date(data.updatedAt),
202
+ createdAt: new Date(data.createdAt),
203
+ };
204
+ }
205
+ catch {
206
+ return null;
207
+ }
208
+ }
209
+ // ========================================
210
+ // Generic Cache
211
+ // ========================================
212
+ /**
213
+ * Set generic cache value
214
+ */
215
+ set(key, value, ttl) {
216
+ const expiresAt = ttl ? Date.now() + ttl : null;
217
+ const stmt = this.db.prepare(`
218
+ INSERT OR REPLACE INTO cache (key, value, expires_at, created_at)
219
+ VALUES (?, ?, ?, ?)
220
+ `);
221
+ stmt.run(key, JSON.stringify(value), expiresAt, Date.now());
222
+ }
223
+ /**
224
+ * Get generic cache value
225
+ */
226
+ get(key) {
227
+ const stmt = this.db.prepare(`
228
+ SELECT value FROM cache
229
+ WHERE key = ? AND (expires_at IS NULL OR expires_at > ?)
230
+ `);
231
+ const row = stmt.get(key, Date.now());
232
+ if (!row)
233
+ return null;
234
+ try {
235
+ return JSON.parse(row.value);
236
+ }
237
+ catch {
238
+ return null;
239
+ }
240
+ }
241
+ /**
242
+ * Delete cache entry
243
+ */
244
+ delete(key) {
245
+ const stmt = this.db.prepare('DELETE FROM cache WHERE key = ?');
246
+ const result = stmt.run(key);
247
+ return result.changes > 0;
248
+ }
249
+ /**
250
+ * Check if key exists and is valid
251
+ */
252
+ has(key) {
253
+ const stmt = this.db.prepare(`
254
+ SELECT 1 FROM cache
255
+ WHERE key = ? AND (expires_at IS NULL OR expires_at > ?)
256
+ `);
257
+ return stmt.get(key, Date.now()) !== undefined;
258
+ }
259
+ // ========================================
260
+ // Sync Metadata
261
+ // ========================================
262
+ /**
263
+ * Set sync metadata
264
+ */
265
+ setSyncMeta(key, value) {
266
+ const stmt = this.db.prepare(`
267
+ INSERT OR REPLACE INTO sync_meta (key, value, updated_at)
268
+ VALUES (?, ?, ?)
269
+ `);
270
+ stmt.run(key, value, Date.now());
271
+ }
272
+ /**
273
+ * Get sync metadata
274
+ */
275
+ getSyncMeta(key) {
276
+ const stmt = this.db.prepare('SELECT value FROM sync_meta WHERE key = ?');
277
+ const row = stmt.get(key);
278
+ return row?.value ?? null;
279
+ }
280
+ /**
281
+ * Get last sync timestamp
282
+ */
283
+ getLastSyncTime() {
284
+ const value = this.getSyncMeta('last_sync');
285
+ return value ? new Date(parseInt(value, 10)) : null;
286
+ }
287
+ /**
288
+ * Set last sync timestamp
289
+ */
290
+ setLastSyncTime(time) {
291
+ this.setSyncMeta('last_sync', time.getTime().toString());
292
+ }
293
+ // ========================================
294
+ // Cache Management
295
+ // ========================================
296
+ /**
297
+ * Clear expired entries
298
+ */
299
+ clearExpired() {
300
+ const now = Date.now();
301
+ let cleared = 0;
302
+ const tables = ['frameworks', 'patterns', 'cache'];
303
+ for (const table of tables) {
304
+ const stmt = this.db.prepare(`DELETE FROM ${table} WHERE expires_at IS NOT NULL AND expires_at <= ?`);
305
+ const result = stmt.run(now);
306
+ cleared += result.changes;
307
+ }
308
+ return cleared;
309
+ }
310
+ /**
311
+ * Clear all cache
312
+ */
313
+ clearAll() {
314
+ this.db.exec(`
315
+ DELETE FROM frameworks;
316
+ DELETE FROM patterns;
317
+ DELETE FROM cache;
318
+ `);
319
+ }
320
+ /**
321
+ * Get cache size in bytes
322
+ */
323
+ getCacheSize() {
324
+ const stmt = this.db.prepare(`
325
+ SELECT page_count * page_size as size FROM pragma_page_count(), pragma_page_size()
326
+ `);
327
+ const row = stmt.get();
328
+ return row?.size ?? 0;
329
+ }
330
+ /**
331
+ * Get cache statistics
332
+ */
333
+ getStats() {
334
+ const fwCount = this.db.prepare('SELECT COUNT(*) as count FROM frameworks WHERE expires_at IS NULL OR expires_at > ?').get(Date.now());
335
+ const pCount = this.db.prepare('SELECT COUNT(*) as count FROM patterns WHERE expires_at IS NULL OR expires_at > ?').get(Date.now());
336
+ const cacheCount = this.db.prepare('SELECT COUNT(*) as count FROM cache WHERE expires_at IS NULL OR expires_at > ?').get(Date.now());
337
+ return {
338
+ frameworkCount: fwCount.count,
339
+ patternCount: pCount.count,
340
+ cacheEntries: cacheCount.count,
341
+ sizeBytes: this.getCacheSize(),
342
+ };
343
+ }
344
+ /**
345
+ * Enforce maximum cache size
346
+ */
347
+ enforceMaxSize() {
348
+ const currentSize = this.getCacheSize();
349
+ if (currentSize <= this.config.maxCacheSize)
350
+ return;
351
+ // Clear expired first
352
+ this.clearExpired();
353
+ // If still too large, clear oldest entries
354
+ if (this.getCacheSize() > this.config.maxCacheSize) {
355
+ // Delete oldest 20% of cache entries
356
+ const tables = ['frameworks', 'patterns', 'cache'];
357
+ for (const table of tables) {
358
+ const countStmt = this.db.prepare(`SELECT COUNT(*) as count FROM ${table}`);
359
+ const { count } = countStmt.get();
360
+ const toDelete = Math.ceil(count * 0.2);
361
+ if (toDelete > 0) {
362
+ const deleteStmt = this.db.prepare(`
363
+ DELETE FROM ${table}
364
+ WHERE rowid IN (
365
+ SELECT rowid FROM ${table}
366
+ ORDER BY created_at ASC
367
+ LIMIT ?
368
+ )
369
+ `);
370
+ deleteStmt.run(toDelete);
371
+ }
372
+ }
373
+ }
374
+ }
375
+ }
376
+ //# sourceMappingURL=cache-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-manager.js","sourceRoot":"","sources":["../src/cache-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ /**
2
+ * YATA Global - Main Client
3
+ *
4
+ * @packageDocumentation
5
+ * @module @nahisaho/yata-global
6
+ *
7
+ * @see REQ-YATA-GLOBAL-001
8
+ */
9
+ import { EventEmitter } from 'events';
10
+ import type { FrameworkKnowledge, FrameworkCategory, SharedPattern, SearchOptions, SearchResult, SyncConfig, SyncResult, SyncStatus, AuthToken, User, AnalyticsData, YataGlobalClient } from './types.js';
11
+ /**
12
+ * YATA Global main client
13
+ */
14
+ export declare class YataGlobal extends EventEmitter implements YataGlobalClient {
15
+ private config;
16
+ private apiClient;
17
+ private cacheManager;
18
+ private syncEngine;
19
+ private currentUser;
20
+ constructor(config?: Partial<SyncConfig>);
21
+ /**
22
+ * Close connections and cleanup
23
+ */
24
+ close(): void;
25
+ /**
26
+ * Update configuration
27
+ */
28
+ configure(config: Partial<SyncConfig>): void;
29
+ /**
30
+ * Get current configuration
31
+ */
32
+ getConfig(): SyncConfig;
33
+ /**
34
+ * Login with username/password
35
+ */
36
+ login(credentials: {
37
+ username: string;
38
+ password: string;
39
+ }): Promise<AuthToken>;
40
+ /**
41
+ * Login with existing token
42
+ */
43
+ loginWithToken(token: string): Promise<AuthToken>;
44
+ /**
45
+ * Logout
46
+ */
47
+ logout(): Promise<void>;
48
+ /**
49
+ * Check if authenticated
50
+ */
51
+ isAuthenticated(): boolean;
52
+ /**
53
+ * Fetch current user info
54
+ */
55
+ private fetchCurrentUser;
56
+ /**
57
+ * Get framework by ID
58
+ */
59
+ getFramework(id: string): Promise<FrameworkKnowledge | null>;
60
+ /**
61
+ * Search frameworks
62
+ */
63
+ searchFrameworks(options: SearchOptions): Promise<SearchResult<FrameworkKnowledge>>;
64
+ /**
65
+ * Get frameworks by category
66
+ */
67
+ getFrameworksByCategory(category: FrameworkCategory): Promise<FrameworkKnowledge[]>;
68
+ /**
69
+ * Filter frameworks by search options
70
+ */
71
+ private filterFrameworks;
72
+ /**
73
+ * Get pattern by ID
74
+ */
75
+ getPattern(id: string): Promise<SharedPattern | null>;
76
+ /**
77
+ * Search patterns
78
+ */
79
+ searchPatterns(options: SearchOptions): Promise<SearchResult<SharedPattern>>;
80
+ /**
81
+ * Share a new pattern
82
+ */
83
+ sharePattern(pattern: Omit<SharedPattern, 'id' | 'authorId' | 'rating' | 'downloads' | 'createdAt' | 'updatedAt'>): Promise<string>;
84
+ /**
85
+ * Rate a pattern
86
+ */
87
+ ratePattern(patternId: string, rating: 1 | 2 | 3 | 4 | 5): Promise<void>;
88
+ /**
89
+ * Delete a pattern
90
+ */
91
+ deletePattern(patternId: string): Promise<void>;
92
+ /**
93
+ * Filter patterns by search options
94
+ */
95
+ private filterPatterns;
96
+ /**
97
+ * Sort results by criteria
98
+ */
99
+ private sortResults;
100
+ /**
101
+ * Perform sync with server
102
+ */
103
+ sync(): Promise<SyncResult>;
104
+ /**
105
+ * Get current sync status
106
+ */
107
+ getSyncStatus(): SyncStatus;
108
+ /**
109
+ * Enable offline mode
110
+ */
111
+ enableOfflineMode(): void;
112
+ /**
113
+ * Disable offline mode
114
+ */
115
+ disableOfflineMode(): void;
116
+ /**
117
+ * Get analytics data
118
+ */
119
+ getAnalytics(): Promise<AnalyticsData>;
120
+ /**
121
+ * Get current user
122
+ */
123
+ getCurrentUser(): Promise<User | null>;
124
+ /**
125
+ * Update user profile
126
+ */
127
+ updateProfile(updates: Partial<User>): Promise<void>;
128
+ }
129
+ /**
130
+ * Create YATA Global client
131
+ */
132
+ export declare function createYataGlobal(config?: Partial<SyncConfig>): YataGlobal;
133
+ export * from './types.js';
134
+ export { ApiClient } from './api-client.js';
135
+ export { CacheManager } from './cache-manager.js';
136
+ export { SyncEngine } from './sync-engine.js';
137
+ export * from './kgpr/index.js';
138
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}