{"adoption": {"forks": 212, "observed_at": "2026-08-28T04:06:12.167689+00:00", "stars": 2088}, "canonical_url": "https://ross.abutalabs.com/products/ai-sdk-tools", "card": {"archived": false, "artifact_type": "library", "description": "Essential utilities for building production-ready AI applications with Vercel AI SDK. State management, debugging, structured streaming, intelligent agents, and caching.", "domain": ["large-language-models", "web-development", "frontend", "developer-tools"], "enriched": true, "function": ["state-management", "agent-framework", "caching", "developer-tools", "middleware", "sdk"], "health_score": 55, "homepage": "https://ai-sdk-tools.dev", "language": "TypeScript", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["midday-ai/ai-sdk-tools"], "name": "midday-ai/ai-sdk-tools", "platform": ["browser"], "pushed_at": "2025-12-25T14:20:13+00:00", "repo": "midday-ai/ai-sdk-tools", "stars": 2088, "tags": ["vercel-ai-sdk", "multi-agent-orchestration", "artifact-streaming", "devtools", "zustand", "chat-state-management", "monorepo-packages", "ai-agents", "nodejs", "typescript", "react"], "topics": ["ai-sdk"], "urls": [], "use_cases": ["manage AI chat state globally without prop drilling in React apps", "debug AI tool calls and message flows in real time", "stream structured type-safe artifacts from AI tools to React components", "orchestrate multiple AI agents with automatic handoffs and routing", "cache expensive AI tool executions to cut costs and latency", "add long-term persistent memory to AI agents", "build dashboards and interactive UIs beyond simple chat interfaces"], "what_it_is": "A monorepo of TypeScript utility packages extending the Vercel AI SDK, including multi-agent orchestration, Zustand-based chat state management, devtools debugging, structured artifact streaming, caching, and persistent memory. It is used in production at Midday and distributed as a unified npm package or individual @ai-sdk-tools/* packages.", "when_to_avoid": ["you are not using the Vercel AI SDK ecosystem", "you need a stable API with no breaking changes, since the project is in active development", "you build AI apps outside React/TypeScript or outside Node.js", "you need a framework-agnostic or backend-only agent runtime"], "when_to_choose": ["you are building production AI apps on the Vercel AI SDK with React", "you need multi-agent workflows with handoffs across any AI provider", "you want real-time debugging of tool calls and state changes", "you need structured streaming UI updates from AI tools", "you want drop-in caching or persistent memory for AI SDK tools"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ai-sdk-tools", "repo": "midday-ai/ai-sdk-tools", "role": "main", "score": 44}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.167689+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:55:42.362946+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3034260266307f04b88c5d108596217d2bce8d77064cab4db4540cdac3973fe9", "fetched_at": "2026-08-28T04:06:12.167689+00:00", "kind": "readme", "missing": false, "url": "https://github.com/midday-ai/ai-sdk-tools"}, {"content_hash": "a2e9539fbe23c9963499cebdb0a392c0ae2053a88b90e3941e47de1a0c661f3d", "fetched_at": "2026-08-29T10:35:50.886212+00:00", "kind": "homepage", "missing": false, "url": "https://ai-sdk-tools.dev"}, {"content_hash": "dcb38e9f98bde417e400cf681ffb099ecb93c298b831708540bfee0c0c533ebe", "fetched_at": "2026-08-29T10:35:50.895632+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/about"}, {"content_hash": "3962d5784cf9c9b8fa4b96816a88e97b67482eec9b91ec2861486deb346f6c87", "fetched_at": "2026-08-29T10:35:50.897583+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/docs"}, {"content_hash": "b7e2adf7b52c966bd994d789a5a3416ef9ba8c5fb75986fa3d2bd0c544b4d087", "fetched_at": "2026-08-29T10:35:50.899456+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/docs/quickstart"}, {"content_hash": "3035616c8df197812d27642b6d9d5a7fe37f0ac76ed10b5a1b0d86cfc2f46035", "fetched_at": "2026-08-29T10:35:50.901196+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ai-sdk-tools"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.167689+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:55:42.362946+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3034260266307f04b88c5d108596217d2bce8d77064cab4db4540cdac3973fe9", "fetched_at": "2026-08-28T04:06:12.167689+00:00", "kind": "readme", "missing": false, "url": "https://github.com/midday-ai/ai-sdk-tools"}, {"content_hash": "a2e9539fbe23c9963499cebdb0a392c0ae2053a88b90e3941e47de1a0c661f3d", "fetched_at": "2026-08-29T10:35:50.886212+00:00", "kind": "homepage", "missing": false, "url": "https://ai-sdk-tools.dev"}, {"content_hash": "dcb38e9f98bde417e400cf681ffb099ecb93c298b831708540bfee0c0c533ebe", "fetched_at": "2026-08-29T10:35:50.895632+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/about"}, {"content_hash": "3962d5784cf9c9b8fa4b96816a88e97b67482eec9b91ec2861486deb346f6c87", "fetched_at": "2026-08-29T10:35:50.897583+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/docs"}, {"content_hash": "b7e2adf7b52c966bd994d789a5a3416ef9ba8c5fb75986fa3d2bd0c544b4d087", "fetched_at": "2026-08-29T10:35:50.899456+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/docs/quickstart"}, {"content_hash": "3035616c8df197812d27642b6d9d5a7fe37f0ac76ed10b5a1b0d86cfc2f46035", "fetched_at": "2026-08-29T10:35:50.901196+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ai-sdk-tools"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:55:42.362946+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3034260266307f04b88c5d108596217d2bce8d77064cab4db4540cdac3973fe9", "fetched_at": "2026-08-28T04:06:12.167689+00:00", "kind": "readme", "missing": false, "url": "https://github.com/midday-ai/ai-sdk-tools"}, {"content_hash": "a2e9539fbe23c9963499cebdb0a392c0ae2053a88b90e3941e47de1a0c661f3d", "fetched_at": "2026-08-29T10:35:50.886212+00:00", "kind": "homepage", "missing": false, "url": "https://ai-sdk-tools.dev"}, {"content_hash": "dcb38e9f98bde417e400cf681ffb099ecb93c298b831708540bfee0c0c533ebe", "fetched_at": "2026-08-29T10:35:50.895632+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/about"}, {"content_hash": "3962d5784cf9c9b8fa4b96816a88e97b67482eec9b91ec2861486deb346f6c87", "fetched_at": "2026-08-29T10:35:50.897583+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/docs"}, {"content_hash": "b7e2adf7b52c966bd994d789a5a3416ef9ba8c5fb75986fa3d2bd0c544b4d087", "fetched_at": "2026-08-29T10:35:50.899456+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/docs/quickstart"}, {"content_hash": "3035616c8df197812d27642b6d9d5a7fe37f0ac76ed10b5a1b0d86cfc2f46035", "fetched_at": "2026-08-29T10:35:50.901196+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ai-sdk-tools"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.167689+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.167689+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.167689+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:55:42.362946+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3034260266307f04b88c5d108596217d2bce8d77064cab4db4540cdac3973fe9", "fetched_at": "2026-08-28T04:06:12.167689+00:00", "kind": "readme", "missing": false, "url": "https://github.com/midday-ai/ai-sdk-tools"}, {"content_hash": "a2e9539fbe23c9963499cebdb0a392c0ae2053a88b90e3941e47de1a0c661f3d", "fetched_at": "2026-08-29T10:35:50.886212+00:00", "kind": "homepage", "missing": false, "url": "https://ai-sdk-tools.dev"}, {"content_hash": "dcb38e9f98bde417e400cf681ffb099ecb93c298b831708540bfee0c0c533ebe", "fetched_at": "2026-08-29T10:35:50.895632+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/about"}, {"content_hash": "3962d5784cf9c9b8fa4b96816a88e97b67482eec9b91ec2861486deb346f6c87", "fetched_at": "2026-08-29T10:35:50.897583+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/docs"}, {"content_hash": "b7e2adf7b52c966bd994d789a5a3416ef9ba8c5fb75986fa3d2bd0c544b4d087", "fetched_at": "2026-08-29T10:35:50.899456+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/docs/quickstart"}, {"content_hash": "3035616c8df197812d27642b6d9d5a7fe37f0ac76ed10b5a1b0d86cfc2f46035", "fetched_at": "2026-08-29T10:35:50.901196+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ai-sdk-tools"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.167689+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.167689+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:55:42.362946+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3034260266307f04b88c5d108596217d2bce8d77064cab4db4540cdac3973fe9", "fetched_at": "2026-08-28T04:06:12.167689+00:00", "kind": "readme", "missing": false, "url": "https://github.com/midday-ai/ai-sdk-tools"}, {"content_hash": "a2e9539fbe23c9963499cebdb0a392c0ae2053a88b90e3941e47de1a0c661f3d", "fetched_at": "2026-08-29T10:35:50.886212+00:00", "kind": "homepage", "missing": false, "url": "https://ai-sdk-tools.dev"}, {"content_hash": "dcb38e9f98bde417e400cf681ffb099ecb93c298b831708540bfee0c0c533ebe", "fetched_at": "2026-08-29T10:35:50.895632+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/about"}, {"content_hash": "3962d5784cf9c9b8fa4b96816a88e97b67482eec9b91ec2861486deb346f6c87", "fetched_at": "2026-08-29T10:35:50.897583+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/docs"}, {"content_hash": "b7e2adf7b52c966bd994d789a5a3416ef9ba8c5fb75986fa3d2bd0c544b4d087", "fetched_at": "2026-08-29T10:35:50.899456+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/docs/quickstart"}, {"content_hash": "3035616c8df197812d27642b6d9d5a7fe37f0ac76ed10b5a1b0d86cfc2f46035", "fetched_at": "2026-08-29T10:35:50.901196+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ai-sdk-tools"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.167689+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.167689+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.167689+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:55:42.362946+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3034260266307f04b88c5d108596217d2bce8d77064cab4db4540cdac3973fe9", "fetched_at": "2026-08-28T04:06:12.167689+00:00", "kind": "readme", "missing": false, "url": "https://github.com/midday-ai/ai-sdk-tools"}, {"content_hash": "a2e9539fbe23c9963499cebdb0a392c0ae2053a88b90e3941e47de1a0c661f3d", "fetched_at": "2026-08-29T10:35:50.886212+00:00", "kind": "homepage", "missing": false, "url": "https://ai-sdk-tools.dev"}, {"content_hash": "dcb38e9f98bde417e400cf681ffb099ecb93c298b831708540bfee0c0c533ebe", "fetched_at": "2026-08-29T10:35:50.895632+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/about"}, {"content_hash": "3962d5784cf9c9b8fa4b96816a88e97b67482eec9b91ec2861486deb346f6c87", "fetched_at": "2026-08-29T10:35:50.897583+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/docs"}, {"content_hash": "b7e2adf7b52c966bd994d789a5a3416ef9ba8c5fb75986fa3d2bd0c544b4d087", "fetched_at": "2026-08-29T10:35:50.899456+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/docs/quickstart"}, {"content_hash": "3035616c8df197812d27642b6d9d5a7fe37f0ac76ed10b5a1b0d86cfc2f46035", "fetched_at": "2026-08-29T10:35:50.901196+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ai-sdk-tools"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.167689+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.167689+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:55:42.362946+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3034260266307f04b88c5d108596217d2bce8d77064cab4db4540cdac3973fe9", "fetched_at": "2026-08-28T04:06:12.167689+00:00", "kind": "readme", "missing": false, "url": "https://github.com/midday-ai/ai-sdk-tools"}, {"content_hash": "a2e9539fbe23c9963499cebdb0a392c0ae2053a88b90e3941e47de1a0c661f3d", "fetched_at": "2026-08-29T10:35:50.886212+00:00", "kind": "homepage", "missing": false, "url": "https://ai-sdk-tools.dev"}, {"content_hash": "dcb38e9f98bde417e400cf681ffb099ecb93c298b831708540bfee0c0c533ebe", "fetched_at": "2026-08-29T10:35:50.895632+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/about"}, {"content_hash": "3962d5784cf9c9b8fa4b96816a88e97b67482eec9b91ec2861486deb346f6c87", "fetched_at": "2026-08-29T10:35:50.897583+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/docs"}, {"content_hash": "b7e2adf7b52c966bd994d789a5a3416ef9ba8c5fb75986fa3d2bd0c544b4d087", "fetched_at": "2026-08-29T10:35:50.899456+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/docs/quickstart"}, {"content_hash": "3035616c8df197812d27642b6d9d5a7fe37f0ac76ed10b5a1b0d86cfc2f46035", "fetched_at": "2026-08-29T10:35:50.901196+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ai-sdk-tools"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:55:42.362946+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3034260266307f04b88c5d108596217d2bce8d77064cab4db4540cdac3973fe9", "fetched_at": "2026-08-28T04:06:12.167689+00:00", "kind": "readme", "missing": false, "url": "https://github.com/midday-ai/ai-sdk-tools"}, {"content_hash": "a2e9539fbe23c9963499cebdb0a392c0ae2053a88b90e3941e47de1a0c661f3d", "fetched_at": "2026-08-29T10:35:50.886212+00:00", "kind": "homepage", "missing": false, "url": "https://ai-sdk-tools.dev"}, {"content_hash": "dcb38e9f98bde417e400cf681ffb099ecb93c298b831708540bfee0c0c533ebe", "fetched_at": "2026-08-29T10:35:50.895632+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/about"}, {"content_hash": "3962d5784cf9c9b8fa4b96816a88e97b67482eec9b91ec2861486deb346f6c87", "fetched_at": "2026-08-29T10:35:50.897583+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/docs"}, {"content_hash": "b7e2adf7b52c966bd994d789a5a3416ef9ba8c5fb75986fa3d2bd0c544b4d087", "fetched_at": "2026-08-29T10:35:50.899456+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/docs/quickstart"}, {"content_hash": "3035616c8df197812d27642b6d9d5a7fe37f0ac76ed10b5a1b0d86cfc2f46035", "fetched_at": "2026-08-29T10:35:50.901196+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ai-sdk-tools"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:55:42.362946+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3034260266307f04b88c5d108596217d2bce8d77064cab4db4540cdac3973fe9", "fetched_at": "2026-08-28T04:06:12.167689+00:00", "kind": "readme", "missing": false, "url": "https://github.com/midday-ai/ai-sdk-tools"}, {"content_hash": "a2e9539fbe23c9963499cebdb0a392c0ae2053a88b90e3941e47de1a0c661f3d", "fetched_at": "2026-08-29T10:35:50.886212+00:00", "kind": "homepage", "missing": false, "url": "https://ai-sdk-tools.dev"}, {"content_hash": "dcb38e9f98bde417e400cf681ffb099ecb93c298b831708540bfee0c0c533ebe", "fetched_at": "2026-08-29T10:35:50.895632+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/about"}, {"content_hash": "3962d5784cf9c9b8fa4b96816a88e97b67482eec9b91ec2861486deb346f6c87", "fetched_at": "2026-08-29T10:35:50.897583+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/docs"}, {"content_hash": "b7e2adf7b52c966bd994d789a5a3416ef9ba8c5fb75986fa3d2bd0c544b4d087", "fetched_at": "2026-08-29T10:35:50.899456+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/docs/quickstart"}, {"content_hash": "3035616c8df197812d27642b6d9d5a7fe37f0ac76ed10b5a1b0d86cfc2f46035", "fetched_at": "2026-08-29T10:35:50.901196+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ai-sdk-tools"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:55:42.362946+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3034260266307f04b88c5d108596217d2bce8d77064cab4db4540cdac3973fe9", "fetched_at": "2026-08-28T04:06:12.167689+00:00", "kind": "readme", "missing": false, "url": "https://github.com/midday-ai/ai-sdk-tools"}, {"content_hash": "a2e9539fbe23c9963499cebdb0a392c0ae2053a88b90e3941e47de1a0c661f3d", "fetched_at": "2026-08-29T10:35:50.886212+00:00", "kind": "homepage", "missing": false, "url": "https://ai-sdk-tools.dev"}, {"content_hash": "dcb38e9f98bde417e400cf681ffb099ecb93c298b831708540bfee0c0c533ebe", "fetched_at": "2026-08-29T10:35:50.895632+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/about"}, {"content_hash": "3962d5784cf9c9b8fa4b96816a88e97b67482eec9b91ec2861486deb346f6c87", "fetched_at": "2026-08-29T10:35:50.897583+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/docs"}, {"content_hash": "b7e2adf7b52c966bd994d789a5a3416ef9ba8c5fb75986fa3d2bd0c544b4d087", "fetched_at": "2026-08-29T10:35:50.899456+00:00", "kind": "site_page", "missing": false, "url": "https://ai-sdk-tools.dev/docs/quickstart"}, {"content_hash": "3035616c8df197812d27642b6d9d5a7fe37f0ac76ed10b5a1b0d86cfc2f46035", "fetched_at": "2026-08-29T10:35:50.901196+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/ai-sdk-tools"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 59, "longevity": 25, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 357, "days_push": 251, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 44, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}