dewee-webchat 0.0.0-stage → 0.1.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.
package/dist/vue.d.ts ADDED
@@ -0,0 +1,254 @@
1
+ import * as vue from 'vue';
2
+ import { PropType } from 'vue';
3
+ export { DeweeChatConfig, DeweeChatElement } from './index.js';
4
+ import './protocol-CS8_4zC0.js';
5
+
6
+ declare const DeweeChat: vue.DefineComponent<vue.ExtractPropTypes<{
7
+ endpoint: {
8
+ type: PropType<any>;
9
+ default: undefined;
10
+ };
11
+ agent: {
12
+ type: PropType<any>;
13
+ default: undefined;
14
+ };
15
+ title: {
16
+ type: PropType<any>;
17
+ default: undefined;
18
+ };
19
+ subtitle: {
20
+ type: PropType<any>;
21
+ default: undefined;
22
+ };
23
+ greeting: {
24
+ type: PropType<any>;
25
+ default: undefined;
26
+ };
27
+ intro: {
28
+ type: PropType<any>;
29
+ default: undefined;
30
+ };
31
+ placeholder: {
32
+ type: PropType<any>;
33
+ default: undefined;
34
+ };
35
+ suggestions: {
36
+ type: PropType<any>;
37
+ default: undefined;
38
+ };
39
+ avatar: {
40
+ type: PropType<any>;
41
+ default: undefined;
42
+ };
43
+ launcherAvatar: {
44
+ type: PropType<any>;
45
+ default: undefined;
46
+ };
47
+ position: {
48
+ type: PropType<any>;
49
+ default: undefined;
50
+ };
51
+ mode: {
52
+ type: PropType<any>;
53
+ default: undefined;
54
+ };
55
+ theme: {
56
+ type: PropType<any>;
57
+ default: undefined;
58
+ };
59
+ accentColor: {
60
+ type: PropType<any>;
61
+ default: undefined;
62
+ };
63
+ locale: {
64
+ type: PropType<any>;
65
+ default: undefined;
66
+ };
67
+ showReasoning: {
68
+ type: PropType<any>;
69
+ default: undefined;
70
+ };
71
+ showToolCalls: {
72
+ type: PropType<any>;
73
+ default: undefined;
74
+ };
75
+ allowAgentSwitch: {
76
+ type: PropType<any>;
77
+ default: undefined;
78
+ };
79
+ open: {
80
+ type: PropType<any>;
81
+ default: undefined;
82
+ };
83
+ persist: {
84
+ type: PropType<any>;
85
+ default: undefined;
86
+ };
87
+ hideBranding: {
88
+ type: PropType<any>;
89
+ default: undefined;
90
+ };
91
+ gatewayUrl: {
92
+ type: PropType<any>;
93
+ default: undefined;
94
+ };
95
+ gatewayToken: {
96
+ type: PropType<any>;
97
+ default: undefined;
98
+ };
99
+ width: {
100
+ type: PropType<any>;
101
+ default: undefined;
102
+ };
103
+ height: {
104
+ type: PropType<any>;
105
+ default: undefined;
106
+ };
107
+ zIndex: {
108
+ type: PropType<any>;
109
+ default: undefined;
110
+ };
111
+ }>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
112
+ [key: string]: any;
113
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, ("open" | "ready" | "send" | "reply" | "error" | "close")[], "open" | "ready" | "send" | "reply" | "error" | "close", vue.PublicProps, Readonly<vue.ExtractPropTypes<{
114
+ endpoint: {
115
+ type: PropType<any>;
116
+ default: undefined;
117
+ };
118
+ agent: {
119
+ type: PropType<any>;
120
+ default: undefined;
121
+ };
122
+ title: {
123
+ type: PropType<any>;
124
+ default: undefined;
125
+ };
126
+ subtitle: {
127
+ type: PropType<any>;
128
+ default: undefined;
129
+ };
130
+ greeting: {
131
+ type: PropType<any>;
132
+ default: undefined;
133
+ };
134
+ intro: {
135
+ type: PropType<any>;
136
+ default: undefined;
137
+ };
138
+ placeholder: {
139
+ type: PropType<any>;
140
+ default: undefined;
141
+ };
142
+ suggestions: {
143
+ type: PropType<any>;
144
+ default: undefined;
145
+ };
146
+ avatar: {
147
+ type: PropType<any>;
148
+ default: undefined;
149
+ };
150
+ launcherAvatar: {
151
+ type: PropType<any>;
152
+ default: undefined;
153
+ };
154
+ position: {
155
+ type: PropType<any>;
156
+ default: undefined;
157
+ };
158
+ mode: {
159
+ type: PropType<any>;
160
+ default: undefined;
161
+ };
162
+ theme: {
163
+ type: PropType<any>;
164
+ default: undefined;
165
+ };
166
+ accentColor: {
167
+ type: PropType<any>;
168
+ default: undefined;
169
+ };
170
+ locale: {
171
+ type: PropType<any>;
172
+ default: undefined;
173
+ };
174
+ showReasoning: {
175
+ type: PropType<any>;
176
+ default: undefined;
177
+ };
178
+ showToolCalls: {
179
+ type: PropType<any>;
180
+ default: undefined;
181
+ };
182
+ allowAgentSwitch: {
183
+ type: PropType<any>;
184
+ default: undefined;
185
+ };
186
+ open: {
187
+ type: PropType<any>;
188
+ default: undefined;
189
+ };
190
+ persist: {
191
+ type: PropType<any>;
192
+ default: undefined;
193
+ };
194
+ hideBranding: {
195
+ type: PropType<any>;
196
+ default: undefined;
197
+ };
198
+ gatewayUrl: {
199
+ type: PropType<any>;
200
+ default: undefined;
201
+ };
202
+ gatewayToken: {
203
+ type: PropType<any>;
204
+ default: undefined;
205
+ };
206
+ width: {
207
+ type: PropType<any>;
208
+ default: undefined;
209
+ };
210
+ height: {
211
+ type: PropType<any>;
212
+ default: undefined;
213
+ };
214
+ zIndex: {
215
+ type: PropType<any>;
216
+ default: undefined;
217
+ };
218
+ }>> & Readonly<{
219
+ onOpen?: ((...args: any[]) => any) | undefined;
220
+ onReady?: ((...args: any[]) => any) | undefined;
221
+ onSend?: ((...args: any[]) => any) | undefined;
222
+ onReply?: ((...args: any[]) => any) | undefined;
223
+ onError?: ((...args: any[]) => any) | undefined;
224
+ onClose?: ((...args: any[]) => any) | undefined;
225
+ }>, {
226
+ endpoint: any;
227
+ agent: any;
228
+ title: any;
229
+ subtitle: any;
230
+ greeting: any;
231
+ intro: any;
232
+ placeholder: any;
233
+ suggestions: any;
234
+ avatar: any;
235
+ launcherAvatar: any;
236
+ position: any;
237
+ mode: any;
238
+ theme: any;
239
+ accentColor: any;
240
+ locale: any;
241
+ showReasoning: any;
242
+ showToolCalls: any;
243
+ allowAgentSwitch: any;
244
+ open: any;
245
+ persist: any;
246
+ hideBranding: any;
247
+ gatewayUrl: any;
248
+ gatewayToken: any;
249
+ width: any;
250
+ height: any;
251
+ zIndex: any;
252
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
253
+
254
+ export { DeweeChat, DeweeChat as default };
package/dist/vue.js ADDED
@@ -0,0 +1,66 @@
1
+ import {
2
+ defineDeweeChat
3
+ } from "./chunk-D4JM2FOB.js";
4
+ import "./chunk-WD6V3TAX.js";
5
+
6
+ // src/vue.ts
7
+ import { defineComponent, h, onMounted, ref, watch } from "vue";
8
+ var keys = [
9
+ "endpoint",
10
+ "agent",
11
+ "title",
12
+ "subtitle",
13
+ "greeting",
14
+ "intro",
15
+ "placeholder",
16
+ "suggestions",
17
+ "avatar",
18
+ "launcherAvatar",
19
+ "position",
20
+ "mode",
21
+ "theme",
22
+ "accentColor",
23
+ "locale",
24
+ "showReasoning",
25
+ "showToolCalls",
26
+ "allowAgentSwitch",
27
+ "open",
28
+ "persist",
29
+ "hideBranding",
30
+ "gatewayUrl",
31
+ "gatewayToken",
32
+ "width",
33
+ "height",
34
+ "zIndex"
35
+ ];
36
+ var props = Object.fromEntries(keys.map((k) => [k, { type: null, default: void 0 }]));
37
+ var EVENTS = ["ready", "send", "reply", "error", "open", "close"];
38
+ var DeweeChat = defineComponent({
39
+ name: "DeweeChat",
40
+ props,
41
+ emits: [...EVENTS],
42
+ setup(p, { emit, expose }) {
43
+ const el = ref(null);
44
+ const config = () => Object.fromEntries(Object.entries(p).filter(([, v]) => v !== void 0));
45
+ onMounted(() => {
46
+ defineDeweeChat();
47
+ const node = el.value;
48
+ for (const name of EVENTS) node.addEventListener(`dewee:${name}`, (e) => emit(name, e.detail));
49
+ node.configure(config());
50
+ });
51
+ watch(() => ({ ...p }), () => el.value?.configure(config()), { deep: true });
52
+ expose({
53
+ element: el,
54
+ open: () => el.value?.open(),
55
+ close: () => el.value?.close(),
56
+ send: (text) => el.value?.send(text),
57
+ newConversation: () => el.value?.newConversation()
58
+ });
59
+ return () => h("dewee-chat", { ref: el, endpoint: p.endpoint, mode: p.mode });
60
+ }
61
+ });
62
+ var vue_default = DeweeChat;
63
+ export {
64
+ DeweeChat,
65
+ vue_default as default
66
+ };
package/package.json CHANGED
@@ -1,6 +1,99 @@
1
1
  {
2
2
  "name": "dewee-webchat",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.1.1",
4
+ "description": "Embeddable chat widget for Dewee AI agents — web component, React/Vue/Astro wrappers and a secure backend handler (Workers, Next.js, Node, Bun, Deno).",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "author": "NextLevelBuilder <hi@nextlevelbuilder.io>",
8
+ "homepage": "https://webchat.dewee.sh",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/nextlevelbuilder/dewee-webchat.git",
12
+ "directory": "packages/dewee-webchat"
13
+ },
14
+ "bugs": "https://github.com/nextlevelbuilder/dewee-webchat/issues",
15
+ "keywords": [
16
+ "dewee",
17
+ "goclaw",
18
+ "ai",
19
+ "agent",
20
+ "chatbot",
21
+ "chat-widget",
22
+ "web-component",
23
+ "react",
24
+ "vue",
25
+ "astro",
26
+ "nextjs",
27
+ "cloudflare-workers"
28
+ ],
29
+ "sideEffects": [
30
+ "./dist/index.js",
31
+ "./dist/dewee-webchat.js",
32
+ "./dist/chunk-*.js"
33
+ ],
34
+ "main": "./dist/index.js",
35
+ "module": "./dist/index.js",
36
+ "types": "./dist/index.d.ts",
37
+ "unpkg": "./dist/dewee-webchat.js",
38
+ "jsdelivr": "./dist/dewee-webchat.js",
39
+ "exports": {
40
+ ".": {
41
+ "types": "./dist/index.d.ts",
42
+ "import": "./dist/index.js"
43
+ },
44
+ "./server": {
45
+ "types": "./dist/server.d.ts",
46
+ "import": "./dist/server.js"
47
+ },
48
+ "./react": {
49
+ "types": "./dist/react.d.ts",
50
+ "import": "./dist/react.js"
51
+ },
52
+ "./vue": {
53
+ "types": "./dist/vue.d.ts",
54
+ "import": "./dist/vue.js"
55
+ },
56
+ "./astro": "./astro/DeweeChat.astro",
57
+ "./cdn": "./dist/dewee-webchat.js",
58
+ "./package.json": "./package.json"
59
+ },
60
+ "files": [
61
+ "dist",
62
+ "astro",
63
+ "README.md",
64
+ "LICENSE"
65
+ ],
66
+ "scripts": {
67
+ "build": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsup",
68
+ "dev": "tsup --watch",
69
+ "test": "vitest run",
70
+ "typecheck": "tsc --noEmit"
71
+ },
72
+ "peerDependencies": {
73
+ "react": ">=18",
74
+ "vue": ">=3.3"
75
+ },
76
+ "peerDependenciesMeta": {
77
+ "react": {
78
+ "optional": true
79
+ },
80
+ "vue": {
81
+ "optional": true
82
+ }
83
+ },
84
+ "devDependencies": {
85
+ "@types/node": "^22.15.0",
86
+ "@types/react": "^19.1.0",
87
+ "@types/ws": "^8.18.2",
88
+ "happy-dom": "^18.0.1",
89
+ "react": "^19.1.0",
90
+ "tsup": "^8.5.0",
91
+ "typescript": "^5.9.2",
92
+ "vitest": "^3.2.4",
93
+ "vue": "^3.5.18",
94
+ "ws": "^8.22.0"
95
+ },
96
+ "engines": {
97
+ "node": ">=20"
98
+ }
99
+ }