@telora/mcp-products 0.21.1
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/README.md +276 -0
- package/dist/cli/init.d.ts +2 -0
- package/dist/cli/init.js +94 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/handlers/agentHandlers.d.ts +3 -0
- package/dist/handlers/agentHandlers.js +97 -0
- package/dist/handlers/agentHandlers.js.map +1 -0
- package/dist/handlers/connectorHandlers.d.ts +3 -0
- package/dist/handlers/connectorHandlers.js +401 -0
- package/dist/handlers/connectorHandlers.js.map +1 -0
- package/dist/handlers/contextHandlers.d.ts +8 -0
- package/dist/handlers/contextHandlers.js +169 -0
- package/dist/handlers/contextHandlers.js.map +1 -0
- package/dist/handlers/deliveryHandlers.d.ts +3 -0
- package/dist/handlers/deliveryHandlers.js +122 -0
- package/dist/handlers/deliveryHandlers.js.map +1 -0
- package/dist/handlers/deploymentProfileHandlers.d.ts +3 -0
- package/dist/handlers/deploymentProfileHandlers.js +104 -0
- package/dist/handlers/deploymentProfileHandlers.js.map +1 -0
- package/dist/handlers/discoverHandler.d.ts +23 -0
- package/dist/handlers/discoverHandler.js +83 -0
- package/dist/handlers/discoverHandler.js.map +1 -0
- package/dist/handlers/factoryHandlers.d.ts +3 -0
- package/dist/handlers/factoryHandlers.js +484 -0
- package/dist/handlers/factoryHandlers.js.map +1 -0
- package/dist/handlers/ideaHandlers.d.ts +3 -0
- package/dist/handlers/ideaHandlers.js +245 -0
- package/dist/handlers/ideaHandlers.js.map +1 -0
- package/dist/handlers/index.d.ts +15 -0
- package/dist/handlers/index.js +19 -0
- package/dist/handlers/index.js.map +1 -0
- package/dist/handlers/infrastructureHandlers.d.ts +3 -0
- package/dist/handlers/infrastructureHandlers.js +335 -0
- package/dist/handlers/infrastructureHandlers.js.map +1 -0
- package/dist/handlers/issueHandlers.d.ts +3 -0
- package/dist/handlers/issueHandlers.js +94 -0
- package/dist/handlers/issueHandlers.js.map +1 -0
- package/dist/handlers/okrHandlers.d.ts +3 -0
- package/dist/handlers/okrHandlers.js +194 -0
- package/dist/handlers/okrHandlers.js.map +1 -0
- package/dist/handlers/playbookHandlers.d.ts +3 -0
- package/dist/handlers/playbookHandlers.js +93 -0
- package/dist/handlers/playbookHandlers.js.map +1 -0
- package/dist/handlers/productHandlers.d.ts +3 -0
- package/dist/handlers/productHandlers.js +129 -0
- package/dist/handlers/productHandlers.js.map +1 -0
- package/dist/handlers/reportHandlers.d.ts +3 -0
- package/dist/handlers/reportHandlers.js +59 -0
- package/dist/handlers/reportHandlers.js.map +1 -0
- package/dist/handlers/strategyHandlers.d.ts +3 -0
- package/dist/handlers/strategyHandlers.js +116 -0
- package/dist/handlers/strategyHandlers.js.map +1 -0
- package/dist/handlers/workflowHandlers.d.ts +3 -0
- package/dist/handlers/workflowHandlers.js +93 -0
- package/dist/handlers/workflowHandlers.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +284 -0
- package/dist/index.js.map +1 -0
- package/dist/shared.d.ts +77 -0
- package/dist/shared.js +147 -0
- package/dist/shared.js.map +1 -0
- package/package.json +47 -0
- package/scripts/postinstall.js +96 -0
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Idea Cloud tool handlers: ideas, connections, clusters
|
|
3
|
+
// Consolidated: 3 tools with action-based dispatch
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
import { z } from "zod";
|
|
6
|
+
import { callProductApi, successResult, validationError, buildFields, wrapHandler, compactEntity, } from "../shared.js";
|
|
7
|
+
export function registerIdeaTools(server, getCreds) {
|
|
8
|
+
// ── telora_idea ──────────────────────────────────────────────────────
|
|
9
|
+
server.tool("telora_idea", "Idea cloud: continuous capture and brainstorming for a product. " +
|
|
10
|
+
"Ideas are lightweight thought fragments (observations, hypotheses, references, links) that can be connected and clustered. " +
|
|
11
|
+
"Actions: create an idea (productId + content), list ideas, update content or source, delete.", {
|
|
12
|
+
action: z.enum(["create", "list", "update", "delete"]).describe("Action to perform"),
|
|
13
|
+
productId: z.string().uuid().optional().describe("Product UUID (required for create, list)"),
|
|
14
|
+
ideaId: z.string().uuid().optional().describe("Idea UUID (required for update, delete)"),
|
|
15
|
+
content: z.string().optional().describe("Idea content text (required for create)"),
|
|
16
|
+
sourceUrl: z.string().max(2000).nullable().optional().describe("Source URL for reference ideas (null to clear on update)"),
|
|
17
|
+
sourceType: z.enum(["observation", "quote", "hypothesis", "reference", "link"]).optional().describe("Type of idea source"),
|
|
18
|
+
source: z.enum(["human", "ai"]).optional().describe("Provenance: 'human' (default) or 'ai' (create only)"),
|
|
19
|
+
limit: z.number().int().min(1).max(500).optional().describe("Max results (1-500, default 50; list only)"),
|
|
20
|
+
offset: z.number().int().min(0).optional().describe("Number of results to skip (default 0; list only)"),
|
|
21
|
+
detail: z.enum(["titles", "summary", "full"]).optional().describe("Response detail level (list only). 'titles' returns id+name only. 'summary' (default) returns compact navigation fields. 'full' returns all fields."),
|
|
22
|
+
returnFull: z.boolean().optional().describe("Return full entity (default: compact; create/update only)"),
|
|
23
|
+
}, wrapHandler(async (params) => {
|
|
24
|
+
switch (params.action) {
|
|
25
|
+
case "create": {
|
|
26
|
+
if (!params.productId)
|
|
27
|
+
return validationError("productId required for create");
|
|
28
|
+
if (!params.content)
|
|
29
|
+
return validationError("content required for create");
|
|
30
|
+
const fields = buildFields({ content: params.content, sourceUrl: params.sourceUrl, sourceType: params.sourceType, source: params.source }, ['content', 'sourceUrl', 'sourceType', 'source']);
|
|
31
|
+
const result = await callProductApi(getCreds(), {
|
|
32
|
+
action: "idea_create",
|
|
33
|
+
productId: params.productId,
|
|
34
|
+
fields,
|
|
35
|
+
});
|
|
36
|
+
return successResult(compactEntity(result.idea, Object.keys(fields), params.returnFull));
|
|
37
|
+
}
|
|
38
|
+
case "list": {
|
|
39
|
+
if (!params.productId)
|
|
40
|
+
return validationError("productId required for list");
|
|
41
|
+
const fields = buildFields({ sourceType: params.sourceType });
|
|
42
|
+
const body = {
|
|
43
|
+
action: "idea_list",
|
|
44
|
+
productId: params.productId,
|
|
45
|
+
fields: Object.keys(fields).length > 0 ? fields : undefined,
|
|
46
|
+
};
|
|
47
|
+
if (params.limit !== undefined)
|
|
48
|
+
body.limit = params.limit;
|
|
49
|
+
if (params.offset !== undefined)
|
|
50
|
+
body.offset = params.offset;
|
|
51
|
+
if (params.detail !== undefined)
|
|
52
|
+
body.detail = params.detail;
|
|
53
|
+
const result = await callProductApi(getCreds(), body);
|
|
54
|
+
return successResult({ items: result.ideas, totalCount: result.totalCount });
|
|
55
|
+
}
|
|
56
|
+
case "update": {
|
|
57
|
+
if (!params.ideaId)
|
|
58
|
+
return validationError("ideaId required for update");
|
|
59
|
+
const fields = buildFields({ content: params.content, sourceUrl: params.sourceUrl, sourceType: params.sourceType }, ['content', 'sourceUrl', 'sourceType']);
|
|
60
|
+
if (Object.keys(fields).length === 0) {
|
|
61
|
+
return validationError("Provide at least one field to update");
|
|
62
|
+
}
|
|
63
|
+
const result = await callProductApi(getCreds(), {
|
|
64
|
+
action: "idea_update",
|
|
65
|
+
ideaId: params.ideaId,
|
|
66
|
+
fields,
|
|
67
|
+
});
|
|
68
|
+
return successResult(compactEntity(result.idea, Object.keys(fields), params.returnFull));
|
|
69
|
+
}
|
|
70
|
+
case "delete": {
|
|
71
|
+
if (!params.ideaId)
|
|
72
|
+
return validationError("ideaId required for delete");
|
|
73
|
+
const result = await callProductApi(getCreds(), {
|
|
74
|
+
action: "idea_delete",
|
|
75
|
+
ideaId: params.ideaId,
|
|
76
|
+
});
|
|
77
|
+
return successResult(result);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}));
|
|
81
|
+
// ── telora_idea_connection ───────────────────────────────────────────
|
|
82
|
+
server.tool("telora_idea_connection", "Idea relationships: map connections between ideas in the cloud. " +
|
|
83
|
+
"Connections have types (supports, causes, extends, contradicts, relates) and optional confidence scores. " +
|
|
84
|
+
"Actions: create a connection (source + target + type), list connections, update properties, delete.", {
|
|
85
|
+
action: z.enum(["create", "list", "update", "delete"]).describe("Action to perform"),
|
|
86
|
+
connectionId: z.string().uuid().optional().describe("Connection UUID (required for update, delete)"),
|
|
87
|
+
sourceIdeaId: z.string().uuid().optional().describe("Source idea UUID (required for create)"),
|
|
88
|
+
targetIdeaId: z.string().uuid().optional().describe("Target idea UUID (required for create)"),
|
|
89
|
+
ideaId: z.string().uuid().optional().describe("Idea UUID - list connections involving this idea (list only)"),
|
|
90
|
+
productId: z.string().uuid().optional().describe("Product UUID - list all connections in this product (list only)"),
|
|
91
|
+
connectionType: z.enum(["supports", "causes", "extends", "contradicts", "relates"]).optional().describe("Type of connection (required for create)"),
|
|
92
|
+
bidirectional: z.boolean().optional().describe("Whether connection is bidirectional (default false)"),
|
|
93
|
+
confidence: z.number().min(0).max(1).nullable().optional().describe("Confidence score (0-1, null to clear)"),
|
|
94
|
+
confirmed: z.boolean().optional().describe("Whether connection is confirmed (default false)"),
|
|
95
|
+
source: z.enum(["human", "ai"]).optional().describe("Provenance: 'human' (default) or 'ai' (create only)"),
|
|
96
|
+
limit: z.number().int().min(1).max(500).optional().describe("Max results (1-500, default 50; list only)"),
|
|
97
|
+
offset: z.number().int().min(0).optional().describe("Number of results to skip (default 0; list only)"),
|
|
98
|
+
detail: z.enum(["titles", "summary", "full"]).optional().describe("Response detail level (list only). 'titles' returns id+name only. 'summary' (default) returns compact navigation fields. 'full' returns all fields."),
|
|
99
|
+
returnFull: z.boolean().optional().describe("Return full entity (default: compact; create/update only)"),
|
|
100
|
+
}, wrapHandler(async (params) => {
|
|
101
|
+
switch (params.action) {
|
|
102
|
+
case "create": {
|
|
103
|
+
if (!params.sourceIdeaId)
|
|
104
|
+
return validationError("sourceIdeaId required for create");
|
|
105
|
+
if (!params.targetIdeaId)
|
|
106
|
+
return validationError("targetIdeaId required for create");
|
|
107
|
+
if (!params.connectionType)
|
|
108
|
+
return validationError("connectionType required for create");
|
|
109
|
+
const fields = buildFields({
|
|
110
|
+
sourceIdeaId: params.sourceIdeaId, targetIdeaId: params.targetIdeaId,
|
|
111
|
+
connectionType: params.connectionType, bidirectional: params.bidirectional,
|
|
112
|
+
confidence: params.confidence, confirmed: params.confirmed, source: params.source,
|
|
113
|
+
}, ['sourceIdeaId', 'targetIdeaId', 'connectionType', 'bidirectional', 'confidence', 'confirmed', 'source']);
|
|
114
|
+
const result = await callProductApi(getCreds(), {
|
|
115
|
+
action: "idea_connection_create",
|
|
116
|
+
fields,
|
|
117
|
+
});
|
|
118
|
+
return successResult(compactEntity(result.connection, Object.keys(fields), params.returnFull));
|
|
119
|
+
}
|
|
120
|
+
case "list": {
|
|
121
|
+
if (!params.ideaId && !params.productId) {
|
|
122
|
+
return validationError("Provide either ideaId or productId");
|
|
123
|
+
}
|
|
124
|
+
const body = {
|
|
125
|
+
action: "idea_connection_list",
|
|
126
|
+
};
|
|
127
|
+
if (params.ideaId !== undefined)
|
|
128
|
+
body.ideaId = params.ideaId;
|
|
129
|
+
if (params.productId !== undefined)
|
|
130
|
+
body.productId = params.productId;
|
|
131
|
+
if (params.limit !== undefined)
|
|
132
|
+
body.limit = params.limit;
|
|
133
|
+
if (params.offset !== undefined)
|
|
134
|
+
body.offset = params.offset;
|
|
135
|
+
if (params.detail !== undefined)
|
|
136
|
+
body.detail = params.detail;
|
|
137
|
+
const result = await callProductApi(getCreds(), body);
|
|
138
|
+
return successResult({ items: result.connections, totalCount: result.totalCount });
|
|
139
|
+
}
|
|
140
|
+
case "update": {
|
|
141
|
+
if (!params.connectionId)
|
|
142
|
+
return validationError("connectionId required for update");
|
|
143
|
+
const fields = buildFields({
|
|
144
|
+
connectionType: params.connectionType, bidirectional: params.bidirectional,
|
|
145
|
+
confidence: params.confidence, confirmed: params.confirmed,
|
|
146
|
+
}, ['connectionType', 'bidirectional', 'confidence', 'confirmed']);
|
|
147
|
+
if (Object.keys(fields).length === 0) {
|
|
148
|
+
return validationError("Provide at least one field to update");
|
|
149
|
+
}
|
|
150
|
+
const result = await callProductApi(getCreds(), {
|
|
151
|
+
action: "idea_connection_update",
|
|
152
|
+
connectionId: params.connectionId,
|
|
153
|
+
fields,
|
|
154
|
+
});
|
|
155
|
+
return successResult(compactEntity(result.connection, Object.keys(fields), params.returnFull));
|
|
156
|
+
}
|
|
157
|
+
case "delete": {
|
|
158
|
+
if (!params.connectionId)
|
|
159
|
+
return validationError("connectionId required for delete");
|
|
160
|
+
const result = await callProductApi(getCreds(), {
|
|
161
|
+
action: "idea_connection_delete",
|
|
162
|
+
connectionId: params.connectionId,
|
|
163
|
+
});
|
|
164
|
+
return successResult(result);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}));
|
|
168
|
+
// ── telora_idea_cluster ──────────────────────────────────────────────
|
|
169
|
+
server.tool("telora_idea_cluster", "Idea grouping: organize related ideas into named clusters. " +
|
|
170
|
+
"Clusters can crystallize into strategies when ideas mature into actionable work. " +
|
|
171
|
+
"Actions: create a cluster (productId + name), list clusters, update properties (summary, center ideas, strategy link), " +
|
|
172
|
+
"delete (ideas remain in cloud).", {
|
|
173
|
+
action: z.enum(["create", "list", "update", "delete"]).describe("Action to perform"),
|
|
174
|
+
productId: z.string().uuid().optional().describe("Product UUID (required for create, list)"),
|
|
175
|
+
clusterId: z.string().uuid().optional().describe("Cluster UUID (required for update, delete)"),
|
|
176
|
+
name: z.string().max(200).optional().describe("Cluster name (required for create)"),
|
|
177
|
+
summary: z.string().max(2000).nullable().optional().describe("Cluster summary (null to clear on update)"),
|
|
178
|
+
centerIdeaIds: z.array(z.string().uuid()).optional().describe("UUIDs of center/attractor ideas"),
|
|
179
|
+
strategyId: z.string().uuid().nullable().optional().describe("Strategy UUID (set during crystallization, null to unlink; update only)"),
|
|
180
|
+
crystallizationSnapshot: z.record(z.string(), z.unknown()).nullable().optional().describe("Frozen graph state at crystallization (null to clear; update only)"),
|
|
181
|
+
limit: z.number().int().min(1).max(500).optional().describe("Max results (1-500, default 50; list only)"),
|
|
182
|
+
offset: z.number().int().min(0).optional().describe("Number of results to skip (default 0; list only)"),
|
|
183
|
+
detail: z.enum(["titles", "summary", "full"]).optional().describe("Response detail level (list only). 'titles' returns id+name only. 'summary' (default) returns compact navigation fields. 'full' returns all fields."),
|
|
184
|
+
returnFull: z.boolean().optional().describe("Return full entity (default: compact; create/update only)"),
|
|
185
|
+
}, wrapHandler(async (params) => {
|
|
186
|
+
switch (params.action) {
|
|
187
|
+
case "create": {
|
|
188
|
+
if (!params.productId)
|
|
189
|
+
return validationError("productId required for create");
|
|
190
|
+
if (!params.name)
|
|
191
|
+
return validationError("name required for create");
|
|
192
|
+
const fields = buildFields({ name: params.name, summary: params.summary, centerIdeaIds: params.centerIdeaIds }, ['name', 'summary', 'centerIdeaIds']);
|
|
193
|
+
const result = await callProductApi(getCreds(), {
|
|
194
|
+
action: "idea_cluster_create",
|
|
195
|
+
productId: params.productId,
|
|
196
|
+
fields,
|
|
197
|
+
});
|
|
198
|
+
return successResult(compactEntity(result.cluster, Object.keys(fields), params.returnFull));
|
|
199
|
+
}
|
|
200
|
+
case "list": {
|
|
201
|
+
if (!params.productId)
|
|
202
|
+
return validationError("productId required for list");
|
|
203
|
+
const body = {
|
|
204
|
+
action: "idea_cluster_list",
|
|
205
|
+
productId: params.productId,
|
|
206
|
+
};
|
|
207
|
+
if (params.limit !== undefined)
|
|
208
|
+
body.limit = params.limit;
|
|
209
|
+
if (params.offset !== undefined)
|
|
210
|
+
body.offset = params.offset;
|
|
211
|
+
if (params.detail !== undefined)
|
|
212
|
+
body.detail = params.detail;
|
|
213
|
+
const result = await callProductApi(getCreds(), body);
|
|
214
|
+
return successResult({ items: result.clusters, totalCount: result.totalCount });
|
|
215
|
+
}
|
|
216
|
+
case "update": {
|
|
217
|
+
if (!params.clusterId)
|
|
218
|
+
return validationError("clusterId required for update");
|
|
219
|
+
const fields = buildFields({
|
|
220
|
+
name: params.name, summary: params.summary, centerIdeaIds: params.centerIdeaIds,
|
|
221
|
+
strategyId: params.strategyId, crystallizationSnapshot: params.crystallizationSnapshot,
|
|
222
|
+
}, ['name', 'summary', 'centerIdeaIds', 'strategyId', 'crystallizationSnapshot']);
|
|
223
|
+
if (Object.keys(fields).length === 0) {
|
|
224
|
+
return validationError("Provide at least one field to update");
|
|
225
|
+
}
|
|
226
|
+
const result = await callProductApi(getCreds(), {
|
|
227
|
+
action: "idea_cluster_update",
|
|
228
|
+
clusterId: params.clusterId,
|
|
229
|
+
fields,
|
|
230
|
+
});
|
|
231
|
+
return successResult(compactEntity(result.cluster, Object.keys(fields), params.returnFull));
|
|
232
|
+
}
|
|
233
|
+
case "delete": {
|
|
234
|
+
if (!params.clusterId)
|
|
235
|
+
return validationError("clusterId required for delete");
|
|
236
|
+
const result = await callProductApi(getCreds(), {
|
|
237
|
+
action: "idea_cluster_delete",
|
|
238
|
+
clusterId: params.clusterId,
|
|
239
|
+
});
|
|
240
|
+
return successResult(result);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}));
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=ideaHandlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ideaHandlers.js","sourceRoot":"","sources":["../../src/handlers/ideaHandlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export { registerProductTools } from "./productHandlers.js";
|
|
2
|
+
export { registerDeliveryTools } from "./deliveryHandlers.js";
|
|
3
|
+
export { registerStrategyTools } from "./strategyHandlers.js";
|
|
4
|
+
export { registerIssueTools } from "./issueHandlers.js";
|
|
5
|
+
export { registerOkrTools } from "./okrHandlers.js";
|
|
6
|
+
export { registerAgentTools } from "./agentHandlers.js";
|
|
7
|
+
export { registerPlaybookTools } from "./playbookHandlers.js";
|
|
8
|
+
export { registerConnectorTools } from "./connectorHandlers.js";
|
|
9
|
+
export { registerWorkflowTools } from "./workflowHandlers.js";
|
|
10
|
+
export { registerContextTools, registerContextAssembleTool } from "./contextHandlers.js";
|
|
11
|
+
export { registerIdeaTools } from "./ideaHandlers.js";
|
|
12
|
+
export { registerFactoryTools } from "./factoryHandlers.js";
|
|
13
|
+
export { registerDeploymentProfileTools } from "./deploymentProfileHandlers.js";
|
|
14
|
+
export { registerInfrastructureTools } from "./infrastructureHandlers.js";
|
|
15
|
+
export { registerReportTools } from "./reportHandlers.js";
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Barrel export for all handler registration functions
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
export { registerProductTools } from "./productHandlers.js";
|
|
5
|
+
export { registerDeliveryTools } from "./deliveryHandlers.js";
|
|
6
|
+
export { registerStrategyTools } from "./strategyHandlers.js";
|
|
7
|
+
export { registerIssueTools } from "./issueHandlers.js";
|
|
8
|
+
export { registerOkrTools } from "./okrHandlers.js";
|
|
9
|
+
export { registerAgentTools } from "./agentHandlers.js";
|
|
10
|
+
export { registerPlaybookTools } from "./playbookHandlers.js";
|
|
11
|
+
export { registerConnectorTools } from "./connectorHandlers.js";
|
|
12
|
+
export { registerWorkflowTools } from "./workflowHandlers.js";
|
|
13
|
+
export { registerContextTools, registerContextAssembleTool } from "./contextHandlers.js";
|
|
14
|
+
export { registerIdeaTools } from "./ideaHandlers.js";
|
|
15
|
+
export { registerFactoryTools } from "./factoryHandlers.js";
|
|
16
|
+
export { registerDeploymentProfileTools } from "./deploymentProfileHandlers.js";
|
|
17
|
+
export { registerInfrastructureTools } from "./infrastructureHandlers.js";
|
|
18
|
+
export { registerReportTools } from "./reportHandlers.js";
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
|