@qikdev/mcp 6.7.1 → 6.7.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.
@@ -85,49 +85,10 @@ export async function handleGetProfileTimeline(args) {
85
85
  throw new Error(`HTTP ${response.status}: ${response.statusText}`);
86
86
  }
87
87
  const timelineData = await response.json();
88
- // Format the response for better readability
89
- let formattedText = `šŸ“ˆ Profile Timeline for: ${timelineData.profile.title}\n`;
90
- formattedText += `Profile ID: ${timelineData.profile._id}\n\n`;
91
- if (timelineData.pagination) {
92
- formattedText += `šŸ“Š Showing ${timelineData.timeline.length} entries`;
93
- if (timelineData.pagination.total > timelineData.timeline.length) {
94
- formattedText += ` of ${timelineData.pagination.total} total`;
95
- }
96
- formattedText += `\n\n`;
97
- }
98
- if (timelineData.timeline.length === 0) {
99
- formattedText += `No timeline entries found for this profile.`;
100
- if (args.startDate || args.endDate || args.actionTypes) {
101
- formattedText += ` Try adjusting your filters.`;
102
- }
103
- }
104
- else {
105
- formattedText += `Timeline Entries:\n`;
106
- formattedText += `${'='.repeat(50)}\n\n`;
107
- timelineData.timeline.forEach((entry, index) => {
108
- const timestamp = new Date(entry.timestamp).toLocaleString();
109
- formattedText += `${index + 1}. ${entry.action.toUpperCase()} - ${entry.type}\n`;
110
- formattedText += ` šŸ“… ${timestamp}\n`;
111
- if (entry.user) {
112
- formattedText += ` šŸ‘¤ User: ${entry.user.title} (${entry.user._id})\n`;
113
- }
114
- if (entry.content) {
115
- formattedText += ` šŸ“„ Content: ${entry.content.title} (${entry.content.type})\n`;
116
- formattedText += ` šŸ†” Content ID: ${entry.content._id}\n`;
117
- }
118
- if (entry.details && Object.keys(entry.details).length > 0) {
119
- formattedText += ` šŸ“‹ Details: ${JSON.stringify(entry.details, null, 2).replace(/\n/g, '\n ')}\n`;
120
- }
121
- formattedText += `\n`;
122
- });
123
- if (timelineData.pagination && timelineData.pagination.hasMore) {
124
- formattedText += `\nšŸ’” There are more entries available. Use page=${(timelineData.pagination.page || 1) + 1} to see more.`;
125
- }
126
- }
127
88
  return {
128
89
  content: [{
129
90
  type: "text",
130
- text: formattedText
91
+ text: JSON.stringify(timelineData, null, 2)
131
92
  }]
132
93
  };
133
94
  }
@@ -135,7 +96,7 @@ export async function handleGetProfileTimeline(args) {
135
96
  return {
136
97
  content: [{
137
98
  type: "text",
138
- text: `āŒ Failed to fetch profile timeline: ${error.message}`
99
+ text: JSON.stringify({ error: error.message }, null, 2)
139
100
  }]
140
101
  };
141
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../src/tools/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../src/tools/profile.ts"],"names":[],"mappings":"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"}
@@ -1 +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"}
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,CA8CzI"}
@@ -46,75 +46,17 @@ export async function handleGetEntityRelationships(args) {
46
46
  return {
47
47
  content: [{
48
48
  type: "text",
49
- text: `āŒ Content type '${args.typeKey}' not found.\n\nUse \`search_content_types\` or \`get_glossary\` to find available types.`
49
+ text: JSON.stringify({ error: `Content type '${args.typeKey}' not found` }, null, 2)
50
50
  }]
51
51
  };
52
52
  }
53
53
  throw new Error(`HTTP ${response.status}: ${response.statusText}`);
54
54
  }
55
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
56
  return {
115
57
  content: [{
116
58
  type: "text",
117
- text: resultText
59
+ text: JSON.stringify(typeData, null, 2)
118
60
  }]
119
61
  };
120
62
  }
