@opentiny/tiny-robot 0.3.0-alpha.9 → 0.3.0-rc.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.
package/dist/index.js CHANGED
@@ -1,69 +1,213 @@
1
- import { Bubble as s, BubbleList as e } from "./bubble/index.js";
2
- import n from "./container/index.js";
3
- import i from "./conversations/index.js";
4
- import m from "./dropdown-menu/index.js";
5
- import a from "./feedback/index.js";
6
- import p from "./history/index.js";
7
- import l from "./icon-button/index.js";
8
- import { Prompt as T, Prompts as u } from "./prompts/index.js";
9
- import f from "./sender/index.js";
10
- import c, { SuggestionPillButton as g } from "./suggestion-pills/index.js";
11
- import b from "./suggestion-popover/index.js";
12
- import P from "./welcome/index.js";
13
- const d = [
14
- s,
15
- e,
16
- n,
17
- i,
18
- m,
19
- a,
20
- p,
21
- l,
22
- T,
23
- u,
24
- f,
25
- c,
26
- g,
1
+ import z from "./attachments/index.js";
2
+ import { Bubble as E, BubbleList as x, BubbleProvider as S } from "./bubble/index.js";
3
+ import { BubbleContentClassRenderer as pe, BubbleMarkdownContentRenderer as ce } from "./bubble/index.js";
4
+ import P from "./container/index.js";
5
+ import b from "./conversations/index.js";
6
+ import L from "./drag-overlay/index.js";
7
+ import C from "./dropdown-menu/index.js";
8
+ import B from "./feedback/index.js";
9
+ import y from "./history/index.js";
10
+ import O from "./icon-button/index.js";
11
+ import { Prompt as j, Prompts as H } from "./prompts/index.js";
12
+ import w from "./sender/index.js";
13
+ import A, { SuggestionPillButton as M } from "./suggestion-pills/index.js";
14
+ import R from "./suggestion-popover/index.js";
15
+ import k from "./welcome/index.js";
16
+ import W from "./mcp-server-picker/index.js";
17
+ var d = /* @__PURE__ */ ((e) => (e.FileTypeNotAllowed = "file-type-not-allowed", e.FileSizeExceeded = "file-size-exceeded", e.FileCountExceeded = "file-count-exceeded", e))(d || {});
18
+ function $(e, r) {
19
+ if (!r) return !0;
20
+ const o = r.split(",").map((t) => t.trim());
21
+ return o.includes("*") ? !0 : o.some((t) => {
22
+ if (t.startsWith("."))
23
+ return e.name.toLowerCase().endsWith(t.toLowerCase());
24
+ if (t.includes("/*")) {
25
+ const a = t.split("/")[0];
26
+ return e.type.startsWith(a + "/");
27
+ } else
28
+ return e.type === t;
29
+ });
30
+ }
31
+ function _(e, r) {
32
+ return e.size <= r;
33
+ }
34
+ function I(e, r) {
35
+ return e.length <= r;
36
+ }
37
+ function N(e, r) {
38
+ const { accept: o, multiple: t, maxSize: a, maxFiles: l } = r, n = [], s = [];
39
+ if (!I(e, l))
40
+ return {
41
+ acceptedFiles: n,
42
+ rejectedFiles: Array.from(e),
43
+ rejectionReason: {
44
+ code: d.FileCountExceeded,
45
+ message: `文件数量不能超过 ${l} 个`
46
+ }
47
+ };
48
+ if (e.forEach((i) => {
49
+ $(i, o) && _(i, a) ? n.push(i) : s.push(i);
50
+ }), !t && n.length > 1)
51
+ return {
52
+ acceptedFiles: [],
53
+ rejectedFiles: n,
54
+ rejectionReason: {
55
+ code: d.FileCountExceeded,
56
+ message: "只允许上传一个文件"
57
+ }
58
+ };
59
+ if (s.length > 0) {
60
+ const i = s.some((u) => !_(u, a)), p = i ? d.FileSizeExceeded : d.FileTypeNotAllowed, c = i ? `文件大小不能超过 ${a / 1024 / 1024}MB` : `文件类型不匹配 (accept: ${o})`;
61
+ return {
62
+ acceptedFiles: n,
63
+ rejectedFiles: s,
64
+ rejectionReason: { code: p, message: c }
65
+ };
66
+ }
67
+ return { acceptedFiles: n, rejectedFiles: s, rejectionReason: null };
68
+ }
69
+ function g(e) {
70
+ return {
71
+ accept: e.accept || "*",
72
+ multiple: e.multiple ?? !0,
73
+ maxSize: e.maxSize || 1024 * 1024 * 10,
74
+ maxFiles: e.maxFiles || 3,
75
+ onDrop: e.onDrop,
76
+ onError: e.onError,
77
+ disabled: e.disabled || !1
78
+ };
79
+ }
80
+ const se = {
81
+ /**
82
+ * 挂载指令
83
+ * @param el 元素
84
+ * @param binding 绑定
85
+ */
86
+ mounted(e, r) {
87
+ let o = 0;
88
+ const { disabled: t, onDraggingChange: a } = r.value;
89
+ e.__vDropzoneOptions__ = g(r.value);
90
+ const l = {
91
+ /**
92
+ * 拖拽进入
93
+ */
94
+ handleDragEnter: () => {
95
+ t || (o++, o === 1 && a(!0, e));
96
+ },
97
+ /**
98
+ * 拖拽覆盖
99
+ * @param e 事件
100
+ */
101
+ handleDragOver: (n) => {
102
+ t || n.preventDefault();
103
+ },
104
+ /**
105
+ * 拖拽离开
106
+ */
107
+ handleDragLeave: () => {
108
+ t || (o--, o === 0 && a(!1, null));
109
+ },
110
+ /**
111
+ * 拖拽放下
112
+ * @param e 事件
113
+ */
114
+ handleDrop: (n) => {
115
+ var m;
116
+ if (t) return;
117
+ n.preventDefault(), o = 0, a(!1, null);
118
+ const s = (m = n.dataTransfer) == null ? void 0 : m.files, { onDrop: i, onError: p, accept: c, multiple: u, maxSize: D, maxFiles: h } = e.__vDropzoneOptions__;
119
+ if (s && s.length > 0) {
120
+ const F = Array.from(s), { acceptedFiles: v, rejectedFiles: T, rejectionReason: f } = N(F, {
121
+ accept: c,
122
+ multiple: u,
123
+ maxSize: D,
124
+ maxFiles: h
125
+ });
126
+ f && p({ files: T, ...f }), v.length > 0 && i(v);
127
+ }
128
+ }
129
+ };
130
+ e.__vDropzoneHandlers__ = l, e.addEventListener("dragenter", l.handleDragEnter), e.addEventListener("dragover", l.handleDragOver), e.addEventListener("dragleave", l.handleDragLeave), e.addEventListener("drop", l.handleDrop);
131
+ },
132
+ updated(e, r) {
133
+ e.__vDropzoneOptions__ && (e.__vDropzoneOptions__ = g(r.value));
134
+ },
135
+ /**
136
+ * 卸载指令
137
+ * @param el 元素
138
+ */
139
+ unmounted(e) {
140
+ e.__vDropzoneHandlers__ && (e.removeEventListener("dragenter", e.__vDropzoneHandlers__.handleDragEnter), e.removeEventListener("dragover", e.__vDropzoneHandlers__.handleDragOver), e.removeEventListener("dragleave", e.__vDropzoneHandlers__.handleDragLeave), e.removeEventListener("drop", e.__vDropzoneHandlers__.handleDrop), delete e.__vDropzoneHandlers__), delete e.__vDropzoneOptions__;
141
+ }
142
+ }, q = [
143
+ z,
144
+ E,
145
+ x,
146
+ S,
147
+ P,
27
148
  b,
28
- P
29
- ], L = {
30
- install(r) {
31
- d.forEach((o) => {
32
- const t = o.name.replace(/^Tiny/, "").replace(/^Tr/, "");
33
- r.component(`Tr${t}`, o);
149
+ L,
150
+ C,
151
+ B,
152
+ y,
153
+ O,
154
+ j,
155
+ H,
156
+ w,
157
+ A,
158
+ M,
159
+ R,
160
+ k,
161
+ W
162
+ ], ie = {
163
+ install(e) {
164
+ q.forEach((r) => {
165
+ const o = r.name.replace(/^Tiny/, "").replace(/^Tr/, "");
166
+ e.component(`Tr${o}`, r);
34
167
  });
35
168
  }
36
169
  };
37
170
  export {
38
- s as Bubble,
39
- e as BubbleList,
40
- n as Container,
41
- i as Conversations,
42
- m as DropdownMenu,
43
- a as Feedback,
44
- p as History,
45
- l as IconButton,
46
- T as Prompt,
47
- u as Prompts,
48
- f as Sender,
49
- g as SuggestionPillButton,
50
- c as SuggestionPills,
51
- b as SuggestionPopover,
52
- s as TrBubble,
53
- e as TrBubbleList,
54
- n as TrContainer,
55
- i as TrConversations,
56
- m as TrDropdownMenu,
57
- a as TrFeedback,
58
- p as TrHistory,
59
- l as TrIconButton,
60
- T as TrPrompt,
61
- u as TrPrompts,
62
- f as TrSender,
63
- g as TrSuggestionPillButton,
64
- c as TrSuggestionPills,
65
- b as TrSuggestionPopover,
66
- P as TrWelcome,
67
- P as Welcome,
68
- L as default
171
+ z as Attachments,
172
+ E as Bubble,
173
+ pe as BubbleContentClassRenderer,
174
+ x as BubbleList,
175
+ ce as BubbleMarkdownContentRenderer,
176
+ S as BubbleProvider,
177
+ P as Container,
178
+ b as Conversations,
179
+ L as DragOverlay,
180
+ C as DropdownMenu,
181
+ B as Feedback,
182
+ y as History,
183
+ O as IconButton,
184
+ W as McpServerPicker,
185
+ j as Prompt,
186
+ H as Prompts,
187
+ w as Sender,
188
+ M as SuggestionPillButton,
189
+ A as SuggestionPills,
190
+ R as SuggestionPopover,
191
+ z as TrAttachments,
192
+ E as TrBubble,
193
+ x as TrBubbleList,
194
+ S as TrBubbleProvider,
195
+ P as TrContainer,
196
+ b as TrConversations,
197
+ L as TrDragOverlay,
198
+ C as TrDropdownMenu,
199
+ B as TrFeedback,
200
+ y as TrHistory,
201
+ O as TrIconButton,
202
+ W as TrMcpServerPicker,
203
+ j as TrPrompt,
204
+ H as TrPrompts,
205
+ w as TrSender,
206
+ M as TrSuggestionPillButton,
207
+ A as TrSuggestionPills,
208
+ R as TrSuggestionPopover,
209
+ k as TrWelcome,
210
+ k as Welcome,
211
+ ie as default,
212
+ se as vDropzone
69
213
  };