@nahisaho/yata-global 2.3.6 → 2.4.2

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,6 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * YATA Global Server CLI
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=yata-global-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yata-global-server.d.ts","sourceRoot":"","sources":["../../src/bin/yata-global-server.ts"],"names":[],"mappings":";AACA;;GAEG"}
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * YATA Global Server CLI
4
+ */
5
+ import { startServer } from '../server.js';
6
+ const port = parseInt(process.env.PORT || '3000', 10);
7
+ const host = process.env.HOST || '0.0.0.0';
8
+ console.log('🚀 Starting YATA Global Server...');
9
+ startServer({ port, host }).catch((err) => {
10
+ console.error('❌ Failed to start server:', err);
11
+ process.exit(1);
12
+ });
13
+ //# sourceMappingURL=yata-global-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yata-global-server.js","sourceRoot":"","sources":["../../src/bin/yata-global-server.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;AACtD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC;AAE3C,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;AAEjD,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;IAC/C,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * YATA Global HTTP Server
3
+ *
4
+ * REST API server for YATA Global knowledge graph
5
+ *
6
+ * @packageDocumentation
7
+ * @module @nahisaho/yata-global/server
8
+ */
9
+ /**
10
+ * Server configuration
11
+ */
12
+ export interface ServerConfig {
13
+ port: number;
14
+ host: string;
15
+ enableCors: boolean;
16
+ }
17
+ /**
18
+ * YATA Global HTTP Server
19
+ */
20
+ export declare class YataGlobalServer {
21
+ private config;
22
+ private storage;
23
+ private mergeEngine;
24
+ private server;
25
+ constructor(config?: Partial<ServerConfig>);
26
+ /**
27
+ * Start the server
28
+ */
29
+ start(): Promise<void>;
30
+ /**
31
+ * Stop the server
32
+ */
33
+ stop(): Promise<void>;
34
+ /**
35
+ * Main request handler
36
+ */
37
+ private handleRequest;
38
+ /**
39
+ * Health check
40
+ */
41
+ private handleHealth;
42
+ /**
43
+ * Login (demo implementation)
44
+ */
45
+ private handleLogin;
46
+ /**
47
+ * List KGPRs
48
+ */
49
+ private handleListKGPRs;
50
+ /**
51
+ * Get single KGPR
52
+ */
53
+ private handleGetKGPR;
54
+ /**
55
+ * Submit KGPR
56
+ */
57
+ private handleSubmitKGPR;
58
+ /**
59
+ * Review KGPR
60
+ */
61
+ private handleReviewKGPR;
62
+ /**
63
+ * Merge KGPR
64
+ */
65
+ private handleMergeKGPR;
66
+ /**
67
+ * List patterns
68
+ */
69
+ private handleListPatterns;
70
+ /**
71
+ * Create pattern
72
+ */
73
+ private handleCreatePattern;
74
+ /**
75
+ * List frameworks
76
+ */
77
+ private handleListFrameworks;
78
+ }
79
+ /**
80
+ * Create and start server (CLI entry point)
81
+ */
82
+ export declare function startServer(config?: Partial<ServerConfig>): Promise<YataGlobalServer>;
83
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAgBH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;CACrB;AA+ID;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,MAAM,CAAgD;gBAElD,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM;IAM9C;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAUtB;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAarB;;OAEG;YACW,aAAa;IA0E3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAgBpB;;OAEG;YACW,WAAW;IA8BzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAqBvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;YACW,gBAAgB;IAoC9B;;OAEG;YACW,gBAAgB;IAsC9B;;OAEG;YACW,eAAe;IAgF7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;OAEG;YACW,mBAAmB;IA2BjC;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAS7B;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAI3F"}
package/dist/server.js ADDED
@@ -0,0 +1,465 @@
1
+ /**
2
+ * YATA Global HTTP Server
3
+ *
4
+ * REST API server for YATA Global knowledge graph
5
+ *
6
+ * @packageDocumentation
7
+ * @module @nahisaho/yata-global/server
8
+ */
9
+ import { createServer } from 'http';
10
+ import { URL } from 'url';
11
+ import { MergeEngine } from './kgpr/merge-engine.js';
12
+ const DEFAULT_CONFIG = {
13
+ port: 3000,
14
+ host: '0.0.0.0',
15
+ enableCors: true,
16
+ };
17
+ /**
18
+ * Create in-memory storage
19
+ */
20
+ function createStorage() {
21
+ return {
22
+ users: new Map([
23
+ ['user-1', { id: 'user-1', username: 'demo', email: 'demo@example.com' }],
24
+ ]),
25
+ kgprs: new Map(),
26
+ patterns: new Map(),
27
+ frameworks: new Map(),
28
+ tokens: new Map(),
29
+ };
30
+ }
31
+ /**
32
+ * Parse JSON body
33
+ */
34
+ async function parseBody(req) {
35
+ return new Promise((resolve, reject) => {
36
+ const chunks = [];
37
+ req.on('data', (chunk) => chunks.push(chunk));
38
+ req.on('end', () => {
39
+ const body = Buffer.concat(chunks).toString();
40
+ if (!body) {
41
+ resolve({});
42
+ return;
43
+ }
44
+ try {
45
+ resolve(JSON.parse(body));
46
+ }
47
+ catch {
48
+ reject(new Error('Invalid JSON'));
49
+ }
50
+ });
51
+ req.on('error', reject);
52
+ });
53
+ }
54
+ /**
55
+ * Send JSON response
56
+ */
57
+ function sendJson(res, status, data) {
58
+ res.writeHead(status, { 'Content-Type': 'application/json' });
59
+ res.end(JSON.stringify(data));
60
+ }
61
+ /**
62
+ * Send error response
63
+ */
64
+ function sendError(res, status, message) {
65
+ sendJson(res, status, { success: false, error: message });
66
+ }
67
+ /**
68
+ * Create empty diff
69
+ */
70
+ function createEmptyDiff() {
71
+ return {
72
+ entities: { added: [], updated: [], deleted: [] },
73
+ relationships: { added: [], updated: [], deleted: [] },
74
+ stats: {
75
+ entitiesAdded: 0,
76
+ entitiesUpdated: 0,
77
+ entitiesDeleted: 0,
78
+ relationshipsAdded: 0,
79
+ relationshipsUpdated: 0,
80
+ relationshipsDeleted: 0,
81
+ totalChanges: 0,
82
+ },
83
+ };
84
+ }
85
+ /**
86
+ * YATA Global HTTP Server
87
+ */
88
+ export class YataGlobalServer {
89
+ config;
90
+ storage;
91
+ mergeEngine;
92
+ server = null;
93
+ constructor(config = {}) {
94
+ this.config = { ...DEFAULT_CONFIG, ...config };
95
+ this.storage = createStorage();
96
+ this.mergeEngine = new MergeEngine();
97
+ }
98
+ /**
99
+ * Start the server
100
+ */
101
+ start() {
102
+ return new Promise((resolve) => {
103
+ this.server = createServer((req, res) => this.handleRequest(req, res));
104
+ this.server.listen(this.config.port, this.config.host, () => {
105
+ console.log(`🌐 YATA Global Server running at http://${this.config.host}:${this.config.port}`);
106
+ resolve();
107
+ });
108
+ });
109
+ }
110
+ /**
111
+ * Stop the server
112
+ */
113
+ stop() {
114
+ return new Promise((resolve) => {
115
+ if (this.server) {
116
+ this.server.close(() => {
117
+ console.log('🛑 YATA Global Server stopped');
118
+ resolve();
119
+ });
120
+ }
121
+ else {
122
+ resolve();
123
+ }
124
+ });
125
+ }
126
+ /**
127
+ * Main request handler
128
+ */
129
+ async handleRequest(req, res) {
130
+ // CORS headers
131
+ if (this.config.enableCors) {
132
+ res.setHeader('Access-Control-Allow-Origin', '*');
133
+ res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
134
+ res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
135
+ }
136
+ // Handle preflight
137
+ if (req.method === 'OPTIONS') {
138
+ res.writeHead(204);
139
+ res.end();
140
+ return;
141
+ }
142
+ const url = new URL(req.url || '/', `http://${req.headers.host}`);
143
+ const path = url.pathname;
144
+ const method = req.method || 'GET';
145
+ console.log(`[${new Date().toISOString()}] ${method} ${path}`);
146
+ try {
147
+ // Route handling
148
+ if (path === '/health' && method === 'GET') {
149
+ return this.handleHealth(res);
150
+ }
151
+ if (path === '/auth/login' && method === 'POST') {
152
+ return await this.handleLogin(req, res);
153
+ }
154
+ if (path === '/api/v1/kgprs' && method === 'GET') {
155
+ return this.handleListKGPRs(req, res);
156
+ }
157
+ if (path === '/api/v1/kgprs' && method === 'POST') {
158
+ return await this.handleSubmitKGPR(req, res);
159
+ }
160
+ if (path.startsWith('/api/v1/kgprs/') && method === 'GET') {
161
+ const id = path.split('/')[4];
162
+ return this.handleGetKGPR(id, res);
163
+ }
164
+ if (path.match(/^\/api\/v1\/kgprs\/[^/]+\/review$/) && method === 'POST') {
165
+ const id = path.split('/')[4];
166
+ return await this.handleReviewKGPR(req, id, res);
167
+ }
168
+ if (path.match(/^\/api\/v1\/kgprs\/[^/]+\/merge$/) && method === 'POST') {
169
+ const id = path.split('/')[4];
170
+ return await this.handleMergeKGPR(id, res);
171
+ }
172
+ if (path === '/api/v1/patterns' && method === 'GET') {
173
+ return this.handleListPatterns(res);
174
+ }
175
+ if (path === '/api/v1/patterns' && method === 'POST') {
176
+ return await this.handleCreatePattern(req, res);
177
+ }
178
+ if (path === '/api/v1/frameworks' && method === 'GET') {
179
+ return this.handleListFrameworks(res);
180
+ }
181
+ // 404
182
+ sendError(res, 404, 'Not found');
183
+ }
184
+ catch (error) {
185
+ console.error('Request error:', error);
186
+ sendError(res, 500, error instanceof Error ? error.message : 'Internal server error');
187
+ }
188
+ }
189
+ /**
190
+ * Health check
191
+ */
192
+ handleHealth(res) {
193
+ sendJson(res, 200, {
194
+ success: true,
195
+ data: {
196
+ status: 'healthy',
197
+ version: '2.4.1',
198
+ timestamp: new Date().toISOString(),
199
+ stats: {
200
+ kgprs: this.storage.kgprs.size,
201
+ patterns: this.storage.patterns.size,
202
+ frameworks: this.storage.frameworks.size,
203
+ },
204
+ },
205
+ });
206
+ }
207
+ /**
208
+ * Login (demo implementation)
209
+ */
210
+ async handleLogin(req, res) {
211
+ const body = await parseBody(req);
212
+ if (!body.username || !body.password) {
213
+ sendError(res, 400, 'Username and password required');
214
+ return;
215
+ }
216
+ // Demo auth - accept any password for 'demo' user
217
+ if (body.username === 'demo') {
218
+ const token = `token-${Date.now()}-${Math.random().toString(36).substring(2)}`;
219
+ this.storage.tokens.set(token, {
220
+ userId: 'user-1',
221
+ expiresAt: new Date(Date.now() + 24 * 60 * 60 * 1000), // 24h
222
+ });
223
+ sendJson(res, 200, {
224
+ success: true,
225
+ data: {
226
+ accessToken: token,
227
+ tokenType: 'Bearer',
228
+ expiresIn: 86400,
229
+ user: this.storage.users.get('user-1'),
230
+ },
231
+ });
232
+ }
233
+ else {
234
+ sendError(res, 401, 'Invalid credentials');
235
+ }
236
+ }
237
+ /**
238
+ * List KGPRs
239
+ */
240
+ handleListKGPRs(req, res) {
241
+ const url = new URL(req.url || '/', `http://${req.headers.host}`);
242
+ const status = url.searchParams.get('status');
243
+ let kgprs = Array.from(this.storage.kgprs.values());
244
+ if (status) {
245
+ kgprs = kgprs.filter((k) => k.status === status);
246
+ }
247
+ sendJson(res, 200, {
248
+ success: true,
249
+ data: {
250
+ items: kgprs,
251
+ total: kgprs.length,
252
+ limit: 100,
253
+ offset: 0,
254
+ },
255
+ });
256
+ }
257
+ /**
258
+ * Get single KGPR
259
+ */
260
+ handleGetKGPR(id, res) {
261
+ const kgpr = this.storage.kgprs.get(id);
262
+ if (!kgpr) {
263
+ sendError(res, 404, `KGPR not found: ${id}`);
264
+ return;
265
+ }
266
+ sendJson(res, 200, { success: true, data: kgpr });
267
+ }
268
+ /**
269
+ * Submit KGPR
270
+ */
271
+ async handleSubmitKGPR(req, res) {
272
+ const body = await parseBody(req);
273
+ if (!body.title) {
274
+ sendError(res, 400, 'Title is required');
275
+ return;
276
+ }
277
+ const id = `KGPR-${Date.now().toString(36)}-${Math.random().toString(36).substring(2, 8)}`;
278
+ const now = new Date();
279
+ const kgpr = {
280
+ id,
281
+ title: body.title,
282
+ description: body.description || '',
283
+ status: 'open',
284
+ author: {
285
+ id: 'user-1',
286
+ name: 'demo',
287
+ },
288
+ sourceNamespace: body.sourceNamespace || '*',
289
+ diff: body.diff || createEmptyDiff(),
290
+ reviews: [],
291
+ comments: [],
292
+ labels: body.labels || [],
293
+ createdAt: now,
294
+ updatedAt: now,
295
+ };
296
+ this.storage.kgprs.set(id, kgpr);
297
+ console.log(`📝 KGPR created: ${id} - ${kgpr.title}`);
298
+ sendJson(res, 201, { success: true, data: kgpr });
299
+ }
300
+ /**
301
+ * Review KGPR
302
+ */
303
+ async handleReviewKGPR(req, id, res) {
304
+ const kgpr = this.storage.kgprs.get(id);
305
+ if (!kgpr) {
306
+ sendError(res, 404, `KGPR not found: ${id}`);
307
+ return;
308
+ }
309
+ const body = await parseBody(req);
310
+ if (!body.decision || !['approve', 'changes_requested', 'commented'].includes(body.decision)) {
311
+ sendError(res, 400, 'Valid decision required (approve, changes_requested, commented)');
312
+ return;
313
+ }
314
+ const review = {
315
+ id: `review-${Date.now()}`,
316
+ userId: 'user-1',
317
+ userName: 'demo',
318
+ decision: body.decision,
319
+ comment: body.comment,
320
+ createdAt: new Date(),
321
+ };
322
+ kgpr.reviews.push(review);
323
+ kgpr.updatedAt = new Date();
324
+ if (body.decision === 'approve') {
325
+ kgpr.status = 'approved';
326
+ }
327
+ else if (body.decision === 'changes_requested') {
328
+ kgpr.status = 'changes_requested';
329
+ }
330
+ console.log(`✅ KGPR reviewed: ${id} - ${body.decision}`);
331
+ sendJson(res, 200, { success: true, data: kgpr });
332
+ }
333
+ /**
334
+ * Merge KGPR
335
+ */
336
+ async handleMergeKGPR(id, res) {
337
+ const kgpr = this.storage.kgprs.get(id);
338
+ if (!kgpr) {
339
+ sendError(res, 404, `KGPR not found: ${id}`);
340
+ return;
341
+ }
342
+ if (kgpr.status !== 'approved') {
343
+ sendError(res, 400, 'KGPR must be approved before merge');
344
+ return;
345
+ }
346
+ // Convert to KGPR format for merge engine
347
+ const kgprForMerge = {
348
+ id: kgpr.id,
349
+ title: kgpr.title,
350
+ description: kgpr.description,
351
+ authorId: kgpr.author.id,
352
+ authorName: kgpr.author.name,
353
+ status: kgpr.status,
354
+ sourceNamespace: kgpr.sourceNamespace,
355
+ diff: kgpr.diff,
356
+ reviews: kgpr.reviews.map((r) => ({
357
+ id: r.id,
358
+ reviewerId: r.userId,
359
+ reviewerName: r.userName,
360
+ status: r.decision === 'approve' ? 'approved' : r.decision,
361
+ body: r.comment,
362
+ comments: [],
363
+ createdAt: r.createdAt,
364
+ })),
365
+ comments: kgpr.comments,
366
+ labels: kgpr.labels,
367
+ createdAt: kgpr.createdAt,
368
+ updatedAt: kgpr.updatedAt,
369
+ };
370
+ // Perform merge (dry run since we don't have global KG connected)
371
+ const mergeResult = await this.mergeEngine.merge(kgprForMerge, { dryRun: true });
372
+ kgpr.status = 'merged';
373
+ kgpr.mergedAt = new Date();
374
+ kgpr.updatedAt = new Date();
375
+ console.log(`🔀 KGPR merged: ${id}`);
376
+ // Save merged patterns
377
+ for (const entity of kgpr.diff.entities.added) {
378
+ if (entity.entityType === 'pattern') {
379
+ const pattern = {
380
+ id: entity.localId || `pattern-${Date.now()}`,
381
+ name: entity.name,
382
+ category: 'design-pattern',
383
+ description: '',
384
+ template: '',
385
+ example: undefined,
386
+ metrics: { usageCount: 0, successRate: 0 },
387
+ contributor: kgpr.author,
388
+ votes: 0,
389
+ createdAt: new Date(),
390
+ updatedAt: new Date(),
391
+ };
392
+ this.storage.patterns.set(pattern.id, pattern);
393
+ }
394
+ }
395
+ sendJson(res, 200, {
396
+ success: true,
397
+ data: {
398
+ kgpr,
399
+ mergeResult: {
400
+ entitiesMerged: mergeResult.applied.entitiesAdded + mergeResult.applied.entitiesUpdated,
401
+ relationshipsMerged: mergeResult.applied.relationshipsAdded + mergeResult.applied.relationshipsUpdated,
402
+ conflicts: mergeResult.conflicts,
403
+ },
404
+ },
405
+ });
406
+ }
407
+ /**
408
+ * List patterns
409
+ */
410
+ handleListPatterns(res) {
411
+ sendJson(res, 200, {
412
+ success: true,
413
+ data: {
414
+ items: Array.from(this.storage.patterns.values()),
415
+ total: this.storage.patterns.size,
416
+ },
417
+ });
418
+ }
419
+ /**
420
+ * Create pattern
421
+ */
422
+ async handleCreatePattern(req, res) {
423
+ const body = await parseBody(req);
424
+ if (!body.name) {
425
+ sendError(res, 400, 'Pattern name is required');
426
+ return;
427
+ }
428
+ const pattern = {
429
+ id: `pattern-${Date.now()}`,
430
+ name: body.name,
431
+ category: body.category || 'design-pattern',
432
+ description: body.description || '',
433
+ template: body.template || '',
434
+ example: body.example,
435
+ metrics: { usageCount: 0, successRate: 0 },
436
+ contributor: { id: 'user-1', name: 'demo' },
437
+ votes: 0,
438
+ createdAt: new Date(),
439
+ updatedAt: new Date(),
440
+ };
441
+ this.storage.patterns.set(pattern.id, pattern);
442
+ sendJson(res, 201, { success: true, data: pattern });
443
+ }
444
+ /**
445
+ * List frameworks
446
+ */
447
+ handleListFrameworks(res) {
448
+ sendJson(res, 200, {
449
+ success: true,
450
+ data: {
451
+ items: Array.from(this.storage.frameworks.values()),
452
+ total: this.storage.frameworks.size,
453
+ },
454
+ });
455
+ }
456
+ }
457
+ /**
458
+ * Create and start server (CLI entry point)
459
+ */
460
+ export async function startServer(config) {
461
+ const server = new YataGlobalServer(config);
462
+ await server.start();
463
+ return server;
464
+ }
465
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAmC,MAAM,MAAM,CAAC;AACrE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAW1B,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAWrD,MAAM,cAAc,GAAiB;IACnC,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,SAAS;IACf,UAAU,EAAE,IAAI;CACjB,CAAC;AAiEF;;GAEG;AACH,SAAS,aAAa;IACpB,OAAO;QACL,KAAK,EAAE,IAAI,GAAG,CAAC;YACb,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;SAC1E,CAAC;QACF,KAAK,EAAE,IAAI,GAAG,EAAE;QAChB,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,UAAU,EAAE,IAAI,GAAG,EAAE;QACrB,MAAM,EAAE,IAAI,GAAG,EAAE;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,SAAS,CAAC,GAAoB;IAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,CAAC,EAAE,CAAC,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,GAAmB,EAAE,MAAc,EAAE,IAAa;IAClE,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC9D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,GAAmB,EAAE,MAAc,EAAE,OAAe;IACrE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,SAAS,eAAe;IACtB,OAAO;QACL,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACjD,aAAa,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACtD,KAAK,EAAE;YACL,aAAa,EAAE,CAAC;YAChB,eAAe,EAAE,CAAC;YAClB,eAAe,EAAE,CAAC;YAClB,kBAAkB,EAAE,CAAC;YACrB,oBAAoB,EAAE,CAAC;YACvB,oBAAoB,EAAE,CAAC;YACvB,YAAY,EAAE,CAAC;SAChB;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAAe;IACrB,OAAO,CAAU;IACjB,WAAW,CAAc;IACzB,MAAM,GAA2C,IAAI,CAAC;IAE9D,YAAY,SAAgC,EAAE;QAC5C,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,aAAa,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;gBAC1D,OAAO,CAAC,GAAG,CAAC,2CAA2C,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/F,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;oBACrB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;oBAC7C,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CAAC,GAAoB,EAAE,GAAmB;QACnE,eAAe;QACf,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3B,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YAClD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,iCAAiC,CAAC,CAAC;YACjF,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,6BAA6B,CAAC,CAAC;QAC/E,CAAC;QAED,mBAAmB;QACnB,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC;QAEnC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;QAE/D,IAAI,CAAC;YACH,iBAAiB;YACjB,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;YAED,IAAI,IAAI,KAAK,aAAa,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAChD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1C,CAAC;YAED,IAAI,IAAI,KAAK,eAAe,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACjD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,IAAI,KAAK,eAAe,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAClD,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC1D,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACrC,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,mCAAmC,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACzE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9B,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YACnD,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACxE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9B,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC7C,CAAC;YAED,IAAI,IAAI,KAAK,kBAAkB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACpD,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC;YAED,IAAI,IAAI,KAAK,kBAAkB,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACrD,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,IAAI,KAAK,oBAAoB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACtD,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;YAED,MAAM;YACN,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YACvC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,GAAmB;QACtC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACjB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,KAAK,EAAE;oBACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI;oBAC9B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI;oBACpC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI;iBACzC;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,GAAoB,EAAE,GAAmB;QACjE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAA6C,CAAC;QAE9E,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,gCAAgC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,kDAAkD;QAClD,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE;gBAC7B,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,MAAM;aAC9D,CAAC,CAAC;YAEH,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;gBACjB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,WAAW,EAAE,KAAK;oBAClB,SAAS,EAAE,QAAQ;oBACnB,SAAS,EAAE,KAAK;oBAChB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;iBACvC;aACF,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,qBAAqB,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,GAAoB,EAAE,GAAmB;QAC/D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAsB,CAAC;QAEnE,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAEpD,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACnD,CAAC;QAED,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACjB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK,CAAC,MAAM;gBACnB,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,CAAC;aACV;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,EAAU,EAAE,GAAmB;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAExC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,GAAoB,EAAE,GAAmB;QACtE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAAwB,CAAC;QAEzD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,MAAM,EAAE,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC3F,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,MAAM,IAAI,GAAe;YACvB,EAAE;YACF,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;YACnC,MAAM,EAAE,MAAM;YACd,MAAM,EAAE;gBACN,EAAE,EAAE,QAAQ;gBACZ,IAAI,EAAE,MAAM;aACb;YACD,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,GAAG;YAC5C,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,eAAe,EAAE;YACpC,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;YACzB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAEjC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAEtD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,GAAoB,EAAE,EAAU,EAAE,GAAmB;QAClF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAExC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAA2C,CAAC;QAE5E,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7F,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,iEAAiE,CAAC,CAAC;YACvF,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG;YACb,EAAE,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,EAAE;YAC1B,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,IAAI,CAAC,QAAyD;YACxE,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE5B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QAC3B,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,mBAAmB,EAAE,CAAC;YACjD,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC;QACpC,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,EAAU,EAAE,GAAmB;QAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAExC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC/B,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,oCAAoC,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,0CAA0C;QAC1C,MAAM,YAAY,GAAS;YACzB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE;YACxB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,UAAU,EAAE,CAAC,CAAC,MAAM;gBACpB,YAAY,EAAE,CAAC,CAAC,QAAQ;gBACxB,MAAM,EAAE,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,UAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;gBACnE,IAAI,EAAE,CAAC,CAAC,OAAO;gBACf,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC,CAAC;YACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;QAEF,kEAAkE;QAClE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjF,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;QAErC,uBAAuB;QACvB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC9C,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAkB;oBAC7B,EAAE,EAAE,MAAM,CAAC,OAAO,IAAI,WAAW,IAAI,CAAC,GAAG,EAAE,EAAE;oBAC7C,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,QAAQ,EAAE,gBAAgB;oBAC1B,WAAW,EAAE,EAAE;oBACf,QAAQ,EAAE,EAAE;oBACZ,OAAO,EAAE,SAAS;oBAClB,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;oBAC1C,WAAW,EAAE,IAAI,CAAC,MAAM;oBACxB,KAAK,EAAE,CAAC;oBACR,SAAS,EAAE,IAAI,IAAI,EAAE;oBACrB,SAAS,EAAE,IAAI,IAAI,EAAE;iBACtB,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACjB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,IAAI;gBACJ,WAAW,EAAE;oBACX,cAAc,EAAE,WAAW,CAAC,OAAO,CAAC,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,eAAe;oBACvF,mBAAmB,EAAE,WAAW,CAAC,OAAO,CAAC,kBAAkB,GAAG,WAAW,CAAC,OAAO,CAAC,oBAAoB;oBACtG,SAAS,EAAE,WAAW,CAAC,SAAS;iBACjC;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,GAAmB;QAC5C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACjB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACjD,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI;aAClC;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAAC,GAAoB,EAAE,GAAmB;QACzE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAA2B,CAAC;QAE5D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,0BAA0B,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAkB;YAC7B,EAAE,EAAE,WAAW,IAAI,CAAC,GAAG,EAAE,EAAE;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,gBAAgB;YAC3C,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;YACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;YAC1C,WAAW,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YAC3C,KAAK,EAAE,CAAC;YACR,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAE/C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,GAAmB;QAC9C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE;YACjB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;gBACnD,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI;aACpC;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAA8B;IAC9D,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,14 +1,21 @@
1
1
  {
2
2
  "name": "@nahisaho/yata-global",
3
- "version": "2.3.6",
3
+ "version": "2.4.2",
4
4
  "description": "YATA Global - Distributed Knowledge Graph Platform with Framework Repository",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
+ "bin": {
9
+ "yata-global-server": "./dist/bin/yata-global-server.js"
10
+ },
8
11
  "exports": {
9
12
  ".": {
10
13
  "types": "./dist/index.d.ts",
11
14
  "import": "./dist/index.js"
15
+ },
16
+ "./server": {
17
+ "types": "./dist/server.d.ts",
18
+ "import": "./dist/server.js"
12
19
  }
13
20
  },
14
21
  "files": [