fix(tools): make check-types pass on main

This commit is contained in:
Kulraj 2026-11-01 04:17:37 +05:30 • committed by GitHub
parent d53d124e47
commit 8b9adbd5df
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 103 additions and 73 deletions

View file

@ -232,7 +232,7 @@
"lru-cache": "^11.2.6",
"openai": "^4.104.0",
"supermemory": "^5.0.0",
"zod": "^4.6.6",
"zod": "^3.25.76",
},
"devDependencies": {
"@ai-sdk/anthropic": "^2.0.25",
@ -650,10 +650,6 @@
"@cfworker/json-schema": ["@cfworker/json-schema@4.1.1", "", {}, "sha512-gAmrUZSGtKc3AiBL71iNWxDsyUC5uMaKKGdvzYsBoTW/xi42JQHl7eKV2OYzCUqvc+D2RCcf7EXY2iCyFIk6og=="],
"@cloudflare/ai-chat": ["@cloudflare/ai-chat@0.0.7", "", { "peerDependencies": { "agents": "^0.4.0", "ai": "^6.0.0", "react": "^19.0.0", "zod": "^3.25.0 || ^4.0.0" } }, "sha512-yjRoM8AIFJccgSWvR7LZdf435E63oYXquyh2VpFpXsgYO3okYL1ONTIHG6QBDAnJrMf213/z6Vy47V7Py9slYw=="],
"@cloudflare/codemode": ["@cloudflare/codemode@0.0.7", "", { "dependencies": { "zod-to-ts": "^2.0.0" }, "peerDependencies": { "agents": "^0.4.0", "ai": "^6.0.0", "zod": "^3.25.0 || ^4.0.0" } }, "sha512-hzT8WWMel7CaCtEuFG1jtw1jRb6tBpIqQje5DG/dtAWobFnh+UGplGqSyLFEqD8BLknHYrMT/qxdguR94d03dg=="],
"@cloudflare/kv-asset-handler": ["@cloudflare/kv-asset-handler@0.4.2", "", {}, "sha512-SIOD2DxrRRwQ+jgzlXCqoEFiKOFqaPjhnNTGKXSRLvp1HiOvapLaFG2kEr9dYQTYe8rKrd9uvDUzmAITeNyaHQ=="],
"@cloudflare/unenv-preset": ["@cloudflare/unenv-preset@2.15.0", "", { "peerDependencies": { "unenv": "2.0.0-rc.24", "workerd": "1.20260301.1 || ~1.20260302.1 || ~1.20260303.1 || ~1.20260304.1 || >1.20260305.0 <2.0.0-0" }, "optionalPeers": ["workerd"] }, "sha512-EGYmJaGZKWl+X8tXxcnx4v2bOZSjQeNI5dWFeXivgX9+YCT69AkzHHwlNbVpqtEUTbew8eQurpyOpeN8fg00nw=="],
@ -1638,8 +1634,6 @@
"@types/katex": ["@types/katex@0.16.8", "", {}, "sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg=="],
"@types/lodash": ["@types/lodash@4.17.24", "", {}, "sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ=="],
"@types/mdast": ["@types/mdast@4.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA=="],
"@types/mdx": ["@types/mdx@2.0.14", "", {}, "sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg=="],
@ -2646,8 +2640,6 @@
"json-schema-to-ts": ["json-schema-to-ts@3.1.1", "", { "dependencies": { "@babel/runtime": "^7.18.3", "ts-algebra": "^2.0.0" } }, "sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g=="],
"json-schema-to-typescript": ["json-schema-to-typescript@15.0.4", "", { "dependencies": { "@apidevtools/json-schema-ref-parser": "^11.5.5", "@types/json-schema": "^7.0.15", "@types/lodash": "^4.17.7", "is-glob": "^4.0.3", "js-yaml": "^4.1.0", "lodash": "^4.17.21", "minimist": "^1.2.8", "prettier": "^3.2.5", "tinyglobby": "^0.2.9" }, "bin": { "json2ts": "dist/src/cli.js" } }, "sha512-Su9oK8DR4xCmDsLlyvadkXzX6+GGXJpbhwoLtOGArAG61dvbW4YQmSEno2y66ahpIdmLMg6YUf/QHLgiwvkrHQ=="],
"json-schema-to-zod": ["json-schema-to-zod@2.7.0", "", { "bin": { "json-schema-to-zod": "dist/cjs/cli.js" } }, "sha512-eW59l3NQ6sa3HcB+Ahf7pP6iGU7MY4we5JsPqXQ2ZcIPF8QxSg/lkY8lN0Js/AG0NjMbk+nZGUfHlceiHF+bwQ=="],
"json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="],
@ -3832,8 +3824,6 @@
"zod-to-json-schema": ["zod-to-json-schema@3.25.1", "", { "peerDependencies": { "zod": "^3.25 || ^4" } }, "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA=="],
"zod-to-ts": ["zod-to-ts@2.0.0", "", { "peerDependencies": { "typescript": "^5.0.0", "zod": "^3.25.0 || ^4.0.0" } }, "sha512-aHsUgIl+CQutKAxtRNeZslLCLXoeuSq+j5HU7q3kvi/c2KIAo6q4YjT7/lwFfACxLB923ELHYMkHmlxiqFy4lw=="],
"zwitch": ["zwitch@2.0.4", "", {}, "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A=="],
"@a2a-js/sdk/express": ["express@4.22.1", "", { "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "~1.20.3", "content-disposition": "~0.5.4", "content-type": "~1.0.4", "cookie": "~0.7.1", "cookie-signature": "~1.0.6", "debug": "2.6.9", "depd": "2.0.0", "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", "finalhandler": "~1.3.1", "fresh": "~0.5.2", "http-errors": "~2.0.0", "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "~2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "~0.1.12", "proxy-addr": "~2.0.7", "qs": "~6.14.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "~0.19.0", "serve-static": "~1.16.2", "setprototypeof": "1.2.0", "statuses": "~2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" } }, "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g=="],
@ -3986,10 +3976,6 @@
"@better-auth/core/zod": ["zod@4.6.7", "", {}, "sha512-g8W2D2kU6a8untc053fX1uVBKzM7yqAxW/3zwk83+6RyF2+SKOuV+c0wBDhUwzV1PaGapmZH+rmcUzPf+3CGwg=="],
"@cloudflare/ai-chat/agents": ["agents@0.4.1", "", { "dependencies": { "@cfworker/json-schema": "^4.1.1", "@modelcontextprotocol/sdk": "1.26.0", "cron-schedule": "^6.0.0", "escape-html": "^1.0.3", "json-schema": "^0.4.0", "json-schema-to-typescript": "^15.0.4", "mimetext": "^3.0.28", "nanoid": "^5.1.6", "partyserver": "^0.1.4", "partysocket": "1.1.13", "yargs": "^18.0.0" }, "peerDependencies": { "@ai-sdk/openai": "^3.0.0", "@ai-sdk/react": "^3.0.0", "@cloudflare/ai-chat": "^0.0.8", "@cloudflare/codemode": "^0.0.7", "@x402/core": "^2.0.0", "@x402/evm": "^2.0.0", "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "zod": "^3.25.0 || ^4.0.0" }, "optionalPeers": ["@ai-sdk/openai", "@ai-sdk/react", "@x402/core", "@x402/evm", "viem"], "bin": { "agents": "dist/cli/index.js" } }, "sha512-1ARZ5AXpPEn1+Wv/Dt++nH3iLStDxlci7Bm47sfE6qLlJpY9oG5nzyH2TRKwFFt9bMAgYz177i6p2NiEd/coVQ=="],
"@cloudflare/codemode/agents": ["agents@0.4.1", "", { "dependencies": { "@cfworker/json-schema": "^4.1.1", "@modelcontextprotocol/sdk": "1.26.0", "cron-schedule": "^6.0.0", "escape-html": "^1.0.3", "json-schema": "^0.4.0", "json-schema-to-typescript": "^15.0.4", "mimetext": "^3.0.28", "nanoid": "^5.1.6", "partyserver": "^0.1.4", "partysocket": "1.1.13", "yargs": "^18.0.0" }, "peerDependencies": { "@ai-sdk/openai": "^3.0.0", "@ai-sdk/react": "^3.0.0", "@cloudflare/ai-chat": "^0.0.8", "@cloudflare/codemode": "^0.0.7", "@x402/core": "^2.0.0", "@x402/evm": "^2.0.0", "ai": "^6.0.0", "react": "^19.0.0", "viem": ">=2.0.0", "zod": "^3.25.0 || ^4.0.0" }, "optionalPeers": ["@ai-sdk/openai", "@ai-sdk/react", "@x402/core", "@x402/evm", "viem"], "bin": { "agents": "dist/cli/index.js" } }, "sha512-1ARZ5AXpPEn1+Wv/Dt++nH3iLStDxlci7Bm47sfE6qLlJpY9oG5nzyH2TRKwFFt9bMAgYz177i6p2NiEd/coVQ=="],
"@dotenvx/dotenvx/commander": ["commander@11.1.0", "", {}, "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ=="],
"@dotenvx/dotenvx/execa": ["execa@5.1.1", "", { "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", "human-signals": "^2.1.0", "is-stream": "^2.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^4.0.1", "onetime": "^5.1.2", "signal-exit": "^3.0.3", "strip-final-newline": "^2.0.0" } }, "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg=="],
@ -4004,7 +3990,7 @@
"@esbuild-kit/core-utils/esbuild": ["esbuild@0.18.20", "", { "optionalDependencies": { "@esbuild/android-arm": "0.18.20", "@esbuild/android-arm64": "0.18.20", "@esbuild/android-x64": "0.18.20", "@esbuild/darwin-arm64": "0.18.20", "@esbuild/darwin-x64": "0.18.20", "@esbuild/freebsd-arm64": "0.18.20", "@esbuild/freebsd-x64": "0.18.20", "@esbuild/linux-arm": "0.18.20", "@esbuild/linux-arm64": "0.18.20", "@esbuild/linux-ia32": "0.18.20", "@esbuild/linux-loong64": "0.18.20", "@esbuild/linux-mips64el": "0.18.20", "@esbuild/linux-ppc64": "0.18.20", "@esbuild/linux-riscv64": "0.18.20", "@esbuild/linux-s390x": "0.18.20", "@esbuild/linux-x64": "0.18.20", "@esbuild/netbsd-x64": "0.18.20", "@esbuild/openbsd-x64": "0.18.20", "@esbuild/sunos-x64": "0.18.20", "@esbuild/win32-arm64": "0.18.20", "@esbuild/win32-ia32": "0.18.20", "@esbuild/win32-x64": "0.18.20" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA=="],
"@gitlab/gitlab-ai-provider/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@4.0.21", "", { "dependencies": { "@ai-sdk/provider": "3.0.8", "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-MtFUYI1/8mgDvRmaBDjbLJPFFrMG777AvSgyIFQtZHIMzm88R/12vYBBpnk7pfiWLFE1DSZzY4WDYzGbKAcmiw=="],
"@gitlab/gitlab-ai-provider/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@5.0.53", "", { "dependencies": { "@ai-sdk/provider": "4.0.21", "@standard-schema/spec": "^1.1.0", "@workflow/serde": "4.1.0", "eventsource-parser": "^3.0.8", "undici": "^7.29.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-VVe6UDd0y0/B4TfauuKKzcppqvhTmSluwwUVT4WG2/8h7gFbyFm7PM4UGM+ZXe3/RI6bv+Vl1cw/7aiBoQqdxg=="],
"@gitlab/gitlab-ai-provider/@anthropic-ai/sdk": ["@anthropic-ai/sdk@0.71.2", "", { "dependencies": { "json-schema-to-ts": "^3.1.1" }, "peerDependencies": { "zod": "^3.25.0 || ^4.0.0" }, "optionalPeers": ["zod"], "bin": { "anthropic-ai-sdk": "bin/cli" } }, "sha512-TGNDEUuEstk/DKu0/TflXAEt+p+p/WhTlFzEnoosvbaDU2LTjm42igSdlL0VijrKpWejtOKxX0b8A7uc+XiSAQ=="],
@ -4270,8 +4256,6 @@
"@supermemory/tools/typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
"@supermemory/tools/zod": ["zod@4.6.7", "", {}, "sha512-g8W2D2kU6a8untc053fX1uVBKzM7yqAxW/3zwk83+6RyF2+SKOuV+c0wBDhUwzV1PaGapmZH+rmcUzPf+3CGwg=="],
"@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.8.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" }, "bundled": true }, "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg=="],
"@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.8.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg=="],
@ -4310,7 +4294,7 @@
"@voltagent/core/@ai-sdk/openai-compatible": ["@ai-sdk/openai-compatible@2.0.35", "", { "dependencies": { "@ai-sdk/provider": "3.0.8", "@ai-sdk/provider-utils": "4.0.19" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-g3wA57IAQFb+3j4YuFndgkUdXyRETZVvbfAWM+UX7bZSxA3xjes0v3XKgIdKdekPtDGsh4ZX2byHD0gJIMPfiA=="],
"@voltagent/core/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@4.0.21", "", { "dependencies": { "@ai-sdk/provider": "3.0.8", "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-MtFUYI1/8mgDvRmaBDjbLJPFFrMG777AvSgyIFQtZHIMzm88R/12vYBBpnk7pfiWLFE1DSZzY4WDYzGbKAcmiw=="],
"@voltagent/core/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@4.0.23", "", { "dependencies": { "@ai-sdk/provider": "3.0.8", "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-z8GlDaCmRSDlqkMF2f4/RFgWxdarvIbyuk+m6WXT1LYgsnGiXRJGTD2Z1+SDl3LqtFuRtGX1aghYvQLoHL/9pg=="],
"@voltagent/core/@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.27.1", "", { "dependencies": { "@hono/node-server": "^1.19.9", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.2.1", "express-rate-limit": "^8.2.1", "hono": "^4.11.4", "jose": "^6.1.3", "json-schema-typed": "^8.0.2", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.25 || ^4.0", "zod-to-json-schema": "^3.25.1" }, "peerDependencies": { "@cfworker/json-schema": "^4.1.1" }, "optionalPeers": ["@cfworker/json-schema"] }, "sha512-sr6GbP+4edBwFndLbM60gf07z0FQ79gaExpnsjMGePXqFcSSb7t6iscpjk9DhFhwd+mTEQrzNafGP8/iGGFYaA=="],
@ -4734,22 +4718,6 @@
"@base-ui/react/@floating-ui/react-dom/@floating-ui/dom": ["@floating-ui/dom@1.8.0", "", { "dependencies": { "@floating-ui/core": "^1.8.0", "@floating-ui/utils": "^0.2.12" } }, "sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg=="],
"@cloudflare/ai-chat/agents/@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.26.0", "", { "dependencies": { "@hono/node-server": "^1.19.9", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.2.1", "express-rate-limit": "^8.2.1", "hono": "^4.11.4", "jose": "^6.1.3", "json-schema-typed": "^8.0.2", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.25 || ^4.0", "zod-to-json-schema": "^3.25.1" }, "peerDependencies": { "@cfworker/json-schema": "^4.1.1" }, "optionalPeers": ["@cfworker/json-schema"] }, "sha512-Y5RmPncpiDtTXDbLKswIJzTqu2hyBKxTNsgKqKclDbhIgg1wgtf1fRuvxgTnRfcnxtvvgbIEcqUOzZrJ6iSReg=="],
"@cloudflare/ai-chat/agents/nanoid": ["nanoid@5.1.6", "", { "bin": { "nanoid": "bin/nanoid.js" } }, "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg=="],
"@cloudflare/ai-chat/agents/partyserver": ["partyserver@0.1.5", "", { "dependencies": { "nanoid": "^5.1.6" }, "peerDependencies": { "@cloudflare/workers-types": "^4.20240729.0" } }, "sha512-kaE3GYaYWFc70EJQDQEhyYbO2Wczz/NgsFXerfjRo0t2s7ZxL1XggWT+HkMrdEyqbZOv3b66CV93WG0Lcg/ThQ=="],
"@cloudflare/ai-chat/agents/partysocket": ["partysocket@1.1.13", "", { "dependencies": { "event-target-polyfill": "^0.0.4" } }, "sha512-RNXGzc6j0NISGE84+VTHHtbPwmnzZuOYJm9XZ+en+aZlIA2vC4AfwPlYxAHmGGGko3pQF7xRNhoe7bu1Brej4Q=="],
"@cloudflare/codemode/agents/@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.26.0", "", { "dependencies": { "@hono/node-server": "^1.19.9", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.2.1", "express-rate-limit": "^8.2.1", "hono": "^4.11.4", "jose": "^6.1.3", "json-schema-typed": "^8.0.2", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.25 || ^4.0", "zod-to-json-schema": "^3.25.1" }, "peerDependencies": { "@cfworker/json-schema": "^4.1.1" }, "optionalPeers": ["@cfworker/json-schema"] }, "sha512-Y5RmPncpiDtTXDbLKswIJzTqu2hyBKxTNsgKqKclDbhIgg1wgtf1fRuvxgTnRfcnxtvvgbIEcqUOzZrJ6iSReg=="],
"@cloudflare/codemode/agents/nanoid": ["nanoid@5.1.6", "", { "bin": { "nanoid": "bin/nanoid.js" } }, "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg=="],
"@cloudflare/codemode/agents/partyserver": ["partyserver@0.1.5", "", { "dependencies": { "nanoid": "^5.1.6" }, "peerDependencies": { "@cloudflare/workers-types": "^4.20240729.0" } }, "sha512-kaE3GYaYWFc70EJQDQEhyYbO2Wczz/NgsFXerfjRo0t2s7ZxL1XggWT+HkMrdEyqbZOv3b66CV93WG0Lcg/ThQ=="],
"@cloudflare/codemode/agents/partysocket": ["partysocket@1.1.13", "", { "dependencies": { "event-target-polyfill": "^0.0.4" } }, "sha512-RNXGzc6j0NISGE84+VTHHtbPwmnzZuOYJm9XZ+en+aZlIA2vC4AfwPlYxAHmGGGko3pQF7xRNhoe7bu1Brej4Q=="],
"@dotenvx/dotenvx/execa/get-stream": ["get-stream@6.0.1", "", {}, "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="],
"@dotenvx/dotenvx/execa/human-signals": ["human-signals@2.1.0", "", {}, "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="],
@ -4808,6 +4776,10 @@
"@esbuild-kit/core-utils/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.18.20", "", { "os": "win32", "cpu": "x64" }, "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ=="],
"@gitlab/gitlab-ai-provider/@ai-sdk/provider-utils/@ai-sdk/provider": ["@ai-sdk/provider@4.0.21", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-UpbC9C1oht8dhfKPbVXSLRZS3DI8uk8n5v2uMjBPNIYGsC2kL045ywq7D8Hh9KgnH9rP5W/GxQdYtWScRouqlA=="],
"@gitlab/gitlab-ai-provider/@ai-sdk/provider-utils/eventsource-parser": ["eventsource-parser@3.1.1", "", {}, "sha512-EKN1vKAMcZ8MlYMpaNuxN6R9yakzH6uajHcHVTqWJzvu5pWw9DyhbP35HH8MVBQ+dZjAfDxk+A8NiR9KWaXiyQ=="],
"@inquirer/core/wrap-ansi/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="],
"@inquirer/core/wrap-ansi/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
@ -5006,10 +4978,14 @@
"@voltagent/core/@ai-sdk/cerebras/@ai-sdk/openai-compatible": ["@ai-sdk/openai-compatible@2.0.37", "", { "dependencies": { "@ai-sdk/provider": "3.0.8", "@ai-sdk/provider-utils": "4.0.21" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-+POSFVcgiu47BK64dhsI6OpcDC0/VAE2ZSaXdXGNNhpC/ava++uSRJYks0k2bpfY0wwCTgpAWZsXn/dG2Yppiw=="],
"@voltagent/core/@ai-sdk/cerebras/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@4.0.21", "", { "dependencies": { "@ai-sdk/provider": "3.0.8", "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-MtFUYI1/8mgDvRmaBDjbLJPFFrMG777AvSgyIFQtZHIMzm88R/12vYBBpnk7pfiWLFE1DSZzY4WDYzGbKAcmiw=="],
"@voltagent/core/@ai-sdk/gateway/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@4.0.19", "", { "dependencies": { "@ai-sdk/provider": "3.0.8", "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-3eG55CrSWCu2SXlqq2QCsFjo3+E7+Gmg7i/oRVoSZzIodTuDSfLb3MRje67xE9RFea73Zao7Lm4mADIfUETKGg=="],
"@voltagent/core/@ai-sdk/google/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@4.0.19", "", { "dependencies": { "@ai-sdk/provider": "3.0.8", "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-3eG55CrSWCu2SXlqq2QCsFjo3+E7+Gmg7i/oRVoSZzIodTuDSfLb3MRje67xE9RFea73Zao7Lm4mADIfUETKGg=="],
"@voltagent/core/@ai-sdk/groq/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@4.0.21", "", { "dependencies": { "@ai-sdk/provider": "3.0.8", "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-MtFUYI1/8mgDvRmaBDjbLJPFFrMG777AvSgyIFQtZHIMzm88R/12vYBBpnk7pfiWLFE1DSZzY4WDYzGbKAcmiw=="],
"@voltagent/core/@ai-sdk/openai/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@4.0.19", "", { "dependencies": { "@ai-sdk/provider": "3.0.8", "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-3eG55CrSWCu2SXlqq2QCsFjo3+E7+Gmg7i/oRVoSZzIodTuDSfLb3MRje67xE9RFea73Zao7Lm4mADIfUETKGg=="],
"@voltagent/core/@ai-sdk/openai-compatible/@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@4.0.19", "", { "dependencies": { "@ai-sdk/provider": "3.0.8", "@standard-schema/spec": "^1.1.0", "eventsource-parser": "^3.0.6" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-3eG55CrSWCu2SXlqq2QCsFjo3+E7+Gmg7i/oRVoSZzIodTuDSfLb3MRje67xE9RFea73Zao7Lm4mADIfUETKGg=="],
@ -5422,14 +5398,6 @@
"@base-ui/react/@floating-ui/react-dom/@floating-ui/dom/@floating-ui/core": ["@floating-ui/core@1.8.0", "", { "dependencies": { "@floating-ui/utils": "^0.2.12" } }, "sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ=="],
"@cloudflare/ai-chat/agents/@modelcontextprotocol/sdk/jose": ["jose@6.2.0", "", {}, "sha512-xsfE1TcSCbUdo6U07tR0mvhg0flGxU8tPLbF03mirl2ukGQENhUg4ubGYQnhVH0b5stLlPM+WOqDkEl1R1y5sQ=="],
"@cloudflare/ai-chat/agents/@modelcontextprotocol/sdk/zod": ["zod@4.6.7", "", {}, "sha512-g8W2D2kU6a8untc053fX1uVBKzM7yqAxW/3zwk83+6RyF2+SKOuV+c0wBDhUwzV1PaGapmZH+rmcUzPf+3CGwg=="],
"@cloudflare/codemode/agents/@modelcontextprotocol/sdk/jose": ["jose@6.2.0", "", {}, "sha512-xsfE1TcSCbUdo6U07tR0mvhg0flGxU8tPLbF03mirl2ukGQENhUg4ubGYQnhVH0b5stLlPM+WOqDkEl1R1y5sQ=="],
"@cloudflare/codemode/agents/@modelcontextprotocol/sdk/zod": ["zod@4.6.7", "", {}, "sha512-g8W2D2kU6a8untc053fX1uVBKzM7yqAxW/3zwk83+6RyF2+SKOuV+c0wBDhUwzV1PaGapmZH+rmcUzPf+3CGwg=="],
"@inquirer/core/wrap-ansi/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
"@inquirer/core/wrap-ansi/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],

View file

@ -1,3 +1,4 @@
{
"name": "@supermemory/tools",
"type": "module",
@ -16,7 +17,7 @@
"lru-cache": "^11.2.6",
"openai": "^4.104.0",
"supermemory": "^5.0.0",
"zod": "^4.6.6"
"zod": "^3.25.76"
},
"devDependencies": {
"@ai-sdk/anthropic": "^2.0.25",

View file

@ -1,5 +1,5 @@
import { tool } from "ai"
import { z } from "zod"
import { z } from "zod/v4"
import {
DEFAULT_VALUES,
PARAMETER_DESCRIPTIONS,

View file

@ -8,8 +8,8 @@ import type { MemoryMode } from "./types"
const escapeKeySegment = (segment: string): string =>
segment.replace(/%/g, "%25").replace(/:/g, "%3A")
export class MemoryCache<T = string> {
private cache: LRUCache<string, T> = new LRUCache({ max: 100 })
export class MemoryCache<T extends {} = string> {
private cache: LRUCache<string, T> = new LRUCache<string, T>({ max: 100 })
/**
* Generates a cache key for the current turn based on context parameters.

View file

@ -10,7 +10,9 @@ const openai = new OpenAI({
})
// Wrap OpenAI client with supermemory
const openaiWithSupermemory = withSupermemory(openai, "test_user_123", {
const openaiWithSupermemory = withSupermemory(openai, {
namespace: "test_user_123", // Memory namespace (e.g. user ID)
id: "demo-conversation", // Groups messages into a single document
verbose: true, // Enable logging to see what's happening
mode: "full", // Search both profile and query memories
addMemory: "always", // Auto-save conversations as memories

View file

@ -5,7 +5,10 @@
*/
import Anthropic from "@anthropic-ai/sdk"
import { createClaudeMemoryTool } from "./claude-memory"
import {
createClaudeMemoryTool,
type MemoryCommand,
} from "../src/claude-memory"
import "dotenv/config"
/**
@ -44,7 +47,7 @@ async function chatWithMemoryTool() {
},
]
console.log("💬 User:", messages[0].content)
console.log("💬 User:", messages[0]?.content)
console.log("\n🔄 Sending to Claude with memory tool...")
try {
@ -71,9 +74,10 @@ async function chatWithMemoryTool() {
if (block.type === "text") {
console.log("💭", block.text)
} else if (block.type === "tool_use" && block.name === "memory") {
const input = block.input as { command?: unknown; path?: unknown }
console.log("🔧 Claude is using memory tool:")
console.log(" Command:", block.input.command)
console.log(" Path:", block.input.path)
console.log(" Command:", input.command)
console.log(" Path:", input.path)
// Handle the memory tool call
const memoryResult = await memoryTool.handleCommand(block.input as any)
@ -109,7 +113,8 @@ async function chatWithMemoryTool() {
// Add Claude's response to conversation
messages.push({
role: "assistant",
content: response.content,
content:
response.content as unknown as Anthropic.Messages.ContentBlockParam[],
})
// Add tool results
@ -137,9 +142,10 @@ async function chatWithMemoryTool() {
if (block.type === "text") {
console.log("💭", block.text)
} else if (block.type === "tool_use" && block.name === "memory") {
const input = block.input as { command?: unknown; path?: unknown }
console.log("🔧 Claude is using memory tool again:")
console.log(" Command:", block.input.command)
console.log(" Path:", block.input.path)
console.log(" Command:", input.command)
console.log(" Path:", input.path)
// Handle additional memory tool calls
const memoryResult = await memoryTool.handleCommand(
@ -179,7 +185,7 @@ async function testMemoryOperations() {
namespace: "direct-test",
})
const testCases = [
const testCases: { name: string; command: MemoryCommand }[] = [
{
name: "View empty memory directory",
command: { command: "view" as const, path: "/memories" },

View file

@ -6,7 +6,10 @@
* 2. Anthropic SDK integration
*/
import { createClaudeMemoryTool, type MemoryCommand } from "./claude-memory"
import {
createClaudeMemoryTool,
type MemoryCommand,
} from "../src/claude-memory"
// =====================================================
// Example 1: Direct TypeScript/fetch Integration
@ -66,8 +69,7 @@ export async function directFetchExample() {
]
// Execute each command
for (let i = 0; i < commands.length; i++) {
const command = commands[i]
for (const [i, command] of commands.entries()) {
console.log(
`\n📝 Step ${i + 1}: ${command.command.toUpperCase()} ${command.path}`,
)

View file

@ -4,7 +4,10 @@
* This shows actual tool call handling based on real Claude API responses
*/
import { createClaudeMemoryTool, type MemoryCommand } from "./claude-memory"
import {
createClaudeMemoryTool,
type MemoryCommand,
} from "../src/claude-memory"
// =====================================================
// Real Claude API Integration

View file

@ -1,5 +1,8 @@
import { describe, it, expect, beforeEach } from "vitest"
import { createClaudeMemoryTool, type MemoryCommand } from "./claude-memory"
import {
createClaudeMemoryTool,
type MemoryCommand,
} from "../src/claude-memory"
import "dotenv/config"
// Test configuration

View file

@ -121,6 +121,7 @@ describe.skipIf(!shouldRunIntegration)(
messageList,
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processInput(args)
@ -153,6 +154,7 @@ describe.skipIf(!shouldRunIntegration)(
messageList,
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processInput(args)
@ -191,6 +193,7 @@ describe.skipIf(!shouldRunIntegration)(
messageList,
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processInput(args)
@ -232,6 +235,7 @@ describe.skipIf(!shouldRunIntegration)(
messageList: createIntegrationMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processInput(args1)
@ -245,6 +249,7 @@ describe.skipIf(!shouldRunIntegration)(
messageList: createIntegrationMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processInput(args2)
@ -279,6 +284,7 @@ describe.skipIf(!shouldRunIntegration)(
messageList,
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processInput(args)
@ -310,6 +316,7 @@ describe.skipIf(!shouldRunIntegration)(
messageList: createIntegrationMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processOutputResult(args)
@ -342,6 +349,7 @@ describe.skipIf(!shouldRunIntegration)(
messageList: createIntegrationMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processOutputResult(args)
@ -378,6 +386,7 @@ describe.skipIf(!shouldRunIntegration)(
messageList: createIntegrationMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
requestContext,
}
@ -411,6 +420,7 @@ describe.skipIf(!shouldRunIntegration)(
messageList,
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await input.processInput(inputArgs)
@ -424,6 +434,7 @@ describe.skipIf(!shouldRunIntegration)(
messageList: createIntegrationMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await output.processOutputResult(outputArgs)
@ -464,6 +475,7 @@ describe.skipIf(!shouldRunIntegration)(
messageList,
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await inputProcessor.processInput(args)
@ -528,6 +540,7 @@ describe.skipIf(!shouldRunIntegration)(
messageList,
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processInput(args)
@ -552,6 +565,7 @@ describe.skipIf(!shouldRunIntegration)(
messageList: createIntegrationMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processInput(args)
@ -585,6 +599,7 @@ describe.skipIf(!shouldRunIntegration)(
messageList,
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
const result = await processor.processInput(args)
@ -609,6 +624,7 @@ describe.skipIf(!shouldRunIntegration)(
messageList: createIntegrationMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await expect(processor.processOutputResult(args)).resolves.toBeDefined()

View file

@ -180,6 +180,7 @@ describe("SupermemoryInputProcessor", () => {
messageList,
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processInput(args)
@ -214,6 +215,7 @@ describe("SupermemoryInputProcessor", () => {
messageList: createMockMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processInput(args1)
@ -225,6 +227,7 @@ describe("SupermemoryInputProcessor", () => {
messageList: createMockMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processInput(args2)
@ -255,6 +258,7 @@ describe("SupermemoryInputProcessor", () => {
messageList: createMockMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processInput(args1)
@ -266,6 +270,7 @@ describe("SupermemoryInputProcessor", () => {
messageList: createMockMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processInput(args2)
@ -287,6 +292,7 @@ describe("SupermemoryInputProcessor", () => {
messageList,
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
const result = await processor.processInput(args)
@ -313,6 +319,7 @@ describe("SupermemoryInputProcessor", () => {
messageList,
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
const result = await processor.processInput(args)
@ -339,6 +346,7 @@ describe("SupermemoryInputProcessor", () => {
messageList: createMockMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processInput(args)
@ -367,6 +375,7 @@ describe("SupermemoryInputProcessor", () => {
messageList: createMockMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
requestContext,
}
@ -409,6 +418,7 @@ describe("SupermemoryInputProcessor", () => {
messageList,
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processInput(args)
@ -475,6 +485,7 @@ describe("SupermemoryOutputProcessor", () => {
messageList: createMockMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processOutputResult(args)
@ -509,6 +520,7 @@ describe("SupermemoryOutputProcessor", () => {
messageList: createMockMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processOutputResult(args)
@ -536,6 +548,7 @@ describe("SupermemoryOutputProcessor", () => {
messageList: createMockMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processOutputResult(args)
@ -568,6 +581,7 @@ describe("SupermemoryOutputProcessor", () => {
messageList: createMockMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
requestContext,
}
@ -599,6 +613,7 @@ describe("SupermemoryOutputProcessor", () => {
messageList: createMockMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processOutputResult(args)
@ -632,6 +647,7 @@ describe("SupermemoryOutputProcessor", () => {
messageList: createMockMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processOutputResult(args)
@ -682,6 +698,7 @@ describe("SupermemoryOutputProcessor", () => {
messageList: createMockMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processOutputResult(args)
@ -708,6 +725,7 @@ describe("SupermemoryOutputProcessor", () => {
messageList: createMockMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
// Should not throw
@ -727,6 +745,7 @@ describe("SupermemoryOutputProcessor", () => {
messageList: createMockMessageList(),
abort: vi.fn() as never,
retryCount: 0,
state: {},
}
await processor.processOutputResult(args)

View file

@ -21,7 +21,7 @@ describe("OpenAI middleware memory context", () => {
"fetch",
vi.fn(async () => jsonResponse(profileBody(["Fresh profile fact"]))),
)
const originalCreate = vi.fn(() =>
const originalCreate = vi.fn((..._args: unknown[]) =>
Object.assign(Promise.resolve({ choices: [] }), {
asResponse: async () => new Response(),
}),
@ -48,8 +48,11 @@ describe("OpenAI middleware memory context", () => {
],
})
const forwarded = originalCreate.mock.calls[0]?.[0]
const content = String(forwarded.messages[0].content)
const forwarded = originalCreate.mock.calls[0]?.[0] as
| { messages: { content: unknown }[] }
| undefined
if (!forwarded) throw new Error("expected create to be called")
const content = String(forwarded.messages[0]?.content)
expect(content).toContain("Be helpful.")
expect(content).toContain("Fresh profile fact")
expect(content).not.toContain("Stale profile fact")

View file

@ -4,7 +4,10 @@
* Run with: bun run src/test-memory-tool.ts
*/
import { createClaudeMemoryTool, type MemoryCommand } from "./claude-memory"
import {
createClaudeMemoryTool,
type MemoryCommand,
} from "../src/claude-memory"
import "dotenv/config"
async function testMemoryTool() {
@ -139,9 +142,8 @@ async function testMemoryTool() {
let passed = 0
let failed = 0
for (let i = 0; i < testCases.length; i++) {
const testCase = testCases[i]
console.log(`\\n🔄 Test ${i + 1}/${testCases.length}: ${testCase.name}`)
for (const [i, testCase] of testCases.entries()) {
console.log(`\\n🔄 Test ${i + 1}/${testCases.length}: ${testCase?.name}`)
try {
const result = await memoryTool.handleCommand(testCase.command)

View file

@ -31,10 +31,13 @@ describe("VoltAgent memory context", () => {
parts: [],
},
],
} as Parameters<NonNullable<typeof hooks.onPrepareMessages>>[0]
} as unknown as Parameters<NonNullable<typeof hooks.onPrepareMessages>>[0]
const result = await hooks.onPrepareMessages?.(args)
const content = String(result?.messages?.[0]?.content ?? "")
const first = result?.messages?.[0] as unknown as
| { content?: unknown }
| undefined
const content = String(first?.content ?? "")
expect(content).toContain("Be helpful.")
expect(content).toContain("Fresh profile fact")
expect(content).not.toContain("Stale profile fact")

View file

@ -532,8 +532,8 @@ describe("Unit: withSupermemory", () => {
usage: {
inputTokens: 1,
outputTokens: 1,
totalTokens: 2,
},
rawCall: { rawPrompt: [], rawSettings: {} },
warnings: [],
})
@ -592,8 +592,8 @@ describe("Unit: withSupermemory", () => {
usage: {
inputTokens: 1,
outputTokens: 1,
totalTokens: 2,
},
rawCall: { rawPrompt: [], rawSettings: {} },
warnings: [],
})

View file

@ -1,3 +1,4 @@
{
"extends": "@total-typescript/tsconfig/bundler/dom/library-monorepo",
"compilerOptions": {
@ -8,5 +9,6 @@
},
"declaration": true,
"declarationMap": true
}
},
"exclude": ["node_modules", "dist", "test/chatapp"]
}