Commit Graph
139 Commits
Author SHA1 Message Date
Shivam Mishra 7e2fb8a0a8 feat: allow captain for paid users 2025-01-22 18:25:08 +05:30
Shivam Mishra d420c2cec7 feat: new billing page 2025-01-22 18:25:08 +05:30
Shivam Mishra e22e97ad06 test: update chat_service spec 2025-01-22 13:43:42 +05:30
Shivam MishraandGitHub 4f838e499e Merge branch 'develop' into feat/captain-limits 2025-01-22 10:08:00 +05:30
Shivam Mishra 0db7c3aebf feat: use custom error 2025-01-22 10:07:29 +05:30
Shivam Mishra e7d044d9dd feat: handle error gracefully 2025-01-22 10:04:40 +05:30
PranavandGitHub 3a950dbdbb fix: Use documentable instead of document (#10743)
Fixes
https://linear.app/chatwoot/issue/CW-3950/nomethoderror-undefined-method-document-for-an-instance-of
2025-01-21 19:43:20 -08:00
Shivam MishraandGitHub bd160b64b6 Merge branch 'develop' into feat/captain-limits 2025-01-22 09:11:39 +05:30
451c28a7a1 feat: add prompt suggestions and June events (#10726)
This PR adds the following two features

1. Prompt suggestions to get started with Copilot Chat
2. June events for each action

![CleanShot 2025-01-20 at 21 00
52@2x](https://github.com/user-attachments/assets/d73e7982-0f78-4d85-873e-da2c16762688)

---------

Co-authored-by: Pranav <pranavrajs@gmail.com>
2025-01-21 22:52:42 +05:30
Shivam Mishra e1ff351062 feat: enforce limit in document parsing 2025-01-21 18:21:13 +05:30
Shivam Mishra 1620a322cd feat: handle base plan usage 2025-01-21 18:19:56 +05:30
Shivam Mishra d5ab198c6f feat: handle document limit in the model 2025-01-21 18:07:55 +05:30
Shivam Mishra 4c1b76a70c fix: typo 2025-01-21 14:51:28 +05:30
Shivam Mishra d0293d397d feat: handle parsing errors 2025-01-21 14:51:12 +05:30
Shivam Mishra 9c0e7b1897 feat: swap limits and custom attributes
We will store the usage in custom attributes and the max allowed in limits, this is much more aligned semantically in comparison to the previous implementation.
2025-01-21 14:49:44 +05:30
Shivam Mishra 64596722c0 refactor: use 'responses' instead of 'generated_responses' 2025-01-21 14:30:48 +05:30
Shivam Mishra c084e83081 refactor: move default_captain_limit to private 2025-01-21 14:26:29 +05:30
Shivam Mishra d2ca5f4390 feat: allow limits from custom attributes 2025-01-21 14:24:50 +05:30
Shivam Mishra e6ca17d134 feat: setup document usage 2025-01-21 13:59:07 +05:30
Shivam Mishra fffb093df0 feat: perform hand-off mid conversation if required 2025-01-20 17:44:18 +05:30
Shivam Mishra 906171462f fix: return response correctly 2025-01-20 17:07:23 +05:30
Shivam Mishra 6a3d23c11a fix: use to_i 2025-01-20 17:06:17 +05:30
Shivam Mishra 732b0d0ec0 refactor: account sepc 2025-01-20 16:54:22 +05:30
Shivam Mishra dd9a746603 fix: assistant log 2025-01-20 16:41:22 +05:30
Shivam Mishra 3ef939d6a3 style: update fn name 2025-01-20 16:26:30 +05:30
Shivam Mishra 0445bec38a style: use clamp 2025-01-20 16:25:40 +05:30
Shivam Mishra 491d653cbe feat: setup limits on document creation 2025-01-20 16:17:39 +05:30
Shivam Mishra c0cc97c308 fix: access 2025-01-20 16:17:22 +05:30
Shivam Mishra 53ef8522f2 feat: don't allow more documents than permitted 2025-01-20 15:54:39 +05:30
Shivam Mishra ab955d34e5 feat: log increments 2025-01-20 15:48:17 +05:30
Shivam Mishra 493f9a75e7 fix: check 2025-01-20 15:30:58 +05:30
Shivam Mishra ec6c106a28 feat: remove bot check from response job 2025-01-20 15:30:12 +05:30
Shivam Mishra 901a93915d feat: handle limit check in hook execution service 2025-01-20 15:28:53 +05:30
Shivam Mishra 8e1581ab83 fix: default return value 2025-01-20 14:07:06 +05:30
Shivam Mishra f9a323d136 feat: reset captain usage on stripe webhook 2025-01-17 16:45:57 +05:30
Shivam Mishra 3bac319feb feat: hand off if captain limits are reached 2025-01-17 16:44:22 +05:30
Shivam Mishra 807383ff7d feat: ensure captain limits 2025-01-17 16:29:15 +05:30
Shivam Mishra bc7294e88e feat: add captain_active? fn 2025-01-17 16:28:58 +05:30
Shivam Mishra 9dff2ed76c feat: naive increment response creation 2025-01-17 16:20:59 +05:30
Shivam Mishra e8ba3ee37e feat: add sepcs for captain usage 2025-01-17 16:10:14 +05:30
Shivam Mishra 09ed4ae3c1 refactor: don't use magic strings 2025-01-17 15:35:59 +05:30
Shivam Mishra 05ed407c4a feat: handle documents and increment fn 2025-01-17 15:30:45 +05:30
Shivam Mishra ed551c485a feat: move captain limits to internal config 2025-01-17 15:00:50 +05:30
Shivam Mishra b12151a491 feat: setup captain limits for account 2025-01-17 13:29:57 +05:30
Shivam Mishra cb8dbbfbd8 feat: add CAPTAIN_CLOUD_PLAN_LIMITS config 2025-01-17 13:24:10 +05:30
0b4028b95d feat: Add support for the references in FAQs (#10699)
Currently, it’s unclear whether an FAQ item is generated from a
document, derived from a conversation, or added manually.

This PR resolves the issue by providing visibility into the source of
each FAQ. Users can now see whether an FAQ was generated or manually
added and, if applicable, by whom.

- Move the document_id to a polymorphic relation (documentable).
- Updated the APIs to accommodate the change.
- Update the service to add corresponding references. 
- Updated the specs.

<img width="1007" alt="Screenshot 2025-01-15 at 11 27 56 PM"
src="https://github.com/user-attachments/assets/7d58f798-19c0-4407-b3e2-748a919d14af"
/>

---------

Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
2025-01-16 15:27:30 +05:30
PranavandGitHub 6096932f76 feat: Add a review step for FAQs generated from conversations before using it (#10693)
This PR introduces a review step for generated FAQs, allowing a human to
validate and approve them before use in customer interactions. While
hallucinations are minimal, this step ensures accurate and reliable FAQs
for Captain to use during LLM calls when responding to customers.

- Added a status field for the FAQ
- Allow the filter on the UI.
<img width="1072" alt="Screenshot 2025-01-15 at 6 39 26 PM"
src="https://github.com/user-attachments/assets/81dfc038-31e9-40e6-8a09-586ebc4e8384"
/>
2025-01-16 09:54:34 +05:30
d070743383 feat(ee): Add Captain features (#10665)
Migration Guide: https://chwt.app/v4/migration

This PR imports all the work related to Captain into the EE codebase. Captain represents the AI-based features in Chatwoot and includes the following key components:

- Assistant: An assistant has a persona, the product it would be trained on. At the moment, the data at which it is trained is from websites. Future integrations on Notion documents, PDF etc. This PR enables connecting an assistant to an inbox. The assistant would run the conversation every time before transferring it to an agent.
- Copilot for Agents: When an agent is supporting a customer, we will be able to offer additional help to lookup some data or fetch information from integrations etc via copilot.
- Conversation FAQ generator: When a conversation is resolved, the Captain integration would identify questions which were not in the knowledge base.
- CRM memory: Learns from the conversations and identifies important information about the contact.

---------

Co-authored-by: Vishnu Narayanan <vishnu@chatwoot.com>
Co-authored-by: Sojan <sojan@pepalo.com>
Co-authored-by: iamsivin <iamsivin@gmail.com>
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
2025-01-14 16:15:47 -08:00
58e78621ba chore: Custom Roles to manage permissions [ UI ] (#9865)
In admin settings, this Pr will add the UI for managing custom roles (
ref: https://github.com/chatwoot/chatwoot/pull/9995 ). It also handles
the routing logic changes to accommodate fine-tuned permissions.

---------

Co-authored-by: Pranav <pranavrajs@gmail.com>
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
Co-authored-by: iamsivin <iamsivin@gmail.com>
Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
2024-09-17 11:40:11 -07:00
3489783cb8 feat: add domain blocklist feature (#10016)
Co-authored-by: Pranav <pranav@chatwoot.com>
2024-08-26 13:05:36 +05:30