sqlew 2.1.3 → 3.0.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.
- package/CHANGELOG.md +891 -535
- package/README.md +302 -613
- package/assets/kanban-style.png +0 -0
- package/assets/schema.sql +531 -402
- package/dist/database.d.ts +9 -0
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +33 -34
- package/dist/database.js.map +1 -1
- package/dist/index.js +1024 -21
- package/dist/index.js.map +1 -1
- package/dist/migrations/add-task-tables.d.ts +47 -0
- package/dist/migrations/add-task-tables.d.ts.map +1 -0
- package/dist/migrations/add-task-tables.js +285 -0
- package/dist/migrations/add-task-tables.js.map +1 -0
- package/dist/migrations/index.d.ts +96 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +239 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/migrations/migrate-decisions-to-tasks.d.ts +61 -0
- package/dist/migrations/migrate-decisions-to-tasks.d.ts.map +1 -0
- package/dist/migrations/migrate-decisions-to-tasks.js +442 -0
- package/dist/migrations/migrate-decisions-to-tasks.js.map +1 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +14 -3
- package/dist/schema.js.map +1 -1
- package/dist/tools/constraints.d.ts +4 -0
- package/dist/tools/constraints.d.ts.map +1 -1
- package/dist/tools/constraints.js +6 -27
- package/dist/tools/constraints.js.map +1 -1
- package/dist/tools/context.d.ts +17 -1
- package/dist/tools/context.d.ts.map +1 -1
- package/dist/tools/context.js +195 -190
- package/dist/tools/context.js.map +1 -1
- package/dist/tools/files.d.ts.map +1 -1
- package/dist/tools/files.js +113 -166
- package/dist/tools/files.js.map +1 -1
- package/dist/tools/messaging.d.ts +2 -9
- package/dist/tools/messaging.d.ts.map +1 -1
- package/dist/tools/messaging.js +67 -126
- package/dist/tools/messaging.js.map +1 -1
- package/dist/tools/tasks.d.ts +90 -0
- package/dist/tools/tasks.d.ts.map +1 -0
- package/dist/tools/tasks.js +732 -0
- package/dist/tools/tasks.js.map +1 -0
- package/dist/tools/utils.d.ts +8 -1
- package/dist/tools/utils.d.ts.map +1 -1
- package/dist/tools/utils.js +50 -21
- package/dist/tools/utils.js.map +1 -1
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/batch.d.ts +69 -0
- package/dist/utils/batch.d.ts.map +1 -0
- package/dist/utils/batch.js +148 -0
- package/dist/utils/batch.js.map +1 -0
- package/dist/utils/query-builder.d.ts +68 -0
- package/dist/utils/query-builder.d.ts.map +1 -0
- package/dist/utils/query-builder.js +116 -0
- package/dist/utils/query-builder.js.map +1 -0
- package/dist/utils/task-stale-detection.d.ts +28 -0
- package/dist/utils/task-stale-detection.d.ts.map +1 -0
- package/dist/utils/task-stale-detection.js +92 -0
- package/dist/utils/task-stale-detection.js.map +1 -0
- package/dist/utils/validators.d.ts +57 -0
- package/dist/utils/validators.d.ts.map +1 -0
- package/dist/utils/validators.js +117 -0
- package/dist/utils/validators.js.map +1 -0
- package/docs/AI_AGENT_GUIDE.md +1471 -0
- package/{ARCHITECTURE.md → docs/ARCHITECTURE.md} +636 -636
- package/docs/BEST_PRACTICES.md +481 -0
- package/docs/DECISION_TO_TASK_MIGRATION_GUIDE.md +457 -0
- package/docs/MIGRATION_CHAIN.md +280 -0
- package/{MIGRATION_v2.md → docs/MIGRATION_v2.md} +538 -538
- package/docs/SHARED_CONCEPTS.md +339 -0
- package/docs/TASK_ACTIONS.md +854 -0
- package/docs/TASK_LINKING.md +729 -0
- package/docs/TASK_MIGRATION.md +701 -0
- package/docs/TASK_OVERVIEW.md +363 -0
- package/docs/TASK_SYSTEM.md +1244 -0
- package/docs/TOOL_REFERENCE.md +471 -0
- package/docs/TOOL_SELECTION.md +279 -0
- package/docs/WORKFLOWS.md +602 -0
- package/docs/refactoring-summary-2025-10-17.md +365 -0
- package/docs/requirement-2025-10-17.md +508 -0
- package/package.json +64 -63
package/dist/tools/messaging.js
CHANGED
|
@@ -2,29 +2,25 @@
|
|
|
2
2
|
* Messaging Tools for MCP Shared Context Server
|
|
3
3
|
* Agent-to-agent communication with priority and read tracking
|
|
4
4
|
*/
|
|
5
|
-
import { getDatabase, getOrCreateAgent
|
|
5
|
+
import { getDatabase, getOrCreateAgent } from '../database.js';
|
|
6
6
|
import { STRING_TO_MESSAGE_TYPE, STRING_TO_PRIORITY, MESSAGE_TYPE_TO_STRING, PRIORITY_TO_STRING, } from '../constants.js';
|
|
7
|
+
import { validateMessageType, validatePriority } from '../utils/validators.js';
|
|
7
8
|
import { performAutoCleanup } from '../utils/cleanup.js';
|
|
9
|
+
import { processBatch } from '../utils/batch.js';
|
|
8
10
|
/**
|
|
9
|
-
* Send
|
|
10
|
-
*
|
|
11
|
+
* Internal helper: Send message without cleanup or transaction wrapper
|
|
12
|
+
* Used by sendMessage (with cleanup) and sendMessageBatch (manages its own transaction)
|
|
11
13
|
*
|
|
12
14
|
* @param params - Message parameters
|
|
15
|
+
* @param db - Database instance
|
|
13
16
|
* @returns Response with message ID and timestamp
|
|
14
17
|
*/
|
|
15
|
-
|
|
16
|
-
const db = getDatabase();
|
|
17
|
-
// Cleanup old messages before inserting new one
|
|
18
|
-
performAutoCleanup(db);
|
|
18
|
+
function sendMessageInternal(params, db) {
|
|
19
19
|
// Validate msg_type
|
|
20
|
-
|
|
21
|
-
throw new Error(`Invalid msg_type: ${params.msg_type}. Must be one of: decision, warning, request, info`);
|
|
22
|
-
}
|
|
20
|
+
validateMessageType(params.msg_type);
|
|
23
21
|
// Validate priority if provided
|
|
24
22
|
const priority = params.priority || 'medium';
|
|
25
|
-
|
|
26
|
-
throw new Error(`Invalid priority: ${priority}. Must be one of: low, medium, high, critical`);
|
|
27
|
-
}
|
|
23
|
+
validatePriority(priority);
|
|
28
24
|
// Auto-register from_agent
|
|
29
25
|
const fromAgentId = getOrCreateAgent(db, params.from_agent);
|
|
30
26
|
// Auto-register to_agent if provided (null = broadcast)
|
|
@@ -35,9 +31,9 @@ export function sendMessage(params) {
|
|
|
35
31
|
// Serialize payload if provided
|
|
36
32
|
const payloadStr = params.payload ? JSON.stringify(params.payload) : null;
|
|
37
33
|
// Insert message
|
|
38
|
-
const stmt = db.prepare(`
|
|
39
|
-
INSERT INTO t_agent_messages (from_agent_id, to_agent_id, msg_type, priority, payload, read)
|
|
40
|
-
VALUES (?, ?, ?, ?, ?, 0)
|
|
34
|
+
const stmt = db.prepare(`
|
|
35
|
+
INSERT INTO t_agent_messages (from_agent_id, to_agent_id, msg_type, priority, payload, read)
|
|
36
|
+
VALUES (?, ?, ?, ?, ?, 0)
|
|
41
37
|
`);
|
|
42
38
|
const result = stmt.run(fromAgentId, toAgentId, msgTypeInt, priorityInt, payloadStr);
|
|
43
39
|
// Get timestamp
|
|
@@ -49,6 +45,19 @@ export function sendMessage(params) {
|
|
|
49
45
|
timestamp,
|
|
50
46
|
};
|
|
51
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Send a message from one agent to another (or broadcast)
|
|
50
|
+
* Supports priority levels and optional JSON payload
|
|
51
|
+
*
|
|
52
|
+
* @param params - Message parameters
|
|
53
|
+
* @returns Response with message ID and timestamp
|
|
54
|
+
*/
|
|
55
|
+
export function sendMessage(params) {
|
|
56
|
+
const db = getDatabase();
|
|
57
|
+
// Cleanup old messages before inserting new one
|
|
58
|
+
performAutoCleanup(db);
|
|
59
|
+
return sendMessageInternal(params, db);
|
|
60
|
+
}
|
|
52
61
|
/**
|
|
53
62
|
* Get messages for an agent with optional filtering
|
|
54
63
|
* Returns messages addressed to agent or broadcast (to_agent_id IS NULL)
|
|
@@ -61,18 +70,18 @@ export function getMessages(params) {
|
|
|
61
70
|
// Get or create agent to get ID
|
|
62
71
|
const agentId = getOrCreateAgent(db, params.agent_name);
|
|
63
72
|
// Build query dynamically based on filters
|
|
64
|
-
let query = `
|
|
65
|
-
SELECT
|
|
66
|
-
m.id,
|
|
67
|
-
a.name as from_agent,
|
|
68
|
-
m.msg_type,
|
|
69
|
-
m.priority,
|
|
70
|
-
m.payload,
|
|
71
|
-
m.ts,
|
|
72
|
-
m.read
|
|
73
|
-
FROM t_agent_messages m
|
|
74
|
-
JOIN m_agents a ON m.from_agent_id = a.id
|
|
75
|
-
WHERE (m.to_agent_id = ? OR m.to_agent_id IS NULL)
|
|
73
|
+
let query = `
|
|
74
|
+
SELECT
|
|
75
|
+
m.id,
|
|
76
|
+
a.name as from_agent,
|
|
77
|
+
m.msg_type,
|
|
78
|
+
m.priority,
|
|
79
|
+
m.payload,
|
|
80
|
+
m.ts,
|
|
81
|
+
m.read
|
|
82
|
+
FROM t_agent_messages m
|
|
83
|
+
JOIN m_agents a ON m.from_agent_id = a.id
|
|
84
|
+
WHERE (m.to_agent_id = ? OR m.to_agent_id IS NULL)
|
|
76
85
|
`;
|
|
77
86
|
const queryParams = [agentId];
|
|
78
87
|
// Filter by read status
|
|
@@ -81,18 +90,14 @@ export function getMessages(params) {
|
|
|
81
90
|
}
|
|
82
91
|
// Filter by priority
|
|
83
92
|
if (params.priority_filter) {
|
|
84
|
-
|
|
85
|
-
throw new Error(`Invalid priority_filter: ${params.priority_filter}`);
|
|
86
|
-
}
|
|
93
|
+
validatePriority(params.priority_filter);
|
|
87
94
|
const priorityInt = STRING_TO_PRIORITY[params.priority_filter];
|
|
88
95
|
query += ' AND m.priority = ?';
|
|
89
96
|
queryParams.push(priorityInt);
|
|
90
97
|
}
|
|
91
98
|
// Filter by msg_type
|
|
92
99
|
if (params.msg_type_filter) {
|
|
93
|
-
|
|
94
|
-
throw new Error(`Invalid msg_type_filter: ${params.msg_type_filter}`);
|
|
95
|
-
}
|
|
100
|
+
validateMessageType(params.msg_type_filter);
|
|
96
101
|
const msgTypeInt = STRING_TO_MESSAGE_TYPE[params.msg_type_filter];
|
|
97
102
|
query += ' AND m.msg_type = ?';
|
|
98
103
|
queryParams.push(msgTypeInt);
|
|
@@ -139,11 +144,11 @@ export function markRead(params) {
|
|
|
139
144
|
const placeholders = params.message_ids.map(() => '?').join(',');
|
|
140
145
|
// Update only messages addressed to this agent (security check)
|
|
141
146
|
// Also allow broadcast messages (to_agent_id IS NULL)
|
|
142
|
-
const stmt = db.prepare(`
|
|
143
|
-
UPDATE t_agent_messages
|
|
144
|
-
SET read = 1
|
|
145
|
-
WHERE id IN (${placeholders})
|
|
146
|
-
AND (to_agent_id = ? OR to_agent_id IS NULL)
|
|
147
|
+
const stmt = db.prepare(`
|
|
148
|
+
UPDATE t_agent_messages
|
|
149
|
+
SET read = 1
|
|
150
|
+
WHERE id IN (${placeholders})
|
|
151
|
+
AND (to_agent_id = ? OR to_agent_id IS NULL)
|
|
147
152
|
`);
|
|
148
153
|
const result = stmt.run(...params.message_ids, agentId);
|
|
149
154
|
return {
|
|
@@ -165,96 +170,32 @@ export function sendMessageBatch(params) {
|
|
|
165
170
|
if (!params.messages || !Array.isArray(params.messages)) {
|
|
166
171
|
throw new Error('Parameter "messages" is required and must be an array');
|
|
167
172
|
}
|
|
168
|
-
// Enforce limit (constraint #3)
|
|
169
|
-
if (params.messages.length === 0) {
|
|
170
|
-
throw new Error('Parameter "messages" must contain at least one item');
|
|
171
|
-
}
|
|
172
|
-
if (params.messages.length > 50) {
|
|
173
|
-
throw new Error('Batch operations are limited to 50 items maximum (constraint #3)');
|
|
174
|
-
}
|
|
175
173
|
// Cleanup old messages before processing batch
|
|
176
174
|
performAutoCleanup(db);
|
|
177
175
|
const atomic = params.atomic !== undefined ? params.atomic : true;
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
}
|
|
201
|
-
catch (error) {
|
|
202
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
203
|
-
results.push({
|
|
204
|
-
from_agent: message.from_agent,
|
|
205
|
-
to_agent: message.to_agent || null,
|
|
206
|
-
success: false,
|
|
207
|
-
error: errorMessage
|
|
208
|
-
});
|
|
209
|
-
failed++;
|
|
210
|
-
// In atomic mode, throw immediately to trigger rollback
|
|
211
|
-
if (atomic) {
|
|
212
|
-
throw error;
|
|
213
|
-
}
|
|
214
|
-
}
|
|
176
|
+
// Use processBatch utility
|
|
177
|
+
const batchResult = processBatch(db, params.messages, (message, db) => {
|
|
178
|
+
const result = sendMessageInternal(message, db);
|
|
179
|
+
return {
|
|
180
|
+
from_agent: message.from_agent,
|
|
181
|
+
to_agent: message.to_agent || null,
|
|
182
|
+
message_id: result.message_id,
|
|
183
|
+
timestamp: result.timestamp
|
|
184
|
+
};
|
|
185
|
+
}, atomic, 50);
|
|
186
|
+
// Map batch results to SendMessageBatchResponse format
|
|
187
|
+
return {
|
|
188
|
+
success: batchResult.success,
|
|
189
|
+
inserted: batchResult.processed,
|
|
190
|
+
failed: batchResult.failed,
|
|
191
|
+
results: batchResult.results.map(r => ({
|
|
192
|
+
from_agent: r.data?.from_agent || '',
|
|
193
|
+
to_agent: r.data?.to_agent || null,
|
|
194
|
+
message_id: r.data?.message_id,
|
|
195
|
+
timestamp: r.data?.timestamp,
|
|
196
|
+
success: r.success,
|
|
197
|
+
error: r.error
|
|
198
|
+
}))
|
|
215
199
|
};
|
|
216
|
-
try {
|
|
217
|
-
if (atomic) {
|
|
218
|
-
// Atomic mode: use transaction, all succeed or all fail
|
|
219
|
-
return transaction(db, () => {
|
|
220
|
-
for (const message of params.messages) {
|
|
221
|
-
processSingleMessage(message);
|
|
222
|
-
}
|
|
223
|
-
return {
|
|
224
|
-
success: failed === 0,
|
|
225
|
-
inserted,
|
|
226
|
-
failed,
|
|
227
|
-
results
|
|
228
|
-
};
|
|
229
|
-
});
|
|
230
|
-
}
|
|
231
|
-
else {
|
|
232
|
-
// Non-atomic mode: process all, return individual results
|
|
233
|
-
for (const message of params.messages) {
|
|
234
|
-
processSingleMessage(message);
|
|
235
|
-
}
|
|
236
|
-
return {
|
|
237
|
-
success: failed === 0,
|
|
238
|
-
inserted,
|
|
239
|
-
failed,
|
|
240
|
-
results
|
|
241
|
-
};
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
catch (error) {
|
|
245
|
-
if (atomic) {
|
|
246
|
-
// In atomic mode, if any error occurred, all failed
|
|
247
|
-
throw new Error(`Batch operation failed (atomic mode): ${error instanceof Error ? error.message : String(error)}`);
|
|
248
|
-
}
|
|
249
|
-
else {
|
|
250
|
-
// In non-atomic mode, return partial results
|
|
251
|
-
return {
|
|
252
|
-
success: false,
|
|
253
|
-
inserted,
|
|
254
|
-
failed,
|
|
255
|
-
results
|
|
256
|
-
};
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
200
|
}
|
|
260
201
|
//# sourceMappingURL=messaging.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../src/tools/messaging.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../src/tools/messaging.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task management tools for Kanban Task Watcher
|
|
3
|
+
* Implements create, update, get, list, move, link, archive, batch_create actions
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Create a new task
|
|
7
|
+
*/
|
|
8
|
+
export declare function createTask(params: {
|
|
9
|
+
title: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
acceptance_criteria?: string;
|
|
12
|
+
notes?: string;
|
|
13
|
+
priority?: number;
|
|
14
|
+
assigned_agent?: string;
|
|
15
|
+
created_by_agent?: string;
|
|
16
|
+
layer?: string;
|
|
17
|
+
tags?: string[];
|
|
18
|
+
status?: string;
|
|
19
|
+
}): any;
|
|
20
|
+
/**
|
|
21
|
+
* Update task metadata
|
|
22
|
+
*/
|
|
23
|
+
export declare function updateTask(params: {
|
|
24
|
+
task_id: number;
|
|
25
|
+
title?: string;
|
|
26
|
+
priority?: number;
|
|
27
|
+
assigned_agent?: string;
|
|
28
|
+
layer?: string;
|
|
29
|
+
description?: string;
|
|
30
|
+
acceptance_criteria?: string;
|
|
31
|
+
notes?: string;
|
|
32
|
+
}): any;
|
|
33
|
+
/**
|
|
34
|
+
* Get full task details
|
|
35
|
+
*/
|
|
36
|
+
export declare function getTask(params: {
|
|
37
|
+
task_id: number;
|
|
38
|
+
}): any;
|
|
39
|
+
/**
|
|
40
|
+
* List tasks (token-efficient, no descriptions)
|
|
41
|
+
*/
|
|
42
|
+
export declare function listTasks(params?: {
|
|
43
|
+
status?: string;
|
|
44
|
+
assigned_agent?: string;
|
|
45
|
+
layer?: string;
|
|
46
|
+
tags?: string[];
|
|
47
|
+
limit?: number;
|
|
48
|
+
offset?: number;
|
|
49
|
+
}): any;
|
|
50
|
+
/**
|
|
51
|
+
* Move task to different status
|
|
52
|
+
*/
|
|
53
|
+
export declare function moveTask(params: {
|
|
54
|
+
task_id: number;
|
|
55
|
+
new_status: string;
|
|
56
|
+
}): any;
|
|
57
|
+
/**
|
|
58
|
+
* Link task to decision/constraint/file
|
|
59
|
+
*/
|
|
60
|
+
export declare function linkTask(params: {
|
|
61
|
+
task_id: number;
|
|
62
|
+
link_type: 'decision' | 'constraint' | 'file';
|
|
63
|
+
target_id: string | number;
|
|
64
|
+
link_relation?: string;
|
|
65
|
+
}): any;
|
|
66
|
+
/**
|
|
67
|
+
* Archive completed task
|
|
68
|
+
*/
|
|
69
|
+
export declare function archiveTask(params: {
|
|
70
|
+
task_id: number;
|
|
71
|
+
}): any;
|
|
72
|
+
/**
|
|
73
|
+
* Create multiple tasks atomically
|
|
74
|
+
*/
|
|
75
|
+
export declare function batchCreateTasks(params: {
|
|
76
|
+
tasks: Array<{
|
|
77
|
+
title: string;
|
|
78
|
+
description?: string;
|
|
79
|
+
priority?: number;
|
|
80
|
+
assigned_agent?: string;
|
|
81
|
+
layer?: string;
|
|
82
|
+
tags?: string[];
|
|
83
|
+
}>;
|
|
84
|
+
atomic?: boolean;
|
|
85
|
+
}): any;
|
|
86
|
+
/**
|
|
87
|
+
* Return comprehensive help documentation
|
|
88
|
+
*/
|
|
89
|
+
export declare function taskHelp(): any;
|
|
90
|
+
//# sourceMappingURL=tasks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/tools/tasks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0KH;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,GAAG,CAkBN;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,GAAG,CAoHN;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CA4FxD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,GAAE;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACZ,GAAG,GAAG,CAkEX;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,GAAG,CA6DN;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;IAC9C,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,GAAG,CA4FN;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAkC5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,KAAK,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,GAAG,CAoCN;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,GAAG,CAyI9B"}
|