@yourgpt/copilot-sdk 2.1.8 → 2.1.9-alpha.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 (33) hide show
  1. package/dist/{chunk-ISOMZAYN.js → chunk-RBULQ6EJ.js} +207 -62
  2. package/dist/chunk-RBULQ6EJ.js.map +1 -0
  3. package/dist/chunk-RPR5GMWF.js +52 -0
  4. package/dist/chunk-RPR5GMWF.js.map +1 -0
  5. package/dist/{chunk-IDAQU3FP.cjs → chunk-TD7NF6OE.cjs} +207 -62
  6. package/dist/chunk-TD7NF6OE.cjs.map +1 -0
  7. package/dist/{chunk-JFVTY757.cjs → chunk-WYFJZNFT.cjs} +16 -16
  8. package/dist/{chunk-JFVTY757.cjs.map → chunk-WYFJZNFT.cjs.map} +1 -1
  9. package/dist/{chunk-H3LX6FTP.js → chunk-XVKKLLKW.js} +3 -3
  10. package/dist/{chunk-H3LX6FTP.js.map → chunk-XVKKLLKW.js.map} +1 -1
  11. package/dist/chunk-YBLAHX2Z.cjs +55 -0
  12. package/dist/chunk-YBLAHX2Z.cjs.map +1 -0
  13. package/dist/experimental/index.cjs +416 -536
  14. package/dist/experimental/index.cjs.map +1 -1
  15. package/dist/experimental/index.d.cts +189 -853
  16. package/dist/experimental/index.d.ts +189 -853
  17. package/dist/experimental/index.js +415 -530
  18. package/dist/experimental/index.js.map +1 -1
  19. package/dist/react/index.cjs +62 -62
  20. package/dist/react/index.d.cts +18 -0
  21. package/dist/react/index.d.ts +18 -0
  22. package/dist/react/index.js +2 -2
  23. package/dist/ui/index.cjs +521 -263
  24. package/dist/ui/index.cjs.map +1 -1
  25. package/dist/ui/index.js +352 -94
  26. package/dist/ui/index.js.map +1 -1
  27. package/package.json +2 -1
  28. package/dist/chunk-5EGBIQYS.cjs +0 -292
  29. package/dist/chunk-5EGBIQYS.cjs.map +0 -1
  30. package/dist/chunk-IDAQU3FP.cjs.map +0 -1
  31. package/dist/chunk-ISOMZAYN.js.map +0 -1
  32. package/dist/chunk-TXQ37MAO.js +0 -287
  33. package/dist/chunk-TXQ37MAO.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yourgpt/copilot-sdk",
3
- "version": "2.1.8",
3
+ "version": "2.1.9-alpha.0",
4
4
  "description": "Copilot SDK for building Production-ready AI Copilots for any product. Connect any LLM, deploy on your infrastructure, own your data.",
5
5
  "type": "module",
6
6
  "types": "./dist/core/index.d.ts",
@@ -101,6 +101,7 @@
101
101
  "@radix-ui/react-slot": "^1.2.4",
102
102
  "@radix-ui/react-tooltip": "^1.2.8",
103
103
  "@streamdown/code": "^1.0.1",
104
+ "@streamdown/math": "^1.0.2",
104
105
  "class-variance-authority": "^0.7.1",
105
106
  "clsx": "^2.1.0",
106
107
  "html-to-image": "^1.11.13",
