{"version":3,"sources":["../../src/services/advisor.ts"],"names":[],"mappings":";;;AAGO,IAAM,UAAN,MAAc;AAAA,EAGjB,YAAY,MAAA,EAAgB;AACxB,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AAAA,EAClB;AAAA,EA6BA,WAAA,CACI,kBACG,IAAA,EACuB;AAC1B,IAAA,IAAI,MAAA;AAEJ,IAAA,IACI,CAAC,aAAA,IACA,aAAA,IACG,OAAO,aAAA,KAAkB,YACzB,CAAC,KAAA,CAAM,OAAA,CAAQ,aAAa,CAAA,EAClC;AACE,MAAA,MAAA,GAAU,iBAAiB,EAAC;AAAA,IAIhC,CAAA,MAAO;AACH,MAAA,MAAA,GAAS;AAAA,QACL,OAAA,EAAS,aAAA;AAAA,QACT,KAAA,EAAO,KAAK,CAAC;AAAA,OACjB;AAAA,IACJ;AAEA,IAAA,MAAM,UAAU,MAAA,CAAO,OAAA;AACvB,IAAA,MAAM,QAAQ,MAAA,CAAO,KAAA;AACrB,IAAA,MAAM,OAAA,GAAU,UAAA;AAChB,IAAA,MAAM,aAAsB,EAAC;AAC7B,IAAA,IAAI,OAAO,YAAY,WAAA,EAAa;AAChC,MAAA,UAAA,CAAW,SAAS,CAAA,GAAI,OAAA;AAAA,IAC5B;AACA,IAAA,IAAI,OAAO,UAAU,WAAA,EAAa;AAC9B,MAAA,UAAA,CAAW,OAAO,CAAA,GAAI,KAAA;AAAA,IAC1B;AACA,IAAA,MAAM,MAAM,IAAI,GAAA,CAAI,KAAK,MAAA,CAAO,MAAA,CAAO,WAAW,OAAO,CAAA;AAEzD,IAAA,MAAM,UAAA,GAA2C;AAAA,MAC7C,oBAAA,EAAsB,IAAA,CAAK,MAAA,CAAO,MAAA,CAAO,OAAA;AAAA,MACzC,MAAA,EAAQ;AAAA,KACZ;AAEA,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA,CAAK,KAAA,EAAO,GAAA,EAAK,YAAY,UAAU,CAAA;AAAA,EAC9D;AAAA,EAqBA,UACI,aAAA,EACsB;AACtB,IAAA,IAAI,MAAA;AAEJ,IAAA,IACI,aAAA,IACA,OAAO,aAAA,KAAkB,QAAA,IACzB,CAAC,KAAA,CAAM,OAAA,CAAQ,aAAa,CAAA,EAC9B;AACE,MAAA,MAAA,GAAU,iBAAiB,EAAC;AAAA,IAChC,CAAA,MAAO;AACH,MAAA,MAAA,GAAS;AAAA,QACL,QAAA,EAAU;AAAA,OACd;AAAA,IACJ;AAEA,IAAA,MAAM,WAAW,MAAA,CAAO,QAAA;AACxB,IAAA,IAAI,OAAO,aAAa,WAAA,EAAa;AACjC,MAAA,MAAM,IAAI,iBAAA;AAAA,QACN;AAAA,OACJ;AAAA,IACJ;AACA,IAAA,MAAM,UAAU,qBAAA,CAAsB,OAAA;AAAA,MAClC,YAAA;AAAA,MACA,kBAAA,CAAmB,MAAA,CAAO,QAAQ,CAAC;AAAA,KACvC;AACA,IAAA,MAAM,aAAsB,EAAC;AAC7B,IAAA,MAAM,MAAM,IAAI,GAAA,CAAI,KAAK,MAAA,CAAO,MAAA,CAAO,WAAW,OAAO,CAAA;AAEzD,IAAA,MAAM,UAAA,GAA2C;AAAA,MAC7C,oBAAA,EAAsB,IAAA,CAAK,MAAA,CAAO,MAAA,CAAO,OAAA;AAAA,MACzC,MAAA,EAAQ;AAAA,KACZ;AAEA,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA,CAAK,KAAA,EAAO,GAAA,EAAK,YAAY,UAAU,CAAA;AAAA,EAC9D;AAAA,EAqBA,aAAa,aAAA,EAA2D;AACpE,IAAA,IAAI,MAAA;AAEJ,IAAA,IACI,aAAA,IACA,OAAO,aAAA,KAAkB,QAAA,IACzB,CAAC,KAAA,CAAM,OAAA,CAAQ,aAAa,CAAA,EAC9B;AACE,MAAA,MAAA,GAAU,iBAAiB,EAAC;AAAA,IAChC,CAAA,MAAO;AACH,MAAA,MAAA,GAAS;AAAA,QACL,QAAA,EAAU;AAAA,OACd;AAAA,IACJ;AAEA,IAAA,MAAM,WAAW,MAAA,CAAO,QAAA;AACxB,IAAA,IAAI,OAAO,aAAa,WAAA,EAAa;AACjC,MAAA,MAAM,IAAI,iBAAA;AAAA,QACN;AAAA,OACJ;AAAA,IACJ;AACA,IAAA,MAAM,UAAU,qBAAA,CAAsB,OAAA;AAAA,MAClC,YAAA;AAAA,MACA,kBAAA,CAAmB,MAAA,CAAO,QAAQ,CAAC;AAAA,KACvC;AACA,IAAA,MAAM,aAAsB,EAAC;AAC7B,IAAA,MAAM,MAAM,IAAI,GAAA,CAAI,KAAK,MAAA,CAAO,MAAA,CAAO,WAAW,OAAO,CAAA;AAEzD,IAAA,MAAM,UAAA,GAA2C;AAAA,MAC7C,oBAAA,EAAsB,IAAA,CAAK,MAAA,CAAO,MAAA,CAAO,OAAA;AAAA,MACzC,cAAA,EAAgB;AAAA,KACpB;AAEA,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA,CAAK,QAAA,EAAU,GAAA,EAAK,YAAY,UAAU,CAAA;AAAA,EACjE;AAAA,EAiCA,YAAA,CACI,kBAEG,IAAA,EACwB;AAC3B,IAAA,IAAI,MAAA;AAEJ,IAAA,IACI,aAAA,IACA,OAAO,aAAA,KAAkB,QAAA,IACzB,CAAC,KAAA,CAAM,OAAA,CAAQ,aAAa,CAAA,EAC9B;AACE,MAAA,MAAA,GAAU,iBAAiB,EAAC;AAAA,IAKhC,CAAA,MAAO;AACH,MAAA,MAAA,GAAS;AAAA,QACL,QAAA,EAAU,aAAA;AAAA,QACV,OAAA,EAAS,KAAK,CAAC,CAAA;AAAA,QACf,KAAA,EAAO,KAAK,CAAC;AAAA,OACjB;AAAA,IACJ;AAEA,IAAA,MAAM,WAAW,MAAA,CAAO,QAAA;AACxB,IAAA,MAAM,UAAU,MAAA,CAAO,OAAA;AACvB,IAAA,MAAM,QAAQ,MAAA,CAAO,KAAA;AACrB,IAAA,IAAI,OAAO,aAAa,WAAA,EAAa;AACjC,MAAA,MAAM,IAAI,iBAAA;AAAA,QACN;AAAA,OACJ;AAAA,IACJ;AACA,IAAA,MAAM,UAAU,8BAAA,CAA+B,OAAA;AAAA,MAC3C,YAAA;AAAA,MACA,kBAAA,CAAmB,MAAA,CAAO,QAAQ,CAAC;AAAA,KACvC;AACA,IAAA,MAAM,aAAsB,EAAC;AAC7B,IAAA,IAAI,OAAO,YAAY,WAAA,EAAa;AAChC,MAAA,UAAA,CAAW,SAAS,CAAA,GAAI,OAAA;AAAA,IAC5B;AACA,IAAA,IAAI,OAAO,UAAU,WAAA,EAAa;AAC9B,MAAA,UAAA,CAAW,OAAO,CAAA,GAAI,KAAA;AAAA,IAC1B;AACA,IAAA,MAAM,MAAM,IAAI,GAAA,CAAI,KAAK,MAAA,CAAO,MAAA,CAAO,WAAW,OAAO,CAAA;AAEzD,IAAA,MAAM,UAAA,GAA2C;AAAA,MAC7C,oBAAA,EAAsB,IAAA,CAAK,MAAA,CAAO,MAAA,CAAO,OAAA;AAAA,MACzC,MAAA,EAAQ;AAAA,KACZ;AAEA,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA,CAAK,KAAA,EAAO,GAAA,EAAK,YAAY,UAAU,CAAA;AAAA,EAC9D;AAAA,EA0BA,UAAA,CACI,kBACG,IAAA,EACoB;AACvB,IAAA,IAAI,MAAA;AAEJ,IAAA,IACI,aAAA,IACA,OAAO,aAAA,KAAkB,QAAA,IACzB,CAAC,KAAA,CAAM,OAAA,CAAQ,aAAa,CAAA,EAC9B;AACE,MAAA,MAAA,GAAU,iBAAiB,EAAC;AAAA,IAIhC,CAAA,MAAO;AACH,MAAA,MAAA,GAAS;AAAA,QACL,QAAA,EAAU,aAAA;AAAA,QACV,SAAA,EAAW,KAAK,CAAC;AAAA,OACrB;AAAA,IACJ;AAEA,IAAA,MAAM,WAAW,MAAA,CAAO,QAAA;AACxB,IAAA,MAAM,YAAY,MAAA,CAAO,SAAA;AACzB,IAAA,IAAI,OAAO,aAAa,WAAA,EAAa;AACjC,MAAA,MAAM,IAAI,iBAAA;AAAA,QACN;AAAA,OACJ;AAAA,IACJ;AACA,IAAA,IAAI,OAAO,cAAc,WAAA,EAAa;AAClC,MAAA,MAAM,IAAI,iBAAA;AAAA,QACN;AAAA,OACJ;AAAA,IACJ;AACA,IAAA,MAAM,UAAU,0CAAA,CACX,OAAA,CAAQ,YAAA,EAAc,kBAAA,CAAmB,OAAO,QAAQ,CAAC,CAAC,CAAA,CAC1D,QAAQ,aAAA,EAAe,kBAAA,CAAmB,MAAA,CAAO,SAAS,CAAC,CAAC,CAAA;AACjE,IAAA,MAAM,aAAsB,EAAC;AAC7B,IAAA,MAAM,MAAM,IAAI,GAAA,CAAI,KAAK,MAAA,CAAO,MAAA,CAAO,WAAW,OAAO,CAAA;AAEzD,IAAA,MAAM,UAAA,GAA2C;AAAA,MAC7C,oBAAA,EAAsB,IAAA,CAAK,MAAA,CAAO,MAAA,CAAO,OAAA;AAAA,MACzC,MAAA,EAAQ;AAAA,KACZ;AAEA,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA,CAAK,KAAA,EAAO,GAAA,EAAK,YAAY,UAAU,CAAA;AAAA,EAC9D;AACJ","file":"advisor.mjs","sourcesContent":["import { AppwriteException, Client, type Payload } from '../client';\nimport type { Models } from '../models';\n\nexport class Advisor {\n    client: Client;\n\n    constructor(client: Client) {\n        this.client = client;\n    }\n\n    /**\n     * Get a list of all the project's analyzer reports. You can use the query params to filter your results.\n     *\n     *\n     * @param {string[]} params.queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: appId, type, targetType, target, analyzedAt\n     * @param {boolean} params.total - When set to false, the total count returned will be 0 and will not be calculated.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.ReportList>}\n     */\n    listReports(params?: {\n        queries?: string[];\n        total?: boolean;\n    }): Promise<Models.ReportList>;\n    /**\n     * Get a list of all the project's analyzer reports. You can use the query params to filter your results.\n     *\n     *\n     * @param {string[]} queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: appId, type, targetType, target, analyzedAt\n     * @param {boolean} total - When set to false, the total count returned will be 0 and will not be calculated.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.ReportList>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    listReports(\n        queries?: string[],\n        total?: boolean,\n    ): Promise<Models.ReportList>;\n    listReports(\n        paramsOrFirst?: { queries?: string[]; total?: boolean } | string[],\n        ...rest: [boolean?]\n    ): Promise<Models.ReportList> {\n        let params: { queries?: string[]; total?: boolean };\n\n        if (\n            !paramsOrFirst ||\n            (paramsOrFirst &&\n                typeof paramsOrFirst === 'object' &&\n                !Array.isArray(paramsOrFirst))\n        ) {\n            params = (paramsOrFirst || {}) as {\n                queries?: string[];\n                total?: boolean;\n            };\n        } else {\n            params = {\n                queries: paramsOrFirst as string[],\n                total: rest[0] as boolean,\n            };\n        }\n\n        const queries = params.queries;\n        const total = params.total;\n        const apiPath = '/reports';\n        const apiPayload: Payload = {};\n        if (typeof queries !== 'undefined') {\n            apiPayload['queries'] = queries;\n        }\n        if (typeof total !== 'undefined') {\n            apiPayload['total'] = total;\n        }\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'X-Appwrite-Project': this.client.config.project,\n            accept: 'application/json',\n        };\n\n        return this.client.call('get', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * Get an analyzer report by its unique ID. The response includes the report's metadata and the nested insights it produced.\n     *\n     *\n     * @param {string} params.reportId - Report ID.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.Report>}\n     */\n    getReport(params: { reportId: string }): Promise<Models.Report>;\n    /**\n     * Get an analyzer report by its unique ID. The response includes the report's metadata and the nested insights it produced.\n     *\n     *\n     * @param {string} reportId - Report ID.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.Report>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    getReport(reportId: string): Promise<Models.Report>;\n    getReport(\n        paramsOrFirst: { reportId: string } | string,\n    ): Promise<Models.Report> {\n        let params: { reportId: string };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as { reportId: string };\n        } else {\n            params = {\n                reportId: paramsOrFirst as string,\n            };\n        }\n\n        const reportId = params.reportId;\n        if (typeof reportId === 'undefined') {\n            throw new AppwriteException(\n                'Missing required parameter: \"reportId\"',\n            );\n        }\n        const apiPath = '/reports/{reportId}'.replace(\n            '{reportId}',\n            encodeURIComponent(String(reportId)),\n        );\n        const apiPayload: Payload = {};\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'X-Appwrite-Project': this.client.config.project,\n            accept: 'application/json',\n        };\n\n        return this.client.call('get', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * Delete an analyzer report by its unique ID. Nested insights and CTA metadata are removed asynchronously by the deletes worker.\n     *\n     *\n     * @param {string} params.reportId - Report ID.\n     * @throws {AppwriteException}\n     * @returns {Promise<{}>}\n     */\n    deleteReport(params: { reportId: string }): Promise<{}>;\n    /**\n     * Delete an analyzer report by its unique ID. Nested insights and CTA metadata are removed asynchronously by the deletes worker.\n     *\n     *\n     * @param {string} reportId - Report ID.\n     * @throws {AppwriteException}\n     * @returns {Promise<{}>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    deleteReport(reportId: string): Promise<{}>;\n    deleteReport(paramsOrFirst: { reportId: string } | string): Promise<{}> {\n        let params: { reportId: string };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as { reportId: string };\n        } else {\n            params = {\n                reportId: paramsOrFirst as string,\n            };\n        }\n\n        const reportId = params.reportId;\n        if (typeof reportId === 'undefined') {\n            throw new AppwriteException(\n                'Missing required parameter: \"reportId\"',\n            );\n        }\n        const apiPath = '/reports/{reportId}'.replace(\n            '{reportId}',\n            encodeURIComponent(String(reportId)),\n        );\n        const apiPayload: Payload = {};\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'X-Appwrite-Project': this.client.config.project,\n            'content-type': 'application/json',\n        };\n\n        return this.client.call('delete', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * List the insights produced under a single analyzer report. You can use the query params to filter your results further.\n     *\n     *\n     * @param {string} params.reportId - Parent report ID.\n     * @param {string[]} params.queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: type, severity, status, resourceType, resourceId, parentResourceType, parentResourceId, analyzedAt, dismissedAt, dismissedBy\n     * @param {boolean} params.total - When set to false, the total count returned will be 0 and will not be calculated.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.InsightList>}\n     */\n    listInsights(params: {\n        reportId: string;\n        queries?: string[];\n        total?: boolean;\n    }): Promise<Models.InsightList>;\n    /**\n     * List the insights produced under a single analyzer report. You can use the query params to filter your results further.\n     *\n     *\n     * @param {string} reportId - Parent report ID.\n     * @param {string[]} queries - Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Maximum of 100 queries are allowed, each 4096 characters long. You may filter on the following attributes: type, severity, status, resourceType, resourceId, parentResourceType, parentResourceId, analyzedAt, dismissedAt, dismissedBy\n     * @param {boolean} total - When set to false, the total count returned will be 0 and will not be calculated.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.InsightList>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    listInsights(\n        reportId: string,\n        queries?: string[],\n        total?: boolean,\n    ): Promise<Models.InsightList>;\n    listInsights(\n        paramsOrFirst:\n            { reportId: string; queries?: string[]; total?: boolean } | string,\n        ...rest: [string[]?, boolean?]\n    ): Promise<Models.InsightList> {\n        let params: { reportId: string; queries?: string[]; total?: boolean };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as {\n                reportId: string;\n                queries?: string[];\n                total?: boolean;\n            };\n        } else {\n            params = {\n                reportId: paramsOrFirst as string,\n                queries: rest[0] as string[],\n                total: rest[1] as boolean,\n            };\n        }\n\n        const reportId = params.reportId;\n        const queries = params.queries;\n        const total = params.total;\n        if (typeof reportId === 'undefined') {\n            throw new AppwriteException(\n                'Missing required parameter: \"reportId\"',\n            );\n        }\n        const apiPath = '/reports/{reportId}/insights'.replace(\n            '{reportId}',\n            encodeURIComponent(String(reportId)),\n        );\n        const apiPayload: Payload = {};\n        if (typeof queries !== 'undefined') {\n            apiPayload['queries'] = queries;\n        }\n        if (typeof total !== 'undefined') {\n            apiPayload['total'] = total;\n        }\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'X-Appwrite-Project': this.client.config.project,\n            accept: 'application/json',\n        };\n\n        return this.client.call('get', uri, apiHeaders, apiPayload);\n    }\n\n    /**\n     * Get an insight by its unique ID, scoped to its parent report.\n     *\n     *\n     * @param {string} params.reportId - Parent report ID.\n     * @param {string} params.insightId - Insight ID.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.Insight>}\n     */\n    getInsight(params: {\n        reportId: string;\n        insightId: string;\n    }): Promise<Models.Insight>;\n    /**\n     * Get an insight by its unique ID, scoped to its parent report.\n     *\n     *\n     * @param {string} reportId - Parent report ID.\n     * @param {string} insightId - Insight ID.\n     * @throws {AppwriteException}\n     * @returns {Promise<Models.Insight>}\n     * @deprecated Use the object parameter style method for a better developer experience.\n     */\n    getInsight(reportId: string, insightId: string): Promise<Models.Insight>;\n    getInsight(\n        paramsOrFirst: { reportId: string; insightId: string } | string,\n        ...rest: [string?]\n    ): Promise<Models.Insight> {\n        let params: { reportId: string; insightId: string };\n\n        if (\n            paramsOrFirst &&\n            typeof paramsOrFirst === 'object' &&\n            !Array.isArray(paramsOrFirst)\n        ) {\n            params = (paramsOrFirst || {}) as {\n                reportId: string;\n                insightId: string;\n            };\n        } else {\n            params = {\n                reportId: paramsOrFirst as string,\n                insightId: rest[0] as string,\n            };\n        }\n\n        const reportId = params.reportId;\n        const insightId = params.insightId;\n        if (typeof reportId === 'undefined') {\n            throw new AppwriteException(\n                'Missing required parameter: \"reportId\"',\n            );\n        }\n        if (typeof insightId === 'undefined') {\n            throw new AppwriteException(\n                'Missing required parameter: \"insightId\"',\n            );\n        }\n        const apiPath = '/reports/{reportId}/insights/{insightId}'\n            .replace('{reportId}', encodeURIComponent(String(reportId)))\n            .replace('{insightId}', encodeURIComponent(String(insightId)));\n        const apiPayload: Payload = {};\n        const uri = new URL(this.client.config.endpoint + apiPath);\n\n        const apiHeaders: { [header: string]: string } = {\n            'X-Appwrite-Project': this.client.config.project,\n            accept: 'application/json',\n        };\n\n        return this.client.call('get', uri, apiHeaders, apiPayload);\n    }\n}\n"]}