untrap-mcp 0.2.7 → 0.2.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"data-query.d.ts","sourceRoot":"","sources":["../../../src/tools/query/data-query.ts"],"names":[],"mappings":"AAIA,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AA6HD,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe;;;;;;;;;;;;;;;;;;GAyErE"}
1
+ {"version":3,"file":"data-query.d.ts","sourceRoot":"","sources":["../../../src/tools/query/data-query.ts"],"names":[],"mappings":"AAIA,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AA6HD,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe;;;;;;;;;;;;;;;;;;GAoIrE"}
@@ -154,10 +154,57 @@ export async function queryData(mspId, params) {
154
154
  data: [],
155
155
  };
156
156
  }
157
+ // Hard-enforce user-configured filters by injecting them into the SQL.
158
+ // This is a post-processing guard — the LLM prompt asks for these filters,
159
+ // but we cannot trust prompt-only enforcement for security.
160
+ let finalSql = sql;
161
+ const sqlLower = sql.toLowerCase();
162
+ // Inject board filter if query references ticket_lifecycle and boards are configured
163
+ if (filters.boardNames.length > 0 && /\bticket_lifecycle\b/i.test(finalSql)) {
164
+ const boardList = filters.boardNames.map((b) => `'${b.replace(/'/g, "''")}'`).join(", ");
165
+ // Find the alias used for ticket_lifecycle
166
+ const aliasMatch = finalSql.match(/\bticket_lifecycle\s+(?:AS\s+)?(\w+)/i);
167
+ const alias = aliasMatch ? aliasMatch[1] : "ticket_lifecycle";
168
+ // Only inject if not already present
169
+ if (!sqlLower.includes("board_name in")) {
170
+ finalSql = finalSql.replace(/(\bWHERE\b)/i, `WHERE ${alias}.board_name IN (${boardList}) AND`);
171
+ }
172
+ }
173
+ // Inject technician filter if query references ticket_lifecycle or time_entries
174
+ if (filters.enabledTechnicians.length > 0) {
175
+ const techList = filters.enabledTechnicians.map((t) => `'${t.replace(/'/g, "''")}'`).join(", ");
176
+ if (/\bticket_lifecycle\b/i.test(finalSql) && !sqlLower.includes("owner_name in")) {
177
+ const aliasMatch = finalSql.match(/\bticket_lifecycle\s+(?:AS\s+)?(\w+)/i);
178
+ const alias = aliasMatch ? aliasMatch[1] : "ticket_lifecycle";
179
+ finalSql = finalSql.replace(/(\bWHERE\b)/i, `WHERE ${alias}.owner_name IN (${techList}) AND`);
180
+ }
181
+ if (/\btime_entries\b/i.test(finalSql) && !sqlLower.includes("member_name in")) {
182
+ const aliasMatch = finalSql.match(/\btime_entries\s+(?:AS\s+)?(\w+)/i);
183
+ const alias = aliasMatch ? aliasMatch[1] : "time_entries";
184
+ finalSql = finalSql.replace(/(\bWHERE\b)/i, `WHERE ${alias}.member_name IN (${techList}) AND`);
185
+ }
186
+ }
187
+ // Inject company exclusions
188
+ if (/\bticket_lifecycle\b/i.test(finalSql) && !sqlLower.includes("not like '%test%'")) {
189
+ const aliasMatch = finalSql.match(/\bticket_lifecycle\s+(?:AS\s+)?(\w+)/i);
190
+ const alias = aliasMatch ? aliasMatch[1] : "ticket_lifecycle";
191
+ let companyFilter = ` AND LOWER(${alias}.company_name) NOT LIKE '%test%' AND LOWER(${alias}.company_name) NOT LIKE '%catchall%'`;
192
+ if (filters.mspCompanyName) {
193
+ companyFilter += ` AND LOWER(${alias}.company_name) NOT LIKE LOWER('%${filters.mspCompanyName.replace(/'/g, "''")}%')`;
194
+ }
195
+ // Append before ORDER BY or LIMIT or end
196
+ const orderMatch = finalSql.match(/\b(ORDER\s+BY|LIMIT|GROUP\s+BY)\b/i);
197
+ if (orderMatch && orderMatch.index) {
198
+ finalSql = finalSql.substring(0, orderMatch.index) + companyFilter + " " + finalSql.substring(orderMatch.index);
199
+ }
200
+ else {
201
+ finalSql += companyFilter;
202
+ }
203
+ }
157
204
  // Execute the query — $1 is always the msp_id for tenant isolation
158
205
  try {
159
206
  const start = Date.now();
160
- const rows = await queryRLS(sql, [mspId], mspId);
207
+ const rows = await queryRLS(finalSql, [mspId], mspId);
161
208
  const executionTime = Date.now() - start;
162
209
  const columns = rows.length > 0 ? Object.keys(rows[0]) : [];
163
210
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"data-query.js","sourceRoot":"","sources":["../../../src/tools/query/data-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-query.js","sourceRoot":"","sources":["../../../src/tools/query/data-query.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "untrap-mcp",
3
- "version": "0.2.7",
3
+ "version": "0.2.8",
4
4
  "description": "Untrap MCP Server — AI-powered MSP analytics via Claude Desktop",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",