@qikdev/mcp 6.6.48 → 6.7.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.
Files changed (40) hide show
  1. package/README.md +26 -41
  2. package/build/src/tools/campaign.d.ts +41 -0
  3. package/build/src/tools/campaign.d.ts.map +1 -0
  4. package/build/src/tools/campaign.js +331 -0
  5. package/build/src/tools/campaign.js.map +1 -0
  6. package/build/src/tools/checkin.d.ts +25 -0
  7. package/build/src/tools/checkin.d.ts.map +1 -0
  8. package/build/src/tools/checkin.js +199 -0
  9. package/build/src/tools/checkin.js.map +1 -0
  10. package/build/src/tools/definition.d.ts +90 -0
  11. package/build/src/tools/definition.d.ts.map +1 -0
  12. package/build/src/tools/definition.js +803 -0
  13. package/build/src/tools/definition.js.map +1 -0
  14. package/build/src/tools/filters.d.ts +11 -0
  15. package/build/src/tools/filters.d.ts.map +1 -0
  16. package/build/src/tools/filters.js +146 -0
  17. package/build/src/tools/filters.js.map +1 -0
  18. package/build/src/tools/glossary.d.ts +9 -0
  19. package/build/src/tools/glossary.d.ts.map +1 -1
  20. package/build/src/tools/glossary.js +200 -23
  21. package/build/src/tools/glossary.js.map +1 -1
  22. package/build/src/tools/index.d.ts.map +1 -1
  23. package/build/src/tools/index.js +56 -1
  24. package/build/src/tools/index.js.map +1 -1
  25. package/build/src/tools/list.d.ts.map +1 -1
  26. package/build/src/tools/list.js +41 -1
  27. package/build/src/tools/list.js.map +1 -1
  28. package/build/src/tools/relationships.d.ts +11 -0
  29. package/build/src/tools/relationships.d.ts.map +1 -0
  30. package/build/src/tools/relationships.js +130 -0
  31. package/build/src/tools/relationships.js.map +1 -0
  32. package/build/src/tools/reporting.d.ts +22 -0
  33. package/build/src/tools/reporting.d.ts.map +1 -0
  34. package/build/src/tools/reporting.js +219 -0
  35. package/build/src/tools/reporting.js.map +1 -0
  36. package/build/src/tools/sms.d.ts +13 -0
  37. package/build/src/tools/sms.d.ts.map +1 -0
  38. package/build/src/tools/sms.js +128 -0
  39. package/build/src/tools/sms.js.map +1 -0
  40. package/package.json +1 -1
@@ -1,28 +1,83 @@
1
- import { glossaryTool, glossaryDetailTool, handleGetGlossary, handleGetContentTypeDetails } from "./glossary.js";
1
+ import { glossaryTool, glossaryDetailTool, searchContentTypesTool, handleGetGlossary, handleGetContentTypeDetails, handleSearchContentTypes } from "./glossary.js";
2
2
  import { createContentTool, handleCreateContent } from "./create.js";
3
3
  import { listContentTool, handleListContent } from "./list.js";
4
4
  import { updateContentTool, handleUpdateContent } from "./update.js";
5
5
  import { getUserSessionTool, handleGetUserSession } from "./user.js";
6
6
  import { getProfileTimelineTool, handleGetProfileTimeline } from "./profile.js";
7
+ import { getFilterComparatorsTool, handleGetFilterComparators } from "./filters.js";
8
+ import { getEntityRelationshipsTool, handleGetEntityRelationships } from "./relationships.js";
9
+ import { getCampaignRecipientsTool, getCampaignAnalyticsTool, sendCampaignTool, sendTestCampaignTool, handleGetCampaignRecipients, handleGetCampaignAnalytics, handleSendCampaign, handleSendTestCampaign } from "./campaign.js";
10
+ import { sendBulkSmsTool, handleSendBulkSms } from "./sms.js";
11
+ import { getEventAttendanceTool, countContentTool, handleGetEventAttendance, handleCountContent } from "./reporting.js";
12
+ import { createCheckinTool, checkoutTool, handleCreateCheckin, handleCheckout } from "./checkin.js";
13
+ import { getDefinitionSchemaTool, searchSimilarDefinitionsTool, createDefinitionTool, updateDefinitionTool, listDefinitionsTool, handleGetDefinitionSchema, handleSearchSimilarDefinitions, handleCreateDefinition, handleUpdateDefinition, handleListDefinitions } from "./definition.js";
7
14
  // Registry of all available tools
