diff --git a/docs.json b/docs.json
index c45708b..ca9cc4b 100644
--- a/docs.json
+++ b/docs.json
@@ -96,7 +96,8 @@
"features/observability",
"features/debug",
"features/edge-tools",
- "features/byok"
+ "features/byok",
+ "features/alerts"
]
},
{
diff --git a/features/alerts.mdx b/features/alerts.mdx
new file mode 100644
index 0000000..9329feb
--- /dev/null
+++ b/features/alerts.mdx
@@ -0,0 +1,132 @@
+---
+title: Alerts & Budgets
+sidebarTitle: Alerts & Budgets
+description: Monitor your AI spending in real time with budget alerts, tag-based spend tracking, and instant notifications via email or Slack.
+icon: bell
+---
+
+Edgee Alerts let you set up automated monitoring rules to track your AI spending and usage. Get notified instantly when
+API key budgets are running low, tag-based spending exceeds a threshold, or your organization's remaining credits drop below a limit.
+
+## Alert Types
+
+Edgee supports three types of alerts, each designed for a different monitoring scenario:
+
+
+
+ Monitor individual API key usage relative to its credit limit. Get notified at **50%**, **80%**, or **100%** of the key's max credits.
+
+
+
+ Track spending on a specific tag over a rolling time window (**1h**, **3h**, **6h**, **12h**, or **24h**). Trigger when cumulative spend exceeds a dollar threshold.
+
+
+
+ Monitor your organization's total remaining credit balance. Get alerted when credits drop below a dollar threshold.
+
+
+
+## Creating an Alert Rule
+
+Navigate to **Alerts** in the console sidebar. Click **Create Alert Rule** and configure:
+
+
+
+ Select one of the three alert types: **API Key Budget**, **Tag Spend**, or **Total Remaining Credits**.
+
+
+
+ Depending on the alert type:
+ - **API Key Budget**: select the specific API key to monitor.
+ - **Tag Spend**: select the tag to track.
+ - **Total Remaining Credits**: automatically scoped to your organization.
+
+
+
+ - **API Key Budget**: choose a trigger percentage — **50%**, **80%**, or **100%** of the key's max credits.
+ - **Tag Spend**: enter a dollar amount and select a time window (1h, 3h, 6h, 12h, or 24h).
+ - **Total Remaining Credits**: enter a minimum dollar amount.
+
+
+
+ Enable one or both notification channels:
+ - **Email**: enter the email address to receive alerts.
+ - **Slack**: sends notifications to your configured Slack webhook (see [Slack setup](#slack-webhook-setup) below).
+
+
+
+
+ At least one notification channel (email or Slack) must be enabled when creating a rule.
+
+
+## Notification Channels
+
+### Email
+
+Email notifications are configured per alert rule. Each rule can have its own recipient email address,
+allowing you to route different alerts to different team members or distribution lists.
+
+### Slack Webhook Setup
+
+To receive Slack notifications, configure a webhook URL for your organization:
+
+1. In Slack, create an [Incoming Webhook](https://api.slack.com/messaging/webhooks) for the channel where you want alerts.
+2. In the Edgee Console, go to **Alerts** and find the **Slack Webhook** configuration card.
+3. Paste your webhook URL (e.g. `https://hooks.slack.com/services/...`) and save.
+
+Once configured, any alert rule with Slack enabled will post notifications to this channel.
+
+
+ You can configure both email and Slack on the same rule to ensure critical alerts are never missed.
+
+
+## Alert History
+
+The **Alert History** table on the Alerts page shows every time an alert rule was triggered. Each entry includes:
+
+- The alert type and scope (which API key, tag, or organization)
+- The threshold value and the actual value that triggered the alert
+- Which notification channels were sent (email, Slack, or both)
+- The current status: **triggered** or **resolved**
+- When it was triggered and, if applicable, when it was resolved
+
+### Filtering History
+
+You can filter alert history by:
+- **Alert type**: API Key Budget, Tag Spend, or Total Remaining Credits
+- **Scope**: specific API key, tag, or organization
+- **Status**: triggered or resolved
+- **Time range**: last 24 hours, last 7 days, or last 30 days
+
+### Resolving Alerts
+
+Triggered alerts can be manually marked as resolved from the alert history. The sidebar badge shows the count of
+unresolved alerts, giving you a quick view of items that need attention.
+
+## Managing Alert Rules
+
+From the Alerts page, you can:
+
+- **Edit** a rule to change its threshold, notification channels, or enabled status.
+- **Disable** a rule temporarily without deleting it — useful during maintenance windows or testing.
+- **Delete** a rule when it's no longer needed.
+
+## Best Practices
+
+
+
+ Set multiple thresholds on the same API key (e.g. 50%, 80%, 100%) to get early warnings before hitting limits.
+
+
+
+ Combine [request tags](/features/observability#request-tags-for-analytics) with tag spend alerts to monitor costs per feature, team, or environment.
+
+
+
+ Set a remaining credits alert to avoid service interruptions when your balance gets low.
+
+
+
+ Enable both email and Slack notifications for critical alerts to ensure they're seen immediately.
+
+
diff --git a/package-lock.json b/package-lock.json
index d8ccb0f..6e087c4 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5,7 +5,7 @@
"packages": {
"": {
"dependencies": {
- "mintlify": "^4.2.435"
+ "mintlify": "^4.2.446"
}
},
"node_modules/@alcalzone/ansi-tokenize": {
@@ -114,9 +114,9 @@
"license": "MIT"
},
"node_modules/@emnapi/runtime": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.0.tgz",
- "integrity": "sha512-QN75eB0IH2ywSpRpNddCRfQIhmJYBCJ1x5Lb3IscKAL8bMnVAKnRg8dCoXbHzVLLH7P38N2Z3mtulB7W0J0FKw==",
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.1.tgz",
+ "integrity": "sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==",
"license": "MIT",
"optional": true,
"dependencies": {
@@ -982,19 +982,19 @@
}
},
"node_modules/@mintlify/cli": {
- "version": "4.0.1038",
- "resolved": "https://registry.npmjs.org/@mintlify/cli/-/cli-4.0.1038.tgz",
- "integrity": "sha512-opNW0i2vA3wlvFvPnFpck6+/ilFu34SVeAQ0eAmuo6xcIQcPU7BSpD4hONbzwyGBfA1UOpScqkLRgqgRBnbRLg==",
+ "version": "4.0.1049",
+ "resolved": "https://registry.npmjs.org/@mintlify/cli/-/cli-4.0.1049.tgz",
+ "integrity": "sha512-nCpLtcva4EBwe1hWqeyGHibqucZhNsy1PEXZh7jtJKCvLuxcEnR+aWXUhGRFHtMRyXDLWMk9kIu+2Eyum2jdxw==",
"license": "Elastic-2.0",
"dependencies": {
"@inquirer/prompts": "7.9.0",
- "@mintlify/common": "1.0.804",
- "@mintlify/link-rot": "3.0.972",
+ "@mintlify/common": "1.0.813",
+ "@mintlify/link-rot": "3.0.983",
"@mintlify/models": "0.0.286",
- "@mintlify/prebuild": "1.0.943",
- "@mintlify/previewing": "4.0.1001",
- "@mintlify/scraping": "4.0.666",
- "@mintlify/validation": "0.1.638",
+ "@mintlify/prebuild": "1.0.954",
+ "@mintlify/previewing": "4.0.1012",
+ "@mintlify/scraping": "4.0.676",
+ "@mintlify/validation": "0.1.640",
"adm-zip": "0.5.16",
"chalk": "5.2.0",
"color": "4.2.3",
@@ -1019,9 +1019,9 @@
}
},
"node_modules/@mintlify/common": {
- "version": "1.0.804",
- "resolved": "https://registry.npmjs.org/@mintlify/common/-/common-1.0.804.tgz",
- "integrity": "sha512-xsuOaGu3xEL1ClQq3ytQbnSjuWZJnniISfanKIhxFj/rE0R56fjnLwHIra+dSb1wdebr/abBnHxhj+DBZ0H6pQ==",
+ "version": "1.0.813",
+ "resolved": "https://registry.npmjs.org/@mintlify/common/-/common-1.0.813.tgz",
+ "integrity": "sha512-GTl059okp7rP3gl9LXK7DMbQVh43bHNEsD47uyuC7T9jP5Fq8TyRaSbeomP5Hu3rGxJSEhkI2yEE/9NcIuWgGQ==",
"license": "ISC",
"dependencies": {
"@asyncapi/parser": "3.4.0",
@@ -1029,7 +1029,7 @@
"@mintlify/mdx": "^3.0.4",
"@mintlify/models": "0.0.286",
"@mintlify/openapi-parser": "^0.0.8",
- "@mintlify/validation": "0.1.638",
+ "@mintlify/validation": "0.1.640",
"@sindresorhus/slugify": "2.2.0",
"@types/mdast": "4.0.4",
"acorn": "8.11.2",
@@ -1064,7 +1064,7 @@
"remark-rehype": "11.1.1",
"remark-stringify": "11.0.0",
"sucrase": "^3.34.0",
- "tailwindcss": "3.4.4",
+ "tailwindcss": "^3.4.17",
"unified": "11.0.5",
"unist-builder": "4.0.0",
"unist-util-map": "4.0.0",
@@ -1460,16 +1460,16 @@
}
},
"node_modules/@mintlify/link-rot": {
- "version": "3.0.972",
- "resolved": "https://registry.npmjs.org/@mintlify/link-rot/-/link-rot-3.0.972.tgz",
- "integrity": "sha512-z/AaCUJ8A1g99FKo6KyrUY3zmbpWEVBYG3qfzevOj1YJJiMHWfZMV15FDy0K2Rvkz5Hwje/+Lc+mfPX6rA+mWg==",
+ "version": "3.0.983",
+ "resolved": "https://registry.npmjs.org/@mintlify/link-rot/-/link-rot-3.0.983.tgz",
+ "integrity": "sha512-Z/RHwz+bUq5tZoQqWZdgNmcQQZh6WMdGI3FP1I4Bnx2Mylm+e2AjRHsbnns7HXjj2zQ5yPFfCH3+mXGJwYVzUg==",
"license": "Elastic-2.0",
"dependencies": {
- "@mintlify/common": "1.0.804",
- "@mintlify/prebuild": "1.0.943",
- "@mintlify/previewing": "4.0.1001",
+ "@mintlify/common": "1.0.813",
+ "@mintlify/prebuild": "1.0.954",
+ "@mintlify/previewing": "4.0.1012",
"@mintlify/scraping": "4.0.522",
- "@mintlify/validation": "0.1.638",
+ "@mintlify/validation": "0.1.640",
"fs-extra": "11.1.0",
"unist-util-visit": "4.1.2"
},
@@ -1993,6 +1993,27 @@
"node": ">=14.14"
}
},
+ "node_modules/@mintlify/link-rot/node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/@mintlify/link-rot/node_modules/lilconfig": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
+ "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@mintlify/link-rot/node_modules/mdast-util-mdx-jsx": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.3.tgz",
@@ -2075,6 +2096,90 @@
"loose-envify": "^1.1.0"
}
},
+ "node_modules/@mintlify/link-rot/node_modules/tailwindcss": {
+ "version": "3.4.4",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz",
+ "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==",
+ "license": "MIT",
+ "dependencies": {
+ "@alloc/quick-lru": "^5.2.0",
+ "arg": "^5.0.2",
+ "chokidar": "^3.5.3",
+ "didyoumean": "^1.2.2",
+ "dlv": "^1.1.3",
+ "fast-glob": "^3.3.0",
+ "glob-parent": "^6.0.2",
+ "is-glob": "^4.0.3",
+ "jiti": "^1.21.0",
+ "lilconfig": "^2.1.0",
+ "micromatch": "^4.0.5",
+ "normalize-path": "^3.0.0",
+ "object-hash": "^3.0.0",
+ "picocolors": "^1.0.0",
+ "postcss": "^8.4.23",
+ "postcss-import": "^15.1.0",
+ "postcss-js": "^4.0.1",
+ "postcss-load-config": "^4.0.1",
+ "postcss-nested": "^6.0.1",
+ "postcss-selector-parser": "^6.0.11",
+ "resolve": "^1.22.2",
+ "sucrase": "^3.32.0"
+ },
+ "bin": {
+ "tailwind": "lib/cli.js",
+ "tailwindcss": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@mintlify/link-rot/node_modules/tailwindcss/node_modules/postcss-load-config": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz",
+ "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "lilconfig": "^3.0.0",
+ "yaml": "^2.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ },
+ "peerDependencies": {
+ "postcss": ">=8.0.9",
+ "ts-node": ">=9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "postcss": {
+ "optional": true
+ },
+ "ts-node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@mintlify/link-rot/node_modules/tailwindcss/node_modules/postcss-load-config/node_modules/lilconfig": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
+ "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antonk52"
+ }
+ },
"node_modules/@mintlify/link-rot/node_modules/unist-util-visit": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz",
@@ -2180,15 +2285,15 @@
}
},
"node_modules/@mintlify/prebuild": {
- "version": "1.0.943",
- "resolved": "https://registry.npmjs.org/@mintlify/prebuild/-/prebuild-1.0.943.tgz",
- "integrity": "sha512-3CIV+A5NDKOGO1XE6u0nS2Bj/rqNSAZRD52Cv6+oKaf13jKyVDZpwNMFgx9rZFoFYaa0lgiEi6OjnNa+0hE6Jw==",
+ "version": "1.0.954",
+ "resolved": "https://registry.npmjs.org/@mintlify/prebuild/-/prebuild-1.0.954.tgz",
+ "integrity": "sha512-26ZRZ+zrznKwpWbRC1rMnamlsZ6+G8lqJ6jLOxq6FyeocOrML4zhY3PNJ9/K8JyfFwkvV5v2R53FgdS7HU+NFw==",
"license": "Elastic-2.0",
"dependencies": {
- "@mintlify/common": "1.0.804",
+ "@mintlify/common": "1.0.813",
"@mintlify/openapi-parser": "^0.0.8",
- "@mintlify/scraping": "4.0.666",
- "@mintlify/validation": "0.1.638",
+ "@mintlify/scraping": "4.0.676",
+ "@mintlify/validation": "0.1.640",
"chalk": "5.3.0",
"favicons": "7.2.0",
"front-matter": "4.0.2",
@@ -2276,14 +2381,14 @@
}
},
"node_modules/@mintlify/previewing": {
- "version": "4.0.1001",
- "resolved": "https://registry.npmjs.org/@mintlify/previewing/-/previewing-4.0.1001.tgz",
- "integrity": "sha512-xCqoXjw23catWH4EsYevUKzv0DkElor0g07MoXxGxxCh885FaVYCUEXdV6ofajgQK5LayuKyDtPLco7uXlnoIA==",
+ "version": "4.0.1012",
+ "resolved": "https://registry.npmjs.org/@mintlify/previewing/-/previewing-4.0.1012.tgz",
+ "integrity": "sha512-dAAdXJCdqLTNa6/2eea48dUCnECyVhIUyVFpAXlls5V3VFpF7hQrQKwqfmPDFh/H0zbIsTGz3FwnpkjNds17yA==",
"license": "Elastic-2.0",
"dependencies": {
- "@mintlify/common": "1.0.804",
- "@mintlify/prebuild": "1.0.943",
- "@mintlify/validation": "0.1.638",
+ "@mintlify/common": "1.0.813",
+ "@mintlify/prebuild": "1.0.954",
+ "@mintlify/validation": "0.1.640",
"better-opn": "3.0.2",
"chalk": "5.2.0",
"chokidar": "3.5.3",
@@ -2369,12 +2474,12 @@
}
},
"node_modules/@mintlify/scraping": {
- "version": "4.0.666",
- "resolved": "https://registry.npmjs.org/@mintlify/scraping/-/scraping-4.0.666.tgz",
- "integrity": "sha512-gpjNPLTpRineA1od0UaHg4+RyUemviXbhgWCRJTAnESmhqjIvXdc3sWyEEuc85p5bDg/fZSJBlQE9qELn9x/Bg==",
+ "version": "4.0.676",
+ "resolved": "https://registry.npmjs.org/@mintlify/scraping/-/scraping-4.0.676.tgz",
+ "integrity": "sha512-MrmzJEoDLX7oLNXdZdfH4GLHV/wf5hkTq6PYn/LQ68iYTg6O/LUPqOmjvgFgkzEcK/lb0h67jlgDDxLyKkknJQ==",
"license": "Elastic-2.0",
"dependencies": {
- "@mintlify/common": "1.0.804",
+ "@mintlify/common": "1.0.813",
"@mintlify/openapi-parser": "^0.0.8",
"fs-extra": "11.1.1",
"hast-util-to-mdast": "10.1.0",
@@ -2452,9 +2557,9 @@
}
},
"node_modules/@mintlify/validation": {
- "version": "0.1.638",
- "resolved": "https://registry.npmjs.org/@mintlify/validation/-/validation-0.1.638.tgz",
- "integrity": "sha512-UDv9EIFHOiVt+BdVZhBoX3/3qLFn+jvyA7kR9ovF7FEr09ca276AsOZkJdy8AKVhxBpY/+xIDX2fsF8CF9Il4w==",
+ "version": "0.1.640",
+ "resolved": "https://registry.npmjs.org/@mintlify/validation/-/validation-0.1.640.tgz",
+ "integrity": "sha512-8kmMq9R97RNjbeeRhR7arMfLsC+qVqJpa71ncg2FZifqibiiLZ0T5kGx9xIpHYbLzp4FbmE8fTM2cHQvBBxGVw==",
"license": "Elastic-2.0",
"dependencies": {
"@mintlify/mdx": "^3.0.4",
@@ -2463,6 +2568,7 @@
"js-yaml": "4.1.0",
"lcm": "0.0.3",
"lodash": "4.17.21",
+ "neotraverse": "0.6.18",
"object-hash": "3.0.0",
"openapi-types": "12.1.3",
"uuid": "11.1.0",
@@ -3718,9 +3824,9 @@
}
},
"node_modules/@types/debug": {
- "version": "4.1.12",
- "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
- "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
+ "version": "4.1.13",
+ "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz",
+ "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==",
"license": "MIT",
"dependencies": {
"@types/ms": "*"
@@ -4309,9 +4415,9 @@
}
},
"node_modules/bare-fs": {
- "version": "4.5.5",
- "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.5.5.tgz",
- "integrity": "sha512-XvwYM6VZqKoqDll8BmSww5luA5eflDzY0uEFfBJtFKe4PAAtxBjU3YIxzIBzhyaEQBy1VXEQBto4cpN5RZJw+w==",
+ "version": "4.5.6",
+ "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.5.6.tgz",
+ "integrity": "sha512-1QovqDrR80Pmt5HPAsMsXTCFcDYr+NSUKW6nd6WO5v0JBmnItc/irNRzm2KOQ5oZ69P37y+AMujNyNtG+1Rggw==",
"license": "Apache-2.0",
"dependencies": {
"bare-events": "^2.5.4",
@@ -4351,12 +4457,12 @@
}
},
"node_modules/bare-stream": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.8.1.tgz",
- "integrity": "sha512-bSeR8RfvbRwDpD7HWZvn8M3uYNDrk7m9DQjYOFkENZlXW8Ju/MPaqUPQq5LqJ3kyjEm07siTaAQ7wBKCU59oHg==",
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.10.0.tgz",
+ "integrity": "sha512-DOPZF/DDcDruKDA43cOw6e9Quq5daua7ygcAwJE/pKJsRWhgSSemi7qVNGE5kyDIxIeN1533G/zfbvWX7Wcb9w==",
"license": "Apache-2.0",
"dependencies": {
- "streamx": "^2.21.0",
+ "streamx": "^2.25.0",
"teex": "^1.0.1"
},
"peerDependencies": {
@@ -4373,9 +4479,9 @@
}
},
"node_modules/bare-url": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.3.2.tgz",
- "integrity": "sha512-ZMq4gd9ngV5aTMa5p9+UfY0b3skwhHELaDkhEHetMdX0LRkW9kzaym4oo/Eh+Ghm0CCDuMTsRIGM/ytUc1ZYmw==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.0.tgz",
+ "integrity": "sha512-NSTU5WN+fy/L0DDenfE8SXQna4voXuW0FHM7wH8i3/q9khUSchfPbPezO4zSFMnDGIf9YE+mt/RWhZgNRKRIXA==",
"license": "Apache-2.0",
"dependencies": {
"bare-path": "^3.0.0"
@@ -8199,9 +8305,9 @@
}
},
"node_modules/katex": {
- "version": "0.16.38",
- "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.38.tgz",
- "integrity": "sha512-cjHooZUmIAUmDsHBN+1n8LaZdpmbj03LtYeYPyuYB7OuloiaeaV6N4LcfjcnHVzGWjVQmKrxxTrpDcmSzEZQwQ==",
+ "version": "0.16.40",
+ "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.40.tgz",
+ "integrity": "sha512-1DJcK/L05k1Y9Gf7wMcyuqFOL6BiY3vY0CFcAM/LPRN04NALxcl6u7lOWNsp3f/bCHWxigzQl6FbR95XJ4R84Q==",
"funding": [
"https://opencollective.com/katex",
"https://github.com/sponsors/katex"
@@ -8245,12 +8351,15 @@
}
},
"node_modules/lilconfig": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
- "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
+ "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==",
"license": "MIT",
"engines": {
- "node": ">=10"
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antonk52"
}
},
"node_modules/lines-and-columns": {
@@ -9569,12 +9678,12 @@
}
},
"node_modules/mintlify": {
- "version": "4.2.435",
- "resolved": "https://registry.npmjs.org/mintlify/-/mintlify-4.2.435.tgz",
- "integrity": "sha512-BffPR6DNT1cUvUZRgpZO53xqK5qKeKk6A7AKe41YSlX6B2XgBbHFtYUaAxooBf2b9dCZ9HSjFm6vkemX5gqcVw==",
+ "version": "4.2.446",
+ "resolved": "https://registry.npmjs.org/mintlify/-/mintlify-4.2.446.tgz",
+ "integrity": "sha512-9jlHjsCLZvvm32fV+uORj333Pj9m/lcM61G3ksVFMNaYQHSorwmLLR2XCNhbXfX2YwMgiVkcqqrlYMKw3IeUjg==",
"license": "Elastic-2.0",
"dependencies": {
- "@mintlify/cli": "4.0.1038"
+ "@mintlify/cli": "4.0.1049"
},
"bin": {
"mintlify": "index.js"
@@ -10241,9 +10350,9 @@
}
},
"node_modules/postcss-load-config": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz",
- "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz",
+ "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==",
"funding": [
{
"type": "opencollective",
@@ -10256,37 +10365,32 @@
],
"license": "MIT",
"dependencies": {
- "lilconfig": "^3.0.0",
- "yaml": "^2.3.4"
+ "lilconfig": "^3.1.1"
},
"engines": {
- "node": ">= 14"
+ "node": ">= 18"
},
"peerDependencies": {
+ "jiti": ">=1.21.0",
"postcss": ">=8.0.9",
- "ts-node": ">=9.0.0"
+ "tsx": "^4.8.1",
+ "yaml": "^2.4.2"
},
"peerDependenciesMeta": {
+ "jiti": {
+ "optional": true
+ },
"postcss": {
"optional": true
},
- "ts-node": {
+ "tsx": {
+ "optional": true
+ },
+ "yaml": {
"optional": true
}
}
},
- "node_modules/postcss-load-config/node_modules/lilconfig": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
- "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==",
- "license": "MIT",
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/antonk52"
- }
- },
"node_modules/postcss-nested": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz",
@@ -11435,9 +11539,9 @@
}
},
"node_modules/serialize-error/node_modules/type-fest": {
- "version": "5.4.4",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.4.4.tgz",
- "integrity": "sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw==",
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.5.0.tgz",
+ "integrity": "sha512-PlBfpQwiUvGViBNX84Yxwjsdhd1TUlXr6zjX7eoirtCPIr08NAmxwa+fcYBTeRQxHo9YC9wwF3m9i700sHma8g==",
"license": "(MIT OR CC0-1.0)",
"dependencies": {
"tagged-tag": "^1.0.0"
@@ -11769,9 +11873,9 @@
}
},
"node_modules/socket.io-parser": {
- "version": "4.2.5",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.5.tgz",
- "integrity": "sha512-bPMmpy/5WWKHea5Y/jYAP6k74A+hvmRCQaJuJB6I/ML5JZq/KfNieUVo/3Mh7SAqn7TyFdIo6wqYHInG1MU1bQ==",
+ "version": "4.2.6",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.6.tgz",
+ "integrity": "sha512-asJqbVBDsBCJx0pTqw3WfesSY0iRX+2xzWEWzrpcH7L6fLzrhyF8WPI8UaeM4YCuDfpwA/cgsdugMsmtz8EJeg==",
"license": "MIT",
"dependencies": {
"@socket.io/component-emitter": "~3.1.0",
@@ -11904,9 +12008,9 @@
}
},
"node_modules/streamx": {
- "version": "2.23.0",
- "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz",
- "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==",
+ "version": "2.25.0",
+ "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.25.0.tgz",
+ "integrity": "sha512-0nQuG6jf1w+wddNEEXCF4nTg3LtufWINB5eFEN+5TNZW7KWJp6x87+JFL43vaAUPyCfH1wID+mNVyW6OHtFamg==",
"license": "MIT",
"dependencies": {
"events-universal": "^1.0.0",
@@ -12090,33 +12194,33 @@
}
},
"node_modules/tailwindcss": {
- "version": "3.4.4",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz",
- "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==",
+ "version": "3.4.19",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz",
+ "integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==",
"license": "MIT",
"dependencies": {
"@alloc/quick-lru": "^5.2.0",
"arg": "^5.0.2",
- "chokidar": "^3.5.3",
+ "chokidar": "^3.6.0",
"didyoumean": "^1.2.2",
"dlv": "^1.1.3",
- "fast-glob": "^3.3.0",
+ "fast-glob": "^3.3.2",
"glob-parent": "^6.0.2",
"is-glob": "^4.0.3",
- "jiti": "^1.21.0",
- "lilconfig": "^2.1.0",
- "micromatch": "^4.0.5",
+ "jiti": "^1.21.7",
+ "lilconfig": "^3.1.3",
+ "micromatch": "^4.0.8",
"normalize-path": "^3.0.0",
"object-hash": "^3.0.0",
- "picocolors": "^1.0.0",
- "postcss": "^8.4.23",
+ "picocolors": "^1.1.1",
+ "postcss": "^8.4.47",
"postcss-import": "^15.1.0",
"postcss-js": "^4.0.1",
- "postcss-load-config": "^4.0.1",
- "postcss-nested": "^6.0.1",
- "postcss-selector-parser": "^6.0.11",
- "resolve": "^1.22.2",
- "sucrase": "^3.32.0"
+ "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0",
+ "postcss-nested": "^6.2.0",
+ "postcss-selector-parser": "^6.1.2",
+ "resolve": "^1.22.8",
+ "sucrase": "^3.35.0"
},
"bin": {
"tailwind": "lib/cli.js",
@@ -12126,6 +12230,42 @@
"node": ">=14.0.0"
}
},
+ "node_modules/tailwindcss/node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "license": "MIT",
+ "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"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/tailwindcss/node_modules/chokidar/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/tailwindcss/node_modules/glob-parent": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
@@ -13110,9 +13250,9 @@
"license": "ISC"
},
"node_modules/ws": {
- "version": "8.19.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz",
- "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==",
+ "version": "8.20.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz",
+ "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==",
"license": "MIT",
"engines": {
"node": ">=10.0.0"
@@ -13190,9 +13330,9 @@
"license": "ISC"
},
"node_modules/yaml": {
- "version": "2.8.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz",
- "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==",
+ "version": "2.8.3",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz",
+ "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==",
"license": "ISC",
"bin": {
"yaml": "bin.mjs"
diff --git a/package.json b/package.json
index af9a489..85dc79e 100644
--- a/package.json
+++ b/package.json
@@ -4,6 +4,6 @@
"links": "mintlify broken-links"
},
"dependencies": {
- "mintlify": "^4.2.435"
+ "mintlify": "^4.2.446"
}
}