diff --git a/environment_tests/test-exports-tsc/package.json b/environment_tests/test-exports-tsc/package.json index 4bc0b224b49a..a65fa39f40f7 100644 --- a/environment_tests/test-exports-tsc/package.json +++ b/environment_tests/test-exports-tsc/package.json @@ -25,5 +25,8 @@ "devDependencies": { "@types/node": "^18.15.11", "prettier": "^2.8.3" + }, + "resolutions": { + "@langchain/core": "0.2.0-rc.0" } } diff --git a/environment_tests/test-exports-vercel/package.json b/environment_tests/test-exports-vercel/package.json index c3adfd63ac3e..b3ff5578e873 100644 --- a/environment_tests/test-exports-vercel/package.json +++ b/environment_tests/test-exports-vercel/package.json @@ -26,5 +26,8 @@ "react": "18.2.0", "react-dom": "18.2.0", "typescript": "^5.0.0" + }, + "resolutions": { + "@langchain/core": "0.2.0-rc.0" } } diff --git a/environment_tests/test-exports-vite/package.json b/environment_tests/test-exports-vite/package.json index 178d95a49ead..32c4879b3840 100644 --- a/environment_tests/test-exports-vite/package.json +++ b/environment_tests/test-exports-vite/package.json @@ -20,5 +20,8 @@ "langchain": "workspace:*", "typescript": "^5.0.0", "vite": "^4.2.0" + }, + "resolutions": { + "@langchain/core": "0.2.0-rc.0" } } diff --git a/libs/create-langchain-integration/template/package.json b/libs/create-langchain-integration/template/package.json index 4387070575c2..a5494a22e6a7 100644 --- a/libs/create-langchain-integration/template/package.json +++ b/libs/create-langchain-integration/template/package.json @@ -38,7 +38,7 @@ "author": "LangChain", "license": "MIT", "dependencies": { - "@langchain/core": "<0.3.0" + "@langchain/core": "<0.3.0 || >0.1.0" }, "devDependencies": { "@jest/globals": "^29.5.0", diff --git a/libs/langchain-anthropic/package.json b/libs/langchain-anthropic/package.json index 210ace8e302e..319e24bd417e 100644 --- a/libs/langchain-anthropic/package.json +++ b/libs/langchain-anthropic/package.json @@ -40,7 +40,7 @@ "license": "MIT", "dependencies": { "@anthropic-ai/sdk": "^0.20.1", - "@langchain/core": "~0.2.0-rc.0", + "@langchain/core": "<0.3.0 || >0.1.0", "fast-xml-parser": "^4.3.5", "zod": "^3.22.4", "zod-to-json-schema": "^3.22.4" diff --git a/libs/langchain-azure-openai/package.json b/libs/langchain-azure-openai/package.json index df5934e890d2..10d16adb1e5d 100644 --- a/libs/langchain-azure-openai/package.json +++ b/libs/langchain-azure-openai/package.json @@ -40,7 +40,7 @@ "dependencies": { "@azure/core-auth": "^1.5.0", "@azure/openai": "1.0.0-beta.11", - "@langchain/core": "~0.2.0-rc.0", + "@langchain/core": "<0.3.0 || >0.1.0", "js-tiktoken": "^1.0.12", "zod": "^3.22.3", "zod-to-json-schema": "3.20.3" diff --git a/libs/langchain-cloudflare/package.json b/libs/langchain-cloudflare/package.json index d7dc591aaf02..a73b9bbf4d11 100644 --- a/libs/langchain-cloudflare/package.json +++ b/libs/langchain-cloudflare/package.json @@ -39,7 +39,7 @@ "license": "MIT", "dependencies": { "@cloudflare/ai": "^1.0.47", - "@langchain/core": "~0.2.0-rc.0", + "@langchain/core": "<0.3.0 || >0.1.0", "uuid": "^9.0.1" }, "devDependencies": { diff --git a/libs/langchain-cohere/package.json b/libs/langchain-cohere/package.json index 37dec1c10db0..38876359a0b4 100644 --- a/libs/langchain-cohere/package.json +++ b/libs/langchain-cohere/package.json @@ -38,7 +38,7 @@ "author": "LangChain", "license": "MIT", "dependencies": { - "@langchain/core": "~0.2.0-rc.0", + "@langchain/core": "<0.3.0 || >0.1.0", "cohere-ai": "^7.9.3" }, "devDependencies": { diff --git a/libs/langchain-community/src/vectorstores/tests/convex/package.json b/libs/langchain-community/src/vectorstores/tests/convex/package.json index 259ab95c610f..121f45301138 100644 --- a/libs/langchain-community/src/vectorstores/tests/convex/package.json +++ b/libs/langchain-community/src/vectorstores/tests/convex/package.json @@ -4,6 +4,6 @@ "type": "module", "dependencies": { "convex": "1.4.1", - "@langchain/core": "~0.2.0-rc.0" + "@langchain/core": "<0.3.0 || >0.1.0" } } diff --git a/libs/langchain-exa/package.json b/libs/langchain-exa/package.json index 0dcb577db4ec..b04cd266491c 100644 --- a/libs/langchain-exa/package.json +++ b/libs/langchain-exa/package.json @@ -39,7 +39,7 @@ "author": "LangChain", "license": "MIT", "dependencies": { - "@langchain/core": "~0.2.0-rc.0", + "@langchain/core": "<0.3.0 || >0.1.0", "exa-js": "^1.0.12" }, "devDependencies": { diff --git a/libs/langchain-google-common/package.json b/libs/langchain-google-common/package.json index 68e42208eb40..764d246e12e7 100644 --- a/libs/langchain-google-common/package.json +++ b/libs/langchain-google-common/package.json @@ -39,7 +39,7 @@ "author": "LangChain", "license": "MIT", "dependencies": { - "@langchain/core": "~0.2.0-rc.0", + "@langchain/core": "<0.3.0 || >0.1.0", "uuid": "^9.0.0", "zod-to-json-schema": "^3.22.4" }, diff --git a/libs/langchain-google-gauth/package.json b/libs/langchain-google-gauth/package.json index 62c6d54baa13..64b115226f23 100644 --- a/libs/langchain-google-gauth/package.json +++ b/libs/langchain-google-gauth/package.json @@ -39,7 +39,7 @@ "author": "LangChain", "license": "MIT", "dependencies": { - "@langchain/core": "~0.2.0-rc.0", + "@langchain/core": "<0.3.0 || >0.1.0", "@langchain/google-common": "~0.0.13", "google-auth-library": "^8.9.0" }, diff --git a/libs/langchain-google-genai/package.json b/libs/langchain-google-genai/package.json index 4e2df7d53eb7..f44ff81d8573 100644 --- a/libs/langchain-google-genai/package.json +++ b/libs/langchain-google-genai/package.json @@ -40,7 +40,7 @@ "license": "MIT", "dependencies": { "@google/generative-ai": "^0.7.0", - "@langchain/core": "~0.2.0-rc.0" + "@langchain/core": "<0.3.0 || >0.1.0" }, "devDependencies": { "@jest/globals": "^29.5.0", diff --git a/libs/langchain-google-vertexai-web/package.json b/libs/langchain-google-vertexai-web/package.json index 068a08277b8d..a0d48e74259b 100644 --- a/libs/langchain-google-vertexai-web/package.json +++ b/libs/langchain-google-vertexai-web/package.json @@ -39,7 +39,7 @@ "author": "LangChain", "license": "MIT", "dependencies": { - "@langchain/core": "~0.2.0-rc.0", + "@langchain/core": "<0.3.0 || >0.1.0", "@langchain/google-webauth": "~0.0.13" }, "devDependencies": { diff --git a/libs/langchain-google-vertexai/package.json b/libs/langchain-google-vertexai/package.json index 47d63f1668a6..596c39210bb3 100644 --- a/libs/langchain-google-vertexai/package.json +++ b/libs/langchain-google-vertexai/package.json @@ -39,7 +39,7 @@ "author": "LangChain", "license": "MIT", "dependencies": { - "@langchain/core": "~0.2.0-rc.0", + "@langchain/core": "<0.3.0 || >0.1.0", "@langchain/google-gauth": "~0.0.14" }, "devDependencies": { diff --git a/libs/langchain-google-webauth/package.json b/libs/langchain-google-webauth/package.json index 42beabea7724..b8b4166192bb 100644 --- a/libs/langchain-google-webauth/package.json +++ b/libs/langchain-google-webauth/package.json @@ -39,7 +39,7 @@ "author": "LangChain", "license": "MIT", "dependencies": { - "@langchain/core": "~0.2.0-rc.0", + "@langchain/core": "<0.3.0 || >0.1.0", "@langchain/google-common": "~0.0.13", "web-auth-library": "^1.0.3" }, diff --git a/libs/langchain-groq/package.json b/libs/langchain-groq/package.json index 7423dc6002d9..ee85bb92a23a 100644 --- a/libs/langchain-groq/package.json +++ b/libs/langchain-groq/package.json @@ -39,7 +39,7 @@ "author": "LangChain", "license": "MIT", "dependencies": { - "@langchain/core": "~0.2.0-rc.0", + "@langchain/core": "<0.3.0 || >0.1.0", "@langchain/openai": "~0.0.28", "groq-sdk": "^0.3.2", "zod": "^3.22.4", diff --git a/libs/langchain-mistralai/package.json b/libs/langchain-mistralai/package.json index fe43ad418ebe..fac59afc321b 100644 --- a/libs/langchain-mistralai/package.json +++ b/libs/langchain-mistralai/package.json @@ -39,7 +39,7 @@ "author": "LangChain", "license": "MIT", "dependencies": { - "@langchain/core": "~0.2.0-rc.0", + "@langchain/core": "<0.3.0 || >0.1.0", "@mistralai/mistralai": "^0.1.3", "uuid": "^9.0.0", "zod": "^3.22.4", diff --git a/libs/langchain-mongodb/package.json b/libs/langchain-mongodb/package.json index eb62773eeed8..4ffebbea0463 100644 --- a/libs/langchain-mongodb/package.json +++ b/libs/langchain-mongodb/package.json @@ -39,7 +39,7 @@ "author": "LangChain", "license": "MIT", "dependencies": { - "@langchain/core": "~0.2.0-rc.0", + "@langchain/core": "<0.3.0 || >0.1.0", "mongodb": "^6.3.0" }, "devDependencies": { diff --git a/libs/langchain-nomic/package.json b/libs/langchain-nomic/package.json index 74d7cdcd0ca9..344b5c2e463a 100644 --- a/libs/langchain-nomic/package.json +++ b/libs/langchain-nomic/package.json @@ -39,7 +39,7 @@ "author": "LangChain", "license": "MIT", "dependencies": { - "@langchain/core": "~0.2.0-rc.0", + "@langchain/core": "<0.3.0 || >0.1.0", "@nomic-ai/atlas": "^0.8.0" }, "devDependencies": { diff --git a/libs/langchain-openai/package.json b/libs/langchain-openai/package.json index 596ba78fb767..246e917ac08b 100644 --- a/libs/langchain-openai/package.json +++ b/libs/langchain-openai/package.json @@ -39,7 +39,7 @@ "author": "LangChain", "license": "MIT", "dependencies": { - "@langchain/core": "~0.2.0-rc.0", + "@langchain/core": "<0.3.0 || >0.1.0", "js-tiktoken": "^1.0.12", "openai": "^4.41.1", "zod": "^3.22.4", diff --git a/libs/langchain-pinecone/package.json b/libs/langchain-pinecone/package.json index ce6f0558bd36..653cadc40d6e 100644 --- a/libs/langchain-pinecone/package.json +++ b/libs/langchain-pinecone/package.json @@ -38,7 +38,7 @@ "author": "Pinecone, Inc", "license": "MIT", "dependencies": { - "@langchain/core": "~0.2.0-rc.0", + "@langchain/core": "<0.3.0 || >0.1.0", "@pinecone-database/pinecone": "^2.2.0", "flat": "^5.0.2", "uuid": "^9.0.0" diff --git a/libs/langchain-qdrant/package.json b/libs/langchain-qdrant/package.json index 8ea63bb70aba..a0929477502c 100644 --- a/libs/langchain-qdrant/package.json +++ b/libs/langchain-qdrant/package.json @@ -38,7 +38,7 @@ "author": "LangChain", "license": "MIT", "dependencies": { - "@langchain/core": "~0.2.0-rc.0", + "@langchain/core": "<0.3.0 || >0.1.0", "@qdrant/js-client-rest": "^1.9.0", "uuid": "^9.0.1" }, diff --git a/libs/langchain-redis/package.json b/libs/langchain-redis/package.json index 338b51f3b720..ec30b49e35ed 100644 --- a/libs/langchain-redis/package.json +++ b/libs/langchain-redis/package.json @@ -38,7 +38,7 @@ "author": "LangChain", "license": "MIT", "dependencies": { - "@langchain/core": "~0.2.0-rc.0", + "@langchain/core": "<0.3.0 || >0.1.0", "redis": "^4.6.13" }, "devDependencies": { diff --git a/libs/langchain-textsplitters/package.json b/libs/langchain-textsplitters/package.json index 1fe3b9c0891f..3894ed3404af 100644 --- a/libs/langchain-textsplitters/package.json +++ b/libs/langchain-textsplitters/package.json @@ -38,7 +38,7 @@ "author": "LangChain", "license": "MIT", "dependencies": { - "@langchain/core": "~0.2.0-rc.0", + "@langchain/core": "<0.3.0 || >0.1.0", "js-tiktoken": "^1.0.12" }, "devDependencies": { diff --git a/libs/langchain-weaviate/package.json b/libs/langchain-weaviate/package.json index 42605e3e177d..b030165cc44f 100644 --- a/libs/langchain-weaviate/package.json +++ b/libs/langchain-weaviate/package.json @@ -39,7 +39,7 @@ "author": "LangChain", "license": "MIT", "dependencies": { - "@langchain/core": "~0.2.0-rc.0", + "@langchain/core": "<0.3.0 || >0.1.0", "uuid": "^9.0.1", "weaviate-ts-client": "^2.0.0" }, diff --git a/libs/langchain-yandex/package.json b/libs/langchain-yandex/package.json index 16ae98e02333..a647b1cbe786 100644 --- a/libs/langchain-yandex/package.json +++ b/libs/langchain-yandex/package.json @@ -39,7 +39,7 @@ "author": "LangChain", "license": "MIT", "dependencies": { - "@langchain/core": "~0.2.0-rc.0" + "@langchain/core": "<0.3.0 || >0.1.0" }, "devDependencies": { "@jest/globals": "^29.5.0", diff --git a/package.json b/package.json index 99a85af9ff03..46a7b1f02a49 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,8 @@ "resolutions": { "dpdm@^3.12.0": "patch:dpdm@npm%3A3.12.0#./.yarn/patches/dpdm-npm-3.12.0-0dfdd8e3b8.patch", "typedoc-plugin-markdown@next": "patch:typedoc-plugin-markdown@npm%3A4.0.0-next.6#./.yarn/patches/typedoc-plugin-markdown-npm-4.0.0-next.6-96b4b47746.patch", - "voy-search@0.6.2": "patch:voy-search@npm%3A0.6.2#./.yarn/patches/voy-search-npm-0.6.2-d4aca30a0e.patch" + "voy-search@0.6.2": "patch:voy-search@npm%3A0.6.2#./.yarn/patches/voy-search-npm-0.6.2-d4aca30a0e.patch", + "@langchain/core": "workspace:*" }, "lint-staged": { "**/*.{ts,tsx}": [ diff --git a/yarn.lock b/yarn.lock index 4dbc4a800665..6159d02232c0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8868,7 +8868,7 @@ __metadata: "@anthropic-ai/sdk": ^0.20.1 "@jest/globals": ^29.5.0 "@langchain/community": "workspace:*" - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/scripts": ~0.0 "@swc/core": ^1.3.90 "@swc/jest": ^0.2.29 @@ -8900,7 +8900,7 @@ __metadata: "@azure/identity": ^4.0.1 "@azure/openai": 1.0.0-beta.11 "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/scripts": ~0.0 "@swc/core": ^1.3.90 "@swc/jest": ^0.2.29 @@ -8931,7 +8931,7 @@ __metadata: "@cloudflare/ai": ^1.0.47 "@cloudflare/workers-types": ^4.20231218.0 "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/scripts": ~0.0 "@swc/core": ^1.3.90 "@swc/jest": ^0.2.29 @@ -8963,7 +8963,7 @@ __metadata: resolution: "@langchain/cohere@workspace:libs/langchain-cohere" dependencies: "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/scripts": ~0.0 "@swc/core": ^1.3.90 "@swc/jest": ^0.2.29 @@ -9506,7 +9506,7 @@ __metadata: languageName: unknown linkType: soft -"@langchain/core@workspace:*, @langchain/core@workspace:langchain-core, @langchain/core@~0.2.0-rc.0": +"@langchain/core@workspace:*, @langchain/core@workspace:langchain-core": version: 0.0.0-use.local resolution: "@langchain/core@workspace:langchain-core" dependencies: @@ -9552,7 +9552,7 @@ __metadata: resolution: "@langchain/exa@workspace:libs/langchain-exa" dependencies: "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/scripts": ~0.0 "@swc/core": ^1.3.90 "@swc/jest": ^0.2.29 @@ -9584,7 +9584,7 @@ __metadata: resolution: "@langchain/google-common@workspace:libs/langchain-google-common" dependencies: "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/scripts": ~0.0 "@swc/core": ^1.3.90 "@swc/jest": ^0.2.29 @@ -9617,7 +9617,7 @@ __metadata: resolution: "@langchain/google-gauth@workspace:libs/langchain-google-gauth" dependencies: "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/google-common": ~0.0.13 "@langchain/scripts": ~0.0 "@swc/core": ^1.3.90 @@ -9651,7 +9651,7 @@ __metadata: dependencies: "@google/generative-ai": ^0.7.0 "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/scripts": ~0.0 "@swc/core": ^1.3.90 "@swc/jest": ^0.2.29 @@ -9682,7 +9682,7 @@ __metadata: resolution: "@langchain/google-vertexai-web@workspace:libs/langchain-google-vertexai-web" dependencies: "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/google-webauth": ~0.0.13 "@langchain/scripts": ~0.0 "@swc/core": ^1.3.90 @@ -9714,7 +9714,7 @@ __metadata: resolution: "@langchain/google-vertexai@workspace:libs/langchain-google-vertexai" dependencies: "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/google-gauth": ~0.0.14 "@langchain/scripts": ~0.0 "@swc/core": ^1.3.90 @@ -9745,7 +9745,7 @@ __metadata: resolution: "@langchain/google-webauth@workspace:libs/langchain-google-webauth" dependencies: "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/google-common": ~0.0.13 "@langchain/scripts": ~0.0 "@swc/core": ^1.3.90 @@ -9777,7 +9777,7 @@ __metadata: resolution: "@langchain/groq@workspace:libs/langchain-groq" dependencies: "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/openai": "workspace:^" "@langchain/scripts": ~0.0 "@swc/core": ^1.3.90 @@ -9813,7 +9813,7 @@ __metadata: resolution: "@langchain/mistralai@workspace:libs/langchain-mistralai" dependencies: "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/scripts": ~0.0 "@mistralai/mistralai": ^0.1.3 "@swc/core": ^1.3.90 @@ -9848,7 +9848,7 @@ __metadata: resolution: "@langchain/mongodb@workspace:libs/langchain-mongodb" dependencies: "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/openai": "workspace:*" "@langchain/scripts": ~0.0 "@swc/core": ^1.3.90 @@ -9882,7 +9882,7 @@ __metadata: resolution: "@langchain/nomic@workspace:libs/langchain-nomic" dependencies: "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/openai": "workspace:^" "@langchain/scripts": ~0.0 "@nomic-ai/atlas": ^0.8.0 @@ -9916,7 +9916,7 @@ __metadata: dependencies: "@azure/identity": ^4.2.0 "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/scripts": ~0.0 "@swc/core": ^1.3.90 "@swc/jest": ^0.2.29 @@ -9947,7 +9947,7 @@ __metadata: dependencies: "@faker-js/faker": ^8.3.1 "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/openai": "workspace:*" "@langchain/scripts": ~0.0 "@pinecone-database/pinecone": ^2.2.0 @@ -9983,7 +9983,7 @@ __metadata: dependencies: "@faker-js/faker": ^8.4.1 "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/scripts": ~0.0 "@qdrant/js-client-rest": ^1.9.0 "@swc/core": ^1.3.90 @@ -10017,7 +10017,7 @@ __metadata: dependencies: "@faker-js/faker": ^8.4.0 "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/scripts": ~0.0 "@swc/core": ^1.3.90 "@swc/jest": ^0.2.29 @@ -10101,7 +10101,7 @@ __metadata: resolution: "@langchain/textsplitters@workspace:libs/langchain-textsplitters" dependencies: "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/scripts": ~0.0 "@swc/core": ^1.3.90 "@swc/jest": ^0.2.29 @@ -10132,7 +10132,7 @@ __metadata: resolution: "@langchain/weaviate@workspace:libs/langchain-weaviate" dependencies: "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/openai": "workspace:^" "@langchain/scripts": ~0.0 "@swc/core": ^1.3.90 @@ -10167,7 +10167,7 @@ __metadata: resolution: "@langchain/yandex@workspace:libs/langchain-yandex" dependencies: "@jest/globals": ^29.5.0 - "@langchain/core": ~0.2.0-rc.0 + "@langchain/core": <0.3.0 || >0.1.0 "@langchain/scripts": ~0.0 "@swc/core": ^1.3.90 "@swc/jest": ^0.2.29