@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,71 @@
1
+ /**
2
+ * YATA Global - HTTP API Client
3
+ *
4
+ * @packageDocumentation
5
+ * @module @nahisaho/yata-global
6
+ *
7
+ * @see REQ-YG-API-001
8
+ */
9
+ import type { ApiResponse, AuthToken, RateLimitInfo, SyncConfig } from './types.js';
10
+ /**
11
+ * HTTP client for YATA Global API
12
+ */
13
+ export declare class ApiClient {
14
+ private config;
15
+ private authToken;
16
+ private rateLimitInfo;
17
+ constructor(config?: Partial<SyncConfig>);
18
+ /**
19
+ * Set authentication token
20
+ */
21
+ setAuthToken(token: AuthToken | null): void;
22
+ /**
23
+ * Get current auth token
24
+ */
25
+ getAuthToken(): AuthToken | null;
26
+ /**
27
+ * Get rate limit info
28
+ */
29
+ getRateLimitInfo(): RateLimitInfo | null;
30
+ /**
31
+ * Update configuration
32
+ */
33
+ configure(config: Partial<SyncConfig>): void;
34
+ /**
35
+ * GET request
36
+ */
37
+ get<T>(path: string, params?: Record<string, string | number | boolean>): Promise<ApiResponse<T>>;
38
+ /**
39
+ * POST request
40
+ */
41
+ post<T>(path: string, body?: unknown): Promise<ApiResponse<T>>;
42
+ /**
43
+ * PUT request
44
+ */
45
+ put<T>(path: string, body?: unknown): Promise<ApiResponse<T>>;
46
+ /**
47
+ * DELETE request
48
+ */
49
+ delete<T>(path: string): Promise<ApiResponse<T>>;
50
+ /**
51
+ * Build full URL with query parameters
52
+ */
53
+ private buildUrl;
54
+ /**
55
+ * Execute HTTP request
56
+ */
57
+ private request;
58
+ /**
59
+ * Parse rate limit headers from response
60
+ */
61
+ private parseRateLimitHeaders;
62
+ /**
63
+ * Check if currently rate limited
64
+ */
65
+ isRateLimited(): boolean;
66
+ /**
67
+ * Get time until rate limit reset
68
+ */
69
+ getTimeUntilReset(): number;
70
+ }
71
+ //# sourceMappingURL=api-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,UAAU,EACX,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,aAAa,CAA8B;gBAEvC,MAAM,GAAE,OAAO,CAAC,UAAU,CAAM;IAI5C;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAI3C;;OAEG;IACH,YAAY,IAAI,SAAS,GAAG,IAAI;IAIhC;;OAEG;IACH,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAIxC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;IAI5C;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAKvG;;OAEG;IACG,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAKpE;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAKnE;;OAEG;IACG,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAKtD;;OAEG;IACH,OAAO,CAAC,QAAQ;IAehB;;OAEG;YACW,OAAO;IAkDrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAc7B;;OAEG;IACH,aAAa,IAAI,OAAO;IAKxB;;OAEG;IACH,iBAAiB,IAAI,MAAM;CAI5B"}
@@ -0,0 +1,165 @@
1
+ /**
2
+ * YATA Global - HTTP API Client
3
+ *
4
+ * @packageDocumentation
5
+ * @module @nahisaho/yata-global
6
+ *
7
+ * @see REQ-YG-API-001
8
+ */
9
+ import { DEFAULT_SYNC_CONFIG } from './types.js';
10
+ /**
11
+ * HTTP client for YATA Global API
12
+ */
13
+ export class ApiClient {
14
+ config;
15
+ authToken = null;
16
+ rateLimitInfo = null;
17
+ constructor(config = {}) {
18
+ this.config = { ...DEFAULT_SYNC_CONFIG, ...config };
19
+ }
20
+ /**
21
+ * Set authentication token
22
+ */
23
+ setAuthToken(token) {
24
+ this.authToken = token;
25
+ }
26
+ /**
27
+ * Get current auth token
28
+ */
29
+ getAuthToken() {
30
+ return this.authToken;
31
+ }
32
+ /**
33
+ * Get rate limit info
34
+ */
35
+ getRateLimitInfo() {
36
+ return this.rateLimitInfo;
37
+ }
38
+ /**
39
+ * Update configuration
40
+ */
41
+ configure(config) {
42
+ this.config = { ...this.config, ...config };
43
+ }
44
+ /**
45
+ * GET request
46
+ */
47
+ async get(path, params) {
48
+ const url = this.buildUrl(path, params);
49
+ return this.request('GET', url);
50
+ }
51
+ /**
52
+ * POST request
53
+ */
54
+ async post(path, body) {
55
+ const url = this.buildUrl(path);
56
+ return this.request('POST', url, body);
57
+ }
58
+ /**
59
+ * PUT request
60
+ */
61
+ async put(path, body) {
62
+ const url = this.buildUrl(path);
63
+ return this.request('PUT', url, body);
64
+ }
65
+ /**
66
+ * DELETE request
67
+ */
68
+ async delete(path) {
69
+ const url = this.buildUrl(path);
70
+ return this.request('DELETE', url);
71
+ }
72
+ /**
73
+ * Build full URL with query parameters
74
+ */
75
+ buildUrl(path, params) {
76
+ const base = this.config.endpoint.replace(/\/$/, '');
77
+ const url = new URL(`${base}${path}`);
78
+ if (params) {
79
+ Object.entries(params).forEach(([key, value]) => {
80
+ if (value !== undefined && value !== null) {
81
+ url.searchParams.set(key, String(value));
82
+ }
83
+ });
84
+ }
85
+ return url.toString();
86
+ }
87
+ /**
88
+ * Execute HTTP request
89
+ */
90
+ async request(method, url, body) {
91
+ const headers = {
92
+ 'Content-Type': 'application/json',
93
+ 'Accept': 'application/json',
94
+ };
95
+ // Add auth header if token exists
96
+ if (this.authToken) {
97
+ headers['Authorization'] = `${this.authToken.tokenType} ${this.authToken.accessToken}`;
98
+ }
99
+ // Add API key if configured
100
+ if (this.config.apiKey) {
101
+ headers['X-API-Key'] = this.config.apiKey;
102
+ }
103
+ try {
104
+ const response = await fetch(url, {
105
+ method,
106
+ headers,
107
+ body: body ? JSON.stringify(body) : undefined,
108
+ });
109
+ // Parse rate limit headers
110
+ this.parseRateLimitHeaders(response.headers);
111
+ // Parse response
112
+ const data = await response.json();
113
+ if (!response.ok) {
114
+ return {
115
+ success: false,
116
+ error: data.message || `HTTP ${response.status}`,
117
+ rateLimit: this.rateLimitInfo ?? undefined,
118
+ };
119
+ }
120
+ return {
121
+ success: true,
122
+ data,
123
+ rateLimit: this.rateLimitInfo ?? undefined,
124
+ };
125
+ }
126
+ catch (error) {
127
+ return {
128
+ success: false,
129
+ error: error instanceof Error ? error.message : 'Unknown error',
130
+ };
131
+ }
132
+ }
133
+ /**
134
+ * Parse rate limit headers from response
135
+ */
136
+ parseRateLimitHeaders(headers) {
137
+ const remaining = headers.get('X-RateLimit-Remaining');
138
+ const limit = headers.get('X-RateLimit-Limit');
139
+ const reset = headers.get('X-RateLimit-Reset');
140
+ if (remaining && limit && reset) {
141
+ this.rateLimitInfo = {
142
+ remaining: parseInt(remaining, 10),
143
+ limit: parseInt(limit, 10),
144
+ resetAt: new Date(parseInt(reset, 10) * 1000),
145
+ };
146
+ }
147
+ }
148
+ /**
149
+ * Check if currently rate limited
150
+ */
151
+ isRateLimited() {
152
+ if (!this.rateLimitInfo)
153
+ return false;
154
+ return this.rateLimitInfo.remaining <= 0 && this.rateLimitInfo.resetAt > new Date();
155
+ }
156
+ /**
157
+ * Get time until rate limit reset
158
+ */
159
+ getTimeUntilReset() {
160
+ if (!this.rateLimitInfo)
161
+ return 0;
162
+ return Math.max(0, this.rateLimitInfo.resetAt.getTime() - Date.now());
163
+ }
164
+ }
165
+ //# sourceMappingURL=api-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
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 type { FrameworkKnowledge, SharedPattern, SyncConfig } from './types.js';
12
+ /**
13
+ * Cache manager for offline support
14
+ */
15
+ export declare class CacheManager {
16
+ private db;
17
+ private config;
18
+ private defaultTtl;
19
+ constructor(dbPath: string, config: SyncConfig);
20
+ /**
21
+ * Close database connection
22
+ */
23
+ close(): void;
24
+ /**
25
+ * Cache a framework
26
+ */
27
+ cacheFramework(framework: FrameworkKnowledge, ttl?: number): void;
28
+ /**
29
+ * Cache multiple frameworks
30
+ */
31
+ cacheFrameworks(frameworks: FrameworkKnowledge[], ttl?: number): void;
32
+ /**
33
+ * Get cached framework
34
+ */
35
+ getFramework(id: string): FrameworkKnowledge | null;
36
+ /**
37
+ * Get all cached frameworks
38
+ */
39
+ getAllFrameworks(): FrameworkKnowledge[];
40
+ /**
41
+ * Parse framework JSON with date conversion
42
+ */
43
+ private parseFramework;
44
+ /**
45
+ * Cache a pattern
46
+ */
47
+ cachePattern(pattern: SharedPattern, ttl?: number): void;
48
+ /**
49
+ * Cache multiple patterns
50
+ */
51
+ cachePatterns(patterns: SharedPattern[], ttl?: number): void;
52
+ /**
53
+ * Get cached pattern
54
+ */
55
+ getPattern(id: string): SharedPattern | null;
56
+ /**
57
+ * Get all cached patterns
58
+ */
59
+ getAllPatterns(): SharedPattern[];
60
+ /**
61
+ * Parse pattern JSON with date conversion
62
+ */
63
+ private parsePattern;
64
+ /**
65
+ * Set generic cache value
66
+ */
67
+ set<T>(key: string, value: T, ttl?: number): void;
68
+ /**
69
+ * Get generic cache value
70
+ */
71
+ get<T>(key: string): T | null;
72
+ /**
73
+ * Delete cache entry
74
+ */
75
+ delete(key: string): boolean;
76
+ /**
77
+ * Check if key exists and is valid
78
+ */
79
+ has(key: string): boolean;
80
+ /**
81
+ * Set sync metadata
82
+ */
83
+ setSyncMeta(key: string, value: string): void;
84
+ /**
85
+ * Get sync metadata
86
+ */
87
+ getSyncMeta(key: string): string | null;
88
+ /**
89
+ * Get last sync timestamp
90
+ */
91
+ getLastSyncTime(): Date | null;
92
+ /**
93
+ * Set last sync timestamp
94
+ */
95
+ setLastSyncTime(time: Date): void;
96
+ /**
97
+ * Clear expired entries
98
+ */
99
+ clearExpired(): number;
100
+ /**
101
+ * Clear all cache
102
+ */
103
+ clearAll(): void;
104
+ /**
105
+ * Get cache size in bytes
106
+ */
107
+ getCacheSize(): number;
108
+ /**
109
+ * Get cache statistics
110
+ */
111
+ getStats(): {
112
+ frameworkCount: number;
113
+ patternCount: number;
114
+ cacheEntries: number;
115
+ sizeBytes: number;
116
+ };
117
+ /**
118
+ * Enforce maximum cache size
119
+ */
120
+ enforceMaxSize(): void;
121
+ }
122
+ //# sourceMappingURL=cache-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-manager.d.ts","sourceRoot":"","sources":["../src/cache-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,UAAU,EACX,MAAM,YAAY,CAAC;AA2CpB;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,UAAU,CAAuB;gBAE7B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;IAW9C;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IASjE;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,kBAAkB,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAgBrE;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IASnD;;OAEG;IACH,gBAAgB,IAAI,kBAAkB,EAAE;IASxC;;OAEG;IACH,OAAO,CAAC,cAAc;IAiBtB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IASxD;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAgB5D;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAS5C;;OAEG;IACH,cAAc,IAAI,aAAa,EAAE;IASjC;;OAEG;IACH,OAAO,CAAC,YAAY;IAiBpB;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IASjD;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAc7B;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAM5B;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAYzB;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ7C;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMvC;;OAEG;IACH,eAAe,IAAI,IAAI,GAAG,IAAI;IAK9B;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAQjC;;OAEG;IACH,YAAY,IAAI,MAAM;IActB;;OAEG;IACH,QAAQ,IAAI,IAAI;IAQhB;;OAEG;IACH,YAAY,IAAI,MAAM;IAQtB;;OAEG;IACH,QAAQ,IAAI;QACV,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KACnB;IAaD;;OAEG;IACH,cAAc,IAAI,IAAI;CA8BvB"}