@cogentic-co/ds 0.5.1 → 0.5.3
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/dist/animations/animation-ai-analysis.js +2 -3
- package/dist/animations/animation-audit-trail.js +2 -3
- package/dist/animations/animation-compliance-reports.js +2 -3
- package/dist/animations/animation-custom-rules.js +2 -3
- package/dist/animations/animation-jira-ticket.js +2 -3
- package/dist/animations/animation-jurisdiction-detection.js +2 -3
- package/dist/animations/animation-multi-protocol.js +2 -3
- package/dist/animations/animation-pricing-preview.js +2 -3
- package/dist/animations/animation-realtime-updates.js +2 -3
- package/dist/animations/animation-rest-api.js +2 -3
- package/dist/animations/animation-risk-scoring.js +2 -3
- package/dist/animations/animation-sandbox.js +2 -3
- package/dist/animations/animation-scheduled-reports.js +2 -3
- package/dist/animations/animation-secure-messaging.js +2 -3
- package/dist/animations/animation-slack-notification.js +2 -3
- package/dist/animations/animation-sop-mapping.js +2 -3
- package/dist/animations/animation-team-routing.js +2 -3
- package/dist/animations/animation-teams-notification.js +2 -3
- package/dist/animations/animation-vasp-identification.js +2 -3
- package/dist/animations/animation-webhooks.js +2 -3
- package/dist/blocks/auth-form.js +4 -5
- package/dist/blocks/feature-section.js +2 -3
- package/dist/blocks/hero-section.js +2 -3
- package/dist/blocks/pricing-table.js +3 -4
- package/dist/blocks/stat-card.js +3 -4
- package/dist/charts.js +2 -3
- package/dist/chatbot.js +1 -2
- package/dist/chatbot.js.map +1 -1
- package/dist/{chunk-ZLI4DUPN.js → chunk-4NEQV6H2.js} +3 -4
- package/dist/chunk-4NEQV6H2.js.map +1 -0
- package/dist/{chunk-LPLHBW3D.js → chunk-4YD3YS4B.js} +3 -3
- package/dist/{chunk-LPLHBW3D.js.map → chunk-4YD3YS4B.js.map} +1 -1
- package/dist/{chunk-XQULNNYI.js → chunk-5JLZ42JT.js} +3 -3
- package/dist/{chunk-XQULNNYI.js.map → chunk-5JLZ42JT.js.map} +1 -1
- package/dist/{chunk-MWOKG6Q6.js → chunk-5OOO6TRA.js} +3 -3
- package/dist/{chunk-MWOKG6Q6.js.map → chunk-5OOO6TRA.js.map} +1 -1
- package/dist/{chunk-BDICDLS4.js → chunk-65Z2VEKG.js} +3 -3
- package/dist/{chunk-BDICDLS4.js.map → chunk-65Z2VEKG.js.map} +1 -1
- package/dist/{chunk-4AMGJ6V6.js → chunk-7HRPF2N2.js} +4 -5
- package/dist/chunk-7HRPF2N2.js.map +1 -0
- package/dist/{chunk-VLC2H35H.js → chunk-BNFSXNP2.js} +3 -4
- package/dist/chunk-BNFSXNP2.js.map +1 -0
- package/dist/{chunk-3LQKDTMG.js → chunk-BTFYV3TI.js} +3 -3
- package/dist/{chunk-3LQKDTMG.js.map → chunk-BTFYV3TI.js.map} +1 -1
- package/dist/{chunk-OSTGUWBQ.js → chunk-BTZB4JRC.js} +3 -3
- package/dist/{chunk-OSTGUWBQ.js.map → chunk-BTZB4JRC.js.map} +1 -1
- package/dist/{chunk-YFXOWLHW.js → chunk-BZSA47MS.js} +3 -3
- package/dist/{chunk-YFXOWLHW.js.map → chunk-BZSA47MS.js.map} +1 -1
- package/dist/{chunk-WM7J5AFW.js → chunk-CG5JA7FM.js} +3 -4
- package/dist/chunk-CG5JA7FM.js.map +1 -0
- package/dist/{chunk-QFT4SUYI.js → chunk-EFLWU2JP.js} +3 -3
- package/dist/{chunk-QFT4SUYI.js.map → chunk-EFLWU2JP.js.map} +1 -1
- package/dist/{chunk-NCUG7GCF.js → chunk-F7REPQOA.js} +3 -3
- package/dist/{chunk-NCUG7GCF.js.map → chunk-F7REPQOA.js.map} +1 -1
- package/dist/{chunk-34DL2N2L.js → chunk-FKPK3CB7.js} +3 -4
- package/dist/chunk-FKPK3CB7.js.map +1 -0
- package/dist/chunk-GZNLQE3I.js +55 -0
- package/dist/chunk-GZNLQE3I.js.map +1 -0
- package/dist/{chunk-SOGD55OD.js → chunk-H7VUIMEL.js} +3 -4
- package/dist/chunk-H7VUIMEL.js.map +1 -0
- package/dist/{chunk-ACUHNJB5.js → chunk-HTYR73ON.js} +3 -3
- package/dist/{chunk-ACUHNJB5.js.map → chunk-HTYR73ON.js.map} +1 -1
- package/dist/{chunk-XRSN2V6U.js → chunk-I26ZXVSY.js} +3 -3
- package/dist/{chunk-XRSN2V6U.js.map → chunk-I26ZXVSY.js.map} +1 -1
- package/dist/{chunk-PT3UCIZC.js → chunk-IKATDPHG.js} +3 -3
- package/dist/{chunk-PT3UCIZC.js.map → chunk-IKATDPHG.js.map} +1 -1
- package/dist/{chunk-2FM7MIQO.js → chunk-KUOF3XRZ.js} +3 -3
- package/dist/{chunk-2FM7MIQO.js.map → chunk-KUOF3XRZ.js.map} +1 -1
- package/dist/{chunk-LCPWR5YQ.js → chunk-LW6GAWZM.js} +5 -6
- package/dist/chunk-LW6GAWZM.js.map +1 -0
- package/dist/{chunk-4LGHWTQ2.js → chunk-N7PBUY7G.js} +3 -3
- package/dist/{chunk-4LGHWTQ2.js.map → chunk-N7PBUY7G.js.map} +1 -1
- package/dist/{chunk-XWICRB5T.js → chunk-NAPDFVBI.js} +3 -3
- package/dist/{chunk-XWICRB5T.js.map → chunk-NAPDFVBI.js.map} +1 -1
- package/dist/{chunk-UEEB7IUZ.js → chunk-RTK7R4KZ.js} +3 -3
- package/dist/{chunk-UEEB7IUZ.js.map → chunk-RTK7R4KZ.js.map} +1 -1
- package/dist/{chunk-AXFF2MQP.js → chunk-RZZTDJHG.js} +3 -3
- package/dist/{chunk-AXFF2MQP.js.map → chunk-RZZTDJHG.js.map} +1 -1
- package/dist/{chunk-UA4DQZNB.js → chunk-SNOJLZP4.js} +3 -3
- package/dist/{chunk-UA4DQZNB.js.map → chunk-SNOJLZP4.js.map} +1 -1
- package/dist/{chunk-OZD3Z7GU.js → chunk-U4EPKN7G.js} +3 -4
- package/dist/chunk-U4EPKN7G.js.map +1 -0
- package/dist/{chunk-O7JZMTAT.js → chunk-VWSX75RB.js} +4 -5
- package/dist/chunk-VWSX75RB.js.map +1 -0
- package/dist/{chunk-XOPA23DG.js → chunk-XQYFQ6PU.js} +3 -4
- package/dist/chunk-XQYFQ6PU.js.map +1 -0
- package/dist/index.d.ts +1 -3
- package/dist/index.js +37 -96
- package/dist/index.js.map +1 -1
- package/dist/workflow.d.ts +4 -4
- package/dist/workflow.js +797 -3
- package/dist/workflow.js.map +1 -1
- package/package.json +1 -1
- package/dist/abap-JVNKIOMP.js +0 -12
- package/dist/abap-JVNKIOMP.js.map +0 -1
- package/dist/actionscript-3-QCPKLQV4.js +0 -12
- package/dist/actionscript-3-QCPKLQV4.js.map +0 -1
- package/dist/ada-NXDODUUK.js +0 -12
- package/dist/ada-NXDODUUK.js.map +0 -1
- package/dist/andromeeda-7AT7JT2B.js +0 -9
- package/dist/andromeeda-7AT7JT2B.js.map +0 -1
- package/dist/angular-html-D25KLDLS.js +0 -8
- package/dist/angular-html-D25KLDLS.js.map +0 -1
- package/dist/angular-ts-KTYAOQJU.js +0 -38
- package/dist/angular-ts-KTYAOQJU.js.map +0 -1
- package/dist/apache-WOIOPE2O.js +0 -12
- package/dist/apache-WOIOPE2O.js.map +0 -1
- package/dist/apex-RXTMDZWW.js +0 -12
- package/dist/apex-RXTMDZWW.js.map +0 -1
- package/dist/apl-7C6665QV.js +0 -23
- package/dist/apl-7C6665QV.js.map +0 -1
- package/dist/applescript-6G6HYPPU.js +0 -12
- package/dist/applescript-6G6HYPPU.js.map +0 -1
- package/dist/ara-IQOJSPC2.js +0 -12
- package/dist/ara-IQOJSPC2.js.map +0 -1
- package/dist/asciidoc-HA5NDUD7.js +0 -12
- package/dist/asciidoc-HA5NDUD7.js.map +0 -1
- package/dist/asm-OHQMQR27.js +0 -12
- package/dist/asm-OHQMQR27.js.map +0 -1
- package/dist/astro-ZG5RIYP7.js +0 -24
- package/dist/astro-ZG5RIYP7.js.map +0 -1
- package/dist/aurora-x-4KOSDTOS.js +0 -9
- package/dist/aurora-x-4KOSDTOS.js.map +0 -1
- package/dist/awk-YKWBAWUJ.js +0 -12
- package/dist/awk-YKWBAWUJ.js.map +0 -1
- package/dist/ayu-dark-PAPGDCBY.js +0 -9
- package/dist/ayu-dark-PAPGDCBY.js.map +0 -1
- package/dist/ayu-light-YT7XGRXL.js +0 -9
- package/dist/ayu-light-YT7XGRXL.js.map +0 -1
- package/dist/ayu-mirage-YB3DLB3L.js +0 -9
- package/dist/ayu-mirage-YB3DLB3L.js.map +0 -1
- package/dist/ballerina-BAIWEDVH.js +0 -12
- package/dist/ballerina-BAIWEDVH.js.map +0 -1
- package/dist/bat-6FBMYA3T.js +0 -12
- package/dist/bat-6FBMYA3T.js.map +0 -1
- package/dist/beancount-WMX4MTBY.js +0 -12
- package/dist/beancount-WMX4MTBY.js.map +0 -1
- package/dist/berry-ESESFRNG.js +0 -12
- package/dist/berry-ESESFRNG.js.map +0 -1
- package/dist/bibtex-OA2XKETO.js +0 -12
- package/dist/bibtex-OA2XKETO.js.map +0 -1
- package/dist/bicep-AIVY2HYW.js +0 -12
- package/dist/bicep-AIVY2HYW.js.map +0 -1
- package/dist/bird2-4KSB7ZME.js +0 -12
- package/dist/bird2-4KSB7ZME.js.map +0 -1
- package/dist/blade-FVGK7TGV.js +0 -27
- package/dist/blade-FVGK7TGV.js.map +0 -1
- package/dist/bsl-M47TTDHG.js +0 -14
- package/dist/bsl-M47TTDHG.js.map +0 -1
- package/dist/c-UWJUSIYD.js +0 -5
- package/dist/c-UWJUSIYD.js.map +0 -1
- package/dist/c3-2GZGHANU.js +0 -12
- package/dist/c3-2GZGHANU.js.map +0 -1
- package/dist/cadence-NUKHDSFY.js +0 -12
- package/dist/cadence-NUKHDSFY.js.map +0 -1
- package/dist/cairo-STJR45SX.js +0 -14
- package/dist/cairo-STJR45SX.js.map +0 -1
- package/dist/catppuccin-frappe-MMCVVHKL.js +0 -9
- package/dist/catppuccin-frappe-MMCVVHKL.js.map +0 -1
- package/dist/catppuccin-latte-5C4JLXBH.js +0 -9
- package/dist/catppuccin-latte-5C4JLXBH.js.map +0 -1
- package/dist/catppuccin-macchiato-3NKYVEOJ.js +0 -9
- package/dist/catppuccin-macchiato-3NKYVEOJ.js.map +0 -1
- package/dist/catppuccin-mocha-C7I5EOEU.js +0 -9
- package/dist/catppuccin-mocha-C7I5EOEU.js.map +0 -1
- package/dist/chunk-22YFMYTV.js +0 -27
- package/dist/chunk-22YFMYTV.js.map +0 -1
- package/dist/chunk-2LYQIOCF.js +0 -10
- package/dist/chunk-2LYQIOCF.js.map +0 -1
- package/dist/chunk-2ZRWDJYS.js +0 -10
- package/dist/chunk-2ZRWDJYS.js.map +0 -1
- package/dist/chunk-34DL2N2L.js.map +0 -1
- package/dist/chunk-3QIMFXGM.js +0 -10
- package/dist/chunk-3QIMFXGM.js.map +0 -1
- package/dist/chunk-4AMGJ6V6.js.map +0 -1
- package/dist/chunk-4MYIRYOX.js +0 -10
- package/dist/chunk-4MYIRYOX.js.map +0 -1
- package/dist/chunk-54EST6OV.js +0 -10
- package/dist/chunk-54EST6OV.js.map +0 -1
- package/dist/chunk-63BWXXFR.js +0 -10
- package/dist/chunk-63BWXXFR.js.map +0 -1
- package/dist/chunk-6FM4LMXY.js +0 -19
- package/dist/chunk-6FM4LMXY.js.map +0 -1
- package/dist/chunk-6FQBRWJI.js +0 -10
- package/dist/chunk-6FQBRWJI.js.map +0 -1
- package/dist/chunk-A76XKW5G.js +0 -10
- package/dist/chunk-A76XKW5G.js.map +0 -1
- package/dist/chunk-AQNRRS6S.js +0 -13
- package/dist/chunk-AQNRRS6S.js.map +0 -1
- package/dist/chunk-B2D64IUZ.js +0 -10
- package/dist/chunk-B2D64IUZ.js.map +0 -1
- package/dist/chunk-B5QAIGHR.js +0 -10
- package/dist/chunk-B5QAIGHR.js.map +0 -1
- package/dist/chunk-BVICZLAT.js +0 -21
- package/dist/chunk-BVICZLAT.js.map +0 -1
- package/dist/chunk-BZFNNQZK.js +0 -10
- package/dist/chunk-BZFNNQZK.js.map +0 -1
- package/dist/chunk-E4QCWVTW.js +0 -10
- package/dist/chunk-E4QCWVTW.js.map +0 -1
- package/dist/chunk-EDMHTFVV.js +0 -13
- package/dist/chunk-EDMHTFVV.js.map +0 -1
- package/dist/chunk-FNPZI42S.js +0 -10
- package/dist/chunk-FNPZI42S.js.map +0 -1
- package/dist/chunk-KTHCJT7O.js +0 -10
- package/dist/chunk-KTHCJT7O.js.map +0 -1
- package/dist/chunk-LCPWR5YQ.js.map +0 -1
- package/dist/chunk-MBZ7WSLK.js +0 -10
- package/dist/chunk-MBZ7WSLK.js.map +0 -1
- package/dist/chunk-MY5GQN4J.js +0 -10
- package/dist/chunk-MY5GQN4J.js.map +0 -1
- package/dist/chunk-NMHTFCOE.js +0 -10
- package/dist/chunk-NMHTFCOE.js.map +0 -1
- package/dist/chunk-NWN7MD4H.js +0 -10
- package/dist/chunk-NWN7MD4H.js.map +0 -1
- package/dist/chunk-NZGVCQNX.js +0 -15
- package/dist/chunk-NZGVCQNX.js.map +0 -1
- package/dist/chunk-O7JZMTAT.js.map +0 -1
- package/dist/chunk-OGKUGKX6.js +0 -25
- package/dist/chunk-OGKUGKX6.js.map +0 -1
- package/dist/chunk-OXCEHFR7.js +0 -10
- package/dist/chunk-OXCEHFR7.js.map +0 -1
- package/dist/chunk-OZD3Z7GU.js.map +0 -1
- package/dist/chunk-PHD4ZLAK.js +0 -13
- package/dist/chunk-PHD4ZLAK.js.map +0 -1
- package/dist/chunk-PTP47UNV.js +0 -10
- package/dist/chunk-PTP47UNV.js.map +0 -1
- package/dist/chunk-QFY6SZMW.js +0 -13
- package/dist/chunk-QFY6SZMW.js.map +0 -1
- package/dist/chunk-QJTFKQBI.js +0 -52
- package/dist/chunk-QJTFKQBI.js.map +0 -1
- package/dist/chunk-ROZEI2UU.js +0 -10
- package/dist/chunk-ROZEI2UU.js.map +0 -1
- package/dist/chunk-SOGD55OD.js.map +0 -1
- package/dist/chunk-SUELDMOS.js +0 -10
- package/dist/chunk-SUELDMOS.js.map +0 -1
- package/dist/chunk-SUWYKTW7.js +0 -15
- package/dist/chunk-SUWYKTW7.js.map +0 -1
- package/dist/chunk-TDCIUEGG.js +0 -13
- package/dist/chunk-TDCIUEGG.js.map +0 -1
- package/dist/chunk-TRW4DQOO.js +0 -10
- package/dist/chunk-TRW4DQOO.js.map +0 -1
- package/dist/chunk-TSESJ6MI.js +0 -10
- package/dist/chunk-TSESJ6MI.js.map +0 -1
- package/dist/chunk-UPB4VIC2.js +0 -23
- package/dist/chunk-UPB4VIC2.js.map +0 -1
- package/dist/chunk-UW2CXNUS.js +0 -801
- package/dist/chunk-UW2CXNUS.js.map +0 -1
- package/dist/chunk-VG2TYHDF.js +0 -45
- package/dist/chunk-VG2TYHDF.js.map +0 -1
- package/dist/chunk-VLC2H35H.js.map +0 -1
- package/dist/chunk-WF5RFVPW.js +0 -10
- package/dist/chunk-WF5RFVPW.js.map +0 -1
- package/dist/chunk-WM7J5AFW.js.map +0 -1
- package/dist/chunk-WO2NYJQ2.js +0 -10
- package/dist/chunk-WO2NYJQ2.js.map +0 -1
- package/dist/chunk-WSBNI4CX.js +0 -10
- package/dist/chunk-WSBNI4CX.js.map +0 -1
- package/dist/chunk-XJ7HRYIM.js +0 -13
- package/dist/chunk-XJ7HRYIM.js.map +0 -1
- package/dist/chunk-XOPA23DG.js.map +0 -1
- package/dist/chunk-XSK6343X.js +0 -10
- package/dist/chunk-XSK6343X.js.map +0 -1
- package/dist/chunk-YU7R5PEM.js +0 -10
- package/dist/chunk-YU7R5PEM.js.map +0 -1
- package/dist/chunk-ZIMU3HWF.js +0 -10
- package/dist/chunk-ZIMU3HWF.js.map +0 -1
- package/dist/chunk-ZLI4DUPN.js.map +0 -1
- package/dist/chunk-ZMEHUU4R.js +0 -10
- package/dist/chunk-ZMEHUU4R.js.map +0 -1
- package/dist/chunk-ZP5CHRCL.js +0 -35
- package/dist/chunk-ZP5CHRCL.js.map +0 -1
- package/dist/clarity-ZTL44IOC.js +0 -12
- package/dist/clarity-ZTL44IOC.js.map +0 -1
- package/dist/clojure-XQ65L5AT.js +0 -12
- package/dist/clojure-XQ65L5AT.js.map +0 -1
- package/dist/cmake-RWIJNOHT.js +0 -5
- package/dist/cmake-RWIJNOHT.js.map +0 -1
- package/dist/cobol-TAD5SR6F.js +0 -18
- package/dist/cobol-TAD5SR6F.js.map +0 -1
- package/dist/codeowners-FY723ZMD.js +0 -12
- package/dist/codeowners-FY723ZMD.js.map +0 -1
- package/dist/codeql-CUEBNFJ7.js +0 -12
- package/dist/codeql-CUEBNFJ7.js.map +0 -1
- package/dist/coffee-NVLS7247.js +0 -14
- package/dist/coffee-NVLS7247.js.map +0 -1
- package/dist/common-lisp-THYLK4DO.js +0 -12
- package/dist/common-lisp-THYLK4DO.js.map +0 -1
- package/dist/coq-QKXPZSD5.js +0 -12
- package/dist/coq-QKXPZSD5.js.map +0 -1
- package/dist/cpp-VIUMDJM3.js +0 -9
- package/dist/cpp-VIUMDJM3.js.map +0 -1
- package/dist/crystal-BRBKAOCE.js +0 -24
- package/dist/crystal-BRBKAOCE.js.map +0 -1
- package/dist/csharp-4UVRFXKI.js +0 -5
- package/dist/csharp-4UVRFXKI.js.map +0 -1
- package/dist/css-M2HFTEGH.js +0 -5
- package/dist/css-M2HFTEGH.js.map +0 -1
- package/dist/csv-ZNHI7HNL.js +0 -5
- package/dist/csv-ZNHI7HNL.js.map +0 -1
- package/dist/cue-NHAEG7EA.js +0 -12
- package/dist/cue-NHAEG7EA.js.map +0 -1
- package/dist/cypher-52K4HPM5.js +0 -12
- package/dist/cypher-52K4HPM5.js.map +0 -1
- package/dist/d-T64IGABC.js +0 -12
- package/dist/d-T64IGABC.js.map +0 -1
- package/dist/dark-plus-VOS3ALRT.js +0 -9
- package/dist/dark-plus-VOS3ALRT.js.map +0 -1
- package/dist/dart-IYFAMI65.js +0 -12
- package/dist/dart-IYFAMI65.js.map +0 -1
- package/dist/dax-3O4LF5MM.js +0 -12
- package/dist/dax-3O4LF5MM.js.map +0 -1
- package/dist/desktop-PYEO5DP7.js +0 -12
- package/dist/desktop-PYEO5DP7.js.map +0 -1
- package/dist/diff-TFVCNBQ2.js +0 -5
- package/dist/diff-TFVCNBQ2.js.map +0 -1
- package/dist/dist-42IWCT5F.js +0 -12759
- package/dist/dist-42IWCT5F.js.map +0 -1
- package/dist/docker-5MP25SCC.js +0 -12
- package/dist/docker-5MP25SCC.js.map +0 -1
- package/dist/dotenv-LXYOR7Q4.js +0 -12
- package/dist/dotenv-LXYOR7Q4.js.map +0 -1
- package/dist/dracula-6ED4QBTY.js +0 -9
- package/dist/dracula-6ED4QBTY.js.map +0 -1
- package/dist/dracula-soft-D3A2YTL6.js +0 -9
- package/dist/dracula-soft-D3A2YTL6.js.map +0 -1
- package/dist/dream-maker-2ZMNJA26.js +0 -12
- package/dist/dream-maker-2ZMNJA26.js.map +0 -1
- package/dist/edge-DOYG3TGR.js +0 -20
- package/dist/edge-DOYG3TGR.js.map +0 -1
- package/dist/elixir-NOIKHGN6.js +0 -16
- package/dist/elixir-NOIKHGN6.js.map +0 -1
- package/dist/elm-PDSTOTV2.js +0 -15
- package/dist/elm-PDSTOTV2.js.map +0 -1
- package/dist/emacs-lisp-SRSQL6QD.js +0 -12
- package/dist/emacs-lisp-SRSQL6QD.js.map +0 -1
- package/dist/erb-ATIP2DNN.js +0 -33
- package/dist/erb-ATIP2DNN.js.map +0 -1
- package/dist/erlang-TNJ3Y5GQ.js +0 -14
- package/dist/erlang-TNJ3Y5GQ.js.map +0 -1
- package/dist/everforest-dark-CBMINS2O.js +0 -9
- package/dist/everforest-dark-CBMINS2O.js.map +0 -1
- package/dist/everforest-light-23KYLIEI.js +0 -9
- package/dist/everforest-light-23KYLIEI.js.map +0 -1
- package/dist/fennel-TO2TJ524.js +0 -12
- package/dist/fennel-TO2TJ524.js.map +0 -1
- package/dist/fish-DETI77GR.js +0 -12
- package/dist/fish-DETI77GR.js.map +0 -1
- package/dist/fluent-AHZ23QC5.js +0 -12
- package/dist/fluent-AHZ23QC5.js.map +0 -1
- package/dist/fortran-fixed-form-SJW545BA.js +0 -14
- package/dist/fortran-fixed-form-SJW545BA.js.map +0 -1
- package/dist/fortran-free-form-EVEOH2PB.js +0 -5
- package/dist/fortran-free-form-EVEOH2PB.js.map +0 -1
- package/dist/fsharp-S3GDMFPN.js +0 -14
- package/dist/fsharp-S3GDMFPN.js.map +0 -1
- package/dist/gdresource-USYG62QW.js +0 -16
- package/dist/gdresource-USYG62QW.js.map +0 -1
- package/dist/gdscript-TTCIXZPS.js +0 -5
- package/dist/gdscript-TTCIXZPS.js.map +0 -1
- package/dist/gdshader-24QXUILK.js +0 -5
- package/dist/gdshader-24QXUILK.js.map +0 -1
- package/dist/genie-5MKE7EG3.js +0 -12
- package/dist/genie-5MKE7EG3.js.map +0 -1
- package/dist/gherkin-FK44CFAI.js +0 -12
- package/dist/gherkin-FK44CFAI.js.map +0 -1
- package/dist/git-commit-BTOU7HF6.js +0 -14
- package/dist/git-commit-BTOU7HF6.js.map +0 -1
- package/dist/git-rebase-EQNFO4Z3.js +0 -14
- package/dist/git-rebase-EQNFO4Z3.js.map +0 -1
- package/dist/github-dark-EZ6YMXRD.js +0 -9
- package/dist/github-dark-EZ6YMXRD.js.map +0 -1
- package/dist/github-dark-default-I5J3RRLU.js +0 -9
- package/dist/github-dark-default-I5J3RRLU.js.map +0 -1
- package/dist/github-dark-dimmed-MPBBGKWI.js +0 -9
- package/dist/github-dark-dimmed-MPBBGKWI.js.map +0 -1
- package/dist/github-dark-high-contrast-4TT44JJO.js +0 -9
- package/dist/github-dark-high-contrast-4TT44JJO.js.map +0 -1
- package/dist/github-light-VJKXKJBG.js +0 -9
- package/dist/github-light-VJKXKJBG.js.map +0 -1
- package/dist/github-light-default-YLEZHU7A.js +0 -9
- package/dist/github-light-default-YLEZHU7A.js.map +0 -1
- package/dist/github-light-high-contrast-Q4ABCTE6.js +0 -9
- package/dist/github-light-high-contrast-Q4ABCTE6.js.map +0 -1
- package/dist/gleam-GJTCHKAL.js +0 -12
- package/dist/gleam-GJTCHKAL.js.map +0 -1
- package/dist/glimmer-js-HS3N4FUZ.js +0 -20
- package/dist/glimmer-js-HS3N4FUZ.js.map +0 -1
- package/dist/glimmer-ts-P46OQXAF.js +0 -20
- package/dist/glimmer-ts-P46OQXAF.js.map +0 -1
- package/dist/glsl-YBUL7CYA.js +0 -6
- package/dist/glsl-YBUL7CYA.js.map +0 -1
- package/dist/gn-J7YNJDG7.js +0 -12
- package/dist/gn-J7YNJDG7.js.map +0 -1
- package/dist/gnuplot-H5JB5W3G.js +0 -12
- package/dist/gnuplot-H5JB5W3G.js.map +0 -1
- package/dist/go-SOJ3BB22.js +0 -5
- package/dist/go-SOJ3BB22.js.map +0 -1
- package/dist/graphql-KMU6GVUK.js +0 -9
- package/dist/graphql-KMU6GVUK.js.map +0 -1
- package/dist/groovy-DFYCIBLB.js +0 -12
- package/dist/groovy-DFYCIBLB.js.map +0 -1
- package/dist/gruvbox-dark-hard-KJZC4QO3.js +0 -9
- package/dist/gruvbox-dark-hard-KJZC4QO3.js.map +0 -1
- package/dist/gruvbox-dark-medium-YQQCYUGQ.js +0 -9
- package/dist/gruvbox-dark-medium-YQQCYUGQ.js.map +0 -1
- package/dist/gruvbox-dark-soft-BVW765JB.js +0 -9
- package/dist/gruvbox-dark-soft-BVW765JB.js.map +0 -1
- package/dist/gruvbox-light-hard-OUPRRXT6.js +0 -9
- package/dist/gruvbox-light-hard-OUPRRXT6.js.map +0 -1
- package/dist/gruvbox-light-medium-T4RNXI32.js +0 -9
- package/dist/gruvbox-light-medium-T4RNXI32.js.map +0 -1
- package/dist/gruvbox-light-soft-4MYG3GYS.js +0 -9
- package/dist/gruvbox-light-soft-4MYG3GYS.js.map +0 -1
- package/dist/hack-FB35KZWJ.js +0 -18
- package/dist/hack-FB35KZWJ.js.map +0 -1
- package/dist/haml-6AX7CJI4.js +0 -7
- package/dist/haml-6AX7CJI4.js.map +0 -1
- package/dist/handlebars-YW6ORGVD.js +0 -20
- package/dist/handlebars-YW6ORGVD.js.map +0 -1
- package/dist/haskell-BW3DSL4L.js +0 -12
- package/dist/haskell-BW3DSL4L.js.map +0 -1
- package/dist/haxe-RFTTNB72.js +0 -5
- package/dist/haxe-RFTTNB72.js.map +0 -1
- package/dist/hcl-TVOPV76I.js +0 -12
- package/dist/hcl-TVOPV76I.js.map +0 -1
- package/dist/hjson-DQ5DDMRQ.js +0 -12
- package/dist/hjson-DQ5DDMRQ.js.map +0 -1
- package/dist/hlsl-4WA6XPKF.js +0 -5
- package/dist/hlsl-4WA6XPKF.js.map +0 -1
- package/dist/horizon-BVILCHG6.js +0 -9
- package/dist/horizon-BVILCHG6.js.map +0 -1
- package/dist/horizon-bright-T7OMJQEC.js +0 -9
- package/dist/horizon-bright-T7OMJQEC.js.map +0 -1
- package/dist/houston-XEIPRG2B.js +0 -9
- package/dist/houston-XEIPRG2B.js.map +0 -1
- package/dist/html-DQDBDCCT.js +0 -7
- package/dist/html-DQDBDCCT.js.map +0 -1
- package/dist/html-derivative-QZTPLKZJ.js +0 -8
- package/dist/html-derivative-QZTPLKZJ.js.map +0 -1
- package/dist/http-USUTSKZC.js +0 -25
- package/dist/http-USUTSKZC.js.map +0 -1
- package/dist/hurl-S2ZRIRKI.js +0 -23
- package/dist/hurl-S2ZRIRKI.js.map +0 -1
- package/dist/hxml-76SBKUKV.js +0 -14
- package/dist/hxml-76SBKUKV.js.map +0 -1
- package/dist/hy-PUJTV654.js +0 -12
- package/dist/hy-PUJTV654.js.map +0 -1
- package/dist/imba-V2P77J5O.js +0 -12
- package/dist/imba-V2P77J5O.js.map +0 -1
- package/dist/ini-F5QATNOY.js +0 -12
- package/dist/ini-F5QATNOY.js.map +0 -1
- package/dist/java-HPWG7WCC.js +0 -5
- package/dist/java-HPWG7WCC.js.map +0 -1
- package/dist/javascript-DQEA7M65.js +0 -5
- package/dist/javascript-DQEA7M65.js.map +0 -1
- package/dist/jinja-NKTTBXCW.js +0 -23
- package/dist/jinja-NKTTBXCW.js.map +0 -1
- package/dist/jison-QEUB7I5Z.js +0 -14
- package/dist/jison-QEUB7I5Z.js.map +0 -1
- package/dist/json-KR4DST7J.js +0 -5
- package/dist/json-KR4DST7J.js.map +0 -1
- package/dist/json5-PPXKH5J5.js +0 -12
- package/dist/json5-PPXKH5J5.js.map +0 -1
- package/dist/jsonc-ALVA7DTN.js +0 -12
- package/dist/jsonc-ALVA7DTN.js.map +0 -1
- package/dist/jsonl-XJOT65XQ.js +0 -12
- package/dist/jsonl-XJOT65XQ.js.map +0 -1
- package/dist/jsonnet-54VMJ66A.js +0 -12
- package/dist/jsonnet-54VMJ66A.js.map +0 -1
- package/dist/jssm-HTREWWKK.js +0 -12
- package/dist/jssm-HTREWWKK.js.map +0 -1
- package/dist/jsx-4ZQLDJSY.js +0 -5
- package/dist/jsx-4ZQLDJSY.js.map +0 -1
- package/dist/julia-6I3SJVQT.js +0 -25
- package/dist/julia-6I3SJVQT.js.map +0 -1
- package/dist/just-QY6N5FJ6.js +0 -39
- package/dist/just-QY6N5FJ6.js.map +0 -1
- package/dist/kanagawa-dragon-I4DEB6E3.js +0 -9
- package/dist/kanagawa-dragon-I4DEB6E3.js.map +0 -1
- package/dist/kanagawa-lotus-MSMTIEQB.js +0 -9
- package/dist/kanagawa-lotus-MSMTIEQB.js.map +0 -1
- package/dist/kanagawa-wave-ELWGDTGE.js +0 -9
- package/dist/kanagawa-wave-ELWGDTGE.js.map +0 -1
- package/dist/kdl-TMMSU5DF.js +0 -12
- package/dist/kdl-TMMSU5DF.js.map +0 -1
- package/dist/kotlin-UNV4CNLK.js +0 -12
- package/dist/kotlin-UNV4CNLK.js.map +0 -1
- package/dist/kusto-MBCNQRFF.js +0 -12
- package/dist/kusto-MBCNQRFF.js.map +0 -1
- package/dist/laserwave-OA26JUVA.js +0 -9
- package/dist/laserwave-OA26JUVA.js.map +0 -1
- package/dist/latex-TMY2B22S.js +0 -15
- package/dist/latex-TMY2B22S.js.map +0 -1
- package/dist/lean-M5H2JKTM.js +0 -12
- package/dist/lean-M5H2JKTM.js.map +0 -1
- package/dist/less-DX2OYZQJ.js +0 -5
- package/dist/less-DX2OYZQJ.js.map +0 -1
- package/dist/light-plus-AA3N4RCX.js +0 -9
- package/dist/light-plus-AA3N4RCX.js.map +0 -1
- package/dist/liquid-2IPHR3GR.js +0 -20
- package/dist/liquid-2IPHR3GR.js.map +0 -1
- package/dist/llvm-P53676TG.js +0 -12
- package/dist/llvm-P53676TG.js.map +0 -1
- package/dist/log-PBSEXWBM.js +0 -12
- package/dist/log-PBSEXWBM.js.map +0 -1
- package/dist/logo-X27U7UG3.js +0 -12
- package/dist/logo-X27U7UG3.js.map +0 -1
- package/dist/lua-2NWSFQLY.js +0 -6
- package/dist/lua-2NWSFQLY.js.map +0 -1
- package/dist/luau-CYRRYPML.js +0 -12
- package/dist/luau-CYRRYPML.js.map +0 -1
- package/dist/make-MYRMQFS2.js +0 -12
- package/dist/make-MYRMQFS2.js.map +0 -1
- package/dist/markdown-WHKA7GLD.js +0 -5
- package/dist/markdown-WHKA7GLD.js.map +0 -1
- package/dist/marko-UWS5ULZ4.js +0 -20
- package/dist/marko-UWS5ULZ4.js.map +0 -1
- package/dist/material-theme-P445EEGT.js +0 -9
- package/dist/material-theme-P445EEGT.js.map +0 -1
- package/dist/material-theme-darker-T6QTOW6T.js +0 -9
- package/dist/material-theme-darker-T6QTOW6T.js.map +0 -1
- package/dist/material-theme-lighter-TYJ7O5LP.js +0 -9
- package/dist/material-theme-lighter-TYJ7O5LP.js.map +0 -1
- package/dist/material-theme-ocean-EO6O6PSU.js +0 -9
- package/dist/material-theme-ocean-EO6O6PSU.js.map +0 -1
- package/dist/material-theme-palenight-XN6X7I4T.js +0 -9
- package/dist/material-theme-palenight-XN6X7I4T.js.map +0 -1
- package/dist/matlab-CIQBNL6S.js +0 -12
- package/dist/matlab-CIQBNL6S.js.map +0 -1
- package/dist/mdc-RD4NMO6S.js +0 -21
- package/dist/mdc-RD4NMO6S.js.map +0 -1
- package/dist/mdx-QB3OZADW.js +0 -12
- package/dist/mdx-QB3OZADW.js.map +0 -1
- package/dist/mermaid-LXLBXMT2.js +0 -12
- package/dist/mermaid-LXLBXMT2.js.map +0 -1
- package/dist/min-dark-PPUCVVZP.js +0 -9
- package/dist/min-dark-PPUCVVZP.js.map +0 -1
- package/dist/min-light-IIN2A7TR.js +0 -9
- package/dist/min-light-IIN2A7TR.js.map +0 -1
- package/dist/mipsasm-FSZYRFUD.js +0 -12
- package/dist/mipsasm-FSZYRFUD.js.map +0 -1
- package/dist/mojo-FKWCRQPK.js +0 -12
- package/dist/mojo-FKWCRQPK.js.map +0 -1
- package/dist/monokai-TUNEDZ3V.js +0 -9
- package/dist/monokai-TUNEDZ3V.js.map +0 -1
- package/dist/moonbit-EOVGBDZH.js +0 -12
- package/dist/moonbit-EOVGBDZH.js.map +0 -1
- package/dist/move-H4Z2BRGU.js +0 -12
- package/dist/move-H4Z2BRGU.js.map +0 -1
- package/dist/narrat-E4ECNLTT.js +0 -12
- package/dist/narrat-E4ECNLTT.js.map +0 -1
- package/dist/nextflow-6VP4M3X5.js +0 -14
- package/dist/nextflow-6VP4M3X5.js.map +0 -1
- package/dist/nextflow-groovy-CCWLX7KI.js +0 -5
- package/dist/nextflow-groovy-CCWLX7KI.js.map +0 -1
- package/dist/nginx-E2WBABIK.js +0 -15
- package/dist/nginx-E2WBABIK.js.map +0 -1
- package/dist/night-owl-HIXXBOZ6.js +0 -9
- package/dist/night-owl-HIXXBOZ6.js.map +0 -1
- package/dist/night-owl-light-OQSRVHLB.js +0 -9
- package/dist/night-owl-light-OQSRVHLB.js.map +0 -1
- package/dist/nim-FXE7GRFS.js +0 -27
- package/dist/nim-FXE7GRFS.js.map +0 -1
- package/dist/nix-5VCLN4DY.js +0 -19
- package/dist/nix-5VCLN4DY.js.map +0 -1
- package/dist/nord-S5RNMUV5.js +0 -9
- package/dist/nord-S5RNMUV5.js.map +0 -1
- package/dist/nushell-VNKRRNKS.js +0 -12
- package/dist/nushell-VNKRRNKS.js.map +0 -1
- package/dist/objective-c-3TNXOGN5.js +0 -12
- package/dist/objective-c-3TNXOGN5.js.map +0 -1
- package/dist/objective-cpp-E65BQNLE.js +0 -12
- package/dist/objective-cpp-E65BQNLE.js.map +0 -1
- package/dist/ocaml-7SLL2ZHR.js +0 -12
- package/dist/ocaml-7SLL2ZHR.js.map +0 -1
- package/dist/odin-NN7X3DMA.js +0 -12
- package/dist/odin-NN7X3DMA.js.map +0 -1
- package/dist/one-dark-pro-MEHDEOJL.js +0 -9
- package/dist/one-dark-pro-MEHDEOJL.js.map +0 -1
- package/dist/one-light-MUDQUV3A.js +0 -9
- package/dist/one-light-MUDQUV3A.js.map +0 -1
- package/dist/openscad-S7LOQOUO.js +0 -12
- package/dist/openscad-S7LOQOUO.js.map +0 -1
- package/dist/pascal-QXHRO42K.js +0 -12
- package/dist/pascal-QXHRO42K.js.map +0 -1
- package/dist/perl-YQSH63HF.js +0 -11
- package/dist/perl-YQSH63HF.js.map +0 -1
- package/dist/php-UTKXTYVY.js +0 -12
- package/dist/php-UTKXTYVY.js.map +0 -1
- package/dist/pkl-3NV7WMSX.js +0 -12
- package/dist/pkl-3NV7WMSX.js.map +0 -1
- package/dist/plastic-HANH2CWP.js +0 -9
- package/dist/plastic-HANH2CWP.js.map +0 -1
- package/dist/plsql-MK4YJ6TT.js +0 -12
- package/dist/plsql-MK4YJ6TT.js.map +0 -1
- package/dist/po-R5ODK3WK.js +0 -12
- package/dist/po-R5ODK3WK.js.map +0 -1
- package/dist/poimandres-2F75GCHW.js +0 -9
- package/dist/poimandres-2F75GCHW.js.map +0 -1
- package/dist/polar-2LGVUP4U.js +0 -12
- package/dist/polar-2LGVUP4U.js.map +0 -1
- package/dist/postcss-XCLET5GU.js +0 -5
- package/dist/postcss-XCLET5GU.js.map +0 -1
- package/dist/powerquery-XQCTXPHV.js +0 -12
- package/dist/powerquery-XQCTXPHV.js.map +0 -1
- package/dist/powershell-CR4WJAGO.js +0 -12
- package/dist/powershell-CR4WJAGO.js.map +0 -1
- package/dist/prisma-Z4ILVXM2.js +0 -12
- package/dist/prisma-Z4ILVXM2.js.map +0 -1
- package/dist/prolog-BAZSKAQ6.js +0 -12
- package/dist/prolog-BAZSKAQ6.js.map +0 -1
- package/dist/proto-WEVH2LTI.js +0 -12
- package/dist/proto-WEVH2LTI.js.map +0 -1
- package/dist/pug-XBCVMPUE.js +0 -18
- package/dist/pug-XBCVMPUE.js.map +0 -1
- package/dist/puppet-WFEYTP3B.js +0 -12
- package/dist/puppet-WFEYTP3B.js.map +0 -1
- package/dist/purescript-SZ56C6X7.js +0 -12
- package/dist/purescript-SZ56C6X7.js.map +0 -1
- package/dist/python-3HB5K3UR.js +0 -5
- package/dist/python-3HB5K3UR.js.map +0 -1
- package/dist/qml-5ZTL7SFE.js +0 -14
- package/dist/qml-5ZTL7SFE.js.map +0 -1
- package/dist/qmldir-T3LV2LL7.js +0 -12
- package/dist/qmldir-T3LV2LL7.js.map +0 -1
- package/dist/qss-VHFIXD2X.js +0 -12
- package/dist/qss-VHFIXD2X.js.map +0 -1
- package/dist/r-4M224EWI.js +0 -5
- package/dist/r-4M224EWI.js.map +0 -1
- package/dist/racket-7NAIL33A.js +0 -12
- package/dist/racket-7NAIL33A.js.map +0 -1
- package/dist/raku-6QQZDC2L.js +0 -12
- package/dist/raku-6QQZDC2L.js.map +0 -1
- package/dist/razor-I32TUZ7P.js +0 -18
- package/dist/razor-I32TUZ7P.js.map +0 -1
- package/dist/red-27PYPCK7.js +0 -9
- package/dist/red-27PYPCK7.js.map +0 -1
- package/dist/reg-H24WQZTW.js +0 -12
- package/dist/reg-H24WQZTW.js.map +0 -1
- package/dist/regexp-VAJRS3KM.js +0 -5
- package/dist/regexp-VAJRS3KM.js.map +0 -1
- package/dist/rel-DCCVKHFU.js +0 -12
- package/dist/rel-DCCVKHFU.js.map +0 -1
- package/dist/riscv-F3SEVDHQ.js +0 -12
- package/dist/riscv-F3SEVDHQ.js.map +0 -1
- package/dist/ron-XD3O4IZG.js +0 -12
- package/dist/ron-XD3O4IZG.js.map +0 -1
- package/dist/rose-pine-RUOKKFA4.js +0 -9
- package/dist/rose-pine-RUOKKFA4.js.map +0 -1
- package/dist/rose-pine-dawn-TAVGSNJC.js +0 -9
- package/dist/rose-pine-dawn-TAVGSNJC.js.map +0 -1
- package/dist/rose-pine-moon-FJ45AP64.js +0 -9
- package/dist/rose-pine-moon-FJ45AP64.js.map +0 -1
- package/dist/rosmsg-3U72DFRK.js +0 -12
- package/dist/rosmsg-3U72DFRK.js.map +0 -1
- package/dist/rst-YIUM7MOR.js +0 -42
- package/dist/rst-YIUM7MOR.js.map +0 -1
- package/dist/ruby-FXXFCC4R.js +0 -23
- package/dist/ruby-FXXFCC4R.js.map +0 -1
- package/dist/rust-RX46MLFD.js +0 -12
- package/dist/rust-RX46MLFD.js.map +0 -1
- package/dist/sas-KNWLLNSF.js +0 -14
- package/dist/sas-KNWLLNSF.js.map +0 -1
- package/dist/sass-BFJZ2T4C.js +0 -12
- package/dist/sass-BFJZ2T4C.js.map +0 -1
- package/dist/scala-5Z2GMMJW.js +0 -12
- package/dist/scala-5Z2GMMJW.js.map +0 -1
- package/dist/scheme-4PLNSDZL.js +0 -12
- package/dist/scheme-4PLNSDZL.js.map +0 -1
- package/dist/scss-5EP3AMK7.js +0 -6
- package/dist/scss-5EP3AMK7.js.map +0 -1
- package/dist/sdbl-7LKDFMKN.js +0 -5
- package/dist/sdbl-7LKDFMKN.js.map +0 -1
- package/dist/shaderlab-STIROWFG.js +0 -14
- package/dist/shaderlab-STIROWFG.js.map +0 -1
- package/dist/shellscript-MDDU253R.js +0 -5
- package/dist/shellscript-MDDU253R.js.map +0 -1
- package/dist/shellsession-A3XNTXNY.js +0 -14
- package/dist/shellsession-A3XNTXNY.js.map +0 -1
- package/dist/slack-dark-XGEHHKVC.js +0 -9
- package/dist/slack-dark-XGEHHKVC.js.map +0 -1
- package/dist/slack-ochin-IFNQCV6G.js +0 -9
- package/dist/slack-ochin-IFNQCV6G.js.map +0 -1
- package/dist/smalltalk-CYUMZGLQ.js +0 -12
- package/dist/smalltalk-CYUMZGLQ.js.map +0 -1
- package/dist/snazzy-light-O3X4RLHH.js +0 -9
- package/dist/snazzy-light-O3X4RLHH.js.map +0 -1
- package/dist/solarized-dark-IZJZSHGU.js +0 -9
- package/dist/solarized-dark-IZJZSHGU.js.map +0 -1
- package/dist/solarized-light-KEG5JCKJ.js +0 -9
- package/dist/solarized-light-KEG5JCKJ.js.map +0 -1
- package/dist/solidity-POXXRDXA.js +0 -12
- package/dist/solidity-POXXRDXA.js.map +0 -1
- package/dist/soy-3DFPDIT3.js +0 -16
- package/dist/soy-3DFPDIT3.js.map +0 -1
- package/dist/sparql-WFFPEPWQ.js +0 -14
- package/dist/sparql-WFFPEPWQ.js.map +0 -1
- package/dist/splunk-PQOINYTQ.js +0 -12
- package/dist/splunk-PQOINYTQ.js.map +0 -1
- package/dist/sql-IYJGW3YL.js +0 -5
- package/dist/sql-IYJGW3YL.js.map +0 -1
- package/dist/ssh-config-HLIBKM6N.js +0 -12
- package/dist/ssh-config-HLIBKM6N.js.map +0 -1
- package/dist/stata-K4JB4R4H.js +0 -14
- package/dist/stata-K4JB4R4H.js.map +0 -1
- package/dist/stylus-QT6WHANE.js +0 -5
- package/dist/stylus-QT6WHANE.js.map +0 -1
- package/dist/surrealql-6ROLRS4U.js +0 -14
- package/dist/surrealql-6ROLRS4U.js.map +0 -1
- package/dist/svelte-ENLTUBUN.js +0 -20
- package/dist/svelte-ENLTUBUN.js.map +0 -1
- package/dist/swift-E2MNCIQR.js +0 -12
- package/dist/swift-E2MNCIQR.js.map +0 -1
- package/dist/synthwave-84-TYT62T26.js +0 -9
- package/dist/synthwave-84-TYT62T26.js.map +0 -1
- package/dist/system-verilog-Z4N3QF73.js +0 -12
- package/dist/system-verilog-Z4N3QF73.js.map +0 -1
- package/dist/systemd-Y7VQSFSH.js +0 -12
- package/dist/systemd-Y7VQSFSH.js.map +0 -1
- package/dist/talonscript-6CLMOXTK.js +0 -12
- package/dist/talonscript-6CLMOXTK.js.map +0 -1
- package/dist/tasl-A4VDHPKT.js +0 -12
- package/dist/tasl-A4VDHPKT.js.map +0 -1
- package/dist/tcl-2SL52PE4.js +0 -12
- package/dist/tcl-2SL52PE4.js.map +0 -1
- package/dist/templ-2UOOWKDY.js +0 -18
- package/dist/templ-2UOOWKDY.js.map +0 -1
- package/dist/terraform-LNOBCQSQ.js +0 -12
- package/dist/terraform-LNOBCQSQ.js.map +0 -1
- package/dist/tex-E5Z5K2IQ.js +0 -6
- package/dist/tex-E5Z5K2IQ.js.map +0 -1
- package/dist/tokyo-night-TUHHTHJQ.js +0 -9
- package/dist/tokyo-night-TUHHTHJQ.js.map +0 -1
- package/dist/toml-QZT5BBJD.js +0 -12
- package/dist/toml-QZT5BBJD.js.map +0 -1
- package/dist/ts-tags-JE64CMES.js +0 -69
- package/dist/ts-tags-JE64CMES.js.map +0 -1
- package/dist/tsv-UDCI7JVS.js +0 -12
- package/dist/tsv-UDCI7JVS.js.map +0 -1
- package/dist/tsx-ZBWHJW62.js +0 -5
- package/dist/tsx-ZBWHJW62.js.map +0 -1
- package/dist/turtle-UU53T34M.js +0 -5
- package/dist/turtle-UU53T34M.js.map +0 -1
- package/dist/twig-EOFGED3G.js +0 -41
- package/dist/twig-EOFGED3G.js.map +0 -1
- package/dist/typescript-7C7YHR5U.js +0 -5
- package/dist/typescript-7C7YHR5U.js.map +0 -1
- package/dist/typespec-H7STWLOY.js +0 -12
- package/dist/typespec-H7STWLOY.js.map +0 -1
- package/dist/typst-KBL32OQY.js +0 -12
- package/dist/typst-KBL32OQY.js.map +0 -1
- package/dist/v-WENI4OVS.js +0 -12
- package/dist/v-WENI4OVS.js.map +0 -1
- package/dist/vala-R3YAOOIL.js +0 -12
- package/dist/vala-R3YAOOIL.js.map +0 -1
- package/dist/vb-RRC3J54L.js +0 -12
- package/dist/vb-RRC3J54L.js.map +0 -1
- package/dist/verilog-WECG3PRI.js +0 -12
- package/dist/verilog-WECG3PRI.js.map +0 -1
- package/dist/vesper-ENQ2YO5K.js +0 -9
- package/dist/vesper-ENQ2YO5K.js.map +0 -1
- package/dist/vhdl-G42HXPDQ.js +0 -12
- package/dist/vhdl-G42HXPDQ.js.map +0 -1
- package/dist/viml-WECNMVFW.js +0 -12
- package/dist/viml-WECNMVFW.js.map +0 -1
- package/dist/vitesse-black-4JM4FOZP.js +0 -9
- package/dist/vitesse-black-4JM4FOZP.js.map +0 -1
- package/dist/vitesse-dark-NZ6KHCWK.js +0 -9
- package/dist/vitesse-dark-NZ6KHCWK.js.map +0 -1
- package/dist/vitesse-light-6F6FC7ZM.js +0 -9
- package/dist/vitesse-light-6F6FC7ZM.js.map +0 -1
- package/dist/vue-QH4EUV2Z.js +0 -53
- package/dist/vue-QH4EUV2Z.js.map +0 -1
- package/dist/vue-html-XQYRERJG.js +0 -14
- package/dist/vue-html-XQYRERJG.js.map +0 -1
- package/dist/vue-vine-3AQ2LYBZ.js +0 -24
- package/dist/vue-vine-3AQ2LYBZ.js.map +0 -1
- package/dist/vyper-3A7AVADW.js +0 -12
- package/dist/vyper-3A7AVADW.js.map +0 -1
- package/dist/wasm-S2373ZDP.js +0 -13
- package/dist/wasm-S2373ZDP.js.map +0 -1
- package/dist/wasm-YTY2LDIW.js +0 -12
- package/dist/wasm-YTY2LDIW.js.map +0 -1
- package/dist/wenyan-RG7MYB7C.js +0 -12
- package/dist/wenyan-RG7MYB7C.js.map +0 -1
- package/dist/wgsl-6B6LRIUC.js +0 -12
- package/dist/wgsl-6B6LRIUC.js.map +0 -1
- package/dist/wikitext-VW3NBYSD.js +0 -12
- package/dist/wikitext-VW3NBYSD.js.map +0 -1
- package/dist/wit-K27OMEII.js +0 -12
- package/dist/wit-K27OMEII.js.map +0 -1
- package/dist/wolfram-FE5SLKFY.js +0 -12
- package/dist/wolfram-FE5SLKFY.js.map +0 -1
- package/dist/xml-RMR6KFJI.js +0 -6
- package/dist/xml-RMR6KFJI.js.map +0 -1
- package/dist/xsl-IPJLVHBY.js +0 -15
- package/dist/xsl-IPJLVHBY.js.map +0 -1
- package/dist/yaml-S2WHJNKF.js +0 -5
- package/dist/yaml-S2WHJNKF.js.map +0 -1
- package/dist/zenscript-JSWRUHOB.js +0 -12
- package/dist/zenscript-JSWRUHOB.js.map +0 -1
- package/dist/zig-UETYH7UE.js +0 -12
- package/dist/zig-UETYH7UE.js.map +0 -1
package/dist/chatbot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/chatbot/attachments.tsx","../src/chatbot/chain-of-thought.tsx","../src/chatbot/checkpoint.tsx","../src/chatbot/confirmation.tsx","../src/chatbot/context.tsx","../src/chatbot/conversation.tsx","../src/chatbot/inline-citation.tsx","../src/chatbot/message.tsx","../src/chatbot/model-selector.tsx","../src/chatbot/plan.tsx","../src/chatbot/prompt-input.tsx","../src/chatbot/queue.tsx","../src/chatbot/reasoning.tsx","../src/chatbot/shimmer.tsx","../src/chatbot/sources.tsx","../src/chatbot/suggestion.tsx","../src/chatbot/task.tsx","../src/chatbot/tool.tsx"],"names":["jsx","jsxs","X","useState","useCallback","_a","createContext","cva","useContext","next","useEffect","ChevronDown","useRef","Search","Check","useId","Fragment","ExternalLink"],"mappings":"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","file":"chatbot.js","sourcesContent":["\"use client\"\n\nimport { File, FileAudio, FileImage, FileVideo, X } from \"lucide-react\"\nimport type { ComponentProps } from \"react\"\nimport { cn } from \"../lib/utils\"\n\nfunction Attachments({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div data-slot=\"attachments\" className={cn(\"flex flex-wrap gap-2\", className)} {...props} />\n )\n}\n\ntype AttachmentType = \"image\" | \"video\" | \"audio\" | \"file\"\n\nconst typeIcons: Record<AttachmentType, typeof File> = {\n image: FileImage,\n video: FileVideo,\n audio: FileAudio,\n file: File,\n}\n\nfunction Attachment({\n name,\n type = \"file\",\n url,\n onRemove,\n className,\n ...props\n}: ComponentProps<\"div\"> & {\n name: string\n type?: AttachmentType\n url?: string\n onRemove?: () => void\n}) {\n const Icon = typeIcons[type]\n\n return (\n <div\n data-slot=\"attachment\"\n className={cn(\n \"group/attachment relative flex items-center gap-2 rounded-lg border border-border bg-card px-3 py-2\",\n \"text-sm transition-colors\",\n className,\n )}\n {...props}\n >\n {type === \"image\" && url ? (\n <img src={url} alt={name} className=\"size-8 rounded object-cover\" />\n ) : (\n <Icon className=\"size-4 shrink-0 text-muted-foreground\" />\n )}\n <span className=\"min-w-0 truncate text-foreground\">{name}</span>\n {onRemove && (\n <button\n type=\"button\"\n onClick={onRemove}\n aria-label={`Remove ${name}`}\n className=\"ml-1 shrink-0 rounded-full p-0.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground\"\n >\n <X aria-hidden=\"true\" className=\"size-3\" />\n </button>\n )}\n </div>\n )\n}\n\nexport { Attachments, Attachment }\nexport type { AttachmentType }\n","\"use client\"\n\nimport { ChevronDown, Search } from \"lucide-react\"\nimport { type ComponentProps, createContext, useCallback, useContext, useId, useState } from \"react\"\nimport { cn } from \"../lib/utils\"\n\ntype ChainOfThoughtContextValue = {\n open: boolean\n toggle: () => void\n contentId: string\n}\n\nconst ChainOfThoughtContext = createContext<ChainOfThoughtContextValue | null>(null)\n\nfunction ChainOfThought({\n defaultOpen = false,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & { defaultOpen?: boolean }) {\n const [open, setOpen] = useState(defaultOpen)\n const toggle = useCallback(() => setOpen((o) => !o), [])\n const contentId = useId()\n\n return (\n <ChainOfThoughtContext.Provider value={{ open, toggle, contentId }}>\n <div\n data-slot=\"chain-of-thought\"\n data-state={open ? \"open\" : \"closed\"}\n className={cn(\"rounded-xl border border-border bg-card\", className)}\n {...props}\n >\n {children}\n </div>\n </ChainOfThoughtContext.Provider>\n )\n}\n\nfunction ChainOfThoughtHeader({ className, children, ...props }: ComponentProps<\"button\">) {\n const ctx = useContext(ChainOfThoughtContext)\n if (!ctx) throw new Error(\"ChainOfThoughtHeader must be used within <ChainOfThought>\")\n\n return (\n <button\n data-slot=\"chain-of-thought-header\"\n type=\"button\"\n onClick={ctx.toggle}\n aria-expanded={ctx.open}\n aria-controls={ctx.contentId}\n className={cn(\n \"flex w-full items-center gap-2 px-4 py-3 font-medium text-sm\",\n \"text-muted-foreground transition-colors hover:text-foreground\",\n className,\n )}\n {...props}\n >\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n \"size-4 shrink-0 transition-transform duration-200\",\n ctx.open && \"rotate-180\",\n )}\n />\n {children ?? \"Chain of thought\"}\n </button>\n )\n}\n\nfunction ChainOfThoughtContent({ className, ...props }: ComponentProps<\"div\">) {\n const ctx = useContext(ChainOfThoughtContext)\n if (!ctx?.open) return null\n\n return (\n <div\n id={ctx.contentId}\n data-slot=\"chain-of-thought-content\"\n role=\"region\"\n className={cn(\"space-y-3 border-border border-t px-4 py-3\", className)}\n {...props}\n />\n )\n}\n\nfunction ChainOfThoughtStep({\n step,\n status,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & {\n step: number\n status?: \"pending\" | \"active\" | \"complete\"\n}) {\n return (\n <div\n data-slot=\"chain-of-thought-step\"\n data-status={status}\n className={cn(\"flex gap-3\", className)}\n {...props}\n >\n <span\n className={cn(\n \"flex size-6 shrink-0 items-center justify-center rounded-full font-bold text-xs\",\n status === \"complete\" && \"bg-primary text-primary-foreground\",\n status === \"active\" && \"bg-primary/20 text-primary ring-2 ring-primary/30\",\n (!status || status === \"pending\") && \"bg-muted text-muted-foreground\",\n )}\n >\n {step}\n </span>\n <div className=\"min-w-0 flex-1 text-foreground text-sm\">{children}</div>\n </div>\n )\n}\n\nfunction ChainOfThoughtSearchResults({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"chain-of-thought-search-results\"\n className={cn(\"space-y-2 pl-9\", className)}\n {...props}\n />\n )\n}\n\nfunction ChainOfThoughtSearchResult({\n title,\n url,\n className,\n ...props\n}: ComponentProps<\"a\"> & { title: string; url: string }) {\n return (\n <a\n data-slot=\"chain-of-thought-search-result\"\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={cn(\n \"flex items-center gap-2 rounded-lg p-2 text-sm transition-colors hover:bg-muted/50\",\n className,\n )}\n {...props}\n >\n <Search className=\"size-3.5 shrink-0 text-muted-foreground\" />\n <span className=\"truncate text-foreground\">{title}</span>\n </a>\n )\n}\n\nexport {\n ChainOfThought,\n ChainOfThoughtHeader,\n ChainOfThoughtContent,\n ChainOfThoughtStep,\n ChainOfThoughtSearchResults,\n ChainOfThoughtSearchResult,\n}\n","\"use client\"\n\nimport { Bookmark } from \"lucide-react\"\nimport type { ComponentProps, ReactNode } from \"react\"\nimport { cn } from \"../lib/utils\"\n\nfunction Checkpoint({ className, children, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"checkpoint\"\n className={cn(\n \"flex items-center gap-3 rounded-lg border border-border border-dashed bg-muted/30 px-4 py-2.5\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n )\n}\n\nfunction CheckpointIcon({\n icon,\n className,\n ...props\n}: ComponentProps<\"span\"> & { icon?: ReactNode }) {\n return (\n <span\n data-slot=\"checkpoint-icon\"\n className={cn(\"shrink-0 text-muted-foreground\", className)}\n {...props}\n >\n {icon ?? <Bookmark className=\"size-4\" />}\n </span>\n )\n}\n\nfunction CheckpointTrigger({ className, ...props }: ComponentProps<\"button\">) {\n return (\n <button\n data-slot=\"checkpoint-trigger\"\n type=\"button\"\n className={cn(\n \"flex-1 truncate text-left text-muted-foreground text-sm transition-colors hover:text-foreground\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Checkpoint, CheckpointIcon, CheckpointTrigger }\n","\"use client\"\n\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { AlertTriangle, Check, X } from \"lucide-react\"\nimport type { ComponentProps, ReactNode } from \"react\"\nimport { cn } from \"../lib/utils\"\n\nconst confirmationVariants = cva(\"rounded-xl border p-4 space-y-3\", {\n variants: {\n status: {\n pending: \"border-border bg-card\",\n accepted: \"border-emerald-500/30 bg-emerald-500/5\",\n rejected: \"border-red-500/30 bg-red-500/5\",\n },\n },\n defaultVariants: { status: \"pending\" },\n})\n\nfunction Confirmation({\n status = \"pending\",\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & VariantProps<typeof confirmationVariants>) {\n return (\n <div\n data-slot=\"confirmation\"\n data-status={status}\n role=\"alert\"\n className={cn(confirmationVariants({ status }), className)}\n {...props}\n >\n {children}\n </div>\n )\n}\n\nfunction ConfirmationRequest({\n icon,\n title,\n description,\n className,\n ...props\n}: ComponentProps<\"div\"> & {\n icon?: ReactNode\n title: string\n description?: string\n}) {\n return (\n <div\n data-slot=\"confirmation-request\"\n className={cn(\"flex items-start gap-3\", className)}\n {...props}\n >\n {icon ?? (\n <AlertTriangle aria-hidden=\"true\" className=\"mt-0.5 size-5 shrink-0 text-amber-500\" />\n )}\n <div className=\"min-w-0\">\n <p className=\"font-medium text-foreground text-sm\">{title}</p>\n {description && <p className=\"mt-0.5 text-muted-foreground text-xs\">{description}</p>}\n </div>\n </div>\n )\n}\n\nfunction ConfirmationAccepted({ className, children, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"confirmation-accepted\"\n className={cn(\n \"flex items-center gap-2 text-emerald-600 text-sm dark:text-emerald-400\",\n className,\n )}\n {...props}\n >\n <Check className=\"size-4 shrink-0\" />\n {children ?? \"Approved\"}\n </div>\n )\n}\n\nfunction ConfirmationRejected({ className, children, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"confirmation-rejected\"\n className={cn(\"flex items-center gap-2 text-red-600 text-sm dark:text-red-400\", className)}\n {...props}\n >\n <X className=\"size-4 shrink-0\" />\n {children ?? \"Rejected\"}\n </div>\n )\n}\n\nfunction ConfirmationActions({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"confirmation-actions\"\n className={cn(\"flex items-center gap-2\", className)}\n {...props}\n />\n )\n}\n\nfunction ConfirmationAction({\n variant = \"default\",\n className,\n ...props\n}: ComponentProps<\"button\"> & {\n variant?: \"default\" | \"destructive\"\n}) {\n return (\n <button\n data-slot=\"confirmation-action\"\n type=\"button\"\n className={cn(\n \"inline-flex items-center justify-center rounded-lg px-3 py-1.5 font-medium text-sm transition-colors\",\n variant === \"destructive\"\n ? \"bg-red-500/10 text-red-600 hover:bg-red-500/20 dark:text-red-400\"\n : \"bg-primary text-primary-foreground hover:bg-primary/90\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport {\n Confirmation,\n ConfirmationRequest,\n ConfirmationAccepted,\n ConfirmationRejected,\n ConfirmationActions,\n ConfirmationAction,\n confirmationVariants,\n}\n","\"use client\"\n\nimport { Info } from \"lucide-react\"\nimport type { ComponentProps } from \"react\"\nimport { cn } from \"../lib/utils\"\n\nfunction Context({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"context\"\n className={cn(\"space-y-3 rounded-xl border border-border bg-card p-4\", className)}\n {...props}\n />\n )\n}\n\nfunction ContextHeader({ className, children, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"context-header\"\n className={cn(\"flex items-center gap-2 font-medium text-foreground text-sm\", className)}\n {...props}\n >\n <Info aria-hidden=\"true\" className=\"size-4 shrink-0 text-muted-foreground\" />\n {children ?? \"Context\"}\n </div>\n )\n}\n\nfunction ContextBody({ className, ...props }: ComponentProps<\"div\">) {\n return <div data-slot=\"context-body\" className={cn(\"space-y-2\", className)} {...props} />\n}\n\nfunction ContextUsage({\n label,\n used,\n total,\n className,\n ...props\n}: ComponentProps<\"div\"> & {\n label: string\n used: number\n total: number\n}) {\n const percentage = Math.min(100, Math.round((used / total) * 100))\n const isHigh = percentage > 80\n\n return (\n <div data-slot=\"context-usage\" className={cn(\"space-y-1.5\", className)} {...props}>\n <div className=\"flex items-center justify-between text-xs\">\n <span className=\"text-muted-foreground\">{label}</span>\n <span\n className={cn(\"font-mono tabular-nums\", isHigh ? \"text-amber-500\" : \"text-foreground\")}\n >\n {used.toLocaleString()} / {total.toLocaleString()}\n </span>\n </div>\n <div\n role=\"progressbar\"\n aria-valuenow={used}\n aria-valuemin={0}\n aria-valuemax={total}\n aria-label={label}\n className=\"h-1.5 overflow-hidden rounded-full bg-muted\"\n >\n <div\n className={cn(\n \"h-full rounded-full transition-all duration-300\",\n isHigh ? \"bg-amber-500\" : \"bg-primary\",\n )}\n style={{ width: `${percentage}%` }}\n />\n </div>\n </div>\n )\n}\n\nexport { Context, ContextHeader, ContextBody, ContextUsage }\n","\"use client\"\n\nimport { ArrowDown, Download, MessageSquare } from \"lucide-react\"\nimport {\n type ComponentProps,\n type ReactNode,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\"\nimport { cn } from \"../lib/utils\"\n\n// ---------------------------------------------------------------------------\n// Root — manages auto-scroll to bottom\n// ---------------------------------------------------------------------------\n\nfunction Conversation({ className, children, ...props }: ComponentProps<\"div\">) {\n const ref = useRef<HTMLDivElement>(null)\n const [isAtBottom, setIsAtBottom] = useState(true)\n\n useEffect(() => {\n const el = ref.current\n if (!el) return\n\n function handleScroll() {\n const threshold = 100\n setIsAtBottom(el!.scrollHeight - el!.scrollTop - el!.clientHeight < threshold)\n }\n\n el.addEventListener(\"scroll\", handleScroll, { passive: true })\n return () => el.removeEventListener(\"scroll\", handleScroll)\n }, [])\n\n // Auto-scroll when new content arrives and user is at bottom\n useEffect(() => {\n if (isAtBottom && ref.current) {\n ref.current.scrollTop = ref.current.scrollHeight\n }\n })\n\n const scrollToBottom = useCallback(() => {\n ref.current?.scrollTo({ top: ref.current.scrollHeight, behavior: \"smooth\" })\n }, [])\n\n return (\n <div data-slot=\"conversation\" className={cn(\"relative flex flex-col\", className)} {...props}>\n <div ref={ref} role=\"log\" aria-live=\"polite\" className=\"flex-1 overflow-y-auto\">\n {children}\n </div>\n {!isAtBottom && <ConversationScrollButton onClick={scrollToBottom} />}\n </div>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Content — message list area with padding\n// ---------------------------------------------------------------------------\n\nfunction ConversationContent({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"conversation-content\"\n className={cn(\"flex flex-col gap-6 p-4\", className)}\n {...props}\n />\n )\n}\n\n// ---------------------------------------------------------------------------\n// Empty state\n// ---------------------------------------------------------------------------\n\nfunction ConversationEmptyState({\n title = \"No messages yet\",\n description = \"Start a conversation to see messages here\",\n icon,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & {\n title?: string\n description?: string\n icon?: ReactNode\n}) {\n return (\n <div\n data-slot=\"conversation-empty-state\"\n className={cn(\n \"flex flex-1 flex-col items-center justify-center gap-4 p-8 text-center\",\n className,\n )}\n {...props}\n >\n {icon ?? <MessageSquare aria-hidden=\"true\" className=\"size-10 text-muted-foreground/40\" />}\n <div className=\"space-y-1\">\n <p className=\"font-medium text-foreground text-sm\">{title}</p>\n <p className=\"text-muted-foreground text-sm\">{description}</p>\n </div>\n {children}\n </div>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Scroll-to-bottom button\n// ---------------------------------------------------------------------------\n\nfunction ConversationScrollButton({ className, ...props }: ComponentProps<\"button\">) {\n return (\n <button\n data-slot=\"conversation-scroll-button\"\n type=\"button\"\n className={cn(\n \"absolute bottom-4 left-1/2 -translate-x-1/2\",\n \"inline-flex items-center gap-1.5 rounded-full border border-border bg-card px-3 py-1.5\",\n \"font-medium text-muted-foreground text-xs shadow-sm\",\n \"transition-colors hover:bg-accent hover:text-foreground\",\n className,\n )}\n {...props}\n >\n <ArrowDown className=\"size-3\" />\n Scroll to bottom\n </button>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Download conversation\n// ---------------------------------------------------------------------------\n\nfunction ConversationDownload({\n messages,\n filename = \"conversation.md\",\n formatMessage,\n className,\n ...props\n}: Omit<ComponentProps<\"button\">, \"onClick\"> & {\n messages: Array<{ role: string; content: string }>\n filename?: string\n formatMessage?: (msg: { role: string; content: string }, index: number) => string\n}) {\n const handleDownload = useCallback(() => {\n const md = messages\n .map(\n (msg, i) =>\n formatMessage?.(msg, i) ??\n `## ${msg.role === \"user\" ? \"You\" : msg.role === \"assistant\" ? \"Assistant\" : \"System\"}\\n\\n${msg.content}`,\n )\n .join(\"\\n\\n---\\n\\n\")\n\n const blob = new Blob([md], { type: \"text/markdown\" })\n const url = URL.createObjectURL(blob)\n const a = document.createElement(\"a\")\n a.href = url\n a.download = filename\n a.click()\n URL.revokeObjectURL(url)\n }, [messages, filename, formatMessage])\n\n return (\n <button\n data-slot=\"conversation-download\"\n type=\"button\"\n onClick={handleDownload}\n className={cn(\n \"inline-flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-xs\",\n \"text-muted-foreground transition-colors hover:text-foreground\",\n className,\n )}\n {...props}\n >\n <Download className=\"size-3.5\" />\n Download\n </button>\n )\n}\n\nexport {\n Conversation,\n ConversationContent,\n ConversationEmptyState,\n ConversationScrollButton,\n ConversationDownload,\n}\n","\"use client\"\n\nimport { ExternalLink } from \"lucide-react\"\nimport { type ComponentProps, useState } from \"react\"\nimport { cn } from \"../lib/utils\"\n\nfunction InlineCitation({\n index,\n href,\n title,\n description,\n children,\n className,\n ...props\n}: ComponentProps<\"span\"> & {\n index: number\n href: string\n title: string\n description?: string\n}) {\n const [showCard, setShowCard] = useState(false)\n\n return (\n <span\n data-slot=\"inline-citation\"\n className={cn(\"relative inline-flex items-baseline\", className)}\n onMouseEnter={() => setShowCard(true)}\n onMouseLeave={() => setShowCard(false)}\n onFocus={() => setShowCard(true)}\n onBlur={() => setShowCard(false)}\n {...props}\n >\n {children}\n <a\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label={`Citation ${index}: ${title}`}\n className=\"ml-0.5 inline-flex size-4 items-center justify-center rounded-full bg-primary/10 align-super font-bold text-[10px] text-primary transition-colors hover:bg-primary/20\"\n >\n {index}\n </a>\n\n {showCard && (\n <span role=\"tooltip\" className=\"absolute bottom-full left-1/2 z-50 mb-2 -translate-x-1/2\">\n <InlineCitationCard href={href} title={title} description={description} />\n </span>\n )}\n </span>\n )\n}\n\nfunction InlineCitationCard({\n href,\n title,\n description,\n className,\n ...props\n}: ComponentProps<\"a\"> & {\n title: string\n description?: string\n}) {\n return (\n <a\n data-slot=\"inline-citation-card\"\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={cn(\n \"block w-64 rounded-lg border border-border bg-popover p-3 shadow-md\",\n \"transition-colors hover:bg-muted/50\",\n className,\n )}\n {...props}\n >\n <p className=\"truncate font-medium text-popover-foreground text-sm\">{title}</p>\n {description && (\n <p className=\"mt-1 line-clamp-2 text-muted-foreground text-xs\">{description}</p>\n )}\n <span className=\"mt-2 inline-flex items-center gap-1 text-primary text-xs\">\n Open <ExternalLink className=\"size-3\" />\n </span>\n </a>\n )\n}\n\nexport { InlineCitation, InlineCitationCard }\n","\"use client\"\n\nimport { cva } from \"class-variance-authority\"\nimport { ChevronLeft, ChevronRight, Copy, RefreshCw, ThumbsDown, ThumbsUp } from \"lucide-react\"\nimport { type ComponentProps, createContext, useCallback, useContext, useState } from \"react\"\nimport { cn } from \"../lib/utils\"\n\n// ---------------------------------------------------------------------------\n// Message role context\n// ---------------------------------------------------------------------------\n\ntype MessageRole = \"user\" | \"assistant\" | \"system\"\n\nconst MessageContext = createContext<{ role: MessageRole }>({ role: \"assistant\" })\n\n// ---------------------------------------------------------------------------\n// CVA — message alignment and styling per role\n// ---------------------------------------------------------------------------\n\nconst messageVariants = cva(\"group/message flex gap-3\", {\n variants: {\n from: {\n user: \"flex-row-reverse\",\n assistant: \"flex-row\",\n system: \"flex-row justify-center\",\n },\n },\n defaultVariants: { from: \"assistant\" },\n})\n\n// ---------------------------------------------------------------------------\n// Root\n// ---------------------------------------------------------------------------\n\nfunction Message({\n from = \"assistant\",\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & { from?: MessageRole }) {\n return (\n <MessageContext.Provider value={{ role: from }}>\n <div\n data-slot=\"message\"\n data-role={from}\n className={cn(messageVariants({ from }), className)}\n {...props}\n >\n {children}\n </div>\n </MessageContext.Provider>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Avatar — rendered before/after content depending on role\n// ---------------------------------------------------------------------------\n\nfunction MessageAvatar({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"message-avatar\"\n className={cn(\n \"flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground\",\n className,\n )}\n {...props}\n />\n )\n}\n\n// ---------------------------------------------------------------------------\n// Content wrapper\n// ---------------------------------------------------------------------------\n\nfunction MessageContent({ className, ...props }: ComponentProps<\"div\">) {\n const { role } = useContext(MessageContext)\n\n return (\n <div\n data-slot=\"message-content\"\n className={cn(\n \"flex max-w-[80%] flex-col gap-1\",\n role === \"user\" && \"items-end\",\n role === \"system\" && \"max-w-full items-center\",\n className,\n )}\n {...props}\n />\n )\n}\n\n// ---------------------------------------------------------------------------\n// Response bubble — the actual message body\n// ---------------------------------------------------------------------------\n\nconst responseBubbleVariants = cva(\"rounded-2xl px-4 py-3 text-sm leading-relaxed\", {\n variants: {\n from: {\n user: \"bg-primary text-primary-foreground\",\n assistant: \"bg-muted text-foreground\",\n system: \"bg-muted/50 text-muted-foreground italic text-center\",\n },\n },\n defaultVariants: { from: \"assistant\" },\n})\n\nfunction MessageResponse({ className, ...props }: ComponentProps<\"div\">) {\n const { role } = useContext(MessageContext)\n\n return (\n <div\n data-slot=\"message-response\"\n className={cn(\n responseBubbleVariants({ from: role }),\n \"prose prose-sm dark:prose-invert max-w-none\",\n \"[&_pre]:rounded-lg [&_pre]:bg-card [&_pre]:p-3 [&_pre]:font-mono [&_pre]:text-xs\",\n \"[&_code]:rounded [&_code]:bg-card [&_code]:px-1.5 [&_code]:py-0.5 [&_code]:font-mono [&_code]:text-xs\",\n className,\n )}\n {...props}\n />\n )\n}\n\n// ---------------------------------------------------------------------------\n// Actions toolbar\n// ---------------------------------------------------------------------------\n\nfunction MessageActions({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"message-actions\"\n className={cn(\n \"flex items-center gap-1 opacity-0 transition-opacity group-hover/message:opacity-100\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction MessageAction({\n tooltip,\n className,\n ...props\n}: ComponentProps<\"button\"> & { tooltip?: string }) {\n return (\n <button\n data-slot=\"message-action\"\n type=\"button\"\n title={tooltip}\n className={cn(\n \"inline-flex items-center justify-center rounded-md p-1.5\",\n \"text-muted-foreground transition-colors hover:bg-muted hover:text-foreground\",\n className,\n )}\n {...props}\n />\n )\n}\n\n// ---------------------------------------------------------------------------\n// Convenience action buttons\n// ---------------------------------------------------------------------------\n\nfunction MessageCopyAction({\n content,\n className,\n ...props\n}: ComponentProps<\"button\"> & { content: string }) {\n const [copied, setCopied] = useState(false)\n\n const handleCopy = useCallback(() => {\n navigator.clipboard.writeText(content)\n setCopied(true)\n setTimeout(() => setCopied(false), 2000)\n }, [content])\n\n return (\n <MessageAction\n tooltip={copied ? \"Copied!\" : \"Copy\"}\n onClick={handleCopy}\n className={className}\n {...props}\n >\n <Copy className=\"size-3.5\" />\n </MessageAction>\n )\n}\n\nfunction MessageRegenerateAction(props: ComponentProps<\"button\">) {\n return (\n <MessageAction tooltip=\"Regenerate\" {...props}>\n <RefreshCw className=\"size-3.5\" />\n </MessageAction>\n )\n}\n\nfunction MessageFeedbackActions({\n onThumbsUp,\n onThumbsDown,\n}: {\n onThumbsUp?: () => void\n onThumbsDown?: () => void\n}) {\n return (\n <>\n <MessageAction tooltip=\"Good response\" onClick={onThumbsUp}>\n <ThumbsUp className=\"size-3.5\" />\n </MessageAction>\n <MessageAction tooltip=\"Bad response\" onClick={onThumbsDown}>\n <ThumbsDown className=\"size-3.5\" />\n </MessageAction>\n </>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Branch selector (for multiple response variants)\n// ---------------------------------------------------------------------------\n\ntype BranchContextValue = {\n branch: number\n total: number\n prev: () => void\n next: () => void\n}\n\nconst BranchContext = createContext<BranchContextValue | null>(null)\n\nfunction MessageBranch({\n total,\n defaultBranch = 0,\n onBranchChange,\n children,\n}: {\n total: number\n defaultBranch?: number\n onBranchChange?: (index: number) => void\n children: React.ReactNode\n}) {\n const [branch, setBranch] = useState(defaultBranch)\n\n const prev = useCallback(() => {\n setBranch((b) => {\n const next = Math.max(0, b - 1)\n onBranchChange?.(next)\n return next\n })\n }, [onBranchChange])\n\n const next = useCallback(() => {\n setBranch((b) => {\n const next = Math.min(total - 1, b + 1)\n onBranchChange?.(next)\n return next\n })\n }, [total, onBranchChange])\n\n return (\n <BranchContext.Provider value={{ branch, total, prev, next }}>\n {children}\n </BranchContext.Provider>\n )\n}\n\nfunction MessageBranchSelector({ className, ...props }: ComponentProps<\"div\">) {\n const ctx = useContext(BranchContext)\n if (!ctx || ctx.total <= 1) return null\n\n return (\n <div\n data-slot=\"message-branch-selector\"\n className={cn(\"inline-flex items-center gap-1 text-muted-foreground text-xs\", className)}\n {...props}\n >\n <button\n type=\"button\"\n onClick={ctx.prev}\n disabled={ctx.branch === 0}\n aria-label=\"Previous response\"\n className=\"rounded p-0.5 transition-colors hover:bg-muted disabled:opacity-30\"\n >\n <ChevronLeft aria-hidden=\"true\" className=\"size-3.5\" />\n </button>\n <span className=\"tabular-nums\" aria-label={`Response ${ctx.branch + 1} of ${ctx.total}`}>\n {ctx.branch + 1} / {ctx.total}\n </span>\n <button\n type=\"button\"\n onClick={ctx.next}\n disabled={ctx.branch === ctx.total - 1}\n aria-label=\"Next response\"\n className=\"rounded p-0.5 transition-colors hover:bg-muted disabled:opacity-30\"\n >\n <ChevronRight aria-hidden=\"true\" className=\"size-3.5\" />\n </button>\n </div>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Attachments within a message\n// ---------------------------------------------------------------------------\n\nfunction MessageAttachments({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"message-attachments\"\n className={cn(\"flex flex-wrap gap-2\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Message,\n MessageAvatar,\n MessageContent,\n MessageResponse,\n MessageActions,\n MessageAction,\n MessageCopyAction,\n MessageRegenerateAction,\n MessageFeedbackActions,\n MessageBranch,\n MessageBranchSelector,\n MessageAttachments,\n messageVariants,\n responseBubbleVariants,\n}\nexport type { MessageRole }\n","\"use client\"\n\nimport { Check, ChevronDown, Search } from \"lucide-react\"\nimport {\n type ComponentProps,\n createContext,\n type ReactNode,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\"\nimport { cn } from \"../lib/utils\"\n\n// ---------------------------------------------------------------------------\n// Context\n// ---------------------------------------------------------------------------\n\ntype ModelSelectorContextValue = {\n open: boolean\n setOpen: (open: boolean) => void\n search: string\n setSearch: (search: string) => void\n selected: string | null\n onSelect: (modelId: string) => void\n}\n\nconst ModelSelectorContext = createContext<ModelSelectorContextValue | null>(null)\n\nfunction useModelSelector() {\n const ctx = useContext(ModelSelectorContext)\n if (!ctx) throw new Error(\"useModelSelector must be used within <ModelSelector>\")\n return ctx\n}\n\n// ---------------------------------------------------------------------------\n// Root\n// ---------------------------------------------------------------------------\n\nfunction ModelSelector({\n value,\n onValueChange,\n children,\n}: {\n value?: string\n onValueChange?: (modelId: string) => void\n children: ReactNode\n}) {\n const [open, setOpen] = useState(false)\n const [search, setSearch] = useState(\"\")\n const [selected, setSelected] = useState(value ?? null)\n\n useEffect(() => {\n if (value !== undefined) setSelected(value)\n }, [value])\n\n const onSelect = useCallback(\n (modelId: string) => {\n setSelected(modelId)\n onValueChange?.(modelId)\n setOpen(false)\n setSearch(\"\")\n },\n [onValueChange],\n )\n\n return (\n <ModelSelectorContext.Provider value={{ open, setOpen, search, setSearch, selected, onSelect }}>\n <div data-slot=\"model-selector\" className=\"relative\">\n {children}\n </div>\n </ModelSelectorContext.Provider>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Trigger\n// ---------------------------------------------------------------------------\n\nfunction ModelSelectorTrigger({ className, children, ...props }: ComponentProps<\"button\">) {\n const { open, setOpen, selected } = useModelSelector()\n\n return (\n <button\n data-slot=\"model-selector-trigger\"\n type=\"button\"\n onClick={() => setOpen(!open)}\n aria-haspopup=\"listbox\"\n aria-expanded={open}\n className={cn(\n \"inline-flex items-center gap-2 rounded-lg border border-border bg-card px-3 py-2 text-sm\",\n \"transition-colors hover:bg-accent\",\n className,\n )}\n {...props}\n >\n {children ?? selected ?? \"Select model\"}\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\"size-3.5 text-muted-foreground transition-transform\", open && \"rotate-180\")}\n />\n </button>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Content (dropdown)\n// ---------------------------------------------------------------------------\n\nfunction ModelSelectorContent({ className, children, ...props }: ComponentProps<\"div\">) {\n const { open, setOpen } = useModelSelector()\n const ref = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (!open) return\n function handleClickOutside(e: MouseEvent) {\n if (ref.current && !ref.current.contains(e.target as Node)) {\n setOpen(false)\n }\n }\n function handleEscape(e: KeyboardEvent) {\n if (e.key === \"Escape\") setOpen(false)\n }\n document.addEventListener(\"mousedown\", handleClickOutside)\n document.addEventListener(\"keydown\", handleEscape)\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside)\n document.removeEventListener(\"keydown\", handleEscape)\n }\n }, [open, setOpen])\n\n if (!open) return null\n\n return (\n <div\n ref={ref}\n data-slot=\"model-selector-content\"\n className={cn(\n \"absolute top-full left-0 z-50 mt-1 w-72\",\n \"rounded-xl border border-border bg-popover p-1 shadow-lg\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Search input\n// ---------------------------------------------------------------------------\n\nfunction ModelSelectorInput({ className, ...props }: ComponentProps<\"input\">) {\n const { search, setSearch } = useModelSelector()\n\n return (\n <div className=\"relative px-1 pb-1\">\n <Search\n aria-hidden=\"true\"\n className=\"absolute top-1/2 left-3 size-3.5 -translate-y-1/2 text-muted-foreground\"\n />\n <input\n data-slot=\"model-selector-input\"\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n placeholder=\"Search models...\"\n aria-label=\"Search models\"\n className={cn(\n \"w-full rounded-lg bg-muted/50 py-2 pr-3 pl-8 text-sm\",\n \"placeholder:text-muted-foreground focus:outline-none\",\n className,\n )}\n {...props}\n />\n </div>\n )\n}\n\n// ---------------------------------------------------------------------------\n// List / Group / Item\n// ---------------------------------------------------------------------------\n\nfunction ModelSelectorList({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"model-selector-list\"\n role=\"listbox\"\n aria-label=\"Models\"\n className={cn(\"max-h-64 overflow-y-auto\", className)}\n {...props}\n />\n )\n}\n\nfunction ModelSelectorGroup({\n label,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & { label?: string }) {\n return (\n <div data-slot=\"model-selector-group\" className={cn(\"py-1\", className)} {...props}>\n {label && (\n <p className=\"px-2 py-1.5 font-medium text-[10px] text-muted-foreground uppercase tracking-wider\">\n {label}\n </p>\n )}\n {children}\n </div>\n )\n}\n\nfunction ModelSelectorItem({\n value,\n logo,\n name,\n description,\n className,\n ...props\n}: ComponentProps<\"button\"> & {\n value: string\n logo?: ReactNode\n name: string\n description?: string\n}) {\n const { selected, onSelect, search } = useModelSelector()\n const isSelected = selected === value\n\n // Filter by search\n const visible = useMemo(() => {\n if (!search) return true\n const q = search.toLowerCase()\n return name.toLowerCase().includes(q) || value.toLowerCase().includes(q)\n }, [search, name, value])\n\n if (!visible) return null\n\n return (\n <button\n data-slot=\"model-selector-item\"\n type=\"button\"\n role=\"option\"\n aria-selected={isSelected}\n onClick={() => onSelect(value)}\n className={cn(\n \"flex w-full items-center gap-3 rounded-lg px-2 py-2 text-left text-sm\",\n \"transition-colors hover:bg-muted/50\",\n isSelected && \"bg-muted\",\n className,\n )}\n {...props}\n >\n {logo && (\n <span className=\"shrink-0 [&>img]:size-5 [&>img]:rounded [&>svg]:size-4\">{logo}</span>\n )}\n <span className=\"min-w-0 flex-1\">\n <span className=\"block truncate font-medium text-foreground\">{name}</span>\n {description && (\n <span className=\"block truncate text-muted-foreground text-xs\">{description}</span>\n )}\n </span>\n {isSelected && <Check aria-hidden=\"true\" className=\"size-4 shrink-0 text-primary\" />}\n </button>\n )\n}\n\nfunction ModelSelectorEmpty({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"model-selector-empty\"\n className={cn(\"py-6 text-center text-muted-foreground text-sm\", className)}\n {...props}\n >\n {props.children ?? \"No models found.\"}\n </div>\n )\n}\n\nfunction ModelSelectorSeparator({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"model-selector-separator\"\n role=\"separator\"\n className={cn(\"mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n )\n}\n\nexport {\n ModelSelector,\n ModelSelectorTrigger,\n ModelSelectorContent,\n ModelSelectorInput,\n ModelSelectorList,\n ModelSelectorGroup,\n ModelSelectorItem,\n ModelSelectorEmpty,\n ModelSelectorSeparator,\n useModelSelector,\n}\n","\"use client\"\n\nimport { ChevronDown, ListChecks } from \"lucide-react\"\nimport { type ComponentProps, createContext, useCallback, useContext, useId, useState } from \"react\"\nimport { cn } from \"../lib/utils\"\n\ntype PlanContextValue = {\n open: boolean\n toggle: () => void\n contentId: string\n}\n\nconst PlanContext = createContext<PlanContextValue | null>(null)\n\nfunction Plan({\n defaultOpen = true,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & { defaultOpen?: boolean }) {\n const [open, setOpen] = useState(defaultOpen)\n const toggle = useCallback(() => setOpen((o) => !o), [])\n const contentId = useId()\n\n return (\n <PlanContext.Provider value={{ open, toggle, contentId }}>\n <div\n data-slot=\"plan\"\n data-state={open ? \"open\" : \"closed\"}\n className={cn(\"rounded-xl border border-border bg-card\", className)}\n {...props}\n >\n {children}\n </div>\n </PlanContext.Provider>\n )\n}\n\nfunction PlanHeader({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"plan-header\"\n className={cn(\"flex items-center gap-3 px-4 py-3\", className)}\n {...props}\n />\n )\n}\n\nfunction PlanTitle({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"plan-title\"\n className={cn(\"flex-1 font-medium text-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction PlanDescription({ className, ...props }: ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"plan-description\"\n className={cn(\"px-4 pb-3 text-muted-foreground text-xs\", className)}\n {...props}\n />\n )\n}\n\nfunction PlanTrigger({ className, ...props }: ComponentProps<\"button\">) {\n const ctx = useContext(PlanContext)\n if (!ctx) throw new Error(\"PlanTrigger must be used within <Plan>\")\n\n return (\n <button\n data-slot=\"plan-trigger\"\n type=\"button\"\n onClick={ctx.toggle}\n aria-expanded={ctx.open}\n aria-controls={ctx.contentId}\n className={cn(\n \"flex w-full items-center gap-2 px-4 py-3 font-medium text-sm\",\n \"text-muted-foreground transition-colors hover:text-foreground\",\n className,\n )}\n {...props}\n >\n <ListChecks aria-hidden=\"true\" className=\"size-4 shrink-0\" />\n <span className=\"flex-1 text-left\">{props.children ?? \"Execution Plan\"}</span>\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n \"size-4 shrink-0 transition-transform duration-200\",\n ctx.open && \"rotate-180\",\n )}\n />\n </button>\n )\n}\n\nfunction PlanContent({ className, ...props }: ComponentProps<\"div\">) {\n const ctx = useContext(PlanContext)\n if (!ctx?.open) return null\n\n return (\n <div\n id={ctx.contentId}\n data-slot=\"plan-content\"\n role=\"region\"\n className={cn(\"space-y-2 border-border border-t px-4 py-3\", className)}\n {...props}\n />\n )\n}\n\nfunction PlanFooter({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"plan-footer\"\n className={cn(\"flex items-center gap-2 border-border border-t px-4 py-2.5\", className)}\n {...props}\n />\n )\n}\n\nfunction PlanAction({ className, ...props }: ComponentProps<\"button\">) {\n return (\n <button\n data-slot=\"plan-action\"\n type=\"button\"\n className={cn(\n \"inline-flex items-center rounded-lg px-3 py-1.5 font-medium text-xs\",\n \"bg-primary text-primary-foreground transition-colors hover:bg-primary/90\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport {\n Plan,\n PlanHeader,\n PlanTitle,\n PlanDescription,\n PlanTrigger,\n PlanContent,\n PlanFooter,\n PlanAction,\n}\n","\"use client\"\n\nimport { ArrowUp, Paperclip, Square, X } from \"lucide-react\"\nimport {\n type ComponentProps,\n createContext,\n type FormEvent,\n useCallback,\n useContext,\n useRef,\n useState,\n} from \"react\"\nimport { cn } from \"../lib/utils\"\n\n// ---------------------------------------------------------------------------\n// Context for sharing input state\n// ---------------------------------------------------------------------------\n\ntype PromptInputContextValue = {\n value: string\n setValue: (value: string) => void\n files: File[]\n addFiles: (files: File[]) => void\n removeFile: (index: number) => void\n clearFiles: () => void\n submit: () => void\n isLoading: boolean\n}\n\nconst PromptInputContext = createContext<PromptInputContextValue | null>(null)\n\nfunction usePromptInput() {\n const ctx = useContext(PromptInputContext)\n if (!ctx) throw new Error(\"usePromptInput must be used within <PromptInput>\")\n return ctx\n}\n\n// ---------------------------------------------------------------------------\n// Root — form wrapper with context\n// ---------------------------------------------------------------------------\n\nfunction PromptInput({\n onSubmit,\n isLoading = false,\n className,\n children,\n ...props\n}: Omit<ComponentProps<\"form\">, \"onSubmit\"> & {\n onSubmit?: (message: string, files: File[]) => void\n isLoading?: boolean\n}) {\n const [value, setValue] = useState(\"\")\n const [files, setFiles] = useState<File[]>([])\n\n const addFiles = useCallback((newFiles: File[]) => {\n setFiles((prev) => [...prev, ...newFiles])\n }, [])\n\n const removeFile = useCallback((index: number) => {\n setFiles((prev) => prev.filter((_, i) => i !== index))\n }, [])\n\n const clearFiles = useCallback(() => setFiles([]), [])\n\n const submit = useCallback(() => {\n if (!value.trim() && files.length === 0) return\n onSubmit?.(value.trim(), files)\n setValue(\"\")\n setFiles([])\n }, [value, files, onSubmit])\n\n const handleSubmit = useCallback(\n (e: FormEvent) => {\n e.preventDefault()\n submit()\n },\n [submit],\n )\n\n return (\n <PromptInputContext.Provider\n value={{ value, setValue, files, addFiles, removeFile, clearFiles, submit, isLoading }}\n >\n <form\n data-slot=\"prompt-input\"\n onSubmit={handleSubmit}\n className={cn(\n \"flex flex-col rounded-2xl border border-border bg-card shadow-sm\",\n \"focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2\",\n className,\n )}\n {...props}\n >\n {children}\n </form>\n </PromptInputContext.Provider>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Layout areas\n// ---------------------------------------------------------------------------\n\nfunction PromptInputHeader({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"prompt-input-header\"\n className={cn(\"border-border border-b px-4 py-2\", className)}\n {...props}\n />\n )\n}\n\nfunction PromptInputBody({ className, ...props }: ComponentProps<\"div\">) {\n return <div data-slot=\"prompt-input-body\" className={cn(\"flex-1\", className)} {...props} />\n}\n\nfunction PromptInputFooter({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"prompt-input-footer\"\n className={cn(\"flex items-center gap-2 px-3 py-2\", className)}\n {...props}\n />\n )\n}\n\n// ---------------------------------------------------------------------------\n// Textarea — auto-resizing input\n// ---------------------------------------------------------------------------\n\nfunction PromptInputTextarea({ className, onKeyDown, ...props }: ComponentProps<\"textarea\">) {\n const { value, setValue, submit, isLoading } = usePromptInput()\n const ref = useRef<HTMLTextAreaElement>(null)\n\n const handleInput = useCallback(() => {\n const el = ref.current\n if (!el) return\n el.style.height = \"auto\"\n el.style.height = `${Math.min(el.scrollHeight, 200)}px`\n }, [])\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (e.key === \"Enter\" && !e.shiftKey) {\n e.preventDefault()\n if (!isLoading) submit()\n }\n onKeyDown?.(e)\n },\n [submit, isLoading, onKeyDown],\n )\n\n return (\n <textarea\n ref={ref}\n data-slot=\"prompt-input-textarea\"\n value={value}\n onChange={(e) => {\n setValue(e.target.value)\n handleInput()\n }}\n onKeyDown={handleKeyDown}\n placeholder=\"Type a message...\"\n rows={1}\n disabled={isLoading}\n className={cn(\n \"w-full resize-none bg-transparent px-4 py-3 text-foreground text-sm\",\n \"placeholder:text-muted-foreground\",\n \"focus:outline-none\",\n \"disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n )\n}\n\n// ---------------------------------------------------------------------------\n// Toolbar / tools\n// ---------------------------------------------------------------------------\n\nfunction PromptInputTools({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"prompt-input-tools\"\n className={cn(\"flex items-center gap-1\", className)}\n {...props}\n />\n )\n}\n\n// ---------------------------------------------------------------------------\n// Attach button\n// ---------------------------------------------------------------------------\n\nfunction PromptInputAttachButton({\n accept,\n multiple = true,\n className,\n ...props\n}: Omit<ComponentProps<\"button\">, \"onClick\"> & {\n accept?: string\n multiple?: boolean\n}) {\n const { addFiles } = usePromptInput()\n const inputRef = useRef<HTMLInputElement>(null)\n\n const handleClick = useCallback(() => {\n inputRef.current?.click()\n }, [])\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const fileList = e.target.files\n if (fileList) {\n addFiles(Array.from(fileList))\n e.target.value = \"\"\n }\n },\n [addFiles],\n )\n\n return (\n <>\n <input\n ref={inputRef}\n type=\"file\"\n accept={accept}\n multiple={multiple}\n onChange={handleChange}\n className=\"hidden\"\n aria-hidden=\"true\"\n tabIndex={-1}\n />\n <button\n data-slot=\"prompt-input-attach-button\"\n type=\"button\"\n onClick={handleClick}\n aria-label=\"Attach files\"\n className={cn(\n \"inline-flex items-center justify-center rounded-md p-2\",\n \"text-muted-foreground transition-colors hover:bg-muted hover:text-foreground\",\n className,\n )}\n {...props}\n >\n <Paperclip aria-hidden=\"true\" className=\"size-4\" />\n </button>\n </>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Submit button\n// ---------------------------------------------------------------------------\n\nfunction PromptInputSubmit({ className, ...props }: ComponentProps<\"button\">) {\n const { value, files, isLoading } = usePromptInput()\n const hasContent = value.trim().length > 0 || files.length > 0\n\n return (\n <button\n data-slot=\"prompt-input-submit\"\n type=\"submit\"\n disabled={!hasContent && !isLoading}\n aria-label={isLoading ? \"Stop generation\" : \"Send message\"}\n className={cn(\n \"ml-auto inline-flex items-center justify-center rounded-full p-2\",\n \"transition-colors\",\n isLoading\n ? \"bg-destructive text-destructive-foreground hover:bg-destructive/90\"\n : hasContent\n ? \"bg-primary text-primary-foreground hover:bg-primary/90\"\n : \"bg-muted text-muted-foreground\",\n className,\n )}\n {...props}\n >\n {isLoading ? <Square className=\"size-4\" /> : <ArrowUp className=\"size-4\" />}\n </button>\n )\n}\n\n// ---------------------------------------------------------------------------\n// File preview list\n// ---------------------------------------------------------------------------\n\nfunction PromptInputFiles({ className, ...props }: ComponentProps<\"div\">) {\n const { files, removeFile } = usePromptInput()\n if (files.length === 0) return null\n\n return (\n <div\n data-slot=\"prompt-input-files\"\n className={cn(\"flex flex-wrap gap-2 px-4 pt-2\", className)}\n {...props}\n >\n {files.map((file, i) => (\n <span\n key={`${file.name}-${i}`}\n className=\"inline-flex items-center gap-1.5 rounded-lg border border-border bg-muted/50 px-2.5 py-1 text-foreground text-xs\"\n >\n {file.name}\n <button\n type=\"button\"\n onClick={() => removeFile(i)}\n aria-label={`Remove ${file.name}`}\n className=\"rounded-full p-0.5 text-muted-foreground transition-colors hover:text-foreground\"\n >\n <X aria-hidden=\"true\" className=\"size-3\" />\n </button>\n </span>\n ))}\n </div>\n )\n}\n\nexport {\n PromptInput,\n PromptInputHeader,\n PromptInputBody,\n PromptInputFooter,\n PromptInputTextarea,\n PromptInputTools,\n PromptInputAttachButton,\n PromptInputSubmit,\n PromptInputFiles,\n usePromptInput,\n}\n","\"use client\"\n\nimport { cva } from \"class-variance-authority\"\nimport { ChevronDown } from \"lucide-react\"\nimport { type ComponentProps, createContext, useCallback, useContext, useId, useState } from \"react\"\nimport { cn } from \"../lib/utils\"\n\n// ---------------------------------------------------------------------------\n// Queue section (collapsible group)\n// ---------------------------------------------------------------------------\n\ntype QueueSectionContextValue = {\n open: boolean\n toggle: () => void\n contentId: string\n}\n\nconst QueueSectionContext = createContext<QueueSectionContextValue | null>(null)\n\nfunction QueueSection({\n defaultOpen = true,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & { defaultOpen?: boolean }) {\n const [open, setOpen] = useState(defaultOpen)\n const toggle = useCallback(() => setOpen((o) => !o), [])\n const contentId = useId()\n\n return (\n <QueueSectionContext.Provider value={{ open, toggle, contentId }}>\n <div data-slot=\"queue-section\" className={cn(\"space-y-1\", className)} {...props}>\n {children}\n </div>\n </QueueSectionContext.Provider>\n )\n}\n\nfunction QueueSectionTrigger({ className, ...props }: ComponentProps<\"button\">) {\n const ctx = useContext(QueueSectionContext)\n if (!ctx) throw new Error(\"QueueSectionTrigger must be used within <QueueSection>\")\n\n return (\n <button\n data-slot=\"queue-section-trigger\"\n type=\"button\"\n onClick={ctx.toggle}\n aria-expanded={ctx.open}\n aria-controls={ctx.contentId}\n className={cn(\n \"flex w-full items-center gap-2 px-2 py-1.5 font-medium text-muted-foreground text-xs\",\n \"rounded-md transition-colors hover:text-foreground\",\n className,\n )}\n {...props}\n >\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n \"size-3.5 shrink-0 transition-transform duration-200\",\n ctx.open && \"rotate-180\",\n )}\n />\n {props.children}\n </button>\n )\n}\n\nfunction QueueSectionLabel({ className, ...props }: ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"queue-section-label\"\n className={cn(\"flex-1 text-left\", className)}\n {...props}\n />\n )\n}\n\nfunction QueueList({ className, ...props }: ComponentProps<\"div\">) {\n const ctx = useContext(QueueSectionContext)\n if (ctx && !ctx.open) return null\n\n return (\n <div\n id={ctx?.contentId}\n data-slot=\"queue-list\"\n role=\"list\"\n className={cn(\"space-y-1\", className)}\n {...props}\n />\n )\n}\n\n// ---------------------------------------------------------------------------\n// Queue item\n// ---------------------------------------------------------------------------\n\ntype QueueItemStatus = \"pending\" | \"active\" | \"complete\" | \"error\"\n\nconst queueItemIndicatorVariants = cva(\"size-2 shrink-0 rounded-full\", {\n variants: {\n status: {\n pending: \"bg-muted-foreground/30\",\n active: \"bg-primary animate-pulse\",\n complete: \"bg-emerald-500\",\n error: \"bg-red-500\",\n },\n },\n defaultVariants: { status: \"pending\" },\n})\n\nfunction QueueItem({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"queue-item\"\n role=\"listitem\"\n className={cn(\n \"flex items-start gap-3 rounded-lg px-3 py-2.5\",\n \"transition-colors hover:bg-muted/50\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction QueueItemIndicator({\n status = \"pending\",\n className,\n ...props\n}: ComponentProps<\"span\"> & { status?: QueueItemStatus }) {\n return (\n <span\n data-slot=\"queue-item-indicator\"\n role=\"img\"\n aria-label={status}\n className={cn(queueItemIndicatorVariants({ status }), \"mt-1.5\", className)}\n {...props}\n />\n )\n}\n\nfunction QueueItemContent({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div data-slot=\"queue-item-content\" className={cn(\"min-w-0 flex-1\", className)} {...props} />\n )\n}\n\nfunction QueueItemDescription({ className, ...props }: ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"queue-item-description\"\n className={cn(\"mt-0.5 text-muted-foreground text-xs\", className)}\n {...props}\n />\n )\n}\n\nfunction QueueItemActions({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"queue-item-actions\"\n className={cn(\"flex shrink-0 items-center gap-1\", className)}\n {...props}\n />\n )\n}\n\nexport {\n QueueSection,\n QueueSectionTrigger,\n QueueSectionLabel,\n QueueList,\n QueueItem,\n QueueItemIndicator,\n QueueItemContent,\n QueueItemDescription,\n QueueItemActions,\n queueItemIndicatorVariants,\n}\nexport type { QueueItemStatus }\n","\"use client\"\n\nimport { ChevronDown } from \"lucide-react\"\nimport { type ComponentProps, createContext, useCallback, useContext, useId, useState } from \"react\"\nimport { cn } from \"../lib/utils\"\n\ntype ReasoningContextValue = {\n open: boolean\n toggle: () => void\n contentId: string\n}\n\nconst ReasoningContext = createContext<ReasoningContextValue | null>(null)\n\nfunction useReasoning() {\n const ctx = useContext(ReasoningContext)\n if (!ctx) throw new Error(\"useReasoning must be used within <Reasoning>\")\n return ctx\n}\n\nfunction Reasoning({\n defaultOpen = false,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & { defaultOpen?: boolean }) {\n const [open, setOpen] = useState(defaultOpen)\n const toggle = useCallback(() => setOpen((o) => !o), [])\n const contentId = useId()\n\n return (\n <ReasoningContext.Provider value={{ open, toggle, contentId }}>\n <div\n data-slot=\"reasoning\"\n data-state={open ? \"open\" : \"closed\"}\n className={cn(\"rounded-xl border border-border bg-card\", className)}\n {...props}\n >\n {children}\n </div>\n </ReasoningContext.Provider>\n )\n}\n\nfunction ReasoningTrigger({ className, children, ...props }: ComponentProps<\"button\">) {\n const { open, toggle, contentId } = useReasoning()\n\n return (\n <button\n data-slot=\"reasoning-trigger\"\n type=\"button\"\n onClick={toggle}\n aria-expanded={open}\n aria-controls={contentId}\n className={cn(\n \"flex w-full items-center gap-2 px-4 py-3 font-medium text-muted-foreground text-sm\",\n \"transition-colors hover:text-foreground\",\n className,\n )}\n {...props}\n >\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\"size-4 shrink-0 transition-transform duration-200\", open && \"rotate-180\")}\n />\n {children ?? (open ? \"Hide reasoning\" : \"Show reasoning\")}\n </button>\n )\n}\n\nfunction ReasoningContent({ className, ...props }: ComponentProps<\"div\">) {\n const { open, contentId } = useReasoning()\n if (!open) return null\n\n return (\n <div\n id={contentId}\n data-slot=\"reasoning-content\"\n role=\"region\"\n className={cn(\n \"border-border border-t px-4 py-3\",\n \"font-mono text-muted-foreground text-sm leading-relaxed\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Reasoning, ReasoningTrigger, ReasoningContent, useReasoning }\n","\"use client\"\n\nimport type { ComponentProps, ElementType } from \"react\"\nimport { cn } from \"../lib/utils\"\n\ntype ShimmerProps<T extends ElementType = \"p\"> = Omit<ComponentProps<\"p\">, \"as\"> & {\n /** The HTML element to render as */\n as?: T\n /** Animation duration in seconds */\n duration?: number\n /** Size of the shimmer gradient spread (0-1) */\n spread?: number\n}\n\nfunction Shimmer<T extends ElementType = \"p\">({\n as,\n className,\n duration = 2,\n spread = 0.3,\n style,\n ...props\n}: ShimmerProps<T>) {\n const Component = (as || \"p\") as ElementType\n\n return (\n <Component\n data-slot=\"shimmer\"\n role=\"status\"\n aria-label=\"Loading\"\n className={cn(\n \"animate-shimmer bg-clip-text text-transparent\",\n \"bg-[length:200%_100%]\",\n \"bg-gradient-to-r from-muted-foreground via-foreground to-muted-foreground\",\n className,\n )}\n style={{\n animationDuration: `${duration}s`,\n ...style,\n }}\n {...props}\n />\n )\n}\n\nexport { Shimmer }\nexport type { ShimmerProps }\n","\"use client\"\n\nimport { ChevronDown, ExternalLink } from \"lucide-react\"\nimport { type ComponentProps, createContext, useCallback, useContext, useId, useState } from \"react\"\nimport { cn } from \"../lib/utils\"\n\ntype SourcesContextValue = {\n open: boolean\n toggle: () => void\n contentId: string\n}\n\nconst SourcesContext = createContext<SourcesContextValue | null>(null)\n\nfunction Sources({\n defaultOpen = false,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & { defaultOpen?: boolean }) {\n const [open, setOpen] = useState(defaultOpen)\n const toggle = useCallback(() => setOpen((o) => !o), [])\n const contentId = useId()\n\n return (\n <SourcesContext.Provider value={{ open, toggle, contentId }}>\n <div\n data-slot=\"sources\"\n data-state={open ? \"open\" : \"closed\"}\n className={cn(\"rounded-xl border border-border bg-card\", className)}\n {...props}\n >\n {children}\n </div>\n </SourcesContext.Provider>\n )\n}\n\nfunction SourcesTrigger({ className, children, ...props }: ComponentProps<\"button\">) {\n const ctx = useContext(SourcesContext)\n if (!ctx) throw new Error(\"SourcesTrigger must be used within <Sources>\")\n\n return (\n <button\n data-slot=\"sources-trigger\"\n type=\"button\"\n onClick={ctx.toggle}\n aria-expanded={ctx.open}\n aria-controls={ctx.contentId}\n className={cn(\n \"flex w-full items-center gap-2 px-4 py-3 font-medium text-muted-foreground text-sm\",\n \"transition-colors hover:text-foreground\",\n className,\n )}\n {...props}\n >\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n \"size-4 shrink-0 transition-transform duration-200\",\n ctx.open && \"rotate-180\",\n )}\n />\n {children ?? `${ctx.open ? \"Hide\" : \"Show\"} sources`}\n </button>\n )\n}\n\nfunction SourcesContent({ className, ...props }: ComponentProps<\"div\">) {\n const ctx = useContext(SourcesContext)\n if (!ctx) throw new Error(\"SourcesContent must be used within <Sources>\")\n if (!ctx.open) return null\n\n return (\n <div\n id={ctx.contentId}\n data-slot=\"sources-content\"\n role=\"region\"\n className={cn(\"space-y-2 border-border border-t px-4 py-3\", className)}\n {...props}\n />\n )\n}\n\nfunction Source({\n href,\n title,\n description,\n favicon,\n className,\n ...props\n}: ComponentProps<\"a\"> & {\n title: string\n description?: string\n favicon?: string\n}) {\n return (\n <a\n data-slot=\"source\"\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={cn(\n \"flex items-start gap-3 rounded-lg p-3 transition-colors\",\n \"hover:bg-muted/50\",\n className,\n )}\n {...props}\n >\n {favicon && <img src={favicon} alt=\"\" className=\"mt-0.5 size-4 shrink-0 rounded\" />}\n <div className=\"min-w-0 flex-1\">\n <p className=\"truncate font-medium text-foreground text-sm\">{title}</p>\n {description && (\n <p className=\"mt-0.5 line-clamp-2 text-muted-foreground text-xs\">{description}</p>\n )}\n </div>\n <ExternalLink className=\"mt-0.5 size-3.5 shrink-0 text-muted-foreground\" />\n </a>\n )\n}\n\nexport { Sources, SourcesTrigger, SourcesContent, Source }\n","\"use client\"\n\nimport type { ComponentProps } from \"react\"\nimport { cn } from \"../lib/utils\"\n\nfunction Suggestions({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div data-slot=\"suggestions\" className={cn(\"flex flex-wrap gap-2\", className)} {...props} />\n )\n}\n\nfunction Suggestion({ className, ...props }: ComponentProps<\"button\">) {\n return (\n <button\n data-slot=\"suggestion\"\n type=\"button\"\n className={cn(\n \"inline-flex items-center gap-2 rounded-full border border-border bg-card px-4 py-2\",\n \"text-foreground text-sm transition-colors\",\n \"hover:bg-accent hover:text-accent-foreground\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Suggestions, Suggestion }\n","\"use client\"\n\nimport { Check, ChevronDown, Circle, Loader2 } from \"lucide-react\"\nimport { type ComponentProps, createContext, useCallback, useContext, useId, useState } from \"react\"\nimport { cn } from \"../lib/utils\"\n\ntype TaskContextValue = {\n open: boolean\n toggle: () => void\n contentId: string\n}\n\nconst TaskContext = createContext<TaskContextValue | null>(null)\n\ntype TaskStatus = \"pending\" | \"running\" | \"complete\" | \"error\"\n\nconst statusIcons: Record<TaskStatus, typeof Check> = {\n pending: Circle,\n running: Loader2,\n complete: Check,\n error: Circle,\n}\n\nfunction Task({\n defaultOpen = false,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & { defaultOpen?: boolean }) {\n const [open, setOpen] = useState(defaultOpen)\n const toggle = useCallback(() => setOpen((o) => !o), [])\n const contentId = useId()\n\n return (\n <TaskContext.Provider value={{ open, toggle, contentId }}>\n <div\n data-slot=\"task\"\n data-state={open ? \"open\" : \"closed\"}\n className={cn(\"rounded-xl border border-border bg-card\", className)}\n {...props}\n >\n {children}\n </div>\n </TaskContext.Provider>\n )\n}\n\nfunction TaskTrigger({\n status = \"pending\",\n className,\n children,\n ...props\n}: ComponentProps<\"button\"> & { status?: TaskStatus }) {\n const ctx = useContext(TaskContext)\n if (!ctx) throw new Error(\"TaskTrigger must be used within <Task>\")\n\n const Icon = statusIcons[status]\n\n return (\n <button\n data-slot=\"task-trigger\"\n type=\"button\"\n onClick={ctx.toggle}\n aria-expanded={ctx.open}\n aria-controls={ctx.contentId}\n className={cn(\n \"flex w-full items-center gap-2.5 px-4 py-3 text-sm\",\n \"text-foreground transition-colors hover:bg-muted/50\",\n className,\n )}\n {...props}\n >\n <Icon\n aria-hidden=\"true\"\n className={cn(\n \"size-4 shrink-0\",\n status === \"complete\" && \"text-emerald-500\",\n status === \"running\" && \"animate-spin text-primary\",\n status === \"error\" && \"text-red-500\",\n status === \"pending\" && \"text-muted-foreground\",\n )}\n />\n <span className=\"flex-1 truncate text-left font-medium\">{children}</span>\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n \"size-4 shrink-0 text-muted-foreground transition-transform duration-200\",\n ctx.open && \"rotate-180\",\n )}\n />\n </button>\n )\n}\n\nfunction TaskContent({ className, ...props }: ComponentProps<\"div\">) {\n const ctx = useContext(TaskContext)\n if (!ctx?.open) return null\n\n return (\n <div\n id={ctx.contentId}\n data-slot=\"task-content\"\n role=\"region\"\n className={cn(\n \"space-y-2 border-border border-t px-4 py-3 text-muted-foreground text-sm\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TaskItem({\n status = \"pending\",\n className,\n ...props\n}: ComponentProps<\"div\"> & { status?: TaskStatus }) {\n const Icon = statusIcons[status]\n\n return (\n <div data-slot=\"task-item\" className={cn(\"flex items-center gap-2 py-1\", className)} {...props}>\n <Icon\n className={cn(\n \"size-3.5 shrink-0\",\n status === \"complete\" && \"text-emerald-500\",\n status === \"running\" && \"animate-spin text-primary\",\n status === \"error\" && \"text-red-500\",\n status === \"pending\" && \"text-muted-foreground/50\",\n )}\n />\n <span\n className={cn(\"text-sm\", status === \"complete\" && \"text-muted-foreground line-through\")}\n >\n {props.children}\n </span>\n </div>\n )\n}\n\nfunction TaskItemFile({\n filename,\n className,\n ...props\n}: ComponentProps<\"span\"> & { filename: string }) {\n return (\n <span\n data-slot=\"task-item-file\"\n className={cn(\n \"inline-flex items-center rounded bg-muted px-1.5 py-0.5 font-mono text-xs\",\n className,\n )}\n {...props}\n >\n {filename}\n </span>\n )\n}\n\nexport { Task, TaskTrigger, TaskContent, TaskItem, TaskItemFile }\nexport type { TaskStatus }\n","\"use client\"\n\nimport { cva } from \"class-variance-authority\"\nimport { ChevronDown, Terminal } from \"lucide-react\"\nimport { type ComponentProps, createContext, useCallback, useContext, useId, useState } from \"react\"\nimport { cn } from \"../lib/utils\"\n\ntype ToolContextValue = {\n open: boolean\n toggle: () => void\n contentId: string\n}\n\nconst ToolContext = createContext<ToolContextValue | null>(null)\n\ntype ToolStatus = \"pending\" | \"running\" | \"success\" | \"error\"\n\nconst statusBadgeVariants = cva(\n \"inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium uppercase tracking-wider\",\n {\n variants: {\n status: {\n pending: \"bg-muted text-muted-foreground\",\n running: \"bg-primary/10 text-primary\",\n success: \"bg-emerald-500/10 text-emerald-600 dark:text-emerald-400\",\n error: \"bg-red-500/10 text-red-600 dark:text-red-400\",\n },\n },\n defaultVariants: { status: \"pending\" },\n },\n)\n\nfunction getStatusLabel(status: ToolStatus): string {\n switch (status) {\n case \"pending\":\n return \"Pending\"\n case \"running\":\n return \"Running\"\n case \"success\":\n return \"Done\"\n case \"error\":\n return \"Error\"\n }\n}\n\nfunction Tool({\n defaultOpen = false,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & { defaultOpen?: boolean }) {\n const [open, setOpen] = useState(defaultOpen)\n const toggle = useCallback(() => setOpen((o) => !o), [])\n const contentId = useId()\n\n return (\n <ToolContext.Provider value={{ open, toggle, contentId }}>\n <div\n data-slot=\"tool\"\n data-state={open ? \"open\" : \"closed\"}\n className={cn(\"rounded-xl border border-border bg-card\", className)}\n {...props}\n >\n {children}\n </div>\n </ToolContext.Provider>\n )\n}\n\nfunction ToolHeader({\n name,\n status = \"pending\",\n icon,\n className,\n ...props\n}: ComponentProps<\"button\"> & {\n name: string\n status?: ToolStatus\n icon?: React.ReactNode\n}) {\n const ctx = useContext(ToolContext)\n if (!ctx) throw new Error(\"ToolHeader must be used within <Tool>\")\n\n return (\n <button\n data-slot=\"tool-header\"\n type=\"button\"\n onClick={ctx.toggle}\n aria-expanded={ctx.open}\n aria-controls={ctx.contentId}\n className={cn(\n \"flex w-full items-center gap-2.5 px-4 py-3 text-sm transition-colors hover:bg-muted/50\",\n className,\n )}\n {...props}\n >\n {icon ?? <Terminal aria-hidden=\"true\" className=\"size-4 shrink-0 text-muted-foreground\" />}\n <span className=\"flex-1 truncate text-left font-medium font-mono text-foreground\">\n {name}\n </span>\n <span className={statusBadgeVariants({ status })}>{getStatusLabel(status)}</span>\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n \"size-4 shrink-0 text-muted-foreground transition-transform duration-200\",\n ctx.open && \"rotate-180\",\n )}\n />\n </button>\n )\n}\n\nfunction ToolContent({ className, ...props }: ComponentProps<\"div\">) {\n const ctx = useContext(ToolContext)\n if (!ctx?.open) return null\n\n return (\n <div\n id={ctx.contentId}\n data-slot=\"tool-content\"\n role=\"region\"\n className={cn(\"border-border border-t\", className)}\n {...props}\n />\n )\n}\n\nfunction ToolInput({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div data-slot=\"tool-input\" className={cn(\"space-y-1 px-4 py-3\", className)} {...props}>\n <p className=\"font-medium text-[10px] text-muted-foreground uppercase tracking-wider\">\n Input\n </p>\n <pre className=\"overflow-x-auto rounded-lg bg-muted p-3 font-mono text-xs\">\n {props.children}\n </pre>\n </div>\n )\n}\n\nfunction ToolOutput({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"tool-output\"\n className={cn(\"space-y-1 border-border border-t px-4 py-3\", className)}\n {...props}\n >\n <p className=\"font-medium text-[10px] text-muted-foreground uppercase tracking-wider\">\n Output\n </p>\n <pre className=\"overflow-x-auto rounded-lg bg-muted p-3 font-mono text-xs\">\n {props.children}\n </pre>\n </div>\n )\n}\n\nexport { Tool, ToolHeader, ToolContent, ToolInput, ToolOutput, statusBadgeVariants, getStatusLabel }\nexport type { ToolStatus }\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/chatbot/attachments.tsx","../src/chatbot/chain-of-thought.tsx","../src/chatbot/checkpoint.tsx","../src/chatbot/confirmation.tsx","../src/chatbot/context.tsx","../src/chatbot/conversation.tsx","../src/chatbot/inline-citation.tsx","../src/chatbot/message.tsx","../src/chatbot/model-selector.tsx","../src/chatbot/plan.tsx","../src/chatbot/prompt-input.tsx","../src/chatbot/queue.tsx","../src/chatbot/reasoning.tsx","../src/chatbot/shimmer.tsx","../src/chatbot/sources.tsx","../src/chatbot/suggestion.tsx","../src/chatbot/task.tsx","../src/chatbot/tool.tsx"],"names":["jsx","jsxs","X","useState","useCallback","_a","createContext","cva","useContext","next","useEffect","ChevronDown","useRef","Search","Check","useId","Fragment","ExternalLink"],"mappings":"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","file":"chatbot.js","sourcesContent":["\"use client\"\n\nimport { File, FileAudio, FileImage, FileVideo, X } from \"lucide-react\"\nimport type { ComponentProps } from \"react\"\nimport { cn } from \"../lib/utils\"\n\nfunction Attachments({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div data-slot=\"attachments\" className={cn(\"flex flex-wrap gap-2\", className)} {...props} />\n )\n}\n\ntype AttachmentType = \"image\" | \"video\" | \"audio\" | \"file\"\n\nconst typeIcons: Record<AttachmentType, typeof File> = {\n image: FileImage,\n video: FileVideo,\n audio: FileAudio,\n file: File,\n}\n\nfunction Attachment({\n name,\n type = \"file\",\n url,\n onRemove,\n className,\n ...props\n}: ComponentProps<\"div\"> & {\n name: string\n type?: AttachmentType\n url?: string\n onRemove?: () => void\n}) {\n const Icon = typeIcons[type]\n\n return (\n <div\n data-slot=\"attachment\"\n className={cn(\n \"group/attachment relative flex items-center gap-2 rounded-lg border border-border bg-card px-3 py-2\",\n \"text-sm transition-colors\",\n className,\n )}\n {...props}\n >\n {type === \"image\" && url ? (\n <img src={url} alt={name} className=\"size-8 rounded object-cover\" />\n ) : (\n <Icon className=\"size-4 shrink-0 text-muted-foreground\" />\n )}\n <span className=\"min-w-0 truncate text-foreground\">{name}</span>\n {onRemove && (\n <button\n type=\"button\"\n onClick={onRemove}\n aria-label={`Remove ${name}`}\n className=\"ml-1 shrink-0 rounded-full p-0.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground\"\n >\n <X aria-hidden=\"true\" className=\"size-3\" />\n </button>\n )}\n </div>\n )\n}\n\nexport { Attachments, Attachment }\nexport type { AttachmentType }\n","\"use client\"\n\nimport { ChevronDown, Search } from \"lucide-react\"\nimport { type ComponentProps, createContext, useCallback, useContext, useId, useState } from \"react\"\nimport { cn } from \"../lib/utils\"\n\ntype ChainOfThoughtContextValue = {\n open: boolean\n toggle: () => void\n contentId: string\n}\n\nconst ChainOfThoughtContext = createContext<ChainOfThoughtContextValue | null>(null)\n\nfunction ChainOfThought({\n defaultOpen = false,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & { defaultOpen?: boolean }) {\n const [open, setOpen] = useState(defaultOpen)\n const toggle = useCallback(() => setOpen((o) => !o), [])\n const contentId = useId()\n\n return (\n <ChainOfThoughtContext.Provider value={{ open, toggle, contentId }}>\n <div\n data-slot=\"chain-of-thought\"\n data-state={open ? \"open\" : \"closed\"}\n className={cn(\"rounded-xl border border-border bg-card\", className)}\n {...props}\n >\n {children}\n </div>\n </ChainOfThoughtContext.Provider>\n )\n}\n\nfunction ChainOfThoughtHeader({ className, children, ...props }: ComponentProps<\"button\">) {\n const ctx = useContext(ChainOfThoughtContext)\n if (!ctx) throw new Error(\"ChainOfThoughtHeader must be used within <ChainOfThought>\")\n\n return (\n <button\n data-slot=\"chain-of-thought-header\"\n type=\"button\"\n onClick={ctx.toggle}\n aria-expanded={ctx.open}\n aria-controls={ctx.contentId}\n className={cn(\n \"flex w-full items-center gap-2 px-4 py-3 font-medium text-sm\",\n \"text-muted-foreground transition-colors hover:text-foreground\",\n className,\n )}\n {...props}\n >\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n \"size-4 shrink-0 transition-transform duration-200\",\n ctx.open && \"rotate-180\",\n )}\n />\n {children ?? \"Chain of thought\"}\n </button>\n )\n}\n\nfunction ChainOfThoughtContent({ className, ...props }: ComponentProps<\"div\">) {\n const ctx = useContext(ChainOfThoughtContext)\n if (!ctx?.open) return null\n\n return (\n <div\n id={ctx.contentId}\n data-slot=\"chain-of-thought-content\"\n role=\"region\"\n className={cn(\"space-y-3 border-border border-t px-4 py-3\", className)}\n {...props}\n />\n )\n}\n\nfunction ChainOfThoughtStep({\n step,\n status,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & {\n step: number\n status?: \"pending\" | \"active\" | \"complete\"\n}) {\n return (\n <div\n data-slot=\"chain-of-thought-step\"\n data-status={status}\n className={cn(\"flex gap-3\", className)}\n {...props}\n >\n <span\n className={cn(\n \"flex size-6 shrink-0 items-center justify-center rounded-full font-bold text-xs\",\n status === \"complete\" && \"bg-primary text-primary-foreground\",\n status === \"active\" && \"bg-primary/20 text-primary ring-2 ring-primary/30\",\n (!status || status === \"pending\") && \"bg-muted text-muted-foreground\",\n )}\n >\n {step}\n </span>\n <div className=\"min-w-0 flex-1 text-foreground text-sm\">{children}</div>\n </div>\n )\n}\n\nfunction ChainOfThoughtSearchResults({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"chain-of-thought-search-results\"\n className={cn(\"space-y-2 pl-9\", className)}\n {...props}\n />\n )\n}\n\nfunction ChainOfThoughtSearchResult({\n title,\n url,\n className,\n ...props\n}: ComponentProps<\"a\"> & { title: string; url: string }) {\n return (\n <a\n data-slot=\"chain-of-thought-search-result\"\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={cn(\n \"flex items-center gap-2 rounded-lg p-2 text-sm transition-colors hover:bg-muted/50\",\n className,\n )}\n {...props}\n >\n <Search className=\"size-3.5 shrink-0 text-muted-foreground\" />\n <span className=\"truncate text-foreground\">{title}</span>\n </a>\n )\n}\n\nexport {\n ChainOfThought,\n ChainOfThoughtHeader,\n ChainOfThoughtContent,\n ChainOfThoughtStep,\n ChainOfThoughtSearchResults,\n ChainOfThoughtSearchResult,\n}\n","\"use client\"\n\nimport { Bookmark } from \"lucide-react\"\nimport type { ComponentProps, ReactNode } from \"react\"\nimport { cn } from \"../lib/utils\"\n\nfunction Checkpoint({ className, children, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"checkpoint\"\n className={cn(\n \"flex items-center gap-3 rounded-lg border border-border border-dashed bg-muted/30 px-4 py-2.5\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n )\n}\n\nfunction CheckpointIcon({\n icon,\n className,\n ...props\n}: ComponentProps<\"span\"> & { icon?: ReactNode }) {\n return (\n <span\n data-slot=\"checkpoint-icon\"\n className={cn(\"shrink-0 text-muted-foreground\", className)}\n {...props}\n >\n {icon ?? <Bookmark className=\"size-4\" />}\n </span>\n )\n}\n\nfunction CheckpointTrigger({ className, ...props }: ComponentProps<\"button\">) {\n return (\n <button\n data-slot=\"checkpoint-trigger\"\n type=\"button\"\n className={cn(\n \"flex-1 truncate text-left text-muted-foreground text-sm transition-colors hover:text-foreground\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Checkpoint, CheckpointIcon, CheckpointTrigger }\n","\"use client\"\n\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { AlertTriangle, Check, X } from \"lucide-react\"\nimport type { ComponentProps, ReactNode } from \"react\"\nimport { cn } from \"../lib/utils\"\n\nconst confirmationVariants = cva(\"rounded-xl border p-4 space-y-3\", {\n variants: {\n status: {\n pending: \"border-border bg-card\",\n accepted: \"border-emerald-500/30 bg-emerald-500/5\",\n rejected: \"border-red-500/30 bg-red-500/5\",\n },\n },\n defaultVariants: { status: \"pending\" },\n})\n\nfunction Confirmation({\n status = \"pending\",\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & VariantProps<typeof confirmationVariants>) {\n return (\n <div\n data-slot=\"confirmation\"\n data-status={status}\n role=\"alert\"\n className={cn(confirmationVariants({ status }), className)}\n {...props}\n >\n {children}\n </div>\n )\n}\n\nfunction ConfirmationRequest({\n icon,\n title,\n description,\n className,\n ...props\n}: ComponentProps<\"div\"> & {\n icon?: ReactNode\n title: string\n description?: string\n}) {\n return (\n <div\n data-slot=\"confirmation-request\"\n className={cn(\"flex items-start gap-3\", className)}\n {...props}\n >\n {icon ?? (\n <AlertTriangle aria-hidden=\"true\" className=\"mt-0.5 size-5 shrink-0 text-amber-500\" />\n )}\n <div className=\"min-w-0\">\n <p className=\"font-medium text-foreground text-sm\">{title}</p>\n {description && <p className=\"mt-0.5 text-muted-foreground text-xs\">{description}</p>}\n </div>\n </div>\n )\n}\n\nfunction ConfirmationAccepted({ className, children, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"confirmation-accepted\"\n className={cn(\n \"flex items-center gap-2 text-emerald-600 text-sm dark:text-emerald-400\",\n className,\n )}\n {...props}\n >\n <Check className=\"size-4 shrink-0\" />\n {children ?? \"Approved\"}\n </div>\n )\n}\n\nfunction ConfirmationRejected({ className, children, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"confirmation-rejected\"\n className={cn(\"flex items-center gap-2 text-red-600 text-sm dark:text-red-400\", className)}\n {...props}\n >\n <X className=\"size-4 shrink-0\" />\n {children ?? \"Rejected\"}\n </div>\n )\n}\n\nfunction ConfirmationActions({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"confirmation-actions\"\n className={cn(\"flex items-center gap-2\", className)}\n {...props}\n />\n )\n}\n\nfunction ConfirmationAction({\n variant = \"default\",\n className,\n ...props\n}: ComponentProps<\"button\"> & {\n variant?: \"default\" | \"destructive\"\n}) {\n return (\n <button\n data-slot=\"confirmation-action\"\n type=\"button\"\n className={cn(\n \"inline-flex items-center justify-center rounded-lg px-3 py-1.5 font-medium text-sm transition-colors\",\n variant === \"destructive\"\n ? \"bg-red-500/10 text-red-600 hover:bg-red-500/20 dark:text-red-400\"\n : \"bg-primary text-primary-foreground hover:bg-primary/90\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport {\n Confirmation,\n ConfirmationRequest,\n ConfirmationAccepted,\n ConfirmationRejected,\n ConfirmationActions,\n ConfirmationAction,\n confirmationVariants,\n}\n","\"use client\"\n\nimport { Info } from \"lucide-react\"\nimport type { ComponentProps } from \"react\"\nimport { cn } from \"../lib/utils\"\n\nfunction Context({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"context\"\n className={cn(\"space-y-3 rounded-xl border border-border bg-card p-4\", className)}\n {...props}\n />\n )\n}\n\nfunction ContextHeader({ className, children, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"context-header\"\n className={cn(\"flex items-center gap-2 font-medium text-foreground text-sm\", className)}\n {...props}\n >\n <Info aria-hidden=\"true\" className=\"size-4 shrink-0 text-muted-foreground\" />\n {children ?? \"Context\"}\n </div>\n )\n}\n\nfunction ContextBody({ className, ...props }: ComponentProps<\"div\">) {\n return <div data-slot=\"context-body\" className={cn(\"space-y-2\", className)} {...props} />\n}\n\nfunction ContextUsage({\n label,\n used,\n total,\n className,\n ...props\n}: ComponentProps<\"div\"> & {\n label: string\n used: number\n total: number\n}) {\n const percentage = Math.min(100, Math.round((used / total) * 100))\n const isHigh = percentage > 80\n\n return (\n <div data-slot=\"context-usage\" className={cn(\"space-y-1.5\", className)} {...props}>\n <div className=\"flex items-center justify-between text-xs\">\n <span className=\"text-muted-foreground\">{label}</span>\n <span\n className={cn(\"font-mono tabular-nums\", isHigh ? \"text-amber-500\" : \"text-foreground\")}\n >\n {used.toLocaleString()} / {total.toLocaleString()}\n </span>\n </div>\n <div\n role=\"progressbar\"\n aria-valuenow={used}\n aria-valuemin={0}\n aria-valuemax={total}\n aria-label={label}\n className=\"h-1.5 overflow-hidden rounded-full bg-muted\"\n >\n <div\n className={cn(\n \"h-full rounded-full transition-all duration-300\",\n isHigh ? \"bg-amber-500\" : \"bg-primary\",\n )}\n style={{ width: `${percentage}%` }}\n />\n </div>\n </div>\n )\n}\n\nexport { Context, ContextHeader, ContextBody, ContextUsage }\n","\"use client\"\n\nimport { ArrowDown, Download, MessageSquare } from \"lucide-react\"\nimport {\n type ComponentProps,\n type ReactNode,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\"\nimport { cn } from \"../lib/utils\"\n\n// ---------------------------------------------------------------------------\n// Root — manages auto-scroll to bottom\n// ---------------------------------------------------------------------------\n\nfunction Conversation({ className, children, ...props }: ComponentProps<\"div\">) {\n const ref = useRef<HTMLDivElement>(null)\n const [isAtBottom, setIsAtBottom] = useState(true)\n\n useEffect(() => {\n const el = ref.current\n if (!el) return\n\n function handleScroll() {\n const threshold = 100\n setIsAtBottom(el!.scrollHeight - el!.scrollTop - el!.clientHeight < threshold)\n }\n\n el.addEventListener(\"scroll\", handleScroll, { passive: true })\n return () => el.removeEventListener(\"scroll\", handleScroll)\n }, [])\n\n // Auto-scroll when new content arrives and user is at bottom\n useEffect(() => {\n if (isAtBottom && ref.current) {\n ref.current.scrollTop = ref.current.scrollHeight\n }\n })\n\n const scrollToBottom = useCallback(() => {\n ref.current?.scrollTo({ top: ref.current.scrollHeight, behavior: \"smooth\" })\n }, [])\n\n return (\n <div data-slot=\"conversation\" className={cn(\"relative flex flex-col\", className)} {...props}>\n <div ref={ref} role=\"log\" aria-live=\"polite\" className=\"flex-1 overflow-y-auto\">\n {children}\n </div>\n {!isAtBottom && <ConversationScrollButton onClick={scrollToBottom} />}\n </div>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Content — message list area with padding\n// ---------------------------------------------------------------------------\n\nfunction ConversationContent({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"conversation-content\"\n className={cn(\"flex flex-col gap-6 p-4\", className)}\n {...props}\n />\n )\n}\n\n// ---------------------------------------------------------------------------\n// Empty state\n// ---------------------------------------------------------------------------\n\nfunction ConversationEmptyState({\n title = \"No messages yet\",\n description = \"Start a conversation to see messages here\",\n icon,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & {\n title?: string\n description?: string\n icon?: ReactNode\n}) {\n return (\n <div\n data-slot=\"conversation-empty-state\"\n className={cn(\n \"flex flex-1 flex-col items-center justify-center gap-4 p-8 text-center\",\n className,\n )}\n {...props}\n >\n {icon ?? <MessageSquare aria-hidden=\"true\" className=\"size-10 text-muted-foreground/40\" />}\n <div className=\"space-y-1\">\n <p className=\"font-medium text-foreground text-sm\">{title}</p>\n <p className=\"text-muted-foreground text-sm\">{description}</p>\n </div>\n {children}\n </div>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Scroll-to-bottom button\n// ---------------------------------------------------------------------------\n\nfunction ConversationScrollButton({ className, ...props }: ComponentProps<\"button\">) {\n return (\n <button\n data-slot=\"conversation-scroll-button\"\n type=\"button\"\n className={cn(\n \"absolute bottom-4 left-1/2 -translate-x-1/2\",\n \"inline-flex items-center gap-1.5 rounded-full border border-border bg-card px-3 py-1.5\",\n \"font-medium text-muted-foreground text-xs shadow-sm\",\n \"transition-colors hover:bg-accent hover:text-foreground\",\n className,\n )}\n {...props}\n >\n <ArrowDown className=\"size-3\" />\n Scroll to bottom\n </button>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Download conversation\n// ---------------------------------------------------------------------------\n\nfunction ConversationDownload({\n messages,\n filename = \"conversation.md\",\n formatMessage,\n className,\n ...props\n}: Omit<ComponentProps<\"button\">, \"onClick\"> & {\n messages: Array<{ role: string; content: string }>\n filename?: string\n formatMessage?: (msg: { role: string; content: string }, index: number) => string\n}) {\n const handleDownload = useCallback(() => {\n const md = messages\n .map(\n (msg, i) =>\n formatMessage?.(msg, i) ??\n `## ${msg.role === \"user\" ? \"You\" : msg.role === \"assistant\" ? \"Assistant\" : \"System\"}\\n\\n${msg.content}`,\n )\n .join(\"\\n\\n---\\n\\n\")\n\n const blob = new Blob([md], { type: \"text/markdown\" })\n const url = URL.createObjectURL(blob)\n const a = document.createElement(\"a\")\n a.href = url\n a.download = filename\n a.click()\n URL.revokeObjectURL(url)\n }, [messages, filename, formatMessage])\n\n return (\n <button\n data-slot=\"conversation-download\"\n type=\"button\"\n onClick={handleDownload}\n className={cn(\n \"inline-flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-xs\",\n \"text-muted-foreground transition-colors hover:text-foreground\",\n className,\n )}\n {...props}\n >\n <Download className=\"size-3.5\" />\n Download\n </button>\n )\n}\n\nexport {\n Conversation,\n ConversationContent,\n ConversationEmptyState,\n ConversationScrollButton,\n ConversationDownload,\n}\n","\"use client\"\n\nimport { ExternalLink } from \"lucide-react\"\nimport { type ComponentProps, useState } from \"react\"\nimport { cn } from \"../lib/utils\"\n\nfunction InlineCitation({\n index,\n href,\n title,\n description,\n children,\n className,\n ...props\n}: ComponentProps<\"span\"> & {\n index: number\n href: string\n title: string\n description?: string\n}) {\n const [showCard, setShowCard] = useState(false)\n\n return (\n <span\n data-slot=\"inline-citation\"\n className={cn(\"relative inline-flex items-baseline\", className)}\n onMouseEnter={() => setShowCard(true)}\n onMouseLeave={() => setShowCard(false)}\n onFocus={() => setShowCard(true)}\n onBlur={() => setShowCard(false)}\n {...props}\n >\n {children}\n <a\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label={`Citation ${index}: ${title}`}\n className=\"ml-0.5 inline-flex size-4 items-center justify-center rounded-full bg-primary/10 align-super font-bold text-[10px] text-primary transition-colors hover:bg-primary/20\"\n >\n {index}\n </a>\n\n {showCard && (\n <span role=\"tooltip\" className=\"absolute bottom-full left-1/2 z-50 mb-2 -translate-x-1/2\">\n <InlineCitationCard href={href} title={title} description={description} />\n </span>\n )}\n </span>\n )\n}\n\nfunction InlineCitationCard({\n href,\n title,\n description,\n className,\n ...props\n}: ComponentProps<\"a\"> & {\n title: string\n description?: string\n}) {\n return (\n <a\n data-slot=\"inline-citation-card\"\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={cn(\n \"block w-64 rounded-lg border border-border bg-popover p-3 shadow-md\",\n \"transition-colors hover:bg-muted/50\",\n className,\n )}\n {...props}\n >\n <p className=\"truncate font-medium text-popover-foreground text-sm\">{title}</p>\n {description && (\n <p className=\"mt-1 line-clamp-2 text-muted-foreground text-xs\">{description}</p>\n )}\n <span className=\"mt-2 inline-flex items-center gap-1 text-primary text-xs\">\n Open <ExternalLink className=\"size-3\" />\n </span>\n </a>\n )\n}\n\nexport { InlineCitation, InlineCitationCard }\n","\"use client\"\n\nimport { cva } from \"class-variance-authority\"\nimport { ChevronLeft, ChevronRight, Copy, RefreshCw, ThumbsDown, ThumbsUp } from \"lucide-react\"\nimport { type ComponentProps, createContext, useCallback, useContext, useState } from \"react\"\nimport { cn } from \"../lib/utils\"\n\n// ---------------------------------------------------------------------------\n// Message role context\n// ---------------------------------------------------------------------------\n\ntype MessageRole = \"user\" | \"assistant\" | \"system\"\n\nconst MessageContext = createContext<{ role: MessageRole }>({ role: \"assistant\" })\n\n// ---------------------------------------------------------------------------\n// CVA — message alignment and styling per role\n// ---------------------------------------------------------------------------\n\nconst messageVariants = cva(\"group/message flex gap-3\", {\n variants: {\n from: {\n user: \"flex-row-reverse\",\n assistant: \"flex-row\",\n system: \"flex-row justify-center\",\n },\n },\n defaultVariants: { from: \"assistant\" },\n})\n\n// ---------------------------------------------------------------------------\n// Root\n// ---------------------------------------------------------------------------\n\nfunction Message({\n from = \"assistant\",\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & { from?: MessageRole }) {\n return (\n <MessageContext.Provider value={{ role: from }}>\n <div\n data-slot=\"message\"\n data-role={from}\n className={cn(messageVariants({ from }), className)}\n {...props}\n >\n {children}\n </div>\n </MessageContext.Provider>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Avatar — rendered before/after content depending on role\n// ---------------------------------------------------------------------------\n\nfunction MessageAvatar({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"message-avatar\"\n className={cn(\n \"flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground\",\n className,\n )}\n {...props}\n />\n )\n}\n\n// ---------------------------------------------------------------------------\n// Content wrapper\n// ---------------------------------------------------------------------------\n\nfunction MessageContent({ className, ...props }: ComponentProps<\"div\">) {\n const { role } = useContext(MessageContext)\n\n return (\n <div\n data-slot=\"message-content\"\n className={cn(\n \"flex max-w-[80%] flex-col gap-1\",\n role === \"user\" && \"items-end\",\n role === \"system\" && \"max-w-full items-center\",\n className,\n )}\n {...props}\n />\n )\n}\n\n// ---------------------------------------------------------------------------\n// Response bubble — the actual message body\n// ---------------------------------------------------------------------------\n\nconst responseBubbleVariants = cva(\"rounded-2xl px-4 py-3 text-sm leading-relaxed\", {\n variants: {\n from: {\n user: \"bg-primary text-primary-foreground\",\n assistant: \"bg-muted text-foreground\",\n system: \"bg-muted/50 text-muted-foreground italic text-center\",\n },\n },\n defaultVariants: { from: \"assistant\" },\n})\n\nfunction MessageResponse({ className, ...props }: ComponentProps<\"div\">) {\n const { role } = useContext(MessageContext)\n\n return (\n <div\n data-slot=\"message-response\"\n className={cn(\n responseBubbleVariants({ from: role }),\n \"prose prose-sm dark:prose-invert max-w-none\",\n \"[&_pre]:rounded-lg [&_pre]:bg-card [&_pre]:p-3 [&_pre]:font-mono [&_pre]:text-xs\",\n \"[&_code]:rounded [&_code]:bg-card [&_code]:px-1.5 [&_code]:py-0.5 [&_code]:font-mono [&_code]:text-xs\",\n className,\n )}\n {...props}\n />\n )\n}\n\n// ---------------------------------------------------------------------------\n// Actions toolbar\n// ---------------------------------------------------------------------------\n\nfunction MessageActions({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"message-actions\"\n className={cn(\n \"flex items-center gap-1 opacity-0 transition-opacity group-hover/message:opacity-100\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction MessageAction({\n tooltip,\n className,\n ...props\n}: ComponentProps<\"button\"> & { tooltip?: string }) {\n return (\n <button\n data-slot=\"message-action\"\n type=\"button\"\n title={tooltip}\n className={cn(\n \"inline-flex items-center justify-center rounded-md p-1.5\",\n \"text-muted-foreground transition-colors hover:bg-muted hover:text-foreground\",\n className,\n )}\n {...props}\n />\n )\n}\n\n// ---------------------------------------------------------------------------\n// Convenience action buttons\n// ---------------------------------------------------------------------------\n\nfunction MessageCopyAction({\n content,\n className,\n ...props\n}: ComponentProps<\"button\"> & { content: string }) {\n const [copied, setCopied] = useState(false)\n\n const handleCopy = useCallback(() => {\n navigator.clipboard.writeText(content)\n setCopied(true)\n setTimeout(() => setCopied(false), 2000)\n }, [content])\n\n return (\n <MessageAction\n tooltip={copied ? \"Copied!\" : \"Copy\"}\n onClick={handleCopy}\n className={className}\n {...props}\n >\n <Copy className=\"size-3.5\" />\n </MessageAction>\n )\n}\n\nfunction MessageRegenerateAction(props: ComponentProps<\"button\">) {\n return (\n <MessageAction tooltip=\"Regenerate\" {...props}>\n <RefreshCw className=\"size-3.5\" />\n </MessageAction>\n )\n}\n\nfunction MessageFeedbackActions({\n onThumbsUp,\n onThumbsDown,\n}: {\n onThumbsUp?: () => void\n onThumbsDown?: () => void\n}) {\n return (\n <>\n <MessageAction tooltip=\"Good response\" onClick={onThumbsUp}>\n <ThumbsUp className=\"size-3.5\" />\n </MessageAction>\n <MessageAction tooltip=\"Bad response\" onClick={onThumbsDown}>\n <ThumbsDown className=\"size-3.5\" />\n </MessageAction>\n </>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Branch selector (for multiple response variants)\n// ---------------------------------------------------------------------------\n\ntype BranchContextValue = {\n branch: number\n total: number\n prev: () => void\n next: () => void\n}\n\nconst BranchContext = createContext<BranchContextValue | null>(null)\n\nfunction MessageBranch({\n total,\n defaultBranch = 0,\n onBranchChange,\n children,\n}: {\n total: number\n defaultBranch?: number\n onBranchChange?: (index: number) => void\n children: React.ReactNode\n}) {\n const [branch, setBranch] = useState(defaultBranch)\n\n const prev = useCallback(() => {\n setBranch((b) => {\n const next = Math.max(0, b - 1)\n onBranchChange?.(next)\n return next\n })\n }, [onBranchChange])\n\n const next = useCallback(() => {\n setBranch((b) => {\n const next = Math.min(total - 1, b + 1)\n onBranchChange?.(next)\n return next\n })\n }, [total, onBranchChange])\n\n return (\n <BranchContext.Provider value={{ branch, total, prev, next }}>\n {children}\n </BranchContext.Provider>\n )\n}\n\nfunction MessageBranchSelector({ className, ...props }: ComponentProps<\"div\">) {\n const ctx = useContext(BranchContext)\n if (!ctx || ctx.total <= 1) return null\n\n return (\n <div\n data-slot=\"message-branch-selector\"\n className={cn(\"inline-flex items-center gap-1 text-muted-foreground text-xs\", className)}\n {...props}\n >\n <button\n type=\"button\"\n onClick={ctx.prev}\n disabled={ctx.branch === 0}\n aria-label=\"Previous response\"\n className=\"rounded p-0.5 transition-colors hover:bg-muted disabled:opacity-30\"\n >\n <ChevronLeft aria-hidden=\"true\" className=\"size-3.5\" />\n </button>\n <span className=\"tabular-nums\" aria-label={`Response ${ctx.branch + 1} of ${ctx.total}`}>\n {ctx.branch + 1} / {ctx.total}\n </span>\n <button\n type=\"button\"\n onClick={ctx.next}\n disabled={ctx.branch === ctx.total - 1}\n aria-label=\"Next response\"\n className=\"rounded p-0.5 transition-colors hover:bg-muted disabled:opacity-30\"\n >\n <ChevronRight aria-hidden=\"true\" className=\"size-3.5\" />\n </button>\n </div>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Attachments within a message\n// ---------------------------------------------------------------------------\n\nfunction MessageAttachments({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"message-attachments\"\n className={cn(\"flex flex-wrap gap-2\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Message,\n MessageAvatar,\n MessageContent,\n MessageResponse,\n MessageActions,\n MessageAction,\n MessageCopyAction,\n MessageRegenerateAction,\n MessageFeedbackActions,\n MessageBranch,\n MessageBranchSelector,\n MessageAttachments,\n messageVariants,\n responseBubbleVariants,\n}\nexport type { MessageRole }\n","\"use client\"\n\nimport { Check, ChevronDown, Search } from \"lucide-react\"\nimport {\n type ComponentProps,\n createContext,\n type ReactNode,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\"\nimport { cn } from \"../lib/utils\"\n\n// ---------------------------------------------------------------------------\n// Context\n// ---------------------------------------------------------------------------\n\ntype ModelSelectorContextValue = {\n open: boolean\n setOpen: (open: boolean) => void\n search: string\n setSearch: (search: string) => void\n selected: string | null\n onSelect: (modelId: string) => void\n}\n\nconst ModelSelectorContext = createContext<ModelSelectorContextValue | null>(null)\n\nfunction useModelSelector() {\n const ctx = useContext(ModelSelectorContext)\n if (!ctx) throw new Error(\"useModelSelector must be used within <ModelSelector>\")\n return ctx\n}\n\n// ---------------------------------------------------------------------------\n// Root\n// ---------------------------------------------------------------------------\n\nfunction ModelSelector({\n value,\n onValueChange,\n children,\n}: {\n value?: string\n onValueChange?: (modelId: string) => void\n children: ReactNode\n}) {\n const [open, setOpen] = useState(false)\n const [search, setSearch] = useState(\"\")\n const [selected, setSelected] = useState(value ?? null)\n\n useEffect(() => {\n if (value !== undefined) setSelected(value)\n }, [value])\n\n const onSelect = useCallback(\n (modelId: string) => {\n setSelected(modelId)\n onValueChange?.(modelId)\n setOpen(false)\n setSearch(\"\")\n },\n [onValueChange],\n )\n\n return (\n <ModelSelectorContext.Provider value={{ open, setOpen, search, setSearch, selected, onSelect }}>\n <div data-slot=\"model-selector\" className=\"relative\">\n {children}\n </div>\n </ModelSelectorContext.Provider>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Trigger\n// ---------------------------------------------------------------------------\n\nfunction ModelSelectorTrigger({ className, children, ...props }: ComponentProps<\"button\">) {\n const { open, setOpen, selected } = useModelSelector()\n\n return (\n <button\n data-slot=\"model-selector-trigger\"\n type=\"button\"\n onClick={() => setOpen(!open)}\n aria-haspopup=\"listbox\"\n aria-expanded={open}\n className={cn(\n \"inline-flex items-center gap-2 rounded-lg border border-border bg-card px-3 py-2 text-sm\",\n \"transition-colors hover:bg-accent\",\n className,\n )}\n {...props}\n >\n {children ?? selected ?? \"Select model\"}\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\"size-3.5 text-muted-foreground transition-transform\", open && \"rotate-180\")}\n />\n </button>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Content (dropdown)\n// ---------------------------------------------------------------------------\n\nfunction ModelSelectorContent({ className, children, ...props }: ComponentProps<\"div\">) {\n const { open, setOpen } = useModelSelector()\n const ref = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (!open) return\n function handleClickOutside(e: MouseEvent) {\n if (ref.current && !ref.current.contains(e.target as Node)) {\n setOpen(false)\n }\n }\n function handleEscape(e: KeyboardEvent) {\n if (e.key === \"Escape\") setOpen(false)\n }\n document.addEventListener(\"mousedown\", handleClickOutside)\n document.addEventListener(\"keydown\", handleEscape)\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside)\n document.removeEventListener(\"keydown\", handleEscape)\n }\n }, [open, setOpen])\n\n if (!open) return null\n\n return (\n <div\n ref={ref}\n data-slot=\"model-selector-content\"\n className={cn(\n \"absolute top-full left-0 z-50 mt-1 w-72\",\n \"rounded-xl border border-border bg-popover p-1 shadow-lg\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Search input\n// ---------------------------------------------------------------------------\n\nfunction ModelSelectorInput({ className, ...props }: ComponentProps<\"input\">) {\n const { search, setSearch } = useModelSelector()\n\n return (\n <div className=\"relative px-1 pb-1\">\n <Search\n aria-hidden=\"true\"\n className=\"absolute top-1/2 left-3 size-3.5 -translate-y-1/2 text-muted-foreground\"\n />\n <input\n data-slot=\"model-selector-input\"\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n placeholder=\"Search models...\"\n aria-label=\"Search models\"\n className={cn(\n \"w-full rounded-lg bg-muted/50 py-2 pr-3 pl-8 text-sm\",\n \"placeholder:text-muted-foreground focus:outline-none\",\n className,\n )}\n {...props}\n />\n </div>\n )\n}\n\n// ---------------------------------------------------------------------------\n// List / Group / Item\n// ---------------------------------------------------------------------------\n\nfunction ModelSelectorList({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"model-selector-list\"\n role=\"listbox\"\n aria-label=\"Models\"\n className={cn(\"max-h-64 overflow-y-auto\", className)}\n {...props}\n />\n )\n}\n\nfunction ModelSelectorGroup({\n label,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & { label?: string }) {\n return (\n <div data-slot=\"model-selector-group\" className={cn(\"py-1\", className)} {...props}>\n {label && (\n <p className=\"px-2 py-1.5 font-medium text-[10px] text-muted-foreground uppercase tracking-wider\">\n {label}\n </p>\n )}\n {children}\n </div>\n )\n}\n\nfunction ModelSelectorItem({\n value,\n logo,\n name,\n description,\n className,\n ...props\n}: ComponentProps<\"button\"> & {\n value: string\n logo?: ReactNode\n name: string\n description?: string\n}) {\n const { selected, onSelect, search } = useModelSelector()\n const isSelected = selected === value\n\n // Filter by search\n const visible = useMemo(() => {\n if (!search) return true\n const q = search.toLowerCase()\n return name.toLowerCase().includes(q) || value.toLowerCase().includes(q)\n }, [search, name, value])\n\n if (!visible) return null\n\n return (\n <button\n data-slot=\"model-selector-item\"\n type=\"button\"\n role=\"option\"\n aria-selected={isSelected}\n onClick={() => onSelect(value)}\n className={cn(\n \"flex w-full items-center gap-3 rounded-lg px-2 py-2 text-left text-sm\",\n \"transition-colors hover:bg-muted/50\",\n isSelected && \"bg-muted\",\n className,\n )}\n {...props}\n >\n {logo && (\n <span className=\"shrink-0 [&>img]:size-5 [&>img]:rounded [&>svg]:size-4\">{logo}</span>\n )}\n <span className=\"min-w-0 flex-1\">\n <span className=\"block truncate font-medium text-foreground\">{name}</span>\n {description && (\n <span className=\"block truncate text-muted-foreground text-xs\">{description}</span>\n )}\n </span>\n {isSelected && <Check aria-hidden=\"true\" className=\"size-4 shrink-0 text-primary\" />}\n </button>\n )\n}\n\nfunction ModelSelectorEmpty({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"model-selector-empty\"\n className={cn(\"py-6 text-center text-muted-foreground text-sm\", className)}\n {...props}\n >\n {props.children ?? \"No models found.\"}\n </div>\n )\n}\n\nfunction ModelSelectorSeparator({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"model-selector-separator\"\n role=\"separator\"\n className={cn(\"mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n )\n}\n\nexport {\n ModelSelector,\n ModelSelectorTrigger,\n ModelSelectorContent,\n ModelSelectorInput,\n ModelSelectorList,\n ModelSelectorGroup,\n ModelSelectorItem,\n ModelSelectorEmpty,\n ModelSelectorSeparator,\n useModelSelector,\n}\n","\"use client\"\n\nimport { ChevronDown, ListChecks } from \"lucide-react\"\nimport { type ComponentProps, createContext, useCallback, useContext, useId, useState } from \"react\"\nimport { cn } from \"../lib/utils\"\n\ntype PlanContextValue = {\n open: boolean\n toggle: () => void\n contentId: string\n}\n\nconst PlanContext = createContext<PlanContextValue | null>(null)\n\nfunction Plan({\n defaultOpen = true,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & { defaultOpen?: boolean }) {\n const [open, setOpen] = useState(defaultOpen)\n const toggle = useCallback(() => setOpen((o) => !o), [])\n const contentId = useId()\n\n return (\n <PlanContext.Provider value={{ open, toggle, contentId }}>\n <div\n data-slot=\"plan\"\n data-state={open ? \"open\" : \"closed\"}\n className={cn(\"rounded-xl border border-border bg-card\", className)}\n {...props}\n >\n {children}\n </div>\n </PlanContext.Provider>\n )\n}\n\nfunction PlanHeader({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"plan-header\"\n className={cn(\"flex items-center gap-3 px-4 py-3\", className)}\n {...props}\n />\n )\n}\n\nfunction PlanTitle({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"plan-title\"\n className={cn(\"flex-1 font-medium text-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction PlanDescription({ className, ...props }: ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"plan-description\"\n className={cn(\"px-4 pb-3 text-muted-foreground text-xs\", className)}\n {...props}\n />\n )\n}\n\nfunction PlanTrigger({ className, ...props }: ComponentProps<\"button\">) {\n const ctx = useContext(PlanContext)\n if (!ctx) throw new Error(\"PlanTrigger must be used within <Plan>\")\n\n return (\n <button\n data-slot=\"plan-trigger\"\n type=\"button\"\n onClick={ctx.toggle}\n aria-expanded={ctx.open}\n aria-controls={ctx.contentId}\n className={cn(\n \"flex w-full items-center gap-2 px-4 py-3 font-medium text-sm\",\n \"text-muted-foreground transition-colors hover:text-foreground\",\n className,\n )}\n {...props}\n >\n <ListChecks aria-hidden=\"true\" className=\"size-4 shrink-0\" />\n <span className=\"flex-1 text-left\">{props.children ?? \"Execution Plan\"}</span>\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n \"size-4 shrink-0 transition-transform duration-200\",\n ctx.open && \"rotate-180\",\n )}\n />\n </button>\n )\n}\n\nfunction PlanContent({ className, ...props }: ComponentProps<\"div\">) {\n const ctx = useContext(PlanContext)\n if (!ctx?.open) return null\n\n return (\n <div\n id={ctx.contentId}\n data-slot=\"plan-content\"\n role=\"region\"\n className={cn(\"space-y-2 border-border border-t px-4 py-3\", className)}\n {...props}\n />\n )\n}\n\nfunction PlanFooter({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"plan-footer\"\n className={cn(\"flex items-center gap-2 border-border border-t px-4 py-2.5\", className)}\n {...props}\n />\n )\n}\n\nfunction PlanAction({ className, ...props }: ComponentProps<\"button\">) {\n return (\n <button\n data-slot=\"plan-action\"\n type=\"button\"\n className={cn(\n \"inline-flex items-center rounded-lg px-3 py-1.5 font-medium text-xs\",\n \"bg-primary text-primary-foreground transition-colors hover:bg-primary/90\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport {\n Plan,\n PlanHeader,\n PlanTitle,\n PlanDescription,\n PlanTrigger,\n PlanContent,\n PlanFooter,\n PlanAction,\n}\n","\"use client\"\n\nimport { ArrowUp, Paperclip, Square, X } from \"lucide-react\"\nimport {\n type ComponentProps,\n createContext,\n type FormEvent,\n useCallback,\n useContext,\n useRef,\n useState,\n} from \"react\"\nimport { cn } from \"../lib/utils\"\n\n// ---------------------------------------------------------------------------\n// Context for sharing input state\n// ---------------------------------------------------------------------------\n\ntype PromptInputContextValue = {\n value: string\n setValue: (value: string) => void\n files: File[]\n addFiles: (files: File[]) => void\n removeFile: (index: number) => void\n clearFiles: () => void\n submit: () => void\n isLoading: boolean\n}\n\nconst PromptInputContext = createContext<PromptInputContextValue | null>(null)\n\nfunction usePromptInput() {\n const ctx = useContext(PromptInputContext)\n if (!ctx) throw new Error(\"usePromptInput must be used within <PromptInput>\")\n return ctx\n}\n\n// ---------------------------------------------------------------------------\n// Root — form wrapper with context\n// ---------------------------------------------------------------------------\n\nfunction PromptInput({\n onSubmit,\n isLoading = false,\n className,\n children,\n ...props\n}: Omit<ComponentProps<\"form\">, \"onSubmit\"> & {\n onSubmit?: (message: string, files: File[]) => void\n isLoading?: boolean\n}) {\n const [value, setValue] = useState(\"\")\n const [files, setFiles] = useState<File[]>([])\n\n const addFiles = useCallback((newFiles: File[]) => {\n setFiles((prev) => [...prev, ...newFiles])\n }, [])\n\n const removeFile = useCallback((index: number) => {\n setFiles((prev) => prev.filter((_, i) => i !== index))\n }, [])\n\n const clearFiles = useCallback(() => setFiles([]), [])\n\n const submit = useCallback(() => {\n if (!value.trim() && files.length === 0) return\n onSubmit?.(value.trim(), files)\n setValue(\"\")\n setFiles([])\n }, [value, files, onSubmit])\n\n const handleSubmit = useCallback(\n (e: FormEvent) => {\n e.preventDefault()\n submit()\n },\n [submit],\n )\n\n return (\n <PromptInputContext.Provider\n value={{ value, setValue, files, addFiles, removeFile, clearFiles, submit, isLoading }}\n >\n <form\n data-slot=\"prompt-input\"\n onSubmit={handleSubmit}\n className={cn(\n \"flex flex-col rounded-2xl border border-border bg-card shadow-sm\",\n \"focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2\",\n className,\n )}\n {...props}\n >\n {children}\n </form>\n </PromptInputContext.Provider>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Layout areas\n// ---------------------------------------------------------------------------\n\nfunction PromptInputHeader({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"prompt-input-header\"\n className={cn(\"border-border border-b px-4 py-2\", className)}\n {...props}\n />\n )\n}\n\nfunction PromptInputBody({ className, ...props }: ComponentProps<\"div\">) {\n return <div data-slot=\"prompt-input-body\" className={cn(\"flex-1\", className)} {...props} />\n}\n\nfunction PromptInputFooter({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"prompt-input-footer\"\n className={cn(\"flex items-center gap-2 px-3 py-2\", className)}\n {...props}\n />\n )\n}\n\n// ---------------------------------------------------------------------------\n// Textarea — auto-resizing input\n// ---------------------------------------------------------------------------\n\nfunction PromptInputTextarea({ className, onKeyDown, ...props }: ComponentProps<\"textarea\">) {\n const { value, setValue, submit, isLoading } = usePromptInput()\n const ref = useRef<HTMLTextAreaElement>(null)\n\n const handleInput = useCallback(() => {\n const el = ref.current\n if (!el) return\n el.style.height = \"auto\"\n el.style.height = `${Math.min(el.scrollHeight, 200)}px`\n }, [])\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (e.key === \"Enter\" && !e.shiftKey) {\n e.preventDefault()\n if (!isLoading) submit()\n }\n onKeyDown?.(e)\n },\n [submit, isLoading, onKeyDown],\n )\n\n return (\n <textarea\n ref={ref}\n data-slot=\"prompt-input-textarea\"\n value={value}\n onChange={(e) => {\n setValue(e.target.value)\n handleInput()\n }}\n onKeyDown={handleKeyDown}\n placeholder=\"Type a message...\"\n rows={1}\n disabled={isLoading}\n className={cn(\n \"w-full resize-none bg-transparent px-4 py-3 text-foreground text-sm\",\n \"placeholder:text-muted-foreground\",\n \"focus:outline-none\",\n \"disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n )\n}\n\n// ---------------------------------------------------------------------------\n// Toolbar / tools\n// ---------------------------------------------------------------------------\n\nfunction PromptInputTools({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"prompt-input-tools\"\n className={cn(\"flex items-center gap-1\", className)}\n {...props}\n />\n )\n}\n\n// ---------------------------------------------------------------------------\n// Attach button\n// ---------------------------------------------------------------------------\n\nfunction PromptInputAttachButton({\n accept,\n multiple = true,\n className,\n ...props\n}: Omit<ComponentProps<\"button\">, \"onClick\"> & {\n accept?: string\n multiple?: boolean\n}) {\n const { addFiles } = usePromptInput()\n const inputRef = useRef<HTMLInputElement>(null)\n\n const handleClick = useCallback(() => {\n inputRef.current?.click()\n }, [])\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const fileList = e.target.files\n if (fileList) {\n addFiles(Array.from(fileList))\n e.target.value = \"\"\n }\n },\n [addFiles],\n )\n\n return (\n <>\n <input\n ref={inputRef}\n type=\"file\"\n accept={accept}\n multiple={multiple}\n onChange={handleChange}\n className=\"hidden\"\n aria-hidden=\"true\"\n tabIndex={-1}\n />\n <button\n data-slot=\"prompt-input-attach-button\"\n type=\"button\"\n onClick={handleClick}\n aria-label=\"Attach files\"\n className={cn(\n \"inline-flex items-center justify-center rounded-md p-2\",\n \"text-muted-foreground transition-colors hover:bg-muted hover:text-foreground\",\n className,\n )}\n {...props}\n >\n <Paperclip aria-hidden=\"true\" className=\"size-4\" />\n </button>\n </>\n )\n}\n\n// ---------------------------------------------------------------------------\n// Submit button\n// ---------------------------------------------------------------------------\n\nfunction PromptInputSubmit({ className, ...props }: ComponentProps<\"button\">) {\n const { value, files, isLoading } = usePromptInput()\n const hasContent = value.trim().length > 0 || files.length > 0\n\n return (\n <button\n data-slot=\"prompt-input-submit\"\n type=\"submit\"\n disabled={!hasContent && !isLoading}\n aria-label={isLoading ? \"Stop generation\" : \"Send message\"}\n className={cn(\n \"ml-auto inline-flex items-center justify-center rounded-full p-2\",\n \"transition-colors\",\n isLoading\n ? \"bg-destructive text-destructive-foreground hover:bg-destructive/90\"\n : hasContent\n ? \"bg-primary text-primary-foreground hover:bg-primary/90\"\n : \"bg-muted text-muted-foreground\",\n className,\n )}\n {...props}\n >\n {isLoading ? <Square className=\"size-4\" /> : <ArrowUp className=\"size-4\" />}\n </button>\n )\n}\n\n// ---------------------------------------------------------------------------\n// File preview list\n// ---------------------------------------------------------------------------\n\nfunction PromptInputFiles({ className, ...props }: ComponentProps<\"div\">) {\n const { files, removeFile } = usePromptInput()\n if (files.length === 0) return null\n\n return (\n <div\n data-slot=\"prompt-input-files\"\n className={cn(\"flex flex-wrap gap-2 px-4 pt-2\", className)}\n {...props}\n >\n {files.map((file, i) => (\n <span\n key={`${file.name}-${i}`}\n className=\"inline-flex items-center gap-1.5 rounded-lg border border-border bg-muted/50 px-2.5 py-1 text-foreground text-xs\"\n >\n {file.name}\n <button\n type=\"button\"\n onClick={() => removeFile(i)}\n aria-label={`Remove ${file.name}`}\n className=\"rounded-full p-0.5 text-muted-foreground transition-colors hover:text-foreground\"\n >\n <X aria-hidden=\"true\" className=\"size-3\" />\n </button>\n </span>\n ))}\n </div>\n )\n}\n\nexport {\n PromptInput,\n PromptInputHeader,\n PromptInputBody,\n PromptInputFooter,\n PromptInputTextarea,\n PromptInputTools,\n PromptInputAttachButton,\n PromptInputSubmit,\n PromptInputFiles,\n usePromptInput,\n}\n","\"use client\"\n\nimport { cva } from \"class-variance-authority\"\nimport { ChevronDown } from \"lucide-react\"\nimport { type ComponentProps, createContext, useCallback, useContext, useId, useState } from \"react\"\nimport { cn } from \"../lib/utils\"\n\n// ---------------------------------------------------------------------------\n// Queue section (collapsible group)\n// ---------------------------------------------------------------------------\n\ntype QueueSectionContextValue = {\n open: boolean\n toggle: () => void\n contentId: string\n}\n\nconst QueueSectionContext = createContext<QueueSectionContextValue | null>(null)\n\nfunction QueueSection({\n defaultOpen = true,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & { defaultOpen?: boolean }) {\n const [open, setOpen] = useState(defaultOpen)\n const toggle = useCallback(() => setOpen((o) => !o), [])\n const contentId = useId()\n\n return (\n <QueueSectionContext.Provider value={{ open, toggle, contentId }}>\n <div data-slot=\"queue-section\" className={cn(\"space-y-1\", className)} {...props}>\n {children}\n </div>\n </QueueSectionContext.Provider>\n )\n}\n\nfunction QueueSectionTrigger({ className, ...props }: ComponentProps<\"button\">) {\n const ctx = useContext(QueueSectionContext)\n if (!ctx) throw new Error(\"QueueSectionTrigger must be used within <QueueSection>\")\n\n return (\n <button\n data-slot=\"queue-section-trigger\"\n type=\"button\"\n onClick={ctx.toggle}\n aria-expanded={ctx.open}\n aria-controls={ctx.contentId}\n className={cn(\n \"flex w-full items-center gap-2 px-2 py-1.5 font-medium text-muted-foreground text-xs\",\n \"rounded-md transition-colors hover:text-foreground\",\n className,\n )}\n {...props}\n >\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n \"size-3.5 shrink-0 transition-transform duration-200\",\n ctx.open && \"rotate-180\",\n )}\n />\n {props.children}\n </button>\n )\n}\n\nfunction QueueSectionLabel({ className, ...props }: ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"queue-section-label\"\n className={cn(\"flex-1 text-left\", className)}\n {...props}\n />\n )\n}\n\nfunction QueueList({ className, ...props }: ComponentProps<\"div\">) {\n const ctx = useContext(QueueSectionContext)\n if (ctx && !ctx.open) return null\n\n return (\n <div\n id={ctx?.contentId}\n data-slot=\"queue-list\"\n role=\"list\"\n className={cn(\"space-y-1\", className)}\n {...props}\n />\n )\n}\n\n// ---------------------------------------------------------------------------\n// Queue item\n// ---------------------------------------------------------------------------\n\ntype QueueItemStatus = \"pending\" | \"active\" | \"complete\" | \"error\"\n\nconst queueItemIndicatorVariants = cva(\"size-2 shrink-0 rounded-full\", {\n variants: {\n status: {\n pending: \"bg-muted-foreground/30\",\n active: \"bg-primary animate-pulse\",\n complete: \"bg-emerald-500\",\n error: \"bg-red-500\",\n },\n },\n defaultVariants: { status: \"pending\" },\n})\n\nfunction QueueItem({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"queue-item\"\n role=\"listitem\"\n className={cn(\n \"flex items-start gap-3 rounded-lg px-3 py-2.5\",\n \"transition-colors hover:bg-muted/50\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction QueueItemIndicator({\n status = \"pending\",\n className,\n ...props\n}: ComponentProps<\"span\"> & { status?: QueueItemStatus }) {\n return (\n <span\n data-slot=\"queue-item-indicator\"\n role=\"img\"\n aria-label={status}\n className={cn(queueItemIndicatorVariants({ status }), \"mt-1.5\", className)}\n {...props}\n />\n )\n}\n\nfunction QueueItemContent({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div data-slot=\"queue-item-content\" className={cn(\"min-w-0 flex-1\", className)} {...props} />\n )\n}\n\nfunction QueueItemDescription({ className, ...props }: ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"queue-item-description\"\n className={cn(\"mt-0.5 text-muted-foreground text-xs\", className)}\n {...props}\n />\n )\n}\n\nfunction QueueItemActions({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"queue-item-actions\"\n className={cn(\"flex shrink-0 items-center gap-1\", className)}\n {...props}\n />\n )\n}\n\nexport {\n QueueSection,\n QueueSectionTrigger,\n QueueSectionLabel,\n QueueList,\n QueueItem,\n QueueItemIndicator,\n QueueItemContent,\n QueueItemDescription,\n QueueItemActions,\n queueItemIndicatorVariants,\n}\nexport type { QueueItemStatus }\n","\"use client\"\n\nimport { ChevronDown } from \"lucide-react\"\nimport { type ComponentProps, createContext, useCallback, useContext, useId, useState } from \"react\"\nimport { cn } from \"../lib/utils\"\n\ntype ReasoningContextValue = {\n open: boolean\n toggle: () => void\n contentId: string\n}\n\nconst ReasoningContext = createContext<ReasoningContextValue | null>(null)\n\nfunction useReasoning() {\n const ctx = useContext(ReasoningContext)\n if (!ctx) throw new Error(\"useReasoning must be used within <Reasoning>\")\n return ctx\n}\n\nfunction Reasoning({\n defaultOpen = false,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & { defaultOpen?: boolean }) {\n const [open, setOpen] = useState(defaultOpen)\n const toggle = useCallback(() => setOpen((o) => !o), [])\n const contentId = useId()\n\n return (\n <ReasoningContext.Provider value={{ open, toggle, contentId }}>\n <div\n data-slot=\"reasoning\"\n data-state={open ? \"open\" : \"closed\"}\n className={cn(\"rounded-xl border border-border bg-card\", className)}\n {...props}\n >\n {children}\n </div>\n </ReasoningContext.Provider>\n )\n}\n\nfunction ReasoningTrigger({ className, children, ...props }: ComponentProps<\"button\">) {\n const { open, toggle, contentId } = useReasoning()\n\n return (\n <button\n data-slot=\"reasoning-trigger\"\n type=\"button\"\n onClick={toggle}\n aria-expanded={open}\n aria-controls={contentId}\n className={cn(\n \"flex w-full items-center gap-2 px-4 py-3 font-medium text-muted-foreground text-sm\",\n \"transition-colors hover:text-foreground\",\n className,\n )}\n {...props}\n >\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\"size-4 shrink-0 transition-transform duration-200\", open && \"rotate-180\")}\n />\n {children ?? (open ? \"Hide reasoning\" : \"Show reasoning\")}\n </button>\n )\n}\n\nfunction ReasoningContent({ className, ...props }: ComponentProps<\"div\">) {\n const { open, contentId } = useReasoning()\n if (!open) return null\n\n return (\n <div\n id={contentId}\n data-slot=\"reasoning-content\"\n role=\"region\"\n className={cn(\n \"border-border border-t px-4 py-3\",\n \"font-mono text-muted-foreground text-sm leading-relaxed\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Reasoning, ReasoningTrigger, ReasoningContent, useReasoning }\n","\"use client\"\n\nimport type { ComponentProps, ElementType } from \"react\"\nimport { cn } from \"../lib/utils\"\n\ntype ShimmerProps<T extends ElementType = \"p\"> = Omit<ComponentProps<\"p\">, \"as\"> & {\n /** The HTML element to render as */\n as?: T\n /** Animation duration in seconds */\n duration?: number\n /** Size of the shimmer gradient spread (0-1) */\n spread?: number\n}\n\nfunction Shimmer<T extends ElementType = \"p\">({\n as,\n className,\n duration = 2,\n spread = 0.3,\n style,\n ...props\n}: ShimmerProps<T>) {\n const Component = (as || \"p\") as ElementType\n\n return (\n <Component\n data-slot=\"shimmer\"\n role=\"status\"\n aria-label=\"Loading\"\n className={cn(\n \"animate-shimmer bg-clip-text text-transparent\",\n \"bg-[length:200%_100%]\",\n \"bg-gradient-to-r from-muted-foreground via-foreground to-muted-foreground\",\n className,\n )}\n style={{\n animationDuration: `${duration}s`,\n ...style,\n }}\n {...props}\n />\n )\n}\n\nexport { Shimmer }\nexport type { ShimmerProps }\n","\"use client\"\n\nimport { ChevronDown, ExternalLink } from \"lucide-react\"\nimport { type ComponentProps, createContext, useCallback, useContext, useId, useState } from \"react\"\nimport { cn } from \"../lib/utils\"\n\ntype SourcesContextValue = {\n open: boolean\n toggle: () => void\n contentId: string\n}\n\nconst SourcesContext = createContext<SourcesContextValue | null>(null)\n\nfunction Sources({\n defaultOpen = false,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & { defaultOpen?: boolean }) {\n const [open, setOpen] = useState(defaultOpen)\n const toggle = useCallback(() => setOpen((o) => !o), [])\n const contentId = useId()\n\n return (\n <SourcesContext.Provider value={{ open, toggle, contentId }}>\n <div\n data-slot=\"sources\"\n data-state={open ? \"open\" : \"closed\"}\n className={cn(\"rounded-xl border border-border bg-card\", className)}\n {...props}\n >\n {children}\n </div>\n </SourcesContext.Provider>\n )\n}\n\nfunction SourcesTrigger({ className, children, ...props }: ComponentProps<\"button\">) {\n const ctx = useContext(SourcesContext)\n if (!ctx) throw new Error(\"SourcesTrigger must be used within <Sources>\")\n\n return (\n <button\n data-slot=\"sources-trigger\"\n type=\"button\"\n onClick={ctx.toggle}\n aria-expanded={ctx.open}\n aria-controls={ctx.contentId}\n className={cn(\n \"flex w-full items-center gap-2 px-4 py-3 font-medium text-muted-foreground text-sm\",\n \"transition-colors hover:text-foreground\",\n className,\n )}\n {...props}\n >\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n \"size-4 shrink-0 transition-transform duration-200\",\n ctx.open && \"rotate-180\",\n )}\n />\n {children ?? `${ctx.open ? \"Hide\" : \"Show\"} sources`}\n </button>\n )\n}\n\nfunction SourcesContent({ className, ...props }: ComponentProps<\"div\">) {\n const ctx = useContext(SourcesContext)\n if (!ctx) throw new Error(\"SourcesContent must be used within <Sources>\")\n if (!ctx.open) return null\n\n return (\n <div\n id={ctx.contentId}\n data-slot=\"sources-content\"\n role=\"region\"\n className={cn(\"space-y-2 border-border border-t px-4 py-3\", className)}\n {...props}\n />\n )\n}\n\nfunction Source({\n href,\n title,\n description,\n favicon,\n className,\n ...props\n}: ComponentProps<\"a\"> & {\n title: string\n description?: string\n favicon?: string\n}) {\n return (\n <a\n data-slot=\"source\"\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={cn(\n \"flex items-start gap-3 rounded-lg p-3 transition-colors\",\n \"hover:bg-muted/50\",\n className,\n )}\n {...props}\n >\n {favicon && <img src={favicon} alt=\"\" className=\"mt-0.5 size-4 shrink-0 rounded\" />}\n <div className=\"min-w-0 flex-1\">\n <p className=\"truncate font-medium text-foreground text-sm\">{title}</p>\n {description && (\n <p className=\"mt-0.5 line-clamp-2 text-muted-foreground text-xs\">{description}</p>\n )}\n </div>\n <ExternalLink className=\"mt-0.5 size-3.5 shrink-0 text-muted-foreground\" />\n </a>\n )\n}\n\nexport { Sources, SourcesTrigger, SourcesContent, Source }\n","\"use client\"\n\nimport type { ComponentProps } from \"react\"\nimport { cn } from \"../lib/utils\"\n\nfunction Suggestions({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div data-slot=\"suggestions\" className={cn(\"flex flex-wrap gap-2\", className)} {...props} />\n )\n}\n\nfunction Suggestion({ className, ...props }: ComponentProps<\"button\">) {\n return (\n <button\n data-slot=\"suggestion\"\n type=\"button\"\n className={cn(\n \"inline-flex items-center gap-2 rounded-full border border-border bg-card px-4 py-2\",\n \"text-foreground text-sm transition-colors\",\n \"hover:bg-accent hover:text-accent-foreground\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Suggestions, Suggestion }\n","\"use client\"\n\nimport { Check, ChevronDown, Circle, Loader2 } from \"lucide-react\"\nimport { type ComponentProps, createContext, useCallback, useContext, useId, useState } from \"react\"\nimport { cn } from \"../lib/utils\"\n\ntype TaskContextValue = {\n open: boolean\n toggle: () => void\n contentId: string\n}\n\nconst TaskContext = createContext<TaskContextValue | null>(null)\n\ntype TaskStatus = \"pending\" | \"running\" | \"complete\" | \"error\"\n\nconst statusIcons: Record<TaskStatus, typeof Check> = {\n pending: Circle,\n running: Loader2,\n complete: Check,\n error: Circle,\n}\n\nfunction Task({\n defaultOpen = false,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & { defaultOpen?: boolean }) {\n const [open, setOpen] = useState(defaultOpen)\n const toggle = useCallback(() => setOpen((o) => !o), [])\n const contentId = useId()\n\n return (\n <TaskContext.Provider value={{ open, toggle, contentId }}>\n <div\n data-slot=\"task\"\n data-state={open ? \"open\" : \"closed\"}\n className={cn(\"rounded-xl border border-border bg-card\", className)}\n {...props}\n >\n {children}\n </div>\n </TaskContext.Provider>\n )\n}\n\nfunction TaskTrigger({\n status = \"pending\",\n className,\n children,\n ...props\n}: ComponentProps<\"button\"> & { status?: TaskStatus }) {\n const ctx = useContext(TaskContext)\n if (!ctx) throw new Error(\"TaskTrigger must be used within <Task>\")\n\n const Icon = statusIcons[status]\n\n return (\n <button\n data-slot=\"task-trigger\"\n type=\"button\"\n onClick={ctx.toggle}\n aria-expanded={ctx.open}\n aria-controls={ctx.contentId}\n className={cn(\n \"flex w-full items-center gap-2.5 px-4 py-3 text-sm\",\n \"text-foreground transition-colors hover:bg-muted/50\",\n className,\n )}\n {...props}\n >\n <Icon\n aria-hidden=\"true\"\n className={cn(\n \"size-4 shrink-0\",\n status === \"complete\" && \"text-emerald-500\",\n status === \"running\" && \"animate-spin text-primary\",\n status === \"error\" && \"text-red-500\",\n status === \"pending\" && \"text-muted-foreground\",\n )}\n />\n <span className=\"flex-1 truncate text-left font-medium\">{children}</span>\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n \"size-4 shrink-0 text-muted-foreground transition-transform duration-200\",\n ctx.open && \"rotate-180\",\n )}\n />\n </button>\n )\n}\n\nfunction TaskContent({ className, ...props }: ComponentProps<\"div\">) {\n const ctx = useContext(TaskContext)\n if (!ctx?.open) return null\n\n return (\n <div\n id={ctx.contentId}\n data-slot=\"task-content\"\n role=\"region\"\n className={cn(\n \"space-y-2 border-border border-t px-4 py-3 text-muted-foreground text-sm\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TaskItem({\n status = \"pending\",\n className,\n ...props\n}: ComponentProps<\"div\"> & { status?: TaskStatus }) {\n const Icon = statusIcons[status]\n\n return (\n <div data-slot=\"task-item\" className={cn(\"flex items-center gap-2 py-1\", className)} {...props}>\n <Icon\n className={cn(\n \"size-3.5 shrink-0\",\n status === \"complete\" && \"text-emerald-500\",\n status === \"running\" && \"animate-spin text-primary\",\n status === \"error\" && \"text-red-500\",\n status === \"pending\" && \"text-muted-foreground/50\",\n )}\n />\n <span\n className={cn(\"text-sm\", status === \"complete\" && \"text-muted-foreground line-through\")}\n >\n {props.children}\n </span>\n </div>\n )\n}\n\nfunction TaskItemFile({\n filename,\n className,\n ...props\n}: ComponentProps<\"span\"> & { filename: string }) {\n return (\n <span\n data-slot=\"task-item-file\"\n className={cn(\n \"inline-flex items-center rounded bg-muted px-1.5 py-0.5 font-mono text-xs\",\n className,\n )}\n {...props}\n >\n {filename}\n </span>\n )\n}\n\nexport { Task, TaskTrigger, TaskContent, TaskItem, TaskItemFile }\nexport type { TaskStatus }\n","\"use client\"\n\nimport { cva } from \"class-variance-authority\"\nimport { ChevronDown, Terminal } from \"lucide-react\"\nimport { type ComponentProps, createContext, useCallback, useContext, useId, useState } from \"react\"\nimport { cn } from \"../lib/utils\"\n\ntype ToolContextValue = {\n open: boolean\n toggle: () => void\n contentId: string\n}\n\nconst ToolContext = createContext<ToolContextValue | null>(null)\n\ntype ToolStatus = \"pending\" | \"running\" | \"success\" | \"error\"\n\nconst statusBadgeVariants = cva(\n \"inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-medium uppercase tracking-wider\",\n {\n variants: {\n status: {\n pending: \"bg-muted text-muted-foreground\",\n running: \"bg-primary/10 text-primary\",\n success: \"bg-emerald-500/10 text-emerald-600 dark:text-emerald-400\",\n error: \"bg-red-500/10 text-red-600 dark:text-red-400\",\n },\n },\n defaultVariants: { status: \"pending\" },\n },\n)\n\nfunction getStatusLabel(status: ToolStatus): string {\n switch (status) {\n case \"pending\":\n return \"Pending\"\n case \"running\":\n return \"Running\"\n case \"success\":\n return \"Done\"\n case \"error\":\n return \"Error\"\n }\n}\n\nfunction Tool({\n defaultOpen = false,\n className,\n children,\n ...props\n}: ComponentProps<\"div\"> & { defaultOpen?: boolean }) {\n const [open, setOpen] = useState(defaultOpen)\n const toggle = useCallback(() => setOpen((o) => !o), [])\n const contentId = useId()\n\n return (\n <ToolContext.Provider value={{ open, toggle, contentId }}>\n <div\n data-slot=\"tool\"\n data-state={open ? \"open\" : \"closed\"}\n className={cn(\"rounded-xl border border-border bg-card\", className)}\n {...props}\n >\n {children}\n </div>\n </ToolContext.Provider>\n )\n}\n\nfunction ToolHeader({\n name,\n status = \"pending\",\n icon,\n className,\n ...props\n}: ComponentProps<\"button\"> & {\n name: string\n status?: ToolStatus\n icon?: React.ReactNode\n}) {\n const ctx = useContext(ToolContext)\n if (!ctx) throw new Error(\"ToolHeader must be used within <Tool>\")\n\n return (\n <button\n data-slot=\"tool-header\"\n type=\"button\"\n onClick={ctx.toggle}\n aria-expanded={ctx.open}\n aria-controls={ctx.contentId}\n className={cn(\n \"flex w-full items-center gap-2.5 px-4 py-3 text-sm transition-colors hover:bg-muted/50\",\n className,\n )}\n {...props}\n >\n {icon ?? <Terminal aria-hidden=\"true\" className=\"size-4 shrink-0 text-muted-foreground\" />}\n <span className=\"flex-1 truncate text-left font-medium font-mono text-foreground\">\n {name}\n </span>\n <span className={statusBadgeVariants({ status })}>{getStatusLabel(status)}</span>\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n \"size-4 shrink-0 text-muted-foreground transition-transform duration-200\",\n ctx.open && \"rotate-180\",\n )}\n />\n </button>\n )\n}\n\nfunction ToolContent({ className, ...props }: ComponentProps<\"div\">) {\n const ctx = useContext(ToolContext)\n if (!ctx?.open) return null\n\n return (\n <div\n id={ctx.contentId}\n data-slot=\"tool-content\"\n role=\"region\"\n className={cn(\"border-border border-t\", className)}\n {...props}\n />\n )\n}\n\nfunction ToolInput({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div data-slot=\"tool-input\" className={cn(\"space-y-1 px-4 py-3\", className)} {...props}>\n <p className=\"font-medium text-[10px] text-muted-foreground uppercase tracking-wider\">\n Input\n </p>\n <pre className=\"overflow-x-auto rounded-lg bg-muted p-3 font-mono text-xs\">\n {props.children}\n </pre>\n </div>\n )\n}\n\nfunction ToolOutput({ className, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"tool-output\"\n className={cn(\"space-y-1 border-border border-t px-4 py-3\", className)}\n {...props}\n >\n <p className=\"font-medium text-[10px] text-muted-foreground uppercase tracking-wider\">\n Output\n </p>\n <pre className=\"overflow-x-auto rounded-lg bg-muted p-3 font-mono text-xs\">\n {props.children}\n </pre>\n </div>\n )\n}\n\nexport { Tool, ToolHeader, ToolContent, ToolInput, ToolOutput, statusBadgeVariants, getStatusLabel }\nexport type { ToolStatus }\n"]}
|