@aleph-alpha/chat-kit 0.0.1-alpha.28 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/{ChatInput.vue_vue_type_script_setup_true_lang-DVCUwptr.js → ChatInput.vue_vue_type_script_setup_true_lang-DaXHxshB.js} +159 -34
  2. package/dist/components/base/ChatConversationLayout/ChatConversationLayout.vue.d.ts +1 -0
  3. package/dist/components/base/ChatConversationLayout/ChatConversationLayout.vue.d.ts.map +1 -1
  4. package/dist/components/base/MarkdownRenderer/MarkdownRenderer.stories.d.ts +13 -0
  5. package/dist/components/base/MarkdownRenderer/MarkdownRenderer.stories.d.ts.map +1 -0
  6. package/dist/components/base/MarkdownRenderer/MarkdownRenderer.vue.d.ts +38 -0
  7. package/dist/components/base/MarkdownRenderer/MarkdownRenderer.vue.d.ts.map +1 -0
  8. package/dist/components/base/MarkdownRenderer/index.d.ts +3 -0
  9. package/dist/components/base/MarkdownRenderer/index.d.ts.map +1 -0
  10. package/dist/components/base/MarkdownRenderer/types.d.ts +36 -0
  11. package/dist/components/base/MarkdownRenderer/types.d.ts.map +1 -0
  12. package/dist/components/base/PromptActionButton/PromptActionButton.vue.d.ts +1 -1
  13. package/dist/components/base/PromptActionButton/PromptActionButton.vue.d.ts.map +1 -1
  14. package/dist/components/base/UserMessage/UserMessage.vue.d.ts.map +1 -1
  15. package/dist/components/base/index.d.ts +2 -0
  16. package/dist/components/base/index.d.ts.map +1 -1
  17. package/dist/components/composed/ChatConversation/ChatConversation.stories.d.ts +2 -0
  18. package/dist/components/composed/ChatConversation/ChatConversation.stories.d.ts.map +1 -1
  19. package/dist/components/composed/ChatConversation/ChatConversation.vue.d.ts +10 -0
  20. package/dist/components/composed/ChatConversation/ChatConversation.vue.d.ts.map +1 -1
  21. package/dist/components/composed/ChatConversation/defaultAgentMarkdownClasses.d.ts +3 -0
  22. package/dist/components/composed/ChatConversation/defaultAgentMarkdownClasses.d.ts.map +1 -0
  23. package/dist/components/composed/ChatConversation/types.d.ts +5 -0
  24. package/dist/components/composed/ChatConversation/types.d.ts.map +1 -1
  25. package/dist/components/index.d.ts +2 -2
  26. package/dist/components/index.d.ts.map +1 -1
  27. package/dist/components/index.js +6 -5
  28. package/dist/composables/index.d.ts +1 -0
  29. package/dist/composables/index.d.ts.map +1 -1
  30. package/dist/composables/index.js +3 -2
  31. package/dist/composables/useChatKitLabels.d.ts +20 -8
  32. package/dist/composables/useChatKitLabels.d.ts.map +1 -1
  33. package/dist/composables/useMarkdownParser.d.ts +6 -0
  34. package/dist/composables/useMarkdownParser.d.ts.map +1 -0
  35. package/dist/handlers/index.js +1 -1
  36. package/dist/handlers/useMessageHandler.d.ts +1 -0
  37. package/dist/handlers/useMessageHandler.d.ts.map +1 -1
  38. package/dist/index.d.ts +3 -3
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +10 -8
  41. package/dist/test-utils/createTextPlugin.d.ts +2 -0
  42. package/dist/test-utils/createTextPlugin.d.ts.map +1 -0
  43. package/dist/useChatKitLabels-xZXcnxZZ.js +13740 -0
  44. package/dist/{useMessageHandler-BdcOcw0w.js → useMessageHandler-Db-ywEa6.js} +15 -6
  45. package/package.json +22 -12
  46. package/dist/useChatKitLabels-Bi0szl2l.js +0 -18
@@ -30,14 +30,18 @@ const useMessageHandler = () => {
30
30
  return msg;
31
31
  }