@@ -122,7 +64,7 @@ export async function handleGetEntityRelationships(args) {
122
64
  return {
123
65
  content: [{
124
66
  type: "text",
125
- text: `Failed to get entity relationships: ${error.message}`
67
+ text: JSON.stringify({ error: error.message }, null, 2)
126
68
  }]
127
69
  };
128
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../../src/tools/relationships.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../../src/tools/relationships.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,0BAA0B,GAAS;IAC9C,IAAI,EAAE,0BAA0B;IAChC,WAAW,EAAE;;;;;;;;;;;;;;oCAcqB;IAClC,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uFAAuF;aACrG;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;CACF,CAAC;AAWF,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,IAAyB;IAC1E,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,iCAAiC;QACjC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,qBAAqB,gBAAgB,IAAI,CAAC,OAAO,EAAE,EAAE;YACpG,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,MAAM,CAAC,WAAW,EAAE;gBAC/C,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,iBAAiB,IAAI,CAAC,OAAO,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;yBACrF,CAAC;iBACH,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEvC,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC,CAAC;SACH,CAAC;IAEJ,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxD,CAAC;SACH,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1 +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"}
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,CA2EhK;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,CAiD7I"}
@@ -68,10 +68,9 @@ export async function handleGetEventAttendance(args) {
68
68
  'Content-Type': 'application/json',
69
69
  },
70
70
  });
71
- let eventTitle = 'Unknown Event';
71
+ let eventData = null;
72
72
  if (eventResponse.ok) {
73
- const eventData = await eventResponse.json();
74
- eventTitle = eventData.title || eventTitle;
73
+ eventData = await eventResponse.json();
75
74
  }
76
75
  // Query checkins for this event
77
76
  const selectFields = ['_id', 'firstName', 'lastName', 'checkedOut', 'absent', 'age', 'gender', 'session'];
@@ -101,60 +100,14 @@ export async function handleGetEventAttendance(args) {
101
100
  throw new Error(`HTTP ${checkinsResponse.status}: ${errorText}`);
102
101
  }
103
102
  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
- }
103
+ const result = {
104
+ event: eventData,
105
+ checkins: checkinsData
106
+ };
154
107
  return {
155
108
  content: [{
156
109
  type: "text",
157
- text: resultText
110
+ text: JSON.stringify(result, null, 2)
158
111
  }]
159
112
  };
160
113
  }
@@ -162,7 +115,7 @@ export async function handleGetEventAttendance(args) {
162
115
  return {
163
116
  content: [{
164
117
  type: "text",
165
- text: `āŒ Failed to get event attendance: ${error.message}`
118
+ text: JSON.stringify({ error: error.message }, null, 2)
166
119
  }]
167
120
  };
168
121
  }
@@ -194,16 +147,10 @@ export async function handleCountContent(args) {
194
147
  throw new Error(`HTTP ${response.status}: ${errorText}`);
195
148
  }
196
149
  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
150
  return {
204
151
  content: [{
205
152
  type: "text",
206
- text: `šŸ“Š **Count**: ${total} ${args.typeKey}(s)${filterDesc}`
153
+ text: JSON.stringify({ typeKey: args.typeKey, filter: args.filter, total: data.total || 0 }, null, 2)
207
154
  }]
208
155
  };
209
156
  }