@@ -1,292 +0,0 @@
1
- 'use strict';
2
-
3
- var clsx = require('clsx');
4
- var tailwindMerge = require('tailwind-merge');
5
- var jsxRuntime = require('react/jsx-runtime');
6
-
7
- // src/ui/lib/utils.ts
8
- function cn(...inputs) {
9
- return tailwindMerge.twMerge(clsx.clsx(inputs));
10
- }
11
- function DotsLoader({
12
- className,
13
- size = "md"
14
- }) {
15
- const dotSizes = {
16
- sm: "h-1 w-1",
17
- md: "h-1.5 w-1.5",
18
- lg: "h-2 w-2"
19
- };
20
- const containerSizes = {
21
- sm: "h-4",
22
- md: "h-5",
23
- lg: "h-6"
24
- };
25
- return /* @__PURE__ */ jsxRuntime.jsxs(
26
- "div",
27
- {
28
- className: cn(
29
- "flex items-center translate-y-[-2px] space-x-1",
30
- containerSizes[size],
31
- className
32
- ),
33
- children: [
34
- [...Array(3)].map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(
35
- "div",
36
- {
37
- className: cn(
38
- "bg-primary csdk-loader-bounce-dots rounded-full",
39
- dotSizes[size]
40
- ),
41
- style: {
42
- animationDelay: `${i * 160}ms`
43
- }
44
- },
45
- i
46
- )),
47
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Loading" })
48
- ]
49
- }
50
- );
51
- }
52
- function TypingLoader({
53
- className,
54
- size = "md"
55
- }) {
56
- const dotSizes = {
57
- sm: "h-1 w-1",
58
- md: "h-1.5 w-1.5",
59
- lg: "h-2 w-2"
60
- };
61
- const containerSizes = {
62
- sm: "h-4",
63
- md: "h-5",
64
- lg: "h-6"
65
- };
66
- return /* @__PURE__ */ jsxRuntime.jsxs(
67
- "div",
68
- {
69
- className: cn(
70
- "flex items-center space-x-1",
71
- containerSizes[size],
72
- className
73
- ),
74
- children: [
75
- [...Array(3)].map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(
76
- "div",
77
- {
78
- className: cn(
79
- "bg-primary csdk-loader-typing rounded-full",
80
- dotSizes[size]
81
- ),
82
- style: {
83
- animationDelay: `${i * 250}ms`
84
- }
85
- },
86
- i
87
- )),
88
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Loading" })
89
- ]
90
- }
91
- );
92
- }
93
- function WaveLoader({
94
- className,
95
- size = "md"
96
- }) {
97
- const barWidths = {
98
- sm: "w-0.5",
99
- md: "w-0.5",
100
- lg: "w-1"
101
- };
102
- const containerSizes = {
103
- sm: "h-4",
104
- md: "h-5",
105
- lg: "h-6"
106
- };
107
- const heights = {
108
- sm: ["6px", "9px", "12px", "9px", "6px"],
109
- md: ["8px", "12px", "16px", "12px", "8px"],
110
- lg: ["10px", "15px", "20px", "15px", "10px"]
111
- };
112
- return /* @__PURE__ */ jsxRuntime.jsxs(
113
- "div",
114
- {
115
- className: cn(
116
- "flex items-center gap-0.5",
117
- containerSizes[size],
118
- className
119
- ),
120
- children: [
121
- [...Array(5)].map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(
122
- "div",
123
- {
124
- className: cn(
125
- "bg-primary csdk-loader-wave rounded-full",
126
- barWidths[size]
127
- ),
128
- style: {
129
- animationDelay: `${i * 100}ms`,
130
- height: heights[size][i]
131
- }
132
- },
133
- i
134
- )),
135
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Loading" })
136
- ]
137
- }
138
- );
139
- }
140
- function TerminalLoader({
141
- className,
142
- size = "md"
143
- }) {
144
- const cursorSizes = {
145
- sm: "h-3 w-1.5",
146
- md: "h-4 w-2",
147
- lg: "h-5 w-2.5"
148
- };
149
- const textSizes = {
150
- sm: "text-xs",
151
- md: "text-sm",
152
- lg: "text-base"
153
- };
154
- const containerSizes = {
155
- sm: "h-4",
156
- md: "h-5",
157
- lg: "h-6"
158
- };
159
- return /* @__PURE__ */ jsxRuntime.jsxs(
160
- "div",
161
- {
162
- className: cn(
163
- "flex items-center space-x-1",
164
- containerSizes[size],
165
- className
166
- ),
167
- children: [
168
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-primary font-mono", textSizes[size]), children: ">" }),
169
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("bg-primary csdk-loader-blink", cursorSizes[size]) }),
170
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Loading" })
171
- ]
172
- }
173
- );
174
- }
175
- function TextBlinkLoader({
176
- text = "Thinking",
177
- className,
178
- size = "md"
179
- }) {
180
- const textSizes = {
181
- sm: "text-xs",
182
- md: "text-sm",
183
- lg: "text-base"
184
- };
185
- return /* @__PURE__ */ jsxRuntime.jsx(
186
- "div",
187
- {
188
- className: cn(
189
- "csdk-loader-text-blink font-medium",
190
- textSizes[size],
191
- className
192
- ),
193
- children: text
194
- }
195
- );
196
- }
197
- function TextShimmerLoader({
198
- text = "Thinking",
199
- className,
200
- size = "md"
201
- }) {
202
- const textSizes = {
203
- sm: "text-xs",
204
- md: "text-sm",
205
- lg: "text-base"
206
- };
207
- return /* @__PURE__ */ jsxRuntime.jsx(
208
- "div",
209
- {
210
- className: cn(
211
- "bg-[linear-gradient(to_right,var(--muted-foreground)_40%,var(--foreground)_60%,var(--muted-foreground)_80%)]",
212
- "bg-[length:200%_auto] bg-clip-text font-medium text-transparent",
213
- "csdk-loader-shimmer",
214
- textSizes[size],
215
- className
216
- ),
217
- children: text
218
- }
219
- );
220
- }
221
- function TextDotsLoader({
222
- className,
223
- text = "Thinking",
224
- size = "md"
225
- }) {
226
- const textSizes = {
227
- sm: "text-xs",
228
- md: "text-sm",
229
- lg: "text-base"
230
- };
231
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("inline-flex items-center", className), children: [
232
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("text-primary font-medium", textSizes[size]), children: text }),
233
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex", children: [
234
- /* @__PURE__ */ jsxRuntime.jsx(
235
- "span",
236
- {
237
- className: "text-primary csdk-loader-loading-dots",
238
- style: { animationDelay: "0.2s" },
239
- children: "."
240
- }
241
- ),
242
- /* @__PURE__ */ jsxRuntime.jsx(
243
- "span",
244
- {
245
- className: "text-primary csdk-loader-loading-dots",
246
- style: { animationDelay: "0.4s" },
247
- children: "."
248
- }
249
- ),
250
- /* @__PURE__ */ jsxRuntime.jsx(
251
- "span",
252
- {
253
- className: "text-primary csdk-loader-loading-dots",
254
- style: { animationDelay: "0.6s" },
255
- children: "."
256
- }
257
- )
258
- ] })
259
- ] });
260
- }
261
- function Loader({
262
- variant = "typing",
263
- size = "md",
264
- text,
265
- className
266
- }) {
267
- switch (variant) {
268
- case "dots":
269
- return /* @__PURE__ */ jsxRuntime.jsx(DotsLoader, { size, className });
270
- case "typing":
271
- return /* @__PURE__ */ jsxRuntime.jsx(TypingLoader, { size, className });
272
- case "wave":
273
- return /* @__PURE__ */ jsxRuntime.jsx(WaveLoader, { size, className });
274
- case "terminal":
275
- return /* @__PURE__ */ jsxRuntime.jsx(TerminalLoader, { size, className });
276
- case "text-blink":
277
- return /* @__PURE__ */ jsxRuntime.jsx(TextBlinkLoader, { text, size, className });
278
- case "text-shimmer":
279
- return /* @__PURE__ */ jsxRuntime.jsx(TextShimmerLoader, { text, size, className });
280
- case "loading-dots":
281
- return /* @__PURE__ */ jsxRuntime.jsx(TextDotsLoader, { text, size, className });
282
- default:
283
- return /* @__PURE__ */ jsxRuntime.jsx(TypingLoader, { size, className });
284
- }
285
- }
286
-
287
- exports.DotsLoader = DotsLoader;
288
- exports.Loader = Loader;
289
- exports.TextShimmerLoader = TextShimmerLoader;
290
- exports.cn = cn;
291
- //# sourceMappingURL=chunk-5EGBIQYS.cjs.map
292
- //# sourceMappingURL=chunk-5EGBIQYS.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ui/lib/utils.ts","../src/ui/components/ui/loader.tsx"],"names":["twMerge","clsx","jsxs","jsx"],"mappings":"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","file":"chunk-5EGBIQYS.cjs","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { cn } from \"../../lib/utils\";\n\nexport interface LoaderProps {\n variant?:\n | \"dots\"\n | \"typing\"\n | \"wave\"\n | \"terminal\"\n | \"text-blink\"\n | \"text-shimmer\"\n | \"loading-dots\";\n size?: \"sm\" | \"md\" | \"lg\";\n text?: string;\n className?: string;\n}\n\nexport function DotsLoader({\n className,\n size = \"md\",\n}: {\n className?: string;\n size?: \"sm\" | \"md\" | \"lg\";\n}) {\n const dotSizes = {\n sm: \"h-1 w-1\",\n md: \"h-1.5 w-1.5\",\n lg: \"h-2 w-2\",\n };\n\n const containerSizes = {\n sm: \"h-4\",\n md: \"h-5\",\n lg: \"h-6\",\n };\n\n return (\n <div\n className={cn(\n \"flex items-center translate-y-[-2px] space-x-1\",\n containerSizes[size],\n className,\n )}\n >\n {[...Array(3)].map((_, i) => (\n <div\n key={i}\n className={cn(\n \"bg-primary csdk-loader-bounce-dots rounded-full\",\n dotSizes[size],\n )}\n style={{\n animationDelay: `${i * 160}ms`,\n }}\n />\n ))}\n <span className=\"sr-only\">Loading</span>\n </div>\n );\n}\n\nexport function TypingLoader({\n className,\n size = \"md\",\n}: {\n className?: string;\n size?: \"sm\" | \"md\" | \"lg\";\n}) {\n const dotSizes = {\n sm: \"h-1 w-1\",\n md: \"h-1.5 w-1.5\",\n lg: \"h-2 w-2\",\n };\n\n const containerSizes = {\n sm: \"h-4\",\n md: \"h-5\",\n lg: \"h-6\",\n };\n\n return (\n <div\n className={cn(\n \"flex items-center space-x-1\",\n containerSizes[size],\n className,\n )}\n >\n {[...Array(3)].map((_, i) => (\n <div\n key={i}\n className={cn(\n \"bg-primary csdk-loader-typing rounded-full\",\n dotSizes[size],\n )}\n style={{\n animationDelay: `${i * 250}ms`,\n }}\n />\n ))}\n <span className=\"sr-only\">Loading</span>\n </div>\n );\n}\n\nexport function WaveLoader({\n className,\n size = \"md\",\n}: {\n className?: string;\n size?: \"sm\" | \"md\" | \"lg\";\n}) {\n const barWidths = {\n sm: \"w-0.5\",\n md: \"w-0.5\",\n lg: \"w-1\",\n };\n\n const containerSizes = {\n sm: \"h-4\",\n md: \"h-5\",\n lg: \"h-6\",\n };\n\n const heights = {\n sm: [\"6px\", \"9px\", \"12px\", \"9px\", \"6px\"],\n md: [\"8px\", \"12px\", \"16px\", \"12px\", \"8px\"],\n lg: [\"10px\", \"15px\", \"20px\", \"15px\", \"10px\"],\n };\n\n return (\n <div\n className={cn(\n \"flex items-center gap-0.5\",\n containerSizes[size],\n className,\n )}\n >\n {[...Array(5)].map((_, i) => (\n <div\n key={i}\n className={cn(\n \"bg-primary csdk-loader-wave rounded-full\",\n barWidths[size],\n )}\n style={{\n animationDelay: `${i * 100}ms`,\n height: heights[size][i],\n }}\n />\n ))}\n <span className=\"sr-only\">Loading</span>\n </div>\n );\n}\n\nexport function TerminalLoader({\n className,\n size = \"md\",\n}: {\n className?: string;\n size?: \"sm\" | \"md\" | \"lg\";\n}) {\n const cursorSizes = {\n sm: \"h-3 w-1.5\",\n md: \"h-4 w-2\",\n lg: \"h-5 w-2.5\",\n };\n\n const textSizes = {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n };\n\n const containerSizes = {\n sm: \"h-4\",\n md: \"h-5\",\n lg: \"h-6\",\n };\n\n return (\n <div\n className={cn(\n \"flex items-center space-x-1\",\n containerSizes[size],\n className,\n )}\n >\n <span className={cn(\"text-primary font-mono\", textSizes[size])}>\n {\">\"}\n </span>\n <div className={cn(\"bg-primary csdk-loader-blink\", cursorSizes[size])} />\n <span className=\"sr-only\">Loading</span>\n </div>\n );\n}\n\nexport function TextBlinkLoader({\n text = \"Thinking\",\n className,\n size = \"md\",\n}: {\n text?: string;\n className?: string;\n size?: \"sm\" | \"md\" | \"lg\";\n}) {\n const textSizes = {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n };\n\n return (\n <div\n className={cn(\n \"csdk-loader-text-blink font-medium\",\n textSizes[size],\n className,\n )}\n >\n {text}\n </div>\n );\n}\n\nexport function TextShimmerLoader({\n text = \"Thinking\",\n className,\n size = \"md\",\n}: {\n text?: string;\n className?: string;\n size?: \"sm\" | \"md\" | \"lg\";\n}) {\n const textSizes = {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n };\n\n return (\n <div\n className={cn(\n \"bg-[linear-gradient(to_right,var(--muted-foreground)_40%,var(--foreground)_60%,var(--muted-foreground)_80%)]\",\n \"bg-[length:200%_auto] bg-clip-text font-medium text-transparent\",\n \"csdk-loader-shimmer\",\n textSizes[size],\n className,\n )}\n >\n {text}\n </div>\n );\n}\n\nexport function TextDotsLoader({\n className,\n text = \"Thinking\",\n size = \"md\",\n}: {\n className?: string;\n text?: string;\n size?: \"sm\" | \"md\" | \"lg\";\n}) {\n const textSizes = {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n };\n\n return (\n <div className={cn(\"inline-flex items-center\", className)}>\n <span className={cn(\"text-primary font-medium\", textSizes[size])}>\n {text}\n </span>\n <span className=\"inline-flex\">\n <span\n className=\"text-primary csdk-loader-loading-dots\"\n style={{ animationDelay: \"0.2s\" }}\n >\n .\n </span>\n <span\n className=\"text-primary csdk-loader-loading-dots\"\n style={{ animationDelay: \"0.4s\" }}\n >\n .\n </span>\n <span\n className=\"text-primary csdk-loader-loading-dots\"\n style={{ animationDelay: \"0.6s\" }}\n >\n .\n </span>\n </span>\n </div>\n );\n}\n\nfunction Loader({\n variant = \"typing\",\n size = \"md\",\n text,\n className,\n}: LoaderProps) {\n switch (variant) {\n case \"dots\":\n return <DotsLoader size={size} className={className} />;\n case \"typing\":\n return <TypingLoader size={size} className={className} />;\n case \"wave\":\n return <WaveLoader size={size} className={className} />;\n case \"terminal\":\n return <TerminalLoader size={size} className={className} />;\n case \"text-blink\":\n return <TextBlinkLoader text={text} size={size} className={className} />;\n case \"text-shimmer\":\n return (\n <TextShimmerLoader text={text} size={size} className={className} />\n );\n case \"loading-dots\":\n return <TextDotsLoader text={text} size={size} className={className} />;\n default:\n return <TypingLoader size={size} className={className} />;\n }\n}\n\nexport { Loader };\n"]}