@gui-chat-plugin/browse 0.1.0 → 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.
- package/dist/core.cjs +1 -1
- package/dist/core.js +2 -92
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -10
- package/dist/samples-CJIkkdZy.cjs +1 -0
- package/dist/samples-DnNbKTOt.js +74 -0
- package/dist/style.css +3 -1
- package/dist/vue.cjs +4 -4
- package/dist/vue.js +67 -115
- package/package.json +17 -11
package/dist/core.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./samples-CJIkkdZy.cjs`);exports.TOOL_DEFINITION=e.o,exports.TOOL_NAME=e.s,exports.browse=e.n,exports.executeBrowse=e.r,exports.isTwitterUrl=e.i,exports.pluginCore=e.a,exports.samples=e.t;
|
package/dist/core.js
CHANGED
|
@@ -1,92 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
name: c,
|
|
4
|
-
description: "Browse and extract content from a web page using the provided URL.",
|
|
5
|
-
parameters: {
|
|
6
|
-
type: "object",
|
|
7
|
-
properties: {
|
|
8
|
-
url: {
|
|
9
|
-
type: "string",
|
|
10
|
-
description: "The URL of the webpage to browse and extract content from"
|
|
11
|
-
}
|
|
12
|
-
},
|
|
13
|
-
required: ["url"]
|
|
14
|
-
}
|
|
15
|
-
}, r = {};
|
|
16
|
-
function n(e) {
|
|
17
|
-
try {
|
|
18
|
-
const a = new URL(e);
|
|
19
|
-
return a.hostname === "twitter.com" || a.hostname === "www.twitter.com" || a.hostname === "x.com" || a.hostname === "www.x.com";
|
|
20
|
-
} catch {
|
|
21
|
-
return !1;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
async function l(e, a) {
|
|
25
|
-
if (!n(e) || e in r)
|
|
26
|
-
return;
|
|
27
|
-
const t = await a.app?.getTwitterEmbed?.(e);
|
|
28
|
-
t && (r[e] = t);
|
|
29
|
-
}
|
|
30
|
-
const i = async (e, a) => {
|
|
31
|
-
const { url: t } = a;
|
|
32
|
-
if (n(t) && await l(t, e), !e.app?.browseUrl)
|
|
33
|
-
return {
|
|
34
|
-
message: "browseUrl function not available",
|
|
35
|
-
instructions: "Acknowledge that the webpage browsing failed."
|
|
36
|
-
};
|
|
37
|
-
try {
|
|
38
|
-
const s = await e.app.browseUrl(t);
|
|
39
|
-
if (s.success && s.data) {
|
|
40
|
-
const o = {
|
|
41
|
-
url: t,
|
|
42
|
-
twitterEmbedHtml: n(t) ? r[t] || null : void 0
|
|
43
|
-
};
|
|
44
|
-
return {
|
|
45
|
-
message: "Successfully browsed the webpage",
|
|
46
|
-
title: s.data.title || "Untitled",
|
|
47
|
-
jsonData: { data: s.data },
|
|
48
|
-
instructions: "Acknowledge that the webpage was successfully browsed and give a ONE-SENTENCE summary of the content if it is available.",
|
|
49
|
-
data: o
|
|
50
|
-
};
|
|
51
|
-
} else
|
|
52
|
-
return {
|
|
53
|
-
message: s.error || "Failed to browse webpage",
|
|
54
|
-
instructions: "Acknowledge that the webpage browsing failed."
|
|
55
|
-
};
|
|
56
|
-
} catch (s) {
|
|
57
|
-
return {
|
|
58
|
-
message: `Failed to browse webpage: ${s instanceof Error ? s.message : "Unknown error"}`,
|
|
59
|
-
instructions: "Acknowledge that the webpage browsing failed."
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
}, b = {
|
|
63
|
-
toolDefinition: w,
|
|
64
|
-
execute: i,
|
|
65
|
-
generatingMessage: "Browsing webpage...",
|
|
66
|
-
waitingMessage: "Tell the user to that you are accessing the specified web page.",
|
|
67
|
-
isEnabled: () => !0,
|
|
68
|
-
delayAfterExecution: 3e3,
|
|
69
|
-
backends: ["browse"]
|
|
70
|
-
}, d = i, g = [
|
|
71
|
-
{
|
|
72
|
-
name: "Wikipedia Article",
|
|
73
|
-
args: {
|
|
74
|
-
url: "https://en.wikipedia.org/wiki/Artificial_intelligence"
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
name: "News Article",
|
|
79
|
-
args: {
|
|
80
|
-
url: "https://www.bbc.com/news"
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
];
|
|
84
|
-
export {
|
|
85
|
-
w as TOOL_DEFINITION,
|
|
86
|
-
c as TOOL_NAME,
|
|
87
|
-
i as browse,
|
|
88
|
-
d as executeBrowse,
|
|
89
|
-
n as isTwitterUrl,
|
|
90
|
-
b as pluginCore,
|
|
91
|
-
g as samples
|
|
92
|
-
};
|
|
1
|
+
import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./samples-DnNbKTOt.js";
|
|
2
|
+
export { r as TOOL_DEFINITION, a as TOOL_NAME, n as browse, i as executeBrowse, t as isTwitterUrl, e as pluginCore, o as samples };
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./samples-CJIkkdZy.cjs`);require(`./core.cjs`),exports.TOOL_DEFINITION=e.o,exports.TOOL_NAME=e.s,exports.browse=e.n,exports.executeBrowse=e.r,exports.isTwitterUrl=e.i,exports.pluginCore=e.a,exports.samples=e.t;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./core";
|
|
1
|
+
export * from "./core/index";
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
s as TOOL_NAME,
|
|
5
|
-
O as browse,
|
|
6
|
-
t as executeBrowse,
|
|
7
|
-
T as isTwitterUrl,
|
|
8
|
-
i as pluginCore,
|
|
9
|
-
l as samples
|
|
10
|
-
};
|
|
1
|
+
import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./samples-DnNbKTOt.js";
|
|
2
|
+
import "./core.js";
|
|
3
|
+
export { r as TOOL_DEFINITION, a as TOOL_NAME, n as browse, i as executeBrowse, t as isTwitterUrl, e as pluginCore, o as samples };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=`browse`,t={type:`function`,name:e,description:`Browse and extract content from a web page using the provided URL.`,parameters:{type:`object`,properties:{url:{type:`string`,description:`The URL of the webpage to browse and extract content from`}},required:[`url`]}},n={};function r(e){try{let t=new URL(e);return t.hostname===`twitter.com`||t.hostname===`www.twitter.com`||t.hostname===`x.com`||t.hostname===`www.x.com`}catch{return!1}}async function i(e,t){if(!r(e)||e in n)return;let i=await t.app?.getTwitterEmbed?.(e);i&&(n[e]=i)}var a=async(e,t)=>{let{url:a}=t;if(r(a)&&await i(a,e),!e.app?.browseUrl)return{message:`browseUrl function not available`,instructions:`Acknowledge that the webpage browsing failed.`};try{let t=await e.app.browseUrl(a);if(t.success&&t.data){let e={url:a,twitterEmbedHtml:r(a)?n[a]||null:void 0};return{message:`Successfully browsed the webpage`,title:t.data.title||`Untitled`,jsonData:{data:t.data},instructions:`Acknowledge that the webpage was successfully browsed and give a ONE-SENTENCE summary of the content if it is available.`,data:e}}else return{message:t.error||`Failed to browse webpage`,instructions:`Acknowledge that the webpage browsing failed.`}}catch(e){return{message:`Failed to browse webpage: ${e instanceof Error?e.message:`Unknown error`}`,instructions:`Acknowledge that the webpage browsing failed.`}}},o={toolDefinition:t,execute:a,generatingMessage:`Browsing webpage...`,waitingMessage:`Tell the user to that you are accessing the specified web page.`,isEnabled:()=>!0,delayAfterExecution:3e3,backends:[`browse`]},s=a,c=[{name:`Wikipedia Article`,args:{url:`https://en.wikipedia.org/wiki/Artificial_intelligence`}},{name:`News Article`,args:{url:`https://www.bbc.com/news`}}];Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return c}});
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
//#region src/core/definition.ts
|
|
2
|
+
var e = "browse", t = {
|
|
3
|
+
type: "function",
|
|
4
|
+
name: e,
|
|
5
|
+
description: "Browse and extract content from a web page using the provided URL.",
|
|
6
|
+
parameters: {
|
|
7
|
+
type: "object",
|
|
8
|
+
properties: { url: {
|
|
9
|
+
type: "string",
|
|
10
|
+
description: "The URL of the webpage to browse and extract content from"
|
|
11
|
+
} },
|
|
12
|
+
required: ["url"]
|
|
13
|
+
}
|
|
14
|
+
}, n = {};
|
|
15
|
+
function r(e) {
|
|
16
|
+
try {
|
|
17
|
+
let t = new URL(e);
|
|
18
|
+
return t.hostname === "twitter.com" || t.hostname === "www.twitter.com" || t.hostname === "x.com" || t.hostname === "www.x.com";
|
|
19
|
+
} catch {
|
|
20
|
+
return !1;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async function i(e, t) {
|
|
24
|
+
if (!r(e) || e in n) return;
|
|
25
|
+
let i = await t.app?.getTwitterEmbed?.(e);
|
|
26
|
+
i && (n[e] = i);
|
|
27
|
+
}
|
|
28
|
+
var a = async (e, t) => {
|
|
29
|
+
let { url: a } = t;
|
|
30
|
+
if (r(a) && await i(a, e), !e.app?.browseUrl) return {
|
|
31
|
+
message: "browseUrl function not available",
|
|
32
|
+
instructions: "Acknowledge that the webpage browsing failed."
|
|
33
|
+
};
|
|
34
|
+
try {
|
|
35
|
+
let t = await e.app.browseUrl(a);
|
|
36
|
+
if (t.success && t.data) {
|
|
37
|
+
let e = {
|
|
38
|
+
url: a,
|
|
39
|
+
twitterEmbedHtml: r(a) ? n[a] || null : void 0
|
|
40
|
+
};
|
|
41
|
+
return {
|
|
42
|
+
message: "Successfully browsed the webpage",
|
|
43
|
+
title: t.data.title || "Untitled",
|
|
44
|
+
jsonData: { data: t.data },
|
|
45
|
+
instructions: "Acknowledge that the webpage was successfully browsed and give a ONE-SENTENCE summary of the content if it is available.",
|
|
46
|
+
data: e
|
|
47
|
+
};
|
|
48
|
+
} else return {
|
|
49
|
+
message: t.error || "Failed to browse webpage",
|
|
50
|
+
instructions: "Acknowledge that the webpage browsing failed."
|
|
51
|
+
};
|
|
52
|
+
} catch (e) {
|
|
53
|
+
return {
|
|
54
|
+
message: `Failed to browse webpage: ${e instanceof Error ? e.message : "Unknown error"}`,
|
|
55
|
+
instructions: "Acknowledge that the webpage browsing failed."
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}, o = {
|
|
59
|
+
toolDefinition: t,
|
|
60
|
+
execute: a,
|
|
61
|
+
generatingMessage: "Browsing webpage...",
|
|
62
|
+
waitingMessage: "Tell the user to that you are accessing the specified web page.",
|
|
63
|
+
isEnabled: () => !0,
|
|
64
|
+
delayAfterExecution: 3e3,
|
|
65
|
+
backends: ["browse"]
|
|
66
|
+
}, s = a, c = [{
|
|
67
|
+
name: "Wikipedia Article",
|
|
68
|
+
args: { url: "https://en.wikipedia.org/wiki/Artificial_intelligence" }
|
|
69
|
+
}, {
|
|
70
|
+
name: "News Article",
|
|
71
|
+
args: { url: "https://www.bbc.com/news" }
|
|
72
|
+
}];
|
|
73
|
+
//#endregion
|
|
74
|
+
export { o as a, r as i, a as n, t as o, s as r, e as s, c as t };
|
package/dist/style.css
CHANGED
|
@@ -1 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-600:oklch(57.7% .245 27.325);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-800:oklch(43.2% .095 166.913);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-bold:700;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.m-0{margin:calc(var(--spacing) * 0)}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.block{display:block}.contents{display:contents}.flex{display:flex}.inline-block{display:inline-block}.h-8{height:calc(var(--spacing) * 8)}.h-full{height:100%}.w-8{width:calc(var(--spacing) * 8)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[200px\]{max-width:200px}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-none{--tw-border-style:none;border-style:none}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-600{border-color:var(--color-blue-600)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-indigo-200{border-color:var(--color-indigo-200)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-white{background-color:var(--color-white)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-pre-wrap{white-space:pre-wrap}.text-blue-600{color:var(--color-blue-600)}.text-blue-800{color:var(--color-blue-800)}.text-emerald-800{color:var(--color-emerald-800)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-indigo-700{color:var(--color-indigo-700)}.text-red-600{color:var(--color-red-600)}.text-white{color:var(--color-white)}.italic{font-style:italic}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:border-indigo-300:hover{border-color:var(--color-indigo-300)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-indigo-200:hover{background-color:var(--color-indigo-200)}.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-indigo-500:focus{border-color:var(--color-indigo-500)}.focus\:ring-\[3px\]:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-indigo-500\/10:focus{--tw-ring-color:#625fff1a}@supports (color:color-mix(in lab, red, red)){.focus\:ring-indigo-500\/10:focus{--tw-ring-color:color-mix(in oklab, var(--color-indigo-500) 10%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@keyframes spin{to{transform:rotate(360deg)}}
|
|
3
|
+
/*$vite$:1*/
|
package/dist/vue.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`./samples-CJIkkdZy.cjs`);let t=require(`vue`);var n={class:`w-full h-full`},r={key:0,class:`overflow-auto p-4 bg-white h-full`},i=[`innerHTML`],a={key:1,class:`h-full flex items-center justify-center`},o={class:`text-center`},s=[`href`],c={key:2,class:`h-full flex items-center justify-center`},l={key:1,class:`w-full h-full overflow-auto p-6 bg-white`},u={class:`max-w-4xl mx-auto`},d={class:`mb-4 p-3 bg-blue-50 border border-blue-200 rounded`},f={class:`text-sm text-blue-800`},p=[`href`],m={class:`text-3xl font-bold mb-3 text-gray-900`},h={key:0,class:`text-sm text-gray-600 mb-2`},g={key:1,class:`text-lg text-gray-700 mb-4 italic border-l-4 border-blue-500 pl-4`},_={class:`text-gray-800 leading-relaxed`},v=(0,t.defineComponent)({__name:`View`,props:{selectedResult:{}},setup(v){let y=v,b=(0,t.computed)(()=>(y.selectedResult?.jsonData)?.data?.title||y.selectedResult?.title||`Untitled`),x=(0,t.computed)(()=>(y.selectedResult?.jsonData)?.data?.byline||``),S=(0,t.computed)(()=>(y.selectedResult?.jsonData)?.data?.excerpt||``),C=(0,t.computed)(()=>{let e=y.selectedResult?.jsonData;return e?.data?.textContent||e?.data?.text||`No content available.`}),w=(0,t.computed)(()=>{let e=C.value;return e===`No content available.`?[e]:(e.includes(`
|
|
2
2
|
|
|
3
|
-
`)?
|
|
3
|
+
`)?e.split(`
|
|
4
4
|
|
|
5
|
-
`):
|
|
6
|
-
`)).map(
|
|
5
|
+
`):e.split(`
|
|
6
|
+
`)).map(e=>e.trim()).filter(e=>e.length>0)});return(y,C)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,n,[v.selectedResult?.data?.url&&(0,t.unref)(e.i)(v.selectedResult.data.url)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,r,[v.selectedResult.data.twitterEmbedHtml?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,innerHTML:v.selectedResult.data.twitterEmbedHtml},null,8,i)):v.selectedResult.data.twitterEmbedHtml===null?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,a,[(0,t.createElementVNode)(`div`,o,[C[0]||=(0,t.createElementVNode)(`div`,{class:`text-gray-600 mb-4`},`Unable to load Twitter embed`,-1),(0,t.createElementVNode)(`a`,{href:v.selectedResult.data.url,target:`_blank`,class:`inline-block px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 transition-colors`},` Open on Twitter/X `,8,s)])])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,c,[...C[1]||=[(0,t.createElementVNode)(`div`,{class:`text-center`},[(0,t.createElementVNode)(`div`,{class:`animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600 mx-auto mb-2`}),(0,t.createElementVNode)(`div`,{class:`text-gray-600`},`Loading Twitter embed...`)],-1)]]))])):(0,t.createCommentVNode)(``,!0),v.selectedResult?.data?.url&&!(0,t.unref)(e.i)(v.selectedResult.data.url)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,l,[(0,t.createElementVNode)(`div`,u,[(0,t.createElementVNode)(`div`,d,[(0,t.createElementVNode)(`div`,f,[(0,t.createElementVNode)(`a`,{href:v.selectedResult.data.url,target:`_blank`,class:`text-blue-600 hover:underline`},` Open original page → `,8,p)])]),(0,t.createElementVNode)(`article`,null,[(0,t.createElementVNode)(`h1`,m,(0,t.toDisplayString)(b.value),1),x.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,h,` By `+(0,t.toDisplayString)(x.value),1)):(0,t.createCommentVNode)(``,!0),S.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,g,(0,t.toDisplayString)(S.value),1)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,_,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(w.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,class:`mb-4`},(0,t.toDisplayString)(e),1))),128))])])])])):(0,t.createCommentVNode)(``,!0)]))}}),y={class:`text-center p-4 bg-blue-50 rounded`},b={class:`text-xs text-gray-600 mt-1 truncate`},x=(0,t.defineComponent)({__name:`Preview`,props:{result:{}},setup(e){return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,y,[r[0]||=(0,t.createElementVNode)(`div`,{class:`text-blue-600 font-medium`},`Web Page`,-1),(0,t.createElementVNode)(`div`,b,(0,t.toDisplayString)(e.result.title||e.result.data?.url),1)]))}}),S={...e.a,viewComponent:v,previewComponent:x,samples:e.t},C={plugin:S};exports.Preview=x,exports.TOOL_DEFINITION=e.o,exports.TOOL_NAME=e.s,exports.View=v,exports.default=C,exports.executeBrowse=e.r,exports.isTwitterUrl=e.i,exports.plugin=S,exports.pluginCore=e.a,exports.samples=e.t;
|
package/dist/vue.js
CHANGED
|
@@ -1,115 +1,67 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
},
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
},
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
},
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
},
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
},
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
},
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
class: "text-blue-600 hover:underline"
|
|
69
|
-
}, " Open original page → ", 8, V)
|
|
70
|
-
])
|
|
71
|
-
]),
|
|
72
|
-
e("article", null, [
|
|
73
|
-
e("h1", I, i(c.value), 1),
|
|
74
|
-
m.value ? (n(), l("div", M, " By " + i(m.value), 1)) : u("", !0),
|
|
75
|
-
b.value ? (n(), l("div", P, i(b.value), 1)) : u("", !0),
|
|
76
|
-
e("div", U, [
|
|
77
|
-
(n(!0), l(y, null, R(g.value, (r, _) => (n(), l("div", {
|
|
78
|
-
key: _,
|
|
79
|
-
class: "mb-4"
|
|
80
|
-
}, i(r), 1))), 128))
|
|
81
|
-
])
|
|
82
|
-
])
|
|
83
|
-
])
|
|
84
|
-
])) : u("", !0)
|
|
85
|
-
]));
|
|
86
|
-
}
|
|
87
|
-
}), F = { class: "text-center p-4 bg-blue-50 rounded" }, A = { class: "text-xs text-gray-600 mt-1 truncate" }, S = /* @__PURE__ */ h({
|
|
88
|
-
__name: "Preview",
|
|
89
|
-
props: {
|
|
90
|
-
result: {}
|
|
91
|
-
},
|
|
92
|
-
setup(t) {
|
|
93
|
-
return (o, c) => (n(), l("div", F, [
|
|
94
|
-
c[0] || (c[0] = e("div", { class: "text-blue-600 font-medium" }, "Web Page", -1)),
|
|
95
|
-
e("div", A, i(t.result.title || t.result.data?.url), 1)
|
|
96
|
-
]));
|
|
97
|
-
}
|
|
98
|
-
}), W = {
|
|
99
|
-
...p,
|
|
100
|
-
viewComponent: $,
|
|
101
|
-
previewComponent: S,
|
|
102
|
-
samples: w
|
|
103
|
-
}, z = { plugin: W };
|
|
104
|
-
export {
|
|
105
|
-
S as Preview,
|
|
106
|
-
K as TOOL_DEFINITION,
|
|
107
|
-
Q as TOOL_NAME,
|
|
108
|
-
$ as View,
|
|
109
|
-
z as default,
|
|
110
|
-
Y as executeBrowse,
|
|
111
|
-
x as isTwitterUrl,
|
|
112
|
-
W as plugin,
|
|
113
|
-
p as pluginCore,
|
|
114
|
-
w as samples
|
|
115
|
-
};
|
|
1
|
+
import { a as e, i as t, o as n, r, s as i, t as a } from "./samples-DnNbKTOt.js";
|
|
2
|
+
import { Fragment as o, computed as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, defineComponent as d, openBlock as f, renderList as p, toDisplayString as m, unref as h } from "vue";
|
|
3
|
+
//#region src/vue/View.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var g = { class: "w-full h-full" }, _ = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "overflow-auto p-4 bg-white h-full"
|
|
7
|
+
}, v = ["innerHTML"], y = {
|
|
8
|
+
key: 1,
|
|
9
|
+
class: "h-full flex items-center justify-center"
|
|
10
|
+
}, b = { class: "text-center" }, x = ["href"], S = {
|
|
11
|
+
key: 2,
|
|
12
|
+
class: "h-full flex items-center justify-center"
|
|
13
|
+
}, C = {
|
|
14
|
+
key: 1,
|
|
15
|
+
class: "w-full h-full overflow-auto p-6 bg-white"
|
|
16
|
+
}, w = { class: "max-w-4xl mx-auto" }, T = { class: "mb-4 p-3 bg-blue-50 border border-blue-200 rounded" }, E = { class: "text-sm text-blue-800" }, D = ["href"], O = { class: "text-3xl font-bold mb-3 text-gray-900" }, k = {
|
|
17
|
+
key: 0,
|
|
18
|
+
class: "text-sm text-gray-600 mb-2"
|
|
19
|
+
}, A = {
|
|
20
|
+
key: 1,
|
|
21
|
+
class: "text-lg text-gray-700 mb-4 italic border-l-4 border-blue-500 pl-4"
|
|
22
|
+
}, j = { class: "text-gray-800 leading-relaxed" }, M = /* @__PURE__ */ d({
|
|
23
|
+
__name: "View",
|
|
24
|
+
props: { selectedResult: {} },
|
|
25
|
+
setup(e) {
|
|
26
|
+
let n = e, r = s(() => (n.selectedResult?.jsonData)?.data?.title || n.selectedResult?.title || "Untitled"), i = s(() => (n.selectedResult?.jsonData)?.data?.byline || ""), a = s(() => (n.selectedResult?.jsonData)?.data?.excerpt || ""), d = s(() => {
|
|
27
|
+
let e = n.selectedResult?.jsonData;
|
|
28
|
+
return e?.data?.textContent || e?.data?.text || "No content available.";
|
|
29
|
+
}), M = s(() => {
|
|
30
|
+
let e = d.value;
|
|
31
|
+
return e === "No content available." ? [e] : (e.includes("\n\n") ? e.split("\n\n") : e.split("\n")).map((e) => e.trim()).filter((e) => e.length > 0);
|
|
32
|
+
});
|
|
33
|
+
return (n, s) => (f(), l("div", g, [e.selectedResult?.data?.url && h(t)(e.selectedResult.data.url) ? (f(), l("div", _, [e.selectedResult.data.twitterEmbedHtml ? (f(), l("div", {
|
|
34
|
+
key: 0,
|
|
35
|
+
innerHTML: e.selectedResult.data.twitterEmbedHtml
|
|
36
|
+
}, null, 8, v)) : e.selectedResult.data.twitterEmbedHtml === null ? (f(), l("div", y, [u("div", b, [s[0] ||= u("div", { class: "text-gray-600 mb-4" }, "Unable to load Twitter embed", -1), u("a", {
|
|
37
|
+
href: e.selectedResult.data.url,
|
|
38
|
+
target: "_blank",
|
|
39
|
+
class: "inline-block px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 transition-colors"
|
|
40
|
+
}, " Open on Twitter/X ", 8, x)])])) : (f(), l("div", S, [...s[1] ||= [u("div", { class: "text-center" }, [u("div", { class: "animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600 mx-auto mb-2" }), u("div", { class: "text-gray-600" }, "Loading Twitter embed...")], -1)]]))])) : c("", !0), e.selectedResult?.data?.url && !h(t)(e.selectedResult.data.url) ? (f(), l("div", C, [u("div", w, [u("div", T, [u("div", E, [u("a", {
|
|
41
|
+
href: e.selectedResult.data.url,
|
|
42
|
+
target: "_blank",
|
|
43
|
+
class: "text-blue-600 hover:underline"
|
|
44
|
+
}, " Open original page → ", 8, D)])]), u("article", null, [
|
|
45
|
+
u("h1", O, m(r.value), 1),
|
|
46
|
+
i.value ? (f(), l("div", k, " By " + m(i.value), 1)) : c("", !0),
|
|
47
|
+
a.value ? (f(), l("div", A, m(a.value), 1)) : c("", !0),
|
|
48
|
+
u("div", j, [(f(!0), l(o, null, p(M.value, (e, t) => (f(), l("div", {
|
|
49
|
+
key: t,
|
|
50
|
+
class: "mb-4"
|
|
51
|
+
}, m(e), 1))), 128))])
|
|
52
|
+
])])])) : c("", !0)]));
|
|
53
|
+
}
|
|
54
|
+
}), N = { class: "text-center p-4 bg-blue-50 rounded" }, P = { class: "text-xs text-gray-600 mt-1 truncate" }, F = /* @__PURE__ */ d({
|
|
55
|
+
__name: "Preview",
|
|
56
|
+
props: { result: {} },
|
|
57
|
+
setup(e) {
|
|
58
|
+
return (t, n) => (f(), l("div", N, [n[0] ||= u("div", { class: "text-blue-600 font-medium" }, "Web Page", -1), u("div", P, m(e.result.title || e.result.data?.url), 1)]));
|
|
59
|
+
}
|
|
60
|
+
}), I = {
|
|
61
|
+
...e,
|
|
62
|
+
viewComponent: M,
|
|
63
|
+
previewComponent: F,
|
|
64
|
+
samples: a
|
|
65
|
+
}, L = { plugin: I };
|
|
66
|
+
//#endregion
|
|
67
|
+
export { F as Preview, n as TOOL_DEFINITION, i as TOOL_NAME, M as View, L as default, r as executeBrowse, t as isTwitterUrl, I as plugin, e as pluginCore, a as samples };
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gui-chat-plugin/browse",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Web browsing plugin for GUI Chat applications",
|
|
6
|
-
"author": "
|
|
6
|
+
"author": "receptron",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"main": "./dist/index.cjs",
|
|
9
9
|
"module": "./dist/index.js",
|
|
@@ -31,17 +31,23 @@
|
|
|
31
31
|
"lint": "eslint src"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"gui-chat-protocol": "^0.0
|
|
34
|
+
"gui-chat-protocol": "^0.1.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@
|
|
38
|
-
"@
|
|
39
|
-
"eslint": "^
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"vue": "^
|
|
44
|
-
"
|
|
37
|
+
"@eslint/js": "^10.0.1",
|
|
38
|
+
"@tailwindcss/vite": "^4.2.2",
|
|
39
|
+
"@typescript-eslint/eslint-plugin": "^8.58.0",
|
|
40
|
+
"@typescript-eslint/parser": "^8.58.0",
|
|
41
|
+
"@vitejs/plugin-vue": "^6.0.5",
|
|
42
|
+
"eslint": "^10.1.0",
|
|
43
|
+
"eslint-plugin-vue": "^10.8.0",
|
|
44
|
+
"globals": "^17.4.0",
|
|
45
|
+
"tailwindcss": "^4.2.2",
|
|
46
|
+
"typescript": "~6.0.2",
|
|
47
|
+
"vite": "^8.0.3",
|
|
48
|
+
"vue": "^3.5.31",
|
|
49
|
+
"vue-eslint-parser": "^10.4.0",
|
|
50
|
+
"vue-tsc": "^3.2.6"
|
|
45
51
|
},
|
|
46
52
|
"peerDependencies": {
|
|
47
53
|
"vue": "^3.5.0"
|