@@ -211,7 +158,7 @@ export async function handleCountContent(args) {
211
158
  return {
212
159
  content: [{
213
160
  type: "text",
214
- text: `āŒ Failed to count content: ${error.message}`
161
+ text: JSON.stringify({ error: error.message }, null, 2)
215
162
  }]
216
163
  };
217
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reporting.js","sourceRoot":"","sources":["../../../src/tools/reporting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reporting.js","sourceRoot":"","sources":["../../../src/tools/reporting.ts"],"names":[],"mappings":"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"}
@@ -1 +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"}
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,CAmEpK"}
@@ -46,7 +46,7 @@ export async function handleSendBulkSms(args) {
46
46
  return {
47
47
  content: [{
48
48
  type: "text",
49
- text: `āŒ No recipients provided. Please provide an array of profile IDs.`
49
+ text: JSON.stringify({ error: 'No recipients provided. Please provide an array of profile IDs.' }, null, 2)
50
50
  }]
51
51
  };
52
52
  }
@@ -54,7 +54,7 @@ export async function handleSendBulkSms(args) {
54
54
  return {
55
55
  content: [{
56
56
  type: "text",
57
- text: `āŒ No message body provided. Please provide the SMS text to send.`
57
+ text: JSON.stringify({ error: 'No message body provided. Please provide the SMS text to send.' }, null, 2)
58
58
  }]
59
59
  };
60
60
  }
@@ -78,41 +78,10 @@ export async function handleSendBulkSms(args) {
78
78
  throw new Error(`HTTP ${response.status}: ${errorText}`);
79
79
  }
80
80
  const result = await response.json();
81
- const { valid, invalid } = result;
82
- let resultText = `# SMS Bulk Send\n\n`;
83
- resultText += `## Summary\n`;
84
- resultText += `- **Valid recipients**: ${valid?.length || 0} (will receive SMS)\n`;
85
- resultText += `- **Invalid recipients**: ${invalid?.length || 0} (no phone number)\n\n`;
86
- if (valid?.length > 0) {
87
- resultText += `## Valid Recipients\n`;
88
- for (const profile of valid.slice(0, 10)) {
89
- const name = [profile.firstName, profile.lastName].filter(Boolean).join(' ') || 'Unknown';
90
- const phone = profile.phoneNumbersInternational?.[0] || 'Phone on file';
91
- resultText += `- ${name} (${phone})\n`;
92
- }
93
- if (valid.length > 10) {
94
- resultText += `- ... and ${valid.length - 10} more\n`;
95
- }
96
- resultText += '\n';
97
- }
98
- if (invalid?.length > 0) {
99
- resultText += `## Invalid Recipients (no phone)\n`;
100
- for (const profile of invalid.slice(0, 5)) {
101
- const name = [profile.firstName, profile.lastName].filter(Boolean).join(' ') || 'Unknown';
102
- resultText += `- ${name}\n`;
103
- }
104
- if (invalid.length > 5) {
105
- resultText += `- ... and ${invalid.length - 5} more\n`;
106
- }
107
- resultText += '\n';
108
- }
109
- resultText += `---\n`;
110
- resultText += `āœ… SMS messages have been queued for delivery.\n`;
111
- resultText += `šŸ“± Message: "${args.body.substring(0, 50)}${args.body.length > 50 ? '...' : ''}"`;
112
81
  return {
113
82
  content: [{
114
83
  type: "text",
115
- text: resultText
84
+ text: JSON.stringify(result, null, 2)
116
85
  }]
117
86
  };
118
87
  }
