@langgraph-js/ui 3.0.1 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components.json +24 -0
- package/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/dist/assets/abap-BdImnpbu.js +1 -0
- package/dist/assets/actionscript-3-CfeIJUat.js +1 -0
- package/dist/assets/ada-bCR0ucgS.js +1 -0
- package/dist/assets/andromeeda-C-Jbm3Hp.js +1 -0
- package/dist/assets/angular-html-Bbf3ZyxA.js +1 -0
- package/dist/assets/angular-ts-C26w9mnW.js +1 -0
- package/dist/assets/apache-Pmp26Uib.js +1 -0
- package/dist/assets/apex-C7Pw0Ztw.js +1 -0
- package/dist/assets/apl-e980N3t4.js +1 -0
- package/dist/assets/applescript-Co6uUVPk.js +1 -0
- package/dist/assets/ara-BRHolxvo.js +1 -0
- package/dist/assets/arc-CGVbGqUF.js +1 -0
- package/dist/assets/architectureDiagram-VXUJARFQ-CqtrDEw9.js +36 -0
- package/dist/assets/asciidoc-Dv7Oe6Be.js +1 -0
- package/dist/assets/asm-D_Q5rh1f.js +1 -0
- package/dist/assets/astro-CjFzhNUq.js +1 -0
- package/dist/assets/aurora-x-D-2ljcwZ.js +1 -0
- package/dist/assets/awk-DMzUqQB5.js +1 -0
- package/dist/assets/ayu-dark-Cv9koXgw.js +1 -0
- package/dist/assets/ballerina-BFfxhgS-.js +1 -0
- package/dist/assets/bat-BkioyH1T.js +1 -0
- package/dist/assets/beancount-BoKiGodi.js +1 -0
- package/dist/assets/berry-D08WgyRC.js +1 -0
- package/dist/assets/bibtex-CHM0blh-.js +1 -0
- package/dist/assets/bicep-6nHXG8SA.js +1 -0
- package/dist/assets/blade-B2ZbN0F_.js +1 -0
- package/dist/assets/blockDiagram-VD42YOAC-CNqe-K1B.js +122 -0
- package/dist/assets/bsl-BO_Y6i37.js +1 -0
- package/dist/assets/c-BIGW1oBm.js +1 -0
- package/dist/assets/c4Diagram-YG6GDRKO-CPTzKGRp.js +10 -0
- package/dist/assets/cadence-D2CYqzqI.js +1 -0
- package/dist/assets/cairo-KRGpt6FW.js +1 -0
- package/dist/assets/catppuccin-frappe-BBxmzUt6.js +1 -0
- package/dist/assets/catppuccin-latte-Jep7L2Wt.js +1 -0
- package/dist/assets/catppuccin-macchiato-CIUZ1G5V.js +1 -0
- package/dist/assets/catppuccin-mocha-NBseiqgx.js +1 -0
- package/dist/assets/channel-CbJkpW4g.js +1 -0
- package/dist/assets/chunk-4BX2VUAB-CnFclA68.js +1 -0
- package/dist/assets/chunk-55IACEB6-CVyjVz79.js +1 -0
- package/dist/assets/chunk-B4BG7PRW-DiGvJtfO.js +165 -0
- package/dist/assets/chunk-DI55MBZ5-CiqWzq60.js +220 -0
- package/dist/assets/chunk-FMBD7UC4-KfYlm8ba.js +15 -0
- package/dist/assets/chunk-QN33PNHL-Bwbc5Dxk.js +1 -0
- package/dist/assets/chunk-QZHKN3VN-DlQbvjLB.js +1 -0
- package/dist/assets/chunk-TZMSLE5B-6_Y4HlEU.js +1 -0
- package/dist/assets/clarity-CHh-QcGE.js +1 -0
- package/dist/assets/classDiagram-2ON5EDUG--F4r2fzQ.js +1 -0
- package/dist/assets/classDiagram-v2-WZHVMYZB--F4r2fzQ.js +1 -0
- package/dist/assets/clojure-P80f7IUj.js +1 -0
- package/dist/assets/clone-CxJednSn.js +1 -0
- package/dist/assets/cmake-D1j8_8rp.js +1 -0
- package/dist/assets/cobol-DwXMNnPA.js +1 -0
- package/dist/assets/codeowners-Bp6g37R7.js +1 -0
- package/dist/assets/codeql-DsOJ9woJ.js +1 -0
- package/dist/assets/coffee-JUOWOZUj.js +1 -0
- package/dist/assets/common-lisp-Cg-RD9OK.js +1 -0
- package/dist/assets/coq-DkFqJrB1.js +1 -0
- package/dist/assets/cose-bilkent-S5V4N54A-BL_xZw_z.js +1 -0
- package/dist/assets/cpp-CofmeUqb.js +1 -0
- package/dist/assets/crystal-DVs0tusA.js +1 -0
- package/dist/assets/csharp-CHadp7IV.js +1 -0
- package/dist/assets/css-DPfMkruS.js +1 -0
- package/dist/assets/csv-fuZLfV_i.js +1 -0
- package/dist/assets/cue-D82EKSYY.js +1 -0
- package/dist/assets/cypher-COkxafJQ.js +1 -0
- package/dist/assets/cytoscape.esm-BlPLnP8k.js +331 -0
- package/dist/assets/d-85-TOEBH.js +1 -0
- package/dist/assets/dagre-6UL2VRFP-CKK6NwPE.js +4 -0
- package/dist/assets/dark-plus-C3mMm8J8.js +1 -0
- package/dist/assets/dart-CF10PKvl.js +1 -0
- package/dist/assets/dax-CEL-wOlO.js +1 -0
- package/dist/assets/defaultLocale-C4B-KCzX.js +1 -0
- package/dist/assets/desktop-BmXAJ9_W.js +1 -0
- package/dist/assets/diagram-PSM6KHXK-D77jB3aN.js +24 -0
- package/dist/assets/diagram-QEK2KX5R-C3V63KEf.js +43 -0
- package/dist/assets/diagram-S2PKOQOG-8vXvyFcA.js +24 -0
- package/dist/assets/diff-D97Zzqfu.js +1 -0
- package/dist/assets/docker-BcOcwvcX.js +1 -0
- package/dist/assets/dotenv-Da5cRb03.js +1 -0
- package/dist/assets/dracula-BzJJZx-M.js +1 -0
- package/dist/assets/dracula-soft-BXkSAIEj.js +1 -0
- package/dist/assets/dream-maker-BtqSS_iP.js +1 -0
- package/dist/assets/edge-CKszZCnI.js +1 -0
- package/dist/assets/elixir-Cc7HHYVZ.js +1 -0
- package/dist/assets/elm-DbKCFpqz.js +1 -0
- package/dist/assets/emacs-lisp-C9XAeP06.js +1 -0
- package/dist/assets/erDiagram-Q2GNP2WA-BvdZN7ll.js +60 -0
- package/dist/assets/erb-C7QrGF_t.js +1 -0
- package/dist/assets/erlang-DsQrWhSR.js +1 -0
- package/dist/assets/everforest-dark-BgDCqdQA.js +1 -0
- package/dist/assets/everforest-light-C8M2exoo.js +1 -0
- package/dist/assets/fennel-BYunw83y.js +1 -0
- package/dist/assets/fish-Bl2oy6fF.js +1 -0
- package/dist/assets/flowDiagram-NV44I4VS-Cmn4g1Tt.js +162 -0
- package/dist/assets/fluent-C4IJs8-o.js +1 -0
- package/dist/assets/fortran-fixed-form-BZjJHVRy.js +1 -0
- package/dist/assets/fortran-free-form-D22FLkUw.js +1 -0
- package/dist/assets/fsharp-CufqaIoK.js +1 -0
- package/dist/assets/ganttDiagram-LVOFAZNH-BtK3XTtk.js +267 -0
- package/dist/assets/gdresource-B7Tvp0Sc.js +1 -0
- package/dist/assets/gdscript-DTMYz4Jt.js +1 -0
- package/dist/assets/gdshader-DkwncUOv.js +1 -0
- package/dist/assets/genie-D0YGMca9.js +1 -0
- package/dist/assets/gherkin-DyxjwDmM.js +1 -0
- package/dist/assets/git-commit-F4YmCXRG.js +1 -0
- package/dist/assets/git-rebase-r7XF79zn.js +1 -0
- package/dist/assets/gitGraphDiagram-NY62KEGX-Ckd-OTVj.js +65 -0
- package/dist/assets/github-dark-DHJKELXO.js +1 -0
- package/dist/assets/github-dark-default-Cuk6v7N8.js +1 -0
- package/dist/assets/github-dark-dimmed-DH5Ifo-i.js +1 -0
- package/dist/assets/github-dark-high-contrast-E3gJ1_iC.js +1 -0
- package/dist/assets/github-light-DAi9KRSo.js +1 -0
- package/dist/assets/github-light-default-D7oLnXFd.js +1 -0
- package/dist/assets/github-light-high-contrast-BfjtVDDH.js +1 -0
- package/dist/assets/gleam-BspZqrRM.js +1 -0
- package/dist/assets/glimmer-js-Dz9X99Cm.js +1 -0
- package/dist/assets/glimmer-ts-aQ3p29eY.js +1 -0
- package/dist/assets/glsl-DplSGwfg.js +1 -0
- package/dist/assets/gnuplot-DdkO51Og.js +1 -0
- package/dist/assets/go-Dn2_MT6a.js +1 -0
- package/dist/assets/graph-C8xl-aUs.js +1 -0
- package/dist/assets/graphql-Caa12_AY.js +1 -0
- package/dist/assets/groovy-gcz8RCvz.js +1 -0
- package/dist/assets/gruvbox-dark-hard-D1uDOp7C.js +1 -0
- package/dist/assets/gruvbox-dark-medium-DkhsQLT2.js +1 -0
- package/dist/assets/gruvbox-dark-soft-CcyOm34o.js +1 -0
- package/dist/assets/gruvbox-light-hard-DKzvysjW.js +1 -0
- package/dist/assets/gruvbox-light-medium-DPcUKYIF.js +1 -0
- package/dist/assets/gruvbox-light-soft-CGqH5EJj.js +1 -0
- package/dist/assets/hack-D_o3P2UH.js +1 -0
- package/dist/assets/haml-AZXGPtNI.js +1 -0
- package/dist/assets/handlebars-YebKLiTq.js +1 -0
- package/dist/assets/haskell-Df6bDoY_.js +1 -0
- package/dist/assets/haxe-CzTSHFRz.js +1 -0
- package/dist/assets/hcl-BWvSN4gD.js +1 -0
- package/dist/assets/hjson-D5-asLiD.js +1 -0
- package/dist/assets/hlsl-D3lLCCz7.js +1 -0
- package/dist/assets/houston-DnULxvSX.js +1 -0
- package/dist/assets/html-B8pBdPMQ.js +1 -0
- package/dist/assets/html-derivative-ZQ8onl8Z.js +1 -0
- package/dist/assets/http-C38VWM-o.js +1 -0
- package/dist/assets/hxml-Bvhsp5Yf.js +1 -0
- package/dist/assets/hy-DFXneXwc.js +1 -0
- package/dist/assets/imba-DGztddWO.js +1 -0
- package/dist/assets/index-BpNQAzdK.css +1 -0
- package/dist/assets/index-EdVqpCiz.js +835 -0
- package/dist/assets/infoDiagram-F6ZHWCRC-Z0X_yr7r.js +2 -0
- package/dist/assets/ini-BEwlwnbL.js +1 -0
- package/dist/assets/init-Gi6I4Gst.js +1 -0
- package/dist/assets/isUndefined-Daq2Snc8.js +1 -0
- package/dist/assets/java-CylS5w8V.js +1 -0
- package/dist/assets/javascript-BMMyXqK5.js +1 -0
- package/dist/assets/jinja-BJmZiE_F.js +1 -0
- package/dist/assets/jison-BCRtk9Os.js +1 -0
- package/dist/assets/journeyDiagram-XKPGCS4Q-Ce4GbjgA.js +139 -0
- package/dist/assets/json-Cp-IABpG.js +1 -0
- package/dist/assets/json5-C9tS-k6U.js +1 -0
- package/dist/assets/jsonc-Des-eS-w.js +1 -0
- package/dist/assets/jsonl-DcaNXYhu.js +1 -0
- package/dist/assets/jsonnet-DFQXde-d.js +1 -0
- package/dist/assets/jssm-C2t-YnRu.js +1 -0
- package/dist/assets/jsx-g9-lgVsj.js +1 -0
- package/dist/assets/julia-353pQ8cl.js +1 -0
- package/dist/assets/kanagawa-dragon-CkXjmgJE.js +1 -0
- package/dist/assets/kanagawa-lotus-CfQXZHmo.js +1 -0
- package/dist/assets/kanagawa-wave-DWedfzmr.js +1 -0
- package/dist/assets/kanban-definition-3W4ZIXB7-jKKX8cF-.js +89 -0
- package/dist/assets/kotlin-BdnUsdx6.js +1 -0
- package/dist/assets/kusto-BvAqAH-y.js +1 -0
- package/dist/assets/laserwave-DUszq2jm.js +1 -0
- package/dist/assets/latex-CPEt12BK.js +1 -0
- package/dist/assets/layout-CehWuyQv.js +1 -0
- package/dist/assets/lean-qliWkHmV.js +1 -0
- package/dist/assets/less-B1dDrJ26.js +1 -0
- package/dist/assets/light-plus-B7mTdjB0.js +1 -0
- package/dist/assets/linear-Do6UjTtT.js +1 -0
- package/dist/assets/liquid-DFk8BABL.js +1 -0
- package/dist/assets/llvm-D32k8WzR.js +1 -0
- package/dist/assets/log-2UxHyX5q.js +1 -0
- package/dist/assets/logo-BtOb2qkB.js +1 -0
- package/dist/assets/lua-BbnMAYS6.js +1 -0
- package/dist/assets/luau-CXu1NL6O.js +1 -0
- package/dist/assets/make-CHLpvVh8.js +1 -0
- package/dist/assets/markdown-Cvjx9yec.js +1 -0
- package/dist/assets/marko-BM38lbjI.js +1 -0
- package/dist/assets/material-theme-D5KoaKCx.js +1 -0
- package/dist/assets/material-theme-darker-BfHTSMKl.js +1 -0
- package/dist/assets/material-theme-lighter-B0m2ddpp.js +1 -0
- package/dist/assets/material-theme-ocean-CyktbL80.js +1 -0
- package/dist/assets/material-theme-palenight-Csfq5Kiy.js +1 -0
- package/dist/assets/matlab-D7o27uSR.js +1 -0
- package/dist/assets/mdc-DvHMhoCT.js +1 -0
- package/dist/assets/mdx-Cmh6b_Ma.js +1 -0
- package/dist/assets/mermaid-DKYwYmdq.js +1 -0
- package/dist/assets/mermaid.core-DboFnVDg.js +197 -0
- package/dist/assets/min-CoD9aTVe.js +1 -0
- package/dist/assets/min-dark-CafNBF8u.js +1 -0
- package/dist/assets/min-light-CTRr51gU.js +1 -0
- package/dist/assets/mindmap-definition-VGOIOE7T-DHqc52RG.js +68 -0
- package/dist/assets/mipsasm-CKIfxQSi.js +1 -0
- package/dist/assets/mojo-1DNp92w6.js +1 -0
- package/dist/assets/monokai-D4h5O-jR.js +1 -0
- package/dist/assets/move-DNEoBllO.js +1 -0
- package/dist/assets/narrat-DRg8JJMk.js +1 -0
- package/dist/assets/nextflow-CUEJCptM.js +1 -0
- package/dist/assets/nginx-DknmC5AR.js +1 -0
- package/dist/assets/night-owl-C39BiMTA.js +1 -0
- package/dist/assets/nim-BZI_8mFl.js +1 -0
- package/dist/assets/nix-BepWV7mh.js +1 -0
- package/dist/assets/nord-Ddv68eIx.js +1 -0
- package/dist/assets/nushell-ChH_ziBE.js +1 -0
- package/dist/assets/objective-c-DXmwc3jG.js +1 -0
- package/dist/assets/objective-cpp-CLxacb5B.js +1 -0
- package/dist/assets/ocaml-C0hk2d4L.js +1 -0
- package/dist/assets/one-dark-pro-DVMEJ2y_.js +1 -0
- package/dist/assets/one-light-PoHY5YXO.js +1 -0
- package/dist/assets/ordinal-Cboi1Yqb.js +1 -0
- package/dist/assets/pascal-D93ZcfNL.js +1 -0
- package/dist/assets/perl-g0D2lH3a.js +1 -0
- package/dist/assets/php-Gk5eUrPQ.js +1 -0
- package/dist/assets/pieDiagram-ADFJNKIX-bG2J_WkI.js +30 -0
- package/dist/assets/plastic-3e1v2bzS.js +1 -0
- package/dist/assets/plsql-ChMvpjG-.js +1 -0
- package/dist/assets/po-BTJTHyun.js +1 -0
- package/dist/assets/poimandres-CS3Unz2-.js +1 -0
- package/dist/assets/polar-C0HS_06l.js +1 -0
- package/dist/assets/postcss-CXtECtnM.js +1 -0
- package/dist/assets/powerquery-CEu0bR-o.js +1 -0
- package/dist/assets/powershell-Dpen1YoG.js +1 -0
- package/dist/assets/prisma-Dd19v3D-.js +1 -0
- package/dist/assets/prolog-CbFg5uaA.js +1 -0
- package/dist/assets/proto-DyJlTyXw.js +1 -0
- package/dist/assets/pug-Ch9lOoSd.js +1 -0
- package/dist/assets/puppet-BMWR74SV.js +1 -0
- package/dist/assets/purescript-CklMAg4u.js +1 -0
- package/dist/assets/python-B6aJPvgy.js +1 -0
- package/dist/assets/qml-CHzV51_b.js +1 -0
- package/dist/assets/qmldir-C8lEn-DE.js +1 -0
- package/dist/assets/qss-IeuSbFQv.js +1 -0
- package/dist/assets/quadrantDiagram-AYHSOK5B-CDEBrcZS.js +7 -0
- package/dist/assets/r-DiinP2Uv.js +1 -0
- package/dist/assets/racket-BqYA7rlc.js +1 -0
- package/dist/assets/raku-DXvB9xmW.js +1 -0
- package/dist/assets/razor-CNXmhs1n.js +1 -0
- package/dist/assets/red-bN70gL4F.js +1 -0
- package/dist/assets/reg-C-SQnVFl.js +1 -0
- package/dist/assets/regexp-CDVJQ6XC.js +1 -0
- package/dist/assets/rel-C3B-1QV4.js +1 -0
- package/dist/assets/requirementDiagram-UZGBJVZJ-D88jc_6e.js +64 -0
- package/dist/assets/riscv-BM1_JUlF.js +1 -0
- package/dist/assets/rose-pine-BHrmToEH.js +1 -0
- package/dist/assets/rose-pine-dawn-CnK8MTSM.js +1 -0
- package/dist/assets/rose-pine-moon-NleAzG8P.js +1 -0
- package/dist/assets/rst-DKdxLoXm.js +1 -0
- package/dist/assets/ruby-W1VRIm2Q.js +1 -0
- package/dist/assets/rust-B1yitclQ.js +1 -0
- package/dist/assets/sankeyDiagram-TZEHDZUN-C93LzfJ0.js +10 -0
- package/dist/assets/sas-cz2c8ADy.js +1 -0
- package/dist/assets/sass-Cj5Yp3dK.js +1 -0
- package/dist/assets/scala-C151Ov-r.js +1 -0
- package/dist/assets/scheme-C98Dy4si.js +1 -0
- package/dist/assets/scss-OYdSNvt2.js +1 -0
- package/dist/assets/sdbl-DVxCFoDh.js +1 -0
- package/dist/assets/sequenceDiagram-WL72ISMW-DjpL4ZUq.js +145 -0
- package/dist/assets/shaderlab-Dg9Lc6iA.js +1 -0
- package/dist/assets/shellscript-Yzrsuije.js +1 -0
- package/dist/assets/shellsession-BADoaaVG.js +1 -0
- package/dist/assets/slack-dark-BthQWCQV.js +1 -0
- package/dist/assets/slack-ochin-DqwNpetd.js +1 -0
- package/dist/assets/smalltalk-BERRCDM3.js +1 -0
- package/dist/assets/snazzy-light-Bw305WKR.js +1 -0
- package/dist/assets/solarized-dark-DXbdFlpD.js +1 -0
- package/dist/assets/solarized-light-L9t79GZl.js +1 -0
- package/dist/assets/solidity-BbcW6ACK.js +1 -0
- package/dist/assets/soy-B_7ge1HE.js +1 -0
- package/dist/assets/sparql-rVzFXLq3.js +1 -0
- package/dist/assets/splunk-BtCnVYZw.js +1 -0
- package/dist/assets/sql-BLtJtn59.js +1 -0
- package/dist/assets/ssh-config-_ykCGR6B.js +1 -0
- package/dist/assets/stata-BH5u7GGu.js +1 -0
- package/dist/assets/stateDiagram-FKZM4ZOC-Cy4Qc8UW.js +1 -0
- package/dist/assets/stateDiagram-v2-4FDKWEC3-wfRa7ccT.js +1 -0
- package/dist/assets/stylus-BEDo0Tqx.js +1 -0
- package/dist/assets/svelte-Dt5jNKfG.js +1 -0
- package/dist/assets/swift-Dg5xB15N.js +1 -0
- package/dist/assets/synthwave-84-CbfX1IO0.js +1 -0
- package/dist/assets/system-verilog-CnnmHF94.js +1 -0
- package/dist/assets/systemd-4A_iFExJ.js +1 -0
- package/dist/assets/talonscript-CkByrt1z.js +1 -0
- package/dist/assets/tasl-QIJgUcNo.js +1 -0
- package/dist/assets/tcl-dwOrl1Do.js +1 -0
- package/dist/assets/templ-0CNLO7il.js +1 -0
- package/dist/assets/terraform-BETggiCN.js +1 -0
- package/dist/assets/tex-B5i3u9ba.js +1 -0
- package/dist/assets/timeline-definition-IT6M3QCI-DNVlI21w.js +61 -0
- package/dist/assets/tokyo-night-hegEt444.js +1 -0
- package/dist/assets/toml-vGWfd6FD.js +1 -0
- package/dist/assets/treemap-KMMF4GRG-Cf7rPol4.js +128 -0
- package/dist/assets/ts-tags-B9XN6NYQ.js +1 -0
- package/dist/assets/tsv-B_m7g4N7.js +1 -0
- package/dist/assets/tsx-COt5Ahok.js +1 -0
- package/dist/assets/turtle-BsS91CYL.js +1 -0
- package/dist/assets/twig-B_ULif71.js +1 -0
- package/dist/assets/typescript-DlfHMoPT.js +1 -0
- package/dist/assets/typespec-Df68jz8_.js +1 -0
- package/dist/assets/typst-DHCkPAjA.js +1 -0
- package/dist/assets/v-DljmTZ5-.js +1 -0
- package/dist/assets/vala-CsfeWuGM.js +1 -0
- package/dist/assets/vb-D17OF-Vu.js +1 -0
- package/dist/assets/verilog-BQ8w6xss.js +1 -0
- package/dist/assets/vesper-DU1UobuO.js +1 -0
- package/dist/assets/vhdl-CeAyd5Ju.js +1 -0
- package/dist/assets/viml-CJc9bBzg.js +1 -0
- package/dist/assets/vitesse-black-Bkuqu6BP.js +1 -0
- package/dist/assets/vitesse-dark-D0r3Knsf.js +1 -0
- package/dist/assets/vitesse-light-CVO1_9PV.js +1 -0
- package/dist/assets/vue-BEetzCYT.js +1 -0
- package/dist/assets/vue-html-BsD9fJC1.js +1 -0
- package/dist/assets/vue-vine-CCdTUzyM.js +1 -0
- package/dist/assets/vyper-CDx5xZoG.js +1 -0
- package/dist/assets/wasm-CG6Dc4jp.js +1 -0
- package/dist/assets/wasm-MzD3tlZU.js +1 -0
- package/dist/assets/wenyan-BV7otONQ.js +1 -0
- package/dist/assets/wgsl-Dx-B1_4e.js +1 -0
- package/dist/assets/wikitext-BhOHFoWU.js +1 -0
- package/dist/assets/wit-5i3qLPDT.js +1 -0
- package/dist/assets/wolfram-lXgVvXCa.js +1 -0
- package/dist/assets/xml-sdJ4AIDG.js +1 -0
- package/dist/assets/xsl-CtQFsRM5.js +1 -0
- package/dist/assets/xychartDiagram-PRI3JC2R-CRudqT7y.js +7 -0
- package/dist/assets/yaml-Buea-lGh.js +1 -0
- package/dist/assets/zenscript-DVFEvuxE.js +1 -0
- package/dist/assets/zig-VOosw3JB.js +1 -0
- package/dist/index.html +2 -2
- package/package.json +20 -12
- package/src/artifacts/ArtifactViewer.tsx +22 -153
- package/src/chat/Chat.tsx +7 -9
- package/src/chat/components/MessageAI.tsx +2 -3
- package/src/chat/components/MessageBox.tsx +2 -2
- package/src/chat/components/MessageTool.tsx +4 -17
- package/src/chat/store/index.ts +0 -21
- package/src/chat/tools/create_artifacts.tsx +10 -26
- package/src/components/ai-elements/code-block.tsx +148 -0
- package/src/components/ai-elements/response.tsx +22 -0
- package/src/components/ui/button.tsx +60 -0
- package/src/components/ui/sonner.tsx +38 -0
- package/src/graph/index.tsx +1 -1
- package/src/index.css +121 -0
- package/src/index.ts +1 -2
- package/src/lib/utils.ts +6 -0
- package/src/settings/LoginSettings.tsx +1 -1
- package/src/settings/SettingPanel.tsx +1 -1
- package/test/main.tsx +0 -2
- package/tsconfig.json +5 -1
- package/tsconfig.node.json +1 -1
- package/vite.config.ts +3 -3
- package/dist/assets/index-CRq7a-Q4.css +0 -1
- package/dist/assets/index-IirYMaE5.js +0 -280
- package/src/artifacts/ArtifactsContext.tsx +0 -99
- package/src/artifacts/SourceCodeViewer.tsx +0 -15
- package/src/chat/components/JSONViewer.tsx +0 -18
- package/src/chat/components/JsonToMessage/JsonToMessage.tsx +0 -120
- package/src/chat/components/JsonToMessage/JsonToMessageButton.tsx +0 -20
- package/src/chat/components/JsonToMessage/index.tsx +0 -5
- package/src/chat/context/ChatContext.tsx +0 -83
- package/src/memory/BaseDB.ts +0 -92
- package/src/memory/db.ts +0 -232
- package/src/memory/fulltext-search.ts +0 -191
- package/src/memory/index.ts +0 -4
- package/src/memory/tools.ts +0 -170
- package/src/sonner/Toaster.tsx +0 -117
- package/src/sonner/index.ts +0 -3
- package/src/sonner/toast.ts +0 -50
- package/src/sonner/types.ts +0 -21
|
@@ -1,47 +1,31 @@
|
|
|
1
|
-
import { createUITool, ToolRenderData } from "@langgraph-js/sdk";
|
|
1
|
+
import { ArtifactCommand, createUITool, ToolRenderData } from "@langgraph-js/sdk";
|
|
2
2
|
import { FileIcon } from "lucide-react";
|
|
3
|
-
import {
|
|
4
|
-
import { useArtifacts } from "../../artifacts/ArtifactsContext";
|
|
5
|
-
|
|
6
|
-
interface ArtifactsInput {
|
|
7
|
-
filename: string;
|
|
8
|
-
filetype: string;
|
|
9
|
-
code: string;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
interface ArtifactsResponse {
|
|
13
|
-
success: boolean;
|
|
14
|
-
message: string;
|
|
15
|
-
artifactsPath?: string;
|
|
16
|
-
}
|
|
3
|
+
import { useChat } from "@langgraph-js/sdk/react";
|
|
17
4
|
|
|
18
5
|
export const create_artifacts = createUITool({
|
|
19
6
|
name: "create_artifacts",
|
|
20
7
|
description: "创建并保存代码文件到 artifacts 目录",
|
|
21
8
|
parameters: {},
|
|
22
9
|
onlyRender: true,
|
|
23
|
-
render(tool:
|
|
24
|
-
const data = tool.getInputRepaired();
|
|
25
|
-
const { setCurrentArtifactById,
|
|
10
|
+
render(tool: any) {
|
|
11
|
+
const data: ArtifactCommand = tool.getInputRepaired();
|
|
12
|
+
const { setCurrentArtifactById, setShowArtifact } = useChat();
|
|
26
13
|
|
|
27
14
|
const toggleExpand = () => {
|
|
28
|
-
|
|
15
|
+
console.log(data.id, tool.message.id);
|
|
16
|
+
setCurrentArtifactById(data.id, tool.message.id!);
|
|
17
|
+
setShowArtifact(true);
|
|
29
18
|
};
|
|
30
19
|
|
|
31
20
|
return (
|
|
32
21
|
<div className="p-4 space-y-4">
|
|
33
|
-
<div className="text-sm text-gray-500">
|
|
34
|
-
创建文件: {data.filename}.{data.filetype}
|
|
35
|
-
</div>
|
|
22
|
+
<div className="text-sm text-gray-500">创建文件: {data.title}</div>
|
|
36
23
|
<div className="border rounded-lg p-2 hover:bg-gray-50">
|
|
37
24
|
<div className="flex items-center justify-between select-none cursor-pointer" onClick={toggleExpand}>
|
|
38
25
|
<div className="flex items-center gap-2">
|
|
39
26
|
<FileIcon className="w-4 h-4" />
|
|
40
|
-
<span className="font-xs">{data.
|
|
27
|
+
<span className="font-xs">{data.title}</span> version: {data.id}
|
|
41
28
|
</div>
|
|
42
|
-
<span className="text-gray-400">
|
|
43
|
-
{data.filetype} {currentArtifact?.id === tool.message.id ? "▼" : "▶"}
|
|
44
|
-
</span>
|
|
45
29
|
</div>
|
|
46
30
|
</div>
|
|
47
31
|
</div>
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { Button } from "@/components/ui/button";
|
|
4
|
+
import { cn } from "@/lib/utils";
|
|
5
|
+
import { CheckIcon, CopyIcon } from "lucide-react";
|
|
6
|
+
import type { ComponentProps, HTMLAttributes, ReactNode } from "react";
|
|
7
|
+
import { createContext, useContext, useState } from "react";
|
|
8
|
+
import { Prism as SyntaxHighlighter } from "react-syntax-highlighter";
|
|
9
|
+
import {
|
|
10
|
+
oneDark,
|
|
11
|
+
oneLight,
|
|
12
|
+
} from "react-syntax-highlighter/dist/esm/styles/prism";
|
|
13
|
+
|
|
14
|
+
type CodeBlockContextType = {
|
|
15
|
+
code: string;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const CodeBlockContext = createContext<CodeBlockContextType>({
|
|
19
|
+
code: "",
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
export type CodeBlockProps = HTMLAttributes<HTMLDivElement> & {
|
|
23
|
+
code: string;
|
|
24
|
+
language: string;
|
|
25
|
+
showLineNumbers?: boolean;
|
|
26
|
+
children?: ReactNode;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export const CodeBlock = ({
|
|
30
|
+
code,
|
|
31
|
+
language,
|
|
32
|
+
showLineNumbers = false,
|
|
33
|
+
className,
|
|
34
|
+
children,
|
|
35
|
+
...props
|
|
36
|
+
}: CodeBlockProps) => (
|
|
37
|
+
<CodeBlockContext.Provider value={{ code }}>
|
|
38
|
+
<div
|
|
39
|
+
className={cn(
|
|
40
|
+
"relative w-full overflow-hidden rounded-md border bg-background text-foreground",
|
|
41
|
+
className
|
|
42
|
+
)}
|
|
43
|
+
{...props}
|
|
44
|
+
>
|
|
45
|
+
<div className="relative">
|
|
46
|
+
<SyntaxHighlighter
|
|
47
|
+
className="overflow-hidden dark:hidden"
|
|
48
|
+
codeTagProps={{
|
|
49
|
+
className: "font-mono text-sm",
|
|
50
|
+
}}
|
|
51
|
+
customStyle={{
|
|
52
|
+
margin: 0,
|
|
53
|
+
padding: "1rem",
|
|
54
|
+
fontSize: "0.875rem",
|
|
55
|
+
background: "hsl(var(--background))",
|
|
56
|
+
color: "hsl(var(--foreground))",
|
|
57
|
+
}}
|
|
58
|
+
language={language}
|
|
59
|
+
lineNumberStyle={{
|
|
60
|
+
color: "hsl(var(--muted-foreground))",
|
|
61
|
+
paddingRight: "1rem",
|
|
62
|
+
minWidth: "2.5rem",
|
|
63
|
+
}}
|
|
64
|
+
showLineNumbers={showLineNumbers}
|
|
65
|
+
style={oneLight}
|
|
66
|
+
>
|
|
67
|
+
{code}
|
|
68
|
+
</SyntaxHighlighter>
|
|
69
|
+
<SyntaxHighlighter
|
|
70
|
+
className="hidden overflow-hidden dark:block"
|
|
71
|
+
codeTagProps={{
|
|
72
|
+
className: "font-mono text-sm",
|
|
73
|
+
}}
|
|
74
|
+
customStyle={{
|
|
75
|
+
margin: 0,
|
|
76
|
+
padding: "1rem",
|
|
77
|
+
fontSize: "0.875rem",
|
|
78
|
+
background: "hsl(var(--background))",
|
|
79
|
+
color: "hsl(var(--foreground))",
|
|
80
|
+
}}
|
|
81
|
+
language={language}
|
|
82
|
+
lineNumberStyle={{
|
|
83
|
+
color: "hsl(var(--muted-foreground))",
|
|
84
|
+
paddingRight: "1rem",
|
|
85
|
+
minWidth: "2.5rem",
|
|
86
|
+
}}
|
|
87
|
+
showLineNumbers={showLineNumbers}
|
|
88
|
+
style={oneDark}
|
|
89
|
+
>
|
|
90
|
+
{code}
|
|
91
|
+
</SyntaxHighlighter>
|
|
92
|
+
{children && (
|
|
93
|
+
<div className="absolute top-2 right-2 flex items-center gap-2">
|
|
94
|
+
{children}
|
|
95
|
+
</div>
|
|
96
|
+
)}
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
</CodeBlockContext.Provider>
|
|
100
|
+
);
|
|
101
|
+
|
|
102
|
+
export type CodeBlockCopyButtonProps = ComponentProps<typeof Button> & {
|
|
103
|
+
onCopy?: () => void;
|
|
104
|
+
onError?: (error: Error) => void;
|
|
105
|
+
timeout?: number;
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
export const CodeBlockCopyButton = ({
|
|
109
|
+
onCopy,
|
|
110
|
+
onError,
|
|
111
|
+
timeout = 2000,
|
|
112
|
+
children,
|
|
113
|
+
className,
|
|
114
|
+
...props
|
|
115
|
+
}: CodeBlockCopyButtonProps) => {
|
|
116
|
+
const [isCopied, setIsCopied] = useState(false);
|
|
117
|
+
const { code } = useContext(CodeBlockContext);
|
|
118
|
+
|
|
119
|
+
const copyToClipboard = async () => {
|
|
120
|
+
if (typeof window === "undefined" || !navigator.clipboard.writeText) {
|
|
121
|
+
onError?.(new Error("Clipboard API not available"));
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
try {
|
|
126
|
+
await navigator.clipboard.writeText(code);
|
|
127
|
+
setIsCopied(true);
|
|
128
|
+
onCopy?.();
|
|
129
|
+
setTimeout(() => setIsCopied(false), timeout);
|
|
130
|
+
} catch (error) {
|
|
131
|
+
onError?.(error as Error);
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
const Icon = isCopied ? CheckIcon : CopyIcon;
|
|
136
|
+
|
|
137
|
+
return (
|
|
138
|
+
<Button
|
|
139
|
+
className={cn("shrink-0", className)}
|
|
140
|
+
onClick={copyToClipboard}
|
|
141
|
+
size="icon"
|
|
142
|
+
variant="ghost"
|
|
143
|
+
{...props}
|
|
144
|
+
>
|
|
145
|
+
{children ?? <Icon size={14} />}
|
|
146
|
+
</Button>
|
|
147
|
+
);
|
|
148
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { cn } from "@/lib/utils";
|
|
4
|
+
import { type ComponentProps, memo } from "react";
|
|
5
|
+
import { Streamdown } from "streamdown";
|
|
6
|
+
|
|
7
|
+
type ResponseProps = ComponentProps<typeof Streamdown>;
|
|
8
|
+
|
|
9
|
+
export const Response = memo(
|
|
10
|
+
({ className, ...props }: ResponseProps) => (
|
|
11
|
+
<Streamdown
|
|
12
|
+
className={cn(
|
|
13
|
+
"size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",
|
|
14
|
+
className
|
|
15
|
+
)}
|
|
16
|
+
{...props}
|
|
17
|
+
/>
|
|
18
|
+
),
|
|
19
|
+
(prevProps, nextProps) => prevProps.children === nextProps.children
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
Response.displayName = "Response";
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import * as React from "react"
|
|
2
|
+
import { Slot } from "@radix-ui/react-slot"
|
|
3
|
+
import { cva, type VariantProps } from "class-variance-authority"
|
|
4
|
+
|
|
5
|
+
import { cn } from "@/lib/utils"
|
|
6
|
+
|
|
7
|
+
const buttonVariants = cva(
|
|
8
|
+
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
9
|
+
{
|
|
10
|
+
variants: {
|
|
11
|
+
variant: {
|
|
12
|
+
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
13
|
+
destructive:
|
|
14
|
+
"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
|
|
15
|
+
outline:
|
|
16
|
+
"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
17
|
+
secondary:
|
|
18
|
+
"bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
19
|
+
ghost:
|
|
20
|
+
"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
21
|
+
link: "text-primary underline-offset-4 hover:underline",
|
|
22
|
+
},
|
|
23
|
+
size: {
|
|
24
|
+
default: "h-9 px-4 py-2 has-[>svg]:px-3",
|
|
25
|
+
sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
|
|
26
|
+
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
|
|
27
|
+
icon: "size-9",
|
|
28
|
+
"icon-sm": "size-8",
|
|
29
|
+
"icon-lg": "size-10",
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
defaultVariants: {
|
|
33
|
+
variant: "default",
|
|
34
|
+
size: "default",
|
|
35
|
+
},
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
function Button({
|
|
40
|
+
className,
|
|
41
|
+
variant,
|
|
42
|
+
size,
|
|
43
|
+
asChild = false,
|
|
44
|
+
...props
|
|
45
|
+
}: React.ComponentProps<"button"> &
|
|
46
|
+
VariantProps<typeof buttonVariants> & {
|
|
47
|
+
asChild?: boolean
|
|
48
|
+
}) {
|
|
49
|
+
const Comp = asChild ? Slot : "button"
|
|
50
|
+
|
|
51
|
+
return (
|
|
52
|
+
<Comp
|
|
53
|
+
data-slot="button"
|
|
54
|
+
className={cn(buttonVariants({ variant, size, className }))}
|
|
55
|
+
{...props}
|
|
56
|
+
/>
|
|
57
|
+
)
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export { Button, buttonVariants }
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CircleCheckIcon,
|
|
3
|
+
InfoIcon,
|
|
4
|
+
Loader2Icon,
|
|
5
|
+
OctagonXIcon,
|
|
6
|
+
TriangleAlertIcon,
|
|
7
|
+
} from "lucide-react"
|
|
8
|
+
import { useTheme } from "next-themes"
|
|
9
|
+
import { Toaster as Sonner, type ToasterProps } from "sonner"
|
|
10
|
+
|
|
11
|
+
const Toaster = ({ ...props }: ToasterProps) => {
|
|
12
|
+
const { theme = "system" } = useTheme()
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<Sonner
|
|
16
|
+
theme={theme as ToasterProps["theme"]}
|
|
17
|
+
className="toaster group"
|
|
18
|
+
icons={{
|
|
19
|
+
success: <CircleCheckIcon className="size-4" />,
|
|
20
|
+
info: <InfoIcon className="size-4" />,
|
|
21
|
+
warning: <TriangleAlertIcon className="size-4" />,
|
|
22
|
+
error: <OctagonXIcon className="size-4" />,
|
|
23
|
+
loading: <Loader2Icon className="size-4 animate-spin" />,
|
|
24
|
+
}}
|
|
25
|
+
style={
|
|
26
|
+
{
|
|
27
|
+
"--normal-bg": "var(--popover)",
|
|
28
|
+
"--normal-text": "var(--popover-foreground)",
|
|
29
|
+
"--normal-border": "var(--border)",
|
|
30
|
+
"--border-radius": "var(--radius)",
|
|
31
|
+
} as React.CSSProperties
|
|
32
|
+
}
|
|
33
|
+
{...props}
|
|
34
|
+
/>
|
|
35
|
+
)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export { Toaster }
|
package/src/graph/index.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReactFlow, Background, Controls, Node, Edge, ReactFlowProvider, useNodesState, useEdgesState, useReactFlow, Panel } from "@xyflow/react";
|
|
2
2
|
import "@xyflow/react/dist/style.css";
|
|
3
3
|
import { useCallback, useEffect } from "react";
|
|
4
|
-
import { useChat } from "
|
|
4
|
+
import { useChat } from "@langgraph-js/sdk/react";
|
|
5
5
|
import Dagre from "@dagrejs/dagre";
|
|
6
6
|
import { flattenGraph } from "./flattenGraph";
|
|
7
7
|
import { AssistantGraph } from "@langgraph-js/sdk";
|
package/src/index.css
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
@source "../node_modules/streamdown/dist/index.js";
|
|
2
|
+
@import "tailwindcss";
|
|
3
|
+
@import "tw-animate-css";
|
|
4
|
+
|
|
5
|
+
@custom-variant dark (&:is(.dark *));
|
|
6
|
+
|
|
7
|
+
@theme inline {
|
|
8
|
+
--radius-sm: calc(var(--radius) - 4px);
|
|
9
|
+
--radius-md: calc(var(--radius) - 2px);
|
|
10
|
+
--radius-lg: var(--radius);
|
|
11
|
+
--radius-xl: calc(var(--radius) + 4px);
|
|
12
|
+
--color-background: var(--background);
|
|
13
|
+
--color-foreground: var(--foreground);
|
|
14
|
+
--color-card: var(--card);
|
|
15
|
+
--color-card-foreground: var(--card-foreground);
|
|
16
|
+
--color-popover: var(--popover);
|
|
17
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
18
|
+
--color-primary: var(--primary);
|
|
19
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
20
|
+
--color-secondary: var(--secondary);
|
|
21
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
22
|
+
--color-muted: var(--muted);
|
|
23
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
24
|
+
--color-accent: var(--accent);
|
|
25
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
26
|
+
--color-destructive: var(--destructive);
|
|
27
|
+
--color-border: var(--border);
|
|
28
|
+
--color-input: var(--input);
|
|
29
|
+
--color-ring: var(--ring);
|
|
30
|
+
--color-chart-1: var(--chart-1);
|
|
31
|
+
--color-chart-2: var(--chart-2);
|
|
32
|
+
--color-chart-3: var(--chart-3);
|
|
33
|
+
--color-chart-4: var(--chart-4);
|
|
34
|
+
--color-chart-5: var(--chart-5);
|
|
35
|
+
--color-sidebar: var(--sidebar);
|
|
36
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
37
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
38
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
39
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
40
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
41
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
42
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
:root {
|
|
46
|
+
--radius: 0.625rem;
|
|
47
|
+
--background: oklch(1 0 0);
|
|
48
|
+
--foreground: oklch(0.145 0 0);
|
|
49
|
+
--card: oklch(1 0 0);
|
|
50
|
+
--card-foreground: oklch(0.145 0 0);
|
|
51
|
+
--popover: oklch(1 0 0);
|
|
52
|
+
--popover-foreground: oklch(0.145 0 0);
|
|
53
|
+
--primary: oklch(0.205 0 0);
|
|
54
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
55
|
+
--secondary: oklch(0.97 0 0);
|
|
56
|
+
--secondary-foreground: oklch(0.205 0 0);
|
|
57
|
+
--muted: oklch(0.97 0 0);
|
|
58
|
+
--muted-foreground: oklch(0.556 0 0);
|
|
59
|
+
--accent: oklch(0.97 0 0);
|
|
60
|
+
--accent-foreground: oklch(0.205 0 0);
|
|
61
|
+
--destructive: oklch(0.577 0.245 27.325);
|
|
62
|
+
--border: oklch(0.922 0 0);
|
|
63
|
+
--input: oklch(0.922 0 0);
|
|
64
|
+
--ring: oklch(0.708 0 0);
|
|
65
|
+
--chart-1: oklch(0.646 0.222 41.116);
|
|
66
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
67
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
68
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
69
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
70
|
+
--sidebar: oklch(0.985 0 0);
|
|
71
|
+
--sidebar-foreground: oklch(0.145 0 0);
|
|
72
|
+
--sidebar-primary: oklch(0.205 0 0);
|
|
73
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
74
|
+
--sidebar-accent: oklch(0.97 0 0);
|
|
75
|
+
--sidebar-accent-foreground: oklch(0.205 0 0);
|
|
76
|
+
--sidebar-border: oklch(0.922 0 0);
|
|
77
|
+
--sidebar-ring: oklch(0.708 0 0);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.dark {
|
|
81
|
+
--background: oklch(0.145 0 0);
|
|
82
|
+
--foreground: oklch(0.985 0 0);
|
|
83
|
+
--card: oklch(0.205 0 0);
|
|
84
|
+
--card-foreground: oklch(0.985 0 0);
|
|
85
|
+
--popover: oklch(0.205 0 0);
|
|
86
|
+
--popover-foreground: oklch(0.985 0 0);
|
|
87
|
+
--primary: oklch(0.922 0 0);
|
|
88
|
+
--primary-foreground: oklch(0.205 0 0);
|
|
89
|
+
--secondary: oklch(0.269 0 0);
|
|
90
|
+
--secondary-foreground: oklch(0.985 0 0);
|
|
91
|
+
--muted: oklch(0.269 0 0);
|
|
92
|
+
--muted-foreground: oklch(0.708 0 0);
|
|
93
|
+
--accent: oklch(0.269 0 0);
|
|
94
|
+
--accent-foreground: oklch(0.985 0 0);
|
|
95
|
+
--destructive: oklch(0.704 0.191 22.216);
|
|
96
|
+
--border: oklch(1 0 0 / 10%);
|
|
97
|
+
--input: oklch(1 0 0 / 15%);
|
|
98
|
+
--ring: oklch(0.556 0 0);
|
|
99
|
+
--chart-1: oklch(0.488 0.243 264.376);
|
|
100
|
+
--chart-2: oklch(0.696 0.17 162.48);
|
|
101
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
102
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
103
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
104
|
+
--sidebar: oklch(0.205 0 0);
|
|
105
|
+
--sidebar-foreground: oklch(0.985 0 0);
|
|
106
|
+
--sidebar-primary: oklch(0.488 0.243 264.376);
|
|
107
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
108
|
+
--sidebar-accent: oklch(0.269 0 0);
|
|
109
|
+
--sidebar-accent-foreground: oklch(0.985 0 0);
|
|
110
|
+
--sidebar-border: oklch(1 0 0 / 10%);
|
|
111
|
+
--sidebar-ring: oklch(0.556 0 0);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
@layer base {
|
|
115
|
+
* {
|
|
116
|
+
@apply border-border outline-ring/50;
|
|
117
|
+
}
|
|
118
|
+
body {
|
|
119
|
+
@apply bg-background text-foreground;
|
|
120
|
+
}
|
|
121
|
+
}
|
package/src/index.ts
CHANGED
package/src/lib/utils.ts
ADDED
|
@@ -45,7 +45,7 @@ const SettingPanel: React.FC<SettingPanelProps> = ({ isOpen, onClose, tabs: exte
|
|
|
45
45
|
if (!isOpen) return null;
|
|
46
46
|
|
|
47
47
|
return (
|
|
48
|
-
<div className="fixed inset-0 bg-
|
|
48
|
+
<div className="fixed inset-0 bg-opacity-50 flex items-center justify-center z-50 backdrop-blur-sm">
|
|
49
49
|
<div className="bg-white dark:bg-gray-800 rounded-lg shadow-xl w-full max-w-2xl h-[80vh] flex flex-col relative overflow-hidden ring-1 ring-gray-900/5 dark:ring-white/10">
|
|
50
50
|
{/* 关闭按钮 */}
|
|
51
51
|
<button
|
package/test/main.tsx
CHANGED
package/tsconfig.json
CHANGED
|
@@ -14,7 +14,11 @@
|
|
|
14
14
|
"resolveJsonModule": true,
|
|
15
15
|
"isolatedModules": true,
|
|
16
16
|
"noEmit": true,
|
|
17
|
-
"jsx": "react-jsx"
|
|
17
|
+
"jsx": "react-jsx",
|
|
18
|
+
"baseUrl": ".",
|
|
19
|
+
"paths": {
|
|
20
|
+
"@/*": ["./src/*"]
|
|
21
|
+
}
|
|
18
22
|
},
|
|
19
23
|
"include": ["test", "test/**/*.tsx"],
|
|
20
24
|
"references": [{ "path": "./tsconfig.node.json" }]
|
package/tsconfig.node.json
CHANGED
package/vite.config.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import react from "@vitejs/plugin-react";
|
|
2
2
|
import { defineConfig } from "vite";
|
|
3
3
|
import basicSsl from "@vitejs/plugin-basic-ssl";
|
|
4
|
-
import
|
|
5
|
-
import UnoCSS from "unocss/vite";
|
|
4
|
+
import tailwindcss from "@tailwindcss/vite";
|
|
6
5
|
// https://vitejs.dev/config/
|
|
7
6
|
export default defineConfig(({ mode }) => {
|
|
8
7
|
const isHttps = mode === "https";
|
|
9
8
|
return {
|
|
10
|
-
plugins: [
|
|
9
|
+
plugins: [react(), tailwindcss(), isHttps ? basicSsl() : undefined],
|
|
11
10
|
resolve: {
|
|
12
11
|
alias: {
|
|
13
12
|
"@langgraph-js/sdk": new URL("../langgraph-client/src", import.meta.url).pathname,
|
|
13
|
+
"@/": new URL("./src/", import.meta.url).pathname,
|
|
14
14
|
},
|
|
15
15
|
},
|
|
16
16
|
optimizeDeps: {
|