@btst/stack 1.3.1 → 1.4.1

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.
Files changed (238) hide show
  1. package/README.md +85 -37
  2. package/dist/node_modules/.pnpm/@radix-ui_react-accordion@1.2.12_@types_react-dom@19.2.3_@types_react@19.2.6__@types_re_947719a27ff11ec6f09710dd9e85efc5/node_modules/@radix-ui/react-accordion/dist/index.cjs +321 -0
  3. package/dist/node_modules/.pnpm/@radix-ui_react-accordion@1.2.12_@types_react-dom@19.2.3_@types_react@19.2.6__@types_re_947719a27ff11ec6f09710dd9e85efc5/node_modules/@radix-ui/react-accordion/dist/index.mjs +306 -0
  4. package/dist/node_modules/.pnpm/{@radix-ui_react-alert-dialog@1.1.15_@types_react-dom@19.2.2_@types_react@19.2.2__@types_ec789942cd38340bd7362c09e7d34384 → @radix-ui_react-alert-dialog@1.1.15_@types_react-dom@19.2.3_@types_react@19.2.6__@types_4f58c757aa677e233cf96d60fda2f1da}/node_modules/@radix-ui/react-alert-dialog/dist/index.cjs +2 -2
  5. package/dist/node_modules/.pnpm/{@radix-ui_react-alert-dialog@1.1.15_@types_react-dom@19.2.2_@types_react@19.2.2__@types_ec789942cd38340bd7362c09e7d34384 → @radix-ui_react-alert-dialog@1.1.15_@types_react-dom@19.2.3_@types_react@19.2.6__@types_4f58c757aa677e233cf96d60fda2f1da}/node_modules/@radix-ui/react-alert-dialog/dist/index.mjs +2 -2
  6. package/dist/node_modules/.pnpm/{@radix-ui_react-arrow@1.1.7_@types_react-dom@19.2.2_@types_react@19.2.2__@types_react@1_9e04309f365863673e44407648bb0cb6 → @radix-ui_react-arrow@1.1.7_@types_react-dom@19.2.3_@types_react@19.2.6__@types_react@1_35df44f6d87656c1401686c91d770dbb}/node_modules/@radix-ui/react-arrow/dist/index.cjs +1 -1
  7. package/dist/node_modules/.pnpm/{@radix-ui_react-arrow@1.1.7_@types_react-dom@19.2.2_@types_react@19.2.2__@types_react@1_9e04309f365863673e44407648bb0cb6 → @radix-ui_react-arrow@1.1.7_@types_react-dom@19.2.3_@types_react@19.2.6__@types_react@1_35df44f6d87656c1401686c91d770dbb}/node_modules/@radix-ui/react-arrow/dist/index.mjs +1 -1
  8. package/dist/node_modules/.pnpm/@radix-ui_react-collapsible@1.1.12_@types_react-dom@19.2.3_@types_react@19.2.6__@types__d025a77f62ee83ca6bd8b0ea1f9de738/node_modules/@radix-ui/react-collapsible/dist/index.cjs +168 -0
  9. package/dist/node_modules/.pnpm/@radix-ui_react-collapsible@1.1.12_@types_react-dom@19.2.3_@types_react@19.2.6__@types__d025a77f62ee83ca6bd8b0ea1f9de738/node_modules/@radix-ui/react-collapsible/dist/index.mjs +146 -0
  10. package/dist/node_modules/.pnpm/{@radix-ui_react-collection@1.1.7_@types_react-dom@19.2.2_@types_react@19.2.2__@types_re_6d7c277722b3619c9ee7e64e9a822c45 → @radix-ui_react-collection@1.1.7_@types_react-dom@19.2.3_@types_react@19.2.6__@types_re_59aa5e150e70a3e7bfb1567148b021b5}/node_modules/@radix-ui/react-collection/dist/index.cjs +2 -2
  11. package/dist/node_modules/.pnpm/{@radix-ui_react-collection@1.1.7_@types_react-dom@19.2.2_@types_react@19.2.2__@types_re_6d7c277722b3619c9ee7e64e9a822c45 → @radix-ui_react-collection@1.1.7_@types_react-dom@19.2.3_@types_react@19.2.6__@types_re_59aa5e150e70a3e7bfb1567148b021b5}/node_modules/@radix-ui/react-collection/dist/index.mjs +2 -2
  12. package/dist/node_modules/.pnpm/{@radix-ui_react-dismissable-layer@1.1.11_@types_react-dom@19.2.2_@types_react@19.2.2__@_ca5522e5d45d4722cb9eb5ce53defa61 → @radix-ui_react-dismissable-layer@1.1.11_@types_react-dom@19.2.3_@types_react@19.2.6__@_9ee1db7daf927866cf505b31d40047ad}/node_modules/@radix-ui/react-dismissable-layer/dist/index.cjs +4 -4
  13. package/dist/node_modules/.pnpm/{@radix-ui_react-dismissable-layer@1.1.11_@types_react-dom@19.2.2_@types_react@19.2.2__@_ca5522e5d45d4722cb9eb5ce53defa61 → @radix-ui_react-dismissable-layer@1.1.11_@types_react-dom@19.2.3_@types_react@19.2.6__@_9ee1db7daf927866cf505b31d40047ad}/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs +4 -4
  14. package/dist/node_modules/.pnpm/@radix-ui_react-dropdown-menu@2.1.16_@types_react-dom@19.2.3_@types_react@19.2.6__@type_a50051c7210b6fbd5be09388bda08578/node_modules/@radix-ui/react-dropdown-menu/dist/index.cjs +282 -0
  15. package/dist/node_modules/.pnpm/@radix-ui_react-dropdown-menu@2.1.16_@types_react-dom@19.2.3_@types_react@19.2.6__@type_a50051c7210b6fbd5be09388bda08578/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs +247 -0
  16. package/dist/node_modules/.pnpm/{@radix-ui_react-focus-scope@1.1.7_@types_react-dom@19.2.2_@types_react@19.2.2__@types_r_93de389b3f622f9f764acc8e59ec80c0 → @radix-ui_react-focus-scope@1.1.7_@types_react-dom@19.2.3_@types_react@19.2.6__@types_r_0a31b7f987af9482d13505312e1a1be9}/node_modules/@radix-ui/react-focus-scope/dist/index.cjs +3 -3
  17. package/dist/node_modules/.pnpm/{@radix-ui_react-focus-scope@1.1.7_@types_react-dom@19.2.2_@types_react@19.2.2__@types_r_93de389b3f622f9f764acc8e59ec80c0 → @radix-ui_react-focus-scope@1.1.7_@types_react-dom@19.2.3_@types_react@19.2.6__@types_r_0a31b7f987af9482d13505312e1a1be9}/node_modules/@radix-ui/react-focus-scope/dist/index.mjs +3 -3
  18. package/dist/node_modules/.pnpm/{@radix-ui_react-id@1.1.1_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-id@1.1.1_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-id/dist/index.cjs +1 -1
  19. package/dist/node_modules/.pnpm/{@radix-ui_react-id@1.1.1_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-id@1.1.1_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-id/dist/index.mjs +1 -1
  20. package/dist/node_modules/.pnpm/@radix-ui_react-menu@2.1.16_@types_react-dom@19.2.3_@types_react@19.2.6__@types_react@1_82ed1fcd848b6984d9291a784d477cf4/node_modules/@radix-ui/react-menu/dist/index.cjs +845 -0
  21. package/dist/node_modules/.pnpm/@radix-ui_react-menu@2.1.16_@types_react-dom@19.2.3_@types_react@19.2.6__@types_react@1_82ed1fcd848b6984d9291a784d477cf4/node_modules/@radix-ui/react-menu/dist/index.mjs +799 -0
  22. package/dist/node_modules/.pnpm/{@radix-ui_react-popper@1.2.8_@types_react-dom@19.2.2_@types_react@19.2.2__@types_react@_d6285b8269ea5d6b59b300f5be279a0c → @radix-ui_react-popper@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.6__@types_react@_7ac2caae1e39f9ba93d5015614525161}/node_modules/@radix-ui/react-popper/dist/index.cjs +7 -7
  23. package/dist/node_modules/.pnpm/{@radix-ui_react-popper@1.2.8_@types_react-dom@19.2.2_@types_react@19.2.2__@types_react@_d6285b8269ea5d6b59b300f5be279a0c → @radix-ui_react-popper@1.2.8_@types_react-dom@19.2.3_@types_react@19.2.6__@types_react@_7ac2caae1e39f9ba93d5015614525161}/node_modules/@radix-ui/react-popper/dist/index.mjs +7 -7
  24. package/dist/node_modules/.pnpm/{@radix-ui_react-portal@1.1.9_@types_react-dom@19.2.2_@types_react@19.2.2__@types_react@_478b3d5dd4afab1a3dcce7ed1748cb95 → @radix-ui_react-portal@1.1.9_@types_react-dom@19.2.3_@types_react@19.2.6__@types_react@_1bb4e0f97f86496802d28a2e74e2a8b9}/node_modules/@radix-ui/react-portal/dist/index.cjs +2 -2
  25. package/dist/node_modules/.pnpm/{@radix-ui_react-portal@1.1.9_@types_react-dom@19.2.2_@types_react@19.2.2__@types_react@_478b3d5dd4afab1a3dcce7ed1748cb95 → @radix-ui_react-portal@1.1.9_@types_react-dom@19.2.3_@types_react@19.2.6__@types_react@_1bb4e0f97f86496802d28a2e74e2a8b9}/node_modules/@radix-ui/react-portal/dist/index.mjs +2 -2
  26. package/dist/node_modules/.pnpm/@radix-ui_react-presence@1.1.5_@types_react-dom@19.2.3_@types_react@19.2.6__@types_reac_90f8e5c12233caef3399d5fd66452a13/node_modules/@radix-ui/react-presence/dist/index.cjs +147 -0
  27. package/dist/node_modules/.pnpm/@radix-ui_react-presence@1.1.5_@types_react-dom@19.2.3_@types_react@19.2.6__@types_reac_90f8e5c12233caef3399d5fd66452a13/node_modules/@radix-ui/react-presence/dist/index.mjs +131 -0
  28. package/dist/node_modules/.pnpm/@radix-ui_react-roving-focus@1.1.11_@types_react-dom@19.2.3_@types_react@19.2.6__@types_fe1151d1f393bbc1072b24a86dff3a23/node_modules/@radix-ui/react-roving-focus/dist/index.cjs +244 -0
  29. package/dist/node_modules/.pnpm/@radix-ui_react-roving-focus@1.1.11_@types_react-dom@19.2.3_@types_react@19.2.6__@types_fe1151d1f393bbc1072b24a86dff3a23/node_modules/@radix-ui/react-roving-focus/dist/index.mjs +224 -0
  30. package/dist/node_modules/.pnpm/@radix-ui_react-scroll-area@1.2.10_@types_react-dom@19.2.3_@types_react@19.2.6__@types__e3f7735e9b444a10b3bbfd9fe97d44d0/node_modules/@radix-ui/react-scroll-area/dist/index.cjs +742 -0
  31. package/dist/node_modules/.pnpm/@radix-ui_react-scroll-area@1.2.10_@types_react-dom@19.2.3_@types_react@19.2.6__@types__e3f7735e9b444a10b3bbfd9fe97d44d0/node_modules/@radix-ui/react-scroll-area/dist/index.mjs +719 -0
  32. package/dist/node_modules/.pnpm/{@radix-ui_react-select@2.2.6_@types_react-dom@19.2.2_@types_react@19.2.2__@types_react@_802c3d414c85063bee785fcc98a39c07 → @radix-ui_react-select@2.2.6_@types_react-dom@19.2.3_@types_react@19.2.6__@types_react@_38dc681bb1f2bcfeb5249d8ca2bc01f5}/node_modules/@radix-ui/react-select/dist/index.cjs +17 -17
  33. package/dist/node_modules/.pnpm/{@radix-ui_react-select@2.2.6_@types_react-dom@19.2.2_@types_react@19.2.2__@types_react@_802c3d414c85063bee785fcc98a39c07 → @radix-ui_react-select@2.2.6_@types_react-dom@19.2.3_@types_react@19.2.6__@types_react@_38dc681bb1f2bcfeb5249d8ca2bc01f5}/node_modules/@radix-ui/react-select/dist/index.mjs +17 -17
  34. package/dist/node_modules/.pnpm/{@radix-ui_react-use-controllable-state@1.2.2_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-use-controllable-state@1.2.2_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-use-controllable-state/dist/index.cjs +1 -1
  35. package/dist/node_modules/.pnpm/{@radix-ui_react-use-controllable-state@1.2.2_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-use-controllable-state@1.2.2_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs +1 -1
  36. package/dist/node_modules/.pnpm/{@radix-ui_react-use-escape-keydown@1.1.1_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-use-escape-keydown@1.1.1_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-use-escape-keydown/dist/index.cjs +1 -1
  37. package/dist/node_modules/.pnpm/{@radix-ui_react-use-escape-keydown@1.1.1_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-use-escape-keydown@1.1.1_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs +1 -1
  38. package/dist/node_modules/.pnpm/{@radix-ui_react-use-size@1.1.1_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-use-size@1.1.1_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-use-size/dist/index.cjs +1 -1
  39. package/dist/node_modules/.pnpm/{@radix-ui_react-use-size@1.1.1_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-use-size@1.1.1_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-use-size/dist/index.mjs +1 -1
  40. package/dist/node_modules/.pnpm/{@radix-ui_react-visually-hidden@1.2.3_@types_react-dom@19.2.2_@types_react@19.2.2__@typ_a84e98a44624c31e835a98d4b8b0c30d → @radix-ui_react-visually-hidden@1.2.3_@types_react-dom@19.2.3_@types_react@19.2.6__@typ_f453379bbd5a4932ec515167f81be42a}/node_modules/@radix-ui/react-visually-hidden/dist/index.cjs +1 -1
  41. package/dist/node_modules/.pnpm/{@radix-ui_react-visually-hidden@1.2.3_@types_react-dom@19.2.2_@types_react@19.2.2__@typ_a84e98a44624c31e835a98d4b8b0c30d → @radix-ui_react-visually-hidden@1.2.3_@types_react-dom@19.2.3_@types_react@19.2.6__@typ_f453379bbd5a4932ec515167f81be42a}/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs +1 -1
  42. package/dist/node_modules/.pnpm/{react-remove-scroll-bar@2.3.8_@types_react@19.2.2_react@19.2.0 → react-remove-scroll-bar@2.3.8_@types_react@19.2.6_react@19.2.0}/node_modules/react-remove-scroll-bar/dist/es2015/component.cjs +1 -1
  43. package/dist/node_modules/.pnpm/{react-remove-scroll-bar@2.3.8_@types_react@19.2.2_react@19.2.0 → react-remove-scroll-bar@2.3.8_@types_react@19.2.6_react@19.2.0}/node_modules/react-remove-scroll-bar/dist/es2015/component.mjs +1 -1
  44. package/dist/node_modules/.pnpm/{react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0 → react-remove-scroll@2.7.1_@types_react@19.2.6_react@19.2.0}/node_modules/react-remove-scroll/dist/es2015/SideEffect.cjs +2 -2
  45. package/dist/node_modules/.pnpm/{react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0 → react-remove-scroll@2.7.1_@types_react@19.2.6_react@19.2.0}/node_modules/react-remove-scroll/dist/es2015/SideEffect.mjs +2 -2
  46. package/dist/node_modules/.pnpm/{react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0 → react-remove-scroll@2.7.1_@types_react@19.2.6_react@19.2.0}/node_modules/react-remove-scroll/dist/es2015/UI.cjs +2 -2
  47. package/dist/node_modules/.pnpm/{react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0 → react-remove-scroll@2.7.1_@types_react@19.2.6_react@19.2.0}/node_modules/react-remove-scroll/dist/es2015/UI.mjs +2 -2
  48. package/dist/node_modules/.pnpm/{react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0 → react-remove-scroll@2.7.1_@types_react@19.2.6_react@19.2.0}/node_modules/react-remove-scroll/dist/es2015/medium.cjs +1 -1
  49. package/dist/node_modules/.pnpm/{react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0 → react-remove-scroll@2.7.1_@types_react@19.2.6_react@19.2.0}/node_modules/react-remove-scroll/dist/es2015/medium.mjs +1 -1
  50. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.1_@types_react@19.2.6_react@19.2.0/node_modules/react-remove-scroll/dist/es2015/sidecar.cjs +9 -0
  51. package/dist/node_modules/.pnpm/{react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0 → react-remove-scroll@2.7.1_@types_react@19.2.6_react@19.2.0}/node_modules/react-remove-scroll/dist/es2015/sidecar.mjs +1 -1
  52. package/dist/packages/better-stack/src/plugins/ai-chat/api/plugin.cjs +610 -0
  53. package/dist/packages/better-stack/src/plugins/ai-chat/api/plugin.mjs +608 -0
  54. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-input.cjs +221 -0
  55. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-input.mjs +219 -0
  56. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-interface.cjs +341 -0
  57. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-interface.mjs +339 -0
  58. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-layout.cjs +135 -0
  59. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-layout.mjs +133 -0
  60. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-message.cjs +429 -0
  61. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-message.mjs +423 -0
  62. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-sidebar.cjs +227 -0
  63. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/chat-sidebar.mjs +225 -0
  64. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/loading/chat-page-skeleton.cjs +31 -0
  65. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/loading/chat-page-skeleton.mjs +29 -0
  66. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/loading/index.cjs +11 -0
  67. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/loading/index.mjs +8 -0
  68. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/pages/404-page.cjs +18 -0
  69. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/pages/404-page.mjs +16 -0
  70. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/pages/chat-page.cjs +39 -0
  71. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/pages/chat-page.internal.cjs +22 -0
  72. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/pages/chat-page.internal.mjs +20 -0
  73. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/pages/chat-page.mjs +37 -0
  74. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/shared/default-error.cjs +18 -0
  75. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/shared/default-error.mjs +16 -0
  76. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/shared/error-placeholder.cjs +26 -0
  77. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/shared/error-placeholder.mjs +24 -0
  78. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/tool-call-display.cjs +123 -0
  79. package/dist/packages/better-stack/src/plugins/ai-chat/client/components/tool-call-display.mjs +121 -0
  80. package/dist/packages/better-stack/src/plugins/ai-chat/client/hooks/chat-hooks.cjs +199 -0
  81. package/dist/packages/better-stack/src/plugins/ai-chat/client/hooks/chat-hooks.mjs +191 -0
  82. package/dist/packages/better-stack/src/plugins/ai-chat/client/localization/index.cjs +63 -0
  83. package/dist/packages/better-stack/src/plugins/ai-chat/client/localization/index.mjs +61 -0
  84. package/dist/packages/better-stack/src/plugins/ai-chat/client/overrides.cjs +14 -0
  85. package/dist/packages/better-stack/src/plugins/ai-chat/client/overrides.mjs +11 -0
  86. package/dist/packages/better-stack/src/plugins/ai-chat/client/plugin.cjs +241 -0
  87. package/dist/packages/better-stack/src/plugins/ai-chat/client/plugin.mjs +239 -0
  88. package/dist/packages/better-stack/src/plugins/ai-chat/db.cjs +65 -0
  89. package/dist/packages/better-stack/src/plugins/ai-chat/db.mjs +63 -0
  90. package/dist/packages/better-stack/src/plugins/ai-chat/schemas.cjs +42 -0
  91. package/dist/packages/better-stack/src/plugins/ai-chat/schemas.mjs +38 -0
  92. package/dist/packages/better-stack/src/plugins/blog/client/components/shared/markdown-content.cjs +12 -309
  93. package/dist/packages/better-stack/src/plugins/blog/client/components/shared/markdown-content.mjs +13 -303
  94. package/dist/packages/better-stack/src/plugins/blog/client/components/shared/page-wrapper.cjs +2 -2
  95. package/dist/packages/better-stack/src/plugins/blog/client/components/shared/page-wrapper.mjs +2 -2
  96. package/dist/packages/ui/src/components/accordion.cjs +67 -0
  97. package/dist/packages/ui/src/components/accordion.mjs +62 -0
  98. package/dist/packages/ui/src/components/alert-dialog.cjs +1 -1
  99. package/dist/packages/ui/src/components/alert-dialog.mjs +1 -1
  100. package/dist/packages/{better-stack/src/plugins/blog/client/components/shared/better-blog-attribution.cjs → ui/src/components/better-stack-attribution.cjs} +3 -3
  101. package/dist/packages/{better-stack/src/plugins/blog/client/components/shared/better-blog-attribution.mjs → ui/src/components/better-stack-attribution.mjs} +3 -3
  102. package/dist/packages/ui/src/components/dialog.cjs +14 -0
  103. package/dist/packages/ui/src/components/dialog.mjs +14 -1
  104. package/dist/packages/ui/src/components/dropdown-menu.cjs +67 -0
  105. package/dist/packages/ui/src/components/dropdown-menu.mjs +62 -0
  106. package/dist/packages/ui/src/components/markdown-content.cjs +306 -0
  107. package/dist/packages/ui/src/components/markdown-content.mjs +297 -0
  108. package/dist/packages/ui/src/components/scroll-area.cjs +63 -0
  109. package/dist/packages/ui/src/components/scroll-area.mjs +60 -0
  110. package/dist/packages/ui/src/components/select.cjs +1 -1
  111. package/dist/packages/ui/src/components/select.mjs +1 -1
  112. package/dist/packages/ui/src/components/sheet.cjs +87 -0
  113. package/dist/packages/ui/src/components/sheet.mjs +69 -0
  114. package/dist/plugins/ai-chat/api/index.cjs +9 -0
  115. package/dist/plugins/ai-chat/api/index.d.cts +9 -0
  116. package/dist/plugins/ai-chat/api/index.d.mts +9 -0
  117. package/dist/plugins/ai-chat/api/index.d.ts +9 -0
  118. package/dist/plugins/ai-chat/api/index.mjs +2 -0
  119. package/dist/plugins/ai-chat/client/components/index.cjs +29 -0
  120. package/dist/plugins/ai-chat/client/components/index.d.cts +30 -0
  121. package/dist/plugins/ai-chat/client/components/index.d.mts +30 -0
  122. package/dist/plugins/ai-chat/client/components/index.d.ts +30 -0
  123. package/dist/plugins/ai-chat/client/components/index.mjs +12 -0
  124. package/dist/plugins/ai-chat/client/hooks/index.cjs +13 -0
  125. package/dist/plugins/ai-chat/client/hooks/index.d.cts +98 -0
  126. package/dist/plugins/ai-chat/client/hooks/index.d.mts +98 -0
  127. package/dist/plugins/ai-chat/client/hooks/index.d.ts +98 -0
  128. package/dist/plugins/ai-chat/client/hooks/index.mjs +1 -0
  129. package/dist/plugins/ai-chat/client/index.cjs +21 -0
  130. package/dist/plugins/ai-chat/client/index.d.cts +156 -0
  131. package/dist/plugins/ai-chat/client/index.d.mts +156 -0
  132. package/dist/plugins/ai-chat/client/index.d.ts +156 -0
  133. package/dist/plugins/ai-chat/client/index.mjs +8 -0
  134. package/dist/plugins/ai-chat/client.css +6 -0
  135. package/dist/plugins/ai-chat/query-keys.cjs +60 -0
  136. package/dist/plugins/ai-chat/query-keys.d.cts +478 -0
  137. package/dist/plugins/ai-chat/query-keys.d.mts +478 -0
  138. package/dist/plugins/ai-chat/query-keys.d.ts +478 -0
  139. package/dist/plugins/ai-chat/query-keys.mjs +58 -0
  140. package/dist/plugins/ai-chat/style.css +19 -0
  141. package/dist/plugins/blog/api/index.d.cts +1 -1
  142. package/dist/plugins/blog/api/index.d.mts +1 -1
  143. package/dist/plugins/blog/api/index.d.ts +1 -1
  144. package/dist/plugins/blog/client/components/shared/markdown-content-styles.css +91 -62
  145. package/dist/plugins/blog/client/hooks/index.d.cts +4 -4
  146. package/dist/plugins/blog/client/hooks/index.d.mts +4 -4
  147. package/dist/plugins/blog/client/hooks/index.d.ts +4 -4
  148. package/dist/plugins/blog/client/index.d.cts +1 -1
  149. package/dist/plugins/blog/client/index.d.mts +1 -1
  150. package/dist/plugins/blog/client/index.d.ts +1 -1
  151. package/dist/plugins/blog/query-keys.d.cts +7 -7
  152. package/dist/plugins/blog/query-keys.d.mts +7 -7
  153. package/dist/plugins/blog/query-keys.d.ts +7 -7
  154. package/dist/shared/stack.Be1QIHEn.d.cts +23 -0
  155. package/dist/shared/stack.Be1QIHEn.d.mts +23 -0
  156. package/dist/shared/stack.Be1QIHEn.d.ts +23 -0
  157. package/dist/shared/stack.DaOcgmrM.d.cts +323 -0
  158. package/dist/shared/stack.DaOcgmrM.d.mts +323 -0
  159. package/dist/shared/stack.DaOcgmrM.d.ts +323 -0
  160. package/package.json +59 -1
  161. package/src/plugins/ai-chat/api/index.ts +2 -0
  162. package/src/plugins/ai-chat/api/plugin.ts +1083 -0
  163. package/src/plugins/ai-chat/client/components/chat-input.tsx +295 -0
  164. package/src/plugins/ai-chat/client/components/chat-interface.tsx +494 -0
  165. package/src/plugins/ai-chat/client/components/chat-layout.tsx +175 -0
  166. package/src/plugins/ai-chat/client/components/chat-message.tsx +561 -0
  167. package/src/plugins/ai-chat/client/components/chat-sidebar.tsx +296 -0
  168. package/src/plugins/ai-chat/client/components/index.ts +18 -0
  169. package/src/plugins/ai-chat/client/components/loading/chat-page-skeleton.tsx +57 -0
  170. package/src/plugins/ai-chat/client/components/loading/index.tsx +11 -0
  171. package/src/plugins/ai-chat/client/components/pages/404-page.tsx +27 -0
  172. package/src/plugins/ai-chat/client/components/pages/chat-page.internal.tsx +31 -0
  173. package/src/plugins/ai-chat/client/components/pages/chat-page.tsx +46 -0
  174. package/src/plugins/ai-chat/client/components/shared/default-error.tsx +28 -0
  175. package/src/plugins/ai-chat/client/components/shared/error-placeholder.tsx +22 -0
  176. package/src/plugins/ai-chat/client/components/tool-call-display.tsx +197 -0
  177. package/src/plugins/ai-chat/client/hooks/chat-hooks.tsx +349 -0
  178. package/src/plugins/ai-chat/client/hooks/index.tsx +1 -0
  179. package/src/plugins/ai-chat/client/index.ts +25 -0
  180. package/src/plugins/ai-chat/client/localization/index.ts +156 -0
  181. package/src/plugins/ai-chat/client/overrides.ts +241 -0
  182. package/src/plugins/ai-chat/client/plugin.tsx +449 -0
  183. package/src/plugins/ai-chat/client.css +6 -0
  184. package/src/plugins/ai-chat/db.ts +65 -0
  185. package/src/plugins/ai-chat/query-keys.ts +87 -0
  186. package/src/plugins/ai-chat/schemas.ts +40 -0
  187. package/src/plugins/ai-chat/style.css +19 -0
  188. package/src/plugins/ai-chat/types.ts +29 -0
  189. package/src/plugins/blog/client/components/shared/markdown-content-styles.css +91 -62
  190. package/src/plugins/blog/client/components/shared/markdown-content.tsx +19 -427
  191. package/src/plugins/blog/client/components/shared/page-wrapper.tsx +2 -2
  192. package/dist/node_modules/.pnpm/react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0/node_modules/react-remove-scroll/dist/es2015/sidecar.cjs +0 -9
  193. package/src/plugins/blog/client/components/shared/better-blog-attribution.tsx +0 -19
  194. package/dist/node_modules/.pnpm/{@radix-ui_react-compose-refs@1.1.2_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-compose-refs@1.1.2_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-compose-refs/dist/index.cjs +0 -0
  195. package/dist/node_modules/.pnpm/{@radix-ui_react-compose-refs@1.1.2_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-compose-refs@1.1.2_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-compose-refs/dist/index.mjs +0 -0
  196. package/dist/node_modules/.pnpm/{@radix-ui_react-context@1.1.2_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-context@1.1.2_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-context/dist/index.cjs +0 -0
  197. package/dist/node_modules/.pnpm/{@radix-ui_react-context@1.1.2_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-context@1.1.2_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-context/dist/index.mjs +0 -0
  198. package/dist/node_modules/.pnpm/{@radix-ui_react-direction@1.1.1_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-direction@1.1.1_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-direction/dist/index.cjs +0 -0
  199. package/dist/node_modules/.pnpm/{@radix-ui_react-direction@1.1.1_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-direction@1.1.1_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-direction/dist/index.mjs +0 -0
  200. package/dist/node_modules/.pnpm/{@radix-ui_react-focus-guards@1.1.3_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-focus-guards@1.1.3_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-focus-guards/dist/index.cjs +0 -0
  201. package/dist/node_modules/.pnpm/{@radix-ui_react-focus-guards@1.1.3_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-focus-guards@1.1.3_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-focus-guards/dist/index.mjs +0 -0
  202. package/dist/node_modules/.pnpm/{@radix-ui_react-primitive@2.1.3_@types_react-dom@19.2.2_@types_react@19.2.2__@types_rea_bdc15f10281778271ffcbe8dd3cd491e → @radix-ui_react-primitive@2.1.3_@types_react-dom@19.2.3_@types_react@19.2.6__@types_rea_a92a69cb1cb39305138539e4fa72f596}/node_modules/@radix-ui/react-primitive/dist/index.cjs +0 -0
  203. package/dist/node_modules/.pnpm/{@radix-ui_react-primitive@2.1.3_@types_react-dom@19.2.2_@types_react@19.2.2__@types_rea_bdc15f10281778271ffcbe8dd3cd491e → @radix-ui_react-primitive@2.1.3_@types_react-dom@19.2.3_@types_react@19.2.6__@types_rea_a92a69cb1cb39305138539e4fa72f596}/node_modules/@radix-ui/react-primitive/dist/index.mjs +0 -0
  204. package/dist/node_modules/.pnpm/{@radix-ui_react-use-callback-ref@1.1.1_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-use-callback-ref@1.1.1_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-use-callback-ref/dist/index.cjs +0 -0
  205. package/dist/node_modules/.pnpm/{@radix-ui_react-use-callback-ref@1.1.1_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-use-callback-ref@1.1.1_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs +0 -0
  206. package/dist/node_modules/.pnpm/{@radix-ui_react-use-layout-effect@1.1.1_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-use-layout-effect@1.1.1_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-use-layout-effect/dist/index.cjs +0 -0
  207. package/dist/node_modules/.pnpm/{@radix-ui_react-use-layout-effect@1.1.1_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-use-layout-effect@1.1.1_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs +0 -0
  208. package/dist/node_modules/.pnpm/{@radix-ui_react-use-previous@1.1.1_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-use-previous@1.1.1_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-use-previous/dist/index.cjs +0 -0
  209. package/dist/node_modules/.pnpm/{@radix-ui_react-use-previous@1.1.1_@types_react@19.2.2_react@19.2.0 → @radix-ui_react-use-previous@1.1.1_@types_react@19.2.6_react@19.2.0}/node_modules/@radix-ui/react-use-previous/dist/index.mjs +0 -0
  210. package/dist/node_modules/.pnpm/{react-remove-scroll-bar@2.3.8_@types_react@19.2.2_react@19.2.0 → react-remove-scroll-bar@2.3.8_@types_react@19.2.6_react@19.2.0}/node_modules/react-remove-scroll-bar/dist/es2015/constants.cjs +0 -0
  211. package/dist/node_modules/.pnpm/{react-remove-scroll-bar@2.3.8_@types_react@19.2.2_react@19.2.0 → react-remove-scroll-bar@2.3.8_@types_react@19.2.6_react@19.2.0}/node_modules/react-remove-scroll-bar/dist/es2015/constants.mjs +0 -0
  212. package/dist/node_modules/.pnpm/{react-remove-scroll-bar@2.3.8_@types_react@19.2.2_react@19.2.0 → react-remove-scroll-bar@2.3.8_@types_react@19.2.6_react@19.2.0}/node_modules/react-remove-scroll-bar/dist/es2015/utils.cjs +0 -0
  213. package/dist/node_modules/.pnpm/{react-remove-scroll-bar@2.3.8_@types_react@19.2.2_react@19.2.0 → react-remove-scroll-bar@2.3.8_@types_react@19.2.6_react@19.2.0}/node_modules/react-remove-scroll-bar/dist/es2015/utils.mjs +0 -0
  214. package/dist/node_modules/.pnpm/{react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0 → react-remove-scroll@2.7.1_@types_react@19.2.6_react@19.2.0}/node_modules/react-remove-scroll/dist/es2015/Combination.cjs +0 -0
  215. package/dist/node_modules/.pnpm/{react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0 → react-remove-scroll@2.7.1_@types_react@19.2.6_react@19.2.0}/node_modules/react-remove-scroll/dist/es2015/Combination.mjs +0 -0
  216. package/dist/node_modules/.pnpm/{react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0 → react-remove-scroll@2.7.1_@types_react@19.2.6_react@19.2.0}/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.cjs +0 -0
  217. package/dist/node_modules/.pnpm/{react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0 → react-remove-scroll@2.7.1_@types_react@19.2.6_react@19.2.0}/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.mjs +0 -0
  218. package/dist/node_modules/.pnpm/{react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0 → react-remove-scroll@2.7.1_@types_react@19.2.6_react@19.2.0}/node_modules/react-remove-scroll/dist/es2015/handleScroll.cjs +0 -0
  219. package/dist/node_modules/.pnpm/{react-remove-scroll@2.7.1_@types_react@19.2.2_react@19.2.0 → react-remove-scroll@2.7.1_@types_react@19.2.6_react@19.2.0}/node_modules/react-remove-scroll/dist/es2015/handleScroll.mjs +0 -0
  220. package/dist/node_modules/.pnpm/{react-style-singleton@2.2.3_@types_react@19.2.2_react@19.2.0 → react-style-singleton@2.2.3_@types_react@19.2.6_react@19.2.0}/node_modules/react-style-singleton/dist/es2015/component.cjs +0 -0
  221. package/dist/node_modules/.pnpm/{react-style-singleton@2.2.3_@types_react@19.2.2_react@19.2.0 → react-style-singleton@2.2.3_@types_react@19.2.6_react@19.2.0}/node_modules/react-style-singleton/dist/es2015/component.mjs +0 -0
  222. package/dist/node_modules/.pnpm/{react-style-singleton@2.2.3_@types_react@19.2.2_react@19.2.0 → react-style-singleton@2.2.3_@types_react@19.2.6_react@19.2.0}/node_modules/react-style-singleton/dist/es2015/hook.cjs +0 -0
  223. package/dist/node_modules/.pnpm/{react-style-singleton@2.2.3_@types_react@19.2.2_react@19.2.0 → react-style-singleton@2.2.3_@types_react@19.2.6_react@19.2.0}/node_modules/react-style-singleton/dist/es2015/hook.mjs +0 -0
  224. package/dist/node_modules/.pnpm/{react-style-singleton@2.2.3_@types_react@19.2.2_react@19.2.0 → react-style-singleton@2.2.3_@types_react@19.2.6_react@19.2.0}/node_modules/react-style-singleton/dist/es2015/singleton.cjs +0 -0
  225. package/dist/node_modules/.pnpm/{react-style-singleton@2.2.3_@types_react@19.2.2_react@19.2.0 → react-style-singleton@2.2.3_@types_react@19.2.6_react@19.2.0}/node_modules/react-style-singleton/dist/es2015/singleton.mjs +0 -0
  226. package/dist/node_modules/.pnpm/{use-callback-ref@1.3.3_@types_react@19.2.2_react@19.2.0 → use-callback-ref@1.3.3_@types_react@19.2.6_react@19.2.0}/node_modules/use-callback-ref/dist/es2015/assignRef.cjs +0 -0
  227. package/dist/node_modules/.pnpm/{use-callback-ref@1.3.3_@types_react@19.2.2_react@19.2.0 → use-callback-ref@1.3.3_@types_react@19.2.6_react@19.2.0}/node_modules/use-callback-ref/dist/es2015/assignRef.mjs +0 -0
  228. package/dist/node_modules/.pnpm/{use-callback-ref@1.3.3_@types_react@19.2.2_react@19.2.0 → use-callback-ref@1.3.3_@types_react@19.2.6_react@19.2.0}/node_modules/use-callback-ref/dist/es2015/useMergeRef.cjs +0 -0
  229. package/dist/node_modules/.pnpm/{use-callback-ref@1.3.3_@types_react@19.2.2_react@19.2.0 → use-callback-ref@1.3.3_@types_react@19.2.6_react@19.2.0}/node_modules/use-callback-ref/dist/es2015/useMergeRef.mjs +0 -0
  230. package/dist/node_modules/.pnpm/{use-callback-ref@1.3.3_@types_react@19.2.2_react@19.2.0 → use-callback-ref@1.3.3_@types_react@19.2.6_react@19.2.0}/node_modules/use-callback-ref/dist/es2015/useRef.cjs +0 -0
  231. package/dist/node_modules/.pnpm/{use-callback-ref@1.3.3_@types_react@19.2.2_react@19.2.0 → use-callback-ref@1.3.3_@types_react@19.2.6_react@19.2.0}/node_modules/use-callback-ref/dist/es2015/useRef.mjs +0 -0
  232. package/dist/node_modules/.pnpm/{use-sidecar@1.1.3_@types_react@19.2.2_react@19.2.0 → use-sidecar@1.1.3_@types_react@19.2.6_react@19.2.0}/node_modules/use-sidecar/dist/es2015/exports.cjs +0 -0
  233. package/dist/node_modules/.pnpm/{use-sidecar@1.1.3_@types_react@19.2.2_react@19.2.0 → use-sidecar@1.1.3_@types_react@19.2.6_react@19.2.0}/node_modules/use-sidecar/dist/es2015/exports.mjs +0 -0
  234. package/dist/node_modules/.pnpm/{use-sidecar@1.1.3_@types_react@19.2.2_react@19.2.0 → use-sidecar@1.1.3_@types_react@19.2.6_react@19.2.0}/node_modules/use-sidecar/dist/es2015/medium.cjs +0 -0
  235. package/dist/node_modules/.pnpm/{use-sidecar@1.1.3_@types_react@19.2.2_react@19.2.0 → use-sidecar@1.1.3_@types_react@19.2.6_react@19.2.0}/node_modules/use-sidecar/dist/es2015/medium.mjs +0 -0
  236. package/dist/shared/{stack.CbuN2zVV.d.ts → stack.CcI4sYJP.d.cts} +3 -3
  237. package/dist/shared/{stack.CbuN2zVV.d.cts → stack.CcI4sYJP.d.mts} +3 -3
  238. package/dist/shared/{stack.CbuN2zVV.d.mts → stack.CcI4sYJP.d.ts} +3 -3
@@ -0,0 +1,30 @@
1
+ export { i as ChatInput, C as ChatInterface, e as ChatLayout, f as ChatLayoutProps, h as ChatMessage, g as ChatSidebar, j as ToolCallDisplay } from '../../../../shared/stack.DaOcgmrM.cjs';
2
+ import * as react_jsx_runtime from 'react/jsx-runtime';
3
+ import { FallbackProps } from 'react-error-boundary';
4
+ import 'ai';
5
+ import 'react';
6
+
7
+ interface ChatPageComponentProps {
8
+ conversationId?: string;
9
+ }
10
+ declare function ChatPageComponent({ conversationId }: ChatPageComponentProps): react_jsx_runtime.JSX.Element;
11
+
12
+ /**
13
+ * Skeleton loading state for the chat page
14
+ */
15
+ declare function ChatPageSkeleton(): react_jsx_runtime.JSX.Element;
16
+
17
+ declare function ChatLoading(): react_jsx_runtime.JSX.Element;
18
+
19
+ declare function DefaultError({ error }: FallbackProps): react_jsx_runtime.JSX.Element;
20
+
21
+ declare function ErrorPlaceholder({ title, message, }: {
22
+ title: string;
23
+ message: string;
24
+ }): react_jsx_runtime.JSX.Element;
25
+
26
+ declare function NotFoundPage({ message }: {
27
+ message?: string;
28
+ }): react_jsx_runtime.JSX.Element;
29
+
30
+ export { ChatLoading, ChatPageComponent, ChatPageSkeleton, DefaultError, ErrorPlaceholder, NotFoundPage };
@@ -0,0 +1,30 @@
1
+ export { i as ChatInput, C as ChatInterface, e as ChatLayout, f as ChatLayoutProps, h as ChatMessage, g as ChatSidebar, j as ToolCallDisplay } from '../../../../shared/stack.DaOcgmrM.mjs';
2
+ import * as react_jsx_runtime from 'react/jsx-runtime';
3
+ import { FallbackProps } from 'react-error-boundary';
4
+ import 'ai';
5
+ import 'react';
6
+
7
+ interface ChatPageComponentProps {
8
+ conversationId?: string;
9
+ }
10
+ declare function ChatPageComponent({ conversationId }: ChatPageComponentProps): react_jsx_runtime.JSX.Element;
11
+
12
+ /**
13
+ * Skeleton loading state for the chat page
14
+ */
15
+ declare function ChatPageSkeleton(): react_jsx_runtime.JSX.Element;
16
+
17
+ declare function ChatLoading(): react_jsx_runtime.JSX.Element;
18
+
19
+ declare function DefaultError({ error }: FallbackProps): react_jsx_runtime.JSX.Element;
20
+
21
+ declare function ErrorPlaceholder({ title, message, }: {
22
+ title: string;
23
+ message: string;
24
+ }): react_jsx_runtime.JSX.Element;
25
+
26
+ declare function NotFoundPage({ message }: {
27
+ message?: string;
28
+ }): react_jsx_runtime.JSX.Element;
29
+
30
+ export { ChatLoading, ChatPageComponent, ChatPageSkeleton, DefaultError, ErrorPlaceholder, NotFoundPage };
@@ -0,0 +1,30 @@
1
+ export { i as ChatInput, C as ChatInterface, e as ChatLayout, f as ChatLayoutProps, h as ChatMessage, g as ChatSidebar, j as ToolCallDisplay } from '../../../../shared/stack.DaOcgmrM.js';
2
+ import * as react_jsx_runtime from 'react/jsx-runtime';
3
+ import { FallbackProps } from 'react-error-boundary';
4
+ import 'ai';
5
+ import 'react';
6
+
7
+ interface ChatPageComponentProps {
8
+ conversationId?: string;
9
+ }
10
+ declare function ChatPageComponent({ conversationId }: ChatPageComponentProps): react_jsx_runtime.JSX.Element;
11
+
12
+ /**
13
+ * Skeleton loading state for the chat page
14
+ */
15
+ declare function ChatPageSkeleton(): react_jsx_runtime.JSX.Element;
16
+
17
+ declare function ChatLoading(): react_jsx_runtime.JSX.Element;
18
+
19
+ declare function DefaultError({ error }: FallbackProps): react_jsx_runtime.JSX.Element;
20
+
21
+ declare function ErrorPlaceholder({ title, message, }: {
22
+ title: string;
23
+ message: string;
24
+ }): react_jsx_runtime.JSX.Element;
25
+
26
+ declare function NotFoundPage({ message }: {
27
+ message?: string;
28
+ }): react_jsx_runtime.JSX.Element;
29
+
30
+ export { ChatLoading, ChatPageComponent, ChatPageSkeleton, DefaultError, ErrorPlaceholder, NotFoundPage };
@@ -0,0 +1,12 @@
1
+ export { ChatInterface } from '../../../../packages/better-stack/src/plugins/ai-chat/client/components/chat-interface.mjs';
2
+ export { ChatLayout } from '../../../../packages/better-stack/src/plugins/ai-chat/client/components/chat-layout.mjs';
3
+ export { ChatSidebar } from '../../../../packages/better-stack/src/plugins/ai-chat/client/components/chat-sidebar.mjs';
4
+ export { ChatMessage } from '../../../../packages/better-stack/src/plugins/ai-chat/client/components/chat-message.mjs';
5
+ export { ChatInput } from '../../../../packages/better-stack/src/plugins/ai-chat/client/components/chat-input.mjs';
6
+ export { ToolCallDisplay } from '../../../../packages/better-stack/src/plugins/ai-chat/client/components/tool-call-display.mjs';
7
+ export { ChatPageComponent } from '../../../../packages/better-stack/src/plugins/ai-chat/client/components/pages/chat-page.mjs';
8
+ export { ChatLoading } from '../../../../packages/better-stack/src/plugins/ai-chat/client/components/loading/index.mjs';
9
+ export { DefaultError } from '../../../../packages/better-stack/src/plugins/ai-chat/client/components/shared/default-error.mjs';
10
+ export { ErrorPlaceholder } from '../../../../packages/better-stack/src/plugins/ai-chat/client/components/shared/error-placeholder.mjs';
11
+ export { NotFoundPage } from '../../../../packages/better-stack/src/plugins/ai-chat/client/components/pages/404-page.mjs';
12
+ export { ChatPageSkeleton } from '../../../../packages/better-stack/src/plugins/ai-chat/client/components/loading/chat-page-skeleton.mjs';
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ const chatHooks = require('../../../../packages/better-stack/src/plugins/ai-chat/client/hooks/chat-hooks.cjs');
4
+
5
+
6
+
7
+ exports.useConversation = chatHooks.useConversation;
8
+ exports.useConversations = chatHooks.useConversations;
9
+ exports.useCreateConversation = chatHooks.useCreateConversation;
10
+ exports.useDeleteConversation = chatHooks.useDeleteConversation;
11
+ exports.useRenameConversation = chatHooks.useRenameConversation;
12
+ exports.useSuspenseConversation = chatHooks.useSuspenseConversation;
13
+ exports.useSuspenseConversations = chatHooks.useSuspenseConversations;
@@ -0,0 +1,98 @@
1
+ import * as _tanstack_react_query from '@tanstack/react-query';
2
+ import { ConversationWithMessages } from '../../query-keys.cjs';
3
+ import { S as SerializedConversation } from '../../../../shared/stack.Be1QIHEn.cjs';
4
+ export { a as SerializedMessage } from '../../../../shared/stack.Be1QIHEn.cjs';
5
+ import '@btst/stack/plugins/api';
6
+ import 'zod/v4/core';
7
+ import 'zod';
8
+ import 'better-call';
9
+ import 'ai';
10
+ import '@btst/stack/plugins/client';
11
+
12
+ /**
13
+ * Options for the useConversations hook
14
+ */
15
+ interface UseConversationsOptions {
16
+ /** Whether to enable the query (default: true) */
17
+ enabled?: boolean;
18
+ }
19
+ /**
20
+ * Result from the useConversations hook
21
+ */
22
+ interface UseConversationsResult {
23
+ /** Array of conversations */
24
+ conversations: SerializedConversation[];
25
+ /** Whether the initial load is in progress */
26
+ isLoading: boolean;
27
+ /** Error if the query failed */
28
+ error: Error | null;
29
+ /** Function to refetch the conversations */
30
+ refetch: () => void;
31
+ }
32
+ /**
33
+ * Hook for fetching all conversations
34
+ */
35
+ declare function useConversations(options?: UseConversationsOptions): UseConversationsResult;
36
+ /**
37
+ * Suspense variant of useConversations
38
+ */
39
+ declare function useSuspenseConversations(): {
40
+ conversations: SerializedConversation[];
41
+ refetch: () => Promise<unknown>;
42
+ };
43
+ /**
44
+ * Options for the useConversation hook
45
+ */
46
+ interface UseConversationOptions {
47
+ /** Whether to enable the query (default: true) */
48
+ enabled?: boolean;
49
+ }
50
+ /**
51
+ * Result from the useConversation hook
52
+ */
53
+ interface UseConversationResult {
54
+ /** The conversation with messages, or null if not found */
55
+ conversation: ConversationWithMessages | null;
56
+ /** Whether the conversation is being loaded */
57
+ isLoading: boolean;
58
+ /** Error if the query failed */
59
+ error: Error | null;
60
+ /** Function to refetch the conversation */
61
+ refetch: () => void;
62
+ }
63
+ /**
64
+ * Hook for fetching a single conversation with messages
65
+ */
66
+ declare function useConversation(id?: string, options?: UseConversationOptions): UseConversationResult;
67
+ /**
68
+ * Suspense variant of useConversation
69
+ */
70
+ declare function useSuspenseConversation(id: string): {
71
+ conversation: ConversationWithMessages | null;
72
+ refetch: () => Promise<unknown>;
73
+ };
74
+ /**
75
+ * Hook for creating a new conversation
76
+ */
77
+ declare function useCreateConversation(): _tanstack_react_query.UseMutationResult<SerializedConversation | null, Error, {
78
+ id?: string;
79
+ title?: string;
80
+ }, unknown>;
81
+ /**
82
+ * Hook for renaming a conversation
83
+ */
84
+ declare function useRenameConversation(): _tanstack_react_query.UseMutationResult<SerializedConversation | null, Error, {
85
+ id: string;
86
+ title: string;
87
+ }, unknown>;
88
+ /**
89
+ * Hook for deleting a conversation
90
+ */
91
+ declare function useDeleteConversation(): _tanstack_react_query.UseMutationResult<{
92
+ success: boolean;
93
+ }, Error, {
94
+ id: string;
95
+ }, unknown>;
96
+
97
+ export { ConversationWithMessages, SerializedConversation, useConversation, useConversations, useCreateConversation, useDeleteConversation, useRenameConversation, useSuspenseConversation, useSuspenseConversations };
98
+ export type { UseConversationOptions, UseConversationResult, UseConversationsOptions, UseConversationsResult };
@@ -0,0 +1,98 @@
1
+ import * as _tanstack_react_query from '@tanstack/react-query';
2
+ import { ConversationWithMessages } from '../../query-keys.mjs';
3
+ import { S as SerializedConversation } from '../../../../shared/stack.Be1QIHEn.mjs';
4
+ export { a as SerializedMessage } from '../../../../shared/stack.Be1QIHEn.mjs';
5
+ import '@btst/stack/plugins/api';
6
+ import 'zod/v4/core';
7
+ import 'zod';
8
+ import 'better-call';
9
+ import 'ai';
10
+ import '@btst/stack/plugins/client';
11
+
12
+ /**
13
+ * Options for the useConversations hook
14
+ */
15
+ interface UseConversationsOptions {
16
+ /** Whether to enable the query (default: true) */
17
+ enabled?: boolean;
18
+ }
19
+ /**
20
+ * Result from the useConversations hook
21
+ */
22
+ interface UseConversationsResult {
23
+ /** Array of conversations */
24
+ conversations: SerializedConversation[];
25
+ /** Whether the initial load is in progress */
26
+ isLoading: boolean;
27
+ /** Error if the query failed */
28
+ error: Error | null;
29
+ /** Function to refetch the conversations */
30
+ refetch: () => void;
31
+ }
32
+ /**
33
+ * Hook for fetching all conversations
34
+ */
35
+ declare function useConversations(options?: UseConversationsOptions): UseConversationsResult;
36
+ /**
37
+ * Suspense variant of useConversations
38
+ */
39
+ declare function useSuspenseConversations(): {
40
+ conversations: SerializedConversation[];
41
+ refetch: () => Promise<unknown>;
42
+ };
43
+ /**
44
+ * Options for the useConversation hook
45
+ */
46
+ interface UseConversationOptions {
47
+ /** Whether to enable the query (default: true) */
48
+ enabled?: boolean;
49
+ }
50
+ /**
51
+ * Result from the useConversation hook
52
+ */
53
+ interface UseConversationResult {
54
+ /** The conversation with messages, or null if not found */
55
+ conversation: ConversationWithMessages | null;
56
+ /** Whether the conversation is being loaded */
57
+ isLoading: boolean;
58
+ /** Error if the query failed */
59
+ error: Error | null;
60
+ /** Function to refetch the conversation */
61
+ refetch: () => void;
62
+ }
63
+ /**
64
+ * Hook for fetching a single conversation with messages
65
+ */
66
+ declare function useConversation(id?: string, options?: UseConversationOptions): UseConversationResult;
67
+ /**
68
+ * Suspense variant of useConversation
69
+ */
70
+ declare function useSuspenseConversation(id: string): {
71
+ conversation: ConversationWithMessages | null;
72
+ refetch: () => Promise<unknown>;
73
+ };
74
+ /**
75
+ * Hook for creating a new conversation
76
+ */
77
+ declare function useCreateConversation(): _tanstack_react_query.UseMutationResult<SerializedConversation | null, Error, {
78
+ id?: string;
79
+ title?: string;
80
+ }, unknown>;
81
+ /**
82
+ * Hook for renaming a conversation
83
+ */
84
+ declare function useRenameConversation(): _tanstack_react_query.UseMutationResult<SerializedConversation | null, Error, {
85
+ id: string;
86
+ title: string;
87
+ }, unknown>;
88
+ /**
89
+ * Hook for deleting a conversation
90
+ */
91
+ declare function useDeleteConversation(): _tanstack_react_query.UseMutationResult<{
92
+ success: boolean;
93
+ }, Error, {
94
+ id: string;
95
+ }, unknown>;
96
+
97
+ export { ConversationWithMessages, SerializedConversation, useConversation, useConversations, useCreateConversation, useDeleteConversation, useRenameConversation, useSuspenseConversation, useSuspenseConversations };
98
+ export type { UseConversationOptions, UseConversationResult, UseConversationsOptions, UseConversationsResult };
@@ -0,0 +1,98 @@
1
+ import * as _tanstack_react_query from '@tanstack/react-query';
2
+ import { ConversationWithMessages } from '../../query-keys.js';
3
+ import { S as SerializedConversation } from '../../../../shared/stack.Be1QIHEn.js';
4
+ export { a as SerializedMessage } from '../../../../shared/stack.Be1QIHEn.js';
5
+ import '@btst/stack/plugins/api';
6
+ import 'zod/v4/core';
7
+ import 'zod';
8
+ import 'better-call';
9
+ import 'ai';
10
+ import '@btst/stack/plugins/client';
11
+
12
+ /**
13
+ * Options for the useConversations hook
14
+ */
15
+ interface UseConversationsOptions {
16
+ /** Whether to enable the query (default: true) */
17
+ enabled?: boolean;
18
+ }
19
+ /**
20
+ * Result from the useConversations hook
21
+ */
22
+ interface UseConversationsResult {
23
+ /** Array of conversations */
24
+ conversations: SerializedConversation[];
25
+ /** Whether the initial load is in progress */
26
+ isLoading: boolean;
27
+ /** Error if the query failed */
28
+ error: Error | null;
29
+ /** Function to refetch the conversations */
30
+ refetch: () => void;
31
+ }
32
+ /**
33
+ * Hook for fetching all conversations
34
+ */
35
+ declare function useConversations(options?: UseConversationsOptions): UseConversationsResult;
36
+ /**
37
+ * Suspense variant of useConversations
38
+ */
39
+ declare function useSuspenseConversations(): {
40
+ conversations: SerializedConversation[];
41
+ refetch: () => Promise<unknown>;
42
+ };
43
+ /**
44
+ * Options for the useConversation hook
45
+ */
46
+ interface UseConversationOptions {
47
+ /** Whether to enable the query (default: true) */
48
+ enabled?: boolean;
49
+ }
50
+ /**
51
+ * Result from the useConversation hook
52
+ */
53
+ interface UseConversationResult {
54
+ /** The conversation with messages, or null if not found */
55
+ conversation: ConversationWithMessages | null;
56
+ /** Whether the conversation is being loaded */
57
+ isLoading: boolean;
58
+ /** Error if the query failed */
59
+ error: Error | null;
60
+ /** Function to refetch the conversation */
61
+ refetch: () => void;
62
+ }
63
+ /**
64
+ * Hook for fetching a single conversation with messages
65
+ */
66
+ declare function useConversation(id?: string, options?: UseConversationOptions): UseConversationResult;
67
+ /**
68
+ * Suspense variant of useConversation
69
+ */
70
+ declare function useSuspenseConversation(id: string): {
71
+ conversation: ConversationWithMessages | null;
72
+ refetch: () => Promise<unknown>;
73
+ };
74
+ /**
75
+ * Hook for creating a new conversation
76
+ */
77
+ declare function useCreateConversation(): _tanstack_react_query.UseMutationResult<SerializedConversation | null, Error, {
78
+ id?: string;
79
+ title?: string;
80
+ }, unknown>;
81
+ /**
82
+ * Hook for renaming a conversation
83
+ */
84
+ declare function useRenameConversation(): _tanstack_react_query.UseMutationResult<SerializedConversation | null, Error, {
85
+ id: string;
86
+ title: string;
87
+ }, unknown>;
88
+ /**
89
+ * Hook for deleting a conversation
90
+ */
91
+ declare function useDeleteConversation(): _tanstack_react_query.UseMutationResult<{
92
+ success: boolean;
93
+ }, Error, {
94
+ id: string;
95
+ }, unknown>;
96
+
97
+ export { ConversationWithMessages, SerializedConversation, useConversation, useConversations, useCreateConversation, useDeleteConversation, useRenameConversation, useSuspenseConversation, useSuspenseConversations };
98
+ export type { UseConversationOptions, UseConversationResult, UseConversationsOptions, UseConversationsResult };
@@ -0,0 +1 @@
1
+ export { useConversation, useConversations, useCreateConversation, useDeleteConversation, useRenameConversation, useSuspenseConversation, useSuspenseConversations } from '../../../../packages/better-stack/src/plugins/ai-chat/client/hooks/chat-hooks.mjs';
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ const plugin = require('../../../packages/better-stack/src/plugins/ai-chat/client/plugin.cjs');
4
+ const overrides = require('../../../packages/better-stack/src/plugins/ai-chat/client/overrides.cjs');
5
+ const chatInterface = require('../../../packages/better-stack/src/plugins/ai-chat/client/components/chat-interface.cjs');
6
+ const chatLayout = require('../../../packages/better-stack/src/plugins/ai-chat/client/components/chat-layout.cjs');
7
+ const chatSidebar = require('../../../packages/better-stack/src/plugins/ai-chat/client/components/chat-sidebar.cjs');
8
+ const chatMessage = require('../../../packages/better-stack/src/plugins/ai-chat/client/components/chat-message.cjs');
9
+ const chatInput = require('../../../packages/better-stack/src/plugins/ai-chat/client/components/chat-input.cjs');
10
+ const toolCallDisplay = require('../../../packages/better-stack/src/plugins/ai-chat/client/components/tool-call-display.cjs');
11
+
12
+
13
+
14
+ exports.aiChatClientPlugin = plugin.aiChatClientPlugin;
15
+ exports.DEFAULT_ALLOWED_FILE_TYPES = overrides.DEFAULT_ALLOWED_FILE_TYPES;
16
+ exports.ChatInterface = chatInterface.ChatInterface;
17
+ exports.ChatLayout = chatLayout.ChatLayout;
18
+ exports.ChatSidebar = chatSidebar.ChatSidebar;
19
+ exports.ChatMessage = chatMessage.ChatMessage;
20
+ exports.ChatInput = chatInput.ChatInput;
21
+ exports.ToolCallDisplay = toolCallDisplay.ToolCallDisplay;
@@ -0,0 +1,156 @@
1
+ import * as _btst_stack_plugins_client from '@btst/stack/plugins/client';
2
+ import * as react from 'react';
3
+ import * as _btst_yar from '@btst/yar';
4
+ import { QueryClient } from '@tanstack/react-query';
5
+ import { S as SerializedConversation, a as SerializedMessage } from '../../../shared/stack.Be1QIHEn.cjs';
6
+ import { A as AiChatMode } from '../../../shared/stack.DaOcgmrM.cjs';
7
+ export { a as AiChatPluginOverrides, b as AllowedFileType, i as ChatInput, C as ChatInterface, e as ChatLayout, f as ChatLayoutProps, h as ChatMessage, g as ChatSidebar, D as DEFAULT_ALLOWED_FILE_TYPES, j as ToolCallDisplay, T as ToolCallProps, d as ToolCallRenderer, c as ToolCallState } from '../../../shared/stack.DaOcgmrM.cjs';
8
+ export { UIMessage } from 'ai';
9
+ import 'react/jsx-runtime';
10
+
11
+ /**
12
+ * Context passed to route hooks
13
+ */
14
+ interface RouteContext {
15
+ /** Current route path */
16
+ path: string;
17
+ /** Route parameters (e.g., { id: "abc123" }) */
18
+ params?: Record<string, string>;
19
+ /** Whether rendering on server (true) or client (false) */
20
+ isSSR: boolean;
21
+ /** Additional context properties */
22
+ [key: string]: any;
23
+ }
24
+ /**
25
+ * Context passed to loader hooks
26
+ */
27
+ interface LoaderContext {
28
+ /** Current route path */
29
+ path: string;
30
+ /** Route parameters (e.g., { id: "abc123" }) */
31
+ params?: Record<string, string>;
32
+ /** Whether rendering on server (true) or client (false) */
33
+ isSSR: boolean;
34
+ /** Base URL for API calls */
35
+ apiBaseURL: string;
36
+ /** Path where the API is mounted */
37
+ apiBasePath: string;
38
+ /** Optional headers for the request */
39
+ headers?: Headers;
40
+ /** Additional context properties */
41
+ [key: string]: any;
42
+ }
43
+ /**
44
+ * Configuration for AI Chat client plugin
45
+ */
46
+ interface AiChatClientConfig {
47
+ /** Base URL for API calls (e.g., "http://localhost:3000") */
48
+ apiBaseURL: string;
49
+ /** Path where the API is mounted (e.g., "/api/data") */
50
+ apiBasePath: string;
51
+ /** Base URL of your site for SEO meta tags */
52
+ siteBaseURL: string;
53
+ /** Path where pages are mounted (e.g., "/pages") */
54
+ siteBasePath: string;
55
+ /** React Query client instance for caching */
56
+ queryClient: QueryClient;
57
+ /**
58
+ * Plugin mode - should match backend config
59
+ * - 'authenticated': Full chat with conversation history (default)
60
+ * - 'public': Simple widget mode, no persistence, no sidebar
61
+ * @default 'authenticated'
62
+ */
63
+ mode?: AiChatMode;
64
+ /** Optional SEO configuration for meta tags */
65
+ seo?: {
66
+ /** Site name for Open Graph tags */
67
+ siteName?: string;
68
+ /** Default description */
69
+ description?: string;
70
+ /** Locale for Open Graph (e.g., "en_US") */
71
+ locale?: string;
72
+ /** Default image URL for social sharing */
73
+ defaultImage?: string;
74
+ };
75
+ /** Optional hooks for customizing behavior */
76
+ hooks?: AiChatClientHooks;
77
+ /** Optional headers for SSR (e.g., forwarding cookies) */
78
+ headers?: Headers;
79
+ }
80
+ /**
81
+ * Hooks for AI Chat client plugin
82
+ * All hooks are optional and allow consumers to customize behavior
83
+ */
84
+ interface AiChatClientHooks {
85
+ /**
86
+ * Called before loading conversations list. Return false to cancel loading.
87
+ * @param context - Loader context with path, params, etc.
88
+ */
89
+ beforeLoadConversations?: (context: LoaderContext) => Promise<boolean> | boolean;
90
+ /**
91
+ * Called after conversations are loaded. Return false to cancel further processing.
92
+ * @param conversations - Array of loaded conversations or null
93
+ * @param context - Loader context
94
+ */
95
+ afterLoadConversations?: (conversations: SerializedConversation[] | null, context: LoaderContext) => Promise<boolean> | boolean;
96
+ /**
97
+ * Called before loading a single conversation. Return false to cancel loading.
98
+ * @param id - Conversation ID being loaded
99
+ * @param context - Loader context
100
+ */
101
+ beforeLoadConversation?: (id: string, context: LoaderContext) => Promise<boolean> | boolean;
102
+ /**
103
+ * Called after a conversation is loaded. Return false to cancel further processing.
104
+ * @param conversation - Loaded conversation or null if not found
105
+ * @param id - Conversation ID that was requested
106
+ * @param context - Loader context
107
+ */
108
+ afterLoadConversation?: (conversation: (SerializedConversation & {
109
+ messages: SerializedMessage[];
110
+ }) | null, id: string, context: LoaderContext) => Promise<boolean> | boolean;
111
+ /**
112
+ * Called when a loading error occurs
113
+ * @param error - The error that occurred
114
+ * @param context - Loader context
115
+ */
116
+ onLoadError?: (error: Error, context: LoaderContext) => Promise<void> | void;
117
+ }
118
+ /**
119
+ * AI Chat client plugin
120
+ * Provides routes, components, and React Query hooks for AI chat
121
+ *
122
+ * @param config - Configuration including queryClient, baseURL, and optional hooks
123
+ */
124
+ declare const aiChatClientPlugin: (config: AiChatClientConfig) => _btst_stack_plugins_client.ClientPlugin<Record<string, never>, {
125
+ chat: {
126
+ (inputCtx_0?: _btst_yar.InputContext<"/chat", _btst_yar.RouteOptions> | undefined): {
127
+ PageComponent?: react.ComponentType<unknown> | undefined;
128
+ LoadingComponent?: react.ComponentType<unknown> | undefined;
129
+ ErrorComponent?: react.ComponentType<unknown> | undefined;
130
+ loader?: (() => Promise<void>) | undefined;
131
+ meta?: (() => ({
132
+ title: string;
133
+ name?: undefined;
134
+ content?: undefined;
135
+ property?: undefined;
136
+ } | {
137
+ name: string;
138
+ content: string;
139
+ title?: undefined;
140
+ property?: undefined;
141
+ } | {
142
+ property: string;
143
+ content: string;
144
+ title?: undefined;
145
+ name?: undefined;
146
+ })[]) | undefined;
147
+ extra?: (() => any) | undefined;
148
+ };
149
+ options: _btst_yar.RouteOptions | undefined;
150
+ path: "/chat";
151
+ meta: _btst_yar.RouteMeta | undefined;
152
+ };
153
+ }>;
154
+
155
+ export { aiChatClientPlugin };
156
+ export type { AiChatClientConfig, AiChatClientHooks, LoaderContext, RouteContext };