@@ -120,7 +89,7 @@ export async function handleSendBulkSms(args) {
120
89
  return {
121
90
  content: [{
122
91
  type: "text",
123
- text: `āŒ Failed to send bulk SMS: ${error.message}`
92
+ text: JSON.stringify({ error: error.message }, null, 2)
124
93
  }]
125
94
  };
126
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sms.js","sourceRoot":"","sources":["../../../src/tools/sms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sms.js","sourceRoot":"","sources":["../../../src/tools/sms.ts"],"names":[],"mappings":"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"}
@@ -266,7 +266,7 @@ function createErrorResponse(message) {
266
266
  return {
267
267
  content: [{
268
268
  type: "text",
269
- text: `āŒ ${message}`
269
+ text: JSON.stringify({ error: message }, null, 2)
270
270
  }]
271
271
  };
272
272
  }
@@ -274,7 +274,11 @@ function createSearchCriteriaPrompt(contentType, naturalLanguage) {
274
274
  return {
275
275
  content: [{
276
276
  type: "text",
277
- text: `šŸ” To update ${contentType.title}, I need to find the specific item first. Please provide search criteria:\n\n**Option 1: Provide the exact content ID**\n\`\`\`json\n{\n "typeKey": "${naturalLanguage}",\n "contentId": "your_content_id_here"\n}\n\`\`\`\n\n**Option 2: Provide search criteria**\n\`\`\`json\n{\n "typeKey": "${naturalLanguage}",\n "searchCriteria": {\n "search": "keywords to search for",\n "filters": [{\n "key": "field_name",\n "comparator": "equal",\n "value": "field_value"\n }]\n }\n}\n\`\`\`\n\n**Option 3: Use list_content first**\nUse the \`list_content\` tool to find the content you want to update, then use the ID from those results.`
277
+ text: JSON.stringify({
278
+ needsSearchCriteria: true,
279
+ contentTitle: contentType.title,
280
+ typeKey: naturalLanguage
281
+ }, null, 2)
278
282
  }]
279
283
  };
280
284
  }
@@ -282,65 +286,38 @@ function createContentSelectionPrompt(contentType, searchResults, naturalLanguag
282
286
  return {
283
287
  content: [{
284
288
  type: "text",
285
- text: `šŸ” Found multiple ${contentType.plural || contentType.title}:\n\n${searchResults}\n\nšŸ“ **To update a specific item**, please call update_content again with the exact content ID:\n\n\`\`\`json\n{\n "typeKey": "${naturalLanguage}",\n "contentId": "the_id_from_above_results",\n "field_to_update": "new_value"\n}\n\`\`\``
289
+ text: JSON.stringify({
290
+ needsSelection: true,
291
+ contentTitle: contentType.title,
292
+ plural: contentType.plural,
293
+ searchResults: JSON.parse(searchResults),
294
+ typeKey: naturalLanguage
295
+ }, null, 2)
286
296
  }]
287
297
  };
288
298
  }
289
299
  function createUpdateConfirmationPrompt(contentType, targetContent, args) {
290
300
  const { typeKey, contentId, searchCriteria, updateMethod, confirmUpdate, ...fieldUpdates } = args;
291
- let currentValues = `**Current Content:**\n`;
292
- currentValues += `- **ID**: ${targetContent._id}\n`;
293
- currentValues += `- **Title**: ${targetContent.title || 'No title'}\n`;
294
- if (targetContent.meta?.created) {
295
- currentValues += `- **Created**: ${new Date(targetContent.meta.created).toLocaleDateString()}\n`;
296
- }
297
- if (targetContent.meta?.updated) {
298
- currentValues += `- **Last Updated**: ${new Date(targetContent.meta.updated).toLocaleDateString()}\n`;
299
- }
300
- if (targetContent.meta?.status) {
301
- currentValues += `- **Status**: ${targetContent.meta.status}\n`;
302
- }
303
- // Show current data values
304
- if (targetContent.data && Object.keys(targetContent.data).length > 0) {
305
- currentValues += `\n**Current Data:**\n`;
306
- for (const [key, value] of Object.entries(targetContent.data)) {
307
- if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
308
- currentValues += `- **${key}**: ${value}\n`;
309
- }
310
- }
311
- }
312
- let proposedChanges = '';
313
- if (Object.keys(fieldUpdates).length > 0) {
314
- proposedChanges = `\n**Proposed Changes:**\n`;
315
- for (const [key, value] of Object.entries(fieldUpdates)) {
316
- proposedChanges += `- **${key}**: ${value}\n`;
317
- }
318
- }
319
- else {
320
- proposedChanges = `\nā“ **No field updates specified.** Please add the fields you want to update to your request.`;
321
- }
322
- const method = args.updateMethod || 'patch';
323
- const methodDescription = method === 'patch' ? 'partial update (only specified fields will be changed)' : 'full replacement (entire content will be replaced)';
324
301
  return {
325
302
  content: [{
326
303
  type: "text",
327
- text: `šŸ“‹ **Update Confirmation for ${contentType.title}**\n\n${currentValues}${proposedChanges}\n\n**Update Method**: ${method.toUpperCase()} (${methodDescription})\n\nāœ… **To proceed with the update**, call update_content again with \`"confirmUpdate": true\`:\n\n\`\`\`json\n${JSON.stringify({ ...args, confirmUpdate: true }, null, 2)}\n\`\`\``
304
+ text: JSON.stringify({
305
+ needsConfirmation: true,
306
+ contentTitle: contentType.title,
307
+ currentContent: targetContent,
308
+ proposedChanges: fieldUpdates,
309
+ updateMethod: args.updateMethod || 'patch',
310
+ typeKey,
311
+ contentId: targetContent._id
312
+ }, null, 2)
328
313
  }]
329
314
  };
330
315
  }