8
15
  export const tools = [
16
+ // Discovery tools (use these first to understand the data model)
9
17
  glossaryTool,
10
18
  glossaryDetailTool,
19
+ searchContentTypesTool,
20
+ getFilterComparatorsTool,
21
+ getEntityRelationshipsTool,
22
+ // Content CRUD
11
23
  createContentTool,
12
24
  listContentTool,
13
25
  updateContentTool,
26
+ // User & Profile
14
27
  getUserSessionTool,
15
28
  getProfileTimelineTool,
29
+ // Definition management
30
+ getDefinitionSchemaTool,
31
+ searchSimilarDefinitionsTool,
32
+ createDefinitionTool,
33
+ updateDefinitionTool,
34
+ listDefinitionsTool,
35
+ // Campaign & Communication
36
+ getCampaignRecipientsTool,
37
+ getCampaignAnalyticsTool,
38
+ sendCampaignTool,
39
+ sendTestCampaignTool,
40
+ sendBulkSmsTool,
41
+ // Reporting & Statistics
42
+ getEventAttendanceTool,
43
+ countContentTool,
44
+ // Checkin Management
45
+ createCheckinTool,
46
+ checkoutTool,
16
47
  ];
17
48
  // Registry of all tool handlers
18
49
  export const toolHandlers = {
50
+ // Discovery handlers
19
51
  "get_glossary": handleGetGlossary,
20
52
  "get_content_type_details": (args) => handleGetContentTypeDetails(args.contentTypeKey),
53
+ "search_content_types": handleSearchContentTypes,
54
+ "get_filter_comparators": handleGetFilterComparators,
55
+ "get_entity_relationships": handleGetEntityRelationships,
56
+ // Content CRUD handlers
21
57
  "create_content": handleCreateContent,
22
58
  "list_content": handleListContent,
23
59
  "update_content": handleUpdateContent,
60
+ // User & Profile handlers
24
61
  "get_user_session": handleGetUserSession,
25
62
  "get_profile_timeline": handleGetProfileTimeline,
63
+ // Definition handlers
64
+ "get_definition_schema": handleGetDefinitionSchema,
65
+ "search_similar_definitions": handleSearchSimilarDefinitions,
66
+ "create_definition": handleCreateDefinition,
67
+ "update_definition": handleUpdateDefinition,
68
+ "list_definitions": handleListDefinitions,
69
+ // Campaign & Communication handlers
70
+ "get_campaign_recipients": handleGetCampaignRecipients,
71
+ "get_campaign_analytics": handleGetCampaignAnalytics,
72
+ "send_campaign": handleSendCampaign,
73
+ "send_test_campaign": handleSendTestCampaign,
74
+ "send_bulk_sms": handleSendBulkSms,
75
+ // Reporting handlers
76
+ "get_event_attendance": handleGetEventAttendance,
77
+ "count_content": handleCountContent,
78
+ // Checkin handlers
79
+ "create_checkin": handleCreateCheckin,
80
+ "checkout": handleCheckout,
26
81
  };
27
82
  // Helper function to get a tool handler by name
28
83
  export function getToolHandler(name) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AACjH,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAEhF,kCAAkC;AAClC,MAAM,CAAC,MAAM,KAAK,GAAW;IAC3B,YAAY;IACZ,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,iBAAiB;IACjB,kBAAkB;IAClB,sBAAsB;CACvB,CAAC;AAEF,gCAAgC;AAChC,MAAM,CAAC,MAAM,YAAY,GAA6B;IACpD,cAAc,EAAE,iBAAiB;IACjC,0BAA0B,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,2BAA2B,CAAC,IAAI,CAAC,cAAc,CAAC;IAC3F,gBAAgB,EAAE,mBAAmB;IACrC,cAAc,EAAE,iBAAiB;IACjC,gBAAgB,EAAE,mBAAmB;IACrC,kBAAkB,EAAE,oBAAoB;IACxC,sBAAsB,EAAE,wBAAwB;CACjD,CAAC;AAEF,gDAAgD;AAChD,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,IAAI,YAAY,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/tools/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAiD1D,eAAO,MAAM,eAAe,EAAE,IA4F7B,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA2B9G"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/tools/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAiD1D,eAAO,MAAM,eAAe,EAAE,IAoI7B,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA2B9G"}
@@ -1,7 +1,47 @@
1
1
  import { ConfigManager } from "../config.js";
2
2
  export const listContentTool = {
3
3
  name: "list_content",
4
- description: "🔍 List and search content items with comprehensive filtering, sorting, and pagination",
4
+ description: `Query and filter content in Qik's database.
5
+
6
+ **DISCOVERY WORKFLOW:**
7
+ 1. Use \`search_content_types\` first if you're unsure about the typeKey
8
+ 2. Use \`get_content_type_details\` to understand available fields
9
+ 3. Use \`get_filter_comparators\` to understand filter syntax
10
+ 4. Use \`get_entity_relationships\` to understand how entities connect
11
+
12
+ **FILTER STRUCTURE:**
13
+ \`\`\`json
14
+ {
15
+ "operator": "and" | "or" | "nor",
16
+ "filters": [
17
+ { "key": "fieldPath", "comparator": "comparatorName", "value": ... }
18
+ ]
19
+ }
20
+ \`\`\`
21
+
22
+ **COMMON PATTERNS:**
23
+
24
+ *Finding people with criteria:*
25
+ - typeKey: "profile"
26
+ - Filter by gender: { "key": "gender", "comparator": "equal", "value": "Female" }
27
+ - Filter by age: { "key": "_age", "comparator": "lesser", "value": 10 }
28
+ - Has email: { "key": "emails", "comparator": "notempty" }
29
+
30
+ *Finding attendance records:*
31
+ - typeKey: "checkin"
32
+ - Filter by event: { "key": "event", "comparator": "equal", "value": "EVENT_ID" }
33
+ - Filter by date: { "key": "checkinDate", "comparator": "datebetween", "value": "START", "value2": "END" }
34
+
35
+ *Cross-entity queries (e.g., "people who attended event X"):*
36
+ 1. List checkins filtered by event → get profile IDs from results
37
+ 2. List profiles filtered by those IDs
38
+
39
+ **COMPARATOR CATEGORIES:**
40
+ - Text: equal, contains, startswith, endswith
41
+ - Number: greater, lesser, between
42
+ - Date: datetoday, datebetween, datenext, datepast
43
+ - Anniversary: anniversarynext (for birthdays)
44
+ - Collection: empty, notempty, in, notin`,
5
45
  inputSchema: {
6
46
  type: "object",
7
47
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/tools/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/tools/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const getEntityRelationshipsTool: Tool;
3
+ export declare function handleGetEntityRelationships(args: {
4
+ typeKey: string;
5
+ }): Promise<{
6
+ content: Array<{
7
+ type: string;
8
+ text: string;
9
+ }>;
10
+ }>;
11
+ //# sourceMappingURL=relationships.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../../src/tools/relationships.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAG1D,eAAO,MAAM,0BAA0B,EAAE,IA2BxC,CAAC;AAWF,wBAAsB,4BAA4B,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAmHzI"}
@@ -0,0 +1,130 @@
1
+ import { ConfigManager } from "../config.js";
2
+ export const getEntityRelationshipsTool = {
3
+ name: "get_entity_relationships",
4
+ description: `Get relationships between entity types.
5
+
6
+ Use this to understand how to query across related content.
7
+ Returns reference fields showing what other content types this entity connects to.
8
+
9
+ **Examples:**
10
+ - checkin → references profile (the person) and event (what they attended)
11
+ - assignment → references profile, event, and roster
12
+ - campaign → has filter that targets profiles
13
+
14
+ **Use Case:**
15
+ When you need to "find people who attended event X":
16
+ 1. Get relationships for 'checkin' → see it references 'profile' and 'event'
17
+ 2. Query checkins filtered by event
18
+ 3. Extract profile IDs from results`,
19
+ inputSchema: {
20
+ type: "object",
21
+ properties: {
22
+ typeKey: {
23
+ type: "string",
24
+ description: "Content type key to get relationships for (e.g., 'checkin', 'assignment', 'campaign')"
25
+ }
26
+ },
27
+ required: ["typeKey"]
28
+ },
29
+ };
30
+ export async function handleGetEntityRelationships(args) {
31
+ try {
32
+ const configManager = new ConfigManager();
33
+ const config = await configManager.loadConfig();
34
+ if (!config) {
35
+ throw new Error('Qik MCP server not configured. Run setup first.');
36
+ }
37
+ // Fetch detailed type definition
38
+ const response = await fetch(`${config.apiUrl || 'https://api.qik.dev'}/glossary/ai/${args.typeKey}`, {
39
+ headers: {
40
+ 'Authorization': `Bearer ${config.accessToken}`,
41
+ 'Content-Type': 'application/json',
42
+ },
43
+ });
44
+ if (!response.ok) {
45
+ if (response.status === 404) {
46
+ return {
47
+ content: [{
48
+ type: "text",
49
+ text: `❌ Content type '${args.typeKey}' not found.\n\nUse \`search_content_types\` or \`get_glossary\` to find available types.`
50
+ }]
51
+ };
52
+ }
53
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
54
+ }
55
+ const typeData = await response.json();
56
+ const fields = typeData.fields || [];
57
+ // Extract reference fields
58
+ const referenceFields = fields.filter(f => f.type === 'reference' && f.referenceType);
59
+ // Also identify other important relationship patterns
60
+ const dateFields = fields.filter(f => f.type === 'date');
61
+ const arrayFields = fields.filter(f => f.path?.includes('[]'));
62
+ let resultText = `# Entity Relationships: ${typeData.title} (\`${args.typeKey}\`)\n\n`;
63
+ // Reference fields section
64
+ if (referenceFields.length > 0) {
65
+ resultText += `## References (Links to Other Entities)\n\n`;
66
+ resultText += `These fields link to other content types:\n\n`;
67
+ for (const field of referenceFields) {
68
+ resultText += `### \`${field.path}\` → ${field.referenceType}\n`;
69
+ resultText += `- **Type**: Reference to \`${field.referenceType}\`\n`;
70
+ if (field.description) {
71
+ resultText += `- **Description**: ${field.description}\n`;
72
+ }
73
+ resultText += `- **Query**: Filter ${args.typeKey} by this field to find records linked to specific ${field.referenceType}\n`;
74
+ resultText += `\n`;
75
+ }
76
+ resultText += `**Example Query (find ${args.typeKey} for specific ${referenceFields[0]?.referenceType}):**\n`;
77
+ resultText += `\`\`\`json\n`;
78
+ resultText += `{
79
+ "typeKey": "${args.typeKey}",
80
+ "filter": {
81
+ "operator": "and",
82
+ "filters": [
83
+ { "key": "${referenceFields[0]?.path}", "comparator": "equal", "value": "TARGET_ID" }
84
+ ]
85
+ }
86
+ }\n`;
87
+ resultText += `\`\`\`\n\n`;
88
+ }
89
+ else {
90
+ resultText += `## References\n\nNo reference fields found. This entity doesn't directly link to other content types.\n\n`;
91
+ }
92
+ // Date fields section
93
+ if (dateFields.length > 0) {
94
+ resultText += `## Date Fields (for Time-based Queries)\n\n`;
95
+ for (const field of dateFields) {
96
+ resultText += `- \`${field.path}\`: ${field.title || field.description || 'Date field'}\n`;
97
+ }
98
+ resultText += `\nUse date comparators (datebetween, datenext, datepast) on these fields.\n\n`;
99
+ }
100
+ // Filterable fields summary
101
+ const filterableFields = fields.filter(f => f.type && !['void', 'group'].includes(f.type) && f.path);
102
+ resultText += `## All Filterable Fields\n\n`;
103
+ resultText += `| Path | Type | Reference |\n`;
104
+ resultText += `|------|------|----------|\n`;
105
+ for (const field of filterableFields.slice(0, 20)) {
106
+ const refInfo = field.referenceType ? `→ ${field.referenceType}` : '-';
107
+ resultText += `| \`${field.path}\` | ${field.type} | ${refInfo} |\n`;
108
+ }
109
+ if (filterableFields.length > 20) {
110
+ resultText += `| ... | (${filterableFields.length - 20} more fields) | |\n`;
111
+ }
112
+ resultText += `\n---\n`;
113
+ resultText += `💡 Use \`get_content_type_details\` for full field documentation including examples.\n`;
114
+ return {
115
+ content: [{
116
+ type: "text",
117
+ text: resultText
118
+ }]
119
+ };
120
+ }
121
+ catch (error) {
122
+ return {
123
+ content: [{
124
+ type: "text",
125
+ text: `Failed to get entity relationships: ${error.message}`
126
+ }]
127
+ };
128
+ }
129
+ }
130
+ //# sourceMappingURL=relationships.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../../src/tools/relationships.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const getEventAttendanceTool: Tool;
3
+ export declare const countContentTool: Tool;
4
+ export declare function handleGetEventAttendance(args: {
5
+ eventId: string;
6
+ includeProfiles?: boolean;
7
+ }): Promise<{
8
+ content: Array<{
9
+ type: string;
10
+ text: string;
11
+ }>;
12
+ }>;
13
+ export declare function handleCountContent(args: {
14
+ typeKey: string;
15
+ filter?: any;
16
+ }): Promise<{
17
+ content: Array<{
18
+ type: string;
19
+ text: string;
20
+ }>;
21
+ }>;
22
+ //# sourceMappingURL=reporting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporting.d.ts","sourceRoot":"","sources":["../../../src/tools/reporting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAG1D,eAAO,MAAM,sBAAsB,EAAE,IAyBpC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,IA4B9B,CAAC;AAEF,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAgIhK;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA0D7I"}
@@ -0,0 +1,219 @@
1
+ import { ConfigManager } from "../config.js";
2
+ export const getEventAttendanceTool = {
3
+ name: "get_event_attendance",
4
+ description: `Get attendance statistics for an event.
5
+
6
+ Returns:
7
+ - Total checkins count
8
+ - Breakdown by checked-in vs checked-out
9
+ - Absent count (expected but didn't attend)
10
+ - Optional: include profile details
11
+
12
+ **Use Case:** "How many people attended last week's event?"`,
13
+ inputSchema: {
14
+ type: "object",
15
+ properties: {
16
+ eventId: {
17
+ type: "string",
18
+ description: "The event ID to get attendance for"
19
+ },
20
+ includeProfiles: {
21
+ type: "boolean",
22
+ description: "Include profile details in response (default: false)"
23
+ }
24
+ },
25
+ required: ["eventId"]
26
+ },
27
+ };
28
+ export const countContentTool = {
29
+ name: "count_content",
30
+ description: `Count content items matching a filter.
31
+
32
+ Simpler than list_content when you just need a count.
33
+
34
+ **Examples:**
35
+ - "How many profiles?" → typeKey: "profile"
36
+ - "How many females?" → typeKey: "profile", filter with gender=Female
37
+ - "How many active events?" → typeKey: "event", filter with status=active`,
38
+ inputSchema: {
39
+ type: "object",
40
+ properties: {
41
+ typeKey: {
42
+ type: "string",
43
+ description: "Content type to count (e.g., 'profile', 'event', 'checkin')"
44
+ },
45
+ filter: {
46
+ type: "object",
47
+ description: "Filter criteria (same structure as list_content)",
48
+ properties: {
49
+ operator: { type: "string", enum: ["and", "or", "nor"] },
50
+ filters: { type: "array" }
51
+ }
52
+ }
53
+ },
54
+ required: ["typeKey"]
55
+ },
56
+ };
57
+ export async function handleGetEventAttendance(args) {
58
+ try {
59
+ const configManager = new ConfigManager();
60
+ const config = await configManager.loadConfig();
61
+ if (!config) {
62
+ throw new Error('Qik MCP server not configured. Run setup first.');
63
+ }
64
+ // First, get the event details
65
+ const eventResponse = await fetch(`${config.apiUrl || 'https://api.qik.dev'}/content/${args.eventId}`, {
66
+ headers: {
67
+ 'Authorization': `Bearer ${config.accessToken}`,
68
+ 'Content-Type': 'application/json',
69
+ },
70
+ });
71
+ let eventTitle = 'Unknown Event';
72
+ if (eventResponse.ok) {
73
+ const eventData = await eventResponse.json();
74
+ eventTitle = eventData.title || eventTitle;
75
+ }
76
+ // Query checkins for this event
77
+ const selectFields = ['_id', 'firstName', 'lastName', 'checkedOut', 'absent', 'age', 'gender', 'session'];
78
+ if (args.includeProfiles) {
79
+ selectFields.push('profile');
80
+ }
81
+ const listRequest = {
82
+ filter: {
83
+ operator: 'and',
84
+ filters: [
85
+ { key: 'event', comparator: 'equal', value: args.eventId }
86
+ ]
87
+ },
88
+ select: selectFields,
89
+ page: { size: 1000, index: 1 }
90
+ };
91
+ const checkinsResponse = await fetch(`${config.apiUrl || 'https://api.qik.dev'}/content/checkin/list`, {
92
+ method: 'POST',
93
+ headers: {
94
+ 'Authorization': `Bearer ${config.accessToken}`,
95
+ 'Content-Type': 'application/json',
96
+ },
97
+ body: JSON.stringify(listRequest)
98
+ });
99
+ if (!checkinsResponse.ok) {
100
+ const errorText = await checkinsResponse.text();
101
+ throw new Error(`HTTP ${checkinsResponse.status}: ${errorText}`);
102
+ }
103
+ const checkinsData = await checkinsResponse.json();
104
+ const checkins = checkinsData.items || [];
105
+ const total = checkinsData.total || checkins.length;
106
+ // Calculate statistics
107
+ const checkedIn = checkins.filter((c) => !c.checkedOut && !c.absent).length;
108
+ const checkedOut = checkins.filter((c) => c.checkedOut).length;
109
+ const absent = checkins.filter((c) => c.absent).length;
110
+ // Gender breakdown
111
+ const genderCounts = {};
112
+ for (const checkin of checkins) {
113
+ const gender = checkin.gender || 'Unknown';
114
+ genderCounts[gender] = (genderCounts[gender] || 0) + 1;
115
+ }
116
+ // Session breakdown
117
+ const sessionCounts = {};
118
+ for (const checkin of checkins) {
119
+ if (checkin.session) {
120
+ sessionCounts[checkin.session] = (sessionCounts[checkin.session] || 0) + 1;
121
+ }
122
+ }
123
+ let resultText = `# Event Attendance: ${eventTitle}\n\n`;
124
+ resultText += `## Summary\n`;
125
+ resultText += `- **Total records**: ${total}\n`;
126
+ resultText += `- **Checked in**: ${checkedIn}\n`;
127
+ resultText += `- **Checked out**: ${checkedOut}\n`;
128
+ resultText += `- **Absent**: ${absent}\n\n`;
129
+ if (Object.keys(genderCounts).length > 0) {
130
+ resultText += `## By Gender\n`;
131
+ for (const [gender, count] of Object.entries(genderCounts)) {
132
+ resultText += `- ${gender}: ${count}\n`;
133
+ }
134
+ resultText += '\n';
135
+ }
136
+ if (Object.keys(sessionCounts).length > 0) {
137
+ resultText += `## By Session\n`;
138
+ for (const [session, count] of Object.entries(sessionCounts)) {
139
+ resultText += `- ${session}: ${count}\n`;
140
+ }
141
+ resultText += '\n';
142
+ }
143
+ if (args.includeProfiles && checkins.length > 0) {
144
+ resultText += `## Attendees (first 20)\n`;
145
+ for (const checkin of checkins.slice(0, 20)) {
146
+ const name = [checkin.firstName, checkin.lastName].filter(Boolean).join(' ') || 'Unknown';
147
+ const status = checkin.absent ? '❌ Absent' : checkin.checkedOut ? '↩️ Checked out' : '✅ Present';
148
+ resultText += `- ${name} ${status}\n`;
149
+ }
150
+ if (checkins.length > 20) {
151
+ resultText += `- ... and ${checkins.length - 20} more\n`;
152
+ }
153
+ }
154
+ return {
155
+ content: [{
156
+ type: "text",
157
+ text: resultText
158
+ }]
159
+ };
160
+ }
161
+ catch (error) {
162
+ return {
163
+ content: [{
164
+ type: "text",
165
+ text: `❌ Failed to get event attendance: ${error.message}`
166
+ }]
167
+ };
168
+ }
169
+ }
170
+ export async function handleCountContent(args) {
171
+ try {
172
+ const configManager = new ConfigManager();
173
+ const config = await configManager.loadConfig();
174
+ if (!config) {
175
+ throw new Error('Qik MCP server not configured. Run setup first.');
176
+ }
177
+ const listRequest = {
178
+ select: ['_id'],
179
+ page: { size: 1, index: 1 }
180
+ };
181
+ if (args.filter) {
182
+ listRequest.filter = args.filter;
183
+ }
184
+ const response = await fetch(`${config.apiUrl || 'https://api.qik.dev'}/content/${args.typeKey}/list`, {
185
+ method: 'POST',
186
+ headers: {
187
+ 'Authorization': `Bearer ${config.accessToken}`,
188
+ 'Content-Type': 'application/json',
189
+ },
190
+ body: JSON.stringify(listRequest)
191
+ });
192
+ if (!response.ok) {
193
+ const errorText = await response.text();
194
+ throw new Error(`HTTP ${response.status}: ${errorText}`);
195
+ }
196
+ const data = await response.json();
197
+ const total = data.total || 0;
198
+ let filterDesc = '';
199
+ if (args.filter?.filters?.length) {
200
+ const conditions = args.filter.filters.map((f) => `${f.key} ${f.comparator} ${f.value !== undefined ? JSON.stringify(f.value) : ''}`).join(` ${args.filter.operator} `);
201
+ filterDesc = ` matching: ${conditions}`;
202
+ }
203
+ return {
204
+ content: [{
205
+ type: "text",
206
+ text: `📊 **Count**: ${total} ${args.typeKey}(s)${filterDesc}`
207
+ }]
208
+ };
209
+ }
210
+ catch (error) {
211
+ return {
212
+ content: [{
213
+ type: "text",
214
+ text: `❌ Failed to count content: ${error.message}`
215
+ }]
216
+ };
217
+ }
218
+ }
219
+ //# sourceMappingURL=reporting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporting.js","sourceRoot":"","sources":["../../../src/tools/reporting.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,sBAAsB,GAAS;IAC1C,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE;;;;;;;;4DAQ6C;IAC1D,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oCAAoC;aAClD;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,sDAAsD;aACpE;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAS;IACpC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE;;;;;;;0EAO2D;IACxE,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6DAA6D;aAC3E;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kDAAkD;gBAC/D,UAAU,EAAE;oBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;oBACxD,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;iBAC3B;aACF;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAAoD;IACjG,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;QAEhD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,+BAA+B;QAC/B,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,qBAAqB,YAAY,IAAI,CAAC,OAAO,EAAE,EAAE;YACrG,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,MAAM,CAAC,WAAW,EAAE;gBAC/C,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,IAAI,UAAU,GAAG,eAAe,CAAC;QACjC,IAAI,aAAa,CAAC,EAAE,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;YAC7C,UAAU,GAAG,SAAS,CAAC,KAAK,IAAI,UAAU,CAAC;QAC7C,CAAC;QAED,gCAAgC;QAChC,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC1G,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE;gBACN,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE;oBACP,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE;iBAC3D;aACF;YACD,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE;SAC/B,CAAC;QAEF,MAAM,gBAAgB,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,qBAAqB,uBAAuB,EAAE;YACrG,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,MAAM,CAAC,WAAW,EAAE;gBAC/C,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,QAAQ,gBAAgB,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC;QAEpD,uBAAuB;QACvB,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QACjF,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;QACpE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QAE5D,mBAAmB;QACnB,MAAM,YAAY,GAA2B,EAAE,CAAC;QAChD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;YAC3C,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACzD,CAAC;QAED,oBAAoB;QACpB,MAAM,aAAa,GAA2B,EAAE,CAAC;QACjD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QAED,IAAI,UAAU,GAAG,uBAAuB,UAAU,MAAM,CAAC;QACzD,UAAU,IAAI,cAAc,CAAC;QAC7B,UAAU,IAAI,wBAAwB,KAAK,IAAI,CAAC;QAChD,UAAU,IAAI,qBAAqB,SAAS,IAAI,CAAC;QACjD,UAAU,IAAI,sBAAsB,UAAU,IAAI,CAAC;QACnD,UAAU,IAAI,iBAAiB,MAAM,MAAM,CAAC;QAE5C,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,UAAU,IAAI,gBAAgB,CAAC;YAC/B,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC3D,UAAU,IAAI,KAAK,MAAM,KAAK,KAAK,IAAI,CAAC;YAC1C,CAAC;YACD,UAAU,IAAI,IAAI,CAAC;QACrB,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,UAAU,IAAI,iBAAiB,CAAC;YAChC,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC7D,UAAU,IAAI,KAAK,OAAO,KAAK,KAAK,IAAI,CAAC;YAC3C,CAAC;YACD,UAAU,IAAI,IAAI,CAAC;QACrB,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,UAAU,IAAI,2BAA2B,CAAC;YAC1C,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;gBAC1F,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC;gBACjG,UAAU,IAAI,KAAK,IAAI,IAAI,MAAM,IAAI,CAAC;YACxC,CAAC;YACD,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACzB,UAAU,IAAI,aAAa,QAAQ,CAAC,MAAM,GAAG,EAAE,SAAS,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,UAAU;iBACjB,CAAC;SACH,CAAC;IAEJ,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,qCAAqC,KAAK,CAAC,OAAO,EAAE;iBAC3D,CAAC;SACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAuC;IAC9E,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;QAEhD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,WAAW,GAAQ;YACvB,MAAM,EAAE,CAAC,KAAK,CAAC;YACf,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;SAC5B,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACnC,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,qBAAqB,YAAY,IAAI,CAAC,OAAO,OAAO,EAAE;YACrG,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,MAAM,CAAC,WAAW,EAAE;gBAC/C,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAE9B,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CACpD,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CACnF,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;YACpC,UAAU,GAAG,cAAc,UAAU,EAAE,CAAC;QAC1C,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,iBAAiB,KAAK,IAAI,IAAI,CAAC,OAAO,MAAM,UAAU,EAAE;iBAC/D,CAAC;SACH,CAAC;IAEJ,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,8BAA8B,KAAK,CAAC,OAAO,EAAE;iBACpD,CAAC;SACH,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Tool } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const sendBulkSmsTool: Tool;
3
+ export declare function handleSendBulkSms(args: {
4
+ recipients: string[];
5
+ body: string;
6
+ scopes?: string[];
7
+ }): Promise<{
8
+ content: Array<{
9
+ type: string;
10
+ text: string;
11
+ }>;
12
+ }>;
13
+ //# sourceMappingURL=sms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sms.d.ts","sourceRoot":"","sources":["../../../src/tools/sms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAG1D,eAAO,MAAM,eAAe,EAAE,IAmC7B,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAsGpK"}