From 5112bfd3674c765e07741f04a02c09ffcb6679f3 Mon Sep 17 00:00:00 2001 From: 7yntax Date: Wed, 12 Mar 2025 20:39:36 +0000 Subject: [PATCH 01/18] COM-20 added gcp and azure integrations --- .../integrations/src/azure/assets/image.png | Bin 0 -> 97594 bytes packages/integrations/src/azure/config.ts | 48 +++++++++++++ packages/integrations/src/azure/src/index.ts | 65 ++++++++++++++++++ .../integrations/src/gcp/assets/image.png | Bin 0 -> 67225 bytes packages/integrations/src/gcp/config.ts | 48 +++++++++++++ packages/integrations/src/gcp/src/index.ts | 65 ++++++++++++++++++ packages/integrations/src/index.ts | 4 +- 7 files changed, 229 insertions(+), 1 deletion(-) create mode 100644 packages/integrations/src/azure/assets/image.png create mode 100644 packages/integrations/src/azure/config.ts create mode 100644 packages/integrations/src/azure/src/index.ts create mode 100644 packages/integrations/src/gcp/assets/image.png create mode 100644 packages/integrations/src/gcp/config.ts create mode 100644 packages/integrations/src/gcp/src/index.ts diff --git a/packages/integrations/src/azure/assets/image.png b/packages/integrations/src/azure/assets/image.png new file mode 100644 index 0000000000000000000000000000000000000000..8f25e853ea3cc36ef5d678f3a14d735a0e0d6fa8 GIT binary patch literal 97594 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�bYZMBqKh@Ap+ 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 r@X>sG|Kk__wwnoj!2gpM { + try { + // 1. Configure the SecurityHub client with AWS credentials + // For production, prefer using environment variables or AWS credential profiles rather than hardcoding + const config: SecurityHubClientConfig = { + region: AWS_REGION, + credentials: { + accessKeyId: AWS_ACCESS_KEY_ID, + secretAccessKey: AWS_SECRET_ACCESS_KEY, + sessionToken: AWS_SESSION_TOKEN // Required for temporary credentials + } + }; + const securityHubClient = new SecurityHubClient(config); + + + // 2. Define filters for the findings we want to retrieve. + // Example: get only NEW (unresolved) findings for failed compliance controls. + const params: GetFindingsCommandInput = { + Filters: { + WorkflowStatus: [{ Value: "NEW", Comparison: "EQUALS" }], // only active findings + ComplianceStatus: [{ Value: "FAILED", Comparison: "EQUALS" }] // only failed control checks + }, + MaxResults: 100 // adjust page size as needed (max 100) + }; + + let command = new GetFindingsCommand(params); + let response: GetFindingsCommandOutput = await securityHubClient.send(command); + + let allFindings: any[] = response.Findings || []; + let nextToken = response.NextToken; + + // 3. Loop to paginate through all results if there are more than 100 findings + while (nextToken) { + const nextPageParams: GetFindingsCommandInput = { ...params, NextToken: nextToken }; + response = await securityHubClient.send(new GetFindingsCommand(nextPageParams)); + + if (response.Findings) { + allFindings.push(...response.Findings); + } + + nextToken = response.NextToken; + } + + console.log(`Retrieved ${allFindings.length} findings`); + return allFindings; + } catch (error) { + console.error("Error fetching Security Hub findings:", error); + throw error; + } +} + +// Export the function for use in other modules +export { fetchSecurityFindings }; \ No newline at end of file diff --git a/packages/integrations/src/gcp/assets/image.png b/packages/integrations/src/gcp/assets/image.png new file mode 100644 index 0000000000000000000000000000000000000000..ba335e386a51ce5628144a411242f609b94e76e0 GIT binary patch literal 67225 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 { + try { + // 1. Configure the SecurityHub client with AWS credentials + // For production, prefer using environment variables or AWS credential profiles rather than hardcoding + const config: SecurityHubClientConfig = { + region: AWS_REGION, + credentials: { + accessKeyId: AWS_ACCESS_KEY_ID, + secretAccessKey: AWS_SECRET_ACCESS_KEY, + sessionToken: AWS_SESSION_TOKEN // Required for temporary credentials + } + }; + const securityHubClient = new SecurityHubClient(config); + + + // 2. Define filters for the findings we want to retrieve. + // Example: get only NEW (unresolved) findings for failed compliance controls. + const params: GetFindingsCommandInput = { + Filters: { + WorkflowStatus: [{ Value: "NEW", Comparison: "EQUALS" }], // only active findings + ComplianceStatus: [{ Value: "FAILED", Comparison: "EQUALS" }] // only failed control checks + }, + MaxResults: 100 // adjust page size as needed (max 100) + }; + + let command = new GetFindingsCommand(params); + let response: GetFindingsCommandOutput = await securityHubClient.send(command); + + let allFindings: any[] = response.Findings || []; + let nextToken = response.NextToken; + + // 3. Loop to paginate through all results if there are more than 100 findings + while (nextToken) { + const nextPageParams: GetFindingsCommandInput = { ...params, NextToken: nextToken }; + response = await securityHubClient.send(new GetFindingsCommand(nextPageParams)); + + if (response.Findings) { + allFindings.push(...response.Findings); + } + + nextToken = response.NextToken; + } + + console.log(`Retrieved ${allFindings.length} findings`); + return allFindings; + } catch (error) { + console.error("Error fetching Security Hub findings:", error); + throw error; + } +} + +// Export the function for use in other modules +export { fetchSecurityFindings }; \ No newline at end of file diff --git a/packages/integrations/src/index.ts b/packages/integrations/src/index.ts index ae43c1728f..648a9b2c2b 100644 --- a/packages/integrations/src/index.ts +++ b/packages/integrations/src/index.ts @@ -2,5 +2,7 @@ import GitHub from "./github/config"; import Gusto from "./gusto/config"; import Aws from "./aws/config"; import Deel from "./deel/config"; +import Azure from "./azure/config"; +import Gcp from "./gcp/config"; -export const integrations = [GitHub, Gusto, Aws, Deel]; +export const integrations = [GitHub, Gusto, Aws, Deel, Azure, Gcp]; From 4dfddb36de063441e17a5564560898a7630f84ff Mon Sep 17 00:00:00 2001 From: 7yntax Date: Wed, 12 Mar 2025 21:07:43 +0000 Subject: [PATCH 02/18] COM-20 Added integrations fetch --- packages/integrations/src/aws/config.ts | 113 +++++++++++-------- packages/integrations/src/aws/src/index.ts | 110 ++++++++++-------- packages/integrations/src/azure/config.ts | 27 ++++- packages/integrations/src/azure/src/index.ts | 110 ++++++++++-------- packages/integrations/src/gcp/config.ts | 27 ++++- packages/integrations/src/gcp/src/index.ts | 110 ++++++++++-------- 6 files changed, 303 insertions(+), 194 deletions(-) diff --git a/packages/integrations/src/aws/config.ts b/packages/integrations/src/aws/config.ts index f8d81c7bf6..926405a8f0 100644 --- a/packages/integrations/src/aws/config.ts +++ b/packages/integrations/src/aws/config.ts @@ -1,48 +1,71 @@ +// @ts-ignore - Suppress image import warning import image from "./assets/image.png"; +// Import the function directly instead of through integrations +import { fetch } from "./src"; -export default { - name: "AWS", - id: "aws", - active: true, - logo: image, - short_description: - "Connect your AWS account to Comp AI to automate evidence collection for cloud resources", - description: - "Integrating with AWS allows you to automate evidence collection. This compliance analysis tool enables organizations to more quickly articulate their compliance posture and also generate supporting evidence artifacts", - images: [image], - settings: [ - { - id: "region", - label: "AWS region", - description: "The region of your AWS account", - type: "text", - required: true, - value: "", - }, - { - id: "access_key_id", - label: "AWS access key ID", - description: "The API access key ID for your AWS account", - type: "text", - required: true, - value: "", - }, - { - id: "secret_access_key", - label: "AWS secret access key", - description: "The API secret access key for your AWS account", - type: "text", - required: true, - value: "", - }, - { - id: "session_token", - label: "AWS session token", - description: "The API session token AWS account", - type: "text", - required: true, - value: "", - }, - ], - category: "Cloud", +// Type the export directly with inline annotation +const config: { + name: string; + id: string; + active: boolean; + logo: unknown; + short_description: string; + description: string; + images: unknown[]; + settings: { + id: string; + label: string; + description: string; + type: string; + required: boolean; + value: string; + }[]; + category: string; + fetch: any; +} = { + name: "AWS", + id: "aws", + active: true, + logo: image, + short_description: "Connect your AWS account to Comp AI to automate evidence collection for cloud resources", + description: "Integrating with AWS allows you to automate evidence collection. This compliance analysis tool enables organizations to more quickly articulate their compliance posture and also generate supporting evidence artifacts", + images: [image], + settings: [ + { + id: "region", + label: "AWS region", + description: "The region of your AWS account", + type: "text", + required: true, + value: "", + }, + { + id: "access_key_id", + label: "AWS access key ID", + description: "The API access key ID for your AWS account", + type: "text", + required: true, + value: "", + }, + { + id: "secret_access_key", + label: "AWS secret access key", + description: "The API secret access key for your AWS account", + type: "text", + required: true, + value: "", + }, + { + id: "session_token", + label: "AWS session token", + description: "The API session token AWS account", + type: "text", + required: true, + value: "", + }, + ], + category: "Cloud", + fetch: fetch }; + +export default config; diff --git a/packages/integrations/src/aws/src/index.ts b/packages/integrations/src/aws/src/index.ts index 8cb168d280..c490823b86 100644 --- a/packages/integrations/src/aws/src/index.ts +++ b/packages/integrations/src/aws/src/index.ts @@ -1,65 +1,77 @@ import { - SecurityHubClient, - GetFindingsCommand, - SecurityHubClientConfig, - GetFindingsCommandInput, - GetFindingsCommandOutput + SecurityHubClient, + GetFindingsCommand, +} from "@aws-sdk/client-securityhub"; +import type { + SecurityHubClientConfig, + GetFindingsCommandInput, + GetFindingsCommandOutput, } from "@aws-sdk/client-securityhub"; /** * Fetches security findings from AWS Security Hub * @returns Promise containing an array of findings */ -async function fetchSecurityFindings(AWS_REGION: string, AWS_ACCESS_KEY_ID: string, AWS_SECRET_ACCESS_KEY: string, AWS_SESSION_TOKEN: string): Promise { - try { - // 1. Configure the SecurityHub client with AWS credentials - // For production, prefer using environment variables or AWS credential profiles rather than hardcoding - const config: SecurityHubClientConfig = { - region: AWS_REGION, - credentials: { - accessKeyId: AWS_ACCESS_KEY_ID, - secretAccessKey: AWS_SECRET_ACCESS_KEY, - sessionToken: AWS_SESSION_TOKEN // Required for temporary credentials - } - }; - const securityHubClient = new SecurityHubClient(config); +async function fetch( + AWS_REGION: string, + AWS_ACCESS_KEY_ID: string, + AWS_SECRET_ACCESS_KEY: string, + AWS_SESSION_TOKEN: string, +): Promise { + try { + // 1. Configure the SecurityHub client with AWS credentials + // For production, prefer using environment variables or AWS credential profiles rather than hardcoding + const config: SecurityHubClientConfig = { + region: AWS_REGION, + credentials: { + accessKeyId: AWS_ACCESS_KEY_ID, + secretAccessKey: AWS_SECRET_ACCESS_KEY, + sessionToken: AWS_SESSION_TOKEN, // Required for temporary credentials + }, + }; + const securityHubClient = new SecurityHubClient(config); + + // 2. Define filters for the findings we want to retrieve. + // Example: get only NEW (unresolved) findings for failed compliance controls. + const params: GetFindingsCommandInput = { + Filters: { + WorkflowStatus: [{ Value: "NEW", Comparison: "EQUALS" }], // only active findings + ComplianceStatus: [{ Value: "FAILED", Comparison: "EQUALS" }], // only failed control checks + }, + MaxResults: 100, // adjust page size as needed (max 100) + }; + const command = new GetFindingsCommand(params); + let response: GetFindingsCommandOutput = + await securityHubClient.send(command); - // 2. Define filters for the findings we want to retrieve. - // Example: get only NEW (unresolved) findings for failed compliance controls. - const params: GetFindingsCommandInput = { - Filters: { - WorkflowStatus: [{ Value: "NEW", Comparison: "EQUALS" }], // only active findings - ComplianceStatus: [{ Value: "FAILED", Comparison: "EQUALS" }] // only failed control checks - }, - MaxResults: 100 // adjust page size as needed (max 100) - }; + const allFindings: any[] = response.Findings || []; + let nextToken = response.NextToken; - let command = new GetFindingsCommand(params); - let response: GetFindingsCommandOutput = await securityHubClient.send(command); + // 3. Loop to paginate through all results if there are more than 100 findings + while (nextToken) { + const nextPageParams: GetFindingsCommandInput = { + ...params, + NextToken: nextToken, + }; + response = await securityHubClient.send( + new GetFindingsCommand(nextPageParams), + ); - let allFindings: any[] = response.Findings || []; - let nextToken = response.NextToken; + if (response.Findings) { + allFindings.push(...response.Findings); + } - // 3. Loop to paginate through all results if there are more than 100 findings - while (nextToken) { - const nextPageParams: GetFindingsCommandInput = { ...params, NextToken: nextToken }; - response = await securityHubClient.send(new GetFindingsCommand(nextPageParams)); - - if (response.Findings) { - allFindings.push(...response.Findings); - } - - nextToken = response.NextToken; - } + nextToken = response.NextToken; + } - console.log(`Retrieved ${allFindings.length} findings`); - return allFindings; - } catch (error) { - console.error("Error fetching Security Hub findings:", error); - throw error; - } + console.log(`Retrieved ${allFindings.length} findings`); + return allFindings; + } catch (error) { + console.error("Error fetching Security Hub findings:", error); + throw error; + } } // Export the function for use in other modules -export { fetchSecurityFindings }; \ No newline at end of file +export { fetch }; diff --git a/packages/integrations/src/azure/config.ts b/packages/integrations/src/azure/config.ts index 3f0e044fb7..0ee37d1373 100644 --- a/packages/integrations/src/azure/config.ts +++ b/packages/integrations/src/azure/config.ts @@ -1,6 +1,28 @@ +// @ts-ignore - Suppress image import warning import image from "./assets/image.png"; +// Import the function directly instead of through integrations +import { fetch } from "./src"; -export default { +// Type the export directly with inline annotation +const config: { + name: string; + id: string; + active: boolean; + logo: unknown; + short_description: string; + description: string; + images: unknown[]; + settings: { + id: string; + label: string; + description: string; + type: string; + required: boolean; + value: string; + }[]; + category: string; + fetch: any; +} = { name: "AZURE", id: "azure", active: true, @@ -45,4 +67,7 @@ export default { }, ], category: "Cloud", + fetch: fetch }; + +export default config; \ No newline at end of file diff --git a/packages/integrations/src/azure/src/index.ts b/packages/integrations/src/azure/src/index.ts index 8cb168d280..c490823b86 100644 --- a/packages/integrations/src/azure/src/index.ts +++ b/packages/integrations/src/azure/src/index.ts @@ -1,65 +1,77 @@ import { - SecurityHubClient, - GetFindingsCommand, - SecurityHubClientConfig, - GetFindingsCommandInput, - GetFindingsCommandOutput + SecurityHubClient, + GetFindingsCommand, +} from "@aws-sdk/client-securityhub"; +import type { + SecurityHubClientConfig, + GetFindingsCommandInput, + GetFindingsCommandOutput, } from "@aws-sdk/client-securityhub"; /** * Fetches security findings from AWS Security Hub * @returns Promise containing an array of findings */ -async function fetchSecurityFindings(AWS_REGION: string, AWS_ACCESS_KEY_ID: string, AWS_SECRET_ACCESS_KEY: string, AWS_SESSION_TOKEN: string): Promise { - try { - // 1. Configure the SecurityHub client with AWS credentials - // For production, prefer using environment variables or AWS credential profiles rather than hardcoding - const config: SecurityHubClientConfig = { - region: AWS_REGION, - credentials: { - accessKeyId: AWS_ACCESS_KEY_ID, - secretAccessKey: AWS_SECRET_ACCESS_KEY, - sessionToken: AWS_SESSION_TOKEN // Required for temporary credentials - } - }; - const securityHubClient = new SecurityHubClient(config); +async function fetch( + AWS_REGION: string, + AWS_ACCESS_KEY_ID: string, + AWS_SECRET_ACCESS_KEY: string, + AWS_SESSION_TOKEN: string, +): Promise { + try { + // 1. Configure the SecurityHub client with AWS credentials + // For production, prefer using environment variables or AWS credential profiles rather than hardcoding + const config: SecurityHubClientConfig = { + region: AWS_REGION, + credentials: { + accessKeyId: AWS_ACCESS_KEY_ID, + secretAccessKey: AWS_SECRET_ACCESS_KEY, + sessionToken: AWS_SESSION_TOKEN, // Required for temporary credentials + }, + }; + const securityHubClient = new SecurityHubClient(config); + + // 2. Define filters for the findings we want to retrieve. + // Example: get only NEW (unresolved) findings for failed compliance controls. + const params: GetFindingsCommandInput = { + Filters: { + WorkflowStatus: [{ Value: "NEW", Comparison: "EQUALS" }], // only active findings + ComplianceStatus: [{ Value: "FAILED", Comparison: "EQUALS" }], // only failed control checks + }, + MaxResults: 100, // adjust page size as needed (max 100) + }; + const command = new GetFindingsCommand(params); + let response: GetFindingsCommandOutput = + await securityHubClient.send(command); - // 2. Define filters for the findings we want to retrieve. - // Example: get only NEW (unresolved) findings for failed compliance controls. - const params: GetFindingsCommandInput = { - Filters: { - WorkflowStatus: [{ Value: "NEW", Comparison: "EQUALS" }], // only active findings - ComplianceStatus: [{ Value: "FAILED", Comparison: "EQUALS" }] // only failed control checks - }, - MaxResults: 100 // adjust page size as needed (max 100) - }; + const allFindings: any[] = response.Findings || []; + let nextToken = response.NextToken; - let command = new GetFindingsCommand(params); - let response: GetFindingsCommandOutput = await securityHubClient.send(command); + // 3. Loop to paginate through all results if there are more than 100 findings + while (nextToken) { + const nextPageParams: GetFindingsCommandInput = { + ...params, + NextToken: nextToken, + }; + response = await securityHubClient.send( + new GetFindingsCommand(nextPageParams), + ); - let allFindings: any[] = response.Findings || []; - let nextToken = response.NextToken; + if (response.Findings) { + allFindings.push(...response.Findings); + } - // 3. Loop to paginate through all results if there are more than 100 findings - while (nextToken) { - const nextPageParams: GetFindingsCommandInput = { ...params, NextToken: nextToken }; - response = await securityHubClient.send(new GetFindingsCommand(nextPageParams)); - - if (response.Findings) { - allFindings.push(...response.Findings); - } - - nextToken = response.NextToken; - } + nextToken = response.NextToken; + } - console.log(`Retrieved ${allFindings.length} findings`); - return allFindings; - } catch (error) { - console.error("Error fetching Security Hub findings:", error); - throw error; - } + console.log(`Retrieved ${allFindings.length} findings`); + return allFindings; + } catch (error) { + console.error("Error fetching Security Hub findings:", error); + throw error; + } } // Export the function for use in other modules -export { fetchSecurityFindings }; \ No newline at end of file +export { fetch }; diff --git a/packages/integrations/src/gcp/config.ts b/packages/integrations/src/gcp/config.ts index e30d067009..9adbf28d65 100644 --- a/packages/integrations/src/gcp/config.ts +++ b/packages/integrations/src/gcp/config.ts @@ -1,6 +1,28 @@ +// @ts-ignore - Suppress image import warning import image from "./assets/image.png"; +// Import the function directly instead of through integrations +import { fetch } from "./src"; -export default { +// Type the export directly with inline annotation +const config: { + name: string; + id: string; + active: boolean; + logo: unknown; + short_description: string; + description: string; + images: unknown[]; + settings: { + id: string; + label: string; + description: string; + type: string; + required: boolean; + value: string; + }[]; + category: string; + fetch: any; +} = { name: "GCP", id: "gcp", active: true, @@ -45,4 +67,7 @@ export default { }, ], category: "Cloud", + fetch: fetch }; + +export default config; \ No newline at end of file diff --git a/packages/integrations/src/gcp/src/index.ts b/packages/integrations/src/gcp/src/index.ts index 8cb168d280..c490823b86 100644 --- a/packages/integrations/src/gcp/src/index.ts +++ b/packages/integrations/src/gcp/src/index.ts @@ -1,65 +1,77 @@ import { - SecurityHubClient, - GetFindingsCommand, - SecurityHubClientConfig, - GetFindingsCommandInput, - GetFindingsCommandOutput + SecurityHubClient, + GetFindingsCommand, +} from "@aws-sdk/client-securityhub"; +import type { + SecurityHubClientConfig, + GetFindingsCommandInput, + GetFindingsCommandOutput, } from "@aws-sdk/client-securityhub"; /** * Fetches security findings from AWS Security Hub * @returns Promise containing an array of findings */ -async function fetchSecurityFindings(AWS_REGION: string, AWS_ACCESS_KEY_ID: string, AWS_SECRET_ACCESS_KEY: string, AWS_SESSION_TOKEN: string): Promise { - try { - // 1. Configure the SecurityHub client with AWS credentials - // For production, prefer using environment variables or AWS credential profiles rather than hardcoding - const config: SecurityHubClientConfig = { - region: AWS_REGION, - credentials: { - accessKeyId: AWS_ACCESS_KEY_ID, - secretAccessKey: AWS_SECRET_ACCESS_KEY, - sessionToken: AWS_SESSION_TOKEN // Required for temporary credentials - } - }; - const securityHubClient = new SecurityHubClient(config); +async function fetch( + AWS_REGION: string, + AWS_ACCESS_KEY_ID: string, + AWS_SECRET_ACCESS_KEY: string, + AWS_SESSION_TOKEN: string, +): Promise { + try { + // 1. Configure the SecurityHub client with AWS credentials + // For production, prefer using environment variables or AWS credential profiles rather than hardcoding + const config: SecurityHubClientConfig = { + region: AWS_REGION, + credentials: { + accessKeyId: AWS_ACCESS_KEY_ID, + secretAccessKey: AWS_SECRET_ACCESS_KEY, + sessionToken: AWS_SESSION_TOKEN, // Required for temporary credentials + }, + }; + const securityHubClient = new SecurityHubClient(config); + + // 2. Define filters for the findings we want to retrieve. + // Example: get only NEW (unresolved) findings for failed compliance controls. + const params: GetFindingsCommandInput = { + Filters: { + WorkflowStatus: [{ Value: "NEW", Comparison: "EQUALS" }], // only active findings + ComplianceStatus: [{ Value: "FAILED", Comparison: "EQUALS" }], // only failed control checks + }, + MaxResults: 100, // adjust page size as needed (max 100) + }; + const command = new GetFindingsCommand(params); + let response: GetFindingsCommandOutput = + await securityHubClient.send(command); - // 2. Define filters for the findings we want to retrieve. - // Example: get only NEW (unresolved) findings for failed compliance controls. - const params: GetFindingsCommandInput = { - Filters: { - WorkflowStatus: [{ Value: "NEW", Comparison: "EQUALS" }], // only active findings - ComplianceStatus: [{ Value: "FAILED", Comparison: "EQUALS" }] // only failed control checks - }, - MaxResults: 100 // adjust page size as needed (max 100) - }; + const allFindings: any[] = response.Findings || []; + let nextToken = response.NextToken; - let command = new GetFindingsCommand(params); - let response: GetFindingsCommandOutput = await securityHubClient.send(command); + // 3. Loop to paginate through all results if there are more than 100 findings + while (nextToken) { + const nextPageParams: GetFindingsCommandInput = { + ...params, + NextToken: nextToken, + }; + response = await securityHubClient.send( + new GetFindingsCommand(nextPageParams), + ); - let allFindings: any[] = response.Findings || []; - let nextToken = response.NextToken; + if (response.Findings) { + allFindings.push(...response.Findings); + } - // 3. Loop to paginate through all results if there are more than 100 findings - while (nextToken) { - const nextPageParams: GetFindingsCommandInput = { ...params, NextToken: nextToken }; - response = await securityHubClient.send(new GetFindingsCommand(nextPageParams)); - - if (response.Findings) { - allFindings.push(...response.Findings); - } - - nextToken = response.NextToken; - } + nextToken = response.NextToken; + } - console.log(`Retrieved ${allFindings.length} findings`); - return allFindings; - } catch (error) { - console.error("Error fetching Security Hub findings:", error); - throw error; - } + console.log(`Retrieved ${allFindings.length} findings`); + return allFindings; + } catch (error) { + console.error("Error fetching Security Hub findings:", error); + throw error; + } } // Export the function for use in other modules -export { fetchSecurityFindings }; \ No newline at end of file +export { fetch }; From 755395250543f623689b4ace56ce1bfb000caf81 Mon Sep 17 00:00:00 2001 From: 7yntax Date: Wed, 12 Mar 2025 21:23:26 +0000 Subject: [PATCH 03/18] COM-20 Added handling of multiple integrations --- .../tests/all/actions/refreshTests.ts | 300 +++++++++--------- 1 file changed, 143 insertions(+), 157 deletions(-) diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests.ts b/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests.ts index a6bbd20b5c..09b91f0bd4 100644 --- a/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests.ts +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests.ts @@ -5,170 +5,156 @@ import { revalidatePath } from "next/cache"; import { authActionClient } from "@/actions/safe-action"; import { decrypt } from "@/lib/encryption"; import type { EncryptedData } from "@/lib/encryption"; -import { - SecurityHubClient, - GetFindingsCommand, - type SecurityHubClientConfig, - type GetFindingsCommandInput, - type GetFindingsCommandOutput, -} from "@aws-sdk/client-securityhub"; - -/** - * Fetches security findings from AWS Security Hub - * @returns Promise containing an array of findings - */ -async function fetchSecurityFindings( - AWS_REGION: string, - AWS_ACCESS_KEY_ID: string, - AWS_SECRET_ACCESS_KEY: string, - AWS_SESSION_TOKEN: string, -): Promise { - try { - // 1. Configure the SecurityHub client with AWS credentials - // For production, prefer using environment variables or AWS credential profiles rather than hardcoding - const config: SecurityHubClientConfig = { - region: AWS_REGION, - credentials: { - accessKeyId: AWS_ACCESS_KEY_ID, - secretAccessKey: AWS_SECRET_ACCESS_KEY, - sessionToken: AWS_SESSION_TOKEN, - }, - }; - const securityHubClient = new SecurityHubClient(config); - - // 2. Define filters for the findings we want to retrieve. - // Example: get only NEW (unresolved) findings for failed compliance controls. - const params: GetFindingsCommandInput = { - Filters: { - WorkflowStatus: [{ Value: "NEW", Comparison: "EQUALS" }], // only active findings - ComplianceStatus: [{ Value: "FAILED", Comparison: "EQUALS" }], // only failed control checks - }, - MaxResults: 100, // adjust page size as needed (max 100) - }; - - const command = new GetFindingsCommand(params); - let response: GetFindingsCommandOutput = - await securityHubClient.send(command); - - const allFindings: any[] = response.Findings || []; - let nextToken = response.NextToken; - - // 3. Loop to paginate through all results if there are more than 100 findings - while (nextToken) { - const nextPageParams: GetFindingsCommandInput = { - ...params, - NextToken: nextToken, - }; - response = await securityHubClient.send( - new GetFindingsCommand(nextPageParams), - ); +import { integrations } from "@bubba/integrations"; + +// Create a map of integration handlers with proper typing +type IntegrationHandler = { + id: string; + fetch: ( + region: string, + accessKeyId: string, + secretAccessKey: string, + sessionToken: string, + ) => Promise; +}; + +// Create a map of integration handlers +const integrationHandlers = new Map(); + +// Find and add integrations to the map if they exist +const aws = integrations.find((integration) => integration.id === "aws"); +const gcp = integrations.find((integration) => integration.id === "gcp"); +const azure = integrations.find((integration) => integration.id === "azure"); + +if (aws && "fetch" in aws) { + integrationHandlers.set("aws", aws as unknown as IntegrationHandler); +} +if (gcp && "fetch" in gcp) { + integrationHandlers.set("gcp", gcp as unknown as IntegrationHandler); +} +if (azure && "fetch" in azure) { + integrationHandlers.set("azure", azure as unknown as IntegrationHandler); +} - if (response.Findings) { - allFindings.push(...response.Findings); - } +export const refreshTestsAction = authActionClient + .metadata({ + name: "refresh-tests", + track: { + event: "refresh-tests", + channel: "server", + }, + }) + .action(async ({ parsedInput, ctx }) => { + const { user } = ctx; - nextToken = response.NextToken; + if (!user.id || !user.organizationId) { + throw new Error("Invalid user input"); } - console.log(`Retrieved ${allFindings.length} findings`); - return allFindings; - } catch (error) { - console.error("Error fetching Security Hub findings:", error); - throw error; - } -} + const integrationsTable = await db.organizationIntegrations.findMany({ + where: { + organizationId: user.organizationId, + }, + }); -export const refreshTestsAction = authActionClient - .metadata({ - name: "refresh-tests", - track: { - event: "refresh-tests", - channel: "server", - }, - }) - .action(async ({ parsedInput, ctx }) => { - const { user } = ctx; - - if (!user.id || !user.organizationId) { - throw new Error("Invalid user input"); - } - - const integrations = await db.organizationIntegrations.findMany({ - where: { - organizationId: user.organizationId, - }, - }); + for (const integration of integrationsTable) { + const integrationHandler = integrationHandlers.get( + integration.integration_id, + ); - for (const integration of integrations) { - if (integration.integration_id === "aws") { - const { region, access_key_id, secret_access_key, session_token } = integration.user_settings as unknown as { - region: EncryptedData; - access_key_id: EncryptedData; - secret_access_key: EncryptedData; - session_token: EncryptedData; - }; - const decryptedRegion = await decrypt(region); - const decryptedAccessKeyId = await decrypt(access_key_id); - const decryptedSecretAccessKey = await decrypt(secret_access_key); - const decryptedSessionToken = await decrypt(session_token); - - const results = await fetchSecurityFindings(decryptedRegion, decryptedAccessKeyId, decryptedSecretAccessKey, decryptedSessionToken); - - // Store the integration results using model name that matches the database - for (const result of results) { - // First verify the integration exists - const existingIntegration = - await db.organizationIntegrations.findUnique({ - where: { id: integration.id }, - }); - - if (!existingIntegration) { - console.log(`Integration with ID ${integration.id} not found`); - continue; - } - - // Check if a result with the same AWS Security Hub finding ID already exists - const existingResult = await db.organizationIntegrationResults.findFirst({ - where: { - resultDetails: { - path: ['Id'], - equals: result?.Id - }, - organizationIntegrationId: existingIntegration.id, - }, - }); - - if (existingResult) { - // Update the existing result instead of creating a new one - await db.organizationIntegrationResults.update({ - where: { id: existingResult.id }, - data: { - status: result?.Compliance?.Status || "unknown", - label: result?.Severity?.Label || "INFO", - resultDetails: result || { error: "No result returned" }, - }, - }); - continue; - } - - await db.organizationIntegrationResults.create({ - data: { - title: result?.Title, - status: result?.Compliance?.Status || "unknown", - label: result?.Severity?.Label || "INFO", - resultDetails: result || { error: "No result returned" }, - organizationIntegrationId: existingIntegration.id, - organizationId: integration.organizationId, - // assignedUserId is now optional, so we don't need to provide it - }, - }); - } + // Skip if no handler is found for this integration type + if (!integrationHandler) { + console.log( + `No handler found for integration type: ${integration.integration_id}`, + ); + continue; + } + + try { + // Extract and decrypt credentials (assuming all integrations use the same credential structure) + const { region, access_key_id, secret_access_key, session_token } = + integration.user_settings as unknown as { + region: EncryptedData; + access_key_id: EncryptedData; + secret_access_key: EncryptedData; + session_token: EncryptedData; + }; + + const decryptedRegion = await decrypt(region); + const decryptedAccessKeyId = await decrypt(access_key_id); + const decryptedSecretAccessKey = await decrypt(secret_access_key); + const decryptedSessionToken = await decrypt(session_token); + + // Fetch results using the appropriate integration handler + const results = await integrationHandler.fetch( + decryptedRegion, + decryptedAccessKeyId, + decryptedSecretAccessKey, + decryptedSessionToken, + ); + + // Store the integration results using model name that matches the database + for (const result of results) { + // First verify the integration exists + const existingIntegration = + await db.organizationIntegrations.findUnique({ + where: { id: integration.id }, + }); + + if (!existingIntegration) { + console.log(`Integration with ID ${integration.id} not found`); + continue; + } + + // Check if a result with the same finding ID already exists + // Assuming all integrations have an Id field in their results + const existingResult = + await db.organizationIntegrationResults.findFirst({ + where: { + resultDetails: { + path: ["Id"], + equals: result?.Id, + }, + organizationIntegrationId: existingIntegration.id, + }, + }); + + if (existingResult) { + // Update the existing result instead of creating a new one + await db.organizationIntegrationResults.update({ + where: { id: existingResult.id }, + data: { + status: result?.Compliance?.Status || "unknown", + label: result?.Severity?.Label || "INFO", + resultDetails: result || { error: "No result returned" }, + }, + }); + continue; + } + + await db.organizationIntegrationResults.create({ + data: { + title: result?.Title, + status: result?.Compliance?.Status || "unknown", + label: result?.Severity?.Label || "INFO", + resultDetails: result || { error: "No result returned" }, + organizationIntegrationId: existingIntegration.id, + organizationId: integration.organizationId, + // assignedUserId is now optional, so we don't need to provide it + }, + }); + } + } catch (error) { + console.error( + `Error processing ${integration.integration_id} integration:`, + error, + ); + } } - } - console.log("Refreshing tests"); + console.log("Refreshing tests"); - revalidatePath("/tests"); + revalidatePath("/tests"); - return { success: true }; - }); \ No newline at end of file + return { success: true }; + }); From bc186c5e2d24205331c501c7fb304da857cb3b0e Mon Sep 17 00:00:00 2001 From: 7yntax Date: Thu, 13 Mar 2025 14:45:17 +0000 Subject: [PATCH 04/18] COM-20 added integrations code examples --- packages/integrations/src/azure/src/index.ts | 61 ++++++++++++++++++++ packages/integrations/src/gcp/src/index.ts | 40 +++++++++++++ 2 files changed, 101 insertions(+) diff --git a/packages/integrations/src/azure/src/index.ts b/packages/integrations/src/azure/src/index.ts index c490823b86..629d23c084 100644 --- a/packages/integrations/src/azure/src/index.ts +++ b/packages/integrations/src/azure/src/index.ts @@ -1,3 +1,64 @@ +/* +import { DefaultAzureCredential } from "@azure/identity"; +import fetch from "node-fetch"; + +// Azure Subscription ID (replace with actual ID) +const subscriptionId = "your-subscription-id"; // 🔹 Replace with your Azure Subscription ID +const API_VERSION = "2023-01-01"; // 🔹 API version for Defender for Cloud + +// Base URL for Microsoft Defender for Cloud +const SECURITY_ALERTS_URL = `https://management.azure.com/subscriptions/${subscriptionId}/providers/Microsoft.Security/alerts?api-version=${API_VERSION}`; + +// Function to fetch Security Findings from Microsoft Defender for Cloud +async function fetchSecurityFindings(): Promise { + try { + // 🔹 Authenticate using DefaultAzureCredential (supports managed identity, environment variables, etc.) + const credential = new DefaultAzureCredential(); + const tokenResponse = await credential.getToken("https://management.azure.com/.default"); + + if (!tokenResponse || !tokenResponse.token) { + throw new Error("Failed to retrieve Azure authentication token."); + } + + // 🔹 Set up the API request headers + const headers = { + Authorization: `Bearer ${tokenResponse.token}`, + "Content-Type": "application/json", + }; + + let findings: any[] = []; + let url = SECURITY_ALERTS_URL; + + // 🔹 Loop through all pages of results (handles pagination) + while (url) { + const response = await fetch(url, { headers }); + if (!response.ok) throw new Error(`API request failed: ${response.statusText}`); + + const data = await response.json(); + findings = findings.concat(data.value || []); // Append new findings + + // 🔹 Handle pagination (if "nextLink" exists, fetch next page) + url = data["nextLink"] || null; + } + + console.log(`Retrieved ${findings.length} security findings.`); + + // 🔹 Process findings (filter active alerts, format output, etc.) + findings.forEach((finding) => { + console.log(`🛑 [${finding.properties.severity}] ${finding.properties.alertDisplayName} - ${finding.properties.status}`); + }); + + return findings; + } catch (error) { + console.error("Error fetching security findings:", error); + throw error; + } +} + +// Run the function +fetchSecurityFindings(); +*/ + import { SecurityHubClient, GetFindingsCommand, diff --git a/packages/integrations/src/gcp/src/index.ts b/packages/integrations/src/gcp/src/index.ts index c490823b86..6005d08991 100644 --- a/packages/integrations/src/gcp/src/index.ts +++ b/packages/integrations/src/gcp/src/index.ts @@ -1,3 +1,43 @@ +/** +import { SecurityCenterClient } from "@google-cloud/security-center"; + +// GCP Project and Organization Settings +const ORGANIZATION_ID = "your-organization-id"; // Replace with your GCP Organization ID +const FILTER = "state=\"ACTIVE\""; // 🔹 Filter for only active security findings + +const client = new SecurityCenterClient(); + +async function fetchSecurityFindings(): Promise { + try { + const orgResource = `organizations/${ORGANIZATION_ID}`; + + // 🔹 API request to fetch Security Command Center (SCC) findings + const [findingsResponse] = await client.listFindings({ + parent: `${orgResource}/sources/-`, // "-" fetches findings from all sources + filter: FILTER, // Optional filtering (e.g., active findings only) + pageSize: 100, // Adjust page size as needed (default max is 1000) + }); + + const findings = findingsResponse.findings || []; + console.log(`Retrieved ${findings.length} security findings.`); + + // 🔹 Process and log findings + findings.forEach((finding) => { + console.log(`🛑 [${finding.severity}] ${finding.category} - ${finding.state}`); + }); + + return findings; + } catch (error) { + console.error("Error fetching GCP security findings:", error); + throw error; + } +} + +// Run the function +fetchSecurityFindings(); + */ + + import { SecurityHubClient, GetFindingsCommand, From 69606af965d62cf35cd178288e30a12da9f18b73 Mon Sep 17 00:00:00 2001 From: 7yntax Date: Thu, 13 Mar 2025 15:41:22 +0000 Subject: [PATCH 05/18] COM-20 updated formating --- .../(dashboard)/tests/all/hooks/useTest.ts | 63 ++++++++++--------- 1 file changed, 33 insertions(+), 30 deletions(-) diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/hooks/useTest.ts b/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/hooks/useTest.ts index 6d94481a38..a12369875a 100644 --- a/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/hooks/useTest.ts +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/hooks/useTest.ts @@ -1,39 +1,42 @@ "use client"; import useSWR from "swr"; import { getTest } from "@/app/[locale]/(app)/(dashboard)/tests/all/[testId]/actions/getTest"; -import type { AppError, Test } from "@/app/[locale]/(app)/(dashboard)/tests/all/types"; +import type { + AppError, + Test, +} from "@/app/[locale]/(app)/(dashboard)/tests/all/types"; async function fetchTest(testId: string): Promise { - try { - const response = await getTest({ testId }); - - if (response.success) { - return response.data; - } else { - throw response.error; - } - } catch (error) { - if (error && typeof error === 'object' && 'message' in error) { - throw error as AppError; - } - throw { message: "An unexpected error occurred" }; - } + try { + const response = await getTest({ testId }); + + if (response.success) { + return response.data; + } else { + throw response.error; + } + } catch (error) { + if (error && typeof error === "object" && "message" in error) { + throw error as AppError; + } + throw { message: "An unexpected error occurred" }; + } } export function useTest(testId: string) { - const { data, error, isLoading, mutate } = useSWR( - testId ? ["cloud-test-details", testId] : null, - () => fetchTest(testId), - { - revalidateOnFocus: false, - revalidateOnReconnect: false, - } - ); + const { data, error, isLoading, mutate } = useSWR( + testId ? ["cloud-test-details", testId] : null, + () => fetchTest(testId), + { + revalidateOnFocus: false, + revalidateOnReconnect: false, + }, + ); - return { - cloudTest: data, - isLoading, - error, - mutate, - }; -} \ No newline at end of file + return { + cloudTest: data, + isLoading, + error, + mutate, + }; +} From 195268da8c41765aa2da7ce30a6b1dd094859bc9 Mon Sep 17 00:00:00 2001 From: 7yntax Date: Fri, 14 Mar 2025 15:48:05 +0000 Subject: [PATCH 06/18] COM-20 added support for other integrations using trigger.dev --- .../tasks/integration/integration-results.ts | 196 +++++++-------- bun.lock | 62 ++++- package.json | 2 + packages/integrations/src/azure/src/test.js | 58 +++++ yarn.lock | 227 ++++++++++++++++-- 5 files changed, 409 insertions(+), 136 deletions(-) create mode 100644 packages/integrations/src/azure/src/test.js diff --git a/apps/app/src/jobs/tasks/integration/integration-results.ts b/apps/app/src/jobs/tasks/integration/integration-results.ts index eed82edf2e..6e02fb2827 100644 --- a/apps/app/src/jobs/tasks/integration/integration-results.ts +++ b/apps/app/src/jobs/tasks/integration/integration-results.ts @@ -1,78 +1,38 @@ import { db } from "@bubba/db"; import { logger, schemaTask } from "@trigger.dev/sdk/v3"; import { z } from "zod"; - -import { - SecurityHubClient, - GetFindingsCommand, - type SecurityHubClientConfig, - type GetFindingsCommandInput, - type GetFindingsCommandOutput, -} from "@aws-sdk/client-securityhub"; - -/** - * Fetches security findings from AWS Security Hub - * @returns Promise containing an array of findings - */ -async function fetchSecurityFindings( - AWS_REGION: string, - AWS_ACCESS_KEY_ID: string, - AWS_SECRET_ACCESS_KEY: string, - AWS_SESSION_TOKEN: string -): Promise { - try { - // 1. Configure the SecurityHub client with AWS credentials - // For production, prefer using environment variables or AWS credential profiles rather than hardcoding - const config: SecurityHubClientConfig = { - region: AWS_REGION, - credentials: { - accessKeyId: AWS_ACCESS_KEY_ID, - secretAccessKey: AWS_SECRET_ACCESS_KEY, - sessionToken: AWS_SESSION_TOKEN, - }, - }; - const securityHubClient = new SecurityHubClient(config); - - // 2. Define filters for the findings we want to retrieve. - // Example: get only NEW (unresolved) findings for failed compliance controls. - const params: GetFindingsCommandInput = { - Filters: { - WorkflowStatus: [{ Value: "NEW", Comparison: "EQUALS" }], // only active findings - ComplianceStatus: [{ Value: "FAILED", Comparison: "EQUALS" }], // only failed control checks - }, - MaxResults: 100, // adjust page size as needed (max 100) - }; - - const command = new GetFindingsCommand(params); - let response: GetFindingsCommandOutput = - await securityHubClient.send(command); - - const allFindings: any[] = response.Findings || []; - let nextToken = response.NextToken; - - // 3. Loop to paginate through all results if there are more than 100 findings - while (nextToken) { - const nextPageParams: GetFindingsCommandInput = { - ...params, - NextToken: nextToken, - }; - response = await securityHubClient.send( - new GetFindingsCommand(nextPageParams) - ); - - if (response.Findings) { - allFindings.push(...response.Findings); - } - - nextToken = response.NextToken; - } - - console.log(`Retrieved ${allFindings.length} findings`); - return allFindings; - } catch (error) { - console.error("Error fetching Security Hub findings:", error); - throw error; - } +import { integrations } from "@bubba/integrations"; + +import { decrypt } from "@/lib/encryption"; +import type { EncryptedData } from "@/lib/encryption"; + +// Create a map of integration handlers with proper typing +type IntegrationHandler = { + id: string; + fetch: ( + region: string, + accessKeyId: string, + secretAccessKey: string, + sessionToken: string, + ) => Promise; +}; + +// Create a map of integration handlers +const integrationHandlers = new Map(); + +// Find and add integrations to the map if they exist +const aws = integrations.find((integration) => integration.id === "aws"); +const gcp = integrations.find((integration) => integration.id === "gcp"); +const azure = integrations.find((integration) => integration.id === "azure"); + +if (aws && "fetch" in aws) { + integrationHandlers.set("aws", aws as unknown as IntegrationHandler); +} +if (gcp && "fetch" in gcp) { + integrationHandlers.set("gcp", gcp as unknown as IntegrationHandler); +} +if (azure && "fetch" in azure) { + integrationHandlers.set("azure", azure as unknown as IntegrationHandler); } export const sendIntegrationResults = schemaTask({ @@ -101,49 +61,61 @@ export const sendIntegrationResults = schemaTask({ // Extract user settings which may contain necessary credentials const userSettings = integration.user_settings; - let results = null; - - // Handle specific integrations using explicit case matching - if (1) { - // if (integrationId === 'Aws') { - - if (1) { - results = await fetchSecurityFindings("w", "x", "y", "z"); - - // Store the integration results using model name that matches the database - for (const result of results) { - // First verify the integration exists - const existingIntegration = - await db.organizationIntegrations.findUnique({ - where: { id: integration.id }, - }); - - if (!existingIntegration) { - logger.error(`Integration with ID ${integration.id} not found`); - continue; - } - - await db.organizationIntegrationResults.create({ - data: { - title: result?.Title, - status: result?.Compliance?.Status || "unknown", - label: result?.Severity?.Label || "INFO", - resultDetails: result || { error: "No result returned" }, - organizationIntegrationId: existingIntegration.id, - organizationId: integration.organization.id, - // assignedUserId is now optional, so we don't need to provide it - }, - }); - } - - logger.info(`Integration run completed for ${integration.name}`); - return { success: true }; + const integrationHandler = integrationHandlers.get(integrationId); + + if (!integrationHandler) { + logger.error(`Integration handler for ${integrationId} not found`); + return { success: false, error: "Integration handler not found" }; + } + const { region, access_key_id, secret_access_key, session_token } = + integration.user_settings as unknown as { + region: EncryptedData; + access_key_id: EncryptedData; + secret_access_key: EncryptedData; + session_token: EncryptedData; + }; + + const decryptedRegion = await decrypt(region); + const decryptedAccessKeyId = await decrypt(access_key_id); + const decryptedSecretAccessKey = await decrypt(secret_access_key); + const decryptedSessionToken = await decrypt(session_token); + + const results = await integrationHandler.fetch( + decryptedRegion, + decryptedAccessKeyId, + decryptedSecretAccessKey, + decryptedSessionToken, + ); + + // Store the integration results using model name that matches the database + for (const result of results) { + // First verify the integration exists + const existingIntegration = + await db.organizationIntegrations.findUnique({ + where: { id: integration.id }, + }); + + if (!existingIntegration) { + logger.error(`Integration with ID ${integration.id} not found`); + continue; } - } else { - logger.warn(`Integration ${integrationId} not found or not supported`); + + await db.organizationIntegrationResults.create({ + data: { + title: result?.Title, + status: result?.Compliance?.Status || "unknown", + label: result?.Severity?.Label || "INFO", + resultDetails: result || { error: "No result returned" }, + organizationIntegrationId: existingIntegration.id, + organizationId: integration.organization.id, + // assignedUserId is now optional, so we don't need to provide it + }, + }); } - return { success: false, error: "Integration not configured correctly" }; + logger.info(`Integration run completed for ${integration.name}`); + return { success: true }; + } catch (error) { logger.error(`Error running integration: ${error}`); diff --git a/bun.lock b/bun.lock index e63f976ecd..80b63627e2 100644 --- a/bun.lock +++ b/bun.lock @@ -6,6 +6,8 @@ "dependencies": { "@aws-sdk/client-s3": "^3.758.0", "@aws-sdk/client-securityhub": "^3.758.0", + "@azure/core-http": "^3.0.5", + "@azure/identity": "^4.8.0", "@manypkg/cli": "^0.23.0", "@nangohq/node": "^0.53.2", "@types/d3": "^7.4.3", @@ -438,6 +440,30 @@ "@aws-sdk/xml-builder": ["@aws-sdk/xml-builder@3.734.0", "", { "dependencies": { "@smithy/types": "^4.1.0", "tslib": "^2.6.2" } }, "sha512-Zrjxi5qwGEcUsJ0ru7fRtW74WcTS0rbLcehoFB+rN1GRi2hbLcFaYs4PwVA5diLeAJH0gszv3x4Hr/S87MfbKQ=="], + "@azure/abort-controller": ["@azure/abort-controller@1.1.0", "", { "dependencies": { "tslib": "^2.2.0" } }, "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw=="], + + "@azure/core-auth": ["@azure/core-auth@1.9.0", "", { "dependencies": { "@azure/abort-controller": "^2.0.0", "@azure/core-util": "^1.11.0", "tslib": "^2.6.2" } }, "sha512-FPwHpZywuyasDSLMqJ6fhbOK3TqUdviZNF8OqRGA4W5Ewib2lEEZ+pBsYcBa88B2NGO/SEnYPGhyBqNlE8ilSw=="], + + "@azure/core-client": ["@azure/core-client@1.9.3", "", { "dependencies": { "@azure/abort-controller": "^2.0.0", "@azure/core-auth": "^1.4.0", "@azure/core-rest-pipeline": "^1.9.1", "@azure/core-tracing": "^1.0.0", "@azure/core-util": "^1.6.1", "@azure/logger": "^1.0.0", "tslib": "^2.6.2" } }, "sha512-/wGw8fJ4mdpJ1Cum7s1S+VQyXt1ihwKLzfabS1O/RDADnmzVc01dHn44qD0BvGH6KlZNzOMW95tEpKqhkCChPA=="], + + "@azure/core-http": ["@azure/core-http@3.0.5", "", { "dependencies": { "@azure/abort-controller": "^1.0.0", "@azure/core-auth": "^1.3.0", "@azure/core-tracing": "1.0.0-preview.13", "@azure/core-util": "^1.1.1", "@azure/logger": "^1.0.0", "@types/node-fetch": "^2.5.0", "@types/tunnel": "^0.0.3", "form-data": "^4.0.0", "node-fetch": "^2.6.7", "process": "^0.11.10", "tslib": "^2.2.0", "tunnel": "^0.0.6", "uuid": "^8.3.0", "xml2js": "^0.5.0" } }, "sha512-T8r2q/c3DxNu6mEJfPuJtptUVqwchxzjj32gKcnMi06rdiVONS9rar7kT9T2Am+XvER7uOzpsP79WsqNbdgdWg=="], + + "@azure/core-rest-pipeline": ["@azure/core-rest-pipeline@1.19.1", "", { "dependencies": { "@azure/abort-controller": "^2.0.0", "@azure/core-auth": "^1.8.0", "@azure/core-tracing": "^1.0.1", "@azure/core-util": "^1.11.0", "@azure/logger": "^1.0.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", "tslib": "^2.6.2" } }, "sha512-zHeoI3NCs53lLBbWNzQycjnYKsA1CVKlnzSNuSFcUDwBp8HHVObePxrM7HaX+Ha5Ks639H7chNC9HOaIhNS03w=="], + + "@azure/core-tracing": ["@azure/core-tracing@1.0.0-preview.13", "", { "dependencies": { "@opentelemetry/api": "^1.0.1", "tslib": "^2.2.0" } }, "sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ=="], + + "@azure/core-util": ["@azure/core-util@1.11.0", "", { "dependencies": { "@azure/abort-controller": "^2.0.0", "tslib": "^2.6.2" } }, "sha512-DxOSLua+NdpWoSqULhjDyAZTXFdP/LKkqtYuxxz1SCN289zk3OG8UOpnCQAz/tygyACBtWp/BoO72ptK7msY8g=="], + + "@azure/identity": ["@azure/identity@4.8.0", "", { "dependencies": { "@azure/abort-controller": "^2.0.0", "@azure/core-auth": "^1.9.0", "@azure/core-client": "^1.9.2", "@azure/core-rest-pipeline": "^1.17.0", "@azure/core-tracing": "^1.0.0", "@azure/core-util": "^1.11.0", "@azure/logger": "^1.0.0", "@azure/msal-browser": "^4.2.0", "@azure/msal-node": "^3.2.3", "events": "^3.0.0", "jws": "^4.0.0", "open": "^10.1.0", "stoppable": "^1.1.0", "tslib": "^2.2.0" } }, "sha512-l9ALUGHtFB/JfsqmA+9iYAp2a+cCwdNO/cyIr2y7nJLJsz1aae6qVP8XxT7Kbudg0IQRSIMXj0+iivFdbD1xPA=="], + + "@azure/logger": ["@azure/logger@1.1.4", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-4IXXzcCdLdlXuCG+8UKEwLA1T1NHqUfanhXYHiQTn+6sfWCZXduqbtXDGceg3Ce5QxTGo7EqmbV6Bi+aqKuClQ=="], + + "@azure/msal-browser": ["@azure/msal-browser@4.7.0", "", { "dependencies": { "@azure/msal-common": "15.2.1" } }, "sha512-H4AIPhIQVe1qW4+BJaitqod6UGQiXE3juj7q2ZBsOPjuZicQaqcbnBp2gCroF/icS0+TJ9rGuyCBJbjlAqVOGA=="], + + "@azure/msal-common": ["@azure/msal-common@15.2.1", "", {}, "sha512-eZHtYE5OHDN0o2NahCENkczQ6ffGc0MoUSAI3hpwGpZBHJXaEQMMZPWtIx86da2L9w7uT+Tr/xgJbGwIkvTZTQ=="], + + "@azure/msal-node": ["@azure/msal-node@3.3.0", "", { "dependencies": { "@azure/msal-common": "15.2.1", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" } }, "sha512-ulsT3EHF1RQ29X55cxBLgKsIKWni9JdbUqG7sipGVP4uhWcBpmm/vhKOMH340+27Acm9+kHGnN/5XmQ5LrIDgA=="], + "@babel/code-frame": ["@babel/code-frame@7.26.2", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ=="], "@babel/compat-data": ["@babel/compat-data@7.26.8", "", {}, "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ=="], @@ -1470,6 +1496,8 @@ "@types/tsscmp": ["@types/tsscmp@1.0.2", "", {}, "sha512-cy7BRSU8GYYgxjcx0Py+8lo5MthuDhlyu076KUcYzVNXL23luYgRHkMG2fIFEc6neckeh/ntP82mw+U4QjZq+g=="], + "@types/tunnel": ["@types/tunnel@0.0.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA=="], + "@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="], "@types/use-sync-external-store": ["@types/use-sync-external-store@0.0.6", "", {}, "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg=="], @@ -2410,9 +2438,9 @@ "jsprim": ["jsprim@1.4.2", "", { "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", "json-schema": "0.4.0", "verror": "1.10.0" } }, "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw=="], - "jwa": ["jwa@1.4.1", "", { "dependencies": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA=="], + "jwa": ["jwa@2.0.0", "", { "dependencies": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA=="], - "jws": ["jws@3.2.2", "", { "dependencies": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" } }, "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA=="], + "jws": ["jws@4.0.0", "", { "dependencies": { "jwa": "^2.0.0", "safe-buffer": "^5.0.1" } }, "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg=="], "jwt-decode": ["jwt-decode@3.1.2", "", {}, "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A=="], @@ -3190,6 +3218,8 @@ "stop-iteration-iterator": ["stop-iteration-iterator@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "internal-slot": "^1.1.0" } }, "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ=="], + "stoppable": ["stoppable@1.1.0", "", {}, "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw=="], + "streamsearch": ["streamsearch@1.1.0", "", {}, "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg=="], "streamx": ["streamx@2.22.0", "", { "dependencies": { "fast-fifo": "^1.3.2", "text-decoder": "^1.1.0" }, "optionalDependencies": { "bare-events": "^2.2.0" } }, "sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw=="], @@ -3324,6 +3354,8 @@ "tsscmp": ["tsscmp@1.0.6", "", {}, "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA=="], + "tunnel": ["tunnel@0.0.6", "", {}, "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg=="], + "tunnel-agent": ["tunnel-agent@0.6.0", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w=="], "tunnel-rat": ["tunnel-rat@0.1.2", "", { "dependencies": { "zustand": "^4.3.2" } }, "sha512-lR5VHmkPhzdhrM092lI2nACsLO4QubF0/yoOhzX7c+wIpbN1GjHNzCc91QlpxBi+cnx8vVJ+Ur6vL5cEoQPFpQ=="], @@ -3564,6 +3596,28 @@ "@aws-sdk/core/fast-xml-parser": ["fast-xml-parser@4.4.1", "", { "dependencies": { "strnum": "^1.0.5" }, "bin": { "fxparser": "src/cli/cli.js" } }, "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw=="], + "@azure/core-auth/@azure/abort-controller": ["@azure/abort-controller@2.1.2", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA=="], + + "@azure/core-client/@azure/abort-controller": ["@azure/abort-controller@2.1.2", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA=="], + + "@azure/core-client/@azure/core-tracing": ["@azure/core-tracing@1.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-UKTiEJPkWcESPYJz3X5uKRYyOcJD+4nYph+KpfdPRnQJVrZfk0KJgdnaAWKfhsBBtAf/D58Az4AvCJEmWgIBAg=="], + + "@azure/core-http/uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="], + + "@azure/core-http/xml2js": ["xml2js@0.5.0", "", { "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" } }, "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA=="], + + "@azure/core-rest-pipeline/@azure/abort-controller": ["@azure/abort-controller@2.1.2", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA=="], + + "@azure/core-rest-pipeline/@azure/core-tracing": ["@azure/core-tracing@1.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-UKTiEJPkWcESPYJz3X5uKRYyOcJD+4nYph+KpfdPRnQJVrZfk0KJgdnaAWKfhsBBtAf/D58Az4AvCJEmWgIBAg=="], + + "@azure/core-util/@azure/abort-controller": ["@azure/abort-controller@2.1.2", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA=="], + + "@azure/identity/@azure/abort-controller": ["@azure/abort-controller@2.1.2", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA=="], + + "@azure/identity/@azure/core-tracing": ["@azure/core-tracing@1.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-UKTiEJPkWcESPYJz3X5uKRYyOcJD+4nYph+KpfdPRnQJVrZfk0KJgdnaAWKfhsBBtAf/D58Az4AvCJEmWgIBAg=="], + + "@azure/msal-node/uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="], + "@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "@babel/generator/@babel/parser": ["@babel/parser@7.26.9", "", { "dependencies": { "@babel/types": "^7.26.9" }, "bin": "./bin/babel-parser.js" }, "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A=="], @@ -3748,6 +3802,8 @@ "jsondiffpatch/chalk": ["chalk@5.4.1", "", {}, "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w=="], + "jsonwebtoken/jws": ["jws@3.2.2", "", { "dependencies": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" } }, "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA=="], + "katex/commander": ["commander@8.3.0", "", {}, "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww=="], "languine/@trigger.dev/sdk": ["@trigger.dev/sdk@3.3.13", "", { "dependencies": { "@opentelemetry/api": "1.9.0", "@opentelemetry/api-logs": "0.52.1", "@opentelemetry/semantic-conventions": "1.25.1", "@trigger.dev/core": "3.3.13", "chalk": "^5.2.0", "cronstrue": "^2.21.0", "debug": "^4.3.4", "evt": "^2.4.13", "slug": "^6.0.0", "terminal-link": "^3.0.0", "ulid": "^2.3.0", "uuid": "^9.0.0", "ws": "^8.11.0" }, "peerDependencies": { "zod": "^3.0.0" } }, "sha512-iXtHMnzvzmPfBk7+whpWOElBJt6viCoA3r8xgrrrurj8oxjIVe4UvdDiB7wbUJJ44WROWEb0wVKyQut1L/FwQQ=="], @@ -3980,6 +4036,8 @@ "jsdom/whatwg-url/tr46": ["tr46@5.0.0", "", { "dependencies": { "punycode": "^2.3.1" } }, "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g=="], + "jsonwebtoken/jws/jwa": ["jwa@1.4.1", "", { "dependencies": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA=="], + "languine/@trigger.dev/sdk/@trigger.dev/core": ["@trigger.dev/core@3.3.13", "", { "dependencies": { "@electric-sql/client": "1.0.0-beta.1", "@google-cloud/precise-date": "^4.0.0", "@jsonhero/path": "^1.0.21", "@opentelemetry/api": "1.9.0", "@opentelemetry/api-logs": "0.52.1", "@opentelemetry/exporter-logs-otlp-http": "0.52.1", "@opentelemetry/exporter-trace-otlp-http": "0.52.1", "@opentelemetry/instrumentation": "0.52.1", "@opentelemetry/resources": "1.25.1", "@opentelemetry/sdk-logs": "0.52.1", "@opentelemetry/sdk-node": "0.52.1", "@opentelemetry/sdk-trace-base": "1.25.1", "@opentelemetry/sdk-trace-node": "1.25.1", "@opentelemetry/semantic-conventions": "1.25.1", "dequal": "^2.0.3", "eventsource": "^3.0.5", "eventsource-parser": "^3.0.0", "execa": "^8.0.1", "humanize-duration": "^3.27.3", "jose": "^5.4.0", "nanoid": "^3.3.4", "socket.io-client": "4.7.5", "superjson": "^2.2.1", "zod": "3.23.8", "zod-error": "1.5.0", "zod-validation-error": "^1.5.0" } }, "sha512-3VU4YMS+RVCkfVXeUKSWlkVszgFK44tIknR9sHLYgetI714L3tgH47XBXJ3+/ZV5Y9Vvv6O6pRIuV7EEhzbexg=="], "languine/@trigger.dev/sdk/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="], diff --git a/package.json b/package.json index 535c0cbe78..b0d846e736 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,8 @@ "dependencies": { "@aws-sdk/client-s3": "^3.758.0", "@aws-sdk/client-securityhub": "^3.758.0", + "@azure/core-http": "^3.0.5", + "@azure/identity": "^4.8.0", "@manypkg/cli": "^0.23.0", "@nangohq/node": "^0.53.2", "@types/d3": "^7.4.3", diff --git a/packages/integrations/src/azure/src/test.js b/packages/integrations/src/azure/src/test.js new file mode 100644 index 0000000000..c6079a323c --- /dev/null +++ b/packages/integrations/src/azure/src/test.js @@ -0,0 +1,58 @@ +const { DefaultAzureCredential } = require("@azure/identity"); +const fetch = require("node-fetch"); + +// Azure Subscription ID (replace with actual ID) +const subscriptionId = process.env.AZURE_SUBSCRIPTION_ID; // 🔹 Replace with your Azure Subscription ID +const API_VERSION = "2023-01-01"; // 🔹 API version for Defender for Cloud + +// Base URL for Microsoft Defender for Cloud +const SECURITY_ALERTS_URL = `https://management.azure.com/subscriptions/${subscriptionId}/providers/Microsoft.Security/alerts?api-version=${API_VERSION}`; + +// Function to fetch Security Findings from Microsoft Defender for Cloud +async function fetchSecurityFindings() { + try { + // 🔹 Authenticate using DefaultAzureCredential (supports managed identity, environment variables, etc.) + const credential = new DefaultAzureCredential(); + const tokenResponse = await credential.getToken("https://management.azure.com/.default"); + + if (!tokenResponse || !tokenResponse.token) { + throw new Error("Failed to retrieve Azure authentication token."); + } + + // 🔹 Set up the API request headers + const headers = { + Authorization: `Bearer ${tokenResponse.token}`, + "Content-Type": "application/json", + }; + + let findings = []; + let url = SECURITY_ALERTS_URL; + + // 🔹 Loop through all pages of results (handles pagination) + while (url) { + const response = await fetch(url, { headers }); + if (!response.ok) throw new Error(`API request failed: ${response.statusText}`); + + const data = await response.json(); + findings = findings.concat(data.value || []); // Append new findings + + // 🔹 Handle pagination (if "nextLink" exists, fetch next page) + url = data.nextLink || null; + } + + console.log(`Retrieved ${findings.length} security findings.`); + + // 🔹 Process findings (filter active alerts, format output, etc.) + for (const finding of findings) { + console.log(`🛑 [${finding.properties.severity}] ${finding.properties.alertDisplayName} - ${finding.properties.status}`); + } + + return findings; + } catch (error) { + console.error("Error fetching security findings:", error); + throw error; + } +} + +// Run the function +fetchSecurityFindings(); \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index b542a7731b..44c6139c27 100644 --- a/yarn.lock +++ b/yarn.lock @@ -816,6 +816,147 @@ "@smithy/types" "^4.1.0" tslib "^2.6.2" +"@azure/abort-controller@^1.0.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz" + integrity sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw== + dependencies: + tslib "^2.2.0" + +"@azure/abort-controller@^2.0.0": + version "2.1.2" + resolved "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz" + integrity sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA== + dependencies: + tslib "^2.6.2" + +"@azure/core-auth@^1.3.0", "@azure/core-auth@^1.4.0", "@azure/core-auth@^1.8.0", "@azure/core-auth@^1.9.0": + version "1.9.0" + resolved "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.9.0.tgz" + integrity sha512-FPwHpZywuyasDSLMqJ6fhbOK3TqUdviZNF8OqRGA4W5Ewib2lEEZ+pBsYcBa88B2NGO/SEnYPGhyBqNlE8ilSw== + dependencies: + "@azure/abort-controller" "^2.0.0" + "@azure/core-util" "^1.11.0" + tslib "^2.6.2" + +"@azure/core-client@^1.9.2": + version "1.9.3" + resolved "https://registry.npmjs.org/@azure/core-client/-/core-client-1.9.3.tgz" + integrity sha512-/wGw8fJ4mdpJ1Cum7s1S+VQyXt1ihwKLzfabS1O/RDADnmzVc01dHn44qD0BvGH6KlZNzOMW95tEpKqhkCChPA== + dependencies: + "@azure/abort-controller" "^2.0.0" + "@azure/core-auth" "^1.4.0" + "@azure/core-rest-pipeline" "^1.9.1" + "@azure/core-tracing" "^1.0.0" + "@azure/core-util" "^1.6.1" + "@azure/logger" "^1.0.0" + tslib "^2.6.2" + +"@azure/core-http@^3.0.5": + version "3.0.5" + resolved "https://registry.npmjs.org/@azure/core-http/-/core-http-3.0.5.tgz" + integrity sha512-T8r2q/c3DxNu6mEJfPuJtptUVqwchxzjj32gKcnMi06rdiVONS9rar7kT9T2Am+XvER7uOzpsP79WsqNbdgdWg== + dependencies: + "@azure/abort-controller" "^1.0.0" + "@azure/core-auth" "^1.3.0" + "@azure/core-tracing" "1.0.0-preview.13" + "@azure/core-util" "^1.1.1" + "@azure/logger" "^1.0.0" + "@types/node-fetch" "^2.5.0" + "@types/tunnel" "^0.0.3" + form-data "^4.0.0" + node-fetch "^2.6.7" + process "^0.11.10" + tslib "^2.2.0" + tunnel "^0.0.6" + uuid "^8.3.0" + xml2js "^0.5.0" + +"@azure/core-rest-pipeline@^1.17.0", "@azure/core-rest-pipeline@^1.9.1": + version "1.19.1" + resolved "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.19.1.tgz" + integrity sha512-zHeoI3NCs53lLBbWNzQycjnYKsA1CVKlnzSNuSFcUDwBp8HHVObePxrM7HaX+Ha5Ks639H7chNC9HOaIhNS03w== + dependencies: + "@azure/abort-controller" "^2.0.0" + "@azure/core-auth" "^1.8.0" + "@azure/core-tracing" "^1.0.1" + "@azure/core-util" "^1.11.0" + "@azure/logger" "^1.0.0" + http-proxy-agent "^7.0.0" + https-proxy-agent "^7.0.0" + tslib "^2.6.2" + +"@azure/core-tracing@1.0.0-preview.13": + version "1.0.0-preview.13" + resolved "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.0-preview.13.tgz" + integrity sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ== + dependencies: + "@opentelemetry/api" "^1.0.1" + tslib "^2.2.0" + +"@azure/core-tracing@^1.0.0", "@azure/core-tracing@^1.0.1": + version "1.2.0" + resolved "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.2.0.tgz" + integrity sha512-UKTiEJPkWcESPYJz3X5uKRYyOcJD+4nYph+KpfdPRnQJVrZfk0KJgdnaAWKfhsBBtAf/D58Az4AvCJEmWgIBAg== + dependencies: + tslib "^2.6.2" + +"@azure/core-util@^1.1.1", "@azure/core-util@^1.11.0", "@azure/core-util@^1.6.1": + version "1.11.0" + resolved "https://registry.npmjs.org/@azure/core-util/-/core-util-1.11.0.tgz" + integrity sha512-DxOSLua+NdpWoSqULhjDyAZTXFdP/LKkqtYuxxz1SCN289zk3OG8UOpnCQAz/tygyACBtWp/BoO72ptK7msY8g== + dependencies: + "@azure/abort-controller" "^2.0.0" + tslib "^2.6.2" + +"@azure/identity@^4.8.0": + version "4.8.0" + resolved "https://registry.npmjs.org/@azure/identity/-/identity-4.8.0.tgz" + integrity sha512-l9ALUGHtFB/JfsqmA+9iYAp2a+cCwdNO/cyIr2y7nJLJsz1aae6qVP8XxT7Kbudg0IQRSIMXj0+iivFdbD1xPA== + dependencies: + "@azure/abort-controller" "^2.0.0" + "@azure/core-auth" "^1.9.0" + "@azure/core-client" "^1.9.2" + "@azure/core-rest-pipeline" "^1.17.0" + "@azure/core-tracing" "^1.0.0" + "@azure/core-util" "^1.11.0" + "@azure/logger" "^1.0.0" + "@azure/msal-browser" "^4.2.0" + "@azure/msal-node" "^3.2.3" + events "^3.0.0" + jws "^4.0.0" + open "^10.1.0" + stoppable "^1.1.0" + tslib "^2.2.0" + +"@azure/logger@^1.0.0": + version "1.1.4" + resolved "https://registry.npmjs.org/@azure/logger/-/logger-1.1.4.tgz" + integrity sha512-4IXXzcCdLdlXuCG+8UKEwLA1T1NHqUfanhXYHiQTn+6sfWCZXduqbtXDGceg3Ce5QxTGo7EqmbV6Bi+aqKuClQ== + dependencies: + tslib "^2.6.2" + +"@azure/msal-browser@^4.2.0": + version "4.7.0" + resolved "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-4.7.0.tgz" + integrity sha512-H4AIPhIQVe1qW4+BJaitqod6UGQiXE3juj7q2ZBsOPjuZicQaqcbnBp2gCroF/icS0+TJ9rGuyCBJbjlAqVOGA== + dependencies: + "@azure/msal-common" "15.2.1" + +"@azure/msal-common@15.2.1": + version "15.2.1" + resolved "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.2.1.tgz" + integrity sha512-eZHtYE5OHDN0o2NahCENkczQ6ffGc0MoUSAI3hpwGpZBHJXaEQMMZPWtIx86da2L9w7uT+Tr/xgJbGwIkvTZTQ== + +"@azure/msal-node@^3.2.3": + version "3.3.0" + resolved "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.3.0.tgz" + integrity sha512-ulsT3EHF1RQ29X55cxBLgKsIKWni9JdbUqG7sipGVP4uhWcBpmm/vhKOMH340+27Acm9+kHGnN/5XmQ5LrIDgA== + dependencies: + "@azure/msal-common" "15.2.1" + jsonwebtoken "^9.0.0" + uuid "^8.3.0" + "@babel/code-frame@^7.24.2", "@babel/code-frame@^7.26.2": version "7.26.2" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz" @@ -1041,19 +1182,18 @@ formdata-node "^4.3.2" node-fetch "^2.6.7" -"@bubba/analytics@^workspace:packages/analytics", "@bubba/analytics@workspace:*": +"@bubba/analytics@packages/analytics", "@bubba/analytics@workspace:*": version "workspace:packages/analytics" resolved "workspace:packages/analytics" dependencies: posthog-js "^1.215.3" posthog-node "^4.4.1" -"@bubba/db@^workspace:packages/db", "@bubba/db@workspace:*": +"@bubba/db@packages/db", "@bubba/db@workspace:*": version "workspace:packages/db" resolved "workspace:packages/db" devDependencies: "@bubba/tsconfig" "workspace:*" - devDependencies: typescript "^5.7.3" dependencies: "@auth/prisma-adapter" "^2.7.4" @@ -1063,7 +1203,7 @@ "@prisma/extension-accelerate" "^1.2.2" prisma "^6.3.1" -"@bubba/email@^workspace:packages/email": +"@bubba/email@packages/email": version "workspace:packages/email" resolved "workspace:packages/email" devDependencies: @@ -1083,7 +1223,7 @@ react-email "3.0.4" responsive-react-email "^0.0.5" -"@bubba/integrations@^workspace:packages/integrations": +"@bubba/integrations@packages/integrations": version "workspace:packages/integrations" resolved "workspace:packages/integrations" devDependencies: @@ -1097,14 +1237,14 @@ sharp "^0.33.5" zod "^3.24.2" -"@bubba/kv@^workspace:packages/kv": +"@bubba/kv@packages/kv": version "workspace:packages/kv" resolved "workspace:packages/kv" dependencies: "@upstash/redis" "^1.34.2" server-only "0.0.1" -"@bubba/notifications@^workspace:packages/notifications", "@bubba/notifications@workspace:*": +"@bubba/notifications@packages/notifications", "@bubba/notifications@workspace:*": version "workspace:packages/notifications" resolved "workspace:packages/notifications" devDependencies: @@ -1113,11 +1253,11 @@ "@novu/node" "^2.0.1" nanoid "5.1.0" -"@bubba/tsconfig@^workspace:packages/tsconfig", "@bubba/tsconfig@workspace:*": +"@bubba/tsconfig@packages/tsconfig", "@bubba/tsconfig@workspace:*": version "workspace:packages/tsconfig" resolved "workspace:packages/tsconfig" -"@bubba/ui@^workspace:packages/ui", "@bubba/ui@workspace:*": +"@bubba/ui@packages/ui", "@bubba/ui@workspace:*": version "workspace:packages/ui" resolved "workspace:packages/ui" devDependencies: @@ -1181,7 +1321,7 @@ use-callback-ref "^1.3.3" vaul "^1.0.0" -"@bubba/utils@^workspace:packages/utils", "@bubba/utils@workspace:*": +"@bubba/utils@packages/utils", "@bubba/utils@workspace:*": version "workspace:packages/utils" resolved "workspace:packages/utils" devDependencies: @@ -2298,7 +2438,7 @@ resolved "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz" integrity sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw== -"@opentelemetry/api@1.9.0", "@opentelemetry/api@>=1.0.0 <1.10.0", "@opentelemetry/api@>=1.3.0 <1.10.0", "@opentelemetry/api@>=1.4.0 <1.10.0", "@opentelemetry/api@^1.0.0", "@opentelemetry/api@^1.1.0", "@opentelemetry/api@^1.3.0", "@opentelemetry/api@^1.8": +"@opentelemetry/api@1.9.0", "@opentelemetry/api@>=1.0.0 <1.10.0", "@opentelemetry/api@>=1.3.0 <1.10.0", "@opentelemetry/api@>=1.4.0 <1.10.0", "@opentelemetry/api@^1.0.0", "@opentelemetry/api@^1.0.1", "@opentelemetry/api@^1.1.0", "@opentelemetry/api@^1.3.0", "@opentelemetry/api@^1.8": version "1.9.0" resolved "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz" integrity sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg== @@ -5194,7 +5334,7 @@ dependencies: undici-types "~6.20.0" -"@types/node-fetch@^2.6.4": +"@types/node-fetch@^2.5.0", "@types/node-fetch@^2.6.4": version "2.6.12" resolved "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.12.tgz" integrity sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA== @@ -5285,6 +5425,13 @@ resolved "https://registry.npmjs.org/@types/tsscmp/-/tsscmp-1.0.2.tgz" integrity sha512-cy7BRSU8GYYgxjcx0Py+8lo5MthuDhlyu076KUcYzVNXL23luYgRHkMG2fIFEc6neckeh/ntP82mw+U4QjZq+g== +"@types/tunnel@^0.0.3": + version "0.0.3" + resolved "https://registry.npmjs.org/@types/tunnel/-/tunnel-0.0.3.tgz" + integrity sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA== + dependencies: + "@types/node" "*" + "@types/unist@^2.0.0": version "2.0.11" resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz" @@ -6301,12 +6448,11 @@ commander@11.1.0: resolved "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz" integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== -comp.ai@^workspace:apps/app: +"comp.ai@apps/app": version "workspace:apps/app" resolved "workspace:apps/app" devDependencies: "@bubba/db" "workspace:*" - devDependencies: "@trigger.dev/build" "3.3.17" "@types/node" "^22.13.2" "@types/react" "19.0.10" @@ -6322,9 +6468,7 @@ comp.ai@^workspace:apps/app: "@aws-sdk/client-s3" "^3.758.0" "@aws-sdk/s3-request-presigner" "^3.758.0" "@browserbasehq/sdk" "^2.3.0" - dependencies: "@bubba/notifications" "workspace:*" - dependencies: "@date-fns/tz" "^1.2.0" "@hookform/resolvers" "^3.10.0" "@nangohq/frontend" "^0.53.1" @@ -7561,7 +7705,7 @@ eventemitter3@^5, eventemitter3@^5.0.1: resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz" integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== -events@^3.3.0: +events@^3.0.0, events@^3.3.0: version "3.3.0" resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== @@ -8406,7 +8550,7 @@ https@^1.0.0: resolved "https://registry.npmjs.org/https/-/https-1.0.0.tgz" integrity sha512-4EC57ddXrkaF0x83Oj8sM6SLQHAWXw90Skqu2M4AEWENZ3F02dFJE/GARA8igO79tcgYqGrD7ae4f5L3um2lgg== -https-proxy-agent@^7.0.6: +https-proxy-agent@^7.0.0, https-proxy-agent@^7.0.6: version "7.0.6" resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz" integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== @@ -9138,6 +9282,15 @@ jwa@^1.4.1: ecdsa-sig-formatter "1.0.11" safe-buffer "^5.0.1" +jwa@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz" + integrity sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + jws@^3.2.2: version "3.2.2" resolved "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz" @@ -9146,6 +9299,14 @@ jws@^3.2.2: jwa "^1.4.1" safe-buffer "^5.0.1" +jws@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz" + integrity sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg== + dependencies: + jwa "^2.0.0" + safe-buffer "^5.0.1" + jwt-decode@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz" @@ -10841,7 +11002,7 @@ plist@^3.1.0: base64-js "^1.5.1" xmlbuilder "^15.1.1" -portal@^workspace:apps/portal: +"portal@apps/portal": version "workspace:apps/portal" resolved "workspace:apps/portal" devDependencies: @@ -12477,6 +12638,11 @@ stop-iteration-iterator@^1.0.0: es-errors "^1.3.0" internal-slot "^1.1.0" +stoppable@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz" + integrity sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw== + streamsearch@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz" @@ -12991,7 +13157,7 @@ tsconfck@3.1.3: resolved "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.3.tgz" integrity sha512-ulNZP1SVpRDesxeMLON/LtWM8HIgAJEIVpVVhBM6gsmvQ8+Rh+ZG7FWGvHh7Ah3pRABwVJWklWCr/BTZSv0xnQ== -tslib@2, tslib@^2.0.0, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.4.1, tslib@^2.6.2, tslib@^2.7.0, tslib@^2.8.0, tslib@^2.8.1: +tslib@2, tslib@^2.0.0, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.4.1, tslib@^2.6.2, tslib@^2.7.0, tslib@^2.8.0, tslib@^2.8.1: version "2.8.1" resolved "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== @@ -13001,6 +13167,11 @@ tsscmp@^1.0.6: resolved "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz" integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== +tunnel@^0.0.6: + version "0.0.6" + resolved "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz" + integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== + tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" @@ -13356,6 +13527,11 @@ uuid@^3.3.2: resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== +uuid@^8.3.0: + version "8.3.2" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + uuid@^9.0.0, uuid@^9.0.1: version "9.0.1" resolved "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz" @@ -13470,12 +13646,11 @@ wcwidth@^1.0.1: dependencies: defaults "^1.0.3" -web@^workspace:apps/web: +"web@apps/web": version "workspace:apps/web" resolved "workspace:apps/web" devDependencies: "@bubba/analytics" "workspace:*" - devDependencies: "@trigger.dev/build" "^3.3.15" "@types/node" "^22.13.2" "@types/react" "^19.0.8" @@ -13734,6 +13909,14 @@ xml-name-validator@^5.0.0: resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz" integrity sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg== +xml2js@^0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz" + integrity sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + xml2js@^0.6.2: version "0.6.2" resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz" From 54c0490bbace845cb17af10bf5fcc3e4199ebaec Mon Sep 17 00:00:00 2001 From: 7yntax Date: Mon, 17 Mar 2025 19:20:15 +0000 Subject: [PATCH 07/18] COM-20 integration jobs run off common code --- .../tests/all/actions/refreshTests.ts | 10 +++----- .../tasks/integration/integration-results.ts | 8 ++----- .../src/aws/assets/image.base64.ts | 3 +++ packages/integrations/src/aws/config.ts | 23 ++++++------------- .../src/azure/assets/image.base64.ts | 3 +++ packages/integrations/src/azure/config.ts | 18 ++++----------- .../src/deel/assets/image.base64.ts | 3 +++ packages/integrations/src/deel/config.ts | 8 +++---- .../src/gcp/assets/image.base64.ts | 3 +++ packages/integrations/src/gcp/config.ts | 7 +++--- .../src/github/assets/image.base64.ts | 3 +++ packages/integrations/src/github/config.ts | 7 +++--- .../src/gusto/assets/image.base64.ts | 3 +++ packages/integrations/src/gusto/config.ts | 7 +++--- 14 files changed, 47 insertions(+), 59 deletions(-) create mode 100644 packages/integrations/src/aws/assets/image.base64.ts create mode 100644 packages/integrations/src/azure/assets/image.base64.ts create mode 100644 packages/integrations/src/deel/assets/image.base64.ts create mode 100644 packages/integrations/src/gcp/assets/image.base64.ts create mode 100644 packages/integrations/src/github/assets/image.base64.ts create mode 100644 packages/integrations/src/gusto/assets/image.base64.ts diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests.ts b/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests.ts index 09b91f0bd4..5f08537f25 100644 --- a/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests.ts +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests.ts @@ -13,8 +13,7 @@ type IntegrationHandler = { fetch: ( region: string, accessKeyId: string, - secretAccessKey: string, - sessionToken: string, + secretAccessKey: string ) => Promise; }; @@ -72,25 +71,22 @@ export const refreshTestsAction = authActionClient try { // Extract and decrypt credentials (assuming all integrations use the same credential structure) - const { region, access_key_id, secret_access_key, session_token } = + const { region, access_key_id, secret_access_key } = integration.user_settings as unknown as { region: EncryptedData; access_key_id: EncryptedData; secret_access_key: EncryptedData; - session_token: EncryptedData; }; const decryptedRegion = await decrypt(region); const decryptedAccessKeyId = await decrypt(access_key_id); const decryptedSecretAccessKey = await decrypt(secret_access_key); - const decryptedSessionToken = await decrypt(session_token); // Fetch results using the appropriate integration handler const results = await integrationHandler.fetch( decryptedRegion, decryptedAccessKeyId, - decryptedSecretAccessKey, - decryptedSessionToken, + decryptedSecretAccessKey ); // Store the integration results using model name that matches the database diff --git a/apps/app/src/jobs/tasks/integration/integration-results.ts b/apps/app/src/jobs/tasks/integration/integration-results.ts index 6e02fb2827..5d0adda466 100644 --- a/apps/app/src/jobs/tasks/integration/integration-results.ts +++ b/apps/app/src/jobs/tasks/integration/integration-results.ts @@ -13,7 +13,6 @@ type IntegrationHandler = { region: string, accessKeyId: string, secretAccessKey: string, - sessionToken: string, ) => Promise; }; @@ -67,24 +66,21 @@ export const sendIntegrationResults = schemaTask({ logger.error(`Integration handler for ${integrationId} not found`); return { success: false, error: "Integration handler not found" }; } - const { region, access_key_id, secret_access_key, session_token } = + const { region, access_key_id, secret_access_key } = integration.user_settings as unknown as { region: EncryptedData; access_key_id: EncryptedData; secret_access_key: EncryptedData; - session_token: EncryptedData; }; const decryptedRegion = await decrypt(region); const decryptedAccessKeyId = await decrypt(access_key_id); const decryptedSecretAccessKey = await decrypt(secret_access_key); - const decryptedSessionToken = await decrypt(session_token); const results = await integrationHandler.fetch( decryptedRegion, decryptedAccessKeyId, - decryptedSecretAccessKey, - decryptedSessionToken, + decryptedSecretAccessKey ); // Store the integration results using model name that matches the database diff --git a/packages/integrations/src/aws/assets/image.base64.ts b/packages/integrations/src/aws/assets/image.base64.ts new file mode 100644 index 0000000000..489486a156 --- /dev/null +++ b/packages/integrations/src/aws/assets/image.base64.ts @@ -0,0 +1,3 @@ +export default () => { + return 'data:image/png;base64,' + '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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkOXwX05ZAfxZfbhfAAAAAElFTkSuQmCC' +} diff --git a/packages/integrations/src/aws/config.ts b/packages/integrations/src/aws/config.ts index 926405a8f0..e3ef2ca57b 100644 --- a/packages/integrations/src/aws/config.ts +++ b/packages/integrations/src/aws/config.ts @@ -1,17 +1,16 @@ -// @ts-ignore - Suppress image import warning -import image from "./assets/image.png"; -// Import the function directly instead of through integrations +import imageBase64 from "./assets/image.base64"; import { fetch } from "./src"; + // Type the export directly with inline annotation const config: { name: string; id: string; active: boolean; - logo: unknown; + logo: string; // base64 image string short_description: string; description: string; - images: unknown[]; + images: string[]; // array of base64 image strings settings: { id: string; label: string; @@ -26,10 +25,10 @@ const config: { name: "AWS", id: "aws", active: true, - logo: image, + logo: imageBase64(), short_description: "Connect your AWS account to Comp AI to automate evidence collection for cloud resources", description: "Integrating with AWS allows you to automate evidence collection. This compliance analysis tool enables organizations to more quickly articulate their compliance posture and also generate supporting evidence artifacts", - images: [image], + images: [imageBase64()], settings: [ { id: "region", @@ -54,15 +53,7 @@ const config: { type: "text", required: true, value: "", - }, - { - id: "session_token", - label: "AWS session token", - description: "The API session token AWS account", - type: "text", - required: true, - value: "", - }, + } ], category: "Cloud", fetch: fetch diff --git a/packages/integrations/src/azure/assets/image.base64.ts b/packages/integrations/src/azure/assets/image.base64.ts new file mode 100644 index 0000000000..687d81e085 --- /dev/null +++ b/packages/integrations/src/azure/assets/image.base64.ts @@ -0,0 +1,3 @@ +export default () => { + return 'data:image/png;base64,' + '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' +} diff --git a/packages/integrations/src/azure/config.ts b/packages/integrations/src/azure/config.ts index 0ee37d1373..a7b5e89c76 100644 --- a/packages/integrations/src/azure/config.ts +++ b/packages/integrations/src/azure/config.ts @@ -1,5 +1,5 @@ -// @ts-ignore - Suppress image import warning -import image from "./assets/image.png"; +import imageBase64 from "./assets/image.base64"; + // Import the function directly instead of through integrations import { fetch } from "./src"; @@ -26,12 +26,12 @@ const config: { name: "AZURE", id: "azure", active: true, - logo: image, + logo: imageBase64(), short_description: "Connect your Azure account to Comp AI to automate evidence collection for cloud resources", description: "Integrating with Azure allows you to automate evidence collection. This compliance analysis tool enables organizations to more quickly articulate their compliance posture and also generate supporting evidence artifacts", - images: [image], + images: [imageBase64()], settings: [ { id: "region", @@ -56,15 +56,7 @@ const config: { type: "text", required: true, value: "", - }, - { - id: "session_token", - label: "AZURE session token", - description: "The API session token AZURE account", - type: "text", - required: true, - value: "", - }, + } ], category: "Cloud", fetch: fetch diff --git a/packages/integrations/src/deel/assets/image.base64.ts b/packages/integrations/src/deel/assets/image.base64.ts new file mode 100644 index 0000000000..34062ca703 --- /dev/null +++ b/packages/integrations/src/deel/assets/image.base64.ts @@ -0,0 +1,3 @@ +export default () => { + return 'iVBORw0KGgoAAAANSUhEUgAAC7gAAAinCAYAAACyfV+qAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAxOFJREFUeNrswQEBAAAAgJD+r+4ICgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgNmDAxIAAAAAQf9f9yNUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP/ZgwMBAAAAACD/10ZQVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVYQ8OSAAAAAAE/X/dj1ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgIwHag0MCAAAAAEH/X7vCBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOwCEflIGGFWeOYAAAAASUVORK5CYII=' +} \ No newline at end of file diff --git a/packages/integrations/src/deel/config.ts b/packages/integrations/src/deel/config.ts index a5b4a20271..b56e8ed1b4 100644 --- a/packages/integrations/src/deel/config.ts +++ b/packages/integrations/src/deel/config.ts @@ -1,6 +1,4 @@ -// Don't try to import the image, use a public path -// @ts-ignore -import image from "./assets/image.png"; +import imageBase64 from "./assets/image.base64"; export default { name: "Deel", @@ -9,7 +7,7 @@ export default { short_description: "Integrate with Deel to sync employee data automatically.", id: "deel", // Use direct reference to the public image - logo: image, + logo: imageBase64(), category: "HR", active: true, // Include both fields and settings for backward compatibility @@ -46,5 +44,5 @@ export default { description: "When this integration will run next (every 24 hours)", }, }, - images: [], // Add empty images array for compatibility + images: [imageBase64()], // Add empty images array for compatibility }; diff --git a/packages/integrations/src/gcp/assets/image.base64.ts b/packages/integrations/src/gcp/assets/image.base64.ts new file mode 100644 index 0000000000..46859fe64e --- /dev/null +++ b/packages/integrations/src/gcp/assets/image.base64.ts @@ -0,0 +1,3 @@ +export default () => { + return 'data:image/png;base64,' + 'iVBORw0KGgoAAAANSUhEUgAACAAAAAgACAYAAACyp9MwAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA2MzhBMkU0Mzc3RTExRTlBMDhBOUZGNzBBNEVCM0QxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA2MzhBMkU1Mzc3RTExRTlBMDhBOUZGNzBBNEVCM0QxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDYzOEEyRTIzNzdFMTFFOUEwOEE5RkY3MEE0RUIzRDEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDYzOEEyRTMzNzdFMTFFOUEwOEE5RkY3MEE0RUIzRDEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6FOjy/AAEDCUlEQVR42uzde7BvZVnA8cXhdpKbwnF5FzE0RUXJlmmmoktFKe+jg3nPmsQuo6Kl6DRZ6ogSk3lBJiE1ydImRTOvCy9photMEwRvKQgCC9SDSHLkAD2L9Tuekx7hXPbl93vez2fmmfccnfGPp3lht9/v/u1drrvuugoAAAAAAAAAWGxrrAAAAAAAAAAAFp8AAAAAAAAAAAASEAAAAAAAAAAAQAICAAAAAAAAAABIQAAAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAAAEhAAAAAAAAAAAEACAgAAAAAAAAAASEAAAAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAAAABIQAAAAAAAAAABAAgIAAAAAAAAAAEhAAAAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAAASEAAAAAAAAAAAQAICAAAAAAAAAABIQAAAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAAAEhAAAAAAAAAAAEACAgAAAAAAAAAASEAAAAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAAAABIQAAAAAAAAAABAAgIAAAAAAAAAAEhAAAAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAAASEAAAAAAAAAAAQAICAAAAAAAAAABIQAAAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAAAEhAAAAAAAAAAAEACAgAAAAAAAAAASEAAAAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAAAABIQAAAAAAAAAABAAgIAAAAAAAAAAEhAAAAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAAASEAAAAAAAAAAAQAICAAAAAAAAAABIQAAAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAAAEhAAAAAAAAAAAEACAgAAAAAAAAAASEAAAAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAAAABIQAAAAAAAAAABAAgIAAAAAAAAAAEhAAAAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAAASEAAAAAAAAAAAQAICAAAAAAAAAABIQAAAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAAAEhAAAAAAAAAAAEACAgAAAAAAAAAASEAAAAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAAAABIQAAAAAAAAAABAAgIAAAAAAAAAAEhAAAAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAAASEAAAAAAAAAAAQAICAAAAAAAAAABIQAAAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAAAEhAAAAAAAAAAAEACAgAAAAAAAAAASEAAAAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAAAABIQAAAAAAAAAABAAgIAAAAAAAAAAEhAAAAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAAASEAAAAAAAAAAAQAICAAAAAAAAAABIQAAAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAAAEhAAAAAAAAAAAEACAgAAAAAAAAAASEAAAAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAAAABIQAAAAAAAAAABAAgIAAAAAAAAAAEhAAAAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAAASEAAAAAAAAAAAQAICAAAAAAAAAABIQAAAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAAAEhAAAAAAAAAAAEACAgAAAAAAAAAASEAAAAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAAAABIQAAAAAAAAAABAAgIAAAAAAAAAAEhAAAAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAAASEAAAAAAAAAAAQAICAAAAAAAAAABIQAAAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAAAEhAAAAAAAAAAAEACAgAAAAAAAAAASEAAAAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAAAABIQAAAAAAAAAABAAgIAAAAAAAAAAEhAAAAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAAASEAAAAAAAAAAAQAICAAAAAAAAAABIQAAAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAAAEhAAAAAAAAAAAEACAgAAAAAAAAAASEAAAAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAAAABIQAAAAAAAAAABAAgIAAAAAAAAAAEhAAAAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAAASEAAAAAAAAAAAQAICAAAAAAAAAABIQAAAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAAAEhAAAAAAAAAAAEACAgAAAAAAAAAASEAAAAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAAAABIQAAAAAAAAAABAAgIAAAAAAAAAAEhAAAAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAAASEAAAAAAAAAAAQAICAAAAAAAAAABIQAAAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAAAEhAAAAAAAAAAAEACAgAAAAAAAAAASEAAAAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAAAABIQAAAAAAAAAABAAgIAAAAAAAAAAEhAAAAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAAASEAAAAAAAAAAAQAICAAAAAAAAAABIQAAAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAAAEhAAAAAAAAAAAEACAgAAAAAAAAAASEAAAAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAAAABIQAAAAAAAAAABAAgIAAAAAAAAAAEhAAAAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAAAAAAAAAAAASEAAAAAAAAAAAQAICAAAAAAAAAABIQAAAAAAAAAAAAAkIAAAAAAAAAAAgAQEAAAAAAAAAACQgAAAAAAAAAACABAQAAAAAAAAAAJCAAAAAAAAAAAAAEhAAAAAAAAAAAEACAgAAAAAAAAAASEAAAAAAAAAAAAAJCAAAAAAAAAAAIAEBAAAAAAAAAAAkIAAA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AAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAADAgAAAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAMCAAAAAAAAAAAAAAwIAAAAAAAAAAAwIAAAAAAAAAAAwkADt2oEMAAAAwCB/63t8xZEAAAAAAAAAAAADAgAAAAAAAAAADASaW7mv/f2qjwAAAABJRU5ErkJggg==' +} diff --git a/packages/integrations/src/gcp/config.ts b/packages/integrations/src/gcp/config.ts index 9adbf28d65..05d042c481 100644 --- a/packages/integrations/src/gcp/config.ts +++ b/packages/integrations/src/gcp/config.ts @@ -1,5 +1,4 @@ -// @ts-ignore - Suppress image import warning -import image from "./assets/image.png"; +import imageBase64 from "./assets/image.base64"; // Import the function directly instead of through integrations import { fetch } from "./src"; @@ -26,12 +25,12 @@ const config: { name: "GCP", id: "gcp", active: true, - logo: image, + logo: imageBase64(), short_description: "Connect your GCP account to Comp AI to automate evidence collection for cloud resources", description: "Integrating with Google Cloud Platform allows you to automate evidence collection. This compliance analysis tool enables organizations to more quickly articulate their compliance posture and also generate supporting evidence artifacts", - images: [image], + images: [imageBase64()], settings: [ { id: "region", diff --git a/packages/integrations/src/github/assets/image.base64.ts b/packages/integrations/src/github/assets/image.base64.ts new file mode 100644 index 0000000000..902d0f82f4 --- /dev/null +++ b/packages/integrations/src/github/assets/image.base64.ts @@ -0,0 +1,3 @@ +export default () => { + return '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UmVhZHlxyWU8AAADgmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkZBN0YxMTc0MDcyMDY4MTFCMzRCREIxMjdBODc5OUEwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNFMDlCMUVCNDkwMzExRTdCQUM4OEFDM0Q2QjVENzg2IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNFMDlCMUVBNDkwMzExRTdCQUM4OEFDM0Q2QjVENzg2IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6YjJmOWExNWUtZjM1Yy00YWQzLTk3ZmItYjVlYmZiZmJjOGFhIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YTRiMmY3MTktOTBmNy0xMTdhLWFjY2QtOTExY2I2NjQwNGQyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hw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' +} \ No newline at end of file diff --git a/packages/integrations/src/github/config.ts b/packages/integrations/src/github/config.ts index 1a10c8d618..31865a5120 100644 --- a/packages/integrations/src/github/config.ts +++ b/packages/integrations/src/github/config.ts @@ -1,16 +1,15 @@ -import image from "./assets/image.png"; -import { Logo } from "./assets/logo"; +import imageBase64 from "./assets/image.base64"; export default { name: "GitHub", id: "github", active: true, - logo: image, + logo: imageBase64(), short_description: "Connect your GitHub account to Bubba to automate evidence collection for cloud resources", description: "Integrating with GitHub allows you to automate evidence collection for any GitHub repositories you may have, we'll run a daily read-only scan of your repositories and store the results in Bubba.", - images: [image], + images: [imageBase64()], settings: [ { id: "api_key", diff --git a/packages/integrations/src/gusto/assets/image.base64.ts b/packages/integrations/src/gusto/assets/image.base64.ts new file mode 100644 index 0000000000..f9668400ea --- /dev/null +++ b/packages/integrations/src/gusto/assets/image.base64.ts @@ -0,0 +1,3 @@ +export default () => { + return 'iVBORw0KGgoAAAANSUhEUgAABBIAAAQSCAYAAAASWNnGAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAC4jAAAuIwF4pT92AABPiElEQVR42u3dS3Ybx/0/7G98MsOAfFcg/lYgZAVChhgJ2QAEr8DwCgSvwPAKDGEDoUYYBlxBoBUEXMGfHGDsd9BFC5J1KZK4dFc9zzk6iuOERF260P3puvztjz/+CAAAAIAcP6gCAAAAIJcgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAINvfVQEAAIewGw8HEfGfAov2S2+5mmlhgIYZCQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIA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sgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADI9v8DKGWDHHdFBtMAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAEnRFWHRFWElGOk9yaWVudGF0aW9uADGEWOzvAAAAAElFTkSuQmCC' +} \ No newline at end of file diff --git a/packages/integrations/src/gusto/config.ts b/packages/integrations/src/gusto/config.ts index d6122502f3..67adacd5eb 100644 --- a/packages/integrations/src/gusto/config.ts +++ b/packages/integrations/src/gusto/config.ts @@ -1,16 +1,15 @@ -import image from "./assets/image.png"; -import { Logo } from "./assets/logo"; +import imageBase64 from "./assets/image.base64"; export default { name: "Gusto", id: "gusto-demo", active: true, - logo: image, + logo: imageBase64(), short_description: "Connect your Gusto account to Bubba to automate evidence collection for HR resources", description: "Integrating with Gusto allows you to automate evidence collection for employees, we'll run a daily read-only scan of your resources and store the results in Bubba.", - images: [image], + images: [imageBase64()], settings: [], config: {}, category: "HR", From b41f40d951dddabf4f6674928e802a750dfde1f8 Mon Sep 17 00:00:00 2001 From: 7yntax Date: Mon, 17 Mar 2025 19:34:28 +0000 Subject: [PATCH 08/18] COM-20 fixed images --- packages/integrations/src/deel/assets/image.base64.ts | 2 +- packages/integrations/src/github/assets/image.base64.ts | 2 +- packages/integrations/src/gusto/assets/image.base64.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/integrations/src/deel/assets/image.base64.ts b/packages/integrations/src/deel/assets/image.base64.ts index 34062ca703..7c8dd7e666 100644 --- a/packages/integrations/src/deel/assets/image.base64.ts +++ b/packages/integrations/src/deel/assets/image.base64.ts @@ -1,3 +1,3 @@ export default () => { - return 'iVBORw0KGgoAAAANSUhEUgAAC7gAAAinCAYAAACyfV+qAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAxOFJREFUeNrswQEBAAAAgJD+r+4ICgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgNmDAxIAAAAAQf9f9yNUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP/ZgwMBAAAAACD/10ZQVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVYQ8OSAAAAAAE/X/dj1ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgIwHag0MCAAAAAEH/X7vCBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOwCEflIGGFWeOYAAAAASUVORK5CYII=' + return 'data:image/png;base64,' + 'iVBORw0KGgoAAAANSUhEUgAAC7gAAAinCAYAAACyfV+qAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAxOFJREFUeNrswQEBAAAAgJD+r+4ICgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgNmDAxIAAAAAQf9f9yNUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACAEATcAQAAAAAAAAAAAAAIQcAdAAAAAAAAAAAAAIAQBNwBAAAAAAAAAAAAAAhBwB0AAAAAAAAAAAAAgBAE3AEAAAAAAAAAAAAACEHAHQAAAAAAAAAAAACA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP/ZgwMBAAAAACD/10ZQVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVYQ8OSAAAAAAE/X/dj1ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgIwHag0MCAAAAAEH/X7vCBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOwCEflIGGFWeOYAAAAASUVORK5CYII=' } \ No newline at end of file diff --git a/packages/integrations/src/github/assets/image.base64.ts b/packages/integrations/src/github/assets/image.base64.ts index 902d0f82f4..6061d7b3ff 100644 --- a/packages/integrations/src/github/assets/image.base64.ts +++ b/packages/integrations/src/github/assets/image.base64.ts @@ -1,3 +1,3 @@ export default () => { - return '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UmVhZHlxyWU8AAADgmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkZBN0YxMTc0MDcyMDY4MTFCMzRCREIxMjdBODc5OUEwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNFMDlCMUVCNDkwMzExRTdCQUM4OEFDM0Q2QjVENzg2IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNFMDlCMUVBNDkwMzExRTdCQUM4OEFDM0Q2QjVENzg2IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6YjJmOWExNWUtZjM1Yy00YWQzLTk3ZmItYjVlYmZiZmJjOGFhIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YTRiMmY3MTktOTBmNy0xMTdhLWFjY2QtOTExY2I2NjQwNGQyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hw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' + return 'data:image/png;base64,' + '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UmVhZHlxyWU8AAADgmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkZBN0YxMTc0MDcyMDY4MTFCMzRCREIxMjdBODc5OUEwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNFMDlCMUVCNDkwMzExRTdCQUM4OEFDM0Q2QjVENzg2IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNFMDlCMUVBNDkwMzExRTdCQUM4OEFDM0Q2QjVENzg2IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6YjJmOWExNWUtZjM1Yy00YWQzLTk3ZmItYjVlYmZiZmJjOGFhIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YTRiMmY3MTktOTBmNy0xMTdhLWFjY2QtOTExY2I2NjQwNGQyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hw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' } \ No newline at end of file diff --git a/packages/integrations/src/gusto/assets/image.base64.ts b/packages/integrations/src/gusto/assets/image.base64.ts index f9668400ea..4255dc7dd0 100644 --- a/packages/integrations/src/gusto/assets/image.base64.ts +++ b/packages/integrations/src/gusto/assets/image.base64.ts @@ -1,3 +1,3 @@ export default () => { - return 'iVBORw0KGgoAAAANSUhEUgAABBIAAAQSCAYAAAASWNnGAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAC4jAAAuIwF4pT92AABPiElEQVR42u3dS3Ybx/0/7G98MsOAfFcg/lYgZAVChhgJ2QAEr8DwCgSvwPAKDGEDoUYYBlxBoBUEXMGfHGDsd9BFC5J1KZK4dFc9zzk6iuOERF260P3puvztjz/+CAAAAIAcP6gCAAAAIJcgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAINvfVQEAAIewGw8HEfGfAov2S2+5mmlhgIYZCQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIA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sgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADI9v8DKGWDHHdFBtMAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAEnRFWHRFWElGOk9yaWVudGF0aW9uADGEWOzvAAAAAElFTkSuQmCC' + return 'data:image/png;base64,' + 'iVBORw0KGgoAAAANSUhEUgAABBIAAAQSCAYAAAASWNnGAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAC4jAAAuIwF4pT92AABPiElEQVR42u3dS3Ybx/0/7G98MsOAfFcg/lYgZAVChhgJ2QAEr8DwCgSvwPAKDGEDoUYYBlxBoBUEXMGfHGDsd9BFC5J1KZK4dFc9zzk6iuOERF260P3puvztjz/+CAAAAIAcP6gCAAAAIJcgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAIJsgAQAAAMgmSAAAAACyCRIAAACAbIIEAAAAINvfVQEAAIewGw8HEfGfAov2S2+5mmlhgIYZCQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIAAACQTZAAAAAAZBMkAAAAANkECQAAAEA2QQIA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sgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADIJkgAAAAAsgkSAAAAgGyCBAAAACCbIAEAAADI9v8DKGWDHHdFBtMAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAEnRFWHRFWElGOk9yaWVudGF0aW9uADGEWOzvAAAAAElFTkSuQmCC' } \ No newline at end of file From 63a0d95264d504329e65b99eb37eaa56e6a0f9be Mon Sep 17 00:00:00 2001 From: 7yntax Date: Mon, 17 Mar 2025 20:24:04 +0000 Subject: [PATCH 09/18] COM-20 added styling --- .../all/[testId]/components/TestDetails.tsx | 4 +- .../components/tables/tests/data-table.tsx | 67 +++++++++++++++++++ 2 files changed, 69 insertions(+), 2 deletions(-) diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/[testId]/components/TestDetails.tsx b/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/[testId]/components/TestDetails.tsx index 9e8194dd8a..778b625fa4 100644 --- a/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/[testId]/components/TestDetails.tsx +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/[testId]/components/TestDetails.tsx @@ -85,9 +85,9 @@ export function TestDetails({ testId, users }: CloudTestDetailsProps) { // Format the test status for display with appropriate badge color const getStatusBadge = (status: string) => { switch(status.toUpperCase()) { - case "ACTIVE": + case "PASSED": return {status}; - case "DRAFT": + case "IN_PROGRESS": return {status}; case "FAILED": return {status}; diff --git a/apps/app/src/components/tables/tests/data-table.tsx b/apps/app/src/components/tables/tests/data-table.tsx index b2637b9f26..f4f58a105c 100644 --- a/apps/app/src/components/tables/tests/data-table.tsx +++ b/apps/app/src/components/tables/tests/data-table.tsx @@ -17,12 +17,16 @@ import { TableHead, TableRow, } from "@bubba/ui/table"; +import { Badge } from "@bubba/ui/badge"; import { useRouter } from "next/navigation"; +import Image from "next/image"; import type { TestType } from "./columns"; import { DataTableHeader } from "./data-table-header"; import { DataTablePagination } from "./data-table-pagination"; import { AssignedUser } from "@/components/assigned-user"; +import { integrations } from "@bubba/integrations"; + interface DataTableProps { columnHeaders: { severity: string; @@ -37,6 +41,44 @@ interface DataTableProps { currentPage: number; } +const getSeverityBadge = (severity: string | null) => { + if (!severity) return Unknown; + + switch(severity.toUpperCase()) { + case "LOW": + return {severity}; + case "MEDIUM": + return {severity}; + case "HIGH": + return {severity}; + case "CRITICAL": + return {severity}; + default: + return {severity}; + } +} + +// Format the test status for display with appropriate badge color +const getResultsBadge = (status: string) => { + switch(status.toUpperCase()) { + case "PASSED": + return {status}; + case "IN_PROGRESS": + return {status}; + case "FAILED": + return {status}; + default: + return {status}; + } +}; + +// Get provider logo with proper typing +const getProviderLogo = (provider: string): string => { + const integration = integrations.find((i) => i.id === provider); + // Ensure we return a string for the image src + return typeof integration?.logo === 'string' ? integration.logo : ''; +}; + function getColumns(): ColumnDef[] { const t = useI18n(); @@ -54,6 +96,9 @@ function getColumns(): ColumnDef[] { ), + cell: ({ row }) => { + return getSeverityBadge(row.original.severity); + }, }, { id: "result", @@ -68,6 +113,9 @@ function getColumns(): ColumnDef[] { ), + cell: ({ row }) => { + return getResultsBadge(row.original.result); + }, }, { id: "title", @@ -96,6 +144,25 @@ function getColumns(): ColumnDef[] { ), + cell: ({ row }) => { + const provider = row.original.provider; + const logo = getProviderLogo(provider); + + return ( +

+ {logo && ( + {provider} + )} + {provider} +
+ ); + }, }, { id: "createdAt", From b03703724a99444fdb8045b022abfb2e096c7143 Mon Sep 17 00:00:00 2001 From: 7yntax Date: Tue, 18 Mar 2025 22:33:11 +0000 Subject: [PATCH 10/18] COM-20 fixed azure --- apps/app/package.json | 5 +- .../tests/all/actions/refreshTests.ts | 28 +- .../tasks/integration/integration-results.ts | 23 +- bun.lock | 314 ++++++-- packages/integrations/package.json | 6 + packages/integrations/src/aws/src/index.ts | 27 +- packages/integrations/src/azure/config.ts | 26 +- packages/integrations/src/azure/src/index.ts | 239 +++--- packages/integrations/src/azure/src/test.js | 163 ++-- packages/integrations/src/gcp/src/index.ts | 129 ++-- packages/integrations/src/index.ts | 4 +- packages/integrations/tsconfig.json | 7 +- yarn.lock | 727 +++++++++++++++--- 13 files changed, 1215 insertions(+), 483 deletions(-) diff --git a/apps/app/package.json b/apps/app/package.json index ff597e779b..07c197f403 100644 --- a/apps/app/package.json +++ b/apps/app/package.json @@ -1,5 +1,5 @@ { - "name": "comp.ai", + "name": "@bubba/app", "version": "0.1.0", "private": true, "scripts": { @@ -106,5 +106,8 @@ "overrides": { "tiptap-extension-global-drag-handle": "^0.1.18" } + }, + "exports": { + "./src/lib/encryption": "./src/lib/encryption.ts" } } diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests.ts b/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests.ts index 5f08537f25..f5c726a8b0 100644 --- a/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests.ts +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests.ts @@ -3,18 +3,12 @@ import { db } from "@bubba/db"; import { revalidatePath } from "next/cache"; import { authActionClient } from "@/actions/safe-action"; -import { decrypt } from "@/lib/encryption"; -import type { EncryptedData } from "@/lib/encryption"; import { integrations } from "@bubba/integrations"; // Create a map of integration handlers with proper typing type IntegrationHandler = { id: string; - fetch: ( - region: string, - accessKeyId: string, - secretAccessKey: string - ) => Promise; + fetch: (credentials: any) => Promise; }; // Create a map of integration handlers @@ -70,24 +64,8 @@ export const refreshTestsAction = authActionClient } try { - // Extract and decrypt credentials (assuming all integrations use the same credential structure) - const { region, access_key_id, secret_access_key } = - integration.user_settings as unknown as { - region: EncryptedData; - access_key_id: EncryptedData; - secret_access_key: EncryptedData; - }; - - const decryptedRegion = await decrypt(region); - const decryptedAccessKeyId = await decrypt(access_key_id); - const decryptedSecretAccessKey = await decrypt(secret_access_key); - - // Fetch results using the appropriate integration handler - const results = await integrationHandler.fetch( - decryptedRegion, - decryptedAccessKeyId, - decryptedSecretAccessKey - ); + // Pass encrypted credentials directly to the integration handler + const results = await integrationHandler.fetch(integration.user_settings); // Store the integration results using model name that matches the database for (const result of results) { diff --git a/apps/app/src/jobs/tasks/integration/integration-results.ts b/apps/app/src/jobs/tasks/integration/integration-results.ts index 5d0adda466..8ca0f3def3 100644 --- a/apps/app/src/jobs/tasks/integration/integration-results.ts +++ b/apps/app/src/jobs/tasks/integration/integration-results.ts @@ -3,17 +3,10 @@ import { logger, schemaTask } from "@trigger.dev/sdk/v3"; import { z } from "zod"; import { integrations } from "@bubba/integrations"; -import { decrypt } from "@/lib/encryption"; -import type { EncryptedData } from "@/lib/encryption"; - // Create a map of integration handlers with proper typing type IntegrationHandler = { id: string; - fetch: ( - region: string, - accessKeyId: string, - secretAccessKey: string, - ) => Promise; + fetch: (credentials: any) => Promise; }; // Create a map of integration handlers @@ -68,19 +61,13 @@ export const sendIntegrationResults = schemaTask({ } const { region, access_key_id, secret_access_key } = integration.user_settings as unknown as { - region: EncryptedData; - access_key_id: EncryptedData; - secret_access_key: EncryptedData; + region: any; + access_key_id: any; + secret_access_key: any; }; - const decryptedRegion = await decrypt(region); - const decryptedAccessKeyId = await decrypt(access_key_id); - const decryptedSecretAccessKey = await decrypt(secret_access_key); - const results = await integrationHandler.fetch( - decryptedRegion, - decryptedAccessKeyId, - decryptedSecretAccessKey + { region, access_key_id, secret_access_key } ); // Store the integration results using model name that matches the database diff --git a/bun.lock b/bun.lock index a52cb15c79..7b7041a5e7 100644 --- a/bun.lock +++ b/bun.lock @@ -29,7 +29,7 @@ }, }, "apps/app": { - "name": "comp.ai", + "name": "@bubba/app", "version": "0.1.0", "dependencies": { "@ai-sdk/openai": "^1.2.5", @@ -226,14 +226,20 @@ "version": "1.0.0", "dependencies": { "@ai-sdk/openai": "^0.0.66", + "@aws-sdk/client-securityhub": "^3.0.0", + "@azure/identity": "^3.0.0", + "@bubba/app": "workspace:*", + "@google-cloud/security-center": "^7.0.0", "@slack/bolt": "^3.22.0", "@slack/web-api": "^7.8.0", "ai": "^3.4.33", + "node-fetch": "^2.6.7", "sharp": "^0.33.5", "zod": "^3.24.2", }, "devDependencies": { "@types/node": "^22.13.2", + "@types/node-fetch": "^2.6.2", "typescript": "^5.7.3", }, }, @@ -335,7 +341,7 @@ }, }, "packages": { - "@ai-sdk/openai": ["@ai-sdk/openai@0.0.66", "", { "dependencies": { "@ai-sdk/provider": "0.0.24", "@ai-sdk/provider-utils": "1.0.20" }, "peerDependencies": { "zod": "^3.0.0" } }, "sha512-V4XeDnlNl5/AY3GB3ozJUjqnBLU5pK3DacKTbCNH3zH8/MggJoH6B8wRGdLUPVFMcsMz60mtvh4DC9JsIVFrKw=="], + "@ai-sdk/openai": ["@ai-sdk/openai@1.2.5", "", { "dependencies": { "@ai-sdk/provider": "1.0.11", "@ai-sdk/provider-utils": "2.1.13" }, "peerDependencies": { "zod": "^3.0.0" } }, "sha512-COK7LzspgQQh5Yq070xfDdVMvp8WX592rXRaMaYNNqu1xpzahxDcM24aF9xgKYWuYH0UMoOw4UmWGwGxr6ygIg=="], "@ai-sdk/provider": ["@ai-sdk/provider@1.0.11", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-CPyImHGiT3svyfmvPvAFTianZzWFtm0qK82XjwlQIA1C3IQ2iku/PMQXi7aFyrX0TyMh3VTkJPB03tjU2VXVrw=="], @@ -357,7 +363,7 @@ "@asamuzakjp/css-color": ["@asamuzakjp/css-color@2.8.3", "", { "dependencies": { "@csstools/css-calc": "^2.1.1", "@csstools/css-color-parser": "^3.0.7", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "lru-cache": "^10.4.3" } }, "sha512-GIc76d9UI1hCvOATjZPyHFmE5qhRccp3/zGfMPapK3jBi+yocEzp6BBB0UnfRYP9NP4FANqUZYb0hnfs3TM3hw=="], - "@auth/core": ["@auth/core@0.38.0", "", { "dependencies": { "@panva/hkdf": "^1.2.1", "jose": "^6.0.6", "oauth4webapi": "^3.3.0", "preact": "10.24.3", "preact-render-to-string": "6.5.11" }, "peerDependencies": { "@simplewebauthn/browser": "^9.0.1", "@simplewebauthn/server": "^9.0.2", "nodemailer": "^6.8.0" }, "optionalPeers": ["@simplewebauthn/browser", "@simplewebauthn/server", "nodemailer"] }, "sha512-ClHl44x4cY3wfJmHLpW+XrYqED0fZIzbHmwbExltzroCjR5ts3DLTWzADRba8mJFYZ8JIEJDa+lXnGl0E9Bl7Q=="], + "@auth/core": ["@auth/core@0.37.2", "", { "dependencies": { "@panva/hkdf": "^1.2.1", "@types/cookie": "0.6.0", "cookie": "0.7.1", "jose": "^5.9.3", "oauth4webapi": "^3.0.0", "preact": "10.11.3", "preact-render-to-string": "5.2.3" }, "peerDependencies": { "@simplewebauthn/browser": "^9.0.1", "@simplewebauthn/server": "^9.0.2", "nodemailer": "^6.8.0" }, "optionalPeers": ["@simplewebauthn/browser", "@simplewebauthn/server", "nodemailer"] }, "sha512-kUvzyvkcd6h1vpeMAojK2y7+PAV5H+0Cc9+ZlKYDFhDY31AlvsB+GW5vNO4qE3Y07KeQgvNO9U0QUx/fN62kBw=="], "@auth/prisma-adapter": ["@auth/prisma-adapter@2.8.0", "", { "dependencies": { "@auth/core": "0.38.0" }, "peerDependencies": { "@prisma/client": ">=2.26.0 || >=3 || >=4 || >=5 || >=6" } }, "sha512-g0Bmq3l5xUDyBBiDgm/y3Zqb582CnRHzFqbloV7scrLia5AbVC0xy+ntn+CQCAWW9ibpwiqJrQKKboIWN1oGqw=="], @@ -525,6 +531,8 @@ "@bubba/analytics": ["@bubba/analytics@workspace:packages/analytics"], + "@bubba/app": ["@bubba/app@workspace:apps/app"], + "@bubba/db": ["@bubba/db@workspace:packages/db"], "@bubba/email": ["@bubba/email@workspace:packages/email"], @@ -661,7 +669,9 @@ "@google-cloud/precise-date": ["@google-cloud/precise-date@4.0.0", "", {}, "sha512-1TUx3KdaU3cN7nfCdNf+UVqA/PSX29Cjcox3fZZBtINlRrXVTmUkQnCKv2MbBUbCopbK4olAT1IHl76uZyCiVA=="], - "@grpc/grpc-js": ["@grpc/grpc-js@1.12.6", "", { "dependencies": { "@grpc/proto-loader": "^0.7.13", "@js-sdsl/ordered-map": "^4.4.2" } }, "sha512-JXUj6PI0oqqzTGvKtzOkxtpsyPRNsrmhh41TtIz/zEB6J+AUiZZ0dxWzcMwO9Ns5rmSPuMdghlTbUuqIM48d3Q=="], + "@google-cloud/security-center": ["@google-cloud/security-center@7.6.0", "", { "dependencies": { "google-gax": "^3.5.8" } }, "sha512-pnCMfDjRH3ptbbLP2TYJ2yIOi6GDJ8tRnWhsZXt8+0erRgSNfgFcEgpFZyLsfhH+aOkfTVjKNYFHn60m/DMTTw=="], + + "@grpc/grpc-js": ["@grpc/grpc-js@1.8.22", "", { "dependencies": { "@grpc/proto-loader": "^0.7.0", "@types/node": ">=12.12.47" } }, "sha512-oAjDdN7fzbUi+4hZjKG96MR6KTEubAeMpQEb+77qy+3r0Ua5xTFuie6JOLr4ZZgl5g+W5/uRTS2M1V8mVAFPuA=="], "@grpc/proto-loader": ["@grpc/proto-loader@0.7.13", "", { "dependencies": { "lodash.camelcase": "^4.3.0", "long": "^5.0.0", "protobufjs": "^7.2.5", "yargs": "^17.7.2" }, "bin": { "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" } }, "sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw=="], @@ -721,6 +731,8 @@ "@js-sdsl/ordered-map": ["@js-sdsl/ordered-map@4.4.2", "", {}, "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw=="], + "@jsdoc/salty": ["@jsdoc/salty@0.2.9", "", { "dependencies": { "lodash": "^4.17.21" } }, "sha512-yYxMVH7Dqw6nO0d5NIV8OQWnitU8k6vXH8NtgqAfIa/IUqRMxRv/NUJJ08VEKbAakwxlgBl5PJdrU0dMPStsnw=="], + "@jsonhero/path": ["@jsonhero/path@1.0.21", "", {}, "sha512-gVUDj/92acpVoJwsVJ/RuWOaHyG4oFzn898WNGQItLCTQ+hOaVlEaImhwE1WqOTf+l3dGOUkbSiVKlb3q1hd1Q=="], "@kwsites/file-exists": ["@kwsites/file-exists@1.1.1", "", { "dependencies": { "debug": "^4.1.1" } }, "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw=="], @@ -1477,6 +1489,8 @@ "@types/geojson": ["@types/geojson@7946.0.16", "", {}, "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg=="], + "@types/glob": ["@types/glob@8.1.0", "", { "dependencies": { "@types/minimatch": "^5.1.2", "@types/node": "*" } }, "sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w=="], + "@types/hast": ["@types/hast@3.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ=="], "@types/http-errors": ["@types/http-errors@2.0.4", "", {}, "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA=="], @@ -1489,6 +1503,8 @@ "@types/lodash": ["@types/lodash@4.17.16", "", {}, "sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g=="], + "@types/long": ["@types/long@4.0.2", "", {}, "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA=="], + "@types/markdown-it": ["@types/markdown-it@13.0.9", "", { "dependencies": { "@types/linkify-it": "^3", "@types/mdurl": "^1" } }, "sha512-1XPwR0+MgXLWfTn9gCsZ55AHOKW1WN+P9vr0PaQh5aerR9LLQXUbjfEAFhjmEmyoYFWAyuN2Mqkn40MZ4ukjBw=="], "@types/mdast": ["@types/mdast@4.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA=="], @@ -1497,6 +1513,8 @@ "@types/mime": ["@types/mime@1.3.5", "", {}, "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w=="], + "@types/minimatch": ["@types/minimatch@5.1.2", "", {}, "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA=="], + "@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="], "@types/node": ["@types/node@22.13.10", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw=="], @@ -1521,6 +1539,8 @@ "@types/retry": ["@types/retry@0.12.0", "", {}, "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA=="], + "@types/rimraf": ["@types/rimraf@3.0.2", "", { "dependencies": { "@types/glob": "*", "@types/node": "*" } }, "sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ=="], + "@types/send": ["@types/send@0.17.4", "", { "dependencies": { "@types/mime": "^1", "@types/node": "*" } }, "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA=="], "@types/serve-static": ["@types/serve-static@1.15.7", "", { "dependencies": { "@types/http-errors": "*", "@types/node": "*", "@types/send": "*" } }, "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw=="], @@ -1591,6 +1611,8 @@ "acorn-import-attributes": ["acorn-import-attributes@1.9.5", "", { "peerDependencies": { "acorn": "^8" } }, "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ=="], + "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], + "agent-base": ["agent-base@7.1.3", "", {}, "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw=="], "agentkeepalive": ["agentkeepalive@4.6.0", "", { "dependencies": { "humanize-ms": "^1.2.1" } }, "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ=="], @@ -1633,6 +1655,8 @@ "arraybuffer.prototype.slice": ["arraybuffer.prototype.slice@1.0.4", "", { "dependencies": { "array-buffer-byte-length": "^1.0.1", "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "is-array-buffer": "^3.0.4" } }, "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ=="], + "arrify": ["arrify@2.0.1", "", {}, "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug=="], + "asn1": ["asn1@0.2.6", "", { "dependencies": { "safer-buffer": "~2.1.0" } }, "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ=="], "asn1js": ["asn1js@3.0.5", "", { "dependencies": { "pvtsutils": "^1.3.2", "pvutils": "^1.1.3", "tslib": "^2.4.0" } }, "sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ=="], @@ -1691,12 +1715,16 @@ "better-call": ["better-call@1.0.4", "", { "dependencies": { "@better-fetch/fetch": "^1.1.4", "rou3": "^0.5.1", "set-cookie-parser": "^2.7.1", "uncrypto": "^0.1.3" } }, "sha512-NdAihYdkS0IOz1mtz8mw1gWacCxR9r921U8YqB+VB6++rt8edMG13vVL16Y4TBL4XkjMK/DUewEsOOFkw9LJYQ=="], + "bignumber.js": ["bignumber.js@9.1.2", "", {}, "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug=="], + "binary-extensions": ["binary-extensions@2.3.0", "", {}, "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="], "bl": ["bl@4.1.0", "", { "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w=="], "block-stream": ["block-stream@0.0.9", "", { "dependencies": { "inherits": "~2.0.0" } }, "sha512-OorbnJVPII4DuUKbjARAe8u8EfqOmkEEaSFIyoQ7OjTHn6kafxWl0wLgoZ2rXaYd7MyLcDaU4TmhfxtwgcccMQ=="], + "bluebird": ["bluebird@3.7.2", "", {}, "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="], + "body-parser": ["body-parser@1.20.3", "", { "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", "destroy": "1.2.0", "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" } }, "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g=="], "bowser": ["bowser@2.11.0", "", {}, "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA=="], @@ -1735,9 +1763,11 @@ "caseless": ["caseless@0.12.0", "", {}, "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="], + "catharsis": ["catharsis@0.9.0", "", { "dependencies": { "lodash": "^4.17.15" } }, "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A=="], + "ccount": ["ccount@2.0.1", "", {}, "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="], - "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + "chalk": ["chalk@5.4.1", "", {}, "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w=="], "character-entities": ["character-entities@2.0.2", "", {}, "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ=="], @@ -1749,7 +1779,7 @@ "chardet": ["chardet@0.7.0", "", {}, "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="], - "chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], + "chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], "chromium-bidi": ["chromium-bidi@2.1.2", "", { "dependencies": { "mitt": "^3.0.1", "zod": "^3.24.1" }, "peerDependencies": { "devtools-protocol": "*" } }, "sha512-vtRWBK2uImo5/W2oG6/cDkkHSm+2t6VHgnj+Rcwhb0pP74OoUb4GipyRX/T/y39gYQPhioP0DPShn+A7P6CHNw=="], @@ -1787,9 +1817,7 @@ "comma-separated-tokens": ["comma-separated-tokens@2.0.3", "", {}, "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg=="], - "commander": ["commander@11.1.0", "", {}, "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ=="], - - "comp.ai": ["comp.ai@workspace:apps/app"], + "commander": ["commander@9.5.0", "", {}, "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ=="], "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], @@ -1937,6 +1965,8 @@ "deep-extend": ["deep-extend@0.6.0", "", {}, "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="], + "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], + "deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="], "default-browser": ["default-browser@5.2.1", "", { "dependencies": { "bundle-name": "^4.1.0", "default-browser-id": "^5.0.0" } }, "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg=="], @@ -2003,6 +2033,8 @@ "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], + "duplexify": ["duplexify@4.1.3", "", { "dependencies": { "end-of-stream": "^1.4.1", "inherits": "^2.0.3", "readable-stream": "^3.1.1", "stream-shift": "^1.0.2" } }, "sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA=="], + "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], "ecc-jsbn": ["ecc-jsbn@0.1.2", "", { "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw=="], @@ -2067,10 +2099,14 @@ "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], - "escodegen": ["escodegen@2.1.0", "", { "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", "esutils": "^2.0.2" }, "optionalDependencies": { "source-map": "~0.6.1" }, "bin": { "esgenerate": "bin/esgenerate.js", "escodegen": "bin/escodegen.js" } }, "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w=="], + "escodegen": ["escodegen@1.14.3", "", { "dependencies": { "esprima": "^4.0.1", "estraverse": "^4.2.0", "esutils": "^2.0.2", "optionator": "^0.8.1" }, "optionalDependencies": { "source-map": "~0.6.1" }, "bin": { "esgenerate": "bin/esgenerate.js", "escodegen": "bin/escodegen.js" } }, "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw=="], + + "eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], "esm-env": ["esm-env@1.2.2", "", {}, "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA=="], + "espree": ["espree@9.6.1", "", { "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^3.4.1" } }, "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ=="], + "esprima": ["esprima@4.0.1", "", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="], "esrap": ["esrap@1.4.5", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" } }, "sha512-CjNMjkBWWZeHn+VX+gS8YvFwJ5+NDhg8aWZBSFJPR8qQduDNjbJodA2WcwCm7uQa5Rjqj+nZvVmceg1RbHFB9g=="], @@ -2123,6 +2159,10 @@ "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="], + "fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="], + + "fast-text-encoding": ["fast-text-encoding@1.0.6", "", {}, "sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w=="], + "fast-xml-parser": ["fast-xml-parser@4.5.3", "", { "dependencies": { "strnum": "^1.1.1" }, "bin": { "fxparser": "src/cli/cli.js" } }, "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig=="], "fastq": ["fastq@1.19.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ=="], @@ -2137,7 +2177,7 @@ "figures": ["figures@3.2.0", "", { "dependencies": { "escape-string-regexp": "^1.0.5" } }, "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg=="], - "file-selector": ["file-selector@2.1.2", "", { "dependencies": { "tslib": "^2.7.0" } }, "sha512-QgXo+mXTe8ljeqUFaX3QVHc5osSItJ/Km+xpocx0aSqWGMSCf6qYs/VnzZgS864Pjn5iceMRFigeAV7AfTlaig=="], + "file-selector": ["file-selector@0.6.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw=="], "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], @@ -2193,6 +2233,10 @@ "gauge": ["gauge@2.7.4", "", { "dependencies": { "aproba": "^1.0.3", "console-control-strings": "^1.0.0", "has-unicode": "^2.0.0", "object-assign": "^4.1.0", "signal-exit": "^3.0.0", "string-width": "^1.0.1", "strip-ansi": "^3.0.1", "wide-align": "^1.1.0" } }, "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg=="], + "gaxios": ["gaxios@5.1.3", "", { "dependencies": { "extend": "^3.0.2", "https-proxy-agent": "^5.0.0", "is-stream": "^2.0.0", "node-fetch": "^2.6.9" } }, "sha512-95hVgBRgEIRQQQHIbnxBXeHbW4TqFk4ZDJW7wmVtvYar72FdhRIo1UGOLS2eRAKCPEdPBWu+M7+A33D9CdX9rA=="], + + "gcp-metadata": ["gcp-metadata@5.3.0", "", { "dependencies": { "gaxios": "^5.0.0", "json-bigint": "^1.0.0" } }, "sha512-FNTkdNEnBdlqF2oatizolQqNANMrcqJt6AAYt99B3y1aLLC8Hc5IOBb+ZnnzllodEEf6xMBp6wRcBbc16fa65w=="], + "geist": ["geist@1.3.1", "", { "peerDependencies": { "next": ">=13.2.0" } }, "sha512-Q4gC1pBVPN+D579pBaz0TRRnGA4p9UK6elDY/xizXdFk/g4EKR5g0I+4p/Kj6gM0SajDBZ/0FvDV9ey9ud7BWw=="], "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="], @@ -2229,6 +2273,12 @@ "globalthis": ["globalthis@1.0.4", "", { "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" } }, "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ=="], + "google-auth-library": ["google-auth-library@8.9.0", "", { "dependencies": { "arrify": "^2.0.0", "base64-js": "^1.3.0", "ecdsa-sig-formatter": "^1.0.11", "fast-text-encoding": "^1.0.0", "gaxios": "^5.0.0", "gcp-metadata": "^5.3.0", "gtoken": "^6.1.0", "jws": "^4.0.0", "lru-cache": "^6.0.0" } }, "sha512-f7aQCJODJFmYWN6PeNKzgvy9LI2tYmXnzpNDHEjG5sDNPgGb2FXQyTBnXeSH+PAtpKESFD+LmHw3Ox3mN7e1Fg=="], + + "google-gax": ["google-gax@3.6.1", "", { "dependencies": { "@grpc/grpc-js": "~1.8.0", "@grpc/proto-loader": "^0.7.0", "@types/long": "^4.0.0", "@types/rimraf": "^3.0.2", "abort-controller": "^3.0.0", "duplexify": "^4.0.0", "fast-text-encoding": "^1.0.3", "google-auth-library": "^8.0.2", "is-stream-ended": "^0.1.4", "node-fetch": "^2.6.1", "object-hash": "^3.0.0", "proto3-json-serializer": "^1.0.0", "protobufjs": "7.2.4", "protobufjs-cli": "1.1.1", "retry-request": "^5.0.0" }, "bin": { "compileProtos": "build/tools/compileProtos.js", "minifyProtoJson": "build/tools/minify.js" } }, "sha512-g/lcUjGcB6DSw2HxgEmCDOrI/CByOwqRvsuUvNalHUK2iPPPlmAIpbMbl62u0YufGMr8zgE3JL7th6dCb1Ry+w=="], + + "google-p12-pem": ["google-p12-pem@4.0.1", "", { "dependencies": { "node-forge": "^1.3.1" }, "bin": { "gp12-pem": "build/src/bin/gp12-pem.js" } }, "sha512-WPkN4yGtz05WZ5EhtlxNDWPhC4JIic6G8ePitwUWy4l+XPVYec+a0j0Ts47PDtW59y3RwAhUd9/h9ZZ63px6RQ=="], + "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], @@ -2237,6 +2287,8 @@ "gray-matter": ["gray-matter@4.0.3", "", { "dependencies": { "js-yaml": "^3.13.1", "kind-of": "^6.0.2", "section-matter": "^1.0.0", "strip-bom-string": "^1.0.0" } }, "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q=="], + "gtoken": ["gtoken@6.1.2", "", { "dependencies": { "gaxios": "^5.0.1", "google-p12-pem": "^4.0.0", "jws": "^4.0.0" } }, "sha512-4ccGpzz7YAr7lxrT2neugmXQ3hP9ho2gcaityLVkiUecAiwiy60Ii8gRbZeOsXV19fYaRjgBSshs8kXw+NKCPQ=="], + "handlebars": ["handlebars@4.7.8", "", { "dependencies": { "minimist": "^1.2.5", "neo-async": "^2.6.2", "source-map": "^0.6.1", "wordwrap": "^1.0.0" }, "optionalDependencies": { "uglify-js": "^3.1.4" }, "bin": { "handlebars": "bin/handlebars" } }, "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ=="], "har-schema": ["har-schema@2.0.0", "", {}, "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q=="], @@ -2399,6 +2451,8 @@ "is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="], + "is-stream-ended": ["is-stream-ended@0.1.4", "", {}, "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw=="], + "is-string": ["is-string@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" } }, "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA=="], "is-symbol": ["is-symbol@1.1.1", "", { "dependencies": { "call-bound": "^1.0.2", "has-symbols": "^1.1.0", "safe-regex-test": "^1.1.0" } }, "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w=="], @@ -2449,12 +2503,18 @@ "js-yaml": ["js-yaml@3.14.1", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g=="], + "js2xmlparser": ["js2xmlparser@4.0.2", "", { "dependencies": { "xmlcreate": "^2.0.4" } }, "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA=="], + "jsbn": ["jsbn@0.1.1", "", {}, "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg=="], + "jsdoc": ["jsdoc@4.0.4", "", { "dependencies": { "@babel/parser": "^7.20.15", "@jsdoc/salty": "^0.2.1", "@types/markdown-it": "^14.1.1", "bluebird": "^3.7.2", "catharsis": "^0.9.0", "escape-string-regexp": "^2.0.0", "js2xmlparser": "^4.0.2", "klaw": "^3.0.0", "markdown-it": "^14.1.0", "markdown-it-anchor": "^8.6.7", "marked": "^4.0.10", "mkdirp": "^1.0.4", "requizzle": "^0.2.3", "strip-json-comments": "^3.1.0", "underscore": "~1.13.2" }, "bin": { "jsdoc": "./jsdoc.js" } }, "sha512-zeFezwyXeG4syyYHbvh1A967IAqq/67yXtXvuL5wnqCkFZe8I0vKfm+EO+YEvLguo6w9CDUbrAXVtJSHh2E8rw=="], + "jsdom": ["jsdom@26.0.0", "", { "dependencies": { "cssstyle": "^4.2.1", "data-urls": "^5.0.0", "decimal.js": "^10.4.3", "form-data": "^4.0.1", "html-encoding-sniffer": "^4.0.0", "http-proxy-agent": "^7.0.2", "https-proxy-agent": "^7.0.6", "is-potential-custom-element-name": "^1.0.1", "nwsapi": "^2.2.16", "parse5": "^7.2.1", "rrweb-cssom": "^0.8.0", "saxes": "^6.0.0", "symbol-tree": "^3.2.4", "tough-cookie": "^5.0.0", "w3c-xmlserializer": "^5.0.0", "webidl-conversions": "^7.0.0", "whatwg-encoding": "^3.1.1", "whatwg-mimetype": "^4.0.0", "whatwg-url": "^14.1.0", "ws": "^8.18.0", "xml-name-validator": "^5.0.0" }, "peerDependencies": { "canvas": "^3.0.0" }, "optionalPeers": ["canvas"] }, "sha512-BZYDGVAIriBWTpIxYzrXjv3E/4u8+/pSG5bQdIYCbNCGOvsPkDQfTVLAIXAf9ETdCpduCVTkDe2NNZ8NIwUVzw=="], "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], + "json-bigint": ["json-bigint@1.0.0", "", { "dependencies": { "bignumber.js": "^9.0.0" } }, "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ=="], + "json-schema": ["json-schema@0.4.0", "", {}, "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="], "json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], @@ -2491,6 +2551,8 @@ "kind-of": ["kind-of@6.0.3", "", {}, "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="], + "klaw": ["klaw@3.0.0", "", { "dependencies": { "graceful-fs": "^4.1.9" } }, "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g=="], + "kleur": ["kleur@3.0.3", "", {}, "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="], "ky": ["ky@1.7.5", "", {}, "sha512-HzhziW6sc5m0pwi5M196+7cEBtbt0lCYi67wNsiwMUmz833wloE0gbzJPWKs1gliFKQb34huItDQX97LyOdPdA=="], @@ -2501,6 +2563,8 @@ "leac": ["leac@0.6.0", "", {}, "sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg=="], + "levn": ["levn@0.3.0", "", { "dependencies": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" } }, "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA=="], + "lightningcss": ["lightningcss@1.29.2", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-darwin-arm64": "1.29.2", "lightningcss-darwin-x64": "1.29.2", "lightningcss-freebsd-x64": "1.29.2", "lightningcss-linux-arm-gnueabihf": "1.29.2", "lightningcss-linux-arm64-gnu": "1.29.2", "lightningcss-linux-arm64-musl": "1.29.2", "lightningcss-linux-x64-gnu": "1.29.2", "lightningcss-linux-x64-musl": "1.29.2", "lightningcss-win32-arm64-msvc": "1.29.2", "lightningcss-win32-x64-msvc": "1.29.2" } }, "sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA=="], "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.29.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA=="], @@ -2571,7 +2635,7 @@ "lowlight": ["lowlight@3.3.0", "", { "dependencies": { "@types/hast": "^3.0.0", "devlop": "^1.0.0", "highlight.js": "~11.11.0" } }, "sha512-0JNhgFoPvP6U6lE/UdVsSq99tn6DhjjpAj5MxG49ewd2mOBVtwWYIT8ClyABhq198aXXODMU6Ox8DrGy/CpTZQ=="], - "lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], + "lru-cache": ["lru-cache@7.18.3", "", {}, "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA=="], "lucide-react": ["lucide-react@0.447.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc" } }, "sha512-SZ//hQmvi+kDKrNepArVkYK7/jfeZ5uFNEnYmd45RKZcbGD78KLnrcNXmgeg6m+xNHFvTG+CblszXCy4n6DN4w=="], @@ -2581,6 +2645,8 @@ "markdown-it": ["markdown-it@14.1.0", "", { "dependencies": { "argparse": "^2.0.1", "entities": "^4.4.0", "linkify-it": "^5.0.0", "mdurl": "^2.0.0", "punycode.js": "^2.3.1", "uc.micro": "^2.1.0" }, "bin": { "markdown-it": "bin/markdown-it.mjs" } }, "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg=="], + "markdown-it-anchor": ["markdown-it-anchor@8.6.7", "", { "peerDependencies": { "@types/markdown-it": "*", "markdown-it": "*" } }, "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA=="], + "markdown-it-task-lists": ["markdown-it-task-lists@2.1.1", "", {}, "sha512-TxFAc76Jnhb2OUu+n3yz9RMu4CwGfaT788br6HhEDlvWfdeJcLUsxk1Hgw2yJio0OXsxv7pyIPmvECY7bMbluA=="], "markdown-table": ["markdown-table@3.0.4", "", {}, "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw=="], @@ -2759,6 +2825,8 @@ "node-fetch": ["node-fetch@2.7.0", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A=="], + "node-forge": ["node-forge@1.3.1", "", {}, "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA=="], + "node-gyp": ["node-gyp@3.8.0", "", { "dependencies": { "fstream": "^1.0.0", "glob": "^7.0.3", "graceful-fs": "^4.1.2", "mkdirp": "^0.5.0", "nopt": "2 || 3", "npmlog": "0 || 1 || 2 || 3 || 4", "osenv": "0", "request": "^2.87.0", "rimraf": "2", "semver": "~5.3.0", "tar": "^2.0.0", "which": "1" }, "bin": { "node-gyp": "./bin/node-gyp.js" } }, "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA=="], "node-gyp-build": ["node-gyp-build@4.8.4", "", { "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", "node-gyp-build-test": "build-test.js" } }, "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ=="], @@ -2809,6 +2877,8 @@ "open": ["open@10.1.0", "", { "dependencies": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", "is-inside-container": "^1.0.0", "is-wsl": "^3.1.0" } }, "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw=="], + "optionator": ["optionator@0.8.3", "", { "dependencies": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", "levn": "~0.3.0", "prelude-ls": "~1.1.2", "type-check": "~0.3.2", "word-wrap": "~1.2.3" } }, "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA=="], + "ora": ["ora@5.4.1", "", { "dependencies": { "bl": "^4.1.0", "chalk": "^4.1.0", "cli-cursor": "^3.1.0", "cli-spinners": "^2.5.0", "is-interactive": "^1.0.0", "is-unicode-supported": "^0.1.0", "log-symbols": "^4.1.0", "strip-ansi": "^6.0.0", "wcwidth": "^1.0.1" } }, "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ=="], "orderedmap": ["orderedmap@2.1.1", "", {}, "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g=="], @@ -2899,7 +2969,7 @@ "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], - "picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + "picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="], "pify": ["pify@2.3.0", "", {}, "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="], @@ -2927,7 +2997,7 @@ "postcss-nested": ["postcss-nested@6.2.0", "", { "dependencies": { "postcss-selector-parser": "^6.1.1" }, "peerDependencies": { "postcss": "^8.2.14" } }, "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ=="], - "postcss-selector-parser": ["postcss-selector-parser@6.0.10", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w=="], + "postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="], "postcss-value-parser": ["postcss-value-parser@4.2.0", "", {}, "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="], @@ -2947,10 +3017,12 @@ "preact": ["preact@10.26.4", "", {}, "sha512-KJhO7LBFTjP71d83trW+Ilnjbo+ySsaAgCfXOXUlmGzJ4ygYPWmysm77yg4emwfmoz3b22yvH5IsVFHbhUaH5w=="], - "preact-render-to-string": ["preact-render-to-string@6.5.11", "", { "peerDependencies": { "preact": ">=10" } }, "sha512-ubnauqoGczeGISiOh6RjX0/cdaF8v/oDXIjO85XALCQjwQP+SB4RDXXtvZ6yTYSjG+PC1QRP2AhPgCEsM2EvUw=="], + "preact-render-to-string": ["preact-render-to-string@5.2.3", "", { "dependencies": { "pretty-format": "^3.8.0" }, "peerDependencies": { "preact": ">=10" } }, "sha512-aPDxUn5o3GhWdtJtW0svRC2SS/l8D9MAgo2+AWml+BhDImb27ALf04Q2d+AHqUUOc6RdSXFIBVa2gxzgMKgtZA=="], "preferred-pm": ["preferred-pm@4.1.1", "", { "dependencies": { "find-up-simple": "^1.0.0", "find-yarn-workspace-root2": "1.2.16", "which-pm": "^3.0.1" } }, "sha512-rU+ZAv1Ur9jAUZtGPebQVQPzdGhNzaEiQ7VL9+cjsAWPHFYOccNXPNiev1CCDSOg/2j7UujM7ojNhpkuILEVNQ=="], + "prelude-ls": ["prelude-ls@1.1.2", "", {}, "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w=="], + "prettier": ["prettier@3.3.3", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew=="], "pretty": ["pretty@2.0.0", "", { "dependencies": { "condense-newlines": "^0.2.1", "extend-shallow": "^2.0.1", "js-beautify": "^1.6.12" } }, "sha512-G9xUchgTEiNpormdYBl+Pha50gOUovT18IvAe7EYMZ1/f9W/WWMPRn+xI68yXNMUk3QXHDwo/1wV/4NejVNe1w=="], @@ -3015,7 +3087,11 @@ "proto-list": ["proto-list@1.2.4", "", {}, "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA=="], - "protobufjs": ["protobufjs@7.4.0", "", { "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", "@protobufjs/codegen": "^2.0.4", "@protobufjs/eventemitter": "^1.1.0", "@protobufjs/fetch": "^1.1.0", "@protobufjs/float": "^1.0.2", "@protobufjs/inquire": "^1.1.0", "@protobufjs/path": "^1.1.2", "@protobufjs/pool": "^1.1.0", "@protobufjs/utf8": "^1.1.0", "@types/node": ">=13.7.0", "long": "^5.0.0" } }, "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw=="], + "proto3-json-serializer": ["proto3-json-serializer@1.1.1", "", { "dependencies": { "protobufjs": "^7.0.0" } }, "sha512-AwAuY4g9nxx0u52DnSMkqqgyLHaW/XaPLtaAo3y/ZCfeaQB/g4YDH4kb8Wc/mWzWvu0YjOznVnfn373MVZZrgw=="], + + "protobufjs": ["protobufjs@7.2.4", "", { "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", "@protobufjs/codegen": "^2.0.4", "@protobufjs/eventemitter": "^1.1.0", "@protobufjs/fetch": "^1.1.0", "@protobufjs/float": "^1.0.2", "@protobufjs/inquire": "^1.1.0", "@protobufjs/path": "^1.1.2", "@protobufjs/pool": "^1.1.0", "@protobufjs/utf8": "^1.1.0", "@types/node": ">=13.7.0", "long": "^5.0.0" } }, "sha512-AT+RJgD2sH8phPmCf7OUZR8xGdcJRga4+1cOaXJ64hvcSkVhNcRHOwIxUatPH15+nj59WAGTDv3LSGZPEQbJaQ=="], + + "protobufjs-cli": ["protobufjs-cli@1.1.1", "", { "dependencies": { "chalk": "^4.0.0", "escodegen": "^1.13.0", "espree": "^9.0.0", "estraverse": "^5.1.0", "glob": "^8.0.0", "jsdoc": "^4.0.0", "minimist": "^1.2.0", "semver": "^7.1.2", "tmp": "^0.2.1", "uglify-js": "^3.7.7" }, "peerDependencies": { "protobufjs": "^7.0.0" }, "bin": { "pbjs": "bin/pbjs", "pbts": "bin/pbts" } }, "sha512-VPWMgIcRNyQwWUv8OLPyGQ/0lQY/QTQAVN5fh+XzfDwsVw1FZ2L3DM/bcBf8WPiRz2tNpaov9lPZfNcmNo6LXA=="], "proxy-addr": ["proxy-addr@2.0.7", "", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="], @@ -3109,7 +3185,7 @@ "readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="], - "readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], + "readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="], "recharts": ["recharts@2.15.1", "", { "dependencies": { "clsx": "^2.0.0", "eventemitter3": "^4.0.1", "lodash": "^4.17.21", "react-is": "^18.3.1", "react-smooth": "^4.0.4", "recharts-scale": "^0.4.4", "tiny-invariant": "^1.3.1", "victory-vendor": "^36.6.8" }, "peerDependencies": { "react": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-v8PUTUlyiDe56qUj82w/EDVuzEFXwEHp9/xOowGAZwfLjB9uAy3GllQVIYMWF6nU+qibx85WF75zD7AjqoT54Q=="], @@ -3139,6 +3215,8 @@ "require-in-the-middle": ["require-in-the-middle@7.5.2", "", { "dependencies": { "debug": "^4.3.5", "module-details-from-path": "^1.0.3", "resolve": "^1.22.8" } }, "sha512-gAZ+kLqBdHarXB64XpAe2VCjB7rIRv+mU8tfRWziHRJ5umKsIHN2tLLv6EtMw7WCdP19S0ERVMldNvxYCHnhSQ=="], + "requizzle": ["requizzle@0.2.4", "", { "dependencies": { "lodash": "^4.17.21" } }, "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw=="], + "resend": ["resend@4.1.2", "", { "dependencies": { "@react-email/render": "1.0.1" } }, "sha512-km0btrAj/BqIaRlS+SoLNMaCAUUWEgcEvZpycfVvoXEwAHCxU+vp/ikxPgKRkyKyiR2iDcdUq5uIBTDK9oSSSQ=="], "resolve": ["resolve@1.22.10", "", { "dependencies": { "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w=="], @@ -3149,6 +3227,8 @@ "retry": ["retry@0.13.1", "", {}, "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg=="], + "retry-request": ["retry-request@5.0.2", "", { "dependencies": { "debug": "^4.1.1", "extend": "^3.0.2" } }, "sha512-wfI3pk7EE80lCIXprqh7ym48IHYdwmAAzESdbU8Q9l7pnRCk9LEhpbOTNKjz6FARLm/Bl5m+4F0ABxOkYUujSQ=="], + "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], "rimraf": ["rimraf@2.7.1", "", { "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "./bin.js" } }, "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w=="], @@ -3293,6 +3373,8 @@ "stoppable": ["stoppable@1.1.0", "", {}, "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw=="], + "stream-shift": ["stream-shift@1.0.3", "", {}, "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ=="], + "streamsearch": ["streamsearch@1.1.0", "", {}, "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg=="], "streamx": ["streamx@2.22.0", "", { "dependencies": { "fast-fifo": "^1.3.2", "text-decoder": "^1.1.0" }, "optionalDependencies": { "bare-events": "^2.2.0" } }, "sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw=="], @@ -3453,6 +3535,8 @@ "tweetnacl": ["tweetnacl@0.14.5", "", {}, "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="], + "type-check": ["type-check@0.3.2", "", { "dependencies": { "prelude-ls": "~1.1.2" } }, "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg=="], + "type-fest": ["type-fest@4.32.0", "", {}, "sha512-rfgpoi08xagF3JSdtJlCwMq9DGNDE0IMh3Mkpc1wUypg9vPi786AiqeBBKcqvIkq42azsBM85N490fyZjeUftw=="], "type-is": ["type-is@1.6.18", "", { "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" } }, "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g=="], @@ -3483,6 +3567,8 @@ "uncrypto": ["uncrypto@0.1.3", "", {}, "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q=="], + "underscore": ["underscore@1.13.7", "", {}, "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g=="], + "undici-types": ["undici-types@6.20.0", "", {}, "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="], "unified": ["unified@11.0.5", "", { "dependencies": { "@types/unist": "^3.0.0", "bail": "^2.0.0", "devlop": "^1.0.0", "extend": "^3.0.0", "is-plain-obj": "^4.0.0", "trough": "^2.0.0", "vfile": "^6.0.0" } }, "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA=="], @@ -3587,6 +3673,8 @@ "wide-align": ["wide-align@1.1.5", "", { "dependencies": { "string-width": "^1.0.2 || 2 || 3 || 4" } }, "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg=="], + "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="], + "wordwrap": ["wordwrap@1.0.0", "", {}, "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q=="], "wordwrapjs": ["wordwrapjs@5.1.0", "", {}, "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg=="], @@ -3615,6 +3703,8 @@ "xmlchars": ["xmlchars@2.2.0", "", {}, "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="], + "xmlcreate": ["xmlcreate@2.0.4", "", {}, "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg=="], + "xmlhttprequest-ssl": ["xmlhttprequest-ssl@2.0.0", "", {}, "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A=="], "xtend": ["xtend@4.0.2", "", {}, "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="], @@ -3647,9 +3737,7 @@ "zwitch": ["zwitch@2.0.4", "", {}, "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A=="], - "@ai-sdk/openai/@ai-sdk/provider": ["@ai-sdk/provider@0.0.24", "", { "dependencies": { "json-schema": "0.4.0" } }, "sha512-XMsNGJdGO+L0cxhhegtqZ8+T6nn4EoShS819OvCgI2kLbYTIvk0GWFGD0AXJmxkxs3DrpsJxKAFukFR7bvTkgQ=="], - - "@ai-sdk/openai/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@1.0.20", "", { "dependencies": { "@ai-sdk/provider": "0.0.24", "eventsource-parser": "1.1.2", "nanoid": "3.3.6", "secure-json-parse": "2.7.0" }, "peerDependencies": { "zod": "^3.0.0" }, "optionalPeers": ["zod"] }, "sha512-ngg/RGpnA00eNOWEtXHenpX1MsM2QshQh4QJFjUfwcqHpM5kTfG7je7Rc3HcEDP+OkRVv2GF+X4fC1Vfcnl8Ow=="], + "@ai-sdk/openai/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@2.1.13", "", { "dependencies": { "@ai-sdk/provider": "1.0.11", "eventsource-parser": "^3.0.0", "nanoid": "^3.3.8", "secure-json-parse": "^2.7.0" }, "peerDependencies": { "zod": "^3.0.0" }, "optionalPeers": ["zod"] }, "sha512-kLjqsfOdONr6DGcGEntFYM1niXz1H05vyZNf9OAzK+KKKc64izyP4/q/9HX7W4+6g8hm6BnmKxu8vkr6FSOqDg=="], "@ai-sdk/provider-utils/@ai-sdk/provider": ["@ai-sdk/provider@0.0.26", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg=="], @@ -3663,9 +3751,9 @@ "@asamuzakjp/css-color/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], - "@auth/core/jose": ["jose@6.0.8", "", {}, "sha512-EyUPtOKyTYq+iMOszO42eobQllaIjJnwkZ2U93aJzNyPibCy7CEvT9UQnaCVB51IAd49gbNdCew1c0LcLTCB2g=="], + "@auth/core/preact": ["preact@10.11.3", "", {}, "sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg=="], - "@auth/core/preact": ["preact@10.24.3", "", {}, "sha512-Z2dPnBnMUfyQfSQ+GBdsGa16hz35YmLmtTLhM169uW944hYL6xzTYkJjC07j+Wosz733pMWx0fgON3JNw1jJQA=="], + "@auth/prisma-adapter/@auth/core": ["@auth/core@0.38.0", "", { "dependencies": { "@panva/hkdf": "^1.2.1", "jose": "^6.0.6", "oauth4webapi": "^3.3.0", "preact": "10.24.3", "preact-render-to-string": "6.5.11" }, "peerDependencies": { "@simplewebauthn/browser": "^9.0.1", "@simplewebauthn/server": "^9.0.2", "nodemailer": "^6.8.0" }, "optionalPeers": ["@simplewebauthn/browser", "@simplewebauthn/server", "nodemailer"] }, "sha512-ClHl44x4cY3wfJmHLpW+XrYqED0fZIzbHmwbExltzroCjR5ts3DLTWzADRba8mJFYZ8JIEJDa+lXnGl0E9Bl7Q=="], "@aws-crypto/sha1-browser/@smithy/util-utf8": ["@smithy/util-utf8@2.3.0", "", { "dependencies": { "@smithy/util-buffer-from": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A=="], @@ -3701,6 +3789,8 @@ "@babel/generator/@babel/parser": ["@babel/parser@7.26.9", "", { "dependencies": { "@babel/types": "^7.26.9" }, "bin": "./bin/babel-parser.js" }, "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A=="], + "@babel/helper-compilation-targets/lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], + "@babel/helper-compilation-targets/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "@babel/template/@babel/parser": ["@babel/parser@7.26.9", "", { "dependencies": { "@babel/types": "^7.26.9" }, "bin": "./bin/babel-parser.js" }, "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A=="], @@ -3709,10 +3799,18 @@ "@browserbasehq/sdk/@types/node": ["@types/node@18.19.79", "", { "dependencies": { "undici-types": "~5.26.4" } }, "sha512-90K8Oayimbctc5zTPHPfZloc/lGVs7f3phUAAMcTgEPtg8kKquGZDERC8K4vkBYkQQh48msiYUslYtxTWvqcAg=="], + "@bubba/app/ai": ["ai@4.1.61", "", { "dependencies": { "@ai-sdk/provider": "1.0.11", "@ai-sdk/provider-utils": "2.1.13", "@ai-sdk/react": "1.1.23", "@ai-sdk/ui-utils": "1.1.19", "@opentelemetry/api": "1.9.0", "eventsource-parser": "^3.0.0", "jsondiffpatch": "0.6.0" }, "peerDependencies": { "react": "^18 || ^19 || ^19.0.0-rc", "zod": "^3.0.0" }, "optionalPeers": ["react", "zod"] }, "sha512-Y9SAyGJEeW23F6C7PSHZXYNEvbH2cqJm0rVW2AoeFaXFT13ttx8rAqs8wz2w466C1UB329yl5PXayFcHqofSEA=="], + + "@bubba/app/typescript": ["typescript@5.8.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ=="], + "@bubba/db/typescript": ["typescript@5.8.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ=="], "@bubba/email/typescript": ["typescript@5.8.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ=="], + "@bubba/integrations/@ai-sdk/openai": ["@ai-sdk/openai@0.0.66", "", { "dependencies": { "@ai-sdk/provider": "0.0.24", "@ai-sdk/provider-utils": "1.0.20" }, "peerDependencies": { "zod": "^3.0.0" } }, "sha512-V4XeDnlNl5/AY3GB3ozJUjqnBLU5pK3DacKTbCNH3zH8/MggJoH6B8wRGdLUPVFMcsMz60mtvh4DC9JsIVFrKw=="], + + "@bubba/integrations/@azure/identity": ["@azure/identity@3.4.2", "", { "dependencies": { "@azure/abort-controller": "^1.0.0", "@azure/core-auth": "^1.5.0", "@azure/core-client": "^1.4.0", "@azure/core-rest-pipeline": "^1.1.0", "@azure/core-tracing": "^1.0.0", "@azure/core-util": "^1.6.1", "@azure/logger": "^1.0.0", "@azure/msal-browser": "^3.5.0", "@azure/msal-node": "^2.5.1", "events": "^3.0.0", "jws": "^4.0.0", "open": "^8.0.0", "stoppable": "^1.1.0", "tslib": "^2.2.0" } }, "sha512-0q5DL4uyR0EZ4RXQKD8MadGH6zTIcloUoS/RVbCpNpej4pwte0xpqYxk8K97Py2RiuUvI7F4GXpoT4046VfufA=="], + "@bubba/integrations/typescript": ["typescript@5.8.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ=="], "@bubba/notifications/typescript": ["typescript@5.8.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ=="], @@ -3723,6 +3821,8 @@ "@formatjs/ecma402-abstract/@formatjs/intl-localematcher": ["@formatjs/intl-localematcher@0.6.0", "", { "dependencies": { "tslib": "2" } }, "sha512-4rB4g+3hESy1bHSBG3tDFaMY2CH67iT7yne1e+0CLTsGLDcmoEWWpJjjpWVaYgYfYuohIRuo0E+N536gd2ZHZA=="], + "@grpc/proto-loader/protobufjs": ["protobufjs@7.4.0", "", { "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", "@protobufjs/codegen": "^2.0.4", "@protobufjs/eventemitter": "^1.1.0", "@protobufjs/fetch": "^1.1.0", "@protobufjs/float": "^1.0.2", "@protobufjs/inquire": "^1.1.0", "@protobufjs/path": "^1.1.2", "@protobufjs/pool": "^1.1.0", "@protobufjs/utf8": "^1.1.0", "@types/node": ">=13.7.0", "long": "^5.0.0" } }, "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw=="], + "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], "@isaacs/cliui/strip-ansi": ["strip-ansi@7.1.0", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ=="], @@ -3743,8 +3843,14 @@ "@novu/ntfr-client/zod": ["zod@3.22.3", "", {}, "sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug=="], + "@opentelemetry/exporter-trace-otlp-grpc/@grpc/grpc-js": ["@grpc/grpc-js@1.12.6", "", { "dependencies": { "@grpc/proto-loader": "^0.7.13", "@js-sdsl/ordered-map": "^4.4.2" } }, "sha512-JXUj6PI0oqqzTGvKtzOkxtpsyPRNsrmhh41TtIz/zEB6J+AUiZZ0dxWzcMwO9Ns5rmSPuMdghlTbUuqIM48d3Q=="], + "@opentelemetry/instrumentation/@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.57.2", "", { "dependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-uIX52NnTM0iBh84MShlpouI7UKqkZ7MrUszTmaypHBu4r7NofznSnQRfJ+uUeDtQDj6w8eFGg5KBLDAwAPz1+A=="], + "@opentelemetry/otlp-grpc-exporter-base/@grpc/grpc-js": ["@grpc/grpc-js@1.12.6", "", { "dependencies": { "@grpc/proto-loader": "^0.7.13", "@js-sdsl/ordered-map": "^4.4.2" } }, "sha512-JXUj6PI0oqqzTGvKtzOkxtpsyPRNsrmhh41TtIz/zEB6J+AUiZZ0dxWzcMwO9Ns5rmSPuMdghlTbUuqIM48d3Q=="], + + "@opentelemetry/otlp-transformer/protobufjs": ["protobufjs@7.4.0", "", { "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", "@protobufjs/codegen": "^2.0.4", "@protobufjs/eventemitter": "^1.1.0", "@protobufjs/fetch": "^1.1.0", "@protobufjs/float": "^1.0.2", "@protobufjs/inquire": "^1.1.0", "@protobufjs/path": "^1.1.2", "@protobufjs/pool": "^1.1.0", "@protobufjs/utf8": "^1.1.0", "@types/node": ">=13.7.0", "long": "^5.0.0" } }, "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw=="], + "@opentelemetry/sdk-node/@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.52.1", "", { "dependencies": { "@opentelemetry/api-logs": "0.52.1", "@types/shimmer": "^1.0.2", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1", "semver": "^7.5.2", "shimmer": "^1.2.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw=="], "@pnpm/network.ca-file/graceful-fs": ["graceful-fs@4.2.10", "", {}, "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="], @@ -3785,6 +3891,8 @@ "@tailwindcss/postcss/tailwindcss": ["tailwindcss@4.0.13", "", {}, "sha512-gbvFrB0fOsTv/OugXWi2PtflJ4S6/ctu6Mmn3bCftmLY/6xRsQVEJPgIIpABwpZ52DpONkCA3bEj5b54MHxF2Q=="], + "@tailwindcss/typography/postcss-selector-parser": ["postcss-selector-parser@6.0.10", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w=="], + "@tanstack/react-query/@tanstack/query-core": ["@tanstack/query-core@5.68.0", "", {}, "sha512-r8rFYYo8/sY/LNaOqX84h12w7EQev4abFXDWy4UoDVUJzJ5d9Fbmb8ayTi7ScG+V0ap44SF3vNs/45mkzDGyGw=="], "@trigger.dev/core/@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.52.1", "", { "dependencies": { "@opentelemetry/api-logs": "0.52.1", "@types/shimmer": "^1.0.2", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1", "semver": "^7.5.2", "shimmer": "^1.2.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw=="], @@ -3797,8 +3905,6 @@ "@trigger.dev/core/zod": ["zod@3.23.8", "", {}, "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g=="], - "@trigger.dev/sdk/chalk": ["chalk@5.4.1", "", {}, "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w=="], - "@trigger.dev/sdk/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="], "@types/body-parser/@types/node": ["@types/node@22.13.9", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw=="], @@ -3833,8 +3939,6 @@ "@types/yauzl/@types/node": ["@types/node@22.13.9", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw=="], - "@uploadthing/react/file-selector": ["file-selector@0.6.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw=="], - "@vue/compiler-core/@babel/parser": ["@babel/parser@7.26.9", "", { "dependencies": { "@babel/types": "^7.26.9" }, "bin": "./bin/babel-parser.js" }, "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A=="], "@vue/compiler-sfc/@babel/parser": ["@babel/parser@7.26.9", "", { "dependencies": { "@babel/types": "^7.26.9" }, "bin": "./bin/babel-parser.js" }, "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A=="], @@ -3847,6 +3951,8 @@ "ansi-escapes/type-fest": ["type-fest@1.4.0", "", {}, "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA=="], + "anymatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + "are-we-there-yet/readable-stream": ["readable-stream@2.3.8", "", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA=="], "bl/buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="], @@ -3859,6 +3965,8 @@ "body-parser/qs": ["qs@6.13.0", "", { "dependencies": { "side-channel": "^1.0.6" } }, "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg=="], + "chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], + "cliui/wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], "cmdk/@radix-ui/react-dialog": ["@radix-ui/react-dialog@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/primitive": "1.0.0", "@radix-ui/react-compose-refs": "1.0.0", "@radix-ui/react-context": "1.0.0", "@radix-ui/react-dismissable-layer": "1.0.0", "@radix-ui/react-focus-guards": "1.0.0", "@radix-ui/react-focus-scope": "1.0.0", "@radix-ui/react-id": "1.0.0", "@radix-ui/react-portal": "1.0.0", "@radix-ui/react-presence": "1.0.0", "@radix-ui/react-primitive": "1.0.0", "@radix-ui/react-slot": "1.0.0", "@radix-ui/react-use-controllable-state": "1.0.0", "aria-hidden": "^1.1.1", "react-remove-scroll": "2.5.4" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0", "react-dom": "^16.8 || ^17.0 || ^18.0" } }, "sha512-Yn9YU+QlHYLWwV1XfKiqnGVpWYWk6MeBVM6x/bcoyPvxgjQGoeT35482viLPctTMWoMw0PoHgqfSox7Ig+957Q=="], @@ -3867,18 +3975,16 @@ "cmdk/react-dom": ["react-dom@18.2.0", "", { "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.0" }, "peerDependencies": { "react": "^18.2.0" } }, "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g=="], - "comp.ai/@ai-sdk/openai": ["@ai-sdk/openai@1.2.5", "", { "dependencies": { "@ai-sdk/provider": "1.0.11", "@ai-sdk/provider-utils": "2.1.13" }, "peerDependencies": { "zod": "^3.0.0" } }, "sha512-COK7LzspgQQh5Yq070xfDdVMvp8WX592rXRaMaYNNqu1xpzahxDcM24aF9xgKYWuYH0UMoOw4UmWGwGxr6ygIg=="], - - "comp.ai/ai": ["ai@4.1.61", "", { "dependencies": { "@ai-sdk/provider": "1.0.11", "@ai-sdk/provider-utils": "2.1.13", "@ai-sdk/react": "1.1.23", "@ai-sdk/ui-utils": "1.1.19", "@opentelemetry/api": "1.9.0", "eventsource-parser": "^3.0.0", "jsondiffpatch": "0.6.0" }, "peerDependencies": { "react": "^18 || ^19 || ^19.0.0-rc", "zod": "^3.0.0" }, "optionalPeers": ["react", "zod"] }, "sha512-Y9SAyGJEeW23F6C7PSHZXYNEvbH2cqJm0rVW2AoeFaXFT13ttx8rAqs8wz2w466C1UB329yl5PXayFcHqofSEA=="], - - "comp.ai/typescript": ["typescript@5.8.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ=="], - "condense-newlines/kind-of": ["kind-of@3.2.2", "", { "dependencies": { "is-buffer": "^1.1.5" } }, "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ=="], "d3-dsv/commander": ["commander@7.2.0", "", {}, "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="], "data-urls/whatwg-url": ["whatwg-url@14.1.1", "", { "dependencies": { "tr46": "^5.0.0", "webidl-conversions": "^7.0.0" } }, "sha512-mDGf9diDad/giZ/Sm9Xi2YcyzaFpbdLpJPr+E9fSkyQ7KpQD4SdFcugkRQYzhmfI4KeV4Qpnn2sKPdo+kmsgRQ=="], + "degenerator/escodegen": ["escodegen@2.1.0", "", { "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", "esutils": "^2.0.2" }, "optionalDependencies": { "source-map": "~0.6.1" }, "bin": { "esgenerate": "bin/esgenerate.js", "escodegen": "bin/escodegen.js" } }, "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w=="], + + "duplexify/readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], + "editorconfig/commander": ["commander@10.0.1", "", {}, "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug=="], "editorconfig/minimatch": ["minimatch@9.0.1", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w=="], @@ -3895,6 +4001,8 @@ "engine.io-client/ws": ["ws@8.17.1", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ=="], + "escodegen/estraverse": ["estraverse@4.3.0", "", {}, "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="], + "eventsource/eventsource-parser": ["eventsource-parser@3.0.0", "", {}, "sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA=="], "execa/cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], @@ -3927,10 +4035,18 @@ "gauge/strip-ansi": ["strip-ansi@3.0.1", "", { "dependencies": { "ansi-regex": "^2.0.0" } }, "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg=="], + "gaxios/https-proxy-agent": ["https-proxy-agent@5.0.1", "", { "dependencies": { "agent-base": "6", "debug": "4" } }, "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA=="], + "get-uri/data-uri-to-buffer": ["data-uri-to-buffer@6.0.2", "", {}, "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw=="], + "google-auth-library/lru-cache": ["lru-cache@6.0.0", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="], + + "gradient-string/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + "inquirer/ansi-escapes": ["ansi-escapes@4.3.2", "", { "dependencies": { "type-fest": "^0.21.3" } }, "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ=="], + "inquirer/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + "ip-address/jsbn": ["jsbn@1.1.0", "", {}, "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A=="], "ip-address/sprintf-js": ["sprintf-js@1.1.3", "", {}, "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA=="], @@ -3941,9 +4057,19 @@ "js-beautify/nopt": ["nopt@7.2.1", "", { "dependencies": { "abbrev": "^2.0.0" }, "bin": { "nopt": "bin/nopt.js" } }, "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w=="], - "jsdom/whatwg-url": ["whatwg-url@14.1.1", "", { "dependencies": { "tr46": "^5.0.0", "webidl-conversions": "^7.0.0" } }, "sha512-mDGf9diDad/giZ/Sm9Xi2YcyzaFpbdLpJPr+E9fSkyQ7KpQD4SdFcugkRQYzhmfI4KeV4Qpnn2sKPdo+kmsgRQ=="], + "jsdoc/@babel/parser": ["@babel/parser@7.26.9", "", { "dependencies": { "@babel/types": "^7.26.9" }, "bin": "./bin/babel-parser.js" }, "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A=="], + + "jsdoc/@types/markdown-it": ["@types/markdown-it@14.1.2", "", { "dependencies": { "@types/linkify-it": "^5", "@types/mdurl": "^2" } }, "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog=="], - "jsondiffpatch/chalk": ["chalk@5.4.1", "", {}, "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w=="], + "jsdoc/escape-string-regexp": ["escape-string-regexp@2.0.0", "", {}, "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w=="], + + "jsdoc/marked": ["marked@4.3.0", "", { "bin": { "marked": "bin/marked.js" } }, "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A=="], + + "jsdoc/mkdirp": ["mkdirp@1.0.4", "", { "bin": { "mkdirp": "bin/cmd.js" } }, "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="], + + "jsdoc/strip-json-comments": ["strip-json-comments@3.1.1", "", {}, "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="], + + "jsdom/whatwg-url": ["whatwg-url@14.1.1", "", { "dependencies": { "tr46": "^5.0.0", "webidl-conversions": "^7.0.0" } }, "sha512-mDGf9diDad/giZ/Sm9Xi2YcyzaFpbdLpJPr+E9fSkyQ7KpQD4SdFcugkRQYzhmfI4KeV4Qpnn2sKPdo+kmsgRQ=="], "jsonwebtoken/jws": ["jws@3.2.2", "", { "dependencies": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" } }, "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA=="], @@ -3951,10 +4077,10 @@ "languine/@trigger.dev/sdk": ["@trigger.dev/sdk@3.3.13", "", { "dependencies": { "@opentelemetry/api": "1.9.0", "@opentelemetry/api-logs": "0.52.1", "@opentelemetry/semantic-conventions": "1.25.1", "@trigger.dev/core": "3.3.13", "chalk": "^5.2.0", "cronstrue": "^2.21.0", "debug": "^4.3.4", "evt": "^2.4.13", "slug": "^6.0.0", "terminal-link": "^3.0.0", "ulid": "^2.3.0", "uuid": "^9.0.0", "ws": "^8.11.0" }, "peerDependencies": { "zod": "^3.0.0" } }, "sha512-iXtHMnzvzmPfBk7+whpWOElBJt6viCoA3r8xgrrrurj8oxjIVe4UvdDiB7wbUJJ44WROWEb0wVKyQut1L/FwQQ=="], - "languine/chalk": ["chalk@5.4.1", "", {}, "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w=="], - "load-yaml-file/pify": ["pify@4.0.1", "", {}, "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="], + "log-symbols/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + "make-dir/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "markdown-it/argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], @@ -3963,12 +4089,12 @@ "mdast-util-find-and-replace/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="], + "micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + "motion/framer-motion": ["framer-motion@11.18.2", "", { "dependencies": { "motion-dom": "^11.18.1", "motion-utils": "^11.18.1", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-5F5Och7wrvtLVElIpclDT0CBzMVg3dL22B64aZwHtsIY8RB4mXICLrkajK4G9R+ieSAGcgrLeae2SeUTg2pr6w=="], "next/postcss": ["postcss@8.4.31", "", { "dependencies": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } }, "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ=="], - "next-auth/@auth/core": ["@auth/core@0.37.2", "", { "dependencies": { "@panva/hkdf": "^1.2.1", "@types/cookie": "0.6.0", "cookie": "0.7.1", "jose": "^5.9.3", "oauth4webapi": "^3.0.0", "preact": "10.11.3", "preact-render-to-string": "5.2.3" }, "peerDependencies": { "@simplewebauthn/browser": "^9.0.1", "@simplewebauthn/server": "^9.0.2", "nodemailer": "^6.8.0" }, "optionalPeers": ["@simplewebauthn/browser", "@simplewebauthn/server", "nodemailer"] }, "sha512-kUvzyvkcd6h1vpeMAojK2y7+PAV5H+0Cc9+ZlKYDFhDY31AlvsB+GW5vNO4qE3Y07KeQgvNO9U0QUx/fN62kBw=="], - "node-gyp/glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], "node-gyp/semver": ["semver@5.3.0", "", { "bin": { "semver": "./bin/semver" } }, "sha512-mfmm3/H9+67MCVix1h+IXTpDwL6710LyHuk7+cWC9T1mE0qz4iHhh6r4hU2wrIT9iTsAAC2XQRvfblL028cpLw=="], @@ -3979,7 +4105,7 @@ "novel/cmdk": ["cmdk@1.0.4", "", { "dependencies": { "@radix-ui/react-dialog": "^1.1.2", "@radix-ui/react-id": "^1.1.0", "@radix-ui/react-primitive": "^2.0.0", "use-sync-external-store": "^1.2.2" }, "peerDependencies": { "react": "^18 || ^19 || ^19.0.0-rc", "react-dom": "^18 || ^19 || ^19.0.0-rc" } }, "sha512-AnsjfHyHpQ/EFeAnG216WY7A5LiYCoZzCSygiLvfXC3H3LFGCprErteUcszaVluGOhuOTbJS3jWHrSDYPBBygg=="], - "novu/commander": ["commander@9.5.0", "", {}, "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ=="], + "novu/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], "novu/fast-glob": ["fast-glob@3.3.1", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.4" } }, "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg=="], @@ -3991,6 +4117,8 @@ "npm-run-path/path-key": ["path-key@4.0.0", "", {}, "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ=="], + "ora/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + "p-queue/eventemitter3": ["eventemitter3@4.0.7", "", {}, "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="], "parse-entities/@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="], @@ -4005,24 +4133,36 @@ "postcss/nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], - "postcss-nested/postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="], - "prop-types/react-is": ["react-is@16.13.1", "", {}, "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="], "prosemirror-markdown/@types/markdown-it": ["@types/markdown-it@14.1.2", "", { "dependencies": { "@types/linkify-it": "^5", "@types/mdurl": "^2" } }, "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog=="], - "protobufjs/@types/node": ["@types/node@22.13.9", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw=="], + "proto3-json-serializer/protobufjs": ["protobufjs@7.4.0", "", { "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", "@protobufjs/codegen": "^2.0.4", "@protobufjs/eventemitter": "^1.1.0", "@protobufjs/fetch": "^1.1.0", "@protobufjs/float": "^1.0.2", "@protobufjs/inquire": "^1.1.0", "@protobufjs/path": "^1.1.2", "@protobufjs/pool": "^1.1.0", "@protobufjs/utf8": "^1.1.0", "@types/node": ">=13.7.0", "long": "^5.0.0" } }, "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw=="], + + "protobufjs-cli/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - "proxy-agent/lru-cache": ["lru-cache@7.18.3", "", {}, "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA=="], + "protobufjs-cli/glob": ["glob@8.1.0", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^5.0.1", "once": "^1.3.0" } }, "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ=="], + + "protobufjs-cli/tmp": ["tmp@0.2.3", "", {}, "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w=="], "raw-body/iconv-lite": ["iconv-lite@0.4.24", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3" } }, "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="], "react-day-picker/react": ["react@18.2.0", "", { "dependencies": { "loose-envify": "^1.1.0" } }, "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ=="], + "react-dropzone/file-selector": ["file-selector@2.1.2", "", { "dependencies": { "tslib": "^2.7.0" } }, "sha512-QgXo+mXTe8ljeqUFaX3QVHc5osSItJ/Km+xpocx0aSqWGMSCf6qYs/VnzZgS864Pjn5iceMRFigeAV7AfTlaig=="], + + "react-email/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], + + "react-email/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], + + "react-email/commander": ["commander@11.1.0", "", {}, "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ=="], + "react-email/next": ["next@15.0.4", "", { "dependencies": { "@next/env": "15.0.4", "@swc/counter": "0.1.3", "@swc/helpers": "0.5.13", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", "postcss": "8.4.31", "styled-jsx": "5.1.6" }, "optionalDependencies": { "@next/swc-darwin-arm64": "15.0.4", "@next/swc-darwin-x64": "15.0.4", "@next/swc-linux-arm64-gnu": "15.0.4", "@next/swc-linux-arm64-musl": "15.0.4", "@next/swc-linux-x64-gnu": "15.0.4", "@next/swc-linux-x64-musl": "15.0.4", "@next/swc-win32-arm64-msvc": "15.0.4", "@next/swc-win32-x64-msvc": "15.0.4", "sharp": "^0.33.5" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", "@playwright/test": "^1.41.2", "babel-plugin-react-compiler": "*", "react": "^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0", "react-dom": "^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0", "sass": "^1.3.0" }, "optionalPeers": ["@opentelemetry/api", "@playwright/test", "babel-plugin-react-compiler", "sass"], "bin": { "next": "dist/bin/next" } }, "sha512-nuy8FH6M1FG0lktGotamQDCXhh5hZ19Vo0ht1AOIQWrYJLP598TIUagKtvJrfJ5AGwB/WmDqkKaKhMpVifvGPA=="], "react-promise-suspense/fast-deep-equal": ["fast-deep-equal@2.0.1", "", {}, "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w=="], + "readdirp/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + "recharts/eventemitter3": ["eventemitter3@4.0.7", "", {}, "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="], "request/form-data": ["form-data@2.3.3", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", "mime-types": "^2.1.12" } }, "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ=="], @@ -4063,12 +4203,6 @@ "sucrase/glob": ["glob@10.4.5", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg=="], - "tailwindcss/chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="], - - "tailwindcss/postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="], - - "tinyglobby/picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="], - "tunnel-rat/zustand": ["zustand@4.5.6", "", { "dependencies": { "use-sync-external-store": "^1.2.2" }, "peerDependencies": { "@types/react": ">=16.8", "immer": ">=9.0.6", "react": ">=16.8" }, "optionalPeers": ["@types/react", "immer", "react"] }, "sha512-ibr/n1hBzLLj5Y+yUcU7dYw8p6WnIVzdJbnX+1YpaScvZVF2ziugqHs+LAmHw4lWO9c/zRj+K1ncgWDQuthEdQ=="], "verror/core-util-is": ["core-util-is@1.0.2", "", {}, "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="], @@ -4087,12 +4221,20 @@ "write-file-atomic/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], - "@ai-sdk/openai/@ai-sdk/provider-utils/nanoid": ["nanoid@3.3.6", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="], + "@ai-sdk/openai/@ai-sdk/provider-utils/eventsource-parser": ["eventsource-parser@3.0.0", "", {}, "sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA=="], + + "@ai-sdk/openai/@ai-sdk/provider-utils/nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], "@ai-sdk/react/@ai-sdk/provider-utils/eventsource-parser": ["eventsource-parser@3.0.0", "", {}, "sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA=="], "@ai-sdk/react/@ai-sdk/provider-utils/nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], + "@auth/prisma-adapter/@auth/core/jose": ["jose@6.0.8", "", {}, "sha512-EyUPtOKyTYq+iMOszO42eobQllaIjJnwkZ2U93aJzNyPibCy7CEvT9UQnaCVB51IAd49gbNdCew1c0LcLTCB2g=="], + + "@auth/prisma-adapter/@auth/core/preact": ["preact@10.24.3", "", {}, "sha512-Z2dPnBnMUfyQfSQ+GBdsGa16hz35YmLmtTLhM169uW944hYL6xzTYkJjC07j+Wosz733pMWx0fgON3JNw1jJQA=="], + + "@auth/prisma-adapter/@auth/core/preact-render-to-string": ["preact-render-to-string@6.5.11", "", { "peerDependencies": { "preact": ">=10" } }, "sha512-ubnauqoGczeGISiOh6RjX0/cdaF8v/oDXIjO85XALCQjwQP+SB4RDXXtvZ6yTYSjG+PC1QRP2AhPgCEsM2EvUw=="], + "@aws-crypto/sha1-browser/@smithy/util-utf8/@smithy/util-buffer-from": ["@smithy/util-buffer-from@2.2.0", "", { "dependencies": { "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA=="], "@aws-crypto/sha256-browser/@smithy/util-utf8/@smithy/util-buffer-from": ["@smithy/util-buffer-from@2.2.0", "", { "dependencies": { "@smithy/is-array-buffer": "^2.2.0", "tslib": "^2.6.2" } }, "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA=="], @@ -4101,6 +4243,26 @@ "@browserbasehq/sdk/@types/node/undici-types": ["undici-types@5.26.5", "", {}, "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="], + "@bubba/app/ai/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@2.1.13", "", { "dependencies": { "@ai-sdk/provider": "1.0.11", "eventsource-parser": "^3.0.0", "nanoid": "^3.3.8", "secure-json-parse": "^2.7.0" }, "peerDependencies": { "zod": "^3.0.0" }, "optionalPeers": ["zod"] }, "sha512-kLjqsfOdONr6DGcGEntFYM1niXz1H05vyZNf9OAzK+KKKc64izyP4/q/9HX7W4+6g8hm6BnmKxu8vkr6FSOqDg=="], + + "@bubba/app/ai/@ai-sdk/ui-utils": ["@ai-sdk/ui-utils@1.1.19", "", { "dependencies": { "@ai-sdk/provider": "1.0.11", "@ai-sdk/provider-utils": "2.1.13", "zod-to-json-schema": "^3.24.1" }, "peerDependencies": { "zod": "^3.0.0" }, "optionalPeers": ["zod"] }, "sha512-rDHy2uxlPMt3jjS9L6mBrsfhEInZ5BVoWevmD13fsAt2s/XWy2OwwKmgmUQkdLlY4mn/eyeYAfDGK8+5CbOAgg=="], + + "@bubba/app/ai/eventsource-parser": ["eventsource-parser@3.0.0", "", {}, "sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA=="], + + "@bubba/integrations/@ai-sdk/openai/@ai-sdk/provider": ["@ai-sdk/provider@0.0.24", "", { "dependencies": { "json-schema": "0.4.0" } }, "sha512-XMsNGJdGO+L0cxhhegtqZ8+T6nn4EoShS819OvCgI2kLbYTIvk0GWFGD0AXJmxkxs3DrpsJxKAFukFR7bvTkgQ=="], + + "@bubba/integrations/@ai-sdk/openai/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@1.0.20", "", { "dependencies": { "@ai-sdk/provider": "0.0.24", "eventsource-parser": "1.1.2", "nanoid": "3.3.6", "secure-json-parse": "2.7.0" }, "peerDependencies": { "zod": "^3.0.0" }, "optionalPeers": ["zod"] }, "sha512-ngg/RGpnA00eNOWEtXHenpX1MsM2QshQh4QJFjUfwcqHpM5kTfG7je7Rc3HcEDP+OkRVv2GF+X4fC1Vfcnl8Ow=="], + + "@bubba/integrations/@azure/identity/@azure/core-tracing": ["@azure/core-tracing@1.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-UKTiEJPkWcESPYJz3X5uKRYyOcJD+4nYph+KpfdPRnQJVrZfk0KJgdnaAWKfhsBBtAf/D58Az4AvCJEmWgIBAg=="], + + "@bubba/integrations/@azure/identity/@azure/msal-browser": ["@azure/msal-browser@3.28.1", "", { "dependencies": { "@azure/msal-common": "14.16.0" } }, "sha512-OHHEWMB5+Zrix8yKvLVzU3rKDFvh7SOzAzXfICD7YgUXLxfHpTPX2pzOotrri1kskwhHqIj4a5LvhZlIqE7C7g=="], + + "@bubba/integrations/@azure/identity/@azure/msal-node": ["@azure/msal-node@2.16.2", "", { "dependencies": { "@azure/msal-common": "14.16.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" } }, "sha512-An7l1hEr0w1HMMh1LU+rtDtqL7/jw74ORlc9Wnh06v7TU/xpG39/Zdr1ZJu3QpjUfKJ+E0/OXMW8DRSWTlh7qQ=="], + + "@bubba/integrations/@azure/identity/open": ["open@8.4.2", "", { "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", "is-wsl": "^2.2.0" } }, "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ=="], + + "@grpc/proto-loader/protobufjs/@types/node": ["@types/node@22.13.9", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw=="], + "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], "@isaacs/cliui/strip-ansi/ansi-regex": ["ansi-regex@6.1.0", "", {}, "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="], @@ -4109,6 +4271,8 @@ "@manypkg/tools/js-yaml/argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], + "@opentelemetry/otlp-transformer/protobufjs/@types/node": ["@types/node@22.13.9", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw=="], + "@prisma/config/esbuild/@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.0", "", { "os": "aix", "cpu": "ppc64" }, "sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ=="], "@prisma/config/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.25.0", "", { "os": "android", "cpu": "arm" }, "sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g=="], @@ -4225,14 +4389,6 @@ "cmdk/react-dom/scheduler": ["scheduler@0.23.2", "", { "dependencies": { "loose-envify": "^1.1.0" } }, "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ=="], - "comp.ai/@ai-sdk/openai/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@2.1.13", "", { "dependencies": { "@ai-sdk/provider": "1.0.11", "eventsource-parser": "^3.0.0", "nanoid": "^3.3.8", "secure-json-parse": "^2.7.0" }, "peerDependencies": { "zod": "^3.0.0" }, "optionalPeers": ["zod"] }, "sha512-kLjqsfOdONr6DGcGEntFYM1niXz1H05vyZNf9OAzK+KKKc64izyP4/q/9HX7W4+6g8hm6BnmKxu8vkr6FSOqDg=="], - - "comp.ai/ai/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@2.1.13", "", { "dependencies": { "@ai-sdk/provider": "1.0.11", "eventsource-parser": "^3.0.0", "nanoid": "^3.3.8", "secure-json-parse": "^2.7.0" }, "peerDependencies": { "zod": "^3.0.0" }, "optionalPeers": ["zod"] }, "sha512-kLjqsfOdONr6DGcGEntFYM1niXz1H05vyZNf9OAzK+KKKc64izyP4/q/9HX7W4+6g8hm6BnmKxu8vkr6FSOqDg=="], - - "comp.ai/ai/@ai-sdk/ui-utils": ["@ai-sdk/ui-utils@1.1.19", "", { "dependencies": { "@ai-sdk/provider": "1.0.11", "@ai-sdk/provider-utils": "2.1.13", "zod-to-json-schema": "^3.24.1" }, "peerDependencies": { "zod": "^3.0.0" }, "optionalPeers": ["zod"] }, "sha512-rDHy2uxlPMt3jjS9L6mBrsfhEInZ5BVoWevmD13fsAt2s/XWy2OwwKmgmUQkdLlY4mn/eyeYAfDGK8+5CbOAgg=="], - - "comp.ai/ai/eventsource-parser": ["eventsource-parser@3.0.0", "", {}, "sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA=="], - "data-urls/whatwg-url/tr46": ["tr46@5.0.0", "", { "dependencies": { "punycode": "^2.3.1" } }, "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g=="], "express/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], @@ -4243,12 +4399,20 @@ "gauge/strip-ansi/ansi-regex": ["ansi-regex@2.1.1", "", {}, "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA=="], + "gaxios/https-proxy-agent/agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ=="], + + "google-auth-library/lru-cache/yallist": ["yallist@4.0.0", "", {}, "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="], + "inquirer/ansi-escapes/type-fest": ["type-fest@0.21.3", "", {}, "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w=="], "js-beautify/glob/jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], "js-beautify/nopt/abbrev": ["abbrev@2.0.0", "", {}, "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ=="], + "jsdoc/@types/markdown-it/@types/linkify-it": ["@types/linkify-it@5.0.0", "", {}, "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q=="], + + "jsdoc/@types/markdown-it/@types/mdurl": ["@types/mdurl@2.0.0", "", {}, "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg=="], + "jsdom/whatwg-url/tr46": ["tr46@5.0.0", "", { "dependencies": { "punycode": "^2.3.1" } }, "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g=="], "jsonwebtoken/jws/jwa": ["jwa@1.4.1", "", { "dependencies": { "buffer-equal-constant-time": "1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA=="], @@ -4261,10 +4425,6 @@ "motion/framer-motion/motion-utils": ["motion-utils@11.18.1", "", {}, "sha512-49Kt+HKjtbJKLtgO/LKj9Ld+6vw9BjH5d9sc40R/kVyH8GLAXgT42M2NnuPcJNuA3s9ZfZBUcwIgpmZWGEE+hA=="], - "next-auth/@auth/core/preact": ["preact@10.11.3", "", {}, "sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg=="], - - "next-auth/@auth/core/preact-render-to-string": ["preact-render-to-string@5.2.3", "", { "dependencies": { "pretty-format": "^3.8.0" }, "peerDependencies": { "preact": ">=10" } }, "sha512-aPDxUn5o3GhWdtJtW0svRC2SS/l8D9MAgo2+AWml+BhDImb27ALf04Q2d+AHqUUOc6RdSXFIBVa2gxzgMKgtZA=="], - "next/postcss/nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], "node-gyp/glob/minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], @@ -4279,6 +4439,12 @@ "prosemirror-markdown/@types/markdown-it/@types/mdurl": ["@types/mdurl@2.0.0", "", {}, "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg=="], + "proto3-json-serializer/protobufjs/@types/node": ["@types/node@22.13.9", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw=="], + + "protobufjs-cli/glob/minimatch": ["minimatch@5.1.6", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g=="], + + "react-email/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], + "react-email/next/@next/env": ["@next/env@15.0.4", "", {}, "sha512-WNRvtgnRVDD4oM8gbUcRc27IAhaL4eXQ/2ovGbgLnPGUvdyDr8UdXP4Q/IBDdAdojnD2eScryIDirv0YUCjUVw=="], "react-email/next/@next/swc-darwin-arm64": ["@next/swc-darwin-arm64@15.0.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-QecQXPD0yRHxSXWL5Ff80nD+A56sUXZG9koUsjWJwA2Z0ZgVQfuy7gd0/otjxoOovPVHR2eVEvPMHbtZP+pf9w=="], @@ -4309,10 +4475,6 @@ "sucrase/glob/jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], - "tailwindcss/chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], - - "tailwindcss/chokidar/readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="], - "web/framer-motion/motion-dom": ["motion-dom@11.18.1", "", { "dependencies": { "motion-utils": "^11.18.1" } }, "sha512-g76KvA001z+atjfxczdRtw/RXOM3OMSdd1f4DL77qCTF/+avrRJiawSG4yDibEQ215sr9kpinSlX2pCTJ9zbhw=="], "web/framer-motion/motion-utils": ["motion-utils@11.18.1", "", {}, "sha512-49Kt+HKjtbJKLtgO/LKj9Ld+6vw9BjH5d9sc40R/kVyH8GLAXgT42M2NnuPcJNuA3s9ZfZBUcwIgpmZWGEE+hA=="], @@ -4323,6 +4485,20 @@ "@aws-crypto/util/@smithy/util-utf8/@smithy/util-buffer-from/@smithy/is-array-buffer": ["@smithy/is-array-buffer@2.2.0", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA=="], + "@bubba/app/ai/@ai-sdk/provider-utils/nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], + + "@bubba/integrations/@ai-sdk/openai/@ai-sdk/provider-utils/nanoid": ["nanoid@3.3.6", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="], + + "@bubba/integrations/@azure/identity/@azure/msal-browser/@azure/msal-common": ["@azure/msal-common@14.16.0", "", {}, "sha512-1KOZj9IpcDSwpNiQNjt0jDYZpQvNZay7QAEi/5DLubay40iGYtLzya/jbjRPLyOTZhEKyL1MzPuw2HqBCjceYA=="], + + "@bubba/integrations/@azure/identity/@azure/msal-node/@azure/msal-common": ["@azure/msal-common@14.16.0", "", {}, "sha512-1KOZj9IpcDSwpNiQNjt0jDYZpQvNZay7QAEi/5DLubay40iGYtLzya/jbjRPLyOTZhEKyL1MzPuw2HqBCjceYA=="], + + "@bubba/integrations/@azure/identity/@azure/msal-node/uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="], + + "@bubba/integrations/@azure/identity/open/define-lazy-prop": ["define-lazy-prop@2.0.0", "", {}, "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og=="], + + "@bubba/integrations/@azure/identity/open/is-wsl": ["is-wsl@2.2.0", "", { "dependencies": { "is-docker": "^2.0.0" } }, "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="], + "cmdk/@radix-ui/react-dialog/@radix-ui/react-dismissable-layer/@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0" } }, "sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg=="], "cmdk/@radix-ui/react-dialog/@radix-ui/react-dismissable-layer/@radix-ui/react-use-escape-keydown": ["@radix-ui/react-use-escape-keydown@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10", "@radix-ui/react-use-callback-ref": "1.0.0" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0" } }, "sha512-JwfBCUIfhXRxKExgIqGa4CQsiMemo1Xt0W/B4ei3fpzpvPENKpMKQ8mZSB6Acj3ebrAEgi2xiQvcI1PAAodvyg=="], @@ -4335,12 +4511,6 @@ "cmdk/@radix-ui/react-dialog/@radix-ui/react-use-controllable-state/@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.0.0", "", { "dependencies": { "@babel/runtime": "^7.13.10" }, "peerDependencies": { "react": "^16.8 || ^17.0 || ^18.0" } }, "sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg=="], - "comp.ai/@ai-sdk/openai/@ai-sdk/provider-utils/eventsource-parser": ["eventsource-parser@3.0.0", "", {}, "sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA=="], - - "comp.ai/@ai-sdk/openai/@ai-sdk/provider-utils/nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], - - "comp.ai/ai/@ai-sdk/provider-utils/nanoid": ["nanoid@3.3.8", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w=="], - "languine/@trigger.dev/sdk/@trigger.dev/core/@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.52.1", "", { "dependencies": { "@opentelemetry/api-logs": "0.52.1", "@types/shimmer": "^1.0.2", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1", "semver": "^7.5.2", "shimmer": "^1.2.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw=="], "languine/@trigger.dev/sdk/@trigger.dev/core/eventsource-parser": ["eventsource-parser@3.0.0", "", {}, "sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA=="], diff --git a/packages/integrations/package.json b/packages/integrations/package.json index d81e6ba26a..ad36dda503 100644 --- a/packages/integrations/package.json +++ b/packages/integrations/package.json @@ -11,14 +11,20 @@ }, "dependencies": { "@ai-sdk/openai": "^0.0.66", + "@aws-sdk/client-securityhub": "^3.0.0", + "@azure/identity": "^3.0.0", + "@bubba/app": "workspace:*", + "@google-cloud/security-center": "^7.0.0", "@slack/bolt": "^3.22.0", "@slack/web-api": "^7.8.0", "ai": "^3.4.33", + "node-fetch": "^2.6.7", "sharp": "^0.33.5", "zod": "^3.24.2" }, "devDependencies": { "@types/node": "^22.13.2", + "@types/node-fetch": "^2.6.2", "typescript": "^5.7.3" }, "exports": { diff --git a/packages/integrations/src/aws/src/index.ts b/packages/integrations/src/aws/src/index.ts index c490823b86..1ee05efd90 100644 --- a/packages/integrations/src/aws/src/index.ts +++ b/packages/integrations/src/aws/src/index.ts @@ -7,32 +7,39 @@ import type { GetFindingsCommandInput, GetFindingsCommandOutput, } from "@aws-sdk/client-securityhub"; +import { decrypt } from "@bubba/app/src/lib/encryption"; +import type { EncryptedData } from "@bubba/app/src/lib/encryption"; + +interface AWSEncryptedCredentials { + region: EncryptedData; + access_key_id: EncryptedData; + secret_access_key: EncryptedData; +} /** * Fetches security findings from AWS Security Hub * @returns Promise containing an array of findings */ async function fetch( - AWS_REGION: string, - AWS_ACCESS_KEY_ID: string, - AWS_SECRET_ACCESS_KEY: string, - AWS_SESSION_TOKEN: string, + credentials: AWSEncryptedCredentials ): Promise { try { + // Decrypt credentials + const decryptedRegion = await decrypt(credentials.region); + const decryptedAccessKeyId = await decrypt(credentials.access_key_id); + const decryptedSecretAccessKey = await decrypt(credentials.secret_access_key); + // 1. Configure the SecurityHub client with AWS credentials - // For production, prefer using environment variables or AWS credential profiles rather than hardcoding const config: SecurityHubClientConfig = { - region: AWS_REGION, + region: decryptedRegion, credentials: { - accessKeyId: AWS_ACCESS_KEY_ID, - secretAccessKey: AWS_SECRET_ACCESS_KEY, - sessionToken: AWS_SESSION_TOKEN, // Required for temporary credentials + accessKeyId: decryptedAccessKeyId, + secretAccessKey: decryptedSecretAccessKey, }, }; const securityHubClient = new SecurityHubClient(config); // 2. Define filters for the findings we want to retrieve. - // Example: get only NEW (unresolved) findings for failed compliance controls. const params: GetFindingsCommandInput = { Filters: { WorkflowStatus: [{ Value: "NEW", Comparison: "EQUALS" }], // only active findings diff --git a/packages/integrations/src/azure/config.ts b/packages/integrations/src/azure/config.ts index a7b5e89c76..107bd1933a 100644 --- a/packages/integrations/src/azure/config.ts +++ b/packages/integrations/src/azure/config.ts @@ -34,25 +34,33 @@ const config: { images: [imageBase64()], settings: [ { - id: "region", - label: "AZURE region", - description: "The region of your AWS account", + id: "AZURE_CLIENT_ID", + label: "AZURE client ID", + description: "The client ID for your AZURE account", type: "text", required: true, value: "", }, { - id: "access_key_id", - label: "AZURE access key ID", - description: "The API access key ID for your AZURE account", + id: "AZURE_TENANT_ID", + label: "AZURE tenant ID", + description: "The tenant ID for your AZURE account", type: "text", required: true, value: "", }, { - id: "secret_access_key", - label: "AZURE secret access key", - description: "The API secret access key for your AZURE account", + id: "AZURE_CLIENT_SECRET", + label: "AZURE client secret", + description: "The client secret for your AZURE account", + type: "text", + required: true, + value: "", + }, + { + id: "AZURE_SUBSCRIPTION_ID", + label: "AZURE subscription ID", + description: "The subscription ID for your AZURE account", type: "text", required: true, value: "", diff --git a/packages/integrations/src/azure/src/index.ts b/packages/integrations/src/azure/src/index.ts index 629d23c084..1b9a9f0cf8 100644 --- a/packages/integrations/src/azure/src/index.ts +++ b/packages/integrations/src/azure/src/index.ts @@ -1,138 +1,139 @@ -/* import { DefaultAzureCredential } from "@azure/identity"; -import fetch from "node-fetch"; - -// Azure Subscription ID (replace with actual ID) -const subscriptionId = "your-subscription-id"; // 🔹 Replace with your Azure Subscription ID -const API_VERSION = "2023-01-01"; // 🔹 API version for Defender for Cloud - -// Base URL for Microsoft Defender for Cloud -const SECURITY_ALERTS_URL = `https://management.azure.com/subscriptions/${subscriptionId}/providers/Microsoft.Security/alerts?api-version=${API_VERSION}`; - -// Function to fetch Security Findings from Microsoft Defender for Cloud -async function fetchSecurityFindings(): Promise { - try { - // 🔹 Authenticate using DefaultAzureCredential (supports managed identity, environment variables, etc.) - const credential = new DefaultAzureCredential(); - const tokenResponse = await credential.getToken("https://management.azure.com/.default"); - - if (!tokenResponse || !tokenResponse.token) { - throw new Error("Failed to retrieve Azure authentication token."); - } - - // 🔹 Set up the API request headers - const headers = { - Authorization: `Bearer ${tokenResponse.token}`, - "Content-Type": "application/json", - }; - - let findings: any[] = []; - let url = SECURITY_ALERTS_URL; - - // 🔹 Loop through all pages of results (handles pagination) - while (url) { - const response = await fetch(url, { headers }); - if (!response.ok) throw new Error(`API request failed: ${response.statusText}`); - - const data = await response.json(); - findings = findings.concat(data.value || []); // Append new findings - - // 🔹 Handle pagination (if "nextLink" exists, fetch next page) - url = data["nextLink"] || null; - } - - console.log(`Retrieved ${findings.length} security findings.`); - - // 🔹 Process findings (filter active alerts, format output, etc.) - findings.forEach((finding) => { - console.log(`🛑 [${finding.properties.severity}] ${finding.properties.alertDisplayName} - ${finding.properties.status}`); - }); - - return findings; - } catch (error) { - console.error("Error fetching security findings:", error); - throw error; - } +import nodeFetch from "node-fetch"; +import { decrypt } from "@bubba/app/src/lib/encryption"; +import type { EncryptedData } from "@bubba/app/src/lib/encryption"; + +const API_VERSION = "2019-01-01"; + +interface AzureEncryptedCredentials { + AZURE_CLIENT_ID: EncryptedData; + AZURE_TENANT_ID: EncryptedData; + AZURE_CLIENT_SECRET: EncryptedData; + AZURE_SUBSCRIPTION_ID: EncryptedData; } -// Run the function -fetchSecurityFindings(); -*/ +interface ComplianceControl { + name: string; + description: string; + state: string; +} -import { - SecurityHubClient, - GetFindingsCommand, -} from "@aws-sdk/client-securityhub"; -import type { - SecurityHubClientConfig, - GetFindingsCommandInput, - GetFindingsCommandOutput, -} from "@aws-sdk/client-securityhub"; +interface ComplianceStandard { + name: string; + controls: ComplianceControl[]; +} + +interface AzureResponse { + value: Array<{ + name: string; + properties?: { + description: string; + state: string; + }; + }>; +} /** - * Fetches security findings from AWS Security Hub - * @returns Promise containing an array of findings + * Fetches compliance data from Azure Security Center + * @returns Promise containing an array of compliance standards with their controls */ -async function fetch( - AWS_REGION: string, - AWS_ACCESS_KEY_ID: string, - AWS_SECRET_ACCESS_KEY: string, - AWS_SESSION_TOKEN: string, -): Promise { +async function fetchComplianceData( + credentials: AzureEncryptedCredentials +): Promise { try { - // 1. Configure the SecurityHub client with AWS credentials - // For production, prefer using environment variables or AWS credential profiles rather than hardcoding - const config: SecurityHubClientConfig = { - region: AWS_REGION, - credentials: { - accessKeyId: AWS_ACCESS_KEY_ID, - secretAccessKey: AWS_SECRET_ACCESS_KEY, - sessionToken: AWS_SESSION_TOKEN, // Required for temporary credentials - }, - }; - const securityHubClient = new SecurityHubClient(config); - - // 2. Define filters for the findings we want to retrieve. - // Example: get only NEW (unresolved) findings for failed compliance controls. - const params: GetFindingsCommandInput = { - Filters: { - WorkflowStatus: [{ Value: "NEW", Comparison: "EQUALS" }], // only active findings - ComplianceStatus: [{ Value: "FAILED", Comparison: "EQUALS" }], // only failed control checks + // Decrypt credentials + const decryptedClientId = await decrypt(credentials.AZURE_CLIENT_ID); + const decryptedTenantId = await decrypt(credentials.AZURE_TENANT_ID); + const decryptedClientSecret = await decrypt(credentials.AZURE_CLIENT_SECRET); + const decryptedSubscriptionId = await decrypt(credentials.AZURE_SUBSCRIPTION_ID); + + const BASE_URL = `https://management.azure.com/subscriptions/${decryptedSubscriptionId}/providers/Microsoft.Security`; + + // Set environment variables for DefaultAzureCredential + process.env.AZURE_CLIENT_ID = decryptedClientId; + process.env.AZURE_TENANT_ID = decryptedTenantId; + process.env.AZURE_CLIENT_SECRET = decryptedClientSecret; + + // Get access token + const credential = new DefaultAzureCredential(); + const tokenResponse = await credential.getToken("https://management.azure.com/.default"); + const token = tokenResponse.token; + + // Fetch all compliance standards + const standardsUrl = `${BASE_URL}/regulatoryComplianceStandards?api-version=${API_VERSION}`; + const standardsResponse = await nodeFetch(standardsUrl, { + headers: { + Authorization: `Bearer ${token}`, + "Content-Type": "application/json", }, - MaxResults: 100, // adjust page size as needed (max 100) - }; + }); + + if (!standardsResponse.ok) { + throw new Error(`Failed to fetch standards: ${standardsResponse.statusText}`); + } + + const standardsData = await standardsResponse.json() as AzureResponse; + const standards = standardsData.value.map((standard) => standard.name); + + // Fetch controls for each standard + const complianceData: ComplianceStandard[] = []; + + for (const standard of standards) { + const controlsUrl = `${BASE_URL}/regulatoryComplianceStandards/${standard}/regulatoryComplianceControls?api-version=${API_VERSION}`; + const controlsResponse = await nodeFetch(controlsUrl, { + headers: { + Authorization: `Bearer ${token}`, + "Content-Type": "application/json", + }, + }); + + if (!controlsResponse.ok) { + console.error(`Failed to fetch controls for ${standard}: ${controlsResponse.statusText}`); + continue; + } - const command = new GetFindingsCommand(params); - let response: GetFindingsCommandOutput = - await securityHubClient.send(command); - - const allFindings: any[] = response.Findings || []; - let nextToken = response.NextToken; - - // 3. Loop to paginate through all results if there are more than 100 findings - while (nextToken) { - const nextPageParams: GetFindingsCommandInput = { - ...params, - NextToken: nextToken, - }; - response = await securityHubClient.send( - new GetFindingsCommand(nextPageParams), - ); - - if (response.Findings) { - allFindings.push(...response.Findings); + const controlsData = await controlsResponse.json() as AzureResponse; + const controls = controlsData.value.map((control) => control.name); + + // Fetch details for each control + const controlDetails: ComplianceControl[] = []; + + for (const control of controls) { + const detailsUrl = `${BASE_URL}/regulatoryComplianceStandards/${standard}/regulatoryComplianceControls/${control}?api-version=${API_VERSION}`; + const detailsResponse = await nodeFetch(detailsUrl, { + headers: { + Authorization: `Bearer ${token}`, + "Content-Type": "application/json", + }, + }); + + if (!detailsResponse.ok) { + console.error(`Failed to fetch details for ${control} in ${standard}: ${detailsResponse.statusText}`); + continue; + } + + const detailsData = await detailsResponse.json() as AzureResponse; + const controlDetail = detailsData.value[0]; + if (controlDetail?.properties) { + controlDetails.push({ + name: control, + description: controlDetail.properties.description, + state: controlDetail.properties.state, + }); + } } - nextToken = response.NextToken; + complianceData.push({ + name: standard, + controls: controlDetails, + }); } - console.log(`Retrieved ${allFindings.length} findings`); - return allFindings; + return complianceData; } catch (error) { - console.error("Error fetching Security Hub findings:", error); + console.error("Error fetching Azure compliance data:", error); throw error; } } -// Export the function for use in other modules -export { fetch }; +export { fetchComplianceData as fetch }; diff --git a/packages/integrations/src/azure/src/test.js b/packages/integrations/src/azure/src/test.js index c6079a323c..f6f068e160 100644 --- a/packages/integrations/src/azure/src/test.js +++ b/packages/integrations/src/azure/src/test.js @@ -1,58 +1,135 @@ const { DefaultAzureCredential } = require("@azure/identity"); const fetch = require("node-fetch"); -// Azure Subscription ID (replace with actual ID) -const subscriptionId = process.env.AZURE_SUBSCRIPTION_ID; // 🔹 Replace with your Azure Subscription ID -const API_VERSION = "2023-01-01"; // 🔹 API version for Defender for Cloud - -// Base URL for Microsoft Defender for Cloud -const SECURITY_ALERTS_URL = `https://management.azure.com/subscriptions/${subscriptionId}/providers/Microsoft.Security/alerts?api-version=${API_VERSION}`; - -// Function to fetch Security Findings from Microsoft Defender for Cloud -async function fetchSecurityFindings() { - try { - // 🔹 Authenticate using DefaultAzureCredential (supports managed identity, environment variables, etc.) - const credential = new DefaultAzureCredential(); - const tokenResponse = await credential.getToken("https://management.azure.com/.default"); - - if (!tokenResponse || !tokenResponse.token) { - throw new Error("Failed to retrieve Azure authentication token."); - } +const API_VERSION = "2019-01-01"; +const requiredEnvVars = { + AZURE_CLIENT_ID: process.env.AZURE_CLIENT_ID, + AZURE_TENANT_ID: process.env.AZURE_TENANT_ID, + AZURE_CLIENT_SECRET: process.env.AZURE_CLIENT_SECRET, + AZURE_SUBSCRIPTION_ID: process.env.AZURE_SUBSCRIPTION_ID, + }; + +const BASE_URL = `https://management.azure.com/subscriptions/${requiredEnvVars.AZURE_SUBSCRIPTION_ID}/providers/Microsoft.Security`; - // 🔹 Set up the API request headers - const headers = { - Authorization: `Bearer ${tokenResponse.token}`, - "Content-Type": "application/json", - }; - let findings = []; - let url = SECURITY_ALERTS_URL; - // 🔹 Loop through all pages of results (handles pagination) - while (url) { - const response = await fetch(url, { headers }); - if (!response.ok) throw new Error(`API request failed: ${response.statusText}`); +/** + * Authenticate and get an Azure access token + */ +async function getAccessToken() { + try { + const credential = new DefaultAzureCredential( + requiredEnvVars.AZURE_TENANT_ID, + requiredEnvVars.AZURE_CLIENT_ID, + requiredEnvVars.AZURE_CLIENT_SECRET + ); + const tokenResponse = await credential.getToken("https://management.azure.com/.default"); + return tokenResponse.token; + } catch (error) { + console.error("Failed to get access token:", error); + throw error; + } +} + +/** + * Fetch all compliance standards + */ +async function fetchComplianceStandards(token) { + const url = `${BASE_URL}/regulatoryComplianceStandards?api-version=${API_VERSION}`; + try { + const response = await fetch(url, { + headers: { + Authorization: `Bearer ${token}`, + "Content-Type": "application/json", + }, + }); + + if (!response.ok) throw new Error(`Failed to fetch standards: ${response.statusText}`); + const data = await response.json(); + console.log(`✅ Found ${data.value.length} compliance standards.`); + return data.value.map((standard) => standard.name); + } catch (error) { + console.error("Error fetching compliance standards:", error); + return []; + } +} - const data = await response.json(); - findings = findings.concat(data.value || []); // Append new findings +/** + * Fetch all compliance controls for a given standard + */ +async function fetchComplianceControls(token, standard) { + const url = `${BASE_URL}/regulatoryComplianceStandards/${standard}/regulatoryComplianceControls?api-version=${API_VERSION}`; + try { + const response = await fetch(url, { + headers: { + Authorization: `Bearer ${token}`, + "Content-Type": "application/json", + }, + }); - // 🔹 Handle pagination (if "nextLink" exists, fetch next page) - url = data.nextLink || null; + if (!response.ok) throw new Error(`Failed to fetch controls for ${standard}: ${response.statusText}`); + const data = await response.json(); + console.log(` 🔹 ${standard}: Found ${data.value.length} controls.`); + return data.value.map((control) => control.name); + } catch (error) { + console.error(`Error fetching controls for ${standard}:`, error); + return []; } +} - console.log(`Retrieved ${findings.length} security findings.`); +/** + * Fetch details of an individual compliance control + */ +async function fetchControlDetails(token, standard, control) { + const url = `${BASE_URL}/regulatoryComplianceStandards/${standard}/regulatoryComplianceControls/${control}?api-version=${API_VERSION}`; + try { + const response = await fetch(url, { + headers: { + Authorization: `Bearer ${token}`, + "Content-Type": "application/json", + }, + }); - // 🔹 Process findings (filter active alerts, format output, etc.) - for (const finding of findings) { - console.log(`🛑 [${finding.properties.severity}] ${finding.properties.alertDisplayName} - ${finding.properties.status}`); + if (!response.ok) throw new Error(`Failed to fetch details for ${control} in ${standard}: ${response.statusText}`); + const data = await response.json(); + console.log(` ${(data.properties.state === "Passed" ? `✅` : `❌`)} Control: ${data.properties.description} - Status: ${data.properties.state}`); + return data; + } catch (error) { + console.error(`Error fetching details for ${control} in ${standard}:`, error); + return null; } +} + +/** + * Main function to fetch all compliance data + */ +async function main() { + try { + console.log("🔄 Fetching Azure compliance data..."); + const token = await getAccessToken(); - return findings; - } catch (error) { - console.error("Error fetching security findings:", error); - throw error; - } + // Step 1: Fetch all compliance standards + const standards = await fetchComplianceStandards(token); + if (standards.length === 0) { + console.log("❌ No compliance standards found."); + return; + } + + // Step 2: Fetch controls for each standard + for (const standard of standards) { + const controls = await fetchComplianceControls(token, standard); + + // Step 3: Fetch detailed control information + for (const control of controls) { + const controlDetails = await fetchControlDetails(token, standard, control); + } + } + + console.log("✅ Compliance data retrieval complete."); + } catch (error) { + console.error("🚨 Error in main execution:", error); + } } -// Run the function -fetchSecurityFindings(); \ No newline at end of file +// Run the script +main(); diff --git a/packages/integrations/src/gcp/src/index.ts b/packages/integrations/src/gcp/src/index.ts index 6005d08991..8a79489c03 100644 --- a/packages/integrations/src/gcp/src/index.ts +++ b/packages/integrations/src/gcp/src/index.ts @@ -37,81 +37,86 @@ async function fetchSecurityFindings(): Promise { fetchSecurityFindings(); */ +import { SecurityCenterClient } from "@google-cloud/security-center"; +import type { google } from "@google-cloud/security-center/build/protos/protos"; +import { decrypt } from "@bubba/app/src/lib/encryption"; +import type { EncryptedData } from "@bubba/app/src/lib/encryption"; + +interface GCPEncryptedCredentials { + project_id: EncryptedData; + client_email: EncryptedData; + private_key: EncryptedData; + organization_id: EncryptedData; +} -import { - SecurityHubClient, - GetFindingsCommand, -} from "@aws-sdk/client-securityhub"; -import type { - SecurityHubClientConfig, - GetFindingsCommandInput, - GetFindingsCommandOutput, -} from "@aws-sdk/client-securityhub"; +type GCPFinding = google.cloud.securitycenter.v1.IFinding; + +interface TransformedFinding { + Id: string; + Title: string; + Compliance: { + Status: string; + }; + Severity: { + Label: string; + }; + [key: string]: any; +} /** - * Fetches security findings from AWS Security Hub + * Fetches security findings from GCP Security Command Center * @returns Promise containing an array of findings */ async function fetch( - AWS_REGION: string, - AWS_ACCESS_KEY_ID: string, - AWS_SECRET_ACCESS_KEY: string, - AWS_SESSION_TOKEN: string, -): Promise { + credentials: GCPEncryptedCredentials +): Promise { try { - // 1. Configure the SecurityHub client with AWS credentials - // For production, prefer using environment variables or AWS credential profiles rather than hardcoding - const config: SecurityHubClientConfig = { - region: AWS_REGION, + // Decrypt credentials + const decryptedProjectId = await decrypt(credentials.project_id); + const decryptedClientEmail = await decrypt(credentials.client_email); + const decryptedPrivateKey = await decrypt(credentials.private_key); + const decryptedOrganizationId = await decrypt(credentials.organization_id); + + // Create a client + const client = new SecurityCenterClient({ credentials: { - accessKeyId: AWS_ACCESS_KEY_ID, - secretAccessKey: AWS_SECRET_ACCESS_KEY, - sessionToken: AWS_SESSION_TOKEN, // Required for temporary credentials + client_email: decryptedClientEmail, + private_key: decryptedPrivateKey, }, - }; - const securityHubClient = new SecurityHubClient(config); - - // 2. Define filters for the findings we want to retrieve. - // Example: get only NEW (unresolved) findings for failed compliance controls. - const params: GetFindingsCommandInput = { - Filters: { - WorkflowStatus: [{ Value: "NEW", Comparison: "EQUALS" }], // only active findings - ComplianceStatus: [{ Value: "FAILED", Comparison: "EQUALS" }], // only failed control checks + projectId: decryptedProjectId, + }); + + const orgResource = `organizations/${decryptedOrganizationId}`; + const filter = 'state="ACTIVE"'; // Filter for only active security findings + + // API request to fetch Security Command Center (SCC) findings + const [findingsResponse] = await client.listFindings({ + parent: `${orgResource}/sources/-`, // "-" fetches findings from all sources + filter: filter, + pageSize: 100, // Adjust page size as needed (default max is 1000) + }); + + const findings = (findingsResponse.findings || []) as GCPFinding[]; + console.log(`Retrieved ${findings.length} security findings.`); + + // Transform findings to match the expected format + const transformedFindings = findings.map((finding: GCPFinding): TransformedFinding => ({ + Id: finding.name || "", + Title: finding.category || "", + Compliance: { + Status: finding.state || "UNKNOWN", }, - MaxResults: 100, // adjust page size as needed (max 100) - }; - - const command = new GetFindingsCommand(params); - let response: GetFindingsCommandOutput = - await securityHubClient.send(command); - - const allFindings: any[] = response.Findings || []; - let nextToken = response.NextToken; - - // 3. Loop to paginate through all results if there are more than 100 findings - while (nextToken) { - const nextPageParams: GetFindingsCommandInput = { - ...params, - NextToken: nextToken, - }; - response = await securityHubClient.send( - new GetFindingsCommand(nextPageParams), - ); - - if (response.Findings) { - allFindings.push(...response.Findings); - } - - nextToken = response.NextToken; - } - - console.log(`Retrieved ${allFindings.length} findings`); - return allFindings; + Severity: { + Label: finding.severity || "UNKNOWN", + }, + ...finding, + })); + + return transformedFindings; } catch (error) { - console.error("Error fetching Security Hub findings:", error); + console.error("Error fetching GCP security findings:", error); throw error; } } -// Export the function for use in other modules export { fetch }; diff --git a/packages/integrations/src/index.ts b/packages/integrations/src/index.ts index 12da8c1042..467cfc391b 100644 --- a/packages/integrations/src/index.ts +++ b/packages/integrations/src/index.ts @@ -1,6 +1,6 @@ import Aws from "./aws/config"; import Deel from "./deel/config"; import Azure from "./azure/config"; -import Gcp from "./gcp/config"; +//import Gcp from "./gcp/config"; -export const integrations = [Aws, Deel, Azure, Gcp]; +export const integrations = [Aws, Deel, Azure]; diff --git a/packages/integrations/tsconfig.json b/packages/integrations/tsconfig.json index 0228760b1e..1ce361b67e 100644 --- a/packages/integrations/tsconfig.json +++ b/packages/integrations/tsconfig.json @@ -1,5 +1,10 @@ { "extends": "@bubba/tsconfig/base.json", "include": ["src", "."], - "exclude": ["node_modules"] + "exclude": ["node_modules"], + "compilerOptions": { + "paths": { + "@bubba/app/*": ["../../apps/app/*"] + } + } } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 77d2bc0751..6f523bdda2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -321,7 +321,7 @@ "@smithy/util-waiter" "^4.0.2" tslib "^2.6.2" -"@aws-sdk/client-securityhub@^3.758.0": +"@aws-sdk/client-securityhub@^3.0.0", "@aws-sdk/client-securityhub@^3.758.0": version "3.758.0" resolved "https://registry.npmjs.org/@aws-sdk/client-securityhub/-/client-securityhub-3.758.0.tgz" integrity sha512-J8pmXU5qOoDIzYr3NTOdmPiTRZW65ayW/tkEMCZ+HxEdjpNDjdPJzuqDZW4uSHcrgLwzKmyXmPNpJb2xxXj6HA== @@ -830,7 +830,7 @@ dependencies: tslib "^2.6.2" -"@azure/core-auth@^1.3.0", "@azure/core-auth@^1.4.0", "@azure/core-auth@^1.8.0", "@azure/core-auth@^1.9.0": +"@azure/core-auth@^1.3.0", "@azure/core-auth@^1.4.0", "@azure/core-auth@^1.5.0", "@azure/core-auth@^1.8.0", "@azure/core-auth@^1.9.0": version "1.9.0" resolved "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.9.0.tgz" integrity sha512-FPwHpZywuyasDSLMqJ6fhbOK3TqUdviZNF8OqRGA4W5Ewib2lEEZ+pBsYcBa88B2NGO/SEnYPGhyBqNlE8ilSw== @@ -839,7 +839,7 @@ "@azure/core-util" "^1.11.0" tslib "^2.6.2" -"@azure/core-client@^1.9.2": +"@azure/core-client@^1.4.0", "@azure/core-client@^1.9.2": version "1.9.3" resolved "https://registry.npmjs.org/@azure/core-client/-/core-client-1.9.3.tgz" integrity sha512-/wGw8fJ4mdpJ1Cum7s1S+VQyXt1ihwKLzfabS1O/RDADnmzVc01dHn44qD0BvGH6KlZNzOMW95tEpKqhkCChPA== @@ -872,7 +872,7 @@ uuid "^8.3.0" xml2js "^0.5.0" -"@azure/core-rest-pipeline@^1.17.0", "@azure/core-rest-pipeline@^1.9.1": +"@azure/core-rest-pipeline@^1.1.0", "@azure/core-rest-pipeline@^1.17.0", "@azure/core-rest-pipeline@^1.9.1": version "1.19.1" resolved "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.19.1.tgz" integrity sha512-zHeoI3NCs53lLBbWNzQycjnYKsA1CVKlnzSNuSFcUDwBp8HHVObePxrM7HaX+Ha5Ks639H7chNC9HOaIhNS03w== @@ -909,6 +909,26 @@ "@azure/abort-controller" "^2.0.0" tslib "^2.6.2" +"@azure/identity@^3.0.0": + version "3.4.2" + resolved "https://registry.npmjs.org/@azure/identity/-/identity-3.4.2.tgz" + integrity sha512-0q5DL4uyR0EZ4RXQKD8MadGH6zTIcloUoS/RVbCpNpej4pwte0xpqYxk8K97Py2RiuUvI7F4GXpoT4046VfufA== + dependencies: + "@azure/abort-controller" "^1.0.0" + "@azure/core-auth" "^1.5.0" + "@azure/core-client" "^1.4.0" + "@azure/core-rest-pipeline" "^1.1.0" + "@azure/core-tracing" "^1.0.0" + "@azure/core-util" "^1.6.1" + "@azure/logger" "^1.0.0" + "@azure/msal-browser" "^3.5.0" + "@azure/msal-node" "^2.5.1" + events "^3.0.0" + jws "^4.0.0" + open "^8.0.0" + stoppable "^1.1.0" + tslib "^2.2.0" + "@azure/identity@^4.8.0": version "4.8.0" resolved "https://registry.npmjs.org/@azure/identity/-/identity-4.8.0.tgz" @@ -936,6 +956,13 @@ dependencies: tslib "^2.6.2" +"@azure/msal-browser@^3.5.0": + version "3.28.1" + resolved "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-3.28.1.tgz" + integrity sha512-OHHEWMB5+Zrix8yKvLVzU3rKDFvh7SOzAzXfICD7YgUXLxfHpTPX2pzOotrri1kskwhHqIj4a5LvhZlIqE7C7g== + dependencies: + "@azure/msal-common" "14.16.0" + "@azure/msal-browser@^4.2.0": version "4.7.0" resolved "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-4.7.0.tgz" @@ -943,11 +970,25 @@ dependencies: "@azure/msal-common" "15.2.1" +"@azure/msal-common@14.16.0": + version "14.16.0" + resolved "https://registry.npmjs.org/@azure/msal-common/-/msal-common-14.16.0.tgz" + integrity sha512-1KOZj9IpcDSwpNiQNjt0jDYZpQvNZay7QAEi/5DLubay40iGYtLzya/jbjRPLyOTZhEKyL1MzPuw2HqBCjceYA== + "@azure/msal-common@15.2.1": version "15.2.1" resolved "https://registry.npmjs.org/@azure/msal-common/-/msal-common-15.2.1.tgz" integrity sha512-eZHtYE5OHDN0o2NahCENkczQ6ffGc0MoUSAI3hpwGpZBHJXaEQMMZPWtIx86da2L9w7uT+Tr/xgJbGwIkvTZTQ== +"@azure/msal-node@^2.5.1": + version "2.16.2" + resolved "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.16.2.tgz" + integrity sha512-An7l1hEr0w1HMMh1LU+rtDtqL7/jw74ORlc9Wnh06v7TU/xpG39/Zdr1ZJu3QpjUfKJ+E0/OXMW8DRSWTlh7qQ== + dependencies: + "@azure/msal-common" "14.16.0" + jsonwebtoken "^9.0.0" + uuid "^8.3.0" + "@azure/msal-node@^3.2.3": version "3.3.0" resolved "https://registry.npmjs.org/@azure/msal-node/-/msal-node-3.3.0.tgz" @@ -1059,7 +1100,7 @@ resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz" integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== -"@babel/parser@^7.25.3", "@babel/parser@^7.26.9": +"@babel/parser@^7.20.15", "@babel/parser@^7.25.3", "@babel/parser@^7.26.9": version "7.26.9" resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz" integrity sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A== @@ -1189,6 +1230,97 @@ posthog-js "^1.215.3" posthog-node "^4.4.1" +"@bubba/app@^workspace:apps/app", "@bubba/app@workspace:*": + version "workspace:apps/app" + resolved "workspace:apps/app" + devDependencies: + "@bubba/db" "workspace:*" + devDependencies: + "@trigger.dev/build" "3.3.17" + "@types/node" "^22.13.10" + "@types/react" "19.0.10" + "@types/react-dom" "19.0.4" + "@types/uuid" "^10.0.0" + postcss "^8.5.3" + tailwindcss "^3.4.17" + typescript "^5.8.2" + dependencies: + "@ai-sdk/openai" "^1.2.5" + "@ai-sdk/provider" "^1.0.11" + "@ai-sdk/react" "^1.1.23" + "@aws-sdk/client-s3" "^3.758.0" + "@aws-sdk/s3-request-presigner" "^3.758.0" + "@browserbasehq/sdk" "^2.4.0" + dependencies: + "@bubba/notifications" "workspace:*" + dependencies: + "@date-fns/tz" "^1.2.0" + "@hookform/resolvers" "^3.10.0" + "@nangohq/frontend" "^0.53.2" + "@novu/headless" "^2.6.6" + "@novu/react" "^2.6.6" + "@prisma/instrumentation" "^6.5.0" + "@tanstack/react-query" "^5.68.0" + "@tanstack/react-table" "^8.21.2" + "@tiptap/extension-table" "^2.11.5" + "@tiptap/extension-table-cell" "^2.11.5" + "@tiptap/extension-table-header" "^2.11.5" + "@tiptap/extension-table-row" "^2.11.5" + "@tiptap/pm" "^2.11.5" + "@tiptap/react" "^2.11.5" + "@tiptap/starter-kit" "^2.11.5" + "@trigger.dev/react-hooks" "3.3.17" + "@trigger.dev/sdk" "3.3.17" + "@types/d3" "^7.4.3" + "@uploadthing/react" "^7.3.0" + "@upstash/ratelimit" "^2.0.5" + ai "^4.1.61" + argon2 "^0.41.1" + bun "^1.2.5" + crypto "^1.0.1" + d3 "^7.9.0" + dub "^0.46.29" + framer-motion "^12.5.0" + geist "^1.3.1" + highlight.js "^11.11.1" + ky "^1.7.5" + languine "^3.1.2" + marked "^15.0.7" + next "^15.2.2" + next-auth "^5.0.0-beta.25" + next-international "^1.3.1" + next-intl "^3.26.5" + next-safe-action "^7.10.4" + next-themes "^0.4.6" + novel "^1.0.2" + novu "^2.6.6" + nuqs "^2.4.1" + playwright-core "^1.51.0" + posthog-js "^1.231.0" + posthog-node "^4.10.1" + puppeteer-core "^24.4.0" + react "^19.0.0" + react-dom "^19.0.0" + react-hook-form "^7.54.2" + react-hotkeys-hook "^4.6.1" + react-intersection-observer "^9.16.0" + react-markdown "^9.1.0" + react-textarea-autosize "^8.5.8" + react-use-draggable-scroll "^0.4.7" + remark-gfm "^4.0.1" + remark-parse "^11.0.0" + resend "^4.1.2" + sonner "^1.7.4" + stripe "^17.7.0" + tiptap-markdown "^0.8.10" + ts-pattern "^5.6.2" + use-debounce "^10.0.4" + use-long-press "^3.2.0" + uuid "^11.1.0" + xml2js "^0.6.2" + yarn "^1.22.22" + zustand "^5.0.3" + "@bubba/db@^workspace:packages/db", "@bubba/db@workspace:*": version "workspace:packages/db" resolved "workspace:packages/db" @@ -1229,12 +1361,20 @@ resolved "workspace:packages/integrations" devDependencies: "@types/node" "^22.13.2" + "@types/node-fetch" "^2.6.2" typescript "^5.7.3" dependencies: "@ai-sdk/openai" "^0.0.66" + "@aws-sdk/client-securityhub" "^3.0.0" + "@azure/identity" "^3.0.0" + dependencies: + "@bubba/app" "workspace:*" + dependencies: + "@google-cloud/security-center" "^7.0.0" "@slack/bolt" "^3.22.0" "@slack/web-api" "^7.8.0" ai "^3.4.33" + node-fetch "^2.6.7" sharp "^0.33.5" zod "^3.24.2" @@ -1806,6 +1946,21 @@ resolved "https://registry.npmjs.org/@google-cloud/precise-date/-/precise-date-4.0.0.tgz" integrity sha512-1TUx3KdaU3cN7nfCdNf+UVqA/PSX29Cjcox3fZZBtINlRrXVTmUkQnCKv2MbBUbCopbK4olAT1IHl76uZyCiVA== +"@google-cloud/security-center@^7.0.0": + version "7.6.0" + resolved "https://registry.npmjs.org/@google-cloud/security-center/-/security-center-7.6.0.tgz" + integrity sha512-pnCMfDjRH3ptbbLP2TYJ2yIOi6GDJ8tRnWhsZXt8+0erRgSNfgFcEgpFZyLsfhH+aOkfTVjKNYFHn60m/DMTTw== + dependencies: + google-gax "^3.5.8" + +"@grpc/grpc-js@~1.8.0": + version "1.8.22" + resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.22.tgz" + integrity sha512-oAjDdN7fzbUi+4hZjKG96MR6KTEubAeMpQEb+77qy+3r0Ua5xTFuie6JOLr4ZZgl5g+W5/uRTS2M1V8mVAFPuA== + dependencies: + "@grpc/proto-loader" "^0.7.0" + "@types/node" ">=12.12.47" + "@grpc/grpc-js@^1.7.1": version "1.12.6" resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.12.6.tgz" @@ -1814,7 +1969,7 @@ "@grpc/proto-loader" "^0.7.13" "@js-sdsl/ordered-map" "^4.4.2" -"@grpc/proto-loader@^0.7.13": +"@grpc/proto-loader@^0.7.0", "@grpc/proto-loader@^0.7.13": version "0.7.13" resolved "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.13.tgz" integrity sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw== @@ -1996,6 +2151,13 @@ resolved "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz" integrity sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw== +"@jsdoc/salty@^0.2.1": + version "0.2.9" + resolved "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.9.tgz" + integrity sha512-yYxMVH7Dqw6nO0d5NIV8OQWnitU8k6vXH8NtgqAfIa/IUqRMxRv/NUJJ08VEKbAakwxlgBl5PJdrU0dMPStsnw== + dependencies: + lodash "^4.17.21" + "@jsonhero/path@^1.0.21": version "1.0.21" resolved "https://registry.npmjs.org/@jsonhero/path/-/path-1.0.21.tgz" @@ -5364,6 +5526,14 @@ resolved "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz" integrity sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg== +"@types/glob@*": + version "8.1.0" + resolved "https://registry.npmjs.org/@types/glob/-/glob-8.1.0.tgz" + integrity sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w== + dependencies: + "@types/minimatch" "^5.1.2" + "@types/node" "*" + "@types/hast@^3.0.0": version "3.0.4" resolved "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz" @@ -5405,7 +5575,12 @@ resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.16.tgz" integrity sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g== -"@types/markdown-it@^13.0.7": +"@types/long@^4.0.0": + version "4.0.2" + resolved "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz" + integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== + +"@types/markdown-it@*", "@types/markdown-it@^13.0.7": version "13.0.9" resolved "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-13.0.9.tgz" integrity sha512-1XPwR0+MgXLWfTn9gCsZ55AHOKW1WN+P9vr0PaQh5aerR9LLQXUbjfEAFhjmEmyoYFWAyuN2Mqkn40MZ4ukjBw== @@ -5413,7 +5588,7 @@ "@types/linkify-it" "^3" "@types/mdurl" "^1" -"@types/markdown-it@^14.0.0": +"@types/markdown-it@^14.0.0", "@types/markdown-it@^14.1.1": version "14.1.2" resolved "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz" integrity sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog== @@ -5443,6 +5618,11 @@ resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz" integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== +"@types/minimatch@^5.1.2": + version "5.1.2" + resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz" + integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== + "@types/ms@*": version "2.1.0" resolved "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz" @@ -5462,14 +5642,14 @@ dependencies: undici-types "~6.20.0" -"@types/node@*", "@types/node@^22.13.10", "@types/node@^22.13.2": +"@types/node@*", "@types/node@>=12.12.47", "@types/node@>=13.7.0", "@types/node@^22.13.10", "@types/node@^22.13.2": version "22.13.10" resolved "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz" integrity sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw== dependencies: undici-types "~6.20.0" -"@types/node-fetch@^2.5.0", "@types/node-fetch@^2.6.4": +"@types/node-fetch@^2.5.0", "@types/node-fetch@^2.6.2", "@types/node-fetch@^2.6.4": version "2.6.12" resolved "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.12.tgz" integrity sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA== @@ -5528,6 +5708,14 @@ resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== +"@types/rimraf@^3.0.2": + version "3.0.2" + resolved "https://registry.npmjs.org/@types/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ== + dependencies: + "@types/glob" "*" + "@types/node" "*" + "@types/send@*": version "0.17.4" resolved "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz" @@ -5771,7 +5959,7 @@ accepts@~1.3.4, accepts@~1.3.8: mime-types "~2.1.34" negotiator "0.6.3" -acorn@^8, acorn@^8.12.1, acorn@^8.14.0, acorn@^8.9.0: +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8, acorn@^8.12.1, acorn@^8.14.0, acorn@^8.9.0: version "8.14.1" resolved "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz" integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== @@ -5781,6 +5969,18 @@ acorn-import-attributes@^1.9.5: resolved "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz" integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ== +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +agent-base@6: + version "6.0.2" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + agent-base@^7.1.0, agent-base@^7.1.2: version "7.1.3" resolved "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz" @@ -5984,6 +6184,11 @@ arraybuffer.prototype.slice@^1.0.4: get-intrinsic "^1.2.6" is-array-buffer "^3.0.4" +arrify@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz" + integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== + asn1@~0.2.3: version "0.2.6" resolved "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz" @@ -6131,7 +6336,7 @@ bare-stream@^2.0.0: dependencies: streamx "^2.21.0" -base64-js@^1.3.1, base64-js@^1.5.1: +base64-js@^1.3.0, base64-js@^1.3.1, base64-js@^1.5.1: version "1.5.1" resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -6182,6 +6387,11 @@ better-call@^1.0.3: set-cookie-parser "^2.7.1" uncrypto "^0.1.3" +bignumber.js@^9.0.0: + version "9.1.2" + resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz" + integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== + binary-extensions@^2.0.0: version "2.3.0" resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" @@ -6203,6 +6413,11 @@ block-stream@*: dependencies: inherits "~2.0.0" +bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + body-parser@1.20.3: version "1.20.3" resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz" @@ -6366,12 +6581,19 @@ caseless@~0.12.0: resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== +catharsis@^0.9.0: + version "0.9.0" + resolved "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz" + integrity sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A== + dependencies: + lodash "^4.17.15" + ccount@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz" integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== -chalk@4.1.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: +chalk@4.1.2, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -6584,97 +6806,6 @@ commander@11.1.0: resolved "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz" integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== -comp.ai@^workspace:apps/app: - version "workspace:apps/app" - resolved "workspace:apps/app" - devDependencies: - "@bubba/db" "workspace:*" - devDependencies: - "@trigger.dev/build" "3.3.17" - "@types/node" "^22.13.10" - "@types/react" "19.0.10" - "@types/react-dom" "19.0.4" - "@types/uuid" "^10.0.0" - postcss "^8.5.3" - tailwindcss "^3.4.17" - typescript "^5.8.2" - dependencies: - "@ai-sdk/openai" "^1.2.5" - "@ai-sdk/provider" "^1.0.11" - "@ai-sdk/react" "^1.1.23" - "@aws-sdk/client-s3" "^3.758.0" - "@aws-sdk/s3-request-presigner" "^3.758.0" - "@browserbasehq/sdk" "^2.4.0" - dependencies: - "@bubba/notifications" "workspace:*" - dependencies: - "@date-fns/tz" "^1.2.0" - "@hookform/resolvers" "^3.10.0" - "@nangohq/frontend" "^0.53.2" - "@novu/headless" "^2.6.6" - "@novu/react" "^2.6.6" - "@prisma/instrumentation" "^6.5.0" - "@tanstack/react-query" "^5.68.0" - "@tanstack/react-table" "^8.21.2" - "@tiptap/extension-table" "^2.11.5" - "@tiptap/extension-table-cell" "^2.11.5" - "@tiptap/extension-table-header" "^2.11.5" - "@tiptap/extension-table-row" "^2.11.5" - "@tiptap/pm" "^2.11.5" - "@tiptap/react" "^2.11.5" - "@tiptap/starter-kit" "^2.11.5" - "@trigger.dev/react-hooks" "3.3.17" - "@trigger.dev/sdk" "3.3.17" - "@types/d3" "^7.4.3" - "@uploadthing/react" "^7.3.0" - "@upstash/ratelimit" "^2.0.5" - ai "^4.1.61" - argon2 "^0.41.1" - bun "^1.2.5" - crypto "^1.0.1" - d3 "^7.9.0" - dub "^0.46.29" - framer-motion "^12.5.0" - geist "^1.3.1" - highlight.js "^11.11.1" - ky "^1.7.5" - languine "^3.1.2" - marked "^15.0.7" - next "^15.2.2" - next-auth "^5.0.0-beta.25" - next-international "^1.3.1" - next-intl "^3.26.5" - next-safe-action "^7.10.4" - next-themes "^0.4.6" - novel "^1.0.2" - novu "^2.6.6" - nuqs "^2.4.1" - playwright-core "^1.51.0" - posthog-js "^1.231.0" - posthog-node "^4.10.1" - puppeteer-core "^24.4.0" - react "^19.0.0" - react-dom "^19.0.0" - react-hook-form "^7.54.2" - react-hotkeys-hook "^4.6.1" - react-intersection-observer "^9.16.0" - react-markdown "^9.1.0" - react-textarea-autosize "^8.5.8" - react-use-draggable-scroll "^0.4.7" - remark-gfm "^4.0.1" - remark-parse "^11.0.0" - resend "^4.1.2" - sonner "^1.7.4" - stripe "^17.7.0" - tiptap-markdown "^0.8.10" - ts-pattern "^5.6.2" - use-debounce "^10.0.4" - use-long-press "^3.2.0" - uuid "^11.1.0" - xml2js "^0.6.2" - yarn "^1.22.22" - zustand "^5.0.3" - concat-map@0.0.1: version "0.0.1" resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" @@ -7221,6 +7352,11 @@ deep-extend@^0.6.0: resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== +deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + deepmerge@^4.3.1: version "4.3.1" resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" @@ -7431,6 +7567,16 @@ dunder-proto@^1.0.0, dunder-proto@^1.0.1: es-errors "^1.3.0" gopd "^1.2.0" +duplexify@^4.0.0: + version "4.1.3" + resolved "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz" + integrity sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA== + dependencies: + end-of-stream "^1.4.1" + inherits "^2.0.3" + readable-stream "^3.1.1" + stream-shift "^1.0.2" + eastasianwidth@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" @@ -7444,7 +7590,7 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" -ecdsa-sig-formatter@1.0.11: +ecdsa-sig-formatter@1.0.11, ecdsa-sig-formatter@^1.0.11: version "1.0.11" resolved "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz" integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== @@ -7523,7 +7669,7 @@ encoding@^0.1.0, encoding@^0.1.13: dependencies: iconv-lite "^0.6.2" -end-of-stream@^1.1.0: +end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== @@ -7769,6 +7915,11 @@ escape-string-regexp@^1.0.5: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" @@ -7779,6 +7930,18 @@ escape-string-regexp@^5.0.0: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz" integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== +escodegen@^1.13.0: + version "1.14.3" + resolved "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + optionalDependencies: + source-map "~0.6.1" + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + escodegen@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz" @@ -7790,11 +7953,25 @@ escodegen@^2.1.0: estraverse "^5.2.0" esutils "^2.0.2" +eslint-visitor-keys@^3.4.1: + version "3.4.3" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + esm-env@^1.2.1: version "1.2.2" resolved "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz" integrity sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA== +espree@^9.0.0: + version "9.6.1" + resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" @@ -7807,7 +7984,12 @@ esrap@^1.4.3: dependencies: "@jridgewell/sourcemap-codec" "^1.4.15" -estraverse@^5.2.0: +estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: version "5.3.0" resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== @@ -7935,7 +8117,7 @@ express@*, express@^4.21.0: utils-merge "1.0.1" vary "~1.1.2" -extend@^3.0.0, extend@~3.0.2: +extend@^3.0.0, extend@^3.0.2, extend@~3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== @@ -8026,6 +8208,16 @@ fast-json-stable-stringify@^2.0.0: resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-text-encoding@^1.0.0, fast-text-encoding@^1.0.3: + version "1.0.6" + resolved "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.6.tgz" + integrity sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w== + fast-xml-parser@4.4.1: version "4.4.1" resolved "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz" @@ -8313,6 +8505,24 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" +gaxios@^5.0.0, gaxios@^5.0.1: + version "5.1.3" + resolved "https://registry.npmjs.org/gaxios/-/gaxios-5.1.3.tgz" + integrity sha512-95hVgBRgEIRQQQHIbnxBXeHbW4TqFk4ZDJW7wmVtvYar72FdhRIo1UGOLS2eRAKCPEdPBWu+M7+A33D9CdX9rA== + dependencies: + extend "^3.0.2" + https-proxy-agent "^5.0.0" + is-stream "^2.0.0" + node-fetch "^2.6.9" + +gcp-metadata@^5.3.0: + version "5.3.0" + resolved "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-5.3.0.tgz" + integrity sha512-FNTkdNEnBdlqF2oatizolQqNANMrcqJt6AAYt99B3y1aLLC8Hc5IOBb+ZnnzllodEEf6xMBp6wRcBbc16fa65w== + dependencies: + gaxios "^5.0.0" + json-bigint "^1.0.0" + geist@^1.3.1: version "1.3.1" resolved "https://registry.npmjs.org/geist/-/geist-1.3.1.tgz" @@ -8437,6 +8647,17 @@ glob@^7.0.3, glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^8.0.0: + version "8.1.0" + resolved "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + glob@10.3.4: version "10.3.4" resolved "https://registry.npmjs.org/glob/-/glob-10.3.4.tgz" @@ -8487,6 +8708,49 @@ globalthis@^1.0.4: define-properties "^1.2.1" gopd "^1.0.1" +google-auth-library@^8.0.2: + version "8.9.0" + resolved "https://registry.npmjs.org/google-auth-library/-/google-auth-library-8.9.0.tgz" + integrity sha512-f7aQCJODJFmYWN6PeNKzgvy9LI2tYmXnzpNDHEjG5sDNPgGb2FXQyTBnXeSH+PAtpKESFD+LmHw3Ox3mN7e1Fg== + dependencies: + arrify "^2.0.0" + base64-js "^1.3.0" + ecdsa-sig-formatter "^1.0.11" + fast-text-encoding "^1.0.0" + gaxios "^5.0.0" + gcp-metadata "^5.3.0" + gtoken "^6.1.0" + jws "^4.0.0" + lru-cache "^6.0.0" + +google-gax@^3.5.8: + version "3.6.1" + resolved "https://registry.npmjs.org/google-gax/-/google-gax-3.6.1.tgz" + integrity sha512-g/lcUjGcB6DSw2HxgEmCDOrI/CByOwqRvsuUvNalHUK2iPPPlmAIpbMbl62u0YufGMr8zgE3JL7th6dCb1Ry+w== + dependencies: + "@grpc/grpc-js" "~1.8.0" + "@grpc/proto-loader" "^0.7.0" + "@types/long" "^4.0.0" + "@types/rimraf" "^3.0.2" + abort-controller "^3.0.0" + duplexify "^4.0.0" + fast-text-encoding "^1.0.3" + google-auth-library "^8.0.2" + is-stream-ended "^0.1.4" + node-fetch "^2.6.1" + object-hash "^3.0.0" + proto3-json-serializer "^1.0.0" + protobufjs "7.2.4" + protobufjs-cli "1.1.1" + retry-request "^5.0.0" + +google-p12-pem@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-4.0.1.tgz" + integrity sha512-WPkN4yGtz05WZ5EhtlxNDWPhC4JIic6G8ePitwUWy4l+XPVYec+a0j0Ts47PDtW59y3RwAhUd9/h9ZZ63px6RQ== + dependencies: + node-forge "^1.3.1" + gopd@^1.0.1, gopd@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz" @@ -8497,7 +8761,7 @@ graceful-fs@4.2.10: resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== -graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.2.4: +graceful-fs@^4.1.2, graceful-fs@^4.1.5, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.4: version "4.2.11" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -8520,6 +8784,15 @@ gray-matter@^4.0.3: section-matter "^1.0.0" strip-bom-string "^1.0.0" +gtoken@^6.1.0: + version "6.1.2" + resolved "https://registry.npmjs.org/gtoken/-/gtoken-6.1.2.tgz" + integrity sha512-4ccGpzz7YAr7lxrT2neugmXQ3hP9ho2gcaityLVkiUecAiwiy60Ii8gRbZeOsXV19fYaRjgBSshs8kXw+NKCPQ== + dependencies: + gaxios "^5.0.1" + google-p12-pem "^4.0.0" + jws "^4.0.0" + handlebars@^4.7.7: version "4.7.8" resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz" @@ -8697,6 +8970,14 @@ https@^1.0.0: resolved "https://registry.npmjs.org/https/-/https-1.0.0.tgz" integrity sha512-4EC57ddXrkaF0x83Oj8sM6SLQHAWXw90Skqu2M4AEWENZ3F02dFJE/GARA8igO79tcgYqGrD7ae4f5L3um2lgg== +https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + https-proxy-agent@^7.0.0, https-proxy-agent@^7.0.6: version "7.0.6" resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz" @@ -9114,6 +9395,11 @@ is-stream@^3.0.0: resolved "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz" integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== +is-stream-ended@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz" + integrity sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw== + is-string@^1.0.7, is-string@^1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz" @@ -9309,6 +9595,13 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" +js2xmlparser@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz" + integrity sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA== + dependencies: + xmlcreate "^2.0.4" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" @@ -9319,6 +9612,27 @@ jsbn@1.1.0: resolved "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz" integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== +jsdoc@^4.0.0: + version "4.0.4" + resolved "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.4.tgz" + integrity sha512-zeFezwyXeG4syyYHbvh1A967IAqq/67yXtXvuL5wnqCkFZe8I0vKfm+EO+YEvLguo6w9CDUbrAXVtJSHh2E8rw== + dependencies: + "@babel/parser" "^7.20.15" + "@jsdoc/salty" "^0.2.1" + "@types/markdown-it" "^14.1.1" + bluebird "^3.7.2" + catharsis "^0.9.0" + escape-string-regexp "^2.0.0" + js2xmlparser "^4.0.2" + klaw "^3.0.0" + markdown-it "^14.1.0" + markdown-it-anchor "^8.6.7" + marked "^4.0.10" + mkdirp "^1.0.4" + requizzle "^0.2.3" + strip-json-comments "^3.1.0" + underscore "~1.13.2" + jsdom@^26.0.0: version "26.0.0" resolved "https://registry.npmjs.org/jsdom/-/jsdom-26.0.0.tgz" @@ -9351,6 +9665,13 @@ jsesc@^3.0.2: resolved "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz" integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== +json-bigint@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz" + integrity sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ== + dependencies: + bignumber.js "^9.0.0" + json-schema@0.4.0, json-schema@^0.4.0: version "0.4.0" resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz" @@ -9505,6 +9826,13 @@ kind-of@^6.0.0, kind-of@^6.0.2: resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== +klaw@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz" + integrity sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g== + dependencies: + graceful-fs "^4.1.9" + kleur@^3.0.3: version "3.0.3" resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" @@ -9561,6 +9889,14 @@ leac@^0.6.0: resolved "https://registry.npmjs.org/leac/-/leac-0.6.0.tgz" integrity sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg== +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + lightningcss@1.29.2: version "1.29.2" resolved "https://registry.npmjs.org/lightningcss/-/lightningcss-1.29.2.tgz" @@ -9673,7 +10009,7 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -lodash@^4.17.21: +lodash@^4.17.15, lodash@^4.17.21: version "4.17.21" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -9774,6 +10110,13 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + lru-cache@^7.14.1: version "7.18.3" resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz" @@ -9808,7 +10151,7 @@ make-dir@^3.0.0: dependencies: semver "^6.0.0" -markdown-it@^14.0.0, markdown-it@^14.1.0: +markdown-it@*, markdown-it@^14.0.0, markdown-it@^14.1.0: version "14.1.0" resolved "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz" integrity sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg== @@ -9820,6 +10163,11 @@ markdown-it@^14.0.0, markdown-it@^14.1.0: punycode.js "^2.3.1" uc.micro "^2.1.0" +markdown-it-anchor@^8.6.7: + version "8.6.7" + resolved "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz" + integrity sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA== + markdown-it-task-lists@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/markdown-it-task-lists/-/markdown-it-task-lists-2.1.1.tgz" @@ -9830,6 +10178,11 @@ markdown-table@^3.0.0: resolved "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz" integrity sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw== +marked@^4.0.10: + version "4.3.0" + resolved "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz" + integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A== + marked@7.0.4: version "7.0.4" resolved "https://registry.npmjs.org/marked/-/marked-7.0.4.tgz" @@ -10382,6 +10735,13 @@ minimatch@^3.1.1: dependencies: brace-expansion "^1.1.7" +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + minimatch@9.0.1: version "9.0.1" resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz" @@ -10418,6 +10778,11 @@ mitt@^3.0.1: dependencies: minimist "^1.2.6" +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + mlly@^1.7.4: version "1.7.4" resolved "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz" @@ -10630,7 +10995,7 @@ node-domexception@1.0.0, node-domexception@^1.0.0: resolved "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz" integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== -node-fetch@^2.6.7: +node-fetch@^2.6.1, node-fetch@^2.6.7, node-fetch@^2.6.9: version "2.7.0" resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== @@ -10646,6 +11011,11 @@ node-fetch@^3.3.2: fetch-blob "^3.1.4" formdata-polyfill "^4.0.10" +node-forge@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + node-gyp@^3.0.3: version "3.8.0" resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz" @@ -10871,7 +11241,7 @@ onetime@^6.0.0: dependencies: mimic-fn "^4.0.0" -open@^8.4.0: +open@^8.0.0, open@^8.4.0: version "8.4.2" resolved "https://registry.npmjs.org/open/-/open-8.4.2.tgz" integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== @@ -10890,6 +11260,18 @@ open@^10.1.0: is-inside-container "^1.0.0" is-wsl "^3.1.0" +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + ora@5.4.1, ora@^5.4.1: version "5.4.1" resolved "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz" @@ -11223,12 +11605,12 @@ picocolors@^1.0.0, picocolors@^1.0.1, picocolors@^1.1.0, picocolors@^1.1.1: resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1, "picomatch@^3 || ^4": +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -picomatch@^4.0.2: +"picomatch@^3 || ^4", picomatch@^4.0.2: version "4.0.2" resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz" integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== @@ -11444,12 +11826,12 @@ posthog-node@^4.10.1, posthog-node@^4.4.1, posthog-node@^4.5.2: dependencies: axios "^1.7.4" -preact@10.11.3, preact@>=10: +preact@10.11.3: version "10.11.3" resolved "https://registry.npmjs.org/preact/-/preact-10.11.3.tgz" integrity sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg== -preact@10.24.3: +preact@10.24.3, preact@>=10: version "10.24.3" resolved "https://registry.npmjs.org/preact/-/preact-10.24.3.tgz" integrity sha512-Z2dPnBnMUfyQfSQ+GBdsGa16hz35YmLmtTLhM169uW944hYL6xzTYkJjC07j+Wosz733pMWx0fgON3JNw1jJQA== @@ -11480,6 +11862,11 @@ preferred-pm@^4.1.1: find-yarn-workspace-root2 "1.2.16" which-pm "^3.0.1" +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== + prettier@3.3.3: version "3.3.3" resolved "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz" @@ -11727,7 +12114,32 @@ proto-list@~1.2.1: resolved "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz" integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== -protobufjs@^7.2.5, protobufjs@^7.3.0: +proto3-json-serializer@^1.0.0: + version "1.1.1" + resolved "https://registry.npmjs.org/proto3-json-serializer/-/proto3-json-serializer-1.1.1.tgz" + integrity sha512-AwAuY4g9nxx0u52DnSMkqqgyLHaW/XaPLtaAo3y/ZCfeaQB/g4YDH4kb8Wc/mWzWvu0YjOznVnfn373MVZZrgw== + dependencies: + protobufjs "^7.0.0" + +protobufjs@7.2.4, protobufjs@^7.0.0: + version "7.2.4" + resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.4.tgz" + integrity sha512-AT+RJgD2sH8phPmCf7OUZR8xGdcJRga4+1cOaXJ64hvcSkVhNcRHOwIxUatPH15+nj59WAGTDv3LSGZPEQbJaQ== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/node" ">=13.7.0" + long "^5.0.0" + +protobufjs@^7.0.0, protobufjs@^7.2.5, protobufjs@^7.3.0: version "7.4.0" resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz" integrity sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw== @@ -11745,6 +12157,22 @@ protobufjs@^7.2.5, protobufjs@^7.3.0: "@types/node" ">=13.7.0" long "^5.0.0" +protobufjs-cli@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/protobufjs-cli/-/protobufjs-cli-1.1.1.tgz" + integrity sha512-VPWMgIcRNyQwWUv8OLPyGQ/0lQY/QTQAVN5fh+XzfDwsVw1FZ2L3DM/bcBf8WPiRz2tNpaov9lPZfNcmNo6LXA== + dependencies: + chalk "^4.0.0" + escodegen "^1.13.0" + espree "^9.0.0" + estraverse "^5.1.0" + glob "^8.0.0" + jsdoc "^4.0.0" + minimist "^1.2.0" + semver "^7.1.2" + tmp "^0.2.1" + uglify-js "^3.7.7" + proxy-addr@~2.0.7: version "2.0.7" resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" @@ -12154,7 +12582,7 @@ readable-stream@^2.0.6: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.4.0: +readable-stream@^3.1.1, readable-stream@^3.4.0: version "3.6.2" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -12334,6 +12762,13 @@ require-in-the-middle@^7.1.1: module-details-from-path "^1.0.3" resolve "^1.22.8" +requizzle@^0.2.3: + version "0.2.4" + resolved "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz" + integrity sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw== + dependencies: + lodash "^4.17.21" + resend@^4.1.2: version "4.1.2" resolved "https://registry.npmjs.org/resend/-/resend-4.1.2.tgz" @@ -12368,6 +12803,14 @@ retry@^0.13.1: resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== +retry-request@^5.0.0: + version "5.0.2" + resolved "https://registry.npmjs.org/retry-request/-/retry-request-5.0.2.tgz" + integrity sha512-wfI3pk7EE80lCIXprqh7ym48IHYdwmAAzESdbU8Q9l7pnRCk9LEhpbOTNKjz6FARLm/Bl5m+4F0ABxOkYUujSQ== + dependencies: + debug "^4.1.1" + extend "^3.0.2" + reusify@^1.0.4: version "1.1.0" resolved "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz" @@ -12556,7 +12999,7 @@ semver@^6.0.0, semver@^6.3.1: resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.5, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3, semver@^7.7.1: +semver@^7.1.2, semver@^7.3.5, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.3, semver@^7.7.1: version "7.7.1" resolved "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz" integrity sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA== @@ -12950,6 +13393,11 @@ stoppable@^1.1.0: resolved "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz" integrity sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw== +stream-shift@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz" + integrity sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ== + streamsearch@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz" @@ -13087,6 +13535,11 @@ strip-json-comments@~2.0.1: resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== +strip-json-comments@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + stripe@^17.7.0: version "17.7.0" resolved "https://registry.npmjs.org/stripe/-/stripe-17.7.0.tgz" @@ -13415,6 +13868,11 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" +tmp@^0.2.1: + version "0.2.3" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz" + integrity sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w== + to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" @@ -13560,6 +14018,13 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== + dependencies: + prelude-ls "~1.1.2" + type-fest@^0.21.3: version "0.21.3" resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" @@ -13660,7 +14125,7 @@ ufo@^1.5.4: resolved "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz" integrity sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ== -uglify-js@^3.1.4: +uglify-js@^3.1.4, uglify-js@^3.7.7: version "3.19.3" resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz" integrity sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ== @@ -13685,6 +14150,11 @@ uncrypto@^0.1.3: resolved "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz" integrity sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q== +underscore@~1.13.2: + version "1.13.7" + resolved "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz" + integrity sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g== + undici-types@~5.26.4: version "5.26.5" resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" @@ -14152,6 +14622,11 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2 || 3 || 4" +word-wrap@~1.2.3: + version "1.2.5" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + wordwrap@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" @@ -14274,6 +14749,11 @@ xmlchars@^2.2.0: resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== +xmlcreate@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz" + integrity sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg== + xmlhttprequest-ssl@~2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz" @@ -14294,6 +14774,11 @@ yallist@^3.0.2: resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + yaml@^2.3.4, yaml@^2.7.0: version "2.7.0" resolved "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz" From b7b32427687dc588bdffa0bce20b4248c48e681d Mon Sep 17 00:00:00 2001 From: 7yntax Date: Wed, 19 Mar 2025 12:50:12 +0000 Subject: [PATCH 11/18] COM-20 updated import structure --- packages/integrations/src/azure/src/index.ts | 92 +++++++++++++++----- 1 file changed, 70 insertions(+), 22 deletions(-) diff --git a/packages/integrations/src/azure/src/index.ts b/packages/integrations/src/azure/src/index.ts index 1b9a9f0cf8..5be3d20a80 100644 --- a/packages/integrations/src/azure/src/index.ts +++ b/packages/integrations/src/azure/src/index.ts @@ -13,9 +13,25 @@ interface AzureEncryptedCredentials { } interface ComplianceControl { + Id: string; name: string; + standard: string; + Title: string; description: string; state: string; + Compliance: { + Status: string; + }; + Severity: { + Label: string; + }; + Remediation: { + Recommendation: { + Text: string; + Url: string; + }; + }; + Description: string; } interface ComplianceStandard { @@ -33,19 +49,31 @@ interface AzureResponse { }>; } +interface AzureControlResponse { + name: string; + properties?: { + description: string; + state: string; + }; +} + /** * Fetches compliance data from Azure Security Center * @returns Promise containing an array of compliance standards with their controls */ async function fetchComplianceData( - credentials: AzureEncryptedCredentials -): Promise { + credentials: AzureEncryptedCredentials, +): Promise { try { // Decrypt credentials const decryptedClientId = await decrypt(credentials.AZURE_CLIENT_ID); const decryptedTenantId = await decrypt(credentials.AZURE_TENANT_ID); - const decryptedClientSecret = await decrypt(credentials.AZURE_CLIENT_SECRET); - const decryptedSubscriptionId = await decrypt(credentials.AZURE_SUBSCRIPTION_ID); + const decryptedClientSecret = await decrypt( + credentials.AZURE_CLIENT_SECRET, + ); + const decryptedSubscriptionId = await decrypt( + credentials.AZURE_SUBSCRIPTION_ID, + ); const BASE_URL = `https://management.azure.com/subscriptions/${decryptedSubscriptionId}/providers/Microsoft.Security`; @@ -56,7 +84,9 @@ async function fetchComplianceData( // Get access token const credential = new DefaultAzureCredential(); - const tokenResponse = await credential.getToken("https://management.azure.com/.default"); + const tokenResponse = await credential.getToken( + "https://management.azure.com/.default", + ); const token = tokenResponse.token; // Fetch all compliance standards @@ -69,15 +99,20 @@ async function fetchComplianceData( }); if (!standardsResponse.ok) { - throw new Error(`Failed to fetch standards: ${standardsResponse.statusText}`); + throw new Error( + `Failed to fetch standards: ${standardsResponse.statusText}`, + ); } - const standardsData = await standardsResponse.json() as AzureResponse; + const standardsData = (await standardsResponse.json()) as AzureResponse; const standards = standardsData.value.map((standard) => standard.name); // Fetch controls for each standard const complianceData: ComplianceStandard[] = []; + // Fetch details for each control + const controlDetails: ComplianceControl[] = []; + for (const standard of standards) { const controlsUrl = `${BASE_URL}/regulatoryComplianceStandards/${standard}/regulatoryComplianceControls?api-version=${API_VERSION}`; const controlsResponse = await nodeFetch(controlsUrl, { @@ -88,16 +123,15 @@ async function fetchComplianceData( }); if (!controlsResponse.ok) { - console.error(`Failed to fetch controls for ${standard}: ${controlsResponse.statusText}`); + console.error( + `Failed to fetch controls for ${standard}: ${controlsResponse.statusText}`, + ); continue; } - const controlsData = await controlsResponse.json() as AzureResponse; + const controlsData = (await controlsResponse.json()) as AzureResponse; const controls = controlsData.value.map((control) => control.name); - // Fetch details for each control - const controlDetails: ComplianceControl[] = []; - for (const control of controls) { const detailsUrl = `${BASE_URL}/regulatoryComplianceStandards/${standard}/regulatoryComplianceControls/${control}?api-version=${API_VERSION}`; const detailsResponse = await nodeFetch(detailsUrl, { @@ -108,28 +142,42 @@ async function fetchComplianceData( }); if (!detailsResponse.ok) { - console.error(`Failed to fetch details for ${control} in ${standard}: ${detailsResponse.statusText}`); + console.error( + `Failed to fetch details for ${control} in ${standard}: ${detailsResponse.statusText}`, + ); continue; } - const detailsData = await detailsResponse.json() as AzureResponse; - const controlDetail = detailsData.value[0]; + const detailsData = + (await detailsResponse.json()) as AzureControlResponse; + const controlDetail = detailsData; if (controlDetail?.properties) { controlDetails.push({ + Id: detailsUrl, name: control, + standard: standard, + Title: controlDetail.properties.description, description: controlDetail.properties.description, state: controlDetail.properties.state, + Compliance: { + Status: controlDetail.properties.state, + }, + Severity: { + Label: controlDetail.properties.state, + }, + Description: controlDetail.properties.description, + Remediation: { + Recommendation: { + Text: controlDetail.properties.description, + Url: '', + }, + }, }); } } - - complianceData.push({ - name: standard, - controls: controlDetails, - }); } - - return complianceData; + console.log(JSON.stringify(controlDetails, null, 2)); + return controlDetails; } catch (error) { console.error("Error fetching Azure compliance data:", error); throw error; From cc550f1c136c2830ede01f873e31cf51f0fc4f55 Mon Sep 17 00:00:00 2001 From: 7yntax Date: Wed, 19 Mar 2025 13:00:27 +0000 Subject: [PATCH 12/18] COM-20 formating --- packages/integrations/src/azure/src/index.ts | 46 ++++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/packages/integrations/src/azure/src/index.ts b/packages/integrations/src/azure/src/index.ts index 5be3d20a80..28df82e210 100644 --- a/packages/integrations/src/azure/src/index.ts +++ b/packages/integrations/src/azure/src/index.ts @@ -13,7 +13,7 @@ interface AzureEncryptedCredentials { } interface ComplianceControl { - Id: string; + Id: string; name: string; standard: string; Title: string; @@ -25,13 +25,13 @@ interface ComplianceControl { Severity: { Label: string; }; - Remediation: { - Recommendation: { - Text: string; - Url: string; - }; - }; - Description: string; + Remediation: { + Recommendation: { + Text: string; + Url: string; + }; + }; + Description: string; } interface ComplianceStandard { @@ -153,25 +153,25 @@ async function fetchComplianceData( const controlDetail = detailsData; if (controlDetail?.properties) { controlDetails.push({ - Id: detailsUrl, + Id: detailsUrl, name: control, standard: standard, - Title: controlDetail.properties.description, + Title: controlDetail.properties.description, description: controlDetail.properties.description, state: controlDetail.properties.state, - Compliance: { - Status: controlDetail.properties.state, - }, - Severity: { - Label: controlDetail.properties.state, - }, - Description: controlDetail.properties.description, - Remediation: { - Recommendation: { - Text: controlDetail.properties.description, - Url: '', - }, - }, + Compliance: { + Status: controlDetail.properties.state, + }, + Severity: { + Label: controlDetail.properties.state, + }, + Description: controlDetail.properties.description, + Remediation: { + Recommendation: { + Text: controlDetail.properties.description, + Url: "", + }, + }, }); } } From 122fa66bc9192b1223ef9d732ad44161f993e119 Mon Sep 17 00:00:00 2001 From: 7yntax Date: Wed, 19 Mar 2025 14:59:02 +0000 Subject: [PATCH 13/18] COM-20 fixed logo type --- apps/app/src/components/integrations/integrations-card.tsx | 2 +- apps/app/src/components/integrations/integrations.tsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/app/src/components/integrations/integrations-card.tsx b/apps/app/src/components/integrations/integrations-card.tsx index e0d80c2482..501a0e10ab 100644 --- a/apps/app/src/components/integrations/integrations-card.tsx +++ b/apps/app/src/components/integrations/integrations-card.tsx @@ -34,7 +34,7 @@ import { } from "@bubba/ui/tooltip"; // Add a type for the logo -type LogoType = StaticImageData | { light: string; dark: string }; +export type LogoType = StaticImageData | { light: string; dark: string }; export function IntegrationsCard({ id, diff --git a/apps/app/src/components/integrations/integrations.tsx b/apps/app/src/components/integrations/integrations.tsx index 8491e23059..1c3cf35807 100644 --- a/apps/app/src/components/integrations/integrations.tsx +++ b/apps/app/src/components/integrations/integrations.tsx @@ -10,7 +10,7 @@ import { } from "@bubba/ui/accordion"; import { Button } from "@bubba/ui/button"; import { useRouter, useSearchParams } from "next/navigation"; -import { IntegrationsCard } from "./integrations-card"; +import { IntegrationsCard, type LogoType } from "./integrations-card"; // Define a type for the integration object to handle both formats type IntegrationType = { @@ -143,7 +143,7 @@ export function OrganizationIntegration({ // Handle different integration formats const integrationProps = { id: integration.id, - logo: integration.logo, + logo: integration.logo as LogoType, name: integration.name, short_description: "short_description" in integration From 6a0b3a6df61a7742ecdd670a29d8873ee4e0292b Mon Sep 17 00:00:00 2001 From: 7yntax Date: Wed, 19 Mar 2025 17:02:47 +0000 Subject: [PATCH 14/18] COM-20 updated test results component for ssr --- .../all/[testId]/components/TestDetails.tsx | 47 +- .../tests/all/actions/refreshTests.ts | 2 - .../tables/tests/filter-toolbar.tsx | 6 +- yarn.lock | 1860 +++++++++-------- 4 files changed, 957 insertions(+), 958 deletions(-) diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/[testId]/components/TestDetails.tsx b/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/[testId]/components/TestDetails.tsx index d2d33bba85..cd5bc96c77 100644 --- a/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/[testId]/components/TestDetails.tsx +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/[testId]/components/TestDetails.tsx @@ -4,7 +4,7 @@ import { Card, CardContent, CardHeader, CardTitle } from "@bubba/ui/card"; import { useI18n } from "@/locales/client"; import { useTest } from "../../hooks/useTest"; import { Skeleton } from "@bubba/ui/skeleton"; -import { AlertCircle, CheckCircle2, Clock, Info, XCircle, User as UserIcon } from "lucide-react"; +import { AlertCircle, User as UserIcon } from "lucide-react"; import { Alert, AlertDescription, AlertTitle } from "@bubba/ui/alert"; import { Label } from "@bubba/ui/label"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@bubba/ui/tabs"; @@ -12,8 +12,7 @@ import { Badge } from "@bubba/ui/badge"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@bubba/ui/table"; import { AssigneeSection } from "./AssigneeSection"; import { TestComment } from "./TestComments"; -import { unstable_cache } from "next/cache"; -import { db } from "@bubba/db"; +import type { Test } from "../../types"; import type { User } from "@bubba/db/types"; interface CloudTestDetailsProps { @@ -21,17 +20,6 @@ interface CloudTestDetailsProps { users: User[]; } -const getUsers = unstable_cache( - async (organizationId: string) => { - const users = await db.user.findMany({ - where: { organizationId: organizationId }, - }); - - return users; - }, - ["users-cache"], -); - export function TestDetails({ testId, users }: CloudTestDetailsProps) { const t = useI18n(); const { cloudTest, isLoading, error, mutate } = useTest(testId); @@ -96,6 +84,11 @@ export function TestDetails({ testId, users }: CloudTestDetailsProps) { } }; + // Check if resources exist and have items + const hasResources = cloudTest.resultDetails?.Resources && cloudTest.resultDetails.Resources.length > 0; + // Set default tab based on resources availability + const defaultTab = hasResources ? "resources" : "raw-log"; + // // Helper function to get the appropriate icon for test run status // const getRunStatusIcon = (status: string, result: string | null) => { // if (status === "COMPLETED") { @@ -161,18 +154,19 @@ export function TestDetails({ testId, users }: CloudTestDetailsProps) { - + - Resources + {hasResources && Resources} Raw Log - - - - Resources - - + {hasResources && ( + + + + Resources + + @@ -184,7 +178,7 @@ export function TestDetails({ testId, users }: CloudTestDetailsProps) { {cloudTest.resultDetails?.Resources.map((resource: any) => ( - +
{resource.Id} @@ -210,9 +204,10 @@ export function TestDetails({ testId, users }: CloudTestDetailsProps) { ))}
-
-
-
+
+
+
+ )} diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests.ts b/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests.ts index f5c726a8b0..f48b565279 100644 --- a/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests.ts +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests.ts @@ -128,7 +128,5 @@ export const refreshTestsAction = authActionClient console.log("Refreshing tests"); - revalidatePath("/tests"); - return { success: true }; }); diff --git a/apps/app/src/components/tables/tests/filter-toolbar.tsx b/apps/app/src/components/tables/tests/filter-toolbar.tsx index ee70546d85..2f375bf574 100644 --- a/apps/app/src/components/tables/tests/filter-toolbar.tsx +++ b/apps/app/src/components/tables/tests/filter-toolbar.tsx @@ -3,13 +3,10 @@ import { useI18n } from "@/locales/client"; import { Button } from "@bubba/ui/button"; import { Input } from "@bubba/ui/input"; -import { Plus, Search, X } from "lucide-react"; +import { Search, X } from "lucide-react"; import { usePathname, useRouter, useSearchParams } from "next/navigation"; -import { useQueryState } from "nuqs"; import { useCallback, useEffect, useState, useTransition } from "react"; import { useDebounce } from "use-debounce"; -import Link from "next/link"; - import { refreshTestsAction } from "@/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests"; import { useAction } from "next-safe-action/hooks"; @@ -33,6 +30,7 @@ export function FilterToolbar({ isEmpty }: FilterToolbarProps) { const refreshTests = useAction(refreshTestsAction, { onSuccess: () => { toast.success(t("tests.actions.refresh_success")); + window.location.reload(); }, onError: () => { toast.error(t("tests.actions.refresh_error")); diff --git a/yarn.lock b/yarn.lock index 13931ffb68..169efdd452 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,6 +1,6 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 -# bun ./bun.lockb --hash: 40B202A945C618A2-6a409068c7ee27d0-D1343BE3FF38BF76-70afee0d619d282f +# bun ./bun.lockb --hash: 0000000000000000-0000000000000000-0000000000000000-0000000000000000 "@ai-sdk/openai@^0.0.66": @@ -45,20 +45,20 @@ resolved "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-1.0.20.tgz" integrity sha512-ngg/RGpnA00eNOWEtXHenpX1MsM2QshQh4QJFjUfwcqHpM5kTfG7je7Rc3HcEDP+OkRVv2GF+X4fC1Vfcnl8Ow== dependencies: - nanoid "3.3.6" "@ai-sdk/provider" "0.0.24" - secure-json-parse "2.7.0" eventsource-parser "1.1.2" + nanoid "3.3.6" + secure-json-parse "2.7.0" "@ai-sdk/provider-utils@1.0.22": version "1.0.22" resolved "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-1.0.22.tgz" integrity sha512-YHK2rpj++wnLVc9vPGzGFP3Pjeld2MwhKinetA0zKXOoHAT/Jit5O8kZsxcSlJPu9wvcGT1UGZEjZrtO7PfFOQ== dependencies: - nanoid "^3.3.7" "@ai-sdk/provider" "0.0.26" - secure-json-parse "^2.7.0" eventsource-parser "^1.1.2" + nanoid "^3.3.7" + secure-json-parse "^2.7.0" "@ai-sdk/provider-utils@2.1.14": version "2.1.14" @@ -75,10 +75,10 @@ resolved "https://registry.npmjs.org/@ai-sdk/react/-/react-0.0.70.tgz" integrity sha512-GnwbtjW4/4z7MleLiW+TOZC2M29eCg1tOUpuEiYFMmFNZK8mkrqM0PFZMo6UsYeUYMWqEOOcPOU9OQVJMJh7IQ== dependencies: + "@ai-sdk/provider-utils" "1.0.22" + "@ai-sdk/ui-utils" "0.0.50" swr "^2.2.5" throttleit "2.1.0" - "@ai-sdk/ui-utils" "0.0.50" - "@ai-sdk/provider-utils" "1.0.22" "@ai-sdk/react@1.1.24", "@ai-sdk/react@^1.1.23": version "1.1.24" @@ -95,28 +95,28 @@ resolved "https://registry.npmjs.org/@ai-sdk/solid/-/solid-0.0.54.tgz" integrity sha512-96KWTVK+opdFeRubqrgaJXoNiDP89gNxFRWUp0PJOotZW816AbhUf4EnDjBjXTLjXL1n0h8tGSE9sZsRkj9wQQ== dependencies: - "@ai-sdk/ui-utils" "0.0.50" "@ai-sdk/provider-utils" "1.0.22" + "@ai-sdk/ui-utils" "0.0.50" "@ai-sdk/svelte@0.0.57": version "0.0.57" resolved "https://registry.npmjs.org/@ai-sdk/svelte/-/svelte-0.0.57.tgz" integrity sha512-SyF9ItIR9ALP9yDNAD+2/5Vl1IT6kchgyDH8xkmhysfJI6WrvJbtO1wdQ0nylvPLcsPoYu+cAlz1krU4lFHcYw== dependencies: - sswr "^2.1.0" - "@ai-sdk/ui-utils" "0.0.50" "@ai-sdk/provider-utils" "1.0.22" + "@ai-sdk/ui-utils" "0.0.50" + sswr "^2.1.0" "@ai-sdk/ui-utils@0.0.50": version "0.0.50" resolved "https://registry.npmjs.org/@ai-sdk/ui-utils/-/ui-utils-0.0.50.tgz" integrity sha512-Z5QYJVW+5XpSaJ4jYCCAVG7zIAuKOOdikhgpksneNmKvx61ACFaf98pmOd+xnjahl0pIlc/QIe6O4yVaJ1sEaw== dependencies: - json-schema "^0.4.0" "@ai-sdk/provider" "0.0.26" + "@ai-sdk/provider-utils" "1.0.22" + json-schema "^0.4.0" secure-json-parse "^2.7.0" zod-to-json-schema "^3.23.3" - "@ai-sdk/provider-utils" "1.0.22" "@ai-sdk/ui-utils@1.1.20": version "1.1.20" @@ -132,9 +132,9 @@ resolved "https://registry.npmjs.org/@ai-sdk/vue/-/vue-0.0.59.tgz" integrity sha512-+ofYlnqdc8c4F6tM0IKF0+7NagZRAiqBJpGDJ+6EYhDW8FHLUP/JFBgu32SjxSxC6IKFZxEnl68ZoP/Z38EMlw== dependencies: - swrv "^1.0.4" - "@ai-sdk/ui-utils" "0.0.50" "@ai-sdk/provider-utils" "1.0.22" + "@ai-sdk/ui-utils" "0.0.50" + swrv "^1.0.4" "@alloc/quick-lru@^5.2.0": version "5.2.0" @@ -165,12 +165,12 @@ resolved "https://registry.npmjs.org/@auth/core/-/core-0.37.2.tgz" integrity sha512-kUvzyvkcd6h1vpeMAojK2y7+PAV5H+0Cc9+ZlKYDFhDY31AlvsB+GW5vNO4qE3Y07KeQgvNO9U0QUx/fN62kBw== dependencies: - jose "^5.9.3" - cookie "0.7.1" - preact "10.11.3" "@panva/hkdf" "^1.2.1" - oauth4webapi "^3.0.0" "@types/cookie" "0.6.0" + cookie "0.7.1" + jose "^5.9.3" + oauth4webapi "^3.0.0" + preact "10.11.3" preact-render-to-string "5.2.3" "@auth/core@0.38.0": @@ -835,64 +835,64 @@ resolved "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.9.0.tgz" integrity sha512-FPwHpZywuyasDSLMqJ6fhbOK3TqUdviZNF8OqRGA4W5Ewib2lEEZ+pBsYcBa88B2NGO/SEnYPGhyBqNlE8ilSw== dependencies: - tslib "^2.6.2" - "@azure/core-util" "^1.11.0" "@azure/abort-controller" "^2.0.0" + "@azure/core-util" "^1.11.0" + tslib "^2.6.2" "@azure/core-client@^1.4.0", "@azure/core-client@^1.9.2": version "1.9.3" resolved "https://registry.npmjs.org/@azure/core-client/-/core-client-1.9.3.tgz" integrity sha512-/wGw8fJ4mdpJ1Cum7s1S+VQyXt1ihwKLzfabS1O/RDADnmzVc01dHn44qD0BvGH6KlZNzOMW95tEpKqhkCChPA== dependencies: - tslib "^2.6.2" - "@azure/logger" "^1.0.0" - "@azure/core-auth" "^1.4.0" - "@azure/core-util" "^1.6.1" - "@azure/core-tracing" "^1.0.0" "@azure/abort-controller" "^2.0.0" + "@azure/core-auth" "^1.4.0" "@azure/core-rest-pipeline" "^1.9.1" + "@azure/core-tracing" "^1.0.0" + "@azure/core-util" "^1.6.1" + "@azure/logger" "^1.0.0" + tslib "^2.6.2" "@azure/core-http@^3.0.5": version "3.0.5" resolved "https://registry.npmjs.org/@azure/core-http/-/core-http-3.0.5.tgz" integrity sha512-T8r2q/c3DxNu6mEJfPuJtptUVqwchxzjj32gKcnMi06rdiVONS9rar7kT9T2Am+XvER7uOzpsP79WsqNbdgdWg== dependencies: - uuid "^8.3.0" - tslib "^2.2.0" - tunnel "^0.0.6" - xml2js "^0.5.0" - process "^0.11.10" - form-data "^4.0.0" - node-fetch "^2.6.7" - "@azure/logger" "^1.0.0" - "@types/tunnel" "^0.0.3" + "@azure/abort-controller" "^1.0.0" "@azure/core-auth" "^1.3.0" + "@azure/core-tracing" "1.0.0-preview.13" "@azure/core-util" "^1.1.1" + "@azure/logger" "^1.0.0" "@types/node-fetch" "^2.5.0" - "@azure/core-tracing" "1.0.0-preview.13" - "@azure/abort-controller" "^1.0.0" + "@types/tunnel" "^0.0.3" + form-data "^4.0.0" + node-fetch "^2.6.7" + process "^0.11.10" + tslib "^2.2.0" + tunnel "^0.0.6" + uuid "^8.3.0" + xml2js "^0.5.0" "@azure/core-rest-pipeline@^1.1.0", "@azure/core-rest-pipeline@^1.17.0", "@azure/core-rest-pipeline@^1.9.1": version "1.19.1" resolved "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.19.1.tgz" integrity sha512-zHeoI3NCs53lLBbWNzQycjnYKsA1CVKlnzSNuSFcUDwBp8HHVObePxrM7HaX+Ha5Ks639H7chNC9HOaIhNS03w== dependencies: - tslib "^2.6.2" - "@azure/logger" "^1.0.0" + "@azure/abort-controller" "^2.0.0" "@azure/core-auth" "^1.8.0" + "@azure/core-tracing" "^1.0.1" "@azure/core-util" "^1.11.0" + "@azure/logger" "^1.0.0" http-proxy-agent "^7.0.0" https-proxy-agent "^7.0.0" - "@azure/core-tracing" "^1.0.1" - "@azure/abort-controller" "^2.0.0" + tslib "^2.6.2" "@azure/core-tracing@1.0.0-preview.13": version "1.0.0-preview.13" resolved "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.0-preview.13.tgz" integrity sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ== dependencies: - tslib "^2.2.0" "@opentelemetry/api" "^1.0.1" + tslib "^2.2.0" "@azure/core-tracing@^1.0.0", "@azure/core-tracing@^1.0.1": version "1.2.0" @@ -906,48 +906,48 @@ resolved "https://registry.npmjs.org/@azure/core-util/-/core-util-1.11.0.tgz" integrity sha512-DxOSLua+NdpWoSqULhjDyAZTXFdP/LKkqtYuxxz1SCN289zk3OG8UOpnCQAz/tygyACBtWp/BoO72ptK7msY8g== dependencies: - tslib "^2.6.2" "@azure/abort-controller" "^2.0.0" + tslib "^2.6.2" "@azure/identity@^3.0.0": version "3.4.2" resolved "https://registry.npmjs.org/@azure/identity/-/identity-3.4.2.tgz" integrity sha512-0q5DL4uyR0EZ4RXQKD8MadGH6zTIcloUoS/RVbCpNpej4pwte0xpqYxk8K97Py2RiuUvI7F4GXpoT4046VfufA== dependencies: - jws "^4.0.0" - open "^8.0.0" - tslib "^2.2.0" - events "^3.0.0" - stoppable "^1.1.0" - "@azure/logger" "^1.0.0" + "@azure/abort-controller" "^1.0.0" "@azure/core-auth" "^1.5.0" - "@azure/core-util" "^1.6.1" - "@azure/msal-node" "^2.5.1" "@azure/core-client" "^1.4.0" + "@azure/core-rest-pipeline" "^1.1.0" "@azure/core-tracing" "^1.0.0" + "@azure/core-util" "^1.6.1" + "@azure/logger" "^1.0.0" "@azure/msal-browser" "^3.5.0" - "@azure/abort-controller" "^1.0.0" - "@azure/core-rest-pipeline" "^1.1.0" + "@azure/msal-node" "^2.5.1" + events "^3.0.0" + jws "^4.0.0" + open "^8.0.0" + stoppable "^1.1.0" + tslib "^2.2.0" "@azure/identity@^4.8.0": version "4.8.0" resolved "https://registry.npmjs.org/@azure/identity/-/identity-4.8.0.tgz" integrity sha512-l9ALUGHtFB/JfsqmA+9iYAp2a+cCwdNO/cyIr2y7nJLJsz1aae6qVP8XxT7Kbudg0IQRSIMXj0+iivFdbD1xPA== dependencies: - jws "^4.0.0" - open "^10.1.0" - tslib "^2.2.0" - events "^3.0.0" - stoppable "^1.1.0" - "@azure/logger" "^1.0.0" + "@azure/abort-controller" "^2.0.0" "@azure/core-auth" "^1.9.0" - "@azure/core-util" "^1.11.0" - "@azure/msal-node" "^3.2.3" "@azure/core-client" "^1.9.2" + "@azure/core-rest-pipeline" "^1.17.0" "@azure/core-tracing" "^1.0.0" + "@azure/core-util" "^1.11.0" + "@azure/logger" "^1.0.0" "@azure/msal-browser" "^4.2.0" - "@azure/abort-controller" "^2.0.0" - "@azure/core-rest-pipeline" "^1.17.0" + "@azure/msal-node" "^3.2.3" + events "^3.0.0" + jws "^4.0.0" + open "^10.1.0" + stoppable "^1.1.0" + tslib "^2.2.0" "@azure/logger@^1.0.0": version "1.1.4" @@ -985,9 +985,9 @@ resolved "https://registry.npmjs.org/@azure/msal-node/-/msal-node-2.16.2.tgz" integrity sha512-An7l1hEr0w1HMMh1LU+rtDtqL7/jw74ORlc9Wnh06v7TU/xpG39/Zdr1ZJu3QpjUfKJ+E0/OXMW8DRSWTlh7qQ== dependencies: - uuid "^8.3.0" - jsonwebtoken "^9.0.0" "@azure/msal-common" "14.16.0" + jsonwebtoken "^9.0.0" + uuid "^8.3.0" "@azure/msal-node@^3.2.3": version "3.3.0" @@ -1003,9 +1003,9 @@ resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz" integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== dependencies: + "@babel/helper-validator-identifier" "^7.25.9" js-tokens "^4.0.0" picocolors "^1.0.0" - "@babel/helper-validator-identifier" "^7.25.9" "@babel/compat-data@^7.26.5": version "7.26.8" @@ -1017,60 +1017,60 @@ resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz" integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA== dependencies: - debug "^4.1.0" - json5 "^2.2.3" - semver "^6.3.1" - gensync "^1.0.0-beta.2" - "@babel/types" "^7.24.5" - "@babel/parser" "^7.24.5" + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.24.2" + "@babel/generator" "^7.24.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.24.5" "@babel/helpers" "^7.24.5" + "@babel/parser" "^7.24.5" "@babel/template" "^7.24.0" "@babel/traverse" "^7.24.5" - "@babel/generator" "^7.24.5" - "@babel/code-frame" "^7.24.2" + "@babel/types" "^7.24.5" convert-source-map "^2.0.0" - "@ampproject/remapping" "^2.2.0" - "@babel/helper-module-transforms" "^7.24.5" - "@babel/helper-compilation-targets" "^7.23.6" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" "@babel/generator@^7.24.5", "@babel/generator@^7.26.10": version "7.26.10" resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.26.10.tgz" integrity sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang== dependencies: - jsesc "^3.0.2" - "@babel/types" "^7.26.10" "@babel/parser" "^7.26.10" + "@babel/types" "^7.26.10" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^3.0.2" "@babel/helper-compilation-targets@^7.23.6": version "7.26.5" resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz" integrity sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA== dependencies: - semver "^6.3.1" - lru-cache "^5.1.1" - browserslist "^4.24.0" "@babel/compat-data" "^7.26.5" "@babel/helper-validator-option" "^7.25.9" + browserslist "^4.24.0" + lru-cache "^5.1.1" + semver "^6.3.1" "@babel/helper-module-imports@^7.25.9": version "7.25.9" resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz" integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== dependencies: - "@babel/types" "^7.25.9" "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" "@babel/helper-module-transforms@^7.24.5": version "7.26.0" resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz" integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== dependencies: - "@babel/traverse" "^7.25.9" "@babel/helper-module-imports" "^7.25.9" "@babel/helper-validator-identifier" "^7.25.9" + "@babel/traverse" "^7.25.9" "@babel/helper-string-parser@^7.25.9": version "7.25.9" @@ -1092,8 +1092,8 @@ resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.10.tgz" integrity sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g== dependencies: - "@babel/types" "^7.26.10" "@babel/template" "^7.26.9" + "@babel/types" "^7.26.10" "@babel/parser@7.24.5", "@babel/parser@^7.24.5": version "7.24.5" @@ -1119,22 +1119,22 @@ resolved "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz" integrity sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA== dependencies: - "@babel/types" "^7.26.9" - "@babel/parser" "^7.26.9" "@babel/code-frame" "^7.26.2" + "@babel/parser" "^7.26.9" + "@babel/types" "^7.26.9" "@babel/traverse@^7.24.5", "@babel/traverse@^7.25.9": version "7.26.10" resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.10.tgz" integrity sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A== dependencies: - debug "^4.3.1" - globals "^11.1.0" - "@babel/types" "^7.26.10" + "@babel/code-frame" "^7.26.2" + "@babel/generator" "^7.26.10" "@babel/parser" "^7.26.10" "@babel/template" "^7.26.9" - "@babel/generator" "^7.26.10" - "@babel/code-frame" "^7.26.2" + "@babel/types" "^7.26.10" + debug "^4.3.1" + globals "^11.1.0" "@babel/types@^7.24.5", "@babel/types@^7.25.9", "@babel/types@^7.26.10", "@babel/types@^7.26.9": version "7.26.10" @@ -1161,14 +1161,14 @@ resolved "https://registry.npmjs.org/@biomejs/biome/-/biome-1.9.4.tgz" integrity sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog== optionalDependencies: - "@biomejs/cli-linux-x64" "1.9.4" - "@biomejs/cli-win32-x64" "1.9.4" + "@biomejs/cli-darwin-arm64" "1.9.4" "@biomejs/cli-darwin-x64" "1.9.4" "@biomejs/cli-linux-arm64" "1.9.4" - "@biomejs/cli-win32-arm64" "1.9.4" - "@biomejs/cli-darwin-arm64" "1.9.4" - "@biomejs/cli-linux-x64-musl" "1.9.4" "@biomejs/cli-linux-arm64-musl" "1.9.4" + "@biomejs/cli-linux-x64" "1.9.4" + "@biomejs/cli-linux-x64-musl" "1.9.4" + "@biomejs/cli-win32-arm64" "1.9.4" + "@biomejs/cli-win32-x64" "1.9.4" "@biomejs/cli-darwin-arm64@1.9.4": version "1.9.4" @@ -1223,18 +1223,19 @@ formdata-node "^4.3.2" node-fetch "^2.6.7" -"@bubba/analytics@packages/analytics": +"@bubba/analytics@^workspace:packages/analytics": version "workspace:packages/analytics" resolved "workspace:packages/analytics" dependencies: posthog-js "^1.215.3" posthog-node "^4.4.1" -"@bubba/app@apps/app", "@bubba/app@workspace:*": +"@bubba/app@^workspace:apps/app", "@bubba/app@workspace:*": version "workspace:apps/app" resolved "workspace:apps/app" devDependencies: "@bubba/db" "workspace:*" + devDependencies: "@trigger.dev/build" "3.3.17" "@types/node" "^22.13.10" "@types/react" "19.0.10" @@ -1250,7 +1251,9 @@ "@aws-sdk/client-s3" "^3.758.0" "@aws-sdk/s3-request-presigner" "^3.758.0" "@browserbasehq/sdk" "^2.4.0" + dependencies: "@bubba/notifications" "workspace:*" + dependencies: "@date-fns/tz" "^1.2.0" "@hookform/resolvers" "^3.10.0" "@nangohq/frontend" "^0.53.2" @@ -1318,11 +1321,12 @@ yarn "^1.22.22" zustand "^5.0.3" -"@bubba/db@packages/db", "@bubba/db@workspace:*": +"@bubba/db@^workspace:packages/db", "@bubba/db@workspace:*": version "workspace:packages/db" resolved "workspace:packages/db" devDependencies: "@bubba/tsconfig" "workspace:*" + devDependencies: typescript "^5.8.2" dependencies: "@auth/prisma-adapter" "^2.8.0" @@ -1332,7 +1336,7 @@ "@prisma/extension-accelerate" "^1.2.2" prisma "^6.5.0" -"@bubba/email@packages/email": +"@bubba/email@^workspace:packages/email": version "workspace:packages/email" resolved "workspace:packages/email" devDependencies: @@ -1342,6 +1346,7 @@ dependencies: "@bubba/ui" "workspace:*" "@bubba/utils" "workspace:*" + dependencies: "@react-email/components" "0.0.31" "@react-email/render" "0.0.10" "@react-email/tailwind" "1.0.4" @@ -1351,7 +1356,7 @@ react-email "3.0.4" responsive-react-email "^0.0.5" -"@bubba/integrations@packages/integrations": +"@bubba/integrations@^workspace:packages/integrations": version "workspace:packages/integrations" resolved "workspace:packages/integrations" devDependencies: @@ -1362,7 +1367,9 @@ "@ai-sdk/openai" "^0.0.66" "@aws-sdk/client-securityhub" "^3.0.0" "@azure/identity" "^3.0.0" + dependencies: "@bubba/app" "workspace:*" + dependencies: "@google-cloud/security-center" "^7.0.0" "@slack/bolt" "^3.22.0" "@slack/web-api" "^7.8.0" @@ -1371,14 +1378,14 @@ sharp "^0.33.5" zod "^3.24.2" -"@bubba/kv@packages/kv": +"@bubba/kv@^workspace:packages/kv": version "workspace:packages/kv" resolved "workspace:packages/kv" dependencies: "@upstash/redis" "^1.34.2" server-only "0.0.1" -"@bubba/notifications@packages/notifications", "@bubba/notifications@workspace:*": +"@bubba/notifications@^workspace:packages/notifications", "@bubba/notifications@workspace:*": version "workspace:packages/notifications" resolved "workspace:packages/notifications" devDependencies: @@ -1387,11 +1394,11 @@ "@novu/node" "^2.0.1" nanoid "5.1.0" -"@bubba/tsconfig@packages/tsconfig", "@bubba/tsconfig@workspace:*": +"@bubba/tsconfig@^workspace:packages/tsconfig", "@bubba/tsconfig@workspace:*": version "workspace:packages/tsconfig" resolved "workspace:packages/tsconfig" -"@bubba/ui@packages/ui", "@bubba/ui@workspace:*": +"@bubba/ui@^workspace:packages/ui", "@bubba/ui@workspace:*": version "workspace:packages/ui" resolved "workspace:packages/ui" devDependencies: @@ -1455,7 +1462,7 @@ use-callback-ref "^1.3.3" vaul "^1.0.0" -"@bubba/utils@packages/utils", "@bubba/utils@workspace:*": +"@bubba/utils@^workspace:packages/utils", "@bubba/utils@workspace:*": version "workspace:packages/utils" resolved "workspace:packages/utils" devDependencies: @@ -1481,9 +1488,9 @@ resolved "https://registry.npmjs.org/@clack/prompts/-/prompts-0.10.0.tgz" integrity sha512-H3rCl6CwW1NdQt9rE3n373t7o5cthPv7yUoxF2ytZvyvlJv89C5RYMJu83Hed8ODgys5vpBU0GKxIRG83jd8NQ== dependencies: + "@clack/core" "0.4.1" picocolors "^1.0.0" sisteransi "^1.0.5" - "@clack/core" "0.4.1" "@csstools/color-helpers@^5.0.2": version "5.0.2" @@ -1528,8 +1535,8 @@ resolved "https://registry.npmjs.org/@effect/platform/-/platform-0.72.0.tgz" integrity sha512-uHsW2hlo6AiIW3zpLAVAoNvJngS/JwCZBAM4RSRllm8JTgjjCraef78FJBDNnSXz+2a10Xzzx4qxVsP3s8EV5Q== dependencies: - multipasta "^0.2.5" find-my-way-ts "^0.1.5" + multipasta "^0.2.5" "@egjs/agent@^2.2.1": version "2.4.4" @@ -1766,10 +1773,10 @@ resolved "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.3.tgz" integrity sha512-pJT1OkhplSmvvr6i3CWTPvC/FGC06MbN5TNBfRO6Ox62AEz90eMq+dVvtX9Bl3jxCEkS0tATzDarRZuOLw7oFg== dependencies: - decimal.js "10" - tslib "2" "@formatjs/fast-memoize" "2.2.6" "@formatjs/intl-localematcher" "0.6.0" + decimal.js "10" + tslib "2" "@formatjs/fast-memoize@2.2.6", "@formatjs/fast-memoize@^2.2.0": version "2.2.6" @@ -1783,17 +1790,17 @@ resolved "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.11.1.tgz" integrity sha512-o0AhSNaOfKoic0Sn1GkFCK4MxdRsw7mPJ5/rBpIqdvcC7MIuyUSW8WChUEvrK78HhNpYOgqCQbINxCTumJLzZA== dependencies: - tslib "2" "@formatjs/ecma402-abstract" "2.3.3" "@formatjs/icu-skeleton-parser" "1.8.13" + tslib "2" "@formatjs/icu-skeleton-parser@1.8.13": version "1.8.13" resolved "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.13.tgz" integrity sha512-N/LIdTvVc1TpJmMt2jVg0Fr1F7Q1qJPdZSCs19unMskCmVQ/sa0H9L8PWt13vq+gLdLg1+pPsvBLydL1Apahjg== dependencies: - tslib "2" "@formatjs/ecma402-abstract" "2.3.3" + tslib "2" "@formatjs/intl-localematcher@^0.5.4": version "0.5.10" @@ -1826,8 +1833,8 @@ resolved "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.22.tgz" integrity sha512-oAjDdN7fzbUi+4hZjKG96MR6KTEubAeMpQEb+77qy+3r0Ua5xTFuie6JOLr4ZZgl5g+W5/uRTS2M1V8mVAFPuA== dependencies: - "@types/node" ">=12.12.47" "@grpc/proto-loader" "^0.7.0" + "@types/node" ">=12.12.47" "@grpc/grpc-js@^1.7.1": version "1.13.0" @@ -2171,53 +2178,53 @@ resolved "https://registry.npmjs.org/@mui/material/-/material-6.4.8.tgz" integrity sha512-5S9UTjKZZBd9GfbcYh/nYfD9cv6OXmj5Y7NgKYfk7JcSoshp8/pW5zP4wecRiroBSZX8wcrywSgogpVNO+5W0Q== dependencies: - clsx "^2.1.1" - csstype "^3.1.3" - react-is "^19.0.0" + "@babel/runtime" "^7.26.0" + "@mui/core-downloads-tracker" "^6.4.8" + "@mui/system" "^6.4.8" "@mui/types" "~7.2.24" "@mui/utils" "^6.4.8" - prop-types "^15.8.1" - "@mui/system" "^6.4.8" - "@babel/runtime" "^7.26.0" "@popperjs/core" "^2.11.8" - react-transition-group "^4.4.5" - "@mui/core-downloads-tracker" "^6.4.8" "@types/react-transition-group" "^4.4.12" + clsx "^2.1.1" + csstype "^3.1.3" + prop-types "^15.8.1" + react-is "^19.0.0" + react-transition-group "^4.4.5" "@mui/private-theming@^6.4.8": version "6.4.8" resolved "https://registry.npmjs.org/@mui/private-theming/-/private-theming-6.4.8.tgz" integrity sha512-sWwQoNSn6elsPTAtSqCf+w5aaGoh7AASURNmpy+QTTD/zwJ0Jgwt0ZaaP6mXq2IcgHxYnYloM/+vJgHPMkRKTQ== dependencies: + "@babel/runtime" "^7.26.0" "@mui/utils" "^6.4.8" prop-types "^15.8.1" - "@babel/runtime" "^7.26.0" "@mui/styled-engine@^6.4.8": version "6.4.8" resolved "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-6.4.8.tgz" integrity sha512-oyjx1b1FvUCI85ZMO4trrjNxGm90eLN3Ohy0AP/SqK5gWvRQg1677UjNf7t6iETOKAleHctJjuq0B3aXO2gtmw== dependencies: - csstype "^3.1.3" - prop-types "^15.8.1" "@babel/runtime" "^7.26.0" "@emotion/cache" "^11.13.5" - "@emotion/sheet" "^1.4.0" "@emotion/serialize" "^1.3.3" + "@emotion/sheet" "^1.4.0" + csstype "^3.1.3" + prop-types "^15.8.1" "@mui/system@^6.4.8": version "6.4.8" resolved "https://registry.npmjs.org/@mui/system/-/system-6.4.8.tgz" integrity sha512-gV7iBHoqlsIenU2BP0wq14BefRoZcASZ/4LeyuQglayBl+DfLX5rEd3EYR3J409V2EZpR0NOM1LATAGlNk2cyA== dependencies: - clsx "^2.1.1" - csstype "^3.1.3" + "@babel/runtime" "^7.26.0" + "@mui/private-theming" "^6.4.8" + "@mui/styled-engine" "^6.4.8" "@mui/types" "~7.2.24" "@mui/utils" "^6.4.8" + clsx "^2.1.1" + csstype "^3.1.3" prop-types "^15.8.1" - "@babel/runtime" "^7.26.0" - "@mui/styled-engine" "^6.4.8" - "@mui/private-theming" "^6.4.8" "@mui/types@~7.2.24": version "7.2.24" @@ -2229,12 +2236,12 @@ resolved "https://registry.npmjs.org/@mui/utils/-/utils-6.4.8.tgz" integrity sha512-C86gfiZ5BfZ51KqzqoHi1WuuM2QdSKoFhbkZeAfQRB+jCc4YNhhj11UXFVMMsqBgZ+Zy8IHNJW3M9Wj/LOwRXQ== dependencies: - clsx "^2.1.1" - react-is "^19.0.0" - "@mui/types" "~7.2.24" - prop-types "^15.8.1" "@babel/runtime" "^7.26.0" + "@mui/types" "~7.2.24" "@types/prop-types" "^15.7.14" + clsx "^2.1.1" + prop-types "^15.8.1" + react-is "^19.0.0" "@nangohq/frontend@^0.53.2": version "0.53.2" @@ -2248,8 +2255,8 @@ resolved "https://registry.npmjs.org/@nangohq/node/-/node-0.53.2.tgz" integrity sha512-QfBrtbv1dekI3RH+HX+43MGIRs36MNuWMdWS1RRFKjiCmIwKaOje6qjRj0UDjQYtokKcbt2id2sAAq8fmusjCQ== dependencies: - axios "^1.7.9" "@nangohq/types" "0.53.2" + axios "^1.7.9" "@nangohq/types@0.53.2": version "0.53.2" @@ -2257,8 +2264,8 @@ integrity sha512-G7oC4QsJrmLjAWQmvB7gY8hE0UMr8PofAY/pPsk/0sHIM1YWeealBI7RiPeN4UluArT7w+OoUvMQd+jtrTh9Lw== dependencies: axios "^1.7.9" - type-fest "4.32.0" json-schema "0.4.0" + type-fest "4.32.0" "@neondatabase/serverless@>0.6.0 <2", "@neondatabase/serverless@^0.10.4": version "0.10.4" @@ -2372,8 +2379,8 @@ resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: - run-parallel "^1.1.9" "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" @@ -2385,8 +2392,8 @@ resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: - fastq "^1.6.0" "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" "@novu/client@2.6.6": version "2.6.6" @@ -2400,10 +2407,10 @@ resolved "https://registry.npmjs.org/@novu/headless/-/headless-2.6.6.tgz" integrity sha512-2FBU1SwzUJQMnaIb9EItdREs8kiA7YG0Lgu3nMqcoTw2b8wpHC6PL1tA11XKkGY/H+dCDRM29ubbcm3tUYd+yA== dependencies: + "@novu/client" "2.6.6" + "@novu/shared" "2.6.6" "@tanstack/query-core" "^4.15.1" socket.io-client "4.7.2" - "@novu/shared" "2.6.6" - "@novu/client" "2.6.6" "@novu/js@2.6.6": version "2.6.6" @@ -2425,25 +2432,25 @@ resolved "https://registry.npmjs.org/@novu/node/-/node-2.6.6.tgz" integrity sha512-WMGzHOG1has1/FsMveE/Sak02vv6jAz1RLlw99tLARr3wQyQBdpMwtG8lNcZzi/hBogLJ07R6wFcZtgoXx/i4Q== dependencies: + "@novu/shared" "2.6.6" axios "^1.6.8" axios-retry "^3.8.0" handlebars "^4.7.7" lodash.get "^4.4.2" lodash.merge "^4.6.2" uuid "^9.0.1" - "@novu/shared" "2.6.6" "@novu/ntfr-client@^0.0.4": version "0.0.4" resolved "https://registry.npmjs.org/@novu/ntfr-client/-/ntfr-client-0.0.4.tgz" integrity sha512-/9q+qGFHHFwMsuqoLwTADMjSx2JPagpJpm7jOZRzQZgSEDg9kwNAhADneRzVYhMyjdEXIQyjTmX/oP8ABAavFw== dependencies: - ws "^8.11.0" - zod "3.22.3" https "^1.0.0" node-fetch "^3.3.2" partysocket "^0.0.17" proxy-agent "^6.3.0" + ws "^8.11.0" + zod "3.22.3" "@novu/react@^2.6.6": version "2.6.6" @@ -2462,7 +2469,7 @@ resolved "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz" integrity sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw== -"@opentelemetry/api@1.9.0", "@opentelemetry/api@>=1.0.0 <1.10.0", "@opentelemetry/api@>=1.3.0 <1.10.0", "@opentelemetry/api@>=1.4.0 <1.10.0", "@opentelemetry/api@^1.0.0", "@opentelemetry/api@^1.0.1", "@opentelemetry/api@^1.3.0", "@opentelemetry/api@^1.8": +"@opentelemetry/api@1.9.0", "@opentelemetry/api@>=1.0.0 <1.10.0", "@opentelemetry/api@>=1.3.0 <1.10.0", "@opentelemetry/api@>=1.4.0 <1.10.0", "@opentelemetry/api@^1.0.0", "@opentelemetry/api@^1.0.1", "@opentelemetry/api@^1.1.0", "@opentelemetry/api@^1.3.0", "@opentelemetry/api@^1.8": version "1.9.0" resolved "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz" integrity sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg== @@ -2491,11 +2498,11 @@ resolved "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-http/-/exporter-logs-otlp-http-0.52.1.tgz" integrity sha512-qKgywId2DbdowPZpOBXQKp0B8DfhfIArmSic15z13Nk/JAOccBUQdPwDjDnjsM5f0ckZFMVR2t/tijTUAqDZoA== dependencies: - "@opentelemetry/core" "1.25.1" "@opentelemetry/api-logs" "0.52.1" - "@opentelemetry/sdk-logs" "0.52.1" - "@opentelemetry/otlp-transformer" "0.52.1" + "@opentelemetry/core" "1.25.1" "@opentelemetry/otlp-exporter-base" "0.52.1" + "@opentelemetry/otlp-transformer" "0.52.1" + "@opentelemetry/sdk-logs" "0.52.1" "@opentelemetry/exporter-trace-otlp-grpc@0.52.1": version "0.52.1" @@ -2504,10 +2511,10 @@ dependencies: "@grpc/grpc-js" "^1.7.1" "@opentelemetry/core" "1.25.1" + "@opentelemetry/otlp-grpc-exporter-base" "0.52.1" + "@opentelemetry/otlp-transformer" "0.52.1" "@opentelemetry/resources" "1.25.1" "@opentelemetry/sdk-trace-base" "1.25.1" - "@opentelemetry/otlp-transformer" "0.52.1" - "@opentelemetry/otlp-grpc-exporter-base" "0.52.1" "@opentelemetry/exporter-trace-otlp-http@0.52.1": version "0.52.1" @@ -2515,10 +2522,10 @@ integrity sha512-05HcNizx0BxcFKKnS5rwOV+2GevLTVIRA0tRgWYyw4yCgR53Ic/xk83toYKts7kbzcI+dswInUg/4s8oyA+tqg== dependencies: "@opentelemetry/core" "1.25.1" + "@opentelemetry/otlp-exporter-base" "0.52.1" + "@opentelemetry/otlp-transformer" "0.52.1" "@opentelemetry/resources" "1.25.1" "@opentelemetry/sdk-trace-base" "1.25.1" - "@opentelemetry/otlp-transformer" "0.52.1" - "@opentelemetry/otlp-exporter-base" "0.52.1" "@opentelemetry/exporter-trace-otlp-proto@0.52.1": version "0.52.1" @@ -2526,10 +2533,10 @@ integrity sha512-pt6uX0noTQReHXNeEslQv7x311/F1gJzMnp1HD2qgypLRPbXDeMzzeTngRTUaUbP6hqWNtPxuLr4DEoZG+TcEQ== dependencies: "@opentelemetry/core" "1.25.1" + "@opentelemetry/otlp-exporter-base" "0.52.1" + "@opentelemetry/otlp-transformer" "0.52.1" "@opentelemetry/resources" "1.25.1" "@opentelemetry/sdk-trace-base" "1.25.1" - "@opentelemetry/otlp-transformer" "0.52.1" - "@opentelemetry/otlp-exporter-base" "0.52.1" "@opentelemetry/exporter-zipkin@1.25.1": version "1.25.1" @@ -2546,12 +2553,12 @@ resolved "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.52.1.tgz" integrity sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw== dependencies: - semver "^7.5.2" - shimmer "^1.2.1" + "@opentelemetry/api-logs" "0.52.1" "@types/shimmer" "^1.0.2" import-in-the-middle "^1.8.1" require-in-the-middle "^7.1.1" - "@opentelemetry/api-logs" "0.52.1" + semver "^7.5.2" + shimmer "^1.2.1" "@opentelemetry/otlp-exporter-base@0.52.1": version "0.52.1" @@ -2568,21 +2575,21 @@ dependencies: "@grpc/grpc-js" "^1.7.1" "@opentelemetry/core" "1.25.1" - "@opentelemetry/otlp-transformer" "0.52.1" "@opentelemetry/otlp-exporter-base" "0.52.1" + "@opentelemetry/otlp-transformer" "0.52.1" "@opentelemetry/otlp-transformer@0.52.1": version "0.52.1" resolved "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.52.1.tgz" integrity sha512-I88uCZSZZtVa0XniRqQWKbjAUm73I8tpEy/uJYPPYw5d7BRdVk0RfTBQw8kSUl01oVWEuqxLDa802222MYyWHg== dependencies: - protobufjs "^7.3.0" - "@opentelemetry/core" "1.25.1" "@opentelemetry/api-logs" "0.52.1" - "@opentelemetry/sdk-logs" "0.52.1" + "@opentelemetry/core" "1.25.1" "@opentelemetry/resources" "1.25.1" + "@opentelemetry/sdk-logs" "0.52.1" "@opentelemetry/sdk-metrics" "1.25.1" "@opentelemetry/sdk-trace-base" "1.25.1" + protobufjs "^7.3.0" "@opentelemetry/propagator-b3@1.25.1": version "1.25.1" @@ -2611,8 +2618,8 @@ resolved "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.52.1.tgz" integrity sha512-MBYh+WcPPsN8YpRHRmK1Hsca9pVlyyKd4BxOC4SsgHACnl/bPp4Cri9hWhVm5+2tiQ9Zf4qSc1Jshw9tOLGWQA== dependencies: - "@opentelemetry/core" "1.25.1" "@opentelemetry/api-logs" "0.52.1" + "@opentelemetry/core" "1.25.1" "@opentelemetry/resources" "1.25.1" "@opentelemetry/sdk-metrics@1.25.1": @@ -2620,28 +2627,28 @@ resolved "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.25.1.tgz" integrity sha512-9Mb7q5ioFL4E4dDrc4wC/A3NTHDat44v4I3p2pLPSxRvqUbDIQyMVr9uK+EU69+HWhlET1VaSrRzwdckWqY15Q== dependencies: - lodash.merge "^4.6.2" "@opentelemetry/core" "1.25.1" "@opentelemetry/resources" "1.25.1" + lodash.merge "^4.6.2" "@opentelemetry/sdk-node@0.52.1": version "0.52.1" resolved "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.52.1.tgz" integrity sha512-uEG+gtEr6eKd8CVWeKMhH2olcCHM9dEK68pe0qE0be32BcCRsvYURhHaD1Srngh1SQcnQzZ4TP324euxqtBOJA== dependencies: - "@opentelemetry/core" "1.25.1" "@opentelemetry/api-logs" "0.52.1" - "@opentelemetry/sdk-logs" "0.52.1" + "@opentelemetry/core" "1.25.1" + "@opentelemetry/exporter-trace-otlp-grpc" "0.52.1" + "@opentelemetry/exporter-trace-otlp-http" "0.52.1" + "@opentelemetry/exporter-trace-otlp-proto" "0.52.1" + "@opentelemetry/exporter-zipkin" "1.25.1" + "@opentelemetry/instrumentation" "0.52.1" "@opentelemetry/resources" "1.25.1" + "@opentelemetry/sdk-logs" "0.52.1" "@opentelemetry/sdk-metrics" "1.25.1" "@opentelemetry/sdk-trace-base" "1.25.1" "@opentelemetry/sdk-trace-node" "1.25.1" - "@opentelemetry/exporter-zipkin" "1.25.1" - "@opentelemetry/instrumentation" "0.52.1" "@opentelemetry/semantic-conventions" "1.25.1" - "@opentelemetry/exporter-trace-otlp-grpc" "0.52.1" - "@opentelemetry/exporter-trace-otlp-http" "0.52.1" - "@opentelemetry/exporter-trace-otlp-proto" "0.52.1" "@opentelemetry/sdk-trace-base@1.25.1": version "1.25.1" @@ -2657,12 +2664,12 @@ resolved "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.25.1.tgz" integrity sha512-nMcjFIKxnFqoez4gUmihdBrbpsEnAX/Xj16sGvZm+guceYE0NE00vLhpDVK6f3q8Q4VFI5xG8JjlXKMB/SkTTQ== dependencies: - semver "^7.5.2" + "@opentelemetry/context-async-hooks" "1.25.1" "@opentelemetry/core" "1.25.1" "@opentelemetry/propagator-b3" "1.25.1" - "@opentelemetry/sdk-trace-base" "1.25.1" "@opentelemetry/propagator-jaeger" "1.25.1" - "@opentelemetry/context-async-hooks" "1.25.1" + "@opentelemetry/sdk-trace-base" "1.25.1" + semver "^7.5.2" "@opentelemetry/semantic-conventions@1.25.1": version "1.25.1" @@ -2804,9 +2811,9 @@ resolved "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz" integrity sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw== dependencies: - config-chain "^1.1.11" - "@pnpm/network.ca-file" "^1.0.1" "@pnpm/config.env-replace" "^1.1.0" + "@pnpm/network.ca-file" "^1.0.1" + config-chain "^1.1.11" "@popperjs/core@^2.11.8", "@popperjs/core@^2.9.0": version "2.11.8" @@ -2818,16 +2825,16 @@ resolved "https://registry.npmjs.org/@prisma/adapter-neon/-/adapter-neon-6.5.0.tgz" integrity sha512-TaqnR0HBVgZZg10F/QXExtu/yft9JbpHOYFj9dHFHvqob/xgtgpzhUhYGC9iwuUpuGp6mSVy40JU87x/Na/lIQ== dependencies: - postgres-array "3.0.3" "@prisma/driver-adapter-utils" "6.5.0" + postgres-array "3.0.3" "@prisma/adapter-pg@^6.5.0": version "6.5.0" resolved "https://registry.npmjs.org/@prisma/adapter-pg/-/adapter-pg-6.5.0.tgz" integrity sha512-ta1EhwAmIWnFjw0bTVdRe3rw5h40YDZ59i2Ko2FGVt4EDvAt4Po5aAN8eCj2Eq46wKJccEDwQ3qBXUQTKUbM8Q== dependencies: - postgres-array "3.0.3" "@prisma/driver-adapter-utils" "6.5.0" + postgres-array "3.0.3" "@prisma/client@>=2.26.0 || >=3 || >=4 || >=5 || >=6", "@prisma/client@>=4.16.1", "@prisma/client@^6.5.0": version "6.5.0" @@ -2860,9 +2867,9 @@ integrity sha512-FVPQYHgOllJklN9DUyujXvh3hFJCY0NX86sDmBErLvoZjy2OXGiZ5FNf3J/C4/RZZmCypZBYpBKEhx7b7rEsdw== dependencies: "@prisma/debug" "6.5.0" + "@prisma/engines-version" "6.5.0-73.173f8d54f8d52e692c7e27e72a88314ec7aeff60" "@prisma/fetch-engine" "6.5.0" "@prisma/get-platform" "6.5.0" - "@prisma/engines-version" "6.5.0-73.173f8d54f8d52e692c7e27e72a88314ec7aeff60" "@prisma/engines-version@6.5.0-73.173f8d54f8d52e692c7e27e72a88314ec7aeff60": version "6.5.0-73.173f8d54f8d52e692c7e27e72a88314ec7aeff60" @@ -2880,8 +2887,8 @@ integrity sha512-3LhYA+FXP6pqY8FLHCjewyE8pGXXJ7BxZw2rhPq+CZAhvflVzq4K8Qly3OrmOkn6wGlz79nyLQdknyCG2HBTuA== dependencies: "@prisma/debug" "6.5.0" - "@prisma/get-platform" "6.5.0" "@prisma/engines-version" "6.5.0-73.173f8d54f8d52e692c7e27e72a88314ec7aeff60" + "@prisma/get-platform" "6.5.0" "@prisma/get-platform@6.5.0": version "6.5.0" @@ -2959,9 +2966,9 @@ extract-zip "^2.0.1" progress "^2.0.3" proxy-agent "^6.5.0" + semver "^7.7.1" tar-fs "^3.0.8" yargs "^17.7.2" - semver "^7.7.1" "@radix-ui/number@1.1.0": version "1.1.0" @@ -2985,14 +2992,14 @@ resolved "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.2.3.tgz" integrity sha512-RIQ15mrcvqIkDARJeERSuXSry2N8uYnxkdDetpfmalT/+0ntOXLkFOsh9iwlAsCv+qcmhZjbdJogIm6WBa6c4A== dependencies: - "@radix-ui/react-id" "1.1.0" "@radix-ui/primitive" "1.1.1" + "@radix-ui/react-collapsible" "1.1.3" + "@radix-ui/react-collection" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" "@radix-ui/react-direction" "1.1.0" + "@radix-ui/react-id" "1.1.0" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-collection" "1.1.2" - "@radix-ui/react-collapsible" "1.1.3" - "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-use-controllable-state" "1.1.0" "@radix-ui/react-alert-dialog@^1.1.2": @@ -3001,11 +3008,11 @@ integrity sha512-p4XnPqgej8sZAAReCAKgz1REYZEBLR8hU9Pg27wFnCWIMc8g1ccCs0FjBcy05V15VTu8pAePw/VDYeOm/uZ6yQ== dependencies: "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-slot" "1.1.2" - "@radix-ui/react-dialog" "1.1.6" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-dialog" "1.1.6" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-slot" "1.1.2" "@radix-ui/react-arrow@1.1.2": version "1.1.2" @@ -3030,37 +3037,37 @@ integrity sha512-wP0CPAHq+P5I4INKe3hJrIa1WoNqqrejzW+zoU0rOvo1b9gDEJJFl2rYfO1PYJUQCc2H1WZxIJmyv9BS8i5fLw== dependencies: "@radix-ui/primitive" "1.1.1" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" "@radix-ui/react-presence" "1.1.2" - "@radix-ui/react-use-size" "1.1.0" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-compose-refs" "1.1.1" - "@radix-ui/react-use-previous" "1.1.0" "@radix-ui/react-use-controllable-state" "1.1.0" + "@radix-ui/react-use-previous" "1.1.0" + "@radix-ui/react-use-size" "1.1.0" "@radix-ui/react-collapsible@1.1.3", "@radix-ui/react-collapsible@^1.1.1": version "1.1.3" resolved "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.3.tgz" integrity sha512-jFSerheto1X03MUC0g6R7LedNW9EEGWdg9W1+MlpkMLwGkgkbUXLPBH/KIuWKXUoeYRVY11llqbTBDzuLg7qrw== dependencies: - "@radix-ui/react-id" "1.1.0" "@radix-ui/primitive" "1.1.1" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-id" "1.1.0" "@radix-ui/react-presence" "1.1.2" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-compose-refs" "1.1.1" - "@radix-ui/react-use-layout-effect" "1.1.0" "@radix-ui/react-use-controllable-state" "1.1.0" + "@radix-ui/react-use-layout-effect" "1.1.0" "@radix-ui/react-collection@1.1.2": version "1.1.2" resolved "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.2.tgz" integrity sha512-9z54IEKRxIa9VityapoEYMuByaG42iSy1ZXlY2KcuLSEtq8x4987/N6m15ppoMffgZX72gER2uHe1D9Y6Unlcw== dependencies: - "@radix-ui/react-slot" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-slot" "1.1.2" "@radix-ui/react-compose-refs@1.0.0": version "1.0.0" @@ -3092,8 +3099,8 @@ integrity sha512-aUP99QZ3VU84NPsHeaFt4cQUNgJqFsLLOt/RbbWXszZ6MP0DpDyjkFZORr4RpAEx3sUBk+Kc8h13yGtC5Qw8dg== dependencies: "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-menu" "2.1.6" "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-menu" "2.1.6" "@radix-ui/react-primitive" "2.0.2" "@radix-ui/react-use-callback-ref" "1.1.0" "@radix-ui/react-use-controllable-state" "1.1.0" @@ -3103,41 +3110,41 @@ resolved "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.0.tgz" integrity sha512-Yn9YU+QlHYLWwV1XfKiqnGVpWYWk6MeBVM6x/bcoyPvxgjQGoeT35482viLPctTMWoMw0PoHgqfSox7Ig+957Q== dependencies: - aria-hidden "^1.1.1" "@babel/runtime" "^7.13.10" - "@radix-ui/react-id" "1.0.0" "@radix-ui/primitive" "1.0.0" - react-remove-scroll "2.5.4" - "@radix-ui/react-slot" "1.0.0" - "@radix-ui/react-portal" "1.0.0" + "@radix-ui/react-compose-refs" "1.0.0" "@radix-ui/react-context" "1.0.0" + "@radix-ui/react-dismissable-layer" "1.0.0" + "@radix-ui/react-focus-guards" "1.0.0" + "@radix-ui/react-focus-scope" "1.0.0" + "@radix-ui/react-id" "1.0.0" + "@radix-ui/react-portal" "1.0.0" "@radix-ui/react-presence" "1.0.0" "@radix-ui/react-primitive" "1.0.0" - "@radix-ui/react-focus-scope" "1.0.0" - "@radix-ui/react-compose-refs" "1.0.0" - "@radix-ui/react-focus-guards" "1.0.0" - "@radix-ui/react-dismissable-layer" "1.0.0" + "@radix-ui/react-slot" "1.0.0" "@radix-ui/react-use-controllable-state" "1.0.0" + aria-hidden "^1.1.1" + react-remove-scroll "2.5.4" "@radix-ui/react-dialog@1.1.6", "@radix-ui/react-dialog@^1.1.1", "@radix-ui/react-dialog@^1.1.2", "@radix-ui/react-dialog@^1.1.6": version "1.1.6" resolved "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.6.tgz" integrity sha512-/IVhJV5AceX620DUJ4uYVMymzsipdKBzo3edo+omeskCKGm9FRHM0ebIdbPnlQVJqyuHbuBltQUOG2mOTq2IYw== dependencies: - aria-hidden "^1.2.4" - "@radix-ui/react-id" "1.1.0" "@radix-ui/primitive" "1.1.1" - react-remove-scroll "^2.6.3" - "@radix-ui/react-slot" "1.1.2" - "@radix-ui/react-portal" "1.1.4" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-dismissable-layer" "1.1.5" + "@radix-ui/react-focus-guards" "1.1.1" + "@radix-ui/react-focus-scope" "1.1.2" + "@radix-ui/react-id" "1.1.0" + "@radix-ui/react-portal" "1.1.4" "@radix-ui/react-presence" "1.1.2" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-focus-scope" "1.1.2" - "@radix-ui/react-compose-refs" "1.1.1" - "@radix-ui/react-focus-guards" "1.1.1" - "@radix-ui/react-dismissable-layer" "1.1.5" + "@radix-ui/react-slot" "1.1.2" "@radix-ui/react-use-controllable-state" "1.1.0" + aria-hidden "^1.2.4" + react-remove-scroll "^2.6.3" "@radix-ui/react-direction@1.1.0": version "1.1.0" @@ -3151,8 +3158,8 @@ dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/primitive" "1.0.0" - "@radix-ui/react-primitive" "1.0.0" "@radix-ui/react-compose-refs" "1.0.0" + "@radix-ui/react-primitive" "1.0.0" "@radix-ui/react-use-callback-ref" "1.0.0" "@radix-ui/react-use-escape-keydown" "1.0.0" @@ -3162,8 +3169,8 @@ integrity sha512-E4TywXY6UsXNRhFrECa5HAvE5/4BFcGyfTyK36gP+pAW1ed7UTK4vKwdr53gAJYwqbfCWC6ATvJa3J3R/9+Qrg== dependencies: "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-primitive" "2.0.2" "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-primitive" "2.0.2" "@radix-ui/react-use-callback-ref" "1.1.0" "@radix-ui/react-use-escape-keydown" "1.1.0" @@ -3172,12 +3179,12 @@ resolved "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.6.tgz" integrity sha512-no3X7V5fD487wab/ZYSHXq3H37u4NVeLDKI/Ks724X/eEFSSEFYZxWgsIlr1UBeEyDaM29HM5x9p1Nv8DuTYPA== dependencies: - "@radix-ui/react-id" "1.1.0" "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-menu" "2.1.6" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-id" "1.1.0" + "@radix-ui/react-menu" "2.1.6" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-use-controllable-state" "1.1.0" "@radix-ui/react-focus-guards@1.0.0": @@ -3198,8 +3205,8 @@ integrity sha512-C4SWtsULLGf/2L4oGeIHlvWQx7Rf+7cX/vKOAD2dXW0A1b5QXwi3wWeaEgW+wn+SEVrraMUk05vLU9fZZz5HbQ== dependencies: "@babel/runtime" "^7.13.10" - "@radix-ui/react-primitive" "1.0.0" "@radix-ui/react-compose-refs" "1.0.0" + "@radix-ui/react-primitive" "1.0.0" "@radix-ui/react-use-callback-ref" "1.0.0" "@radix-ui/react-focus-scope@1.1.2": @@ -3207,8 +3214,8 @@ resolved "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.2.tgz" integrity sha512-zxwE80FCU7lcXUGWkdt6XpTTCKPitG1XKOwViTxHVKIJhZl9MvIl2dVHeZENCWD9+EdWv05wlaEkRXUykU27RA== dependencies: - "@radix-ui/react-primitive" "2.0.2" "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-primitive" "2.0.2" "@radix-ui/react-use-callback-ref" "1.1.0" "@radix-ui/react-hover-card@^1.1.2": @@ -3217,13 +3224,13 @@ integrity sha512-E4ozl35jq0VRlrdc4dhHrNSV0JqBb4Jy73WAhBEK7JoYnQ83ED5r0Rb/XdVKw89ReAJN38N492BAPBZQ57VmqQ== dependencies: "@radix-ui/primitive" "1.1.1" + "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-dismissable-layer" "1.1.5" "@radix-ui/react-popper" "1.2.2" "@radix-ui/react-portal" "1.1.4" - "@radix-ui/react-context" "1.1.1" "@radix-ui/react-presence" "1.1.2" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-compose-refs" "1.1.1" - "@radix-ui/react-dismissable-layer" "1.1.5" "@radix-ui/react-use-controllable-state" "1.1.0" "@radix-ui/react-icons@^1.3.0": @@ -3258,81 +3265,81 @@ resolved "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.6.tgz" integrity sha512-tBBb5CXDJW3t2mo9WlO7r6GTmWV0F0uzHZVFmlRmYpiSK1CDU5IKojP1pm7oknpBOrFZx/YgBRW9oorPO2S/Lg== dependencies: - aria-hidden "^1.2.4" - "@radix-ui/react-id" "1.1.0" "@radix-ui/primitive" "1.1.1" - react-remove-scroll "^2.6.3" - "@radix-ui/react-slot" "1.1.2" + "@radix-ui/react-collection" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-direction" "1.1.0" + "@radix-ui/react-dismissable-layer" "1.1.5" + "@radix-ui/react-focus-guards" "1.1.1" + "@radix-ui/react-focus-scope" "1.1.2" + "@radix-ui/react-id" "1.1.0" "@radix-ui/react-popper" "1.2.2" "@radix-ui/react-portal" "1.1.4" - "@radix-ui/react-context" "1.1.1" "@radix-ui/react-presence" "1.1.2" - "@radix-ui/react-direction" "1.1.0" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-collection" "1.1.2" - "@radix-ui/react-focus-scope" "1.1.2" - "@radix-ui/react-compose-refs" "1.1.1" - "@radix-ui/react-focus-guards" "1.1.1" "@radix-ui/react-roving-focus" "1.1.2" + "@radix-ui/react-slot" "1.1.2" "@radix-ui/react-use-callback-ref" "1.1.0" - "@radix-ui/react-dismissable-layer" "1.1.5" + aria-hidden "^1.2.4" + react-remove-scroll "^2.6.3" "@radix-ui/react-navigation-menu@^1.2.1": version "1.2.5" resolved "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.5.tgz" integrity sha512-myMHHQUZ3ZLTi8W381/Vu43Ia0NqakkQZ2vzynMmTUtQQ9kNkjzhOwkZC9TAM5R07OZUVIQyHC06f/9JZJpvvA== dependencies: - "@radix-ui/react-id" "1.1.0" "@radix-ui/primitive" "1.1.1" + "@radix-ui/react-collection" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-presence" "1.1.2" "@radix-ui/react-direction" "1.1.0" + "@radix-ui/react-dismissable-layer" "1.1.5" + "@radix-ui/react-id" "1.1.0" + "@radix-ui/react-presence" "1.1.2" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-collection" "1.1.2" - "@radix-ui/react-compose-refs" "1.1.1" - "@radix-ui/react-use-previous" "1.1.0" - "@radix-ui/react-visually-hidden" "1.1.2" "@radix-ui/react-use-callback-ref" "1.1.0" - "@radix-ui/react-dismissable-layer" "1.1.5" - "@radix-ui/react-use-layout-effect" "1.1.0" "@radix-ui/react-use-controllable-state" "1.1.0" + "@radix-ui/react-use-layout-effect" "1.1.0" + "@radix-ui/react-use-previous" "1.1.0" + "@radix-ui/react-visually-hidden" "1.1.2" "@radix-ui/react-popover@^1.1.2": version "1.1.6" resolved "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.6.tgz" integrity sha512-NQouW0x4/GnkFJ/pRqsIS3rM/k97VzKnVb2jB7Gq7VEGPy5g7uNV1ykySFt7eWSp3i2uSGFwaJcvIRJBAHmmFg== dependencies: - aria-hidden "^1.2.4" - "@radix-ui/react-id" "1.1.0" "@radix-ui/primitive" "1.1.1" - react-remove-scroll "^2.6.3" - "@radix-ui/react-slot" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-dismissable-layer" "1.1.5" + "@radix-ui/react-focus-guards" "1.1.1" + "@radix-ui/react-focus-scope" "1.1.2" + "@radix-ui/react-id" "1.1.0" "@radix-ui/react-popper" "1.2.2" "@radix-ui/react-portal" "1.1.4" - "@radix-ui/react-context" "1.1.1" "@radix-ui/react-presence" "1.1.2" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-focus-scope" "1.1.2" - "@radix-ui/react-compose-refs" "1.1.1" - "@radix-ui/react-focus-guards" "1.1.1" - "@radix-ui/react-dismissable-layer" "1.1.5" + "@radix-ui/react-slot" "1.1.2" "@radix-ui/react-use-controllable-state" "1.1.0" + aria-hidden "^1.2.4" + react-remove-scroll "^2.6.3" "@radix-ui/react-popper@1.2.2": version "1.2.2" resolved "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.2.tgz" integrity sha512-Rvqc3nOpwseCyj/rgjlJDYAgyfw7OC1tTkKn2ivhaMGcYt8FSBlahHOZak2i3QwkRXUXgGgzeEe2RuqeEHuHgA== dependencies: - "@radix-ui/rect" "1.1.0" - "@radix-ui/react-arrow" "1.1.2" "@floating-ui/react-dom" "^2.0.0" + "@radix-ui/react-arrow" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-use-rect" "1.1.0" - "@radix-ui/react-use-size" "1.1.0" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-use-callback-ref" "1.1.0" "@radix-ui/react-use-layout-effect" "1.1.0" + "@radix-ui/react-use-rect" "1.1.0" + "@radix-ui/react-use-size" "1.1.0" + "@radix-ui/rect" "1.1.0" "@radix-ui/react-portal@1.0.0": version "1.0.0" @@ -3396,28 +3403,28 @@ integrity sha512-xtCsqt8Rp09FK50ItqEqTJ7Sxanz8EM8dnkVIhJrc/wkMMomSmXHvYbhv3E7Zx4oXh98aaLt9W679SUYXg4IDA== dependencies: "@radix-ui/primitive" "1.1.1" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-presence" "1.1.2" - "@radix-ui/react-use-size" "1.1.0" "@radix-ui/react-direction" "1.1.0" + "@radix-ui/react-presence" "1.1.2" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-roving-focus" "1.1.2" - "@radix-ui/react-use-previous" "1.1.0" "@radix-ui/react-use-controllable-state" "1.1.0" + "@radix-ui/react-use-previous" "1.1.0" + "@radix-ui/react-use-size" "1.1.0" "@radix-ui/react-roving-focus@1.1.2": version "1.1.2" resolved "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.2.tgz" integrity sha512-zgMQWkNO169GtGqRvYrzb0Zf8NhMHS2DuEB/TiEmVnpr5OqPU3i8lfbxaAmC2J/KYuIQxyoQQ6DxepyXp61/xw== dependencies: - "@radix-ui/react-id" "1.1.0" "@radix-ui/primitive" "1.1.1" + "@radix-ui/react-collection" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" "@radix-ui/react-direction" "1.1.0" + "@radix-ui/react-id" "1.1.0" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-collection" "1.1.2" - "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-use-callback-ref" "1.1.0" "@radix-ui/react-use-controllable-state" "1.1.0" @@ -3428,11 +3435,11 @@ dependencies: "@radix-ui/number" "1.1.0" "@radix-ui/primitive" "1.1.1" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-presence" "1.1.2" "@radix-ui/react-direction" "1.1.0" + "@radix-ui/react-presence" "1.1.2" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-use-callback-ref" "1.1.0" "@radix-ui/react-use-layout-effect" "1.1.0" @@ -3441,27 +3448,27 @@ resolved "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.1.6.tgz" integrity sha512-T6ajELxRvTuAMWH0YmRJ1qez+x4/7Nq7QIx7zJ0VK3qaEWdnWpNbEDnmWldG1zBDwqrLy5aLMUWcoGirVj5kMg== dependencies: - aria-hidden "^1.2.4" "@radix-ui/number" "1.1.0" - "@radix-ui/react-id" "1.1.0" "@radix-ui/primitive" "1.1.1" - react-remove-scroll "^2.6.3" - "@radix-ui/react-slot" "1.1.2" - "@radix-ui/react-popper" "1.2.2" - "@radix-ui/react-portal" "1.1.4" - "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-direction" "1.1.0" - "@radix-ui/react-primitive" "2.0.2" "@radix-ui/react-collection" "1.1.2" - "@radix-ui/react-focus-scope" "1.1.2" "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-direction" "1.1.0" + "@radix-ui/react-dismissable-layer" "1.1.5" "@radix-ui/react-focus-guards" "1.1.1" - "@radix-ui/react-use-previous" "1.1.0" - "@radix-ui/react-visually-hidden" "1.1.2" + "@radix-ui/react-focus-scope" "1.1.2" + "@radix-ui/react-id" "1.1.0" + "@radix-ui/react-popper" "1.2.2" + "@radix-ui/react-portal" "1.1.4" + "@radix-ui/react-primitive" "2.0.2" + "@radix-ui/react-slot" "1.1.2" "@radix-ui/react-use-callback-ref" "1.1.0" - "@radix-ui/react-dismissable-layer" "1.1.5" - "@radix-ui/react-use-layout-effect" "1.1.0" "@radix-ui/react-use-controllable-state" "1.1.0" + "@radix-ui/react-use-layout-effect" "1.1.0" + "@radix-ui/react-use-previous" "1.1.0" + "@radix-ui/react-visually-hidden" "1.1.2" + aria-hidden "^1.2.4" + react-remove-scroll "^2.6.3" "@radix-ui/react-separator@^1.1.0": version "1.1.2" @@ -3477,15 +3484,15 @@ dependencies: "@radix-ui/number" "1.1.0" "@radix-ui/primitive" "1.1.1" + "@radix-ui/react-collection" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-use-size" "1.1.0" "@radix-ui/react-direction" "1.1.0" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-collection" "1.1.2" - "@radix-ui/react-compose-refs" "1.1.1" - "@radix-ui/react-use-previous" "1.1.0" - "@radix-ui/react-use-layout-effect" "1.1.0" "@radix-ui/react-use-controllable-state" "1.1.0" + "@radix-ui/react-use-layout-effect" "1.1.0" + "@radix-ui/react-use-previous" "1.1.0" + "@radix-ui/react-use-size" "1.1.0" "@radix-ui/react-slot@1.0.0": version "1.0.0" @@ -3508,23 +3515,23 @@ integrity sha512-1nc+vjEOQkJVsJtWPSiISGT6OKm4SiOdjMo+/icLxo2G4vxz1GntC5MzfL4v8ey9OEfw787QCD1y3mUv0NiFEQ== dependencies: "@radix-ui/primitive" "1.1.1" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-use-size" "1.1.0" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-compose-refs" "1.1.1" - "@radix-ui/react-use-previous" "1.1.0" "@radix-ui/react-use-controllable-state" "1.1.0" + "@radix-ui/react-use-previous" "1.1.0" + "@radix-ui/react-use-size" "1.1.0" "@radix-ui/react-tabs@^1.1.1": version "1.1.3" resolved "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.3.tgz" integrity sha512-9mFyI30cuRDImbmFF6O2KUJdgEOsGh9Vmx9x/Dh9tOhL7BngmQPQfwW4aejKm5OHpfWIdmeV6ySyuxoOGjtNng== dependencies: - "@radix-ui/react-id" "1.1.0" "@radix-ui/primitive" "1.1.1" "@radix-ui/react-context" "1.1.1" - "@radix-ui/react-presence" "1.1.2" "@radix-ui/react-direction" "1.1.0" + "@radix-ui/react-id" "1.1.0" + "@radix-ui/react-presence" "1.1.2" "@radix-ui/react-primitive" "2.0.2" "@radix-ui/react-roving-focus" "1.1.2" "@radix-ui/react-use-controllable-state" "1.1.0" @@ -3535,35 +3542,35 @@ integrity sha512-gN4dpuIVKEgpLn1z5FhzT9mYRUitbfZq9XqN/7kkBMUgFTzTG8x/KszWJugJXHcwxckY8xcKDZPz7kG3o6DsUA== dependencies: "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-portal" "1.1.4" + "@radix-ui/react-collection" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-dismissable-layer" "1.1.5" + "@radix-ui/react-portal" "1.1.4" "@radix-ui/react-presence" "1.1.2" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-collection" "1.1.2" - "@radix-ui/react-compose-refs" "1.1.1" - "@radix-ui/react-visually-hidden" "1.1.2" "@radix-ui/react-use-callback-ref" "1.1.0" - "@radix-ui/react-dismissable-layer" "1.1.5" - "@radix-ui/react-use-layout-effect" "1.1.0" "@radix-ui/react-use-controllable-state" "1.1.0" + "@radix-ui/react-use-layout-effect" "1.1.0" + "@radix-ui/react-visually-hidden" "1.1.2" "@radix-ui/react-tooltip@^1.1.3": version "1.1.8" resolved "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.1.8.tgz" integrity sha512-YAA2cu48EkJZdAMHC0dqo9kialOcRStbtiY4nJPaht7Ptrhcvpo+eDChaM6BIs8kL6a8Z5l5poiqLnXcNduOkA== dependencies: - "@radix-ui/react-id" "1.1.0" "@radix-ui/primitive" "1.1.1" - "@radix-ui/react-slot" "1.1.2" + "@radix-ui/react-compose-refs" "1.1.1" + "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-dismissable-layer" "1.1.5" + "@radix-ui/react-id" "1.1.0" "@radix-ui/react-popper" "1.2.2" "@radix-ui/react-portal" "1.1.4" - "@radix-ui/react-context" "1.1.1" "@radix-ui/react-presence" "1.1.2" "@radix-ui/react-primitive" "2.0.2" - "@radix-ui/react-compose-refs" "1.1.1" - "@radix-ui/react-visually-hidden" "1.1.2" - "@radix-ui/react-dismissable-layer" "1.1.5" + "@radix-ui/react-slot" "1.1.2" "@radix-ui/react-use-controllable-state" "1.1.0" + "@radix-ui/react-visually-hidden" "1.1.2" "@radix-ui/react-use-callback-ref@1.0.0": version "1.0.0" @@ -3682,26 +3689,26 @@ resolved "https://registry.npmjs.org/@react-email/components/-/components-0.0.31.tgz" integrity sha512-rQsTY9ajobncix9raexhBjC7O6cXUMc87eNez2gnB1FwtkUO8DqWZcktbtwOJi7GKmuAPTx0o/IOFtiBNXziKA== dependencies: - "@react-email/hr" "0.0.11" - "@react-email/img" "0.0.11" - "@react-email/row" "0.0.12" "@react-email/body" "0.0.11" + "@react-email/button" "0.0.19" + "@react-email/code-block" "0.0.11" + "@react-email/code-inline" "0.0.5" + "@react-email/column" "0.0.13" + "@react-email/container" "0.0.15" "@react-email/font" "0.0.9" "@react-email/head" "0.0.12" + "@react-email/heading" "0.0.15" + "@react-email/hr" "0.0.11" "@react-email/html" "0.0.11" + "@react-email/img" "0.0.11" "@react-email/link" "0.0.12" - "@react-email/text" "0.0.11" - "@react-email/button" "0.0.19" - "@react-email/column" "0.0.13" - "@react-email/render" "1.0.3" - "@react-email/heading" "0.0.15" + "@react-email/markdown" "0.0.14" "@react-email/preview" "0.0.12" + "@react-email/render" "1.0.3" + "@react-email/row" "0.0.12" "@react-email/section" "0.0.16" - "@react-email/markdown" "0.0.14" "@react-email/tailwind" "1.0.4" - "@react-email/container" "0.0.15" - "@react-email/code-block" "0.0.11" - "@react-email/code-inline" "0.0.5" + "@react-email/text" "0.0.11" "@react-email/container@0.0.15": version "0.0.15" @@ -3760,18 +3767,18 @@ resolved "https://registry.npmjs.org/@react-email/render/-/render-0.0.10.tgz" integrity sha512-FdLhg/E5PH5qZU/jf9NbvRi5v5134kbX7o8zIhOJIk/TALxB18ggprnH5tQX96dGQFqlLob8OLReaRwrpEF7YA== dependencies: - react "18.2.0" + html-to-text "9.0.5" pretty "2.0.0" + react "18.2.0" react-dom "18.2.0" - html-to-text "9.0.5" "@react-email/render@1.0.1": version "1.0.1" resolved "https://registry.npmjs.org/@react-email/render/-/render-1.0.1.tgz" integrity sha512-W3gTrcmLOVYnG80QuUp22ReIT/xfLsVJ+n7ghSlG2BITB8evNABn1AO2rGQoXuK84zKtDAlxCdm3hRyIpZdGSA== dependencies: - js-beautify "^1.14.11" html-to-text "9.0.5" + js-beautify "^1.14.11" react-promise-suspense "0.3.4" "@react-email/render@1.0.3": @@ -3779,8 +3786,8 @@ resolved "https://registry.npmjs.org/@react-email/render/-/render-1.0.3.tgz" integrity sha512-VQ8g4SuIq/jWdfBTdTjb7B8Np0jj+OoD7VebfdHhLTZzVQKesR2aigpYqE/ZXmwj4juVxDm8T2b6WIIu48rPCg== dependencies: - prettier "3.3.3" html-to-text "9.0.5" + prettier "3.3.3" react-promise-suspense "0.3.4" "@react-email/row@0.0.12": @@ -3840,10 +3847,10 @@ resolved "https://registry.npmjs.org/@segment/analytics-core/-/analytics-core-1.4.1.tgz" integrity sha512-kV0Pf33HnthuBOVdYNani21kYyj118Fn+9757bxqoksiXoZlYvBsFq6giNdCsKcTIE1eAMqNDq3xE1VQ0cfsHA== dependencies: - dset "^3.1.2" - tslib "^2.4.1" "@lukeed/uuid" "^2.0.0" "@segment/analytics-generic-utils" "1.1.1" + dset "^3.1.2" + tslib "^2.4.1" "@segment/analytics-generic-utils@1.1.1": version "1.1.1" @@ -3857,12 +3864,12 @@ resolved "https://registry.npmjs.org/@segment/analytics-node/-/analytics-node-1.3.0.tgz" integrity sha512-lRLz1WZaDokMoUe299yP5JkInc3OgJuqNNlxb6j0q22umCiq6b5iDo2gRmFn93reirIvJxWIicQsGrHd93q8GQ== dependencies: - tslib "^2.4.1" - buffer "^6.0.3" - node-fetch "^2.6.7" "@lukeed/uuid" "^2.0.0" "@segment/analytics-core" "1.4.1" "@segment/analytics-generic-utils" "1.1.1" + buffer "^6.0.3" + node-fetch "^2.6.7" + tslib "^2.4.1" "@selderee/plugin-htmlparser2@^0.11.0": version "0.11.0" @@ -3872,12 +3879,12 @@ domhandler "^5.0.3" selderee "^0.11.0" -"@simplewebauthn/browser@^13.0.0": +"@simplewebauthn/browser@^13.0.0", "@simplewebauthn/browser@^9.0.1": version "13.1.0" resolved "https://registry.npmjs.org/@simplewebauthn/browser/-/browser-13.1.0.tgz" integrity sha512-WuHZ/PYvyPJ9nxSzgHtOEjogBhwJfC8xzYkPC+rR/+8chl/ft4ngjiK8kSU5HtRJfczupyOh33b25TjYbvwAcg== -"@simplewebauthn/server@^13.0.0": +"@simplewebauthn/server@^13.0.0", "@simplewebauthn/server@^9.0.2": version "13.1.1" resolved "https://registry.npmjs.org/@simplewebauthn/server/-/server-13.1.1.tgz" integrity sha512-1hsLpRHfSuMB9ee2aAdh0Htza/X3f4djhYISrggqGe3xopNjOcePiSDkDDoPzDYaaMCrbqGP1H2TYU7bgL9PmA== @@ -3895,20 +3902,20 @@ resolved "https://registry.npmjs.org/@slack/bolt/-/bolt-3.22.0.tgz" integrity sha512-iKDqGPEJDnrVwxSVlFW6OKTkijd7s4qLBeSufoBsTM0reTyfdp/5izIQVkxNfzjHi3o6qjdYbRXkYad5HBsBog== dependencies: - axios "^1.7.4" - tsscmp "^1.0.6" - express "^4.21.0" - raw-body "^2.3.3" + "@slack/logger" "^4.0.0" "@slack/oauth" "^2.6.3" + "@slack/socket-mode" "^1.3.6" "@slack/types" "^2.13.0" - "@slack/logger" "^4.0.0" - "@types/tsscmp" "^1.0.0" "@slack/web-api" "^6.13.0" "@types/express" "^4.16.1" + "@types/promise.allsettled" "^1.0.3" + "@types/tsscmp" "^1.0.0" + axios "^1.7.4" + express "^4.21.0" path-to-regexp "^8.1.0" - "@slack/socket-mode" "^1.3.6" promise.allsettled "^1.0.2" - "@types/promise.allsettled" "^1.0.3" + raw-body "^2.3.3" + tsscmp "^1.0.6" "@slack/logger@^3.0.0": version "3.0.0" @@ -3929,25 +3936,25 @@ resolved "https://registry.npmjs.org/@slack/oauth/-/oauth-2.6.3.tgz" integrity sha512-1amXs6xRkJpoH6zSgjVPgGEJXCibKNff9WNDijcejIuVy1HFAl1adh7lehaGNiHhTWfQkfKxBiF+BGn56kvoFw== dependencies: - "@types/node" ">=12" - jsonwebtoken "^9.0.0" "@slack/logger" "^3.0.0" "@slack/web-api" "^6.12.1" - lodash.isstring "^4.0.1" "@types/jsonwebtoken" "^8.3.7" + "@types/node" ">=12" + jsonwebtoken "^9.0.0" + lodash.isstring "^4.0.1" "@slack/socket-mode@^1.3.6": version "1.3.6" resolved "https://registry.npmjs.org/@slack/socket-mode/-/socket-mode-1.3.6.tgz" integrity sha512-G+im7OP7jVqHhiNSdHgv2VVrnN5U7KY845/5EZimZkrD4ZmtV0P3BiWkgeJhPtdLuM7C7i6+M6h6Bh+S4OOalA== dependencies: - ws "^7.5.3" - finity "^0.5.4" - "@types/ws" "^7.4.7" - "@types/node" ">=12.0.0" "@slack/logger" "^3.0.0" - eventemitter3 "^5" "@slack/web-api" "^6.12.1" + "@types/node" ">=12.0.0" + "@types/ws" "^7.4.7" + eventemitter3 "^5" + finity "^0.5.4" + ws "^7.5.3" "@slack/types@^2.11.0", "@slack/types@^2.13.0", "@slack/types@^2.9.0": version "2.14.0" @@ -3959,35 +3966,35 @@ resolved "https://registry.npmjs.org/@slack/web-api/-/web-api-6.13.0.tgz" integrity sha512-dv65crIgdh9ZYHrevLU6XFHTQwTyDmNqEqzuIrV+Vqe/vgiG6w37oex5ePDU1RGm2IJ90H8iOvHFvzdEO/vB+g== dependencies: + "@slack/logger" "^3.0.0" + "@slack/types" "^2.11.0" + "@types/is-stream" "^1.1.0" + "@types/node" ">=12.0.0" axios "^1.7.4" - p-queue "^6.6.1" - p-retry "^4.0.0" + eventemitter3 "^3.1.0" form-data "^2.5.0" - is-stream "^1.1.0" - "@types/node" ">=12.0.0" is-electron "2.2.2" - "@slack/types" "^2.11.0" - "@slack/logger" "^3.0.0" - eventemitter3 "^3.1.0" - "@types/is-stream" "^1.1.0" + is-stream "^1.1.0" + p-queue "^6.6.1" + p-retry "^4.0.0" "@slack/web-api@^7.8.0": version "7.8.0" resolved "https://registry.npmjs.org/@slack/web-api/-/web-api-7.8.0.tgz" integrity sha512-d4SdG+6UmGdzWw38a4sN3lF/nTEzsDxhzU13wm10ejOpPehtmRoqBKnPztQUfFiWbNvSb4czkWYJD4kt+5+Fuw== dependencies: - axios "^1.7.8" - retry "^0.13.1" - p-queue "^6" - p-retry "^4" - form-data "^4.0.0" - is-stream "^2" - "@types/node" ">=18.0.0" - is-electron "2.2.2" + "@slack/logger" "^4.0.0" "@slack/types" "^2.9.0" + "@types/node" ">=18.0.0" "@types/retry" "0.12.0" - "@slack/logger" "^4.0.0" + axios "^1.7.8" eventemitter3 "^5.0.1" + form-data "^4.0.0" + is-electron "2.2.2" + is-stream "^2" + p-queue "^6" + p-retry "^4" + retry "^0.13.1" "@smithy/abort-controller@^4.0.1": version "4.0.1" @@ -4009,8 +4016,8 @@ resolved "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-4.0.0.tgz" integrity sha512-R9wM2yPmfEMsUmlMlIgSzOyICs0x9uu7UTHoccMyt7BWw8shcGM8HqB355+BZCPBcySvbTYMs62EgEQkNxz2ig== dependencies: - tslib "^2.6.2" "@smithy/util-base64" "^4.0.0" + tslib "^2.6.2" "@smithy/config-resolver@^4.0.1": version "4.0.1" @@ -4335,9 +4342,9 @@ resolved "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-4.0.0.tgz" integrity sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg== dependencies: - tslib "^2.6.2" - "@smithy/util-utf8" "^4.0.0" "@smithy/util-buffer-from" "^4.0.0" + "@smithy/util-utf8" "^4.0.0" + tslib "^2.6.2" "@smithy/util-body-length-browser@^4.0.0": version "4.0.0" @@ -4358,16 +4365,16 @@ resolved "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz" integrity sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA== dependencies: - tslib "^2.6.2" "@smithy/is-array-buffer" "^2.2.0" + tslib "^2.6.2" "@smithy/util-buffer-from@^4.0.0": version "4.0.0" resolved "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.0.0.tgz" integrity sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug== dependencies: - tslib "^2.6.2" "@smithy/is-array-buffer" "^4.0.0" + tslib "^2.6.2" "@smithy/util-config-provider@^4.0.0": version "4.0.0" @@ -4459,16 +4466,16 @@ resolved "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz" integrity sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A== dependencies: - tslib "^2.6.2" "@smithy/util-buffer-from" "^2.2.0" + tslib "^2.6.2" "@smithy/util-utf8@^4.0.0": version "4.0.0" resolved "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.0.0.tgz" integrity sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow== dependencies: - tslib "^2.6.2" "@smithy/util-buffer-from" "^4.0.0" + tslib "^2.6.2" "@smithy/util-waiter@^4.0.2": version "4.0.2" @@ -4554,9 +4561,9 @@ resolved "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.16.tgz" integrity sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA== dependencies: - lodash.merge "^4.6.2" lodash.castarray "^4.4.0" lodash.isplainobject "^4.0.6" + lodash.merge "^4.6.2" postcss-selector-parser "6.0.10" "@tanstack/query-core@^4.15.1": @@ -4784,62 +4791,62 @@ resolved "https://registry.npmjs.org/@tiptap/pm/-/pm-2.11.5.tgz" integrity sha512-z9JFtqc5ZOsdQLd9vRnXfTCQ8v5ADAfRt9Nm7SqP6FUHII8E1hs38ACzf5xursmth/VonJYb5+73Pqxk1hGIPw== dependencies: - prosemirror-menu "^1.2.4" - prosemirror-view "^1.37.0" - prosemirror-model "^1.23.0" - prosemirror-state "^1.4.3" + prosemirror-changeset "^2.2.1" prosemirror-collab "^1.3.1" - prosemirror-keymap "^1.2.2" - prosemirror-tables "^1.6.3" - prosemirror-history "^1.4.1" prosemirror-commands "^1.6.2" - prosemirror-markdown "^1.13.1" - prosemirror-changeset "^2.2.1" - prosemirror-gapcursor "^1.3.2" - prosemirror-transform "^1.10.2" prosemirror-dropcursor "^1.8.1" + prosemirror-gapcursor "^1.3.2" + prosemirror-history "^1.4.1" prosemirror-inputrules "^1.4.0" - prosemirror-schema-list "^1.4.1" + prosemirror-keymap "^1.2.2" + prosemirror-markdown "^1.13.1" + prosemirror-menu "^1.2.4" + prosemirror-model "^1.23.0" prosemirror-schema-basic "^1.2.3" + prosemirror-schema-list "^1.4.1" + prosemirror-state "^1.4.3" + prosemirror-tables "^1.6.3" prosemirror-trailing-node "^3.0.0" + prosemirror-transform "^1.10.2" + prosemirror-view "^1.37.0" "@tiptap/react@^2.11.2", "@tiptap/react@^2.11.5", "@tiptap/react@^2.9.1": version "2.11.5" resolved "https://registry.npmjs.org/@tiptap/react/-/react-2.11.5.tgz" integrity sha512-Dp8eHL1G+R/C4+QzAczyb3t1ovexEIZx9ln7SGEM+cT1KHKAw9XGPRgsp92+NQaYI+EdEb/YqoBOSzQcd18/OQ== dependencies: - fast-deep-equal "^3" - use-sync-external-store "^1" "@tiptap/extension-bubble-menu" "^2.11.5" - "@types/use-sync-external-store" "^0.0.6" "@tiptap/extension-floating-menu" "^2.11.5" + "@types/use-sync-external-store" "^0.0.6" + fast-deep-equal "^3" + use-sync-external-store "^1" "@tiptap/starter-kit@^2.11.2", "@tiptap/starter-kit@^2.11.5", "@tiptap/starter-kit@^2.9.1": version "2.11.5" resolved "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-2.11.5.tgz" integrity sha512-SLI7Aj2ruU1t//6Mk8f+fqW+18uTqpdfLUJYgwu0CkqBckrkRZYZh6GVLk/02k3H2ki7QkFxiFbZrdbZdng0JA== dependencies: - "@tiptap/pm" "^2.11.5" "@tiptap/core" "^2.11.5" + "@tiptap/extension-blockquote" "^2.11.5" "@tiptap/extension-bold" "^2.11.5" + "@tiptap/extension-bullet-list" "^2.11.5" "@tiptap/extension-code" "^2.11.5" - "@tiptap/extension-text" "^2.11.5" - "@tiptap/extension-italic" "^2.11.5" - "@tiptap/extension-strike" "^2.11.5" - "@tiptap/extension-heading" "^2.11.5" - "@tiptap/extension-history" "^2.11.5" - "@tiptap/extension-document" "^2.11.5" - "@tiptap/extension-gapcursor" "^2.11.5" - "@tiptap/extension-list-item" "^2.11.5" - "@tiptap/extension-paragraph" "^2.11.5" - "@tiptap/extension-blockquote" "^2.11.5" "@tiptap/extension-code-block" "^2.11.5" + "@tiptap/extension-document" "^2.11.5" "@tiptap/extension-dropcursor" "^2.11.5" + "@tiptap/extension-gapcursor" "^2.11.5" "@tiptap/extension-hard-break" "^2.11.5" - "@tiptap/extension-text-style" "^2.11.5" - "@tiptap/extension-bullet-list" "^2.11.5" + "@tiptap/extension-heading" "^2.11.5" + "@tiptap/extension-history" "^2.11.5" + "@tiptap/extension-horizontal-rule" "^2.11.5" + "@tiptap/extension-italic" "^2.11.5" + "@tiptap/extension-list-item" "^2.11.5" "@tiptap/extension-ordered-list" "^2.11.5" - "@tiptap/extension-horizontal-rule" "^2.11.5" + "@tiptap/extension-paragraph" "^2.11.5" + "@tiptap/extension-strike" "^2.11.5" + "@tiptap/extension-text" "^2.11.5" + "@tiptap/extension-text-style" "^2.11.5" + "@tiptap/pm" "^2.11.5" "@tiptap/suggestion@^2.11.2": version "2.11.5" @@ -4856,42 +4863,42 @@ resolved "https://registry.npmjs.org/@trigger.dev/build/-/build-3.3.17.tgz" integrity sha512-dfreMuVeLAcZypS3kkUA9nWNviiuOPIQ3ldy2ywPCmwmbHyd0BE8tI5D3A4kmVq/f53TdRMls4c+cYafxlwubQ== dependencies: - tsconfck "3.1.3" + "@trigger.dev/core" "3.3.17" pkg-types "^1.1.3" tinyglobby "^0.2.2" - "@trigger.dev/core" "3.3.17" + tsconfck "3.1.3" "@trigger.dev/core@3.3.13": version "3.3.13" resolved "https://registry.npmjs.org/@trigger.dev/core/-/core-3.3.13.tgz" integrity sha512-3VU4YMS+RVCkfVXeUKSWlkVszgFK44tIknR9sHLYgetI714L3tgH47XBXJ3+/ZV5Y9Vvv6O6pRIuV7EEhzbexg== dependencies: - zod "3.23.8" - jose "^5.4.0" - execa "^8.0.1" - dequal "^2.0.3" - nanoid "^3.3.4" - superjson "^2.2.1" - zod-error "1.5.0" - eventsource "^3.0.5" + "@electric-sql/client" "1.0.0-beta.1" + "@google-cloud/precise-date" "^4.0.0" "@jsonhero/path" "^1.0.21" - socket.io-client "4.7.5" - humanize-duration "^3.27.3" "@opentelemetry/api" "1.9.0" - eventsource-parser "^3.0.0" - "@electric-sql/client" "1.0.0-beta.1" - zod-validation-error "^1.5.0" "@opentelemetry/api-logs" "0.52.1" + "@opentelemetry/exporter-logs-otlp-http" "0.52.1" + "@opentelemetry/exporter-trace-otlp-http" "0.52.1" + "@opentelemetry/instrumentation" "0.52.1" + "@opentelemetry/resources" "1.25.1" "@opentelemetry/sdk-logs" "0.52.1" "@opentelemetry/sdk-node" "0.52.1" - "@opentelemetry/resources" "1.25.1" - "@google-cloud/precise-date" "^4.0.0" "@opentelemetry/sdk-trace-base" "1.25.1" "@opentelemetry/sdk-trace-node" "1.25.1" - "@opentelemetry/instrumentation" "0.52.1" "@opentelemetry/semantic-conventions" "1.25.1" - "@opentelemetry/exporter-logs-otlp-http" "0.52.1" - "@opentelemetry/exporter-trace-otlp-http" "0.52.1" + dequal "^2.0.3" + eventsource "^3.0.5" + eventsource-parser "^3.0.0" + execa "^8.0.1" + humanize-duration "^3.27.3" + jose "^5.4.0" + nanoid "^3.3.4" + socket.io-client "4.7.5" + superjson "^2.2.1" + zod "3.23.8" + zod-error "1.5.0" + zod-validation-error "^1.5.0" "@trigger.dev/core@3.3.17", "@trigger.dev/core@^3.3.17": version "3.3.17" @@ -4938,39 +4945,39 @@ resolved "https://registry.npmjs.org/@trigger.dev/sdk/-/sdk-3.3.13.tgz" integrity sha512-iXtHMnzvzmPfBk7+whpWOElBJt6viCoA3r8xgrrrurj8oxjIVe4UvdDiB7wbUJJ44WROWEb0wVKyQut1L/FwQQ== dependencies: - ws "^8.11.0" + "@opentelemetry/api" "1.9.0" + "@opentelemetry/api-logs" "0.52.1" + "@opentelemetry/semantic-conventions" "1.25.1" + "@trigger.dev/core" "3.3.13" + chalk "^5.2.0" + cronstrue "^2.21.0" + debug "^4.3.4" evt "^2.4.13" slug "^6.0.0" + terminal-link "^3.0.0" ulid "^2.3.0" uuid "^9.0.0" - chalk "^5.2.0" - debug "^4.3.4" - cronstrue "^2.21.0" - terminal-link "^3.0.0" - "@trigger.dev/core" "3.3.13" - "@opentelemetry/api" "1.9.0" - "@opentelemetry/api-logs" "0.52.1" - "@opentelemetry/semantic-conventions" "1.25.1" + ws "^8.11.0" "@trigger.dev/sdk@3.3.17": version "3.3.17" resolved "https://registry.npmjs.org/@trigger.dev/sdk/-/sdk-3.3.17.tgz" integrity sha512-wjIjlQWKybYWw/J7LxFIOO1pXzxXoj9lxbFMvjb51JtfebxnQnh6aExN47nOGhVhV38wHYstfBI/8ClWwBnFYw== dependencies: - ws "^8.11.0" + "@opentelemetry/api" "1.9.0" + "@opentelemetry/api-logs" "0.52.1" + "@opentelemetry/semantic-conventions" "1.25.1" + "@trigger.dev/core" "3.3.17" + chalk "^5.2.0" + cronstrue "^2.21.0" + debug "^4.3.4" evt "^2.4.13" slug "^6.0.0" + terminal-link "^3.0.0" ulid "^2.3.0" - uuid "^9.0.0" - chalk "^5.2.0" - debug "^4.3.4" uncrypto "^0.1.3" - cronstrue "^2.21.0" - terminal-link "^3.0.0" - "@trigger.dev/core" "3.3.17" - "@opentelemetry/api" "1.9.0" - "@opentelemetry/api-logs" "0.52.1" - "@opentelemetry/semantic-conventions" "1.25.1" + uuid "^9.0.0" + ws "^8.11.0" "@trpc/client@11.0.0-rc.700": version "11.0.0-rc.700" @@ -4987,8 +4994,8 @@ resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz" integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== dependencies: - "@types/node" "*" "@types/connect" "*" + "@types/node" "*" "@types/connect@*": version "3.4.38" @@ -5021,36 +5028,36 @@ resolved "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz" integrity sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww== dependencies: - "@types/d3-dsv" "*" - "@types/d3-geo" "*" - "@types/d3-axis" "*" - "@types/d3-drag" "*" - "@types/d3-ease" "*" - "@types/d3-path" "*" - "@types/d3-time" "*" - "@types/d3-zoom" "*" "@types/d3-array" "*" + "@types/d3-axis" "*" "@types/d3-brush" "*" "@types/d3-chord" "*" "@types/d3-color" "*" + "@types/d3-contour" "*" + "@types/d3-delaunay" "*" + "@types/d3-dispatch" "*" + "@types/d3-drag" "*" + "@types/d3-dsv" "*" + "@types/d3-ease" "*" "@types/d3-fetch" "*" "@types/d3-force" "*" - "@types/d3-scale" "*" - "@types/d3-shape" "*" - "@types/d3-timer" "*" "@types/d3-format" "*" - "@types/d3-random" "*" - "@types/d3-contour" "*" + "@types/d3-geo" "*" + "@types/d3-hierarchy" "*" + "@types/d3-interpolate" "*" + "@types/d3-path" "*" "@types/d3-polygon" "*" - "@types/d3-delaunay" "*" - "@types/d3-dispatch" "*" "@types/d3-quadtree" "*" - "@types/d3-hierarchy" "*" + "@types/d3-random" "*" + "@types/d3-scale" "*" + "@types/d3-scale-chromatic" "*" "@types/d3-selection" "*" - "@types/d3-transition" "*" - "@types/d3-interpolate" "*" + "@types/d3-shape" "*" + "@types/d3-time" "*" "@types/d3-time-format" "*" - "@types/d3-scale-chromatic" "*" + "@types/d3-timer" "*" + "@types/d3-transition" "*" + "@types/d3-zoom" "*" "@types/d3-array@*", "@types/d3-array@^3.0.3": version "3.2.1" @@ -5086,8 +5093,8 @@ resolved "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz" integrity sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg== dependencies: - "@types/geojson" "*" "@types/d3-array" "*" + "@types/geojson" "*" "@types/d3-delaunay@*": version "6.0.4" @@ -5223,8 +5230,8 @@ resolved "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz" integrity sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw== dependencies: - "@types/d3-selection" "*" "@types/d3-interpolate" "*" + "@types/d3-selection" "*" "@types/debug@^4.0.0": version "4.1.12" @@ -5255,20 +5262,20 @@ resolved "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz" integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== dependencies: - "@types/qs" "*" "@types/body-parser" "*" - "@types/serve-static" "*" "@types/express-serve-static-core" "^4.17.33" + "@types/qs" "*" + "@types/serve-static" "*" "@types/express-serve-static-core@^4.17.33": version "4.19.6" resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz" integrity sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A== dependencies: - "@types/qs" "*" "@types/node" "*" - "@types/send" "*" + "@types/qs" "*" "@types/range-parser" "*" + "@types/send" "*" "@types/geojson@*": version "7946.0.16" @@ -5329,21 +5336,21 @@ resolved "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz" integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== -"@types/markdown-it@^13.0.7": +"@types/markdown-it@*", "@types/markdown-it@^13.0.7": version "13.0.9" resolved "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-13.0.9.tgz" integrity sha512-1XPwR0+MgXLWfTn9gCsZ55AHOKW1WN+P9vr0PaQh5aerR9LLQXUbjfEAFhjmEmyoYFWAyuN2Mqkn40MZ4ukjBw== dependencies: - "@types/mdurl" "^1" "@types/linkify-it" "^3" + "@types/mdurl" "^1" -"@types/markdown-it@*", "@types/markdown-it@^14.0.0", "@types/markdown-it@^14.1.1": +"@types/markdown-it@^14.0.0", "@types/markdown-it@^14.1.1": version "14.1.2" resolved "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz" integrity sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog== dependencies: - "@types/mdurl" "^2" "@types/linkify-it" "^5" + "@types/mdurl" "^2" "@types/mdast@^4.0.0": version "4.0.4" @@ -5396,17 +5403,17 @@ resolved "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.12.tgz" integrity sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA== dependencies: - form-data "^4.0.0" "@types/node" "*" + form-data "^4.0.0" "@types/pg@8.11.6": version "8.11.6" resolved "https://registry.npmjs.org/@types/pg/-/pg-8.11.6.tgz" integrity sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ== dependencies: - pg-types "^4.0.1" "@types/node" "*" pg-protocol "*" + pg-types "^4.0.1" "@types/promise.allsettled@^1.0.3": version "1.0.6" @@ -5428,14 +5435,14 @@ resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz" integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== -"@types/react@*", "@types/react@19.0.10", "@types/react@>=18", "@types/react@^19.0.0", "@types/react@^19.0.8": +"@types/react@*", "@types/react@19.0.10", "@types/react@>=16.8", "@types/react@>=17.0.0", "@types/react@>=18", "@types/react@^16.8.0 || ^17.0.0 || ^18.0.0", "@types/react@^17.0.0 || ^18.0.0 || ^19.0.0", "@types/react@^19.0.0", "@types/react@^19.0.8": version "19.0.10" resolved "https://registry.npmjs.org/@types/react/-/react-19.0.10.tgz" integrity sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g== dependencies: csstype "^3.0.2" -"@types/react-dom@19.0.4", "@types/react-dom@^19.0.0", "@types/react-dom@^19.0.3": +"@types/react-dom@*", "@types/react-dom@19.0.4", "@types/react-dom@^19.0.0", "@types/react-dom@^19.0.3": version "19.0.4" resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.0.4.tgz" integrity sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg== @@ -5471,9 +5478,9 @@ resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz" integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw== dependencies: + "@types/http-errors" "*" "@types/node" "*" "@types/send" "*" - "@types/http-errors" "*" "@types/shimmer@^1.0.2": version "1.2.0" @@ -5558,17 +5565,17 @@ resolved "https://registry.npmjs.org/@uploadthing/react/-/react-7.3.0.tgz" integrity sha512-rSH9BpPy2/G7nZ3SEbZQANUFHkBCS5CwWiVzmOW9fzFNoqF+buqBvi5FDweffqMSwmr+/VS8Wpyj87/GYbV0Fw== dependencies: - file-selector "0.6.0" "@uploadthing/shared" "7.1.7" + file-selector "0.6.0" "@uploadthing/shared@7.1.7": version "7.1.7" resolved "https://registry.npmjs.org/@uploadthing/shared/-/shared-7.1.7.tgz" integrity sha512-VDvGmyHhdwaivC+eee77yZnOVvz59mOmLVbcuYFo4SkoNvPuc3AyPORqJJMBveQivTvELdrQcjlx6IPv98JkSA== dependencies: - sqids "^0.3.0" - effect "3.12.0" "@uploadthing/mime-types" "0.3.4" + effect "3.12.0" + sqids "^0.3.0" "@upstash/core-analytics@^0.0.10": version "0.0.10" @@ -5596,9 +5603,9 @@ resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz" integrity sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q== dependencies: - entities "^4.5.0" - "@vue/shared" "3.5.13" "@babel/parser" "^7.25.3" + "@vue/shared" "3.5.13" + entities "^4.5.0" estree-walker "^2.0.2" source-map-js "^1.2.0" @@ -5607,31 +5614,31 @@ resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz" integrity sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA== dependencies: - "@vue/shared" "3.5.13" "@vue/compiler-core" "3.5.13" + "@vue/shared" "3.5.13" "@vue/compiler-sfc@3.5.13": version "3.5.13" resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz" integrity sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ== dependencies: - postcss "^8.4.48" - "@vue/shared" "3.5.13" - magic-string "^0.30.11" "@babel/parser" "^7.25.3" - estree-walker "^2.0.2" - source-map-js "^1.2.0" + "@vue/compiler-core" "3.5.13" "@vue/compiler-dom" "3.5.13" "@vue/compiler-ssr" "3.5.13" - "@vue/compiler-core" "3.5.13" + "@vue/shared" "3.5.13" + estree-walker "^2.0.2" + magic-string "^0.30.11" + postcss "^8.4.48" + source-map-js "^1.2.0" "@vue/compiler-ssr@3.5.13": version "3.5.13" resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz" integrity sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA== dependencies: - "@vue/shared" "3.5.13" "@vue/compiler-dom" "3.5.13" + "@vue/shared" "3.5.13" "@vue/reactivity@3.5.13": version "3.5.13" @@ -5645,26 +5652,26 @@ resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz" integrity sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw== dependencies: - "@vue/shared" "3.5.13" "@vue/reactivity" "3.5.13" + "@vue/shared" "3.5.13" "@vue/runtime-dom@3.5.13": version "3.5.13" resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz" integrity sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog== dependencies: - csstype "^3.1.3" - "@vue/shared" "3.5.13" "@vue/reactivity" "3.5.13" "@vue/runtime-core" "3.5.13" + "@vue/shared" "3.5.13" + csstype "^3.1.3" "@vue/server-renderer@3.5.13": version "3.5.13" resolved "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz" integrity sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA== dependencies: - "@vue/shared" "3.5.13" "@vue/compiler-ssr" "3.5.13" + "@vue/shared" "3.5.13" "@vue/shared@3.5.13": version "3.5.13" @@ -5740,19 +5747,19 @@ ai@3.4.33, ai@^3.4.33: resolved "https://registry.npmjs.org/ai/-/ai-3.4.33.tgz" integrity sha512-plBlrVZKwPoRTmM8+D1sJac9Bq8eaa2jiZlHLZIWekKWI1yMWYZvCCEezY9ASPwRhULYDJB2VhKOBUUeg3S5JQ== dependencies: - "@ai-sdk/vue" "0.0.59" - json-schema "^0.4.0" + "@ai-sdk/provider" "0.0.26" + "@ai-sdk/provider-utils" "1.0.22" "@ai-sdk/react" "0.0.70" "@ai-sdk/solid" "0.0.54" - jsondiffpatch "0.6.0" "@ai-sdk/svelte" "0.0.57" - "@ai-sdk/provider" "0.0.26" "@ai-sdk/ui-utils" "0.0.50" - secure-json-parse "^2.7.0" + "@ai-sdk/vue" "0.0.59" "@opentelemetry/api" "1.9.0" eventsource-parser "1.1.2" + json-schema "^0.4.0" + jsondiffpatch "0.6.0" + secure-json-parse "^2.7.0" zod-to-json-schema "^3.23.3" - "@ai-sdk/provider-utils" "1.0.22" ai@^4.1.61: version "4.1.63" @@ -5772,10 +5779,10 @@ ajv@^6.12.3: resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: - uri-js "^4.2.2" fast-deep-equal "^3.1.1" - json-schema-traverse "^0.4.1" fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" ansi-escapes@^4.2.1: version "4.3.2" @@ -5828,8 +5835,8 @@ anymatch@~3.1.2: resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: - picomatch "^2.0.4" normalize-path "^3.0.0" + picomatch "^2.0.4" aproba@^1.0.3: version "1.2.0" @@ -6045,7 +6052,7 @@ balanced-match@^1.0.0: resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -bare-events@^2.0.0, bare-events@^2.2.0: +bare-events@*, bare-events@^2.0.0, bare-events@^2.2.0: version "2.5.4" resolved "https://registry.npmjs.org/bare-events/-/bare-events-2.5.4.tgz" integrity sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA== @@ -6105,19 +6112,19 @@ better-auth@^1.1.18: resolved "https://registry.npmjs.org/better-auth/-/better-auth-1.2.4.tgz" integrity sha512-/ZK2jbUjm8JwdeCLFrUWUBmexPyI9PkaLVXWLWtN60sMDHTY8B5G72wcHglo1QMFBaw4G0qFkP5ayl9k6XfDaA== dependencies: - zod "^3.24.1" + "@better-auth/utils" "0.2.3" + "@better-fetch/fetch" "^1.1.15" + "@noble/ciphers" "^0.6.0" + "@noble/hashes" "^1.6.1" + "@simplewebauthn/browser" "^13.0.0" + "@simplewebauthn/server" "^13.0.0" + better-call "^1.0.3" defu "^6.1.4" jose "^5.9.6" kysely "^0.27.6" - valibot "1.0.0-beta.15" nanostores "^0.11.3" - better-call "^1.0.3" - "@noble/hashes" "^1.6.1" - "@noble/ciphers" "^0.6.0" - "@better-auth/utils" "0.2.3" - "@better-fetch/fetch" "^1.1.15" - "@simplewebauthn/server" "^13.0.0" - "@simplewebauthn/browser" "^13.0.0" + valibot "1.0.0-beta.15" + zod "^3.24.1" better-call@^1.0.3: version "1.0.4" @@ -6165,18 +6172,18 @@ body-parser@1.20.3: resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz" integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== dependencies: - qs "6.13.0" - depd "2.0.0" bytes "3.1.2" + content-type "~1.0.5" debug "2.6.9" - unpipe "1.0.0" + depd "2.0.0" destroy "1.2.0" - type-is "~1.6.18" - raw-body "2.5.2" - iconv-lite "0.4.24" http-errors "2.0.0" + iconv-lite "0.4.24" on-finished "2.4.1" - content-type "~1.0.5" + qs "6.13.0" + raw-body "2.5.2" + type-is "~1.6.18" + unpipe "1.0.0" bowser@^2.11.0: version "2.11.0" @@ -6251,17 +6258,17 @@ bun@^1.2.5: resolved "https://registry.npmjs.org/bun/-/bun-1.2.5.tgz" integrity sha512-fbQLt+DPiGUrPKdmsHRRT7cQAlfjdxPVFvLZrsUPmKiTdv+pU50ypdx9yRJluknSbyaZchFVV7Lx2KXikXKX2Q== optionalDependencies: - "@oven/bun-linux-x64" "1.2.5" + "@oven/bun-darwin-aarch64" "1.2.5" "@oven/bun-darwin-x64" "1.2.5" - "@oven/bun-windows-x64" "1.2.5" + "@oven/bun-darwin-x64-baseline" "1.2.5" "@oven/bun-linux-aarch64" "1.2.5" - "@oven/bun-darwin-aarch64" "1.2.5" - "@oven/bun-linux-x64-musl" "1.2.5" "@oven/bun-linux-aarch64-musl" "1.2.5" + "@oven/bun-linux-x64" "1.2.5" "@oven/bun-linux-x64-baseline" "1.2.5" - "@oven/bun-darwin-x64-baseline" "1.2.5" - "@oven/bun-windows-x64-baseline" "1.2.5" + "@oven/bun-linux-x64-musl" "1.2.5" "@oven/bun-linux-x64-musl-baseline" "1.2.5" + "@oven/bun-windows-x64" "1.2.5" + "@oven/bun-windows-x64-baseline" "1.2.5" bundle-name@^4.1.0: version "4.1.0" @@ -6377,16 +6384,16 @@ chokidar@^3.6.0: version "3.6.0" resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + optionalDependencies: + fsevents "~2.3.2" dependencies: - braces "~3.0.2" - is-glob "~4.0.1" anymatch "~3.1.2" - readdirp "~3.6.0" + braces "~3.0.2" glob-parent "~5.1.2" is-binary-path "~2.1.0" + is-glob "~4.0.1" normalize-path "~3.0.0" - optionalDependencies: - fsevents "~2.3.2" + readdirp "~3.6.0" chokidar@^4.0.1: version "4.0.3" @@ -6441,10 +6448,10 @@ cliui@^8.0.1: version "8.0.1" resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - wrap-ansi "^7.0.0" - strip-ansi "^6.0.1" + dependencies: string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" clone@^1.0.2: version "1.0.4" @@ -6483,8 +6490,8 @@ color@^4.2.3: resolved "https://registry.npmjs.org/color/-/color-4.2.3.tgz" integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== dependencies: - color-string "^1.9.0" color-convert "^2.0.1" + color-string "^1.9.0" color-convert@^2.0.1: version "2.0.1" @@ -6572,8 +6579,8 @@ config-chain@^1.1.11, config-chain@^1.1.13: resolved "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz" integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== dependencies: - proto-list "~1.2.1" ini "^1.3.4" + proto-list "~1.2.1" configstore@^5.0.0: version "5.0.1" @@ -6581,11 +6588,11 @@ configstore@^5.0.0: integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== dependencies: dot-prop "^5.2.0" - make-dir "^3.0.0" graceful-fs "^4.1.2" - xdg-basedir "^4.0.0" + make-dir "^3.0.0" unique-string "^2.0.0" write-file-atomic "^3.0.0" + xdg-basedir "^4.0.0" console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" @@ -6651,8 +6658,8 @@ cors@~2.8.5: resolved "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz" integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== dependencies: - vary "^1" object-assign "^4" + vary "^1" crelt@^1.0.0: version "1.0.6" @@ -6669,18 +6676,18 @@ cross-spawn@7.0.5: resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz" integrity sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug== dependencies: - which "^2.0.1" path-key "^3.1.0" shebang-command "^2.0.0" + which "^2.0.1" cross-spawn@^7.0.3, cross-spawn@^7.0.6: version "7.0.6" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz" integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: - which "^2.0.1" path-key "^3.1.0" shebang-command "^2.0.0" + which "^2.0.1" crypto@^1.0.1: version "1.0.1" @@ -7344,10 +7351,10 @@ editorconfig@^1.0.4: resolved "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz" integrity sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q== dependencies: - semver "^7.5.3" + "@one-ini/wasm" "0.1.1" commander "^10.0.0" minimatch "9.0.1" - "@one-ini/wasm" "0.1.1" + semver "^7.5.3" ee-first@1.1.1: version "1.1.1" @@ -7404,7 +7411,7 @@ encodeurl@~2.0.0: resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz" integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== -encoding@^0.1.13: +encoding@^0.1.0, encoding@^0.1.13: version "0.1.13" resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz" integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== @@ -7438,11 +7445,11 @@ engine.io-client@~6.5.2: resolved "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.4.tgz" integrity sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ== dependencies: - ws "~8.17.1" + "@socket.io/component-emitter" "~3.1.0" debug "~4.3.1" engine.io-parser "~5.2.1" + ws "~8.17.1" xmlhttprequest-ssl "~2.0.0" - "@socket.io/component-emitter" "~3.1.0" engine.io-parser@~5.2.1: version "5.2.3" @@ -7573,28 +7580,28 @@ esbuild@0.19.11, "esbuild@>=0.12 <1": integrity sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA== optionalDependencies: "@esbuild/aix-ppc64" "0.19.11" - "@esbuild/linux-arm" "0.19.11" - "@esbuild/linux-x64" "0.19.11" - "@esbuild/sunos-x64" "0.19.11" - "@esbuild/win32-x64" "0.19.11" - "@esbuild/darwin-x64" "0.19.11" - "@esbuild/linux-ia32" "0.19.11" - "@esbuild/netbsd-x64" "0.19.11" - "@esbuild/win32-ia32" "0.19.11" "@esbuild/android-arm" "0.19.11" + "@esbuild/android-arm64" "0.19.11" "@esbuild/android-x64" "0.19.11" + "@esbuild/darwin-arm64" "0.19.11" + "@esbuild/darwin-x64" "0.19.11" + "@esbuild/freebsd-arm64" "0.19.11" "@esbuild/freebsd-x64" "0.19.11" + "@esbuild/linux-arm" "0.19.11" "@esbuild/linux-arm64" "0.19.11" + "@esbuild/linux-ia32" "0.19.11" + "@esbuild/linux-loong64" "0.19.11" + "@esbuild/linux-mips64el" "0.19.11" "@esbuild/linux-ppc64" "0.19.11" + "@esbuild/linux-riscv64" "0.19.11" "@esbuild/linux-s390x" "0.19.11" + "@esbuild/linux-x64" "0.19.11" + "@esbuild/netbsd-x64" "0.19.11" "@esbuild/openbsd-x64" "0.19.11" + "@esbuild/sunos-x64" "0.19.11" "@esbuild/win32-arm64" "0.19.11" - "@esbuild/darwin-arm64" "0.19.11" - "@esbuild/android-arm64" "0.19.11" - "@esbuild/freebsd-arm64" "0.19.11" - "@esbuild/linux-loong64" "0.19.11" - "@esbuild/linux-riscv64" "0.19.11" - "@esbuild/linux-mips64el" "0.19.11" + "@esbuild/win32-ia32" "0.19.11" + "@esbuild/win32-x64" "0.19.11" esbuild-register@3.6.0: version "3.6.0" @@ -7637,24 +7644,24 @@ escodegen@^1.13.0: version "1.14.3" resolved "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz" integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + optionalDependencies: + source-map "~0.6.1" dependencies: + esprima "^4.0.1" estraverse "^4.2.0" esutils "^2.0.2" - esprima "^4.0.1" optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" escodegen@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz" integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== + optionalDependencies: + source-map "~0.6.1" dependencies: + esprima "^4.0.1" estraverse "^5.2.0" esutils "^2.0.2" - esprima "^4.0.1" - optionalDependencies: - source-map "~0.6.1" eslint-visitor-keys@^3.4.1: version "3.4.3" @@ -7773,52 +7780,52 @@ execa@^8.0.1: resolved "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz" integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== dependencies: - onetime "^6.0.0" - is-stream "^3.0.0" - get-stream "^8.0.1" cross-spawn "^7.0.3" - signal-exit "^4.1.0" + get-stream "^8.0.1" + human-signals "^5.0.0" + is-stream "^3.0.0" merge-stream "^2.0.0" npm-run-path "^5.1.0" - human-signals "^5.0.0" + onetime "^6.0.0" + signal-exit "^4.1.0" strip-final-newline "^3.0.0" -express@^4.21.0: +express@*, express@^4.21.0: version "4.21.2" resolved "https://registry.npmjs.org/express/-/express-4.21.2.tgz" integrity sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA== dependencies: - qs "6.13.0" + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.3" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.7.1" + cookie-signature "1.0.6" + debug "2.6.9" depd "2.0.0" + encodeurl "~2.0.0" + escape-html "~1.0.3" etag "~1.8.1" - send "0.19.0" - vary "~1.1.2" - debug "2.6.9" + finalhandler "1.3.1" fresh "0.5.2" - cookie "0.7.1" - accepts "~1.3.8" + http-errors "2.0.0" + merge-descriptors "1.0.3" methods "~1.1.2" - type-is "~1.6.18" + on-finished "2.4.1" parseurl "~1.3.3" - statuses "2.0.1" - encodeurl "~2.0.0" + path-to-regexp "0.1.12" proxy-addr "~2.0.7" - body-parser "1.20.3" - escape-html "~1.0.3" - http-errors "2.0.0" - on-finished "2.4.1" - safe-buffer "5.2.1" - utils-merge "1.0.1" - content-type "~1.0.4" - finalhandler "1.3.1" + qs "6.13.0" range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.19.0" serve-static "1.16.2" - array-flatten "1.1.1" - path-to-regexp "0.1.12" setprototypeof "1.2.0" - cookie-signature "1.0.6" - merge-descriptors "1.0.3" - content-disposition "0.5.4" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" extend@^3.0.0, extend@^3.0.2, extend@~3.0.2: version "3.0.2" @@ -7845,12 +7852,12 @@ extract-zip@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz" integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + optionalDependencies: + "@types/yauzl" "^2.9.1" dependencies: debug "^4.1.1" get-stream "^5.1.0" yauzl "^2.10.0" - optionalDependencies: - "@types/yauzl" "^2.9.1" extsprintf@1.3.0, extsprintf@^1.2.0: version "1.3.0" @@ -7889,11 +7896,11 @@ fast-glob@3.3.1: resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz" integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== dependencies: - merge2 "^1.3.0" - micromatch "^4.0.4" - glob-parent "^5.1.2" "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" fast-glob@^3.3.2, fast-glob@^3.3.3: version "3.3.3" @@ -8001,12 +8008,12 @@ finalhandler@1.3.1: integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ== dependencies: debug "2.6.9" - unpipe "~1.0.0" - parseurl "~1.3.3" - statuses "2.0.1" encodeurl "~2.0.0" escape-html "~1.0.3" on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" find-my-way-ts@^0.1.5: version "0.1.5" @@ -8070,8 +8077,8 @@ form-data@~2.3.2: integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== dependencies: asynckit "^0.4.0" - mime-types "^2.1.12" combined-stream "^1.0.6" + mime-types "^2.1.12" form-data@^2.5.0: version "2.5.3" @@ -8079,10 +8086,10 @@ form-data@^2.5.0: integrity sha512-XHIrMD0NpDrNM/Ckf7XJiBbLl57KEhT3+i3yY+eWm+cqYZJQTZrKo8Y8AWKnuV5GT4scfuUGt9LzNoIx3dU1nQ== dependencies: asynckit "^0.4.0" - mime-types "^2.1.35" - safe-buffer "^5.2.1" combined-stream "^1.0.8" es-set-tostringtag "^2.1.0" + mime-types "^2.1.35" + safe-buffer "^5.2.1" form-data@^4.0.0, form-data@^4.0.1: version "4.0.2" @@ -8158,10 +8165,10 @@ fstream@^1.0.0, fstream@^1.0.12: resolved "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz" integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" mkdirp ">=0.5 0" rimraf "2" - inherits "~2.0.0" - graceful-fs "^4.1.2" function-bind@^1.1.2: version "1.1.2" @@ -8191,13 +8198,13 @@ gauge@~2.7.3: integrity sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg== dependencies: aproba "^1.0.3" - strip-ansi "^3.0.1" - wide-align "^1.1.0" + console-control-strings "^1.0.0" has-unicode "^2.0.0" + object-assign "^4.1.0" signal-exit "^3.0.0" string-width "^1.0.1" - object-assign "^4.1.0" - console-control-strings "^1.0.0" + strip-ansi "^3.0.1" + wide-align "^1.1.0" gaxios@^5.0.0, gaxios@^5.0.1: version "5.1.3" @@ -8205,9 +8212,9 @@ gaxios@^5.0.0, gaxios@^5.0.1: integrity sha512-95hVgBRgEIRQQQHIbnxBXeHbW4TqFk4ZDJW7wmVtvYar72FdhRIo1UGOLS2eRAKCPEdPBWu+M7+A33D9CdX9rA== dependencies: extend "^3.0.2" + https-proxy-agent "^5.0.0" is-stream "^2.0.0" node-fetch "^2.6.9" - https-proxy-agent "^5.0.0" gcp-metadata@^5.3.0: version "5.3.0" @@ -8334,11 +8341,11 @@ glob@^7.0.3, glob@^7.1.3: resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: - once "^1.3.0" + fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" minimatch "^3.1.1" - fs.realpath "^1.0.0" + once "^1.3.0" path-is-absolute "^1.0.0" glob@^8.0.0: @@ -8346,34 +8353,34 @@ glob@^8.0.0: resolved "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz" integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== dependencies: - once "^1.3.0" + fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" minimatch "^5.0.1" - fs.realpath "^1.0.0" + once "^1.3.0" glob@10.3.4: version "10.3.4" resolved "https://registry.npmjs.org/glob/-/glob-10.3.4.tgz" integrity sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ== dependencies: - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + foreground-child "^3.1.0" jackspeak "^2.0.3" minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" path-scurry "^1.10.1" - foreground-child "^3.1.0" glob@^10.3.10, glob@^10.4.2: version "10.4.5" resolved "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz" integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== dependencies: - minipass "^7.1.2" + foreground-child "^3.1.0" jackspeak "^3.1.2" minimatch "^9.0.4" - path-scurry "^1.11.1" - foreground-child "^3.1.0" + minipass "^7.1.2" package-json-from-dist "^1.0.0" + path-scurry "^1.11.1" glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" @@ -8407,36 +8414,36 @@ google-auth-library@^8.0.2: resolved "https://registry.npmjs.org/google-auth-library/-/google-auth-library-8.9.0.tgz" integrity sha512-f7aQCJODJFmYWN6PeNKzgvy9LI2tYmXnzpNDHEjG5sDNPgGb2FXQyTBnXeSH+PAtpKESFD+LmHw3Ox3mN7e1Fg== dependencies: - jws "^4.0.0" arrify "^2.0.0" + base64-js "^1.3.0" + ecdsa-sig-formatter "^1.0.11" + fast-text-encoding "^1.0.0" gaxios "^5.0.0" + gcp-metadata "^5.3.0" gtoken "^6.1.0" - base64-js "^1.3.0" + jws "^4.0.0" lru-cache "^6.0.0" - gcp-metadata "^5.3.0" - fast-text-encoding "^1.0.0" - ecdsa-sig-formatter "^1.0.11" google-gax@^3.5.8: version "3.6.1" resolved "https://registry.npmjs.org/google-gax/-/google-gax-3.6.1.tgz" integrity sha512-g/lcUjGcB6DSw2HxgEmCDOrI/CByOwqRvsuUvNalHUK2iPPPlmAIpbMbl62u0YufGMr8zgE3JL7th6dCb1Ry+w== dependencies: - duplexify "^4.0.0" - node-fetch "^2.6.1" - protobufjs "7.2.4" - "@types/long" "^4.0.0" - object-hash "^3.0.0" "@grpc/grpc-js" "~1.8.0" + "@grpc/proto-loader" "^0.7.0" + "@types/long" "^4.0.0" "@types/rimraf" "^3.0.2" - retry-request "^5.0.0" - protobufjs-cli "1.1.1" - is-stream-ended "^0.1.4" abort-controller "^3.0.0" - "@grpc/proto-loader" "^0.7.0" + duplexify "^4.0.0" fast-text-encoding "^1.0.3" google-auth-library "^8.0.2" + is-stream-ended "^0.1.4" + node-fetch "^2.6.1" + object-hash "^3.0.0" proto3-json-serializer "^1.0.0" + protobufjs "7.2.4" + protobufjs-cli "1.1.1" + retry-request "^5.0.0" google-p12-pem@^4.0.0: version "4.0.1" @@ -8483,21 +8490,21 @@ gtoken@^6.1.0: resolved "https://registry.npmjs.org/gtoken/-/gtoken-6.1.2.tgz" integrity sha512-4ccGpzz7YAr7lxrT2neugmXQ3hP9ho2gcaityLVkiUecAiwiy60Ii8gRbZeOsXV19fYaRjgBSshs8kXw+NKCPQ== dependencies: - jws "^4.0.0" gaxios "^5.0.1" google-p12-pem "^4.0.0" + jws "^4.0.0" handlebars@^4.7.7: version "4.7.8" resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz" integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== + optionalDependencies: + uglify-js "^3.1.4" dependencies: minimist "^1.2.5" neo-async "^2.6.2" source-map "^0.6.1" wordwrap "^1.0.0" - optionalDependencies: - uglify-js "^3.1.4" har-schema@^2.0.0: version "2.0.0" @@ -8626,10 +8633,10 @@ htmlparser2@^8.0.2: resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz" integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA== dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.3" domutils "^3.0.1" entities "^4.4.0" - domhandler "^5.0.3" - domelementtype "^2.3.0" http-errors@2.0.0: version "2.0.0" @@ -8655,9 +8662,9 @@ http-signature@~1.2.0: resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== dependencies: - sshpk "^1.7.0" - jsprim "^1.2.2" assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" https@^1.0.0: version "1.0.0" @@ -8669,8 +8676,8 @@ https-proxy-agent@^5.0.0: resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== dependencies: - debug "4" agent-base "6" + debug "4" https-proxy-agent@^7.0.0, https-proxy-agent@^7.0.6: version "7.0.6" @@ -8764,21 +8771,21 @@ inquirer@^8.2.0: resolved "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz" integrity sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg== dependencies: - ora "^5.4.1" - rxjs "^7.5.5" + ansi-escapes "^4.2.1" chalk "^4.1.1" - lodash "^4.17.21" - figures "^3.0.0" - through "^2.3.6" - cli-width "^3.0.0" - run-async "^2.4.0" - wrap-ansi "^6.0.1" cli-cursor "^3.1.0" - strip-ansi "^6.0.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.21" mute-stream "0.0.8" - ansi-escapes "^4.2.1" + ora "^5.4.1" + run-async "^2.4.0" + rxjs "^7.5.5" string-width "^4.1.0" - external-editor "^3.0.3" + strip-ansi "^6.0.0" + through "^2.3.6" + wrap-ansi "^6.0.1" internal-slot@^1.1.0: version "1.1.0" @@ -8804,10 +8811,10 @@ intl-messageformat@^10.5.14: resolved "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.15.tgz" integrity sha512-LRyExsEsefQSBjU2p47oAheoKz+EOJxSLDdjOaEjdriajfHsMXOmV/EhMvYSg9bAgCUHasuAC+mcUBe/95PfIg== dependencies: - tslib "2" - "@formatjs/icu-messageformat-parser" "2.11.1" "@formatjs/ecma402-abstract" "2.3.3" "@formatjs/fast-memoize" "2.2.6" + "@formatjs/icu-messageformat-parser" "2.11.1" + tslib "2" ip-address@^9.0.5: version "9.0.5" @@ -9209,19 +9216,19 @@ jackspeak@^2.0.3: version "2.3.6" resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz" integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== - dependencies: - "@isaacs/cliui" "^8.0.2" optionalDependencies: "@pkgjs/parseargs" "^0.11.0" + dependencies: + "@isaacs/cliui" "^8.0.2" jackspeak@^3.1.2: version "3.4.3" resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz" integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== - dependencies: - "@isaacs/cliui" "^8.0.2" optionalDependencies: "@pkgjs/parseargs" "^0.11.0" + dependencies: + "@isaacs/cliui" "^8.0.2" jiti@^1.21.6: version "1.21.7" @@ -9306,21 +9313,21 @@ jsdoc@^4.0.0: resolved "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.4.tgz" integrity sha512-zeFezwyXeG4syyYHbvh1A967IAqq/67yXtXvuL5wnqCkFZe8I0vKfm+EO+YEvLguo6w9CDUbrAXVtJSHh2E8rw== dependencies: - klaw "^3.0.0" - marked "^4.0.10" - mkdirp "^1.0.4" + "@babel/parser" "^7.20.15" + "@jsdoc/salty" "^0.2.1" + "@types/markdown-it" "^14.1.1" bluebird "^3.7.2" catharsis "^0.9.0" - requizzle "^0.2.3" - underscore "~1.13.2" - markdown-it "^14.1.0" - "@jsdoc/salty" "^0.2.1" + escape-string-regexp "^2.0.0" js2xmlparser "^4.0.2" - "@babel/parser" "^7.20.15" - "@types/markdown-it" "^14.1.1" + klaw "^3.0.0" + markdown-it "^14.1.0" markdown-it-anchor "^8.6.7" + marked "^4.0.10" + mkdirp "^1.0.4" + requizzle "^0.2.3" strip-json-comments "^3.1.0" - escape-string-regexp "^2.0.0" + underscore "~1.13.2" jsdom@^26.0.0: version "26.0.0" @@ -9399,10 +9406,10 @@ jsonfile@^6.1.0: version "6.1.0" resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" optionalDependencies: graceful-fs "^4.1.6" + dependencies: + universalify "^2.0.0" jsonrepair@^3.11.2: version "3.12.0" @@ -9414,26 +9421,26 @@ jsonwebtoken@^9.0.0: resolved "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz" integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== dependencies: - ms "^2.1.1" jws "^3.2.2" - semver "^7.5.4" - lodash.once "^4.0.0" lodash.includes "^4.3.0" - lodash.isnumber "^3.0.3" - lodash.isstring "^4.0.1" lodash.isboolean "^3.0.3" lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^7.5.4" jsprim@^1.2.2: version "1.4.2" resolved "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz" integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== dependencies: - verror "1.10.0" - extsprintf "1.3.0" assert-plus "1.0.0" + extsprintf "1.3.0" json-schema "0.4.0" + verror "1.10.0" jwa@^1.4.1: version "1.4.1" @@ -9498,9 +9505,9 @@ keycon@^1.2.0: resolved "https://registry.npmjs.org/keycon/-/keycon-1.4.0.tgz" integrity sha512-p1NAIxiRMH3jYfTeXRs2uWbVJ1WpEjpi8ktzUyBJsX7/wn2qu2VRXktneBLNtKNxJmlUYxRi9gOJt1DuthXR7A== dependencies: + "@cfcs/core" "^0.0.6" "@daybrush/utils" "^1.7.1" "@scena/event-emitter" "^1.0.2" - "@cfcs/core" "^0.0.6" keycode "^2.2.0" kind-of@^3.0.2: @@ -9542,36 +9549,36 @@ languine@^3.1.2: resolved "https://registry.npmjs.org/languine/-/languine-3.1.2.tgz" integrity sha512-nh8qWsLXxBn3Ac4Z89PciUZhTsV7Lm+pQDgg1Yrki5iLLsoUlEfvXvRj5Pw7l1qM2YmUp38qR3MZypy3MqS6Dw== dependencies: - zod "^3.24.1" - open "^10.1.0" - yaml "^2.7.0" + "@clack/prompts" "^0.10.0" + "@trigger.dev/sdk" "3.3.13" + "@trpc/client" "11.0.0-rc.700" + "@trpc/server" "11.0.0-rc.700" + "@types/xml2js" "^0.4.14" chalk "^5.4.1" - jsdom "^26.0.0" - json5 "^2.2.3" - plist "^3.1.0" - xliff "^6.2.1" + csv-parse "^5.6.0" + csv-stringify "^6.5.2" dedent "^1.5.3" dotenv "^16.4.7" - rambda "^9.4.2" - xml2js "^0.6.2" - json2php "^0.0.12" - csv-parse "^5.6.0" fast-glob "^3.3.3" - superjson "^2.2.2" + fast-xml-parser "^4.5.1" + gettext-parser "^8.0.0" + jsdom "^26.0.0" + json2php "^0.0.12" + json5 "^2.2.3" jsonrepair "^3.11.2" + open "^10.1.0" php-parser "^3.1.5" + plist "^3.1.0" + preferred-pm "^4.1.1" properties "^1.2.1" + rambda "^9.4.2" simple-git "^3.27.0" - "@trpc/client" "11.0.0-rc.700" - "@trpc/server" "11.0.0-rc.700" - preferred-pm "^4.1.1" + superjson "^2.2.2" table-layout "^4.1.1" - "@types/xml2js" "^0.4.14" - csv-stringify "^6.5.2" - "@clack/prompts" "^0.10.0" - gettext-parser "^8.0.0" - fast-xml-parser "^4.5.1" - "@trigger.dev/sdk" "3.3.13" + xliff "^6.2.1" + xml2js "^0.6.2" + yaml "^2.7.0" + zod "^3.24.1" leac@^0.6.0: version "0.6.0" @@ -10106,13 +10113,13 @@ micromark-extension-gfm-footnote@^2.0.0: integrity sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw== dependencies: devlop "^1.0.0" - micromark-util-types "^2.0.0" - micromark-util-symbol "^2.0.0" + micromark-core-commonmark "^2.0.0" micromark-factory-space "^2.0.0" micromark-util-character "^2.0.0" - micromark-core-commonmark "^2.0.0" - micromark-util-sanitize-uri "^2.0.0" micromark-util-normalize-identifier "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" micromark-extension-gfm-strikethrough@^2.0.0: version "2.1.0" @@ -10246,10 +10253,10 @@ micromark-util-decode-string@^2.0.0: resolved "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz" integrity sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ== dependencies: + decode-named-character-reference "^1.0.0" micromark-util-character "^2.0.0" micromark-util-decode-numeric-character-reference "^2.0.0" micromark-util-symbol "^2.0.0" - decode-named-character-reference "^1.0.0" micromark-util-encode@^2.0.0: version "2.0.1" @@ -10499,47 +10506,47 @@ next@15.0.4: version "15.0.4" resolved "https://registry.npmjs.org/next/-/next-15.0.4.tgz" integrity sha512-nuy8FH6M1FG0lktGotamQDCXhh5hZ19Vo0ht1AOIQWrYJLP598TIUagKtvJrfJ5AGwB/WmDqkKaKhMpVifvGPA== - dependencies: - busboy "1.6.0" - postcss "8.4.31" - "@next/env" "15.0.4" - styled-jsx "5.1.6" - "@swc/counter" "0.1.3" - "@swc/helpers" "0.5.13" - caniuse-lite "^1.0.30001579" optionalDependencies: - sharp "^0.33.5" - "@next/swc-darwin-x64" "15.0.4" "@next/swc-darwin-arm64" "15.0.4" - "@next/swc-linux-x64-gnu" "15.0.4" - "@next/swc-linux-x64-musl" "15.0.4" - "@next/swc-win32-x64-msvc" "15.0.4" + "@next/swc-darwin-x64" "15.0.4" "@next/swc-linux-arm64-gnu" "15.0.4" "@next/swc-linux-arm64-musl" "15.0.4" + "@next/swc-linux-x64-gnu" "15.0.4" + "@next/swc-linux-x64-musl" "15.0.4" "@next/swc-win32-arm64-msvc" "15.0.4" - -"next@>= 14.0.0", next@>=13.2.0, "next@^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", "next@^14.0.0-0 || ^15.0.0-0", next@^15.2.0, next@^15.2.2: - version "15.2.3" - resolved "https://registry.npmjs.org/next/-/next-15.2.3.tgz" - integrity sha512-x6eDkZxk2rPpu46E1ZVUWIBhYCLszmUY6fvHBFcbzJ9dD+qRX6vcHusaqqDlnY+VngKzKbAiG2iRCkPbmi8f7w== + "@next/swc-win32-x64-msvc" "15.0.4" + sharp "^0.33.5" dependencies: + "@next/env" "15.0.4" + "@swc/counter" "0.1.3" + "@swc/helpers" "0.5.13" busboy "1.6.0" + caniuse-lite "^1.0.30001579" postcss "8.4.31" - "@next/env" "15.2.3" styled-jsx "5.1.6" - "@swc/counter" "0.1.3" - "@swc/helpers" "0.5.15" - caniuse-lite "^1.0.30001579" + +next@*, "next@>= 14.0.0", next@>=13.2.0, next@>=14.2.0, "next@^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", "next@^14.0.0-0 || ^15.0.0-0", next@^15.2.0, next@^15.2.2: + version "15.2.3" + resolved "https://registry.npmjs.org/next/-/next-15.2.3.tgz" + integrity sha512-x6eDkZxk2rPpu46E1ZVUWIBhYCLszmUY6fvHBFcbzJ9dD+qRX6vcHusaqqDlnY+VngKzKbAiG2iRCkPbmi8f7w== optionalDependencies: - sharp "^0.33.5" - "@next/swc-darwin-x64" "15.2.3" "@next/swc-darwin-arm64" "15.2.3" - "@next/swc-linux-x64-gnu" "15.2.3" - "@next/swc-linux-x64-musl" "15.2.3" - "@next/swc-win32-x64-msvc" "15.2.3" + "@next/swc-darwin-x64" "15.2.3" "@next/swc-linux-arm64-gnu" "15.2.3" "@next/swc-linux-arm64-musl" "15.2.3" + "@next/swc-linux-x64-gnu" "15.2.3" + "@next/swc-linux-x64-musl" "15.2.3" "@next/swc-win32-arm64-msvc" "15.2.3" + "@next/swc-win32-x64-msvc" "15.2.3" + sharp "^0.33.5" + dependencies: + "@next/env" "15.2.3" + "@swc/counter" "0.1.3" + "@swc/helpers" "0.5.15" + busboy "1.6.0" + caniuse-lite "^1.0.30001579" + postcss "8.4.31" + styled-jsx "5.1.6" "next-auth@^5.0.0-beta.25": version "5.0.0-beta.25" @@ -10562,9 +10569,9 @@ next-intl@^3.26.5: resolved "https://registry.npmjs.org/next-intl/-/next-intl-3.26.5.tgz" integrity sha512-EQlCIfY0jOhRldiFxwSXG+ImwkQtDEfQeSOEQp6ieAGSLWGlgjdb/Ck/O7wMfC430ZHGeUKVKax8KGusTPKCgg== dependencies: - use-intl "^3.26.5" - negotiator "^1.0.0" "@formatjs/intl-localematcher" "^0.5.4" + negotiator "^1.0.0" + use-intl "^3.26.5" next-safe-action@^7.10.4: version "7.10.4" @@ -10612,18 +10619,18 @@ node-gyp@^3.0.3: resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz" integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== dependencies: - tar "^2.0.0" + fstream "^1.0.0" glob "^7.0.3" - nopt "2 || 3" - osenv "0" - which "1" + graceful-fs "^4.1.2" mkdirp "^0.5.0" + nopt "2 || 3" npmlog "0 || 1 || 2 || 3 || 4" + osenv "0" + request "^2.87.0" rimraf "2" semver "~5.3.0" - fstream "^1.0.0" - request "^2.87.0" - graceful-fs "^4.1.2" + tar "^2.0.0" + which "1" node-gyp-build@^4.8.1: version "4.8.4" @@ -10686,10 +10693,10 @@ novel@^1.0.2: "@types/node" "^22.10.6" cmdk "^1.0.4" jotai "^2.11.0" + katex "^0.16.20" react-markdown "^9.0.3" react-moveable "^0.56.0" react-tweet "^3.2.1" - katex "^0.16.20" tippy.js "^6.3.7" tiptap-extension-global-drag-handle "^0.1.16" tunnel-rat "^0.1.2" @@ -10700,28 +10707,28 @@ novu@^2.6.6: integrity sha512-zD644K1kxxmYSnve8e3xNUVB/haCFHRmXhaYeAmxCnI4oSTos0EAgsvIijFIWrXdiE4a8lAi6hhFsZDOjBkX7g== dependencies: "@novu/ntfr-client" "^0.0.4" + "@novu/shared" "2.6.6" "@segment/analytics-node" "^1.1.4" + "@types/cross-spawn" "6.0.0" + async-sema "3.0.1" axios "^1.6.8" chalk "4.1.2" commander "^9.0.0" configstore "^5.0.0" + cross-spawn "7.0.5" dotenv "^16.4.5" + fast-glob "3.3.1" get-port "^5.1.1" gradient-string "^2.0.0" inquirer "^8.2.0" jwt-decode "^3.1.2" open "^8.4.0" ora "^5.4.1" - uuid "^9.0.0" - ws "^8.11.0" picocolors "^1.0.0" - validate-npm-package-name "3.0.0" prompts "2.4.2" - "@types/cross-spawn" "6.0.0" - cross-spawn "7.0.5" - fast-glob "3.3.1" - async-sema "3.0.1" - "@novu/shared" "2.6.6" + uuid "^9.0.0" + validate-npm-package-name "3.0.0" + ws "^8.11.0" npm-run-path@^5.1.0: version "5.3.0" @@ -10735,10 +10742,10 @@ npm-run-path@^5.1.0: resolved "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== dependencies: - gauge "~2.7.3" - set-blocking "~2.0.0" are-we-there-yet "~1.1.2" console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" number-is-nan@^1.0.0: version "1.0.1" @@ -10856,12 +10863,12 @@ optionator@^0.8.1: resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== dependencies: - prelude-ls "~1.1.2" deep-is "~0.1.3" - word-wrap "~1.2.3" - type-check "~0.3.2" - levn "~0.3.0" fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" ora@5.4.1, ora@^5.4.1: version "5.4.1" @@ -10870,13 +10877,13 @@ ora@5.4.1, ora@^5.4.1: dependencies: bl "^4.1.0" chalk "^4.1.0" - wcwidth "^1.0.1" cli-cursor "^3.1.0" - strip-ansi "^6.0.0" - log-symbols "^4.1.0" cli-spinners "^2.5.0" is-interactive "^1.0.0" is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" orderedmap@^2.0.0: version "2.1.1" @@ -10898,8 +10905,8 @@ osenv@0: resolved "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz" integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== dependencies: - os-tmpdir "^1.0.0" os-homedir "^1.0.0" + os-tmpdir "^1.0.0" overlap-area@^1.1.0: version "1.1.0" @@ -10941,16 +10948,16 @@ p-queue@^6, p-queue@^6.6.1: resolved "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz" integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== dependencies: - p-timeout "^3.2.0" eventemitter3 "^4.0.4" + p-timeout "^3.2.0" p-retry@^4: version "4.6.2" resolved "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== dependencies: - retry "^0.13.1" "@types/retry" "0.12.0" + retry "^0.13.1" p-timeout@^3.2.0: version "3.2.0" @@ -11074,8 +11081,8 @@ path-scurry@^1.10.1, path-scurry@^1.11.1: resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz" integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== dependencies: - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" path-to-regexp@0.1.12: version "0.1.12" @@ -11111,14 +11118,14 @@ pg@>=8.0, pg@^8.11.3, pg@^8.14.1: version "8.14.1" resolved "https://registry.npmjs.org/pg/-/pg-8.14.1.tgz" integrity sha512-0TdbqfjwIun9Fm/r89oB7RFQ0bLgduAhiIqIXOsyKoiC/L54DbuAAzIEN/9Op0f1Po9X7iCPXGoa/Ah+2aI8Xw== + optionalDependencies: + pg-cloudflare "^1.1.1" dependencies: pg-connection-string "^2.7.0" pg-pool "^3.8.0" pg-protocol "^1.8.0" pg-types "^2.1.0" pgpass "1.x" - optionalDependencies: - pg-cloudflare "^1.1.1" pg-cloudflare@^1.1.1: version "1.1.1" @@ -11196,7 +11203,7 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -picomatch@^4.0.2: +"picomatch@^3 || ^4", picomatch@^4.0.2: version "4.0.2" resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz" integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== @@ -11228,9 +11235,9 @@ pkg-types@^1.1.3, pkg-types@^1.3.0: resolved "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz" integrity sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ== dependencies: + confbox "^0.1.8" mlly "^1.7.4" pathe "^2.0.1" - confbox "^0.1.8" playwright-core@^1.51.0: version "1.51.1" @@ -11246,12 +11253,13 @@ plist@^3.1.0: base64-js "^1.5.1" xmlbuilder "^15.1.1" -"portal@apps/portal": +portal@^workspace:apps/portal: version "workspace:apps/portal" resolved "workspace:apps/portal" devDependencies: "@bubba/db" "workspace:*" "@bubba/ui" "workspace:*" + devDependencies: "@types/node" "^22.13.2" "@types/react" "^19.0.8" "@types/react-dom" "^19.0.3" @@ -11280,7 +11288,7 @@ postcss@8.4.31: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@^8.0.0, postcss@^8.1.0, postcss@^8.2.14, postcss@^8.4.21, postcss@^8.4.47, postcss@^8.4.48, postcss@^8.5.2, postcss@^8.5.3: +postcss@>=8.0.9, postcss@^8.0.0, postcss@^8.1.0, postcss@^8.2.14, postcss@^8.4.21, postcss@^8.4.47, postcss@^8.4.48, postcss@^8.5.2, postcss@^8.5.3: version "8.5.3" resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz" integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== @@ -11310,8 +11318,8 @@ postcss-load-config@^4.0.2: resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz" integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== dependencies: - yaml "^2.3.4" lilconfig "^3.0.0" + yaml "^2.3.4" postcss-nested@^6.2.0: version "6.2.0" @@ -11412,7 +11420,7 @@ preact@10.11.3: resolved "https://registry.npmjs.org/preact/-/preact-10.11.3.tgz" integrity sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg== -preact@10.24.3: +preact@10.24.3, preact@>=10: version "10.24.3" resolved "https://registry.npmjs.org/preact/-/preact-10.24.3.tgz" integrity sha512-Z2dPnBnMUfyQfSQ+GBdsGa16hz35YmLmtTLhM169uW944hYL6xzTYkJjC07j+Wosz733pMWx0fgON3JNw1jJQA== @@ -11467,15 +11475,15 @@ pretty-format@^3.8.0: resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz" integrity sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew== -prisma@^6.5.0: +prisma@*, prisma@^6.5.0: version "6.5.0" resolved "https://registry.npmjs.org/prisma/-/prisma-6.5.0.tgz" integrity sha512-yUGXmWqv5F4PByMSNbYFxke/WbnyTLjnJ5bKr8fLkcnY7U5rU9rUTh/+Fja+gOrRxEgtCbCtca94IeITj4j/pg== + optionalDependencies: + fsevents "2.3.3" dependencies: "@prisma/config" "6.5.0" "@prisma/engines" "6.5.0" - optionalDependencies: - fsevents "2.3.3" prismjs@1.29.0: version "1.29.0" @@ -11556,8 +11564,8 @@ prosemirror-commands@^1.0.0, prosemirror-commands@^1.6.2: integrity sha512-6toodS4R/Aah5pdsrIwnTYPEjW70SlO5a66oo5Kk+CIrgJz3ukOoS+FYDGqvQlAX5PxoGWDX1oD++tn5X3pyRA== dependencies: prosemirror-model "^1.0.0" - prosemirror-transform "^1.10.2" prosemirror-state "^1.0.0" + prosemirror-transform "^1.10.2" prosemirror-dropcursor@^1.8.1: version "1.8.1" @@ -11565,8 +11573,8 @@ prosemirror-dropcursor@^1.8.1: integrity sha512-M30WJdJZLyXHi3N8vxN6Zh5O8ZBbQCz0gURTfPmTIBNQ5pxrdU7A58QkNqfa98YEjSAL1HUyyU34f6Pm5xBSGw== dependencies: prosemirror-state "^1.0.0" - prosemirror-view "^1.1.0" prosemirror-transform "^1.1.0" + prosemirror-view "^1.1.0" prosemirror-gapcursor@^1.3.2: version "1.3.2" @@ -11601,17 +11609,17 @@ prosemirror-keymap@^1.0.0, prosemirror-keymap@^1.2.2: resolved "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.2.tgz" integrity sha512-EAlXoksqC6Vbocqc0GtzCruZEzYgrn+iiGnNjsJsH4mrnIGex4qbLdWWNza3AW5W36ZRrlBID0eM6bdKH4OStQ== dependencies: - w3c-keyname "^2.2.0" prosemirror-state "^1.0.0" + w3c-keyname "^2.2.0" prosemirror-markdown@^1.11.1, prosemirror-markdown@^1.13.1: version "1.13.2" resolved "https://registry.npmjs.org/prosemirror-markdown/-/prosemirror-markdown-1.13.2.tgz" integrity sha512-FPD9rHPdA9fqzNmIIDhhnYQ6WgNoSWX9StUZ8LEKapaXU9i6XgykaHKhp6XMyXlOWetmaFgGDS/nu/w9/vUc5g== dependencies: + "@types/markdown-it" "^14.0.0" markdown-it "^14.0.0" prosemirror-model "^1.25.0" - "@types/markdown-it" "^14.0.0" prosemirror-menu@^1.2.4: version "1.2.4" @@ -11619,9 +11627,9 @@ prosemirror-menu@^1.2.4: integrity sha512-S/bXlc0ODQup6aiBbWVsX/eM+xJgCTAfMq/nLqaO5ID/am4wS0tTCIkzwytmao7ypEtjj39i7YbJjAgO20mIqA== dependencies: crelt "^1.0.0" - prosemirror-state "^1.0.0" prosemirror-commands "^1.0.0" prosemirror-history "^1.0.0" + prosemirror-state "^1.0.0" prosemirror-model@^1.0.0, prosemirror-model@^1.20.0, prosemirror-model@^1.21.0, prosemirror-model@^1.22.1, prosemirror-model@^1.23.0, prosemirror-model@^1.24.1, prosemirror-model@^1.25.0: version "1.25.0" @@ -11643,8 +11651,8 @@ prosemirror-schema-list@^1.4.1: integrity sha512-927lFx/uwyQaGwJxLWCZRkjXG0p48KpMj6ueoYiu4JX05GGuGcgzAy62dfiV8eFZftgyBUvLx76RsMe20fJl+Q== dependencies: prosemirror-model "^1.0.0" - prosemirror-transform "^1.7.3" prosemirror-state "^1.0.0" + prosemirror-transform "^1.7.3" prosemirror-state@^1.0.0, prosemirror-state@^1.2.2, prosemirror-state@^1.4.2, prosemirror-state@^1.4.3: version "1.4.3" @@ -11702,23 +11710,23 @@ proto3-json-serializer@^1.0.0: dependencies: protobufjs "^7.0.0" -protobufjs@7.2.4: +protobufjs@7.2.4, protobufjs@^7.0.0: version "7.2.4" resolved "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.4.tgz" integrity sha512-AT+RJgD2sH8phPmCf7OUZR8xGdcJRga4+1cOaXJ64hvcSkVhNcRHOwIxUatPH15+nj59WAGTDv3LSGZPEQbJaQ== dependencies: - long "^5.0.0" - "@types/node" ">=13.7.0" - "@protobufjs/path" "^1.1.2" - "@protobufjs/pool" "^1.1.0" - "@protobufjs/utf8" "^1.1.0" - "@protobufjs/fetch" "^1.1.0" - "@protobufjs/float" "^1.0.2" + "@protobufjs/aspromise" "^1.1.2" "@protobufjs/base64" "^1.1.2" "@protobufjs/codegen" "^2.0.4" - "@protobufjs/inquire" "^1.1.0" - "@protobufjs/aspromise" "^1.1.2" "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/node" ">=13.7.0" + long "^5.0.0" protobufjs@^7.0.0, protobufjs@^7.2.5, protobufjs@^7.3.0: version "7.4.0" @@ -11743,16 +11751,16 @@ protobufjs-cli@1.1.1: resolved "https://registry.npmjs.org/protobufjs-cli/-/protobufjs-cli-1.1.1.tgz" integrity sha512-VPWMgIcRNyQwWUv8OLPyGQ/0lQY/QTQAVN5fh+XzfDwsVw1FZ2L3DM/bcBf8WPiRz2tNpaov9lPZfNcmNo6LXA== dependencies: - tmp "^0.2.1" - glob "^8.0.0" chalk "^4.0.0" - jsdoc "^4.0.0" + escodegen "^1.13.0" espree "^9.0.0" - semver "^7.1.2" + estraverse "^5.1.0" + glob "^8.0.0" + jsdoc "^4.0.0" minimist "^1.2.0" - escodegen "^1.13.0" + semver "^7.1.2" + tmp "^0.2.1" uglify-js "^3.7.7" - estraverse "^5.1.0" proxy-addr@~2.0.7: version "2.0.7" @@ -11793,8 +11801,8 @@ pump@^3.0.0: resolved "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz" integrity sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw== dependencies: - once "^1.3.1" end-of-stream "^1.1.0" + once "^1.3.1" punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.1: version "2.3.1" @@ -11812,8 +11820,8 @@ puppeteer-core@^24.4.0: integrity sha512-eFw66gCnWo0X8Hyf9KxxJtms7a61NJVMiSaWfItsFPzFBsjsWdmcNlBdsA1WVwln6neoHhsG+uTVesKmTREn/g== dependencies: "@puppeteer/browsers" "2.8.0" - debug "^4.4.0" chromium-bidi "2.1.2" + debug "^4.4.0" devtools-protocol "0.0.1413902" typed-query-selector "^2.12.0" ws "^8.18.1" @@ -11875,18 +11883,18 @@ raw-body@2.5.2, raw-body@^2.3.3: integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== dependencies: bytes "3.1.2" - unpipe "1.0.0" - iconv-lite "0.4.24" http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" rc@1.2.8: version "1.2.8" resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== dependencies: + deep-extend "^0.6.0" ini "~1.3.0" minimist "^1.2.0" - deep-extend "^0.6.0" strip-json-comments "~2.0.1" react@18.2.0, react@18.x, "react@^16.8 || ^17.0 || ^18.0", react@^18.0.0, react@^18.2.0: @@ -11919,10 +11927,10 @@ react-dom@18.2.0, "react-dom@^16.8 || ^17.0 || ^18.0", react-dom@^18.0.0: resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== dependencies: - scheduler "^0.23.0" loose-envify "^1.1.0" + scheduler "^0.23.0" -react-dom@19.0.0, "react-dom@>= 18.2.0", react-dom@>=16.6.0, react-dom@>=16.8, react-dom@>=16.8.1, "react-dom@>=16.8.6 || ^17.0.0 || ^18.0.0", react-dom@>=18.0.0, "react-dom@^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react-dom@^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^18 || ^19 || ^19.0.0-rc", "react-dom@^18.0.0 || ^19.0.0", "react-dom@^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react-dom@^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0", "react-dom@^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", react-dom@^19.0.0: +react-dom@19.0.0, "react-dom@>= 18.2.0", react-dom@>=16.6.0, react-dom@>=16.8, react-dom@>=16.8.1, "react-dom@>=16.8.6 || ^17.0.0 || ^18.0.0", react-dom@>=17, react-dom@>=18.0.0, "react-dom@^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react-dom@^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc", "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom@^18 || ^19 || ^19.0.0-rc", "react-dom@^18.0.0 || ^19.0.0", "react-dom@^18.0.0 || ^19.0.0 || ^19.0.0-rc", "react-dom@^18.2.0 || 19.0.0-rc-66855b96-20241106 || ^19.0.0", "react-dom@^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", react-dom@^19.0.0: version "19.0.0" resolved "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz" integrity sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ== @@ -11943,20 +11951,20 @@ react-email@1.x, react-email@3.0.4: resolved "https://registry.npmjs.org/react-email/-/react-email-3.0.4.tgz" integrity sha512-nXdo9P3V+qYSW6m5yN3XpFGhHb/bflX86m0EDQEqDIgayprj6InmBJoBnMSIyC5EP4tPtoAljlclJns4lJG/MQ== dependencies: - ora "5.4.1" - glob "10.3.4" - next "15.0.4" + "@babel/core" "7.24.5" + "@babel/parser" "7.24.5" chalk "4.1.2" - esbuild "0.19.11" chokidar "^4.0.1" - debounce "2.0.0" commander "11.1.0" - socket.io "4.8.0" - mime-types "2.1.35" - "@babel/core" "7.24.5" + debounce "2.0.0" + esbuild "0.19.11" + glob "10.3.4" log-symbols "4.1.0" - "@babel/parser" "7.24.5" + mime-types "2.1.35" + next "15.0.4" normalize-path "3.0.0" + ora "5.4.1" + socket.io "4.8.0" react-hook-form@^7.0.0, react-hook-form@^7.54.2: version "7.54.2" @@ -11998,17 +12006,17 @@ react-markdown@^9.0.3, react-markdown@^9.1.0: resolved "https://registry.npmjs.org/react-markdown/-/react-markdown-9.1.0.tgz" integrity sha512-xaijuJB0kzGiUdG7nc2MOMDUDBWPyGAjZtUrow9XxUeua8IqeP+VlIfAZ3bphpcLTnSZXz6z9jcVC/TCwbfgdw== dependencies: - vfile "^6.0.0" - devlop "^1.0.0" - unified "^11.0.0" "@types/hast" "^3.0.0" "@types/mdast" "^4.0.0" + devlop "^1.0.0" + hast-util-to-jsx-runtime "^2.0.0" + html-url-attributes "^3.0.0" + mdast-util-to-hast "^13.0.0" remark-parse "^11.0.0" remark-rehype "^11.0.0" + unified "^11.0.0" unist-util-visit "^5.0.0" - mdast-util-to-hast "^13.0.0" - html-url-attributes "^3.0.0" - hast-util-to-jsx-runtime "^2.0.0" + vfile "^6.0.0" react-moveable@^0.56.0: version "0.56.0" @@ -12051,11 +12059,11 @@ react-remove-scroll@2.5.4: resolved "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.4.tgz" integrity sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA== dependencies: + react-remove-scroll-bar "^2.3.3" + react-style-singleton "^2.2.1" tslib "^2.1.0" - use-sidecar "^1.1.2" use-callback-ref "^1.3.0" - react-style-singleton "^2.2.1" - react-remove-scroll-bar "^2.3.3" + use-sidecar "^1.1.2" react-remove-scroll@^2.6.3: version "2.6.3" @@ -12102,8 +12110,8 @@ react-style-singleton@^2.2.1, react-style-singleton@^2.2.2, react-style-singleto resolved "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz" integrity sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ== dependencies: - tslib "^2.0.0" get-nonce "^1.0.0" + tslib "^2.0.0" react-textarea-autosize@^8.5.8: version "8.5.8" @@ -12150,13 +12158,13 @@ readable-stream@^2.0.6: resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== dependencies: - isarray "~1.0.0" + core-util-is "~1.0.0" inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" safe-buffer "~5.1.1" - core-util-is "~1.0.0" string_decoder "~1.1.1" util-deprecate "~1.0.1" - process-nextick-args "~2.0.0" readable-stream@^3.1.1, readable-stream@^3.4.0: version "3.6.2" @@ -12196,10 +12204,10 @@ recharts@^2.12.7: integrity sha512-v8PUTUlyiDe56qUj82w/EDVuzEFXwEHp9/xOowGAZwfLjB9uAy3GllQVIYMWF6nU+qibx85WF75zD7AjqoT54Q== dependencies: clsx "^2.0.0" + eventemitter3 "^4.0.1" lodash "^4.17.21" react-is "^18.3.1" react-smooth "^4.0.4" - eventemitter3 "^4.0.1" recharts-scale "^0.4.4" tiny-invariant "^1.3.1" victory-vendor "^36.6.8" @@ -12303,26 +12311,26 @@ request@^2.87.0: resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== dependencies: - qs "~6.5.2" + aws-sign2 "~0.7.0" aws4 "^1.8.0" - uuid "^3.3.2" - extend "~3.0.2" caseless "~0.12.0" - isstream "~0.1.2" - aws-sign2 "~0.7.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" mime-types "~2.1.19" oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" safe-buffer "^5.1.2" tough-cookie "~2.5.0" tunnel-agent "^0.6.0" - forever-agent "~0.6.1" - har-validator "~5.1.3" - is-typedarray "~1.0.0" - http-signature "~1.2.0" - combined-stream "~1.0.6" - performance-now "^2.1.0" - json-stringify-safe "~5.0.1" + uuid "^3.3.2" require-directory@^2.1.1: version "2.1.1" @@ -12585,19 +12593,19 @@ send@0.19.0: resolved "https://registry.npmjs.org/send/-/send-0.19.0.tgz" integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== dependencies: - ms "2.1.3" - depd "2.0.0" - etag "~1.8.1" - mime "1.6.0" debug "2.6.9" - fresh "0.5.2" + depd "2.0.0" destroy "1.2.0" - statuses "2.0.1" encodeurl "~1.0.2" escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" on-finished "2.4.1" range-parser "~1.2.1" + statuses "2.0.1" seroval@^1.0, seroval@^1.1.0: version "1.2.1" @@ -12674,30 +12682,30 @@ sharp@^0.33.5: version "0.33.5" resolved "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz" integrity sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw== - dependencies: - color "^4.2.3" - semver "^7.6.3" - detect-libc "^2.0.3" optionalDependencies: - "@img/sharp-wasm32" "0.33.5" - "@img/sharp-linux-arm" "0.33.5" - "@img/sharp-linux-x64" "0.33.5" - "@img/sharp-win32-x64" "0.33.5" - "@img/sharp-darwin-x64" "0.33.5" - "@img/sharp-win32-ia32" "0.33.5" - "@img/sharp-linux-arm64" "0.33.5" - "@img/sharp-linux-s390x" "0.33.5" "@img/sharp-darwin-arm64" "0.33.5" - "@img/sharp-linuxmusl-x64" "0.33.5" - "@img/sharp-linuxmusl-arm64" "0.33.5" - "@img/sharp-libvips-linux-arm" "1.0.5" - "@img/sharp-libvips-linux-x64" "1.0.4" + "@img/sharp-darwin-x64" "0.33.5" + "@img/sharp-libvips-darwin-arm64" "1.0.4" "@img/sharp-libvips-darwin-x64" "1.0.4" + "@img/sharp-libvips-linux-arm" "1.0.5" "@img/sharp-libvips-linux-arm64" "1.0.4" "@img/sharp-libvips-linux-s390x" "1.0.4" - "@img/sharp-libvips-darwin-arm64" "1.0.4" - "@img/sharp-libvips-linuxmusl-x64" "1.0.4" + "@img/sharp-libvips-linux-x64" "1.0.4" "@img/sharp-libvips-linuxmusl-arm64" "1.0.4" + "@img/sharp-libvips-linuxmusl-x64" "1.0.4" + "@img/sharp-linux-arm" "0.33.5" + "@img/sharp-linux-arm64" "0.33.5" + "@img/sharp-linux-s390x" "0.33.5" + "@img/sharp-linux-x64" "0.33.5" + "@img/sharp-linuxmusl-arm64" "0.33.5" + "@img/sharp-linuxmusl-x64" "0.33.5" + "@img/sharp-wasm32" "0.33.5" + "@img/sharp-win32-ia32" "0.33.5" + "@img/sharp-win32-x64" "0.33.5" + dependencies: + color "^4.2.3" + detect-libc "^2.0.3" + semver "^7.6.3" shebang-command@^2.0.0: version "2.0.0" @@ -12771,9 +12779,9 @@ simple-git@^3.27.0: resolved "https://registry.npmjs.org/simple-git/-/simple-git-3.27.0.tgz" integrity sha512-ivHoFS9Yi9GY49ogc6/YAi3Fl9ROnF4VyubNylgCkA+RVqLaKWnDSzXOVzya8csELIaWaYNutsEuAhZrtOjozA== dependencies: - debug "^4.3.5" "@kwsites/file-exists" "^1.1.1" "@kwsites/promise-deferred" "^1.1.1" + debug "^4.3.5" simple-swizzle@^0.2.2: version "0.2.2" @@ -12802,13 +12810,13 @@ socket.io@4.8.0: resolved "https://registry.npmjs.org/socket.io/-/socket.io-4.8.0.tgz" integrity sha512-8U6BEgGjQOfGz3HHTYaC/L1GaxDCJ/KM0XTkJly0EhZ5U/du9uNEZy4ZgYzEzIqlx2CMm25CrCqr1ck899eLNA== dependencies: - cors "~2.8.5" - debug "~4.3.2" accepts "~1.3.4" base64id "~2.0.0" + cors "~2.8.5" + debug "~4.3.2" engine.io "~6.6.0" - socket.io-parser "~4.2.4" socket.io-adapter "~2.5.2" + socket.io-parser "~4.2.4" socket.io-adapter@~2.5.2: version "2.5.5" @@ -12823,28 +12831,28 @@ socket.io-client@4.7.2: resolved "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.2.tgz" integrity sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w== dependencies: + "@socket.io/component-emitter" "~3.1.0" debug "~4.3.2" engine.io-client "~6.5.2" socket.io-parser "~4.2.4" - "@socket.io/component-emitter" "~3.1.0" socket.io-client@4.7.5: version "4.7.5" resolved "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz" integrity sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ== dependencies: + "@socket.io/component-emitter" "~3.1.0" debug "~4.3.2" engine.io-client "~6.5.2" socket.io-parser "~4.2.4" - "@socket.io/component-emitter" "~3.1.0" socket.io-parser@~4.2.4: version "4.2.4" resolved "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz" integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== dependencies: - debug "~4.3.1" "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.1" socks@^2.8.3: version "2.8.4" @@ -12868,7 +12876,7 @@ solid-floating-ui@^0.3.1: resolved "https://registry.npmjs.org/solid-floating-ui/-/solid-floating-ui-0.3.1.tgz" integrity sha512-o/QmGsWPS2Z3KidAxP0nDvN7alI7Kqy0kU+wd85Fz+au5SYcnYm7I6Fk3M60Za35azsPX0U+5fEtqfOuk6Ao0Q== -solid-js@^1.6.12, solid-js@^1.8, solid-js@^1.8.11: +solid-js@^1.6.12, solid-js@^1.7.7, solid-js@^1.8, solid-js@^1.8.11: version "1.9.5" resolved "https://registry.npmjs.org/solid-js/-/solid-js-1.9.5.tgz" integrity sha512-ogI3DaFcyn6UhYhrgcyRAMbu/buBJitYQASZz5WzfQVPP10RD2AbCoRZ517psnezrasyCbWzIxZ6kVqet768xw== @@ -12935,14 +12943,14 @@ sshpk@^1.7.0: integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== dependencies: asn1 "~0.2.3" - jsbn "~0.1.0" - getpass "^0.1.1" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - tweetnacl "~0.14.0" assert-plus "^1.0.0" bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" safer-buffer "^2.0.2" + tweetnacl "~0.14.0" sswr@^2.1.0: version "2.2.0" @@ -12983,38 +12991,38 @@ streamx@^2.15.0, streamx@^2.21.0: version "2.22.0" resolved "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz" integrity sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw== + optionalDependencies: + bare-events "^2.2.0" dependencies: fast-fifo "^1.3.2" text-decoder "^1.1.0" - optionalDependencies: - bare-events "^2.2.0" string-width@^1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== dependencies: - strip-ansi "^3.0.0" code-point-at "^1.0.0" is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3, "string-width@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: - strip-ansi "^6.0.1" emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== dependencies: - strip-ansi "^7.0.1" - emoji-regex "^9.2.2" eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" string.prototype.trim@^1.2.10: version "1.2.10" @@ -13121,8 +13129,8 @@ stripe@^17.7.0: resolved "https://registry.npmjs.org/stripe/-/stripe-17.7.0.tgz" integrity sha512-aT2BU9KkizY9SATf14WhhYVv2uOapBWX0OFWF4xvcj1mPaNotlSc2CsxpS4DS46ZueSppmCF5BX1sNYBtwBvfw== dependencies: - qs "^6.11.0" "@types/node" ">=8.1.0" + qs "^6.11.0" strnum@^1.0.5, strnum@^1.1.1: version "1.1.2" @@ -13195,16 +13203,16 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -"svelte@^4.0.0 || ^5.0.0": +"svelte@^3.0.0 || ^4.0.0 || ^5.0.0", "svelte@^4.0.0 || ^5.0.0": version "5.23.2" resolved "https://registry.npmjs.org/svelte/-/svelte-5.23.2.tgz" integrity sha512-PHP1o0aYJNMatiZ+0nq1W/Z1W1/l5Z94B9nhMIo7gsuTBbxC454g4O5SQMjQpZBUZi5ANYUrXJOE4gPzcN/VQw== dependencies: "@ampproject/remapping" "^2.3.0" "@jridgewell/sourcemap-codec" "^1.5.0" + "@sveltejs/acorn-typescript" "^1.0.5" "@types/estree" "^1.0.5" acorn "^8.12.1" - "@sveltejs/acorn-typescript" "^1.0.5" aria-query "^5.3.1" axobject-query "^4.1.0" clsx "^2.1.1" @@ -13251,33 +13259,33 @@ tailwind-merge@2.5.3, tailwind-merge@^2.4.0: resolved "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.5.3.tgz" integrity sha512-d9ZolCAIzom1nf/5p4LdD5zvjmgSxY0BGgdSvmXIoMYAiPdAW/dSpP7joCDYFY7r/HkEa2qmPtkgsu0xjQeQtw== -"tailwindcss@>=3.0.0 || insiders", "tailwindcss@>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1", tailwindcss@^3.4.13, tailwindcss@^3.4.17: +"tailwindcss@>=3.0.0 || insiders", "tailwindcss@>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1", "tailwindcss@^3.0.0 || ^4.0.0-beta.0", tailwindcss@^3.4.13, tailwindcss@^3.4.17: version "3.4.17" resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz" integrity sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og== dependencies: + "@alloc/quick-lru" "^5.2.0" arg "^5.0.2" - dlv "^1.1.3" - jiti "^1.21.6" - is-glob "^4.0.3" - postcss "^8.4.47" - resolve "^1.22.8" - sucrase "^3.35.0" chokidar "^3.6.0" + didyoumean "^1.2.2" + dlv "^1.1.3" fast-glob "^3.3.2" + glob-parent "^6.0.2" + is-glob "^4.0.3" + jiti "^1.21.6" lilconfig "^3.1.3" - didyoumean "^1.2.2" micromatch "^4.0.8" - picocolors "^1.1.1" - postcss-js "^4.0.1" - glob-parent "^6.0.2" - object-hash "^3.0.0" normalize-path "^3.0.0" + object-hash "^3.0.0" + picocolors "^1.1.1" + postcss "^8.4.47" postcss-import "^15.1.0" - postcss-nested "^6.2.0" - "@alloc/quick-lru" "^5.2.0" + postcss-js "^4.0.1" postcss-load-config "^4.0.2" + postcss-nested "^6.2.0" postcss-selector-parser "^6.1.2" + resolve "^1.22.8" + sucrase "^3.35.0" tailwindcss-animate@^1.0.7: version "1.0.7" @@ -13289,20 +13297,20 @@ tar@^2.0.0: resolved "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz" integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA== dependencies: + block-stream "*" fstream "^1.0.12" inherits "2" - block-stream "*" tar-fs@^3.0.8: version "3.0.8" resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.8.tgz" integrity sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg== - dependencies: - pump "^3.0.0" - tar-stream "^3.1.5" optionalDependencies: bare-fs "^4.0.1" bare-path "^3.0.0" + dependencies: + pump "^3.0.0" + tar-stream "^3.1.5" tar-stream@^3.1.5: version "3.1.7" @@ -13380,8 +13388,8 @@ tinygradient@^1.1.5: resolved "https://registry.npmjs.org/tinygradient/-/tinygradient-1.1.5.tgz" integrity sha512-8nIfc2vgQ4TeLnk2lFj4tRLvvJwEfQuabdsmvDdQPT0xlk9TaNtpGd6nNRxXoK6vQhN6RSzj+Cnp5tTQmpxmbw== dependencies: - tinycolor2 "^1.0.0" "@types/tinycolor2" "^1.4.0" + tinycolor2 "^1.0.0" tippy.js@^6.3.7: version "6.3.7" @@ -13532,11 +13540,11 @@ turbo@^2.4.4: resolved "https://registry.npmjs.org/turbo/-/turbo-2.4.4.tgz" integrity sha512-N9FDOVaY3yz0YCOhYIgOGYad7+m2ptvinXygw27WPLQvcZDl3+0Sa77KGVlLSiuPDChOUEnTKE9VJwLSi9BPGQ== optionalDependencies: - turbo-linux-64 "2.4.4" turbo-darwin-64 "2.4.4" - turbo-windows-64 "2.4.4" - turbo-linux-arm64 "2.4.4" turbo-darwin-arm64 "2.4.4" + turbo-linux-64 "2.4.4" + turbo-linux-arm64 "2.4.4" + turbo-windows-64 "2.4.4" turbo-windows-arm64 "2.4.4" turbo-darwin-64@2.4.4: @@ -13601,8 +13609,8 @@ type-is@~1.6.18: resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== dependencies: - mime-types "~2.1.24" media-typer "0.3.0" + mime-types "~2.1.24" typed-array-buffer@^1.0.3: version "1.0.3" @@ -13661,12 +13669,12 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@5.7.3: +typescript@*, typescript@5.7.3, typescript@>=5, typescript@>=5.1.0, typescript@>=5.7.2, typescript@^5.0.0: version "5.7.3" resolved "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz" integrity sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw== -typescript@>=5.7.2, typescript@^5.5.4, typescript@^5.6.3, typescript@^5.7.2, typescript@^5.7.3, typescript@^5.8.2: +typescript@^5.5.4, typescript@^5.6.3, typescript@^5.7.2, typescript@^5.7.3, typescript@^5.8.2: version "5.8.2" resolved "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz" integrity sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ== @@ -13802,11 +13810,11 @@ uploadthing@^7.2.0: resolved "https://registry.npmjs.org/uploadthing/-/uploadthing-7.5.2.tgz" integrity sha512-hrvsVXgu6cYYJW97UuFLd3U2+TrPGyMBtPYSkqSTVq45Orkq9qFk095qkXYIW4EA/DyvCo78VV25HfSXT3EH7w== dependencies: - effect "3.12.0" "@effect/platform" "0.72.0" - "@uploadthing/shared" "7.1.7" "@standard-schema/spec" "1.0.0-beta.4" "@uploadthing/mime-types" "0.3.4" + "@uploadthing/shared" "7.1.7" + effect "3.12.0" uri-js@^4.2.2: version "4.4.1" @@ -13837,8 +13845,8 @@ use-intl@^3.26.5: resolved "https://registry.npmjs.org/use-intl/-/use-intl-3.26.5.tgz" integrity sha512-OdsJnC/znPvHCHLQH/duvQNXnP1w0hPfS+tkSi3mAbfjYBGh4JnyfdwkQBfIVf7t8gs9eSX/CntxUMvtKdG2MQ== dependencies: - intl-messageformat "^10.5.14" "@formatjs/fast-memoize" "^2.2.0" + intl-messageformat "^10.5.14" use-isomorphic-layout-effect@^1.1.1: version "1.2.0" @@ -13865,7 +13873,7 @@ use-sidecar@^1.1.2, use-sidecar@^1.1.3: detect-node-es "^1.1.0" tslib "^2.0.0" -use-sync-external-store@^1, use-sync-external-store@^1.2.2, use-sync-external-store@^1.4.0: +use-sync-external-store@>=1.2.0, use-sync-external-store@^1, use-sync-external-store@^1.2.2, use-sync-external-store@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz" integrity sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw== @@ -13900,7 +13908,7 @@ uuid@^11.1.0: resolved "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz" integrity sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A== -"valibot@1.0.0-beta.15": +"valibot@1.0.0-beta.15", "valibot@>= 0.36.0", "valibot@^1.0.0-beta.7 || ^1.0.0": version "1.0.0-beta.15" resolved "https://registry.npmjs.org/valibot/-/valibot-1.0.0-beta.15.tgz" integrity sha512-BKy8XosZkDHWmYC+cJG74LBzP++Gfntwi33pP3D3RKztz2XV9jmFWnkOi21GoqARP8wAWARwhV6eTr1JcWzjGw== @@ -13934,9 +13942,9 @@ verror@1.10.0: resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== dependencies: - extsprintf "^1.2.0" assert-plus "^1.0.0" core-util-is "1.0.2" + extsprintf "^1.2.0" vfile@^6.0.0: version "6.0.3" @@ -13959,31 +13967,31 @@ victory-vendor@^36.6.8: resolved "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.9.2.tgz" integrity sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ== dependencies: - d3-ease "^3.0.1" - d3-time "^3.0.0" - d3-array "^3.1.6" - d3-scale "^4.0.2" - d3-shape "^3.1.0" - d3-timer "^3.0.1" - "@types/d3-ease" "^3.0.0" - "@types/d3-time" "^3.0.0" - d3-interpolate "^3.0.1" "@types/d3-array" "^3.0.3" + "@types/d3-ease" "^3.0.0" + "@types/d3-interpolate" "^3.0.1" "@types/d3-scale" "^4.0.2" "@types/d3-shape" "^3.1.0" + "@types/d3-time" "^3.0.0" "@types/d3-timer" "^3.0.0" - "@types/d3-interpolate" "^3.0.1" + d3-array "^3.1.6" + d3-ease "^3.0.1" + d3-interpolate "^3.0.1" + d3-scale "^4.0.2" + d3-shape "^3.1.0" + d3-time "^3.0.0" + d3-timer "^3.0.1" -vue@3.5.13, "vue@>=3.2.26 < 4": +vue@3.5.13, "vue@>=3.2.26 < 4", vue@^3.3.4: version "3.5.13" resolved "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz" integrity sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ== dependencies: - "@vue/shared" "3.5.13" - "@vue/runtime-dom" "3.5.13" "@vue/compiler-dom" "3.5.13" "@vue/compiler-sfc" "3.5.13" + "@vue/runtime-dom" "3.5.13" "@vue/server-renderer" "3.5.13" + "@vue/shared" "3.5.13" w3c-keyname@^2.2.0: version "2.2.8" @@ -14196,8 +14204,8 @@ write-file-atomic@^3.0.0: integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== dependencies: imurmurhash "^0.1.4" - signal-exit "^3.0.2" is-typedarray "^1.0.0" + signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" ws@^7.5.3: @@ -14310,13 +14318,13 @@ yargs@^17.7.2: resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== dependencies: - y18n "^5.0.5" cliui "^8.0.1" escalade "^3.1.1" - string-width "^4.2.3" - yargs-parser "^21.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" yargs-parser@^21.1.1: version "21.1.1" @@ -14333,8 +14341,8 @@ yauzl@^2.10.0: resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz" integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== dependencies: - fd-slicer "~1.1.0" buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" zimmerframe@^1.1.2: version "1.1.2" @@ -14351,7 +14359,7 @@ zod@3.23.8: resolved "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz" integrity sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g== -"zod@>= 3", zod@^3.0.0, zod@^3.18.0, zod@^3.20.2, zod@^3.24.1, zod@^3.24.2: +"zod@>= 3", zod@^3.0.0, zod@^3.18.0, zod@^3.20.2, zod@^3.24.0, zod@^3.24.1, zod@^3.24.2: version "3.24.2" resolved "https://registry.npmjs.org/zod/-/zod-3.24.2.tgz" integrity sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ== From 953035fb4095960a3d553bcb93488a57ea730c2f Mon Sep 17 00:00:00 2001 From: 7yntax Date: Wed, 19 Mar 2025 18:44:44 +0000 Subject: [PATCH 15/18] COM-20 added integration factory --- .../tests/all/actions/refreshTests.ts | 49 +++---- .../tasks/integration/integration-results.ts | 100 +++++++------- packages/integrations/src/aws/config.ts | 7 +- packages/integrations/src/aws/src/index.ts | 28 ++-- packages/integrations/src/azure/config.ts | 8 +- packages/integrations/src/azure/src/index.ts | 34 ++--- packages/integrations/src/deel/config.ts | 6 + packages/integrations/src/factory.ts | 127 ++++++++++++++++++ packages/integrations/src/index.ts | 9 ++ 9 files changed, 245 insertions(+), 123 deletions(-) create mode 100644 packages/integrations/src/factory.ts diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests.ts b/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests.ts index f48b565279..c57865c03b 100644 --- a/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests.ts +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/tests/all/actions/refreshTests.ts @@ -1,33 +1,10 @@ "use server"; import { db } from "@bubba/db"; -import { revalidatePath } from "next/cache"; import { authActionClient } from "@/actions/safe-action"; -import { integrations } from "@bubba/integrations"; - -// Create a map of integration handlers with proper typing -type IntegrationHandler = { - id: string; - fetch: (credentials: any) => Promise; -}; - -// Create a map of integration handlers -const integrationHandlers = new Map(); - -// Find and add integrations to the map if they exist -const aws = integrations.find((integration) => integration.id === "aws"); -const gcp = integrations.find((integration) => integration.id === "gcp"); -const azure = integrations.find((integration) => integration.id === "azure"); - -if (aws && "fetch" in aws) { - integrationHandlers.set("aws", aws as unknown as IntegrationHandler); -} -if (gcp && "fetch" in gcp) { - integrationHandlers.set("gcp", gcp as unknown as IntegrationHandler); -} -if (azure && "fetch" in azure) { - integrationHandlers.set("azure", azure as unknown as IntegrationHandler); -} +import { getIntegrationHandler } from "@bubba/integrations"; +import { decrypt } from "@bubba/app/src/lib/encryption"; +import type { DecryptFunction } from "@bubba/integrations"; export const refreshTestsAction = authActionClient .metadata({ @@ -51,7 +28,8 @@ export const refreshTestsAction = authActionClient }); for (const integration of integrationsTable) { - const integrationHandler = integrationHandlers.get( + // Get the integration handler with proper typing + const integrationHandler = getIntegrationHandler( integration.integration_id, ); @@ -64,8 +42,21 @@ export const refreshTestsAction = authActionClient } try { - // Pass encrypted credentials directly to the integration handler - const results = await integrationHandler.fetch(integration.user_settings); + // Process credentials using the integration handler + const userSettings = integration.user_settings as unknown as Record< + string, + unknown + >; + + // Pass the decrypt function to the processCredentials method + const typedCredentials = await integrationHandler.processCredentials( + userSettings, + // Cast decrypt to match the expected DecryptFunction type + decrypt as unknown as DecryptFunction, + ); + + // Fetch results using properly typed credentials + const results = await integrationHandler.fetch(typedCredentials); // Store the integration results using model name that matches the database for (const result of results) { diff --git a/apps/app/src/jobs/tasks/integration/integration-results.ts b/apps/app/src/jobs/tasks/integration/integration-results.ts index 8ca0f3def3..08e26c46d2 100644 --- a/apps/app/src/jobs/tasks/integration/integration-results.ts +++ b/apps/app/src/jobs/tasks/integration/integration-results.ts @@ -1,31 +1,8 @@ import { db } from "@bubba/db"; import { logger, schemaTask } from "@trigger.dev/sdk/v3"; import { z } from "zod"; -import { integrations } from "@bubba/integrations"; - -// Create a map of integration handlers with proper typing -type IntegrationHandler = { - id: string; - fetch: (credentials: any) => Promise; -}; - -// Create a map of integration handlers -const integrationHandlers = new Map(); - -// Find and add integrations to the map if they exist -const aws = integrations.find((integration) => integration.id === "aws"); -const gcp = integrations.find((integration) => integration.id === "gcp"); -const azure = integrations.find((integration) => integration.id === "azure"); - -if (aws && "fetch" in aws) { - integrationHandlers.set("aws", aws as unknown as IntegrationHandler); -} -if (gcp && "fetch" in gcp) { - integrationHandlers.set("gcp", gcp as unknown as IntegrationHandler); -} -if (azure && "fetch" in azure) { - integrationHandlers.set("azure", azure as unknown as IntegrationHandler); -} +import { getIntegrationHandler, type DecryptFunction } from "@bubba/integrations"; +import { decrypt } from "@bubba/app/src/lib/encryption"; export const sendIntegrationResults = schemaTask({ id: "send-integration-results", @@ -50,25 +27,26 @@ export const sendIntegrationResults = schemaTask({ // Access the integration_id to determine which integration to run const integrationId = integration.integration_id; - // Extract user settings which may contain necessary credentials - const userSettings = integration.user_settings; - - const integrationHandler = integrationHandlers.get(integrationId); + // Get the integration handler with proper typing + const integrationHandler = getIntegrationHandler(integrationId); if (!integrationHandler) { logger.error(`Integration handler for ${integrationId} not found`); return { success: false, error: "Integration handler not found" }; } - const { region, access_key_id, secret_access_key } = - integration.user_settings as unknown as { - region: any; - access_key_id: any; - secret_access_key: any; - }; - const results = await integrationHandler.fetch( - { region, access_key_id, secret_access_key } + // Extract user settings which may contain necessary credentials + const userSettings = integration.user_settings as unknown as Record; + + // Process credentials using the integration handler + const typedCredentials = await integrationHandler.processCredentials( + userSettings, + // Cast decrypt to match the expected DecryptFunction type + (decrypt as unknown) as DecryptFunction ); + + // Fetch results using properly typed credentials + const results = await integrationHandler.fetch(typedCredentials); // Store the integration results using model name that matches the database for (const result of results) { @@ -83,17 +61,43 @@ export const sendIntegrationResults = schemaTask({ continue; } - await db.organizationIntegrationResults.create({ - data: { - title: result?.Title, - status: result?.Compliance?.Status || "unknown", - label: result?.Severity?.Label || "INFO", - resultDetails: result || { error: "No result returned" }, - organizationIntegrationId: existingIntegration.id, - organizationId: integration.organization.id, - // assignedUserId is now optional, so we don't need to provide it - }, - }); + // Check if a result with the same finding ID already exists + // Assuming all integrations have an Id field in their results + const existingResult = + await db.organizationIntegrationResults.findFirst({ + where: { + resultDetails: { + path: ["Id"], + equals: result?.Id, + }, + organizationIntegrationId: existingIntegration.id, + }, + }); + + if (existingResult) { + // Update the existing result instead of creating a new one + await db.organizationIntegrationResults.update({ + where: { id: existingResult.id }, + data: { + status: result?.Compliance?.Status || "unknown", + label: result?.Severity?.Label || "INFO", + resultDetails: result || { error: "No result returned" }, + }, + }); + continue; + } + + await db.organizationIntegrationResults.create({ + data: { + title: result?.Title, + status: result?.Compliance?.Status || "unknown", + label: result?.Severity?.Label || "INFO", + resultDetails: result || { error: "No result returned" }, + organizationIntegrationId: existingIntegration.id, + organizationId: integration.organization.id, + // assignedUserId is now optional, so we don't need to provide it + }, + }); } logger.info(`Integration run completed for ${integration.name}`); diff --git a/packages/integrations/src/aws/config.ts b/packages/integrations/src/aws/config.ts index e3ef2ca57b..35d1e4873b 100644 --- a/packages/integrations/src/aws/config.ts +++ b/packages/integrations/src/aws/config.ts @@ -1,6 +1,8 @@ import imageBase64 from "./assets/image.base64"; -import { fetch } from "./src"; +import { getIntegrationHandler } from "../factory"; +// Get the handler from the factory +const awsHandler = getIntegrationHandler("aws"); // Type the export directly with inline annotation const config: { @@ -56,7 +58,8 @@ const config: { } ], category: "Cloud", - fetch: fetch + // Use the fetch method from the handler + fetch: awsHandler?.fetch }; export default config; diff --git a/packages/integrations/src/aws/src/index.ts b/packages/integrations/src/aws/src/index.ts index 1ee05efd90..f5da10189c 100644 --- a/packages/integrations/src/aws/src/index.ts +++ b/packages/integrations/src/aws/src/index.ts @@ -7,34 +7,25 @@ import type { GetFindingsCommandInput, GetFindingsCommandOutput, } from "@aws-sdk/client-securityhub"; -import { decrypt } from "@bubba/app/src/lib/encryption"; -import type { EncryptedData } from "@bubba/app/src/lib/encryption"; -interface AWSEncryptedCredentials { - region: EncryptedData; - access_key_id: EncryptedData; - secret_access_key: EncryptedData; +interface AWSCredentials { + region: string; + access_key_id: string; + secret_access_key: string; } /** * Fetches security findings from AWS Security Hub * @returns Promise containing an array of findings */ -async function fetch( - credentials: AWSEncryptedCredentials -): Promise { +async function fetch(credentials: AWSCredentials): Promise { try { - // Decrypt credentials - const decryptedRegion = await decrypt(credentials.region); - const decryptedAccessKeyId = await decrypt(credentials.access_key_id); - const decryptedSecretAccessKey = await decrypt(credentials.secret_access_key); - // 1. Configure the SecurityHub client with AWS credentials const config: SecurityHubClientConfig = { - region: decryptedRegion, + region: credentials.region, credentials: { - accessKeyId: decryptedAccessKeyId, - secretAccessKey: decryptedSecretAccessKey, + accessKeyId: credentials.access_key_id, + secretAccessKey: credentials.secret_access_key, }, }; const securityHubClient = new SecurityHubClient(config); @@ -80,5 +71,6 @@ async function fetch( } } -// Export the function for use in other modules +// Export the function and types for use in other modules export { fetch }; +export type { AWSCredentials }; diff --git a/packages/integrations/src/azure/config.ts b/packages/integrations/src/azure/config.ts index 107bd1933a..bc74281c57 100644 --- a/packages/integrations/src/azure/config.ts +++ b/packages/integrations/src/azure/config.ts @@ -1,7 +1,8 @@ import imageBase64 from "./assets/image.base64"; +import { getIntegrationHandler } from "../factory"; -// Import the function directly instead of through integrations -import { fetch } from "./src"; +// Get the handler from the factory +const azureHandler = getIntegrationHandler("azure"); // Type the export directly with inline annotation const config: { @@ -67,7 +68,8 @@ const config: { } ], category: "Cloud", - fetch: fetch + // Use the fetch method from the handler + fetch: azureHandler?.fetch }; export default config; \ No newline at end of file diff --git a/packages/integrations/src/azure/src/index.ts b/packages/integrations/src/azure/src/index.ts index 28df82e210..70badedb2b 100644 --- a/packages/integrations/src/azure/src/index.ts +++ b/packages/integrations/src/azure/src/index.ts @@ -1,15 +1,13 @@ import { DefaultAzureCredential } from "@azure/identity"; import nodeFetch from "node-fetch"; -import { decrypt } from "@bubba/app/src/lib/encryption"; -import type { EncryptedData } from "@bubba/app/src/lib/encryption"; const API_VERSION = "2019-01-01"; -interface AzureEncryptedCredentials { - AZURE_CLIENT_ID: EncryptedData; - AZURE_TENANT_ID: EncryptedData; - AZURE_CLIENT_SECRET: EncryptedData; - AZURE_SUBSCRIPTION_ID: EncryptedData; +interface AzureCredentials { + AZURE_CLIENT_ID: string; + AZURE_TENANT_ID: string; + AZURE_CLIENT_SECRET: string; + AZURE_SUBSCRIPTION_ID: string; } interface ComplianceControl { @@ -62,25 +60,15 @@ interface AzureControlResponse { * @returns Promise containing an array of compliance standards with their controls */ async function fetchComplianceData( - credentials: AzureEncryptedCredentials, + credentials: AzureCredentials, ): Promise { try { - // Decrypt credentials - const decryptedClientId = await decrypt(credentials.AZURE_CLIENT_ID); - const decryptedTenantId = await decrypt(credentials.AZURE_TENANT_ID); - const decryptedClientSecret = await decrypt( - credentials.AZURE_CLIENT_SECRET, - ); - const decryptedSubscriptionId = await decrypt( - credentials.AZURE_SUBSCRIPTION_ID, - ); - - const BASE_URL = `https://management.azure.com/subscriptions/${decryptedSubscriptionId}/providers/Microsoft.Security`; + const BASE_URL = `https://management.azure.com/subscriptions/${credentials.AZURE_SUBSCRIPTION_ID}/providers/Microsoft.Security`; // Set environment variables for DefaultAzureCredential - process.env.AZURE_CLIENT_ID = decryptedClientId; - process.env.AZURE_TENANT_ID = decryptedTenantId; - process.env.AZURE_CLIENT_SECRET = decryptedClientSecret; + process.env.AZURE_CLIENT_ID = credentials.AZURE_CLIENT_ID; + process.env.AZURE_TENANT_ID = credentials.AZURE_TENANT_ID; + process.env.AZURE_CLIENT_SECRET = credentials.AZURE_CLIENT_SECRET; // Get access token const credential = new DefaultAzureCredential(); @@ -176,7 +164,6 @@ async function fetchComplianceData( } } } - console.log(JSON.stringify(controlDetails, null, 2)); return controlDetails; } catch (error) { console.error("Error fetching Azure compliance data:", error); @@ -185,3 +172,4 @@ async function fetchComplianceData( } export { fetchComplianceData as fetch }; +export type { AzureCredentials }; diff --git a/packages/integrations/src/deel/config.ts b/packages/integrations/src/deel/config.ts index b56e8ed1b4..b42d5dc60f 100644 --- a/packages/integrations/src/deel/config.ts +++ b/packages/integrations/src/deel/config.ts @@ -1,4 +1,8 @@ import imageBase64 from "./assets/image.base64"; +import { getIntegrationHandler } from "../factory"; + +// Get the handler from the factory +const deelHandler = getIntegrationHandler("deel"); export default { name: "Deel", @@ -45,4 +49,6 @@ export default { }, }, images: [imageBase64()], // Add empty images array for compatibility + // Use the fetch method from the handler + fetch: deelHandler?.fetch }; diff --git a/packages/integrations/src/factory.ts b/packages/integrations/src/factory.ts new file mode 100644 index 0000000000..50ae9c8657 --- /dev/null +++ b/packages/integrations/src/factory.ts @@ -0,0 +1,127 @@ +import { fetch as awsFetch } from "./aws/src"; +import type { AWSCredentials } from "./aws/src"; + +import { fetch as azureFetch } from "./azure/src"; +import type { AzureCredentials } from "./azure/src"; + +// Add Deel credentials type +interface DeelCredentials { + api_key: string; +} + +// Define the EncryptedData type locally to avoid import issues +interface EncryptedData { + encrypted: string; + iv: string; + tag: string; + salt: string; +} + +// Type for decrypt function +type DecryptFunction = (data: EncryptedData) => Promise; + +// Generic interface for integration handlers +export interface IntegrationHandler { + id: string; + fetch: (credentials: T) => Promise; + processCredentials: ( + encryptedSettings: Record, + decrypt: DecryptFunction, + ) => Promise; +} + +// Common method to decrypt settings - takes decrypt function as a parameter +const decryptSettings = async ( + encryptedSettings: Record, + decrypt: DecryptFunction, +): Promise> => { + const decryptedCredentials: Record = {}; + + for (const [key, value] of Object.entries(encryptedSettings)) { + try { + // Check if the value has the structure of EncryptedData + if ( + value && + typeof value === "object" && + "encrypted" in value && + "iv" in value && + "tag" in value && + "salt" in value + ) { + decryptedCredentials[key] = await decrypt(value as EncryptedData); + } else { + // If not encrypted, keep the original value + decryptedCredentials[key] = String(value); + } + } catch (error) { + console.error(`Error decrypting field ${key}:`, error); + } + } + + return decryptedCredentials; +}; + +// Initialize handlers map +const handlers: Map> = new Map(); + +// Initialize AWS handler +handlers.set("aws", { + id: "aws", + fetch: awsFetch, + processCredentials: async (encryptedSettings, decrypt) => { + const decrypted = await decryptSettings(encryptedSettings, decrypt); + return { + region: decrypted.region, + access_key_id: decrypted.access_key_id, + secret_access_key: decrypted.secret_access_key, + } as AWSCredentials; + }, +}); + +// Initialize Azure handler +handlers.set("azure", { + id: "azure", + fetch: azureFetch, + processCredentials: async (encryptedSettings, decrypt) => { + const decrypted = await decryptSettings(encryptedSettings, decrypt); + return { + AZURE_CLIENT_ID: decrypted.AZURE_CLIENT_ID, + AZURE_TENANT_ID: decrypted.AZURE_TENANT_ID, + AZURE_CLIENT_SECRET: decrypted.AZURE_CLIENT_SECRET, + AZURE_SUBSCRIPTION_ID: decrypted.AZURE_SUBSCRIPTION_ID, + } as AzureCredentials; + }, +}); + +// Initialize Deel handler (mock implementation since we don't have the actual fetch function) +handlers.set("deel", { + id: "deel", + // This is a placeholder implementation; replace with actual fetch once available + fetch: async (credentials: DeelCredentials) => { + console.log("Deel integration fetch called with credentials"); + return []; // Return empty array as placeholder + }, + processCredentials: async (encryptedSettings, decrypt) => { + const decrypted = await decryptSettings(encryptedSettings, decrypt); + return { + api_key: decrypted.api_key, + } as DeelCredentials; + }, +}); + +// Add additional integration handlers as needed + +// Get an integration handler by ID +export const getIntegrationHandler = ( + integrationId: string, +): IntegrationHandler | undefined => { + return handlers.get(integrationId); +}; + +// Export types +export type { + AWSCredentials, + AzureCredentials, + DecryptFunction, + EncryptedData, +}; diff --git a/packages/integrations/src/index.ts b/packages/integrations/src/index.ts index 467cfc391b..07ea505be3 100644 --- a/packages/integrations/src/index.ts +++ b/packages/integrations/src/index.ts @@ -4,3 +4,12 @@ import Azure from "./azure/config"; //import Gcp from "./gcp/config"; export const integrations = [Aws, Deel, Azure]; + +// Export the integration factory +export { getIntegrationHandler, type IntegrationHandler } from "./factory"; +export type { + AWSCredentials, + AzureCredentials, + DecryptFunction, + EncryptedData, +} from "./factory"; From 2d312b82d855d720d52f7c4cb01b4da7ab3acd2a Mon Sep 17 00:00:00 2001 From: 7yntax Date: Wed, 19 Mar 2025 20:27:41 +0000 Subject: [PATCH 16/18] COM-20 Added info to charts --- .../(dashboard)/tests/(overview)/page.tsx | 9 + .../tests/charts/tests-severity.tsx | 8 + apps/app/src/locales/en.ts | 1 + packages/integrations/src/azure/src/index.ts | 2 +- packages/integrations/src/azure/src/test.js | 255 +++++++++++------- 5 files changed, 177 insertions(+), 98 deletions(-) diff --git a/apps/app/src/app/[locale]/(app)/(dashboard)/tests/(overview)/page.tsx b/apps/app/src/app/[locale]/(app)/(dashboard)/tests/(overview)/page.tsx index c48a62a4a3..aa7a3a6696 100644 --- a/apps/app/src/app/[locale]/(app)/(dashboard)/tests/(overview)/page.tsx +++ b/apps/app/src/app/[locale]/(app)/(dashboard)/tests/(overview)/page.tsx @@ -33,6 +33,7 @@ export default async function TestsOverview({
{ const [ totalTests, + infoSeverityTests, lowSeverityTests, mediumSeverityTests, highSeverityTests, @@ -59,6 +61,12 @@ const getTestsOverview = unstable_cache( organizationId, }, }), + tx.organizationIntegrationResults.count({ + where: { + organizationId, + label: "INFO", + }, + }), tx.organizationIntegrationResults.count({ where: { organizationId, @@ -87,6 +95,7 @@ const getTestsOverview = unstable_cache( return { totalTests, + infoSeverityTests, lowSeverityTests, mediumSeverityTests, highSeverityTests, diff --git a/apps/app/src/components/tests/charts/tests-severity.tsx b/apps/app/src/components/tests/charts/tests-severity.tsx index 86318d3e23..e9de7e7fe8 100644 --- a/apps/app/src/components/tests/charts/tests-severity.tsx +++ b/apps/app/src/components/tests/charts/tests-severity.tsx @@ -7,6 +7,7 @@ import { cn } from "@bubba/ui/cn"; interface Props { totalTests: number; + infoSeverityTests: number; lowSeverityTests: number; mediumSeverityTests: number; highSeverityTests: number; @@ -15,6 +16,7 @@ interface Props { export function TestsSeverity({ totalTests, + infoSeverityTests, lowSeverityTests, mediumSeverityTests, highSeverityTests, @@ -30,6 +32,12 @@ export function TestsSeverity({ }; const data = [ + { + name: t("tests.severity.info"), + value: infoSeverityTests, + color: "var(--chart-closed)", + colorClass: "bg-[var(--chart-closed)]", + }, { name: t("tests.severity.low"), value: severityCounts.low, diff --git a/apps/app/src/locales/en.ts b/apps/app/src/locales/en.ts index 88b4d0f9dd..4bec2433c9 100644 --- a/apps/app/src/locales/en.ts +++ b/apps/app/src/locales/en.ts @@ -902,6 +902,7 @@ export default { severity_distribution: "Test Severity Distribution", }, severity: { + info: "Info", low: "Low", medium: "Medium", high: "High", diff --git a/packages/integrations/src/azure/src/index.ts b/packages/integrations/src/azure/src/index.ts index 70badedb2b..cd41d52ff2 100644 --- a/packages/integrations/src/azure/src/index.ts +++ b/packages/integrations/src/azure/src/index.ts @@ -151,7 +151,7 @@ async function fetchComplianceData( Status: controlDetail.properties.state, }, Severity: { - Label: controlDetail.properties.state, + Label: "INFO", }, Description: controlDetail.properties.description, Remediation: { diff --git a/packages/integrations/src/azure/src/test.js b/packages/integrations/src/azure/src/test.js index f6f068e160..f476a80de6 100644 --- a/packages/integrations/src/azure/src/test.js +++ b/packages/integrations/src/azure/src/test.js @@ -3,132 +3,193 @@ const fetch = require("node-fetch"); const API_VERSION = "2019-01-01"; const requiredEnvVars = { - AZURE_CLIENT_ID: process.env.AZURE_CLIENT_ID, - AZURE_TENANT_ID: process.env.AZURE_TENANT_ID, - AZURE_CLIENT_SECRET: process.env.AZURE_CLIENT_SECRET, - AZURE_SUBSCRIPTION_ID: process.env.AZURE_SUBSCRIPTION_ID, - }; + AZURE_CLIENT_ID: process.env.AZURE_CLIENT_ID, + AZURE_TENANT_ID: process.env.AZURE_TENANT_ID, + AZURE_CLIENT_SECRET: process.env.AZURE_CLIENT_SECRET, + AZURE_SUBSCRIPTION_ID: process.env.AZURE_SUBSCRIPTION_ID, +}; const BASE_URL = `https://management.azure.com/subscriptions/${requiredEnvVars.AZURE_SUBSCRIPTION_ID}/providers/Microsoft.Security`; - - /** * Authenticate and get an Azure access token */ async function getAccessToken() { - try { - const credential = new DefaultAzureCredential( - requiredEnvVars.AZURE_TENANT_ID, - requiredEnvVars.AZURE_CLIENT_ID, - requiredEnvVars.AZURE_CLIENT_SECRET - ); - const tokenResponse = await credential.getToken("https://management.azure.com/.default"); - return tokenResponse.token; - } catch (error) { - console.error("Failed to get access token:", error); - throw error; - } + try { + const credential = new DefaultAzureCredential( + requiredEnvVars.AZURE_TENANT_ID, + requiredEnvVars.AZURE_CLIENT_ID, + requiredEnvVars.AZURE_CLIENT_SECRET, + ); + const tokenResponse = await credential.getToken( + "https://management.azure.com/.default", + ); + return tokenResponse.token; + } catch (error) { + console.error("Failed to get access token:", error); + throw error; + } } /** * Fetch all compliance standards */ async function fetchComplianceStandards(token) { - const url = `${BASE_URL}/regulatoryComplianceStandards?api-version=${API_VERSION}`; - try { - const response = await fetch(url, { - headers: { - Authorization: `Bearer ${token}`, - "Content-Type": "application/json", - }, - }); - - if (!response.ok) throw new Error(`Failed to fetch standards: ${response.statusText}`); - const data = await response.json(); - console.log(`✅ Found ${data.value.length} compliance standards.`); - return data.value.map((standard) => standard.name); - } catch (error) { - console.error("Error fetching compliance standards:", error); - return []; - } + const url = `${BASE_URL}/regulatoryComplianceStandards?api-version=${API_VERSION}`; + try { + const response = await fetch(url, { + headers: { + Authorization: `Bearer ${token}`, + "Content-Type": "application/json", + }, + }); + + if (!response.ok) + throw new Error(`Failed to fetch standards: ${response.statusText}`); + const data = await response.json(); + console.log(`✅ Found ${data.value.length} compliance standards.`); + return data.value.map((standard) => standard.name); + } catch (error) { + console.error("Error fetching compliance standards:", error); + return []; + } } /** * Fetch all compliance controls for a given standard */ async function fetchComplianceControls(token, standard) { - const url = `${BASE_URL}/regulatoryComplianceStandards/${standard}/regulatoryComplianceControls?api-version=${API_VERSION}`; - try { - const response = await fetch(url, { - headers: { - Authorization: `Bearer ${token}`, - "Content-Type": "application/json", - }, - }); - - if (!response.ok) throw new Error(`Failed to fetch controls for ${standard}: ${response.statusText}`); - const data = await response.json(); - console.log(` 🔹 ${standard}: Found ${data.value.length} controls.`); - return data.value.map((control) => control.name); - } catch (error) { - console.error(`Error fetching controls for ${standard}:`, error); - return []; - } + const url = `${BASE_URL}/regulatoryComplianceStandards/${standard}/regulatoryComplianceControls?api-version=${API_VERSION}`; + try { + const response = await fetch(url, { + headers: { + Authorization: `Bearer ${token}`, + "Content-Type": "application/json", + }, + }); + + if (!response.ok) + throw new Error( + `Failed to fetch controls for ${standard}: ${response.statusText}`, + ); + const data = await response.json(); + console.log(` 🔹 ${standard}: Found ${data.value.length} controls.`); + return data.value.map((control) => control.name); + } catch (error) { + console.error(`Error fetching controls for ${standard}:`, error); + return []; + } +} + +/** + * Fetch compliance assessment details, including concerns & remediation + */ +async function fetchComplianceAssessment(token, standard, control) { + const url = `${BASE_URL}/regulatoryComplianceStandards/${standard}/regulatoryComplianceControls/${control}/regulatoryComplianceAssessments?api-version=${API_VERSION}`; + try { + const response = await fetch(url, { + headers: { + Authorization: `Bearer ${token}`, + "Content-Type": "application/json", + }, + }); + + if (!response.ok) + throw new Error( + `Failed to fetch assessments for ${control} in ${standard}: ${response.statusText}`, + ); + const data = await response.json(); + + // Extract key remediation details + console.log(` 📌 Control: ${control}`); + data.value.forEach((assessment) => { + console.log(` ⚠ Concern: ${assessment.properties.description}`); + console.log( + ` 🔧 Remediation: ${assessment.properties.remediationDescription || "No remediation available."}`, + ); + }); + + return data; + } catch (error) { + console.error( + `Error fetching assessment for ${control} in ${standard}:`, + error, + ); + return null; + } } /** - * Fetch details of an individual compliance control + * Fetch affected resources for a compliance control */ -async function fetchControlDetails(token, standard, control) { - const url = `${BASE_URL}/regulatoryComplianceStandards/${standard}/regulatoryComplianceControls/${control}?api-version=${API_VERSION}`; - try { - const response = await fetch(url, { - headers: { - Authorization: `Bearer ${token}`, - "Content-Type": "application/json", - }, - }); - - if (!response.ok) throw new Error(`Failed to fetch details for ${control} in ${standard}: ${response.statusText}`); - const data = await response.json(); - console.log(` ${(data.properties.state === "Passed" ? `✅` : `❌`)} Control: ${data.properties.description} - Status: ${data.properties.state}`); - return data; - } catch (error) { - console.error(`Error fetching details for ${control} in ${standard}:`, error); - return null; - } +async function fetchAffectedResources(token, standard, control) { + const url = `${BASE_URL}/regulatoryComplianceStandards/${standard}/regulatoryComplianceControls/${control}/regulatoryComplianceAssessmentControls?api-version=${API_VERSION}`; + try { + const response = await fetch(url, { + headers: { + Authorization: `Bearer ${token}`, + "Content-Type": "application/json", + }, + }); + + console.log("--------------------------------"); + console.log(url); + console.log("--------------------------------"); + if (!response.ok) + throw new Error( + `Failed to fetch affected resources for ${control} in ${standard}: ${response.statusText}`, + ); + const data = await response.json(); + + console.log(` 📂 Affected Resources for ${control}:`); + data.value.forEach((resource) => { + console.log(` 🔹 Resource ID: ${resource.id}`); + console.log(` 🔴 Status: ${resource.properties.state}`); + console.log(` 🏷 Impact: ${resource.properties.impact || "N/A"}`); + }); + + return data; + } catch (error) { + console.error( + `Error fetching affected resources for ${control} in ${standard}:`, + error, + ); + return null; + } } /** * Main function to fetch all compliance data */ async function main() { - try { - console.log("🔄 Fetching Azure compliance data..."); - const token = await getAccessToken(); - - // Step 1: Fetch all compliance standards - const standards = await fetchComplianceStandards(token); - if (standards.length === 0) { - console.log("❌ No compliance standards found."); - return; - } - - // Step 2: Fetch controls for each standard - for (const standard of standards) { - const controls = await fetchComplianceControls(token, standard); - - // Step 3: Fetch detailed control information - for (const control of controls) { - const controlDetails = await fetchControlDetails(token, standard, control); - } - } - - console.log("✅ Compliance data retrieval complete."); - } catch (error) { - console.error("🚨 Error in main execution:", error); - } + try { + console.log("🔄 Fetching Azure compliance data..."); + const token = await getAccessToken(); + + // Step 1: Fetch all compliance standards + const standards = await fetchComplianceStandards(token); + if (standards.length === 0) { + console.log("❌ No compliance standards found."); + return; + } + + // Step 2: Fetch controls for each standard + for (const standard of standards) { + const controls = await fetchComplianceControls(token, standard); + + // Step 3: Fetch compliance assessments for each control (concerns & remediation) + for (const control of controls) { + await fetchComplianceAssessment(token, standard, control); + + // Step 4: Fetch affected resources + await fetchAffectedResources(token, standard, control); + } + } + + console.log("✅ Compliance data retrieval complete."); + } catch (error) { + console.error("🚨 Error in main execution:", error); + } } // Run the script From 12c1ad5c62112dcb0e8c4c5dc5dac4493eeef9a2 Mon Sep 17 00:00:00 2001 From: Languine Bot Date: Wed, 19 Mar 2025 20:28:23 +0000 Subject: [PATCH 17/18] chore: (i18n) update translations using Languine.ai --- apps/app/languine.lock | 1 + apps/app/src/locales/es.ts | 3 ++- apps/app/src/locales/fr.ts | 3 ++- apps/app/src/locales/no.ts | 3 ++- apps/app/src/locales/pt.ts | 3 ++- 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/apps/app/languine.lock b/apps/app/languine.lock index 386b7d7d77..d4fb0f0090 100644 --- a/apps/app/languine.lock +++ b/apps/app/languine.lock @@ -588,6 +588,7 @@ files: tests.dashboard.passed: a0d0628f6b4e4d78d2ffef4d4d1c4b15 tests.dashboard.failed: d7c8c85bf79bbe1b7188497c32c3b0ca tests.dashboard.severity_distribution: ae8a57ea08a489cace7c1d66e826e112 + tests.severity.info: 4059b0251f66a18cb56f544728796875 tests.severity.low: 28d0edd045e05cf5af64e35ae0c4c6ef tests.severity.medium: 87f8a6ab85c9ced3702b4ea641ad4bb5 tests.severity.high: 655d20c1ca69519ca647684edbb2db35 diff --git a/apps/app/src/locales/es.ts b/apps/app/src/locales/es.ts index 9b3041ef7f..a2905f7b6c 100644 --- a/apps/app/src/locales/es.ts +++ b/apps/app/src/locales/es.ts @@ -1152,7 +1152,8 @@ export default { low: "Bajo", medium: "Medio", high: "Alto", - critical: "Crítico" + critical: "Crítico", + info: "Información" } }, vendors: { diff --git a/apps/app/src/locales/fr.ts b/apps/app/src/locales/fr.ts index 3b363aa3d5..7f943f05a7 100644 --- a/apps/app/src/locales/fr.ts +++ b/apps/app/src/locales/fr.ts @@ -1152,7 +1152,8 @@ export default { low: "Faible", medium: "Moyen", high: "Élevé", - critical: "Critique" + critical: "Critique", + info: "Info" } }, vendors: { diff --git a/apps/app/src/locales/no.ts b/apps/app/src/locales/no.ts index ac1e7a041f..56b3f49479 100644 --- a/apps/app/src/locales/no.ts +++ b/apps/app/src/locales/no.ts @@ -1152,7 +1152,8 @@ export default { low: "Lav", medium: "Moderat", high: "Høy", - critical: "Kritisk" + critical: "Kritisk", + info: "Info" } }, vendors: { diff --git a/apps/app/src/locales/pt.ts b/apps/app/src/locales/pt.ts index cdc69d5547..e035be9ae0 100644 --- a/apps/app/src/locales/pt.ts +++ b/apps/app/src/locales/pt.ts @@ -1123,7 +1123,8 @@ export default { low: "Baixo", medium: "Médio", high: "Alto", - critical: "Crítico" + critical: "Crítico", + info: "Informação" } }, vendors: { From 984256b5d2c2837171e79ac4ec85bcbe77238941 Mon Sep 17 00:00:00 2001 From: 7yntax Date: Wed, 19 Mar 2025 20:58:11 +0000 Subject: [PATCH 18/18] COM-20 updated charts --- .../tests/charts/tests-by-assignee.tsx | 45 +++++++++++++++---- 1 file changed, 36 insertions(+), 9 deletions(-) diff --git a/apps/app/src/components/tests/charts/tests-by-assignee.tsx b/apps/app/src/components/tests/charts/tests-by-assignee.tsx index 37e0b54edd..10ae0cda6a 100644 --- a/apps/app/src/components/tests/charts/tests-by-assignee.tsx +++ b/apps/app/src/components/tests/charts/tests-by-assignee.tsx @@ -17,10 +17,12 @@ interface UserTestStats { totalTests: number; passedTests: number; failedTests: number; + unsupportedTests: number; } interface TestData { status: string; + assignedUserId: string | null; } interface UserData { @@ -31,14 +33,15 @@ interface UserData { } const testStatus = { - passed: "bg-[var(--chart-success)]", + passed: "bg-[var(--chart-closed)]", failed: "bg-[hsl(var(--destructive))]", + unsupported: "bg-[hsl(var(--muted-foreground))]", }; export async function TestsByAssignee({ organizationId }: Props) { const t = await getI18n(); const userStats = await userData(organizationId); - + console.log(userStats); const stats: UserTestStats[] = userStats.map((user) => ({ user: { id: user.id, @@ -47,10 +50,13 @@ export async function TestsByAssignee({ organizationId }: Props) { }, totalTests: user.OrganizationIntegrationResults.length, passedTests: user.OrganizationIntegrationResults.filter( - (test) => test.status === "PASSED", + (test) => test.status.toUpperCase() === "passed".toUpperCase(), ).length, failedTests: user.OrganizationIntegrationResults.filter( - (test) => test.status === "FAILED", + (test) => test.status.toUpperCase() === "failed".toUpperCase(), + ).length, + unsupportedTests: user.OrganizationIntegrationResults.filter( + (test) => test.status.toUpperCase() === "unsupported".toUpperCase(), ).length, })); @@ -87,6 +93,12 @@ export async function TestsByAssignee({ organizationId }: Props) { {t("tests.dashboard.failed")} ({stat.failedTests})
+
+
+ + Unsupported ({stat.unsupportedTests}) + +
))} @@ -97,7 +109,6 @@ export async function TestsByAssignee({ organizationId }: Props) { } function TestBarChart({ stat }: { stat: UserTestStats }) { - const data = [ ...(stat.passedTests > 0 ? [ @@ -119,6 +130,16 @@ function TestBarChart({ stat }: { stat: UserTestStats }) { }, ] : []), + ...(stat.unsupportedTests > 0 + ? [ + { + key: "unsupported", + value: stat.unsupportedTests, + color: testStatus.unsupported, + label: "unsupported", + }, + ] + : []), ]; const gap = 0.3; @@ -189,7 +210,7 @@ function TestBarChart({ stat }: { stat: UserTestStats }) { const userData = unstable_cache( async (organizationId: string): Promise => { - // Fetch users in the organization + // Fetch users in the organization with their assigned test results const users = await db.user.findMany({ where: { organizationId, @@ -202,14 +223,20 @@ const userData = unstable_cache( select: { status: true, }, + where: { + organizationId, + NOT: { + assignedUserId: null + } + }, }, }, }); console.log(users); - return users; + return users as UserData[]; }, - ["users-tests-data-cache"], - { revalidate: 3600 }, // Cache for 1 hour + ["users-tests-data-cache-v3"], + { revalidate: 3600 }, );