32
32
  function updateMessage(message) {
33
- const messageToUpdate = messages.value.find((m) => m.id === message.id);
34
- if (messageToUpdate) {
35
- messageToUpdate.content = message.content;
36
- messageToUpdate.role = message.role;
37
- messageToUpdate.status = message.status;
38
- } else {
33
+ const messageIndexToUpdate = messages.value.findIndex((m) => m.id === message.id);
34
+ const messageToUpdate = messages.value[messageIndexToUpdate];
35
+ if (!messageToUpdate) {
39
36
  messages.value.push(createMessage(message));
37
+ return;
40
38
  }
39
+ if (messageIndexToUpdate !== messages.value.length - 1) {
40
+ messages.value = messages.value.slice(0, messageIndexToUpdate + 1);
41
+ }
42
+ messageToUpdate.content = message.content;
43
+ messageToUpdate.role = message.role;
44
+ messageToUpdate.status = message.status;
41
45
  }
42
46
  function getMessageById(id) {
43
47
  return messages.value.find((m) => m.id === id);
@@ -51,6 +55,10 @@ const useMessageHandler = () => {
51
55
  function getLastUserMessage() {
52
56
  return [...messages.value].reverse().find((m) => m.role === "user");
53
57
  }
58
+ function updateMessageId(oldId, newId) {
59
+ const msg = messages.value.find((m) => m.id === oldId);
60
+ if (msg) msg.id = newId;
61
+ }
54
62
  function clearMessages() {
55
63
  messages.value = [];
56
64
  }
@@ -65,6 +73,7 @@ const useMessageHandler = () => {
65
73
  setMessages,
66
74
  removeMessage,
67
75
  getLastUserMessage,
76
+ updateMessageId,
68
77
  clearMessages
69
78
  };
70
79
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aleph-alpha/chat-kit",
3
- "version": "0.0.1-alpha.28",
3
+ "version": "0.2.0",
4
4
  "description": "Chat kit package for building chat interfaces with Vue",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -54,31 +54,41 @@
54
54
  "peerDependencies": {
55
55
  "@aleph-alpha/ui-library": "*",
56
56
  "pinia": "^3.0.0",
57
- "vue": "^3.5.25"
57
+ "vue": "^3.5.27"
58
58
  },
59
59
  "dependencies": {
60
- "@aleph-alpha/ui-library": "1.15.0"
60
+ "dompurify": "^3.3.2",
61
+ "rehype-stringify": "^10.0.1",
62
+ "remark-gfm": "^4.0.1",
63
+ "remark-parse": "^11.0.0",
64
+ "remark-rehype": "^11.1.2",
65
+ "unified": "^11.0.5",
66
+ "@aleph-alpha/ui-library": "1.18.0"
61
67
  },
62
68
  "devDependencies": {
63
- "@storybook/addon-a11y": "^10.1.7",
64
- "@storybook/addon-docs": "^10.1.7",
65
- "@storybook/vue3-vite": "^10.1.7",
69
+ "@storybook/addon-a11y": "10.2.17",
70
+ "@storybook/addon-docs": "10.2.17",
71
+ "@storybook/vue3-vite": "10.2.17",
66
72
  "@testing-library/jest-dom": "6.9.1",
67
73
  "@testing-library/vue": "8.1.0",
74
+ "@types/dompurify": "^3.2.0",
68
75
  "@types/node": "^25.1.0",
69
- "@unocss/reset": "66.6.0",
76
+ "@unocss/preset-wind4": "^66.6.2",
77
+ "@unocss/reset": "^66.6.2",
70
78
  "@vitejs/plugin-vue": "^6.0.3",
71
79
  "@vue/test-utils": "^2.4.6",
72
80
  "jsdom": "^25.0.1",
73
- "storybook": "^10.2.10",
81
+ "storybook": "^10.2.17",
74
82
  "pinia": "^3.0.3",
75
83
  "typescript": "^5.9.3",
76
- "unocss": "66.6.0",
84
+ "unocss": "^66.6.2",
85
+ "unocss-preset-animations": "^1.3.0",
86
+ "unocss-preset-shadcn": "^1.0.1",
77
87
  "vite": "7.3.1",
78
- "vitest": "^4.0.18",
79
- "vue": "^3.5.25",
88
+ "vitest": "4.0.15",
89
+ "vue": "^3.5.27",
80
90
  "vue-tsc": "^3.2.4",
81
- "@aleph-alpha/config-css": "0.20.0"
91
+ "@aleph-alpha/config-css": "0.21.2"
82
92
  },
83
93
  "scripts": {
84
94
  "build": "vite build && vue-tsc --project tsconfig.build.json --declaration --emitDeclarationOnly --outDir dist",
@@ -1,18 +0,0 @@
1
- import { provide, inject } from "vue";
2
- const defaultChatKitLabels = {
3
- agentAvatarAlt: "Agent avatar",
4
- inputPlaceholder: "Type a message..."
5
- };
6
- const CHAT_KIT_LABELS = /* @__PURE__ */ Symbol("chat-kit-labels");
7
- function provideChatKitLabels(labels) {
8
- provide(CHAT_KIT_LABELS, { ...defaultChatKitLabels, ...labels });
9
- }
10
- function useChatKitLabels() {
11
- return inject(CHAT_KIT_LABELS, defaultChatKitLabels);
12
- }
13
- export {
14
- CHAT_KIT_LABELS as C,
15
- defaultChatKitLabels as d,
16
- provideChatKitLabels as p,
17
- useChatKitLabels as u
18
- };