@keystrokehq/snowflake 0.0.17 → 0.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- {"version":3,"file":"actions-BR_JWhT_.mjs","names":[],"sources":["../src/app.ts","../src/execute.ts","../src/actions/cancel-statement-execution.ts","../src/actions/check-statement-status.ts","../src/actions/drop-warehouse.ts","../src/actions/execute-sql.ts","../src/actions/fetch-catalog-integration.ts","../src/actions/get-active-scheduled-maintenances.ts","../src/actions/get-all-scheduled-maintenances.ts","../src/actions/get-component-status.ts","../src/actions/get-status-rollup.ts","../src/actions/get-status-summary.ts","../src/actions/get-unresolved-incidents.ts","../src/actions/get-upcoming-scheduled-maintenances.ts","../src/actions/show-databases.ts","../src/actions/show-schemas.ts","../src/actions/show-tables.ts","../src/actions/validate-credential.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\n\nexport const snowflake = defineApp({\n slug: \"snowflake\",\n auth: \"keystroke\",\n});\n","import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"snowflake\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeSnowflakeTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n","import { z } from \"zod\";\n\nimport { snowflake } from \"../app\";\nimport { executeSnowflakeTool } from \"../execute\";\n\nexport const SnowflakeCancelStatementExecutionInput = z.object({\n request_id: z\n .string()\n .describe(\n \"Unique ID (a UUID) of the API request. This is an optional parameter that can be used to track the request.\",\n )\n .optional(),\n statementHandle: z\n .string()\n .describe(\n \"The handle of the statement to be cancelled. This can be obtained from the response of the execute_statement action.\",\n ),\n});\nexport const SnowflakeCancelStatementExecutionOutput = z.object({\n code: z.string().describe(\"The response code from the Snowflake API.\"),\n message: z.string().describe(\"A message indicating the result of the cancellation request.\"),\n sqlState: z.string().describe(\"The SQL state of the statement after the cancellation request.\"),\n statementHandle: z.string().describe(\"The handle of the statement that was cancelled.\"),\n statementStatusUrl: z.string().describe(\"The URL to check the status of the statement.\"),\n});\n\nexport const snowflakeCancelStatementExecution = snowflake.action({\n slug: \"snowflake-cancel-statement-execution\",\n name: \"Cancel Statement Execution\",\n description:\n \"Cancels the execution of a running SQL statement. Use this action to stop a long-running query.\",\n input: SnowflakeCancelStatementExecutionInput,\n output: SnowflakeCancelStatementExecutionOutput,\n async run(input) {\n const result = await executeSnowflakeTool(\"SNOWFLAKE_CANCEL_STATEMENT_EXECUTION\", input);\n return SnowflakeCancelStatementExecutionOutput.parse(result);\n },\n});\n","import { z } from \"zod\";\n\nimport { snowflake } from \"../app\";\nimport { executeSnowflakeTool } from \"../execute\";\n\nexport const SnowflakeCheckStatementStatusInput = z.object({\n partition: z\n .number()\n .int()\n .describe(\n \"The partition number to return. The size of each partition is determined by Snowflake.\",\n )\n .optional(),\n requestId: z.string().describe(\"Unique ID (UUID) of the API request for idempotency.\").optional(),\n statementHandle: z.string().describe(\"The handle of the statement to be checked.\"),\n});\nconst SnowflakeCheckStatementStatusRowTypeInfoSchema = z.object({\n name: z.string().describe(\"Name of the column.\"),\n type: z.string().describe(\"Data type of the column (e.g., 'text', 'fixed', 'timestamp_ltz').\"),\n scale: z.number().int().describe(\"Scale for numeric types.\").optional(),\n table: z.string().describe(\"Table name.\"),\n length: z.number().int().describe(\"Length for text types.\").optional(),\n schema: z.string().describe(\"Schema name.\"),\n database: z.string().describe(\"Database name.\"),\n nullable: z.boolean().describe(\"Whether the column is nullable.\"),\n collation: z.string().describe(\"Collation for text types.\").optional(),\n precision: z.number().int().describe(\"Precision for numeric types.\").optional(),\n byteLength: z.number().int().describe(\"Byte length for text types.\").optional(),\n});\nconst SnowflakeCheckStatementStatusPartitionInfoSchema = z.object({\n rowCount: z.number().int().describe(\"Number of rows in this partition.\"),\n uncompressedSize: z.number().int().describe(\"Uncompressed size of the partition in bytes.\"),\n});\nconst SnowflakeCheckStatementStatusResultSetMetadataSchema = z.object({\n format: z.string().describe(\"Format of the result set (e.g., 'jsonv2').\"),\n numRows: z.number().int().describe(\"Total number of rows in the result set.\"),\n rowType: z\n .array(SnowflakeCheckStatementStatusRowTypeInfoSchema)\n .describe(\"Metadata describing each column in the result set.\"),\n partitionInfo: z\n .array(SnowflakeCheckStatementStatusPartitionInfoSchema)\n .describe(\"Information about result set partitions.\"),\n});\nexport const SnowflakeCheckStatementStatusOutput = z.object({\n code: z.string().describe(\"Response code (e.g., '090001' for success).\").optional(),\n data: z\n .array(z.array(z.union([z.string(), z.number().int(), z.number(), z.boolean()]).nullable()))\n .describe(\"The result set data as a 2D array, where each inner array represents a row.\")\n .optional(),\n message: z\n .string()\n .describe(\"Human-readable message describing the statement execution status.\")\n .optional(),\n sqlState: z.string().describe(\"SQL state code (e.g., '00000' for success).\").optional(),\n createdOn: z\n .number()\n .int()\n .describe(\"Unix timestamp (in milliseconds) when the statement execution started.\")\n .optional(),\n requestId: z.string().describe(\"Unique ID (UUID) of the API request.\").optional(),\n statementHandle: z\n .string()\n .describe(\"Unique identifier (UUID) for the statement being executed.\")\n .optional(),\n resultSetMetaData: SnowflakeCheckStatementStatusResultSetMetadataSchema.nullable().optional(),\n statementStatusUrl: z\n .string()\n .describe(\"URL path to retrieve the statement status and result set.\")\n .optional(),\n});\n\nexport const snowflakeCheckStatementStatus = snowflake.action({\n slug: \"snowflake-check-statement-status\",\n name: \"Check Statement Status\",\n description:\n \"Retrieves the status and results of a previously submitted SQL statement using its statement handle. Use this to poll async queries submitted via SNOWFLAKE_SUBMIT_SQL_STATEMENT; call repeatedly until status is no longer pending. Use SNOWFLAKE_CANCEL_STATEMENT to abort a hanging query.\",\n input: SnowflakeCheckStatementStatusInput,\n output: SnowflakeCheckStatementStatusOutput,\n async run(input) {\n const result = await executeSnowflakeTool(\"SNOWFLAKE_CHECK_STATEMENT_STATUS\", input);\n return SnowflakeCheckStatementStatusOutput.parse(result);\n },\n});\n","import { z } from \"zod\";\n\nimport { snowflake } from \"../app\";\nimport { executeSnowflakeTool } from \"../execute\";\n\nexport const SnowflakeDropWarehouseInput = z.object({\n name: z\n .string()\n .describe(\n \"Identifier (i.e. name) for the warehouse to drop. The value is case-sensitive and must match the exact warehouse name in Snowflake.\",\n ),\n if_exists: z\n .boolean()\n .default(false)\n .describe(\n \"If true, the endpoint does not throw an error if the warehouse does not exist. It returns a 200 success response without taking action. If false, the endpoint throws an error if the warehouse doesn't exist.\",\n )\n .optional(),\n});\nexport const SnowflakeDropWarehouseOutput = z.object({\n code: z.string().describe(\"Message code for asynchronous deletion (202 response).\").optional(),\n status: z\n .string()\n .describe(\"Status message for successful synchronous deletion (200 response).\")\n .optional(),\n message: z\n .string()\n .describe(\"Message for asynchronous deletion indicating execution in progress (202 response).\")\n .optional(),\n resultHandler: z\n .string()\n .describe(\"Opaque result ID used for checking request completion status (202 response).\")\n .optional(),\n});\n\nexport const snowflakeDropWarehouse = snowflake.action({\n slug: \"snowflake-drop-warehouse\",\n name: \"Drop Warehouse\",\n description:\n \"Drops (permanently deletes) a warehouse in Snowflake. This operation is irreversible — once a warehouse is dropped, it cannot be recovered. Use this action when you need to permanently remove a warehouse that is no longer needed. Requires OWNERSHIP privilege on the warehouse.\",\n input: SnowflakeDropWarehouseInput,\n output: SnowflakeDropWarehouseOutput,\n async run(input) {\n const result = await executeSnowflakeTool(\"SNOWFLAKE_DROP_WAREHOUSE\", input);\n return SnowflakeDropWarehouseOutput.parse(result);\n },\n});\n","import { z } from \"zod\";\n\nimport { snowflake } from \"../app\";\nimport { executeSnowflakeTool } from \"../execute\";\n\nexport const SnowflakeExecuteSqlInput = z.object({\n role: z\n .string()\n .describe(\n \"Role name to use for execution (case-sensitive). If not specified, uses the user's DEFAULT_ROLE setting.\",\n )\n .optional(),\n timeout: z\n .number()\n .int()\n .describe(\n \"Execution timeout in seconds. Set to 0 for maximum timeout (604800 seconds). If not specified, uses the default timeout.\",\n )\n .optional(),\n bindings: z\n .record(z.string(), z.unknown())\n .describe(\n \"Values of bind variables in the SQL statement. Use this for parameterized queries to prevent SQL injection.\",\n )\n .optional(),\n database: z\n .string()\n .describe(\n \"Database name to use for execution (case-sensitive). If not specified, uses the user's DEFAULT_NAMESPACE setting.\",\n )\n .optional(),\n statement: z\n .string()\n .describe(\n \"SQL statement(s) to execute. Supports SELECT queries, DDL (CREATE, ALTER, DROP), and DML (INSERT, UPDATE, DELETE). Multiple statements can be separated by semicolons; they will be executed in sequence automatically. When querying INFORMATION_SCHEMA, always filter on both `table_schema` and `table_catalog` and wrap mixed AND/OR conditions in parentheses. For multi-statement batches, test critical sections in isolation first — a single failing statement obscures root cause.\",\n ),\n warehouse: z\n .string()\n .describe(\n \"Warehouse name to use for query execution (case-sensitive). Required for queries that need compute resources. If not specified, uses the user's DEFAULT_WAREHOUSE setting. Suspended or undersized warehouses cause high latency or timeouts; verify the warehouse is active and appropriately sized before execution.\",\n )\n .optional(),\n parameters: z\n .record(z.string(), z.unknown())\n .describe(\n \"Session parameters to set for the statement execution. These are Snowflake session-level parameters.\",\n )\n .optional(),\n schema_name: z\n .string()\n .describe(\n \"Schema name to use for execution (case-sensitive). If not specified, uses the user's DEFAULT_NAMESPACE setting.\",\n )\n .optional(),\n});\nconst SnowflakeExecuteSqlRowTypeMetadataSchema = z.object({\n name: z.string().describe(\"Column name\"),\n type: z.string().describe(\"Data type of the column\"),\n scale: z.number().int().describe(\"Scale for numeric types\").optional(),\n table: z.string().describe(\"Table name\"),\n length: z.number().int().describe(\"Length for text types\").optional(),\n schema: z.string().describe(\"Schema name\"),\n database: z.string().describe(\"Database name\"),\n nullable: z.boolean().describe(\"Whether the column is nullable\"),\n collation: z.string().describe(\"Collation for text types\").optional(),\n precision: z.number().int().describe(\"Precision for numeric types\").optional(),\n byteLength: z.number().int().describe(\"Byte length for text types\").optional(),\n});\nconst SnowflakeExecuteSqlPartitionInfoSchema = z.object({\n rowCount: z.number().int().describe(\"Number of rows in this partition\"),\n uncompressedSize: z.number().int().describe(\"Uncompressed size in bytes\"),\n});\nconst SnowflakeExecuteSqlResultSetMetaDataSchema = z.object({\n format: z.string().describe(\"Format of the result data (e.g., 'jsonv2')\"),\n numRows: z.number().int().describe(\"Total number of rows in the result set\"),\n rowType: z\n .array(SnowflakeExecuteSqlRowTypeMetadataSchema)\n .describe(\"Metadata for each column in the result set\"),\n partitionInfo: z\n .array(SnowflakeExecuteSqlPartitionInfoSchema)\n .describe(\"Information about data partitions\"),\n});\nexport const SnowflakeExecuteSqlOutput = z.object({\n code: z.string().describe(\"Status code from Snowflake (e.g., '090001' for success)\").optional(),\n data: z\n .array(z.array(z.union([z.string(), z.number().int(), z.number(), z.boolean()]).nullable()))\n .describe(\n \"The result set rows (single statement only). For multi-statement execution, use statementHandles to retrieve results individually.\",\n )\n .optional(),\n message: z.string().describe(\"Execution status message\").optional(),\n sqlState: z.string().describe(\"SQL state code (e.g., '00000' for success)\").optional(),\n createdOn: z\n .number()\n .int()\n .describe(\"Timestamp in milliseconds since epoch when the statement was created\")\n .optional(),\n statementHandle: z\n .string()\n .describe(\"Unique identifier for the executed statement (single statement only)\")\n .optional(),\n statementHandles: z\n .array(z.string())\n .describe(\n \"Array of statement handles for multi-statement execution. Use these handles with CHECK_STATEMENT_STATUS to retrieve results for each statement.\",\n )\n .optional(),\n resultSetMetaData: SnowflakeExecuteSqlResultSetMetaDataSchema.nullable().optional(),\n statementStatusUrl: z.string().describe(\"URL to check the execution status\").optional(),\n composio_execution_message: z\n .string()\n .describe(\"Additional execution information from Composio\")\n .optional(),\n});\n\nexport const snowflakeExecuteSql = snowflake.action({\n slug: \"snowflake-execute-sql\",\n name: \"Execute SQL\",\n description:\n \"Execute SQL statements in Snowflake and retrieve results. Supports SELECT queries for data retrieval, DDL statements (CREATE, ALTER, DROP) for schema management, and DML statements (INSERT, UPDATE, DELETE) for data modification. Returns comprehensive result metadata including column types, row counts, and execution status. Unquoted SQL identifiers are auto-uppercased by Snowflake — use matching case in \\\\`database\\\\`, \\\\`schema_name\\\\`, \\\\`warehouse\\\\`, and \\\\`role\\\\` parameters to avoid 'object not found' errors. Always apply explicit time-range filters and a LIMIT clause to unbounded SELECT queries to prevent large, slow result sets.\",\n input: SnowflakeExecuteSqlInput,\n output: SnowflakeExecuteSqlOutput,\n async run(input) {\n const result = await executeSnowflakeTool(\"SNOWFLAKE_EXECUTE_SQL\", input);\n return SnowflakeExecuteSqlOutput.parse(result);\n },\n});\n","import { z } from \"zod\";\n\nimport { snowflake } from \"../app\";\nimport { executeSnowflakeTool } from \"../execute\";\n\nexport const SnowflakeFetchCatalogIntegrationInput = z.object({\n name: z\n .string()\n .describe(\n \"The name (identifier) of the catalog integration to fetch details for. This is case-sensitive.\",\n ),\n});\nconst SnowflakeFetchCatalogIntegrationCatalogSchema = z.object({\n catalog_source: z\n .string()\n .describe(\n \"The catalog source type. Common values include 'GLUE' (AWS Glue), 'POLARIS' (Snowflake Open Catalog), or 'ICEBERG_REST' (Apache Iceberg REST catalog).\",\n )\n .optional(),\n});\nexport const SnowflakeFetchCatalogIntegrationOutput = z.object({\n name: z.string().describe(\"The name (identifier) of the catalog integration.\").optional(),\n type: z.string().describe(\"The type classification of the integration object.\").optional(),\n catalog: SnowflakeFetchCatalogIntegrationCatalogSchema.nullable().optional(),\n comment: z\n .string()\n .describe(\"User-provided comment or description for the catalog integration.\")\n .optional(),\n enabled: z\n .boolean()\n .describe(\"Whether the catalog integration is currently enabled (TRUE) or disabled (FALSE).\")\n .optional(),\n category: z\n .string()\n .describe(\"The category classification of the catalog integration.\")\n .optional(),\n created_on: z\n .string()\n .describe(\"ISO 8601 timestamp indicating when the catalog integration was created.\")\n .optional(),\n table_format: z\n .string()\n .describe(\n \"The table format supported by this catalog integration. Typically 'ICEBERG' for Apache Iceberg tables.\",\n )\n .optional(),\n});\n\nexport const snowflakeFetchCatalogIntegration = snowflake.action({\n slug: \"snowflake-fetch-catalog-integration\",\n name: \"Fetch Catalog Integration\",\n description:\n \"Retrieves detailed configuration and metadata for a specific catalog integration. Catalog integrations allow Snowflake to connect to external Apache Iceberg catalogs (AWS Glue, Snowflake Open Catalog/Polaris, or Apache Iceberg REST catalogs) to query Iceberg tables managed by those external systems.\",\n input: SnowflakeFetchCatalogIntegrationInput,\n output: SnowflakeFetchCatalogIntegrationOutput,\n async run(input) {\n const result = await executeSnowflakeTool(\"SNOWFLAKE_FETCH_CATALOG_INTEGRATION\", input);\n return SnowflakeFetchCatalogIntegrationOutput.parse(result);\n },\n});\n","import { z } from \"zod\";\n\nimport { snowflake } from \"../app\";\nimport { executeSnowflakeTool } from \"../execute\";\n\nexport const SnowflakeGetActiveScheduledMaintenancesInput = z.object({});\nconst SnowflakeGetActiveScheduledMaintenancesPageSchema = z.object({\n id: z.string().describe(\"The unique identifier of the status page.\"),\n url: z.string().describe(\"The URL of the status page.\"),\n name: z.string().describe(\"The name of the status page.\"),\n time_zone: z.string().describe(\"The time zone of the status page.\"),\n updated_at: z.string().describe(\"The last update time of the status page.\"),\n});\nconst SnowflakeGetActiveScheduledMaintenancesIncidentUpdateSchema = z.object({\n id: z.string().describe(\"The unique identifier of the incident update.\"),\n body: z.string().describe(\"The body of the incident update.\"),\n status: z.string().describe(\"The status of the incident update.\"),\n created_at: z.string().describe(\"The creation time of the incident update.\"),\n display_at: z.string().describe(\"The display time of the incident update.\"),\n updated_at: z.string().describe(\"The last update time of the incident update.\"),\n incident_id: z.string().describe(\"The unique identifier of the incident.\"),\n});\nconst SnowflakeGetActiveScheduledMaintenancesScheduledMaintenanceSchema = z.object({\n id: z.string().describe(\"The unique identifier of the maintenance.\"),\n name: z.string().describe(\"The name of the maintenance.\"),\n impact: z.string().describe(\"The impact level of the maintenance.\"),\n status: z.string().describe(\"The current status of the maintenance.\"),\n page_id: z.string().describe(\"The unique identifier of the status page.\"),\n shortlink: z.string().describe(\"A short URL link to the maintenance details.\"),\n created_at: z.string().describe(\"The creation time of the maintenance.\"),\n started_at: z.string().describe(\"The actual start time of the maintenance.\").optional(),\n updated_at: z.string().describe(\"The last update time of the maintenance.\"),\n resolved_at: z.string().describe(\"The time when the maintenance was resolved.\").optional(),\n monitoring_at: z\n .string()\n .describe(\"The time when monitoring started for the maintenance.\")\n .optional(),\n scheduled_for: z.string().describe(\"The scheduled start time of the maintenance.\"),\n scheduled_until: z.string().describe(\"The scheduled end time of the maintenance.\"),\n incident_updates: z\n .array(SnowflakeGetActiveScheduledMaintenancesIncidentUpdateSchema)\n .describe(\"A list of updates related to the maintenance.\"),\n});\nexport const SnowflakeGetActiveScheduledMaintenancesOutput = z.object({\n page: SnowflakeGetActiveScheduledMaintenancesPageSchema.nullable(),\n scheduled_maintenances: z\n .array(SnowflakeGetActiveScheduledMaintenancesScheduledMaintenanceSchema)\n .describe(\"A list of active scheduled maintenances currently in progress or being verified.\"),\n});\n\nexport const snowflakeGetActiveScheduledMaintenances = snowflake.action({\n slug: \"snowflake-get-active-scheduled-maintenances\",\n name: \"Get Active Scheduled Maintenances\",\n description:\n \"Retrieves a list of any active scheduled maintenances currently in the In Progress or Verifying state.\",\n input: SnowflakeGetActiveScheduledMaintenancesInput,\n output: SnowflakeGetActiveScheduledMaintenancesOutput,\n async run(input) {\n const result = await executeSnowflakeTool(\"SNOWFLAKE_GET_ACTIVE_SCHEDULED_MAINTENANCES\", input);\n return SnowflakeGetActiveScheduledMaintenancesOutput.parse(result);\n },\n});\n","import { z } from \"zod\";\n\nimport { snowflake } from \"../app\";\nimport { executeSnowflakeTool } from \"../execute\";\n\nexport const SnowflakeGetAllScheduledMaintenancesInput = z.object({});\nconst SnowflakeGetAllScheduledMaintenancesPageSchema = z.object({\n id: z.string().describe(\"The ID of the page.\"),\n url: z.string().describe(\"The URL of the page.\"),\n name: z.string().describe(\"The name of the page.\"),\n time_zone: z.string().describe(\"The time zone of the page.\"),\n updated_at: z.string().describe(\"The timestamp of the last update.\"),\n});\nconst SnowflakeGetAllScheduledMaintenancesAffectedComponentSchema = z.object({\n code: z.string().describe(\"The code of the affected component.\"),\n name: z.string().describe(\"The name of the affected component.\"),\n new_status: z.string().describe(\"The new status of the component.\"),\n old_status: z.string().describe(\"The previous status of the component.\"),\n});\nconst SnowflakeGetAllScheduledMaintenancesIncidentUpdateSchema = z.object({\n id: z.string().describe(\"The ID of the incident update.\"),\n body: z.string().describe(\"The body of the incident update.\"),\n status: z.string().describe(\"The status of the incident update.\"),\n tweet_id: z.string().describe(\"Twitter tweet ID if posted.\").optional(),\n created_at: z.string().describe(\"The timestamp of the incident update creation.\"),\n display_at: z.string().describe(\"The timestamp to display the incident update.\"),\n updated_at: z.string().describe(\"The timestamp of the last update.\"),\n incident_id: z.string().describe(\"The ID of the incident.\"),\n custom_tweet: z.string().describe(\"Custom tweet text if available.\").optional(),\n affected_components: z\n .array(SnowflakeGetAllScheduledMaintenancesAffectedComponentSchema)\n .describe(\"List of affected components with their status changes.\")\n .optional(),\n deliver_notifications: z\n .boolean()\n .default(false)\n .describe(\"Whether notifications were delivered for this update.\")\n .optional(),\n});\nconst SnowflakeGetAllScheduledMaintenancesScheduledMaintenanceSchema = z.object({\n id: z.string().describe(\"The ID of the scheduled maintenance.\"),\n name: z.string().describe(\"The name of the scheduled maintenance.\"),\n impact: z.string().describe(\"The impact of the scheduled maintenance.\"),\n status: z.string().describe(\"The status of the scheduled maintenance.\"),\n page_id: z.string().describe(\"The ID of the page.\"),\n shortlink: z.string().describe(\"The shortlink of the scheduled maintenance.\"),\n created_at: z.string().describe(\"The timestamp of the scheduled maintenance creation.\"),\n started_at: z\n .string()\n .describe(\"The timestamp when the maintenance actually started.\")\n .optional(),\n updated_at: z.string().describe(\"The timestamp of the last update.\"),\n resolved_at: z.string().describe(\"The timestamp of the resolution.\").optional(),\n monitoring_at: z.string().describe(\"The timestamp of the monitoring start.\").optional(),\n scheduled_for: z.string().describe(\"The timestamp of the scheduled maintenance.\").optional(),\n scheduled_until: z\n .string()\n .describe(\"The timestamp of the scheduled maintenance end.\")\n .optional(),\n incident_updates: z\n .array(SnowflakeGetAllScheduledMaintenancesIncidentUpdateSchema)\n .describe(\"A list of incident updates.\"),\n});\nexport const SnowflakeGetAllScheduledMaintenancesOutput = z.object({\n page: SnowflakeGetAllScheduledMaintenancesPageSchema.nullable(),\n scheduled_maintenances: z\n .array(SnowflakeGetAllScheduledMaintenancesScheduledMaintenanceSchema)\n .describe(\"A list of scheduled maintenances.\"),\n});\n\nexport const snowflakeGetAllScheduledMaintenances = snowflake.action({\n slug: \"snowflake-get-all-scheduled-maintenances\",\n name: \"Get All Scheduled Maintenances\",\n description:\n \"Retrieves a list of the 50 most recent scheduled maintenances, including those in the Completed state.\",\n input: SnowflakeGetAllScheduledMaintenancesInput,\n output: SnowflakeGetAllScheduledMaintenancesOutput,\n async run(input) {\n const result = await executeSnowflakeTool(\"SNOWFLAKE_GET_ALL_SCHEDULED_MAINTENANCES\", input);\n return SnowflakeGetAllScheduledMaintenancesOutput.parse(result);\n },\n});\n","import { z } from \"zod\";\n\nimport { snowflake } from \"../app\";\nimport { executeSnowflakeTool } from \"../execute\";\n\nexport const SnowflakeGetComponentStatusInput = z.object({\n limit: z.number().int().describe(\"Limit number of components returned.\").optional(),\n});\nconst SnowflakeGetComponentStatusPageSchema = z.object({\n id: z.string().describe(\"The unique identifier of the page.\"),\n url: z.string().describe(\"The URL of the page.\"),\n name: z.string().describe(\"The name of the page.\"),\n updated_at: z.string().describe(\"The timestamp when the page was last updated.\"),\n});\nconst SnowflakeGetComponentStatusComponentSchema = z.object({\n id: z.string().describe(\"The unique identifier of the component.\"),\n name: z.string().describe(\"The name of the component.\"),\n group: z.boolean().describe(\"Indicates if the component is a group.\"),\n status: z.string().describe(\"The current status of the component.\"),\n page_id: z.string().describe(\"The unique identifier of the page the component belongs to.\"),\n group_id: z\n .string()\n .describe(\"The unique identifier of the group the component belongs to.\")\n .optional(),\n position: z.number().int().describe(\"The position of the component.\"),\n showcase: z.boolean().describe(\"Indicates if the component is showcased.\"),\n created_at: z.string().describe(\"The timestamp when the component was created.\"),\n start_date: z.string().describe(\"The start date of the component.\").optional(),\n updated_at: z.string().describe(\"The timestamp when the component was last updated.\"),\n description: z.string().describe(\"A description of the component.\").optional(),\n only_show_if_degraded: z\n .boolean()\n .describe(\"Indicates if the component should only be shown if it is degraded.\"),\n});\nexport const SnowflakeGetComponentStatusOutput = z.object({\n page: SnowflakeGetComponentStatusPageSchema.nullable(),\n components: z\n .array(SnowflakeGetComponentStatusComponentSchema)\n .describe(\"A list of components and their current status.\"),\n});\n\nexport const snowflakeGetComponentStatus = snowflake.action({\n slug: \"snowflake-get-component-status\",\n name: \"Get Component Status\",\n description:\n \"Retrieves the status of individual components, each listed with its current status.\",\n input: SnowflakeGetComponentStatusInput,\n output: SnowflakeGetComponentStatusOutput,\n async run(input) {\n const result = await executeSnowflakeTool(\"SNOWFLAKE_GET_COMPONENT_STATUS\", input);\n return SnowflakeGetComponentStatusOutput.parse(result);\n },\n});\n","import { z } from \"zod\";\n\nimport { snowflake } from \"../app\";\nimport { executeSnowflakeTool } from \"../execute\";\n\nexport const SnowflakeGetStatusRollupInput = z.object({});\nconst SnowflakeGetStatusRollupPageSchema = z.object({\n id: z.string().describe(\"The ID of the status page.\"),\n url: z.string().describe(\"The URL of the status page.\"),\n name: z.string().describe(\"The name of the status page.\"),\n time_zone: z.string().describe(\"The time zone of the status page.\"),\n updated_at: z.string().describe(\"The timestamp of the last update in ISO 8601 format.\"),\n});\nconst SnowflakeGetStatusRollupStatusSchema = z.object({\n indicator: z\n .string()\n .describe(\n \"An indicator of the system status. Possible values include 'none' (all systems operational), 'minor' (minor issues), 'major' (major outage), 'critical' (critical outage).\",\n ),\n description: z.string().describe(\"A human-readable description of the overall system status.\"),\n});\nexport const SnowflakeGetStatusRollupOutput = z.object({\n page: SnowflakeGetStatusRollupPageSchema.nullable(),\n status: SnowflakeGetStatusRollupStatusSchema.nullable(),\n});\n\nexport const snowflakeGetStatusRollup = snowflake.action({\n slug: \"snowflake-get-status-rollup\",\n name: \"Get Status Rollup\",\n description:\n \"Retrieves the status rollup for the entire page, including indicators and human-readable descriptions of the blended component status.\",\n input: SnowflakeGetStatusRollupInput,\n output: SnowflakeGetStatusRollupOutput,\n async run(input) {\n const result = await executeSnowflakeTool(\"SNOWFLAKE_GET_STATUS_ROLLUP\", input);\n return SnowflakeGetStatusRollupOutput.parse(result);\n },\n});\n","import { z } from \"zod\";\n\nimport { snowflake } from \"../app\";\nimport { executeSnowflakeTool } from \"../execute\";\n\nexport const SnowflakeGetStatusSummaryInput = z.object({});\nconst SnowflakeGetStatusSummaryPageSchema = z.object({\n id: z.string().describe(\"The ID of the page.\").optional(),\n url: z.string().describe(\"The URL of the page.\").optional(),\n name: z.string().describe(\"The name of the page.\").optional(),\n time_zone: z.string().describe(\"The time zone of the page.\").optional(),\n updated_at: z.string().describe(\"The timestamp of the last update.\").optional(),\n});\nconst SnowflakeGetStatusSummaryStatusSchema = z.object({\n indicator: z.string().describe(\"The indicator of the status.\").optional(),\n description: z.string().describe(\"The description of the status.\").optional(),\n});\nconst SnowflakeGetStatusSummaryIncidentUpdateSchema = z.object({\n id: z.string().describe(\"The ID of the incident update.\").optional(),\n body: z.string().describe(\"The body of the incident update.\").optional(),\n status: z.string().describe(\"The status of the incident update.\").optional(),\n created_at: z.string().describe(\"The timestamp of the incident update creation.\").optional(),\n display_at: z.string().describe(\"The timestamp to display the incident update.\").optional(),\n updated_at: z.string().describe(\"The timestamp of the last update.\").optional(),\n incident_id: z.string().describe(\"The ID of the incident.\").optional(),\n});\nconst SnowflakeGetStatusSummaryIncidentSchema = z.object({\n id: z.string().describe(\"The ID of the incident.\").optional(),\n name: z.string().describe(\"The name of the incident.\").optional(),\n impact: z.string().describe(\"The impact of the incident.\").optional(),\n status: z.string().describe(\"The status of the incident.\").optional(),\n page_id: z.string().describe(\"The ID of the page the incident belongs to.\").optional(),\n shortlink: z.string().describe(\"The shortlink of the incident.\").optional(),\n created_at: z.string().describe(\"The timestamp of the incident creation.\").optional(),\n updated_at: z.string().describe(\"The timestamp of the last update.\").optional(),\n resolved_at: z.string().describe(\"The timestamp of the incident resolution.\").optional(),\n monitoring_at: z.string().describe(\"The timestamp of the monitoring start.\").optional(),\n incident_updates: z\n .array(SnowflakeGetStatusSummaryIncidentUpdateSchema)\n .default([])\n .describe(\"A list of incident updates.\")\n .optional(),\n});\nconst SnowflakeGetStatusSummaryComponentSchema = z.object({\n id: z.string().describe(\"The ID of the component.\").optional(),\n name: z.string().describe(\"The name of the component.\").optional(),\n group: z\n .boolean()\n .describe(\"Whether this component is a group containing other components.\")\n .optional(),\n status: z.string().describe(\"The status of the component.\").optional(),\n page_id: z.string().describe(\"The ID of the page the component belongs to.\").optional(),\n group_id: z.string().describe(\"The ID of the group this component belongs to.\").optional(),\n position: z.number().int().describe(\"The position of the component.\").optional(),\n showcase: z\n .boolean()\n .describe(\"Whether the component is showcased on the status page.\")\n .optional(),\n components: z\n .array(z.string())\n .describe(\"List of component IDs that belong to this group (if this is a group component).\")\n .optional(),\n created_at: z.string().describe(\"The timestamp of the component creation.\").optional(),\n start_date: z.string().describe(\"The start date of the component.\").optional(),\n updated_at: z.string().describe(\"The timestamp of the last update.\").optional(),\n description: z.string().describe(\"The description of the component.\").optional(),\n only_show_if_degraded: z\n .boolean()\n .describe(\"Whether to only show this component if it's degraded.\")\n .optional(),\n});\nconst SnowflakeGetStatusSummaryScheduledMaintenanceSchema = z.object({\n id: z.string().describe(\"The ID of the scheduled maintenance.\").optional(),\n name: z.string().describe(\"The name of the scheduled maintenance.\").optional(),\n impact: z.string().describe(\"The impact of the scheduled maintenance.\").optional(),\n status: z.string().describe(\"The status of the scheduled maintenance.\").optional(),\n page_id: z\n .string()\n .describe(\"The ID of the page the scheduled maintenance belongs to.\")\n .optional(),\n shortlink: z.string().describe(\"The shortlink of the scheduled maintenance.\").optional(),\n created_at: z\n .string()\n .describe(\"The timestamp of the scheduled maintenance creation.\")\n .optional(),\n updated_at: z.string().describe(\"The timestamp of the last update.\").optional(),\n resolved_at: z\n .string()\n .describe(\"The timestamp of the scheduled maintenance resolution.\")\n .optional(),\n monitoring_at: z.string().describe(\"The timestamp of the monitoring start.\").optional(),\n scheduled_for: z\n .string()\n .describe(\"The timestamp of the scheduled maintenance start.\")\n .optional(),\n scheduled_until: z\n .string()\n .describe(\"The timestamp of the scheduled maintenance end.\")\n .optional(),\n incident_updates: z\n .array(SnowflakeGetStatusSummaryIncidentUpdateSchema)\n .default([])\n .describe(\"A list of incident updates.\")\n .optional(),\n});\nexport const SnowflakeGetStatusSummaryOutput = z.object({\n page: SnowflakeGetStatusSummaryPageSchema.nullable().optional(),\n status: SnowflakeGetStatusSummaryStatusSchema.nullable().optional(),\n incidents: z\n .array(SnowflakeGetStatusSummaryIncidentSchema)\n .default([])\n .describe(\"A list of incidents.\")\n .optional(),\n components: z\n .array(SnowflakeGetStatusSummaryComponentSchema)\n .default([])\n .describe(\"A list of components.\")\n .optional(),\n scheduled_maintenances: z\n .array(SnowflakeGetStatusSummaryScheduledMaintenanceSchema)\n .default([])\n .describe(\"A list of scheduled maintenances.\")\n .optional(),\n});\n\nexport const snowflakeGetStatusSummary = snowflake.action({\n slug: \"snowflake-get-status-summary\",\n name: \"Get Status Summary\",\n description:\n \"Retrieves the current status summary from Snowflake's public status page (status.snowflake.com). Returns overall system status, operational status of all regional components (AWS, Azure, GCP regions), any unresolved incidents, and upcoming or in-progress scheduled maintenances. This is a public endpoint that provides global Snowflake service status, not account-specific information.\",\n input: SnowflakeGetStatusSummaryInput,\n output: SnowflakeGetStatusSummaryOutput,\n async run(input) {\n const result = await executeSnowflakeTool(\"SNOWFLAKE_GET_STATUS_SUMMARY\", input);\n return SnowflakeGetStatusSummaryOutput.parse(result);\n },\n});\n","import { z } from \"zod\";\n\nimport { snowflake } from \"../app\";\nimport { executeSnowflakeTool } from \"../execute\";\n\nexport const SnowflakeGetUnresolvedIncidentsInput = z.object({});\nconst SnowflakeGetUnresolvedIncidentsPageInfoSchema = z.object({\n id: z.string().describe(\"The unique identifier of the Snowflake status page.\"),\n url: z.string().describe(\"The URL of the status page.\"),\n name: z.string().describe(\"The name of the service (Snowflake).\"),\n time_zone: z.string().describe(\"The timezone used for the status page (e.g., Etc/UTC).\"),\n updated_at: z.string().describe(\"The timestamp when the status page was last updated.\"),\n});\nconst SnowflakeGetUnresolvedIncidentsIncidentUpdateSchema = z.object({\n id: z.string().describe(\"The ID of the incident update.\"),\n body: z.string().describe(\"The body of the incident update.\"),\n status: z.string().describe(\"The status of the incident update.\"),\n created_at: z.string().describe(\"The timestamp when the incident update was created.\"),\n display_at: z.string().describe(\"The timestamp when the incident update should be displayed.\"),\n updated_at: z.string().describe(\"The timestamp when the incident update was last updated.\"),\n incident_id: z.string().describe(\"The ID of the incident.\"),\n});\nconst SnowflakeGetUnresolvedIncidentsIncidentSchema = z.object({\n id: z.string().describe(\"The ID of the incident.\"),\n name: z.string().describe(\"The name of the incident.\"),\n impact: z.string().describe(\"The impact of the incident.\"),\n status: z.string().describe(\"The status of the incident.\"),\n page_id: z.string().describe(\"The ID of the page.\"),\n shortlink: z.string().describe(\"The shortlink for the incident.\"),\n created_at: z.string().describe(\"The timestamp when the incident was created.\"),\n updated_at: z.string().describe(\"The timestamp when the incident was last updated.\"),\n resolved_at: z.string().describe(\"The timestamp when the incident was resolved.\").optional(),\n monitoring_at: z\n .string()\n .describe(\"The timestamp when the incident monitoring started.\")\n .optional(),\n incident_updates: z\n .array(SnowflakeGetUnresolvedIncidentsIncidentUpdateSchema)\n .describe(\"A list of incident updates.\"),\n});\nexport const SnowflakeGetUnresolvedIncidentsOutput = z.object({\n page: SnowflakeGetUnresolvedIncidentsPageInfoSchema.nullable(),\n incidents: z\n .array(SnowflakeGetUnresolvedIncidentsIncidentSchema)\n .describe(\n \"A list of unresolved incidents currently in the Investigating, Identified, or Monitoring state. Returns an empty list if there are no active incidents.\",\n ),\n});\n\nexport const snowflakeGetUnresolvedIncidents = snowflake.action({\n slug: \"snowflake-get-unresolved-incidents\",\n name: \"Get Unresolved Incidents\",\n description:\n \"Retrieves a list of any unresolved incidents from the Snowflake status page. This endpoint returns incidents currently in the Investigating, Identified, or Monitoring state. Returns an empty list if there are no active incidents. This is a public status page API that does not require authentication.\",\n input: SnowflakeGetUnresolvedIncidentsInput,\n output: SnowflakeGetUnresolvedIncidentsOutput,\n async run(input) {\n const result = await executeSnowflakeTool(\"SNOWFLAKE_GET_UNRESOLVED_INCIDENTS\", input);\n return SnowflakeGetUnresolvedIncidentsOutput.parse(result);\n },\n});\n","import { z } from \"zod\";\n\nimport { snowflake } from \"../app\";\nimport { executeSnowflakeTool } from \"../execute\";\n\nexport const SnowflakeGetUpcomingScheduledMaintenancesInput = z\n .record(z.string(), z.unknown())\n .describe(\"Request model for getting upcoming scheduled maintenances.\");\nconst SnowflakeGetUpcomingScheduledMaintenancesPageInfoSchema = z.object({\n id: z.string().describe(\"The ID of the Snowflake status page.\"),\n url: z.string().describe(\"The URL of the status page.\"),\n name: z.string().describe(\"The name of the status page.\"),\n time_zone: z.string().describe(\"The time zone of the status page.\"),\n updated_at: z.string().describe(\"The timestamp when the status page was last updated.\"),\n});\nconst SnowflakeGetUpcomingScheduledMaintenancesIncidentUpdateSchema = z.object({\n id: z.string().describe(\"The ID of the incident update.\"),\n body: z.string().describe(\"The body of the incident update.\"),\n status: z.string().describe(\"The status of the incident update.\"),\n created_at: z.string().describe(\"The timestamp when the incident update was created.\"),\n display_at: z.string().describe(\"The timestamp when the incident update should be displayed.\"),\n updated_at: z.string().describe(\"The timestamp when the incident update was last updated.\"),\n incident_id: z.string().describe(\"The ID of the incident.\"),\n});\nconst SnowflakeGetUpcomingScheduledMaintenancesScheduledMaintenanceSchema = z.object({\n id: z.string().describe(\"The ID of the scheduled maintenance.\"),\n name: z.string().describe(\"The name of the scheduled maintenance.\"),\n impact: z.string().describe(\"The impact of the scheduled maintenance.\"),\n status: z.string().describe(\"The status of the scheduled maintenance.\"),\n page_id: z.string().describe(\"The ID of the page.\"),\n shortlink: z.string().describe(\"A short link to the scheduled maintenance.\"),\n created_at: z.string().describe(\"The timestamp when the scheduled maintenance was created.\"),\n updated_at: z.string().describe(\"The timestamp when the scheduled maintenance was last updated.\"),\n resolved_at: z\n .string()\n .describe(\"The timestamp when the scheduled maintenance was resolved.\")\n .optional(),\n monitoring_at: z\n .string()\n .describe(\"The timestamp when the scheduled maintenance was last monitored.\")\n .optional(),\n scheduled_for: z.string().describe(\"The timestamp when the maintenance is scheduled for.\"),\n scheduled_until: z.string().describe(\"The timestamp when the maintenance is scheduled until.\"),\n incident_updates: z\n .array(SnowflakeGetUpcomingScheduledMaintenancesIncidentUpdateSchema)\n .describe(\"A list of incident updates for the scheduled maintenance.\"),\n});\nexport const SnowflakeGetUpcomingScheduledMaintenancesOutput = z.object({\n page: SnowflakeGetUpcomingScheduledMaintenancesPageInfoSchema.nullable(),\n scheduled_maintenances: z\n .array(SnowflakeGetUpcomingScheduledMaintenancesScheduledMaintenanceSchema)\n .describe(\"A list of upcoming scheduled maintenances that are still in the 'Scheduled' state.\"),\n});\n\nexport const snowflakeGetUpcomingScheduledMaintenances = snowflake.action({\n slug: \"snowflake-get-upcoming-scheduled-maintenances\",\n name: \"Get Upcoming Scheduled Maintenances\",\n description:\n \"Retrieves upcoming scheduled maintenances from Snowflake's public status page. This action queries the Snowflake status API to get a list of any scheduled maintenance events that are still in the 'Scheduled' state (not yet started or completed). The response includes maintenance details such as impact level, scheduled time windows, incident updates, and direct links to the maintenance notices. Note: This uses Snowflake's public status API and does not require authentication.\",\n input: SnowflakeGetUpcomingScheduledMaintenancesInput,\n output: SnowflakeGetUpcomingScheduledMaintenancesOutput,\n async run(input) {\n const result = await executeSnowflakeTool(\n \"SNOWFLAKE_GET_UPCOMING_SCHEDULED_MAINTENANCES\",\n input,\n );\n return SnowflakeGetUpcomingScheduledMaintenancesOutput.parse(result);\n },\n});\n","import { z } from \"zod\";\n\nimport { snowflake } from \"../app\";\nimport { executeSnowflakeTool } from \"../execute\";\n\nexport const SnowflakeShowDatabasesInput = z.object({\n role: z.string().describe(\"Role to use when executing the statement.\").optional(),\n limit: z\n .number()\n .int()\n .describe(\"Maximum number of rows to return. Cannot exceed 10000.\")\n .optional(),\n terse: z\n .boolean()\n .default(false)\n .describe(\n \"If true, returns only a subset of output columns (created_on, name, kind, database_name, schema_name).\",\n )\n .optional(),\n history: z\n .boolean()\n .default(false)\n .describe(\n \"If true, includes dropped databases that are still within Time Travel retention period.\",\n )\n .optional(),\n timeout: z.number().int().describe(\"Timeout in seconds for statement execution.\").optional(),\n from_name: z\n .string()\n .describe(\n \"Used with LIMIT for pagination. Returns results starting from databases whose names match this string.\",\n )\n .optional(),\n warehouse: z\n .string()\n .describe(\n \"Warehouse to use for the query (though SHOW DATABASES doesn't require a running warehouse).\",\n )\n .optional(),\n starts_with: z\n .string()\n .describe(\"Filters results by databases whose names start with this string. Case-sensitive.\")\n .optional(),\n like_pattern: z\n .string()\n .describe(\n \"Filters results by database name using SQL wildcard pattern (% and _). Case-insensitive.\",\n )\n .optional(),\n});\nexport const SnowflakeShowDatabasesOutput = z.object({\n data: z\n .array(z.array(z.union([z.string(), z.number().int(), z.number(), z.boolean()]).nullable()))\n .describe(\n \"List of databases with their metadata. Each row contains database information like name, creation date, owner, etc.\",\n ),\n columns: z.array(z.string()).describe(\"Column names in the result set.\").optional(),\n});\n\nexport const snowflakeShowDatabases = snowflake.action({\n slug: \"snowflake-show-databases\",\n name: \"Show Databases\",\n description:\n \"Lists all databases for which you have access privileges. Shows database metadata including name, creation date, owner, retention time, and more. Can filter results and include dropped databases within Time Travel retention period.\",\n input: SnowflakeShowDatabasesInput,\n output: SnowflakeShowDatabasesOutput,\n async run(input) {\n const result = await executeSnowflakeTool(\"SNOWFLAKE_SHOW_DATABASES\", input);\n return SnowflakeShowDatabasesOutput.parse(result);\n },\n});\n","import { z } from \"zod\";\n\nimport { snowflake } from \"../app\";\nimport { executeSnowflakeTool } from \"../execute\";\n\nexport const SnowflakeShowSchemasInput = z.object({\n role: z.string().describe(\"Role to use when executing the statement.\").optional(),\n limit: z\n .number()\n .int()\n .describe(\"Maximum number of rows to return. Cannot exceed 10000.\")\n .optional(),\n terse: z\n .boolean()\n .default(false)\n .describe(\n \"If true, returns only a subset of output columns (created_on, name, kind, database_name, schema_name).\",\n )\n .optional(),\n history: z\n .boolean()\n .default(false)\n .describe(\n \"If true, includes dropped schemas that are still within Time Travel retention period.\",\n )\n .optional(),\n timeout: z.number().int().describe(\"Timeout in seconds for statement execution.\").optional(),\n database: z.string().describe(\"Database context for the query.\").optional(),\n in_scope: z\n .string()\n .describe(\"Scope for the command. Options: 'ACCOUNT', 'DATABASE', or a specific database name.\")\n .optional(),\n from_name: z\n .string()\n .describe(\n \"Used with LIMIT for pagination. Returns results starting from schemas whose names match this string.\",\n )\n .optional(),\n warehouse: z\n .string()\n .describe(\n \"Warehouse to use for the query (though SHOW SCHEMAS doesn't require a running warehouse).\",\n )\n .optional(),\n starts_with: z\n .string()\n .describe(\"Filters results by schemas whose names start with this string. Case-sensitive.\")\n .optional(),\n like_pattern: z\n .string()\n .describe(\n \"Filters results by schema name using SQL wildcard pattern (% and _). Case-insensitive.\",\n )\n .optional(),\n});\nexport const SnowflakeShowSchemasOutput = z.object({\n data: z\n .array(z.array(z.union([z.string(), z.number().int(), z.number(), z.boolean()]).nullable()))\n .describe(\n \"List of schemas with their metadata. Each row contains schema information like name, creation date, owner, database, etc.\",\n ),\n columns: z.array(z.string()).describe(\"Column names in the result set.\").optional(),\n});\n\nexport const snowflakeShowSchemas = snowflake.action({\n slug: \"snowflake-show-schemas\",\n name: \"Show Schemas\",\n description:\n \"Lists all schemas for which you have access privileges. Shows schema metadata including name, creation date, owner, database, retention time, and more. Can filter results and include dropped schemas within Time Travel retention period.\",\n input: SnowflakeShowSchemasInput,\n output: SnowflakeShowSchemasOutput,\n async run(input) {\n const result = await executeSnowflakeTool(\"SNOWFLAKE_SHOW_SCHEMAS\", input);\n return SnowflakeShowSchemasOutput.parse(result);\n },\n});\n","import { z } from \"zod\";\n\nimport { snowflake } from \"../app\";\nimport { executeSnowflakeTool } from \"../execute\";\n\nexport const SnowflakeShowTablesInput = z.object({\n role: z.string().describe(\"Role to use when executing the statement.\").optional(),\n limit: z\n .number()\n .int()\n .describe(\"Maximum number of rows to return. Cannot exceed 10000.\")\n .optional(),\n terse: z\n .boolean()\n .default(false)\n .describe(\n \"If true, returns only a subset of output columns (created_on, name, kind, database_name, schema_name).\",\n )\n .optional(),\n schema: z.string().describe(\"Schema context for the query.\").optional(),\n history: z\n .boolean()\n .default(false)\n .describe(\n \"If true, includes dropped tables that are still within Time Travel retention period.\",\n )\n .optional(),\n timeout: z.number().int().describe(\"Timeout in seconds for statement execution.\").optional(),\n database: z.string().describe(\"Database context for the query.\").optional(),\n in_scope: z\n .string()\n .describe(\n \"Scope for the command. Options: 'ACCOUNT', 'DATABASE', 'SCHEMA', or specific database/schema names.\",\n )\n .optional(),\n from_name: z\n .string()\n .describe(\n \"Used with LIMIT for pagination. Returns results starting from tables whose names match this string.\",\n )\n .optional(),\n warehouse: z\n .string()\n .describe(\n \"Warehouse to use for the query (though SHOW TABLES doesn't require a running warehouse).\",\n )\n .optional(),\n starts_with: z\n .string()\n .describe(\"Filters results by tables whose names start with this string. Case-sensitive.\")\n .optional(),\n like_pattern: z\n .string()\n .describe(\n \"Filters results by table name using SQL wildcard pattern (% and _). Case-insensitive.\",\n )\n .optional(),\n});\nexport const SnowflakeShowTablesOutput = z.object({\n data: z\n .array(z.array(z.union([z.string(), z.number().int(), z.number(), z.boolean()]).nullable()))\n .describe(\n \"List of tables with their metadata. Each row contains table information like name, creation date, owner, database, schema, row count, size, etc.\",\n ),\n columns: z.array(z.string()).describe(\"Column names in the result set.\").optional(),\n});\n\nexport const snowflakeShowTables = snowflake.action({\n slug: \"snowflake-show-tables\",\n name: \"Show Tables\",\n description:\n \"Lists all tables for which you have access privileges. Shows table metadata including name, creation date, owner, database, schema, row count, size in bytes, clustering keys, and more. Can filter results and include dropped tables within Time Travel retention period.\",\n input: SnowflakeShowTablesInput,\n output: SnowflakeShowTablesOutput,\n async run(input) {\n const result = await executeSnowflakeTool(\"SNOWFLAKE_SHOW_TABLES\", input);\n return SnowflakeShowTablesOutput.parse(result);\n },\n});\n","import { z } from \"zod\";\n\nimport { snowflake } from \"../app\";\nimport { executeSnowflakeTool } from \"../execute\";\n\nexport const SnowflakeValidateCredentialInput = z\n .object({})\n .describe(\"Request model for validating Snowflake credentials.\");\nexport const SnowflakeValidateCredentialOutput = z\n .object({\n message: z.string().describe(\"Additional status message or error details\").optional(),\n is_valid: z\n .boolean()\n .describe(\"Indicates whether the credentials are valid and the session is active\"),\n session_id: z\n .string()\n .describe(\"Unique system identifier for the Snowflake session if credentials are valid\")\n .optional(),\n })\n .describe(\"Response model for credential validation.\");\n\nexport const snowflakeValidateCredential = snowflake.action({\n slug: \"snowflake-validate-credential\",\n name: \"Validate Credential\",\n description:\n \"Validates Snowflake credentials by executing a lightweight test query. Returns session information if credentials are valid, or error details if authentication fails. Use this action when you need to verify that API credentials are properly configured and have access to the Snowflake account before executing other operations. This check does not require compute resources (warehouse) and completes quickly.\",\n input: SnowflakeValidateCredentialInput,\n output: SnowflakeValidateCredentialOutput,\n async run(input) {\n const result = await executeSnowflakeTool(\"SNOWFLAKE_VALIDATE_CREDENTIAL\", input);\n return SnowflakeValidateCredentialOutput.parse(result);\n },\n});\n"],"mappings":"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"}
@@ -1,443 +0,0 @@
1
- //#region src/actions/cancel-statement-execution.d.ts
2
- declare const snowflakeCancelStatementExecution: import("@keystrokehq/action").WorkflowActionDefinition<{
3
- statementHandle: string;
4
- request_id?: string | undefined;
5
- }, {
6
- code: string;
7
- message: string;
8
- sqlState: string;
9
- statementHandle: string;
10
- statementStatusUrl: string;
11
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
12
- //#endregion
13
- //#region src/actions/check-statement-status.d.ts
14
- declare const snowflakeCheckStatementStatus: import("@keystrokehq/action").WorkflowActionDefinition<{
15
- statementHandle: string;
16
- partition?: number | undefined;
17
- requestId?: string | undefined;
18
- }, {
19
- code?: string | undefined;
20
- data?: (string | number | boolean | null)[][] | undefined;
21
- message?: string | undefined;
22
- sqlState?: string | undefined;
23
- createdOn?: number | undefined;
24
- requestId?: string | undefined;
25
- statementHandle?: string | undefined;
26
- resultSetMetaData?: {
27
- format: string;
28
- numRows: number;
29
- rowType: {
30
- name: string;
31
- type: string;
32
- table: string;
33
- schema: string;
34
- database: string;
35
- nullable: boolean;
36
- scale?: number | undefined;
37
- length?: number | undefined;
38
- collation?: string | undefined;
39
- precision?: number | undefined;
40
- byteLength?: number | undefined;
41
- }[];
42
- partitionInfo: {
43
- rowCount: number;
44
- uncompressedSize: number;
45
- }[];
46
- } | null | undefined;
47
- statementStatusUrl?: string | undefined;
48
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
49
- //#endregion
50
- //#region src/actions/drop-warehouse.d.ts
51
- declare const snowflakeDropWarehouse: import("@keystrokehq/action").WorkflowActionDefinition<{
52
- name: string;
53
- if_exists?: boolean | undefined;
54
- }, {
55
- code?: string | undefined;
56
- status?: string | undefined;
57
- message?: string | undefined;
58
- resultHandler?: string | undefined;
59
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
60
- //#endregion
61
- //#region src/actions/execute-sql.d.ts
62
- declare const snowflakeExecuteSql: import("@keystrokehq/action").WorkflowActionDefinition<{
63
- statement: string;
64
- role?: string | undefined;
65
- timeout?: number | undefined;
66
- bindings?: Record<string, unknown> | undefined;
67
- database?: string | undefined;
68
- warehouse?: string | undefined;
69
- parameters?: Record<string, unknown> | undefined;
70
- schema_name?: string | undefined;
71
- }, {
72
- code?: string | undefined;
73
- data?: (string | number | boolean | null)[][] | undefined;
74
- message?: string | undefined;
75
- sqlState?: string | undefined;
76
- createdOn?: number | undefined;
77
- statementHandle?: string | undefined;
78
- statementHandles?: string[] | undefined;
79
- resultSetMetaData?: {
80
- format: string;
81
- numRows: number;
82
- rowType: {
83
- name: string;
84
- type: string;
85
- table: string;
86
- schema: string;
87
- database: string;
88
- nullable: boolean;
89
- scale?: number | undefined;
90
- length?: number | undefined;
91
- collation?: string | undefined;
92
- precision?: number | undefined;
93
- byteLength?: number | undefined;
94
- }[];
95
- partitionInfo: {
96
- rowCount: number;
97
- uncompressedSize: number;
98
- }[];
99
- } | null | undefined;
100
- statementStatusUrl?: string | undefined;
101
- composio_execution_message?: string | undefined;
102
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
103
- //#endregion
104
- //#region src/actions/fetch-catalog-integration.d.ts
105
- declare const snowflakeFetchCatalogIntegration: import("@keystrokehq/action").WorkflowActionDefinition<{
106
- name: string;
107
- }, {
108
- name?: string | undefined;
109
- type?: string | undefined;
110
- catalog?: {
111
- catalog_source?: string | undefined;
112
- } | null | undefined;
113
- comment?: string | undefined;
114
- enabled?: boolean | undefined;
115
- category?: string | undefined;
116
- created_on?: string | undefined;
117
- table_format?: string | undefined;
118
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
119
- //#endregion
120
- //#region src/actions/get-active-scheduled-maintenances.d.ts
121
- declare const snowflakeGetActiveScheduledMaintenances: import("@keystrokehq/action").WorkflowActionDefinition<Record<string, never>, {
122
- page: {
123
- id: string;
124
- url: string;
125
- name: string;
126
- time_zone: string;
127
- updated_at: string;
128
- } | null;
129
- scheduled_maintenances: {
130
- id: string;
131
- name: string;
132
- impact: string;
133
- status: string;
134
- page_id: string;
135
- shortlink: string;
136
- created_at: string;
137
- updated_at: string;
138
- scheduled_for: string;
139
- scheduled_until: string;
140
- incident_updates: {
141
- id: string;
142
- body: string;
143
- status: string;
144
- created_at: string;
145
- display_at: string;
146
- updated_at: string;
147
- incident_id: string;
148
- }[];
149
- started_at?: string | undefined;
150
- resolved_at?: string | undefined;
151
- monitoring_at?: string | undefined;
152
- }[];
153
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
154
- //#endregion
155
- //#region src/actions/get-all-scheduled-maintenances.d.ts
156
- declare const snowflakeGetAllScheduledMaintenances: import("@keystrokehq/action").WorkflowActionDefinition<Record<string, never>, {
157
- page: {
158
- id: string;
159
- url: string;
160
- name: string;
161
- time_zone: string;
162
- updated_at: string;
163
- } | null;
164
- scheduled_maintenances: {
165
- id: string;
166
- name: string;
167
- impact: string;
168
- status: string;
169
- page_id: string;
170
- shortlink: string;
171
- created_at: string;
172
- updated_at: string;
173
- incident_updates: {
174
- id: string;
175
- body: string;
176
- status: string;
177
- created_at: string;
178
- display_at: string;
179
- updated_at: string;
180
- incident_id: string;
181
- tweet_id?: string | undefined;
182
- custom_tweet?: string | undefined;
183
- affected_components?: {
184
- code: string;
185
- name: string;
186
- new_status: string;
187
- old_status: string;
188
- }[] | undefined;
189
- deliver_notifications?: boolean | undefined;
190
- }[];
191
- started_at?: string | undefined;
192
- resolved_at?: string | undefined;
193
- monitoring_at?: string | undefined;
194
- scheduled_for?: string | undefined;
195
- scheduled_until?: string | undefined;
196
- }[];
197
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
198
- //#endregion
199
- //#region src/actions/get-component-status.d.ts
200
- declare const snowflakeGetComponentStatus: import("@keystrokehq/action").WorkflowActionDefinition<{
201
- limit?: number | undefined;
202
- }, {
203
- page: {
204
- id: string;
205
- url: string;
206
- name: string;
207
- updated_at: string;
208
- } | null;
209
- components: {
210
- id: string;
211
- name: string;
212
- group: boolean;
213
- status: string;
214
- page_id: string;
215
- position: number;
216
- showcase: boolean;
217
- created_at: string;
218
- updated_at: string;
219
- only_show_if_degraded: boolean;
220
- group_id?: string | undefined;
221
- start_date?: string | undefined;
222
- description?: string | undefined;
223
- }[];
224
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
225
- //#endregion
226
- //#region src/actions/get-status-rollup.d.ts
227
- declare const snowflakeGetStatusRollup: import("@keystrokehq/action").WorkflowActionDefinition<Record<string, never>, {
228
- page: {
229
- id: string;
230
- url: string;
231
- name: string;
232
- time_zone: string;
233
- updated_at: string;
234
- } | null;
235
- status: {
236
- indicator: string;
237
- description: string;
238
- } | null;
239
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
240
- //#endregion
241
- //#region src/actions/get-status-summary.d.ts
242
- declare const snowflakeGetStatusSummary: import("@keystrokehq/action").WorkflowActionDefinition<Record<string, never>, {
243
- page?: {
244
- id?: string | undefined;
245
- url?: string | undefined;
246
- name?: string | undefined;
247
- time_zone?: string | undefined;
248
- updated_at?: string | undefined;
249
- } | null | undefined;
250
- status?: {
251
- indicator?: string | undefined;
252
- description?: string | undefined;
253
- } | null | undefined;
254
- incidents?: {
255
- id?: string | undefined;
256
- name?: string | undefined;
257
- impact?: string | undefined;
258
- status?: string | undefined;
259
- page_id?: string | undefined;
260
- shortlink?: string | undefined;
261
- created_at?: string | undefined;
262
- updated_at?: string | undefined;
263
- resolved_at?: string | undefined;
264
- monitoring_at?: string | undefined;
265
- incident_updates?: {
266
- id?: string | undefined;
267
- body?: string | undefined;
268
- status?: string | undefined;
269
- created_at?: string | undefined;
270
- display_at?: string | undefined;
271
- updated_at?: string | undefined;
272
- incident_id?: string | undefined;
273
- }[] | undefined;
274
- }[] | undefined;
275
- components?: {
276
- id?: string | undefined;
277
- name?: string | undefined;
278
- group?: boolean | undefined;
279
- status?: string | undefined;
280
- page_id?: string | undefined;
281
- group_id?: string | undefined;
282
- position?: number | undefined;
283
- showcase?: boolean | undefined;
284
- components?: string[] | undefined;
285
- created_at?: string | undefined;
286
- start_date?: string | undefined;
287
- updated_at?: string | undefined;
288
- description?: string | undefined;
289
- only_show_if_degraded?: boolean | undefined;
290
- }[] | undefined;
291
- scheduled_maintenances?: {
292
- id?: string | undefined;
293
- name?: string | undefined;
294
- impact?: string | undefined;
295
- status?: string | undefined;
296
- page_id?: string | undefined;
297
- shortlink?: string | undefined;
298
- created_at?: string | undefined;
299
- updated_at?: string | undefined;
300
- resolved_at?: string | undefined;
301
- monitoring_at?: string | undefined;
302
- scheduled_for?: string | undefined;
303
- scheduled_until?: string | undefined;
304
- incident_updates?: {
305
- id?: string | undefined;
306
- body?: string | undefined;
307
- status?: string | undefined;
308
- created_at?: string | undefined;
309
- display_at?: string | undefined;
310
- updated_at?: string | undefined;
311
- incident_id?: string | undefined;
312
- }[] | undefined;
313
- }[] | undefined;
314
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
315
- //#endregion
316
- //#region src/actions/get-unresolved-incidents.d.ts
317
- declare const snowflakeGetUnresolvedIncidents: import("@keystrokehq/action").WorkflowActionDefinition<Record<string, never>, {
318
- page: {
319
- id: string;
320
- url: string;
321
- name: string;
322
- time_zone: string;
323
- updated_at: string;
324
- } | null;
325
- incidents: {
326
- id: string;
327
- name: string;
328
- impact: string;
329
- status: string;
330
- page_id: string;
331
- shortlink: string;
332
- created_at: string;
333
- updated_at: string;
334
- incident_updates: {
335
- id: string;
336
- body: string;
337
- status: string;
338
- created_at: string;
339
- display_at: string;
340
- updated_at: string;
341
- incident_id: string;
342
- }[];
343
- resolved_at?: string | undefined;
344
- monitoring_at?: string | undefined;
345
- }[];
346
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
347
- //#endregion
348
- //#region src/actions/get-upcoming-scheduled-maintenances.d.ts
349
- declare const snowflakeGetUpcomingScheduledMaintenances: import("@keystrokehq/action").WorkflowActionDefinition<Record<string, unknown>, {
350
- page: {
351
- id: string;
352
- url: string;
353
- name: string;
354
- time_zone: string;
355
- updated_at: string;
356
- } | null;
357
- scheduled_maintenances: {
358
- id: string;
359
- name: string;
360
- impact: string;
361
- status: string;
362
- page_id: string;
363
- shortlink: string;
364
- created_at: string;
365
- updated_at: string;
366
- scheduled_for: string;
367
- scheduled_until: string;
368
- incident_updates: {
369
- id: string;
370
- body: string;
371
- status: string;
372
- created_at: string;
373
- display_at: string;
374
- updated_at: string;
375
- incident_id: string;
376
- }[];
377
- resolved_at?: string | undefined;
378
- monitoring_at?: string | undefined;
379
- }[];
380
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
381
- //#endregion
382
- //#region src/actions/show-databases.d.ts
383
- declare const snowflakeShowDatabases: import("@keystrokehq/action").WorkflowActionDefinition<{
384
- role?: string | undefined;
385
- limit?: number | undefined;
386
- terse?: boolean | undefined;
387
- history?: boolean | undefined;
388
- timeout?: number | undefined;
389
- from_name?: string | undefined;
390
- warehouse?: string | undefined;
391
- starts_with?: string | undefined;
392
- like_pattern?: string | undefined;
393
- }, {
394
- data: (string | number | boolean | null)[][];
395
- columns?: string[] | undefined;
396
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
397
- //#endregion
398
- //#region src/actions/show-schemas.d.ts
399
- declare const snowflakeShowSchemas: import("@keystrokehq/action").WorkflowActionDefinition<{
400
- role?: string | undefined;
401
- limit?: number | undefined;
402
- terse?: boolean | undefined;
403
- history?: boolean | undefined;
404
- timeout?: number | undefined;
405
- database?: string | undefined;
406
- in_scope?: string | undefined;
407
- from_name?: string | undefined;
408
- warehouse?: string | undefined;
409
- starts_with?: string | undefined;
410
- like_pattern?: string | undefined;
411
- }, {
412
- data: (string | number | boolean | null)[][];
413
- columns?: string[] | undefined;
414
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
415
- //#endregion
416
- //#region src/actions/show-tables.d.ts
417
- declare const snowflakeShowTables: import("@keystrokehq/action").WorkflowActionDefinition<{
418
- role?: string | undefined;
419
- limit?: number | undefined;
420
- terse?: boolean | undefined;
421
- schema?: string | undefined;
422
- history?: boolean | undefined;
423
- timeout?: number | undefined;
424
- database?: string | undefined;
425
- in_scope?: string | undefined;
426
- from_name?: string | undefined;
427
- warehouse?: string | undefined;
428
- starts_with?: string | undefined;
429
- like_pattern?: string | undefined;
430
- }, {
431
- data: (string | number | boolean | null)[][];
432
- columns?: string[] | undefined;
433
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
434
- //#endregion
435
- //#region src/actions/validate-credential.d.ts
436
- declare const snowflakeValidateCredential: import("@keystrokehq/action").WorkflowActionDefinition<Record<string, never>, {
437
- is_valid: boolean;
438
- message?: string | undefined;
439
- session_id?: string | undefined;
440
- }, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
441
- //#endregion
442
- export { snowflakeGetUpcomingScheduledMaintenances as a, snowflakeGetStatusRollup as c, snowflakeGetActiveScheduledMaintenances as d, snowflakeFetchCatalogIntegration as f, snowflakeCancelStatementExecution as g, snowflakeCheckStatementStatus as h, snowflakeShowDatabases as i, snowflakeGetComponentStatus as l, snowflakeDropWarehouse as m, snowflakeShowTables as n, snowflakeGetUnresolvedIncidents as o, snowflakeExecuteSql as p, snowflakeShowSchemas as r, snowflakeGetStatusSummary as s, snowflakeValidateCredential as t, snowflakeGetAllScheduledMaintenances as u };
443
- //# sourceMappingURL=index-DUGCZPGQ.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-DUGCZPGQ.d.cts","names":[],"sources":["../src/actions/cancel-statement-execution.ts","../src/actions/check-statement-status.ts","../src/actions/drop-warehouse.ts","../src/actions/execute-sql.ts","../src/actions/fetch-catalog-integration.ts","../src/actions/get-active-scheduled-maintenances.ts","../src/actions/get-all-scheduled-maintenances.ts","../src/actions/get-component-status.ts","../src/actions/get-status-rollup.ts","../src/actions/get-status-summary.ts","../src/actions/get-unresolved-incidents.ts","../src/actions/get-upcoming-scheduled-maintenances.ts","../src/actions/show-databases.ts","../src/actions/show-schemas.ts","../src/actions/show-tables.ts","../src/actions/validate-credential.ts"],"mappings":";cA0Ba,iCAAA,gCAAiC,wBAAA;;;;;;;;;;;;cC6CjC,6BAAA,gCAA6B,wBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cCpC7B,sBAAA,gCAAsB,wBAAA;;;;;;;;;;;cCgFtB,mBAAA,gCAAmB,wBAAA;;;;aAW9B,MAAA;;;eAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cC9EW,gCAAA,gCAAgC,wBAAA;;;;;;;;;;;;;;;;cCEhC,uCAAA,gCAAuC,wBAAA,CAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cCoBvC,oCAAA,gCAAoC,wBAAA,CAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cC7BpC,2BAAA,gCAA2B,wBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;cCf3B,wBAAA,gCAAwB,wBAAA,CAAA,MAAA;;;;;;;;;;;;;;;cCmGxB,yBAAA,gCAAyB,wBAAA,CAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cC5EzB,+BAAA,gCAA+B,wBAAA,CAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cCK/B,yCAAA,gCAAyC,wBAAA,CAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cCKzC,sBAAA,gCAAsB,wBAAA;;;;;;;;;;;;;;;;cCKtB,oBAAA,gCAAoB,wBAAA;;;;;;;;;;;;;;;;;;cCGpB,mBAAA,gCAAmB,wBAAA;;;;;;;;;;;;;;;;;;;cC9CnB,2BAAA,gCAA2B,wBAAA,CAAA,MAAA"}