@jupiterone/jupiterone-mcp
Version:
Model Context Protocol server for JupiterOne account rules and rule details
42 lines • 1.48 kB
TypeScript
import { J1qlService } from '../client/services/j1ql-service.js';
interface ValidationResult {
isValid: boolean;
error?: string;
suggestion?: string;
results?: any;
}
interface ValidateQueryOptions {
/**
* Poll budget (attempts × 1s) for the validation query. When set, a poll timeout is treated as
* advisory — validateQuery returns `isValid: true` so the caller (the widget pre-create gate) can
* proceed instead of blocking. Real syntax/parse errors still fail validation.
*/
maxPollAttempts?: number;
}
export declare class J1QLValidator {
private j1qlService;
constructor(j1qlService: J1qlService);
/**
* Validates a J1QL query by executing it with a small limit
* Returns validation result with error details and suggestions
*/
validateQuery(query: string, options?: ValidateQueryOptions): Promise<ValidationResult>;
/**
* Provides detailed error handling with suggestions
*/
handleQueryError(error: any, query: string): ValidationResult;
/**
* Consolidated error patterns for better maintainability
*/
private getErrorPatterns;
/**
* Analyzes generic "J1QL Query is invalid" errors for specific issues
*/
analyzeSyntaxError(query: string, _errorMessage: string): string;
/**
* Provides generic suggestions based on query structure
*/
private getGenericSuggestions;
}
export {};
//# sourceMappingURL=j1ql-validator.d.ts.map