From ca60d37b729bf68522246094c9859a0195764d72 Mon Sep 17 00:00:00 2001 From: ponderingdemocritus Date: Mon, 18 Nov 2024 16:07:24 +1100 Subject: [PATCH 1/3] pnpm --- pnpm-lock.yaml | 103 ++++++++++++++++++++++++------------------------- 1 file changed, 51 insertions(+), 52 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ba854272f65..cf8618fcfa6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -141,7 +141,7 @@ importers: version: 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(prop-types@15.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/preset-classic': specifier: ^3.6.0 - version: 3.6.1(@algolia/client-search@5.14.2)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)(typescript@5.6.3)(utf-8-validate@5.0.10) + version: 3.6.1(@algolia/client-search@5.14.2)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.3)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/theme-mermaid': specifier: ^3.6.0 version: 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) @@ -609,7 +609,7 @@ importers: version: 2.79.2 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.0)(jest@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)))(typescript@5.6.3) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)))(typescript@5.6.3) ts-node: specifier: 10.9.2 version: 10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3) @@ -3565,17 +3565,17 @@ packages: '@selderee/plugin-htmlparser2@0.11.0': resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==} - '@shikijs/core@1.23.0': - resolution: {integrity: sha512-J4Fo22oBlfRHAXec+1AEzcowv+Qdf4ZQkuP/X/UHYH9+KA9LvyFXSXyS+HxuBRFfon+u7bsmKdRBjoZlbDVRkQ==} + '@shikijs/core@1.23.1': + resolution: {integrity: sha512-NuOVgwcHgVC6jBVH5V7iblziw6iQbWWHrj5IlZI3Fqu2yx9awH7OIQkXIcsHsUmY19ckwSgUMgrqExEyP5A0TA==} - '@shikijs/engine-javascript@1.23.0': - resolution: {integrity: sha512-CcrppseWShG+8Efp1iil9divltuXVdCaU4iu+CKvzTGZO5RmXyAiSx668M7VbX8+s/vt1ZKu75Vn/jWi8O3G/Q==} + '@shikijs/engine-javascript@1.23.1': + resolution: {integrity: sha512-i/LdEwT5k3FVu07SiApRFwRcSJs5QM9+tod5vYCPig1Ywi8GR30zcujbxGQFJHwYD7A5BUqagi8o5KS+LEVgBg==} - '@shikijs/engine-oniguruma@1.23.0': - resolution: {integrity: sha512-gS8bZLqVvmZXX+E5JUMJICsBp+kx6gj79MH/UEpKHKIqnUzppgbmEn6zLa6mB5D+sHse2gFei3YYJxQe1EzZXQ==} + '@shikijs/engine-oniguruma@1.23.1': + resolution: {integrity: sha512-KQ+lgeJJ5m2ISbUZudLR1qHeH3MnSs2mjFg7bnencgs5jDVPeJ2NVDJ3N5ZHbcTsOIh0qIueyAJnwg7lg7kwXQ==} - '@shikijs/types@1.23.0': - resolution: {integrity: sha512-HiwzsihRao+IbPk7FER/EQT/D0dEEK3n5LAtHDzL5iRT+JMblA7y9uitUnjEnHeLkKigNM+ZplrP7MuEyyc5kA==} + '@shikijs/types@1.23.1': + resolution: {integrity: sha512-98A5hGyEhzzAgQh2dAeHKrWW4HfCMeoFER2z16p5eJ+vmPeF6lZ/elEne6/UCU551F/WqkopqRsr1l2Yu6+A0g==} '@shikijs/vscode-textmate@9.3.0': resolution: {integrity: sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==} @@ -9305,8 +9305,8 @@ packages: resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} engines: {node: '>=18'} - oniguruma-to-es@0.1.2: - resolution: {integrity: sha512-sBYKVJlIMB0WPO+tSu/NNB1ytSFeHyyJZ3Ayxfx3f/QUuXu0lvZk0VB4K7npmdlHSC0ldqanzh/sUSlAbgCTfw==} + oniguruma-to-es@0.4.1: + resolution: {integrity: sha512-rNcEohFz095QKGRovP/yqPIKc+nP+Sjs4YTHMv33nMePGKrq/r2eu9Yh4646M5XluGJsUnmwoXuiXE69KDs+fQ==} only-allow@1.2.1: resolution: {integrity: sha512-M7CJbmv7UCopc0neRKdzfoGWaVZC+xC1925GitKH9EAqYFzX9//25Q7oX4+jw0tiCCj+t5l6VZh8UPH23NZkMA==} @@ -10563,8 +10563,8 @@ packages: regex-utilities@2.3.0: resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} - regex@4.4.0: - resolution: {integrity: sha512-uCUSuobNVeqUupowbdZub6ggI5/JZkYyJdDogddJr60L764oxC2pMZov1fQ3wM9bdyzUILDG+Sqx6NAKAz9rKQ==} + regex@5.0.1: + resolution: {integrity: sha512-gIS00E8eHNWONxofNKOhtlkwBQj/K39ZJamnvMEFH3pNKc06Zz2jtFXF/4ldAaJTzQNhMJU7b5+C7tTq2ukV7Q==} regexpu-core@6.1.1: resolution: {integrity: sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==} @@ -10805,8 +10805,8 @@ packages: resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} engines: {node: '>= 12.13.0'} - search-insights@2.17.2: - resolution: {integrity: sha512-zFNpOpUO+tY2D85KrxJ+aqwnIfdEGi06UH2+xEb+Bp9Mwznmauqc9djbnBibJO5mpfUPPa8st6Sx65+vbeO45g==} + search-insights@2.17.3: + resolution: {integrity: sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==} section-matter@1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} @@ -10924,8 +10924,8 @@ packages: engines: {node: '>=4'} hasBin: true - shiki@1.23.0: - resolution: {integrity: sha512-xfdu9DqPkIpExH29cmiTlgo0/jBki5la1Tkfhsv+Wu5TT3APLNHslR1acxuKJOCWqVdSc+pIbs/2ozjVRGppdg==} + shiki@1.23.1: + resolution: {integrity: sha512-8kxV9TH4pXgdKGxNOkrSMydn1Xf6It8lsle0fiqxf7a1149K1WGtdOu3Zb91T5r1JpvRPxqxU3C2XdZZXQnrig==} shimmer@1.2.1: resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} @@ -12582,19 +12582,19 @@ snapshots: transitivePeerDependencies: - zod - '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)(search-insights@2.17.2)': + '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)(search-insights@2.17.2) + '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)(search-insights@2.17.3) '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights - '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)(search-insights@2.17.2)': + '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)(search-insights@2.17.3)': dependencies: '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2) - search-insights: 2.17.2 + search-insights: 2.17.3 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch @@ -13827,9 +13827,9 @@ snapshots: '@docsearch/css@3.8.0': {} - '@docsearch/react@3.8.0(@algolia/client-search@5.14.2)(@types/react@18.3.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)': + '@docsearch/react@3.8.0(@algolia/client-search@5.14.2)(@types/react@18.3.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)(search-insights@2.17.2) + '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)(search-insights@2.17.3) '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2) '@docsearch/css': 3.8.0 algoliasearch: 5.14.2 @@ -13837,7 +13837,7 @@ snapshots: '@types/react': 18.3.12 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - search-insights: 2.17.2 + search-insights: 2.17.3 transitivePeerDependencies: - '@algolia/client-search' @@ -14388,7 +14388,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/preset-classic@3.6.1(@algolia/client-search@5.14.2)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@docusaurus/preset-classic@3.6.1(@algolia/client-search@5.14.2)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.3)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/plugin-content-blog': 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) @@ -14401,7 +14401,7 @@ snapshots: '@docusaurus/plugin-sitemap': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/theme-classic': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/theme-common': 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@swc/core@1.9.2(@swc/helpers@0.5.15))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/theme-search-algolia': 3.6.1(@algolia/client-search@5.14.2)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/theme-search-algolia': 3.6.1(@algolia/client-search@5.14.2)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.3)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/types': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.15))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -14550,9 +14550,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-search-algolia@3.6.1(@algolia/client-search@5.14.2)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@docusaurus/theme-search-algolia@3.6.1(@algolia/client-search@5.14.2)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.3)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: - '@docsearch/react': 3.8.0(@algolia/client-search@5.14.2)(@types/react@18.3.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2) + '@docsearch/react': 3.8.0(@algolia/client-search@5.14.2)(@types/react@18.3.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.3) '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/logger': 3.6.1 '@docusaurus/plugin-content-docs': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) @@ -16217,27 +16217,27 @@ snapshots: domhandler: 5.0.3 selderee: 0.11.0 - '@shikijs/core@1.23.0': + '@shikijs/core@1.23.1': dependencies: - '@shikijs/engine-javascript': 1.23.0 - '@shikijs/engine-oniguruma': 1.23.0 - '@shikijs/types': 1.23.0 + '@shikijs/engine-javascript': 1.23.1 + '@shikijs/engine-oniguruma': 1.23.1 + '@shikijs/types': 1.23.1 '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 hast-util-to-html: 9.0.3 - '@shikijs/engine-javascript@1.23.0': + '@shikijs/engine-javascript@1.23.1': dependencies: - '@shikijs/types': 1.23.0 + '@shikijs/types': 1.23.1 '@shikijs/vscode-textmate': 9.3.0 - oniguruma-to-es: 0.1.2 + oniguruma-to-es: 0.4.1 - '@shikijs/engine-oniguruma@1.23.0': + '@shikijs/engine-oniguruma@1.23.1': dependencies: - '@shikijs/types': 1.23.0 + '@shikijs/types': 1.23.1 '@shikijs/vscode-textmate': 9.3.0 - '@shikijs/types@1.23.0': + '@shikijs/types@1.23.1': dependencies: '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 @@ -19969,7 +19969,7 @@ snapshots: extract-zip@2.0.1: dependencies: - debug: 4.3.7(supports-color@5.5.0) + debug: 4.3.4 get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -23392,10 +23392,10 @@ snapshots: dependencies: mimic-function: 5.0.1 - oniguruma-to-es@0.1.2: + oniguruma-to-es@0.4.1: dependencies: emoji-regex-xs: 1.0.0 - regex: 4.4.0 + regex: 5.0.1 regex-recursion: 4.2.1 only-allow@1.2.1: @@ -24805,7 +24805,7 @@ snapshots: regex-utilities@2.3.0: {} - regex@4.4.0: {} + regex@5.0.1: {} regexpu-core@6.1.1: dependencies: @@ -25146,7 +25146,7 @@ snapshots: ajv-formats: 2.1.1(ajv@8.17.1) ajv-keywords: 5.1.0(ajv@8.17.1) - search-insights@2.17.2: {} + search-insights@2.17.3: {} section-matter@1.0.0: dependencies: @@ -25320,12 +25320,12 @@ snapshots: interpret: 1.4.0 rechoir: 0.6.2 - shiki@1.23.0: + shiki@1.23.1: dependencies: - '@shikijs/core': 1.23.0 - '@shikijs/engine-javascript': 1.23.0 - '@shikijs/engine-oniguruma': 1.23.0 - '@shikijs/types': 1.23.0 + '@shikijs/core': 1.23.1 + '@shikijs/engine-javascript': 1.23.1 + '@shikijs/engine-oniguruma': 1.23.1 + '@shikijs/types': 1.23.1 '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 @@ -26075,7 +26075,7 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.0)(jest@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)))(typescript@5.6.3): + ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)))(typescript@5.6.3): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 @@ -26093,7 +26093,6 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.26.0) - esbuild: 0.24.0 ts-mixer@6.0.4: {} @@ -26220,7 +26219,7 @@ snapshots: lunr: 2.3.9 markdown-it: 14.1.0 minimatch: 9.0.5 - shiki: 1.23.0 + shiki: 1.23.1 typescript: 5.6.3 yaml: 2.6.0 From 2b21f8a650d6d43768ade3bca4f3d09f81c3552d Mon Sep 17 00:00:00 2001 From: ponderingdemocritus Date: Mon, 18 Nov 2024 21:53:09 +1100 Subject: [PATCH 2/3] logging --- package.json | 1 + packages/agent/src/index.ts | 5 +- packages/client-discord/src/voice.ts | 3 +- packages/client-twitter/src/base.ts | 2 +- packages/client-twitter/src/interactions.ts | 6 +- packages/core/src/embedding.ts | 10 +-- packages/core/src/memory.ts | 3 +- packages/core/src/runtime.ts | 5 +- packages/core/src/types.ts | 6 ++ packages/plugin-starknet/readme.md | 5 ++ packages/plugin-starknet/src/actions/swap.ts | 77 +++++++++++++++++-- .../plugin-starknet/src/actions/takeOrder.ts | 36 ++++----- .../plugin-starknet/src/actions/transfer.ts | 64 ++++----------- packages/plugin-starknet/src/index.ts | 2 +- pnpm-lock.yaml | 4 +- scripts/start.sh | 4 + 16 files changed, 132 insertions(+), 101 deletions(-) diff --git a/package.json b/package.json index 8048b4e7517..938819873fd 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "start:service:all": "pnpm --filter \"@ai16z/agent\" start:service:all --isRoot", "stop:service:all": "pnpm --filter \"@ai16z/agent\" stop:service:all", "start": "pnpm --filter \"@ai16z/agent\" start --isRoot", + "start:client": "pnpm --dir client start --isRoot", "dev": "bash ./scripts/dev.sh", "lint": "pnpm --dir packages/core lint && pnpm --dir packages/agent lint", "prettier-check": "npx prettier --check .", diff --git a/packages/agent/src/index.ts b/packages/agent/src/index.ts index 70749fb06a8..5449dc63ada 100644 --- a/packages/agent/src/index.ts +++ b/packages/agent/src/index.ts @@ -21,7 +21,8 @@ import Database from "better-sqlite3"; import fs from "fs"; import readline from "readline"; import yargs from "yargs"; -import { character } from "./character.ts"; +// import { character } from "./character.ts"; +import { blobert } from "./blobert.ts"; export const wait = (minTime: number = 1000, maxTime: number = 3000) => { const waitTime = @@ -263,7 +264,7 @@ const startAgents = async () => { let charactersArg = args.characters || args.character; - let characters = [character]; + let characters = [blobert]; if (charactersArg) { characters = await loadCharacters(charactersArg); diff --git a/packages/client-discord/src/voice.ts b/packages/client-discord/src/voice.ts index 0977ee0e59e..e2abc0927ea 100644 --- a/packages/client-discord/src/voice.ts +++ b/packages/client-discord/src/voice.ts @@ -31,12 +31,11 @@ import { ITranscriptionService, Memory, ModelClass, - Service, ServiceType, State, UUID, } from "@ai16z/eliza"; -import { stringToUuid } from "@ai16z/eliza/src/uuid.ts"; +import { stringToUuid } from "@ai16z/eliza"; export function getWavHeader( audioLength: number, diff --git a/packages/client-twitter/src/base.ts b/packages/client-twitter/src/base.ts index 59293769cca..1a910c37691 100644 --- a/packages/client-twitter/src/base.ts +++ b/packages/client-twitter/src/base.ts @@ -207,7 +207,7 @@ export class ClientBase extends EventEmitter { ); await this.setCookiesFromArray(cookiesArray); } else { - console.log("Cookies file path:", cookiesFilePath); + elizaLogger.debug("Cookies file path:", cookiesFilePath); if (fs.existsSync(cookiesFilePath)) { const cookiesArray = JSON.parse( fs.readFileSync(cookiesFilePath, "utf-8") diff --git a/packages/client-twitter/src/interactions.ts b/packages/client-twitter/src/interactions.ts index 0f8b307d5cb..f6e7e2dff30 100644 --- a/packages/client-twitter/src/interactions.ts +++ b/packages/client-twitter/src/interactions.ts @@ -1,6 +1,6 @@ import { SearchMode, Tweet } from "agent-twitter-client"; import fs from "fs"; -import { composeContext } from "@ai16z/eliza"; +import { composeContext, elizaLogger } from "@ai16z/eliza"; import { generateMessageResponse, generateShouldRespond } from "@ai16z/eliza"; import { messageCompletionFooter, shouldRespondFooter } from "@ai16z/eliza"; import { @@ -199,7 +199,7 @@ export class TwitterInteractionClient extends ClientBase { console.log("skipping tweet with no text", tweet.id); return { text: "", action: "IGNORE" }; } - console.log("handling tweet", tweet.id); + elizaLogger.log("handling tweet", tweet.id); const formatTweet = (tweet: Tweet) => { return ` ID: ${tweet.id} From: ${tweet.name} (@${tweet.username}) @@ -267,8 +267,6 @@ export class TwitterInteractionClient extends ClientBase { this.saveRequestMessage(message, state); } - console.log("composeState done"); - const shouldRespondContext = composeContext({ state, template: diff --git a/packages/core/src/embedding.ts b/packages/core/src/embedding.ts index ae9c069b25c..4c775d39465 100644 --- a/packages/core/src/embedding.ts +++ b/packages/core/src/embedding.ts @@ -1,7 +1,5 @@ - import path from "node:path"; - import { models } from "./models.ts"; import { IAgentRuntime, ModelProviderName, ModelClass } from "./types.ts"; import fs from "fs"; @@ -29,8 +27,6 @@ async function getRemoteEmbedding( // Construct full URL const fullUrl = `${baseEndpoint}/embeddings`; - //console.log("Calling embedding API at:", fullUrl); // Debug log - const requestOptions = { method: "POST", headers: { @@ -52,7 +48,7 @@ async function getRemoteEmbedding( const response = await fetch(fullUrl, requestOptions); if (!response.ok) { - console.error("API Response:", await response.text()); // Debug log + elizaLogger.error("API Response:", await response.text()); // Debug log throw new Error( `Embedding API Error: ${response.status} ${response.statusText}` ); @@ -65,7 +61,7 @@ async function getRemoteEmbedding( const data: EmbeddingResponse = await response.json(); return data?.data?.[0].embedding; } catch (e) { - console.error("Full error details:", e); + elizaLogger.error("Full error details:", e); throw e; } } @@ -176,7 +172,7 @@ export async function retrieveCachedEmbedding( input: string ) { if (!input) { - console.log("No input to retrieve cached embedding for"); + elizaLogger.log("No input to retrieve cached embedding for"); return null; } diff --git a/packages/core/src/memory.ts b/packages/core/src/memory.ts index 70c61f33053..350f65c54a8 100644 --- a/packages/core/src/memory.ts +++ b/packages/core/src/memory.ts @@ -1,4 +1,5 @@ import { embed } from "./embedding.ts"; +import elizaLogger from "./logger.ts"; import { IAgentRuntime, IMemoryManager, @@ -160,7 +161,7 @@ export class MemoryManager implements IMemoryManager { await this.runtime.databaseAdapter.getMemoryById(memory.id); if (existingMessage) { - // console.log("Memory already exists, skipping"); + elizaLogger.debug("Memory already exists, skipping"); return; } await this.runtime.databaseAdapter.createMemory( diff --git a/packages/core/src/runtime.ts b/packages/core/src/runtime.ts index 730cf08af86..c972e4462a8 100644 --- a/packages/core/src/runtime.ts +++ b/packages/core/src/runtime.ts @@ -131,8 +131,6 @@ export class AgentRuntime implements IAgentRuntime { services: Map = new Map(); memoryManagers: Map = new Map(); - logging: boolean = false; - registerMemoryManager(manager: IMemoryManager): void { if (!manager.tableName) { throw new Error("Memory manager must have a tableName"); @@ -428,7 +426,6 @@ export class AgentRuntime implements IAgentRuntime { state?: State, callback?: HandlerCallback ): Promise { - console.log("Processing actions", responses); if (!responses[0].content?.action) { elizaLogger.warn("No action found in the response content."); return; @@ -499,7 +496,7 @@ export class AgentRuntime implements IAgentRuntime { async evaluate(message: Memory, state?: State, didRespond?: boolean) { const evaluatorPromises = this.evaluators.map( async (evaluator: Evaluator) => { - console.log("Evaluating", evaluator.name); + elizaLogger.log("Evaluating", evaluator.name); if (!evaluator.handler) { return null; } diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index 278b1948df4..ec821e52c94 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -670,3 +670,9 @@ export enum ServiceType { SPEECH_GENERATION = "speech_generation", PDF = "pdf", } + +export enum LoggingLevel { + DEBUG = "debug", + VERBOSE = "verbose", + NONE = "none", +} diff --git a/packages/plugin-starknet/readme.md b/packages/plugin-starknet/readme.md index 4f01bc33e8b..799d6592ab4 100644 --- a/packages/plugin-starknet/readme.md +++ b/packages/plugin-starknet/readme.md @@ -10,3 +10,8 @@ Reuse providers and utilities from the existing actions where possible. Add more 1. Add the action to the `actions` directory. Try to follow the naming convention of the other actions. 2. Export the action in the `index.ts` file. + +## TODO: + +1. Ekubo DCA +2. Unruggable diff --git a/packages/plugin-starknet/src/actions/swap.ts b/packages/plugin-starknet/src/actions/swap.ts index 9e93d5d9689..e6b47d0c16a 100644 --- a/packages/plugin-starknet/src/actions/swap.ts +++ b/packages/plugin-starknet/src/actions/swap.ts @@ -17,13 +17,46 @@ import { import { getStarknetAccount, validateSettings } from "../utils/index.ts"; +interface SwapContent { + sellTokenAddress: string; + buyTokenAddress: string; + sellAmount: string; +} + +export function isSwapContent(content: SwapContent): content is SwapContent { + // Validate types + const validTypes = + typeof content.sellTokenAddress === "string" && + typeof content.buyTokenAddress === "string" && + typeof content.sellAmount === "string"; + if (!validTypes) { + return false; + } + + // Validate addresses (must be 32-bytes long with 0x prefix) + const validAddresses = + content.sellTokenAddress.startsWith("0x") && + content.sellTokenAddress.length === 66 && + content.buyTokenAddress.startsWith("0x") && + content.buyTokenAddress.length === 66; + + return validAddresses; +} + const swapTemplate = `Respond with a JSON markdown block containing only the extracted values. Use null for any values that cannot be determined. +These are known addresses you will get asked to swap, use these addresses for sellTokenAddress and buyTokenAddress: +- BROTHER/brother/$brother: 0x03b405a98c9e795d427fe82cdeeeed803f221b52471e3a757574a2b4180793ee +- BTC/btc: 0x03fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac +- ETH/eth: 0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7 +- STRK/strk: 0x04718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d +- LORDS/lords: 0x0124aeb495b947201f5fac96fd1138e326ad86195b98df6dec9009158a533b49 + Example response: \`\`\`json { "sellTokenAddress": "0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7", - "buyTokenAddress": "0x053c91253bc9682c04929ca02ed00b3e423f6710d2ee7e0d5ebb06f3ecf368a8", + "buyTokenAddress": "0x124aeb495b947201f5fac96fd1138e326ad86195b98df6dec9009158a533b49", "sellAmount": "1000000000000000000" } \`\`\` @@ -48,7 +81,8 @@ export const executeSwap: Action = { validate: async (runtime: IAgentRuntime, message: Memory) => { return validateSettings(runtime); }, - description: "Perform a token swap using Avnu.", + description: + "Perform a token swap on starknet. Use this action when a user asks you to swap tokens anything.", handler: async ( runtime: IAgentRuntime, message: Memory, @@ -75,6 +109,11 @@ export const executeSwap: Action = { console.log("Response:", response); + if (!isSwapContent(response)) { + callback?.({ text: "Invalid swap content, please try again." }); + return false; + } + try { // Get quote const quoteParams: QuoteRequest = { @@ -105,7 +144,7 @@ export const executeSwap: Action = { return true; } catch (error) { console.error("Error during token swap:", error); - callback?.({ text: `Error during swap: ${error.message}` }); + callback?.({ text: `Error during swap:` }); return false; } }, @@ -114,19 +153,41 @@ export const executeSwap: Action = { { user: "{{user1}}", content: { - text: "Swap 1 ETH for USDC on Starknet", + text: "Swap 10 ETH for LORDS", + }, + }, + { + user: "{{agent}}", + content: { + text: "Ok, I'll swap 10 ETH for LORDS", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Swap 100 $lords on starknet", }, }, { - user: "{{user2}}", + user: "{{agent}}", + content: { + text: "Ok, I'll swap 100 $lords on starknet", + }, + }, + ], + [ + { + user: "{{user1}}", content: { - text: "Buy LORDS on Starknet", + text: "Swap 0.5 BTC for LORDS", }, }, { - user: "{{user2}}", + user: "{{agent}}", content: { - text: "Executing swap...", + text: "Ok, I'll swap 0.5 BTC for LORDS", }, }, ], diff --git a/packages/plugin-starknet/src/actions/takeOrder.ts b/packages/plugin-starknet/src/actions/takeOrder.ts index c737e21a1ac..c79d00f9f47 100644 --- a/packages/plugin-starknet/src/actions/takeOrder.ts +++ b/packages/plugin-starknet/src/actions/takeOrder.ts @@ -20,23 +20,7 @@ interface Order { price: number; } -const take_order: Action = { - name: "TAKE_STARKNET_ORDER", - similes: ["BUY_STARKNET_ORDER", "PLACE_STARKNET_ORDER"], - description: - "Records a starknet buy order based on the user's conviction level.", - examples: [], - validate: async (runtime: IAgentRuntime, message: Memory) => { - const text = (message.content as Content).text; - // Check if the message contains a ticker symbol - const tickerRegex = /\b[A-Z]{1,5}\b/g; - return tickerRegex.test(text); - }, - handler: async (runtime: IAgentRuntime, message: Memory) => { - const text = (message.content as Content).text; - const userId = message.userId; - - const template = ` +const template = ` // CLAUDE TODO: Put the usual conversation context here @@ -52,6 +36,21 @@ Determine if the user is trying to shill the ticker. if they are, respond with e // - contractAddress: string `; +const take_order: Action = { + name: "TAKE_STARKNET_ORDER", + similes: ["BUY_STARKNET_ORDER", "PLACE_STARKNET_ORDER"], + description: + "Records a starknet buy order based on the user's conviction level.", + validate: async (runtime: IAgentRuntime, message: Memory) => { + const text = (message.content as Content).text; + // Check if the message contains a ticker symbol + const tickerRegex = /\b[A-Z]{1,5}\b/g; + return tickerRegex.test(text); + }, + handler: async (runtime: IAgentRuntime, message: Memory) => { + const text = (message.content as Content).text; + const userId = message.userId; + let ticker, contractAddress; // TODO: @@ -130,6 +129,7 @@ Determine if the user is trying to shill the ticker. if they are, respond with e text: `Recorded a ${conviction} conviction buy order for ${ticker} (${contractAddress}) with an amount of ${buyAmount} at the price of ${currentPrice}.`, }; }, -}; + examples: [] as ActionExample[][], +} as Action; export default take_order; diff --git a/packages/plugin-starknet/src/actions/transfer.ts b/packages/plugin-starknet/src/actions/transfer.ts index f993484227d..5c064e84319 100644 --- a/packages/plugin-starknet/src/actions/transfer.ts +++ b/packages/plugin-starknet/src/actions/transfer.ts @@ -161,79 +161,41 @@ export default { { user: "{{user1}}", content: { - text: "Send 69 STRK to 0x1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF", + text: "Send 10 ETH to 0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7", }, }, { - user: "{{user2}}", + user: "{{agent}}", content: { - text: "Transfer to 0x1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890ABCDEF 0.01 ETH", - }, - }, - { - user: "{{user3}}", - content: { - text: "Please send 100 STRK tokens to 0x789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF012345", - }, - }, - { - user: "{{user4}}", - content: { - text: "I'd like to transfer 0.5 ETH to 0xABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF01234567", - }, - }, - { - user: "{{user5}}", - content: { - text: "Can you send 25 STRK to wallet 0x456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF012", + text: "I'll transfer 10 ETH to that address right away. Let me process that for you.", }, }, + ], + [ { user: "{{user1}}", content: { - text: "Transfer 1.5 ETH -> 0x123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF", - }, - }, - { - user: "{{user2}}", - content: { - text: "Send 42.42 STRK tokens to address 0xDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789", - }, - }, - { - user: "{{user3}}", - content: { - text: "Could you transfer 0.1 ETH to this address: 0xEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABC", - }, - }, - { - user: "{{user4}}", - content: { - text: "I am requesting 777 STRK to be sent to this address: 0x0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF", + text: "Can you transfer 50 LORDS tokens to 0x0124aeb495b947201f5fac96fd1138e326ad86195b98df6dec9009158a533b49?", }, }, { - user: "{{user5}}", + user: "{{agent}}", content: { - text: "I really think i need 100 lords to be sent to this address: 0xBCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789A", + text: "Executing transfer of 50 LORDS tokens to the specified address. One moment please.", }, }, + ], + [ { user: "{{user1}}", content: { - text: "I am requesting 100 lords to be sent to this address: 0xCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789AB", - }, - }, - { - user: "{{user2}}", - content: { - text: "Transfer lords to 0x90ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF01234567", + text: "Please send 0.5 BTC to 0x03fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac", }, }, { - user: "{{user3}}", + user: "{{agent}}", content: { - text: "The repair of the squire blobert kingdom kitchen has been completed. Could you please send 100 LORDS tokens to 0x0277eE04e3f82D4E805Ab0e2044C53fB6d61ABd00a2a7f44B78410e9b43E1344", + text: "Got it, initiating transfer of 0.5 BTC to the provided address. I'll confirm once it's complete.", }, }, ], diff --git a/packages/plugin-starknet/src/index.ts b/packages/plugin-starknet/src/index.ts index 8d2891c1982..5ed9e48db70 100644 --- a/packages/plugin-starknet/src/index.ts +++ b/packages/plugin-starknet/src/index.ts @@ -20,7 +20,7 @@ export const PROVIDER_CONFIG = { export const starknetPlugin: Plugin = { name: "starknet", description: "Starknet Plugin for Eliza", - actions: [transfer], + actions: [transfer, executeSwap], evaluators: [], providers: [], }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9774f3e053b..3f38759380c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15825,7 +15825,7 @@ snapshots: '@octokit/request-error': 3.0.3 '@octokit/types': 9.3.2 is-plain-object: 5.0.0 - node-fetch: 2.7.0(encoding@0.1.13) + node-fetch: 2.6.7(encoding@0.1.13) universal-user-agent: 6.0.1 transitivePeerDependencies: - encoding @@ -22066,7 +22066,7 @@ snapshots: log-symbols@4.1.0: dependencies: - chalk: 4.1.2 + chalk: 4.1.0 is-unicode-supported: 0.1.0 log-symbols@6.0.0: diff --git a/scripts/start.sh b/scripts/start.sh index a46889fc5db..808a2c0a31f 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -40,6 +40,10 @@ if ! pnpm start; then exit 1 fi +# Start client +echo -e "\033[1mStarting client...\033[0m" +pnpm start:client + # Open webpage echo -e "\033[1mOpening webpage...\033[0m" if command -v xdg-open &> /dev/null; then From 3d7bd7798d7c8f4c70c973d3d6b8a99056b8592e Mon Sep 17 00:00:00 2001 From: ponderingdemocritus Date: Mon, 18 Nov 2024 22:17:38 +1100 Subject: [PATCH 3/3] revert character --- packages/agent/src/index.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/agent/src/index.ts b/packages/agent/src/index.ts index 5449dc63ada..70749fb06a8 100644 --- a/packages/agent/src/index.ts +++ b/packages/agent/src/index.ts @@ -21,8 +21,7 @@ import Database from "better-sqlite3"; import fs from "fs"; import readline from "readline"; import yargs from "yargs"; -// import { character } from "./character.ts"; -import { blobert } from "./blobert.ts"; +import { character } from "./character.ts"; export const wait = (minTime: number = 1000, maxTime: number = 3000) => { const waitTime = @@ -264,7 +263,7 @@ const startAgents = async () => { let charactersArg = args.characters || args.character; - let characters = [blobert]; + let characters = [character]; if (charactersArg) { characters = await loadCharacters(charactersArg);