331
316
  function createUpdateSuccessResponse(contentType, updatedContent, method) {
332
- const methodText = method === 'patch' ? 'partially updated' : 'fully replaced';
333
- let contentJson = '';
334
- try {
335
- contentJson = JSON.stringify(updatedContent, null, 2);
336
- }
337
- catch (error) {
338
- contentJson = 'Unable to display content details due to JSON serialization error';
339
- }
340
317
  return {
341
318
  content: [{
342
319
  type: "text",
343
- text: `āœ… Successfully ${methodText} ${contentType.title}!\n\n**Content ID**: ${updatedContent._id || updatedContent.id || 'Unknown'}\n**Updated**: ${updatedContent.meta?.updated ? new Date(updatedContent.meta.updated).toLocaleString() : 'Now'}\n\n**Updated Content:**\n\`\`\`json\n${contentJson}\n\`\`\``
320
+ text: JSON.stringify(updatedContent, null, 2)
344
321
  }]
345
322
  };
346
323
  }
@@ -370,7 +347,7 @@ async function handleUpdateReferenceFieldSearch(field, searchTerm, naturalLangua
370
347
  return {
371
348
  content: [{
372
349
  type: "text",
373
- text: `āŒ Cannot search for ${field.path} references - no reference type specified in field definition.`
350
+ text: JSON.stringify({ error: `Cannot search for ${field.path} references - no reference type specified in field definition.` }, null, 2)
374
351
  }]
375
352
  };
376
353
  }
@@ -381,21 +358,19 @@ async function handleUpdateReferenceFieldSearch(field, searchTerm, naturalLangua
381
358
  page: { size: 10, index: 1 }
382
359
  };
383
360
  const searchResults = await handleListContent(listArgs);
384
- const resultsText = searchResults.content[0]?.text || '';
385
- // Check if no results found
386
- if (resultsText.includes('No ') && resultsText.includes('found matching')) {
387
- return {
388
- content: [{
389
- type: "text",
390
- text: `šŸ” No ${field.referenceType} found matching "${searchTerm}" for field ${field.path}.\n\nPlease try a different search term or provide the exact ID if you know it:\n\n\`\`\`json\n{\n "typeKey": "${naturalLanguage}",\n "${fieldKey}": "exact_id_here",\n "confirmUpdate": true\n}\n\`\`\`\n\nOr search with different terms:\n\n\`\`\`json\n{\n "typeKey": "${naturalLanguage}",\n "${fieldKey}": "search for: different search terms"\n}\n\`\`\``
391
- }]
392
- };
393
- }
394
- // Return the search results with instructions on how to select
395
361
  return {
396
362
  content: [{
397
363
  type: "text",
398
- text: `šŸ” **Reference Search Results for ${field.path}** (${field.title || field.path}):\n\n${resultsText}\n\nšŸ“ **To select a reference**, copy the ID from above and call update_content again:\n\n\`\`\`json\n{\n "typeKey": "${naturalLanguage}",\n "${fieldKey}": "selected_id_from_above",\n "confirmUpdate": true\n}\n\`\`\`\n\nšŸ” **To search with different terms**:\n\n\`\`\`json\n{\n "typeKey": "${naturalLanguage}",\n "${fieldKey}": "search for: different search terms"\n}\n\`\`\``
364
+ text: JSON.stringify({
365
+ referenceSearch: true,
366
+ field: field.path,
367
+ fieldTitle: field.title,
368
+ fieldKey,
369
+ referenceType: field.referenceType,
370
+ searchTerm,
371
+ results: JSON.parse(searchResults.content[0]?.text || '{}'),
372
+ typeKey: naturalLanguage
373
+ }, null, 2)
399
374
  }]
400
375
  };
401
376
  }
@@ -403,7 +378,7 @@ async function handleUpdateReferenceFieldSearch(field, searchTerm, naturalLangua
403
378
  return {
404
379
  content: [{
405
380
  type: "text",
406
- text: `āŒ Failed to search for ${field.path} references: ${error.message}`
381
+ text: JSON.stringify({ error: `Failed to search for ${field.path} references: ${error.message}` }, null, 2)
407
382
  }]
408
383
  };
409
384
  }