@gui-chat-plugin/tictactoe 0.1.0 → 0.1.2

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.js CHANGED
@@ -1,278 +1,207 @@
1
- import { samples as M, pluginCore as O } from "./core.js";
2
- import { SYSTEM_PROMPT as ce, TOOL_DEFINITION as de, TOOL_NAME as ve, executeTicTacToe as ye, playTicTacToe as fe } from "./core.js";
3
- import { defineComponent as j, ref as D, watch as X, computed as b, createElementBlock as n, openBlock as l, createCommentVNode as C, createElementVNode as s, normalizeClass as x, Fragment as y, toDisplayString as d, createTextVNode as N, renderList as $ } from "vue";
4
- const L = { class: "w-full h-full flex flex-col items-center justify-center p-4 bg-gray-100" }, S = {
5
- key: 0,
6
- class: "flex flex-col items-center"
7
- }, B = { key: 0 }, W = { key: 1 }, V = { class: "grid grid-cols-3 gap-1 p-2 bg-gray-700 rounded-lg shadow-lg" }, E = ["onClick", "onMouseenter", "onMouseleave"], P = {
8
- key: 0,
9
- class: "w-16 h-16 text-blue-600",
10
- viewBox: "0 0 24 24",
11
- fill: "none",
12
- stroke: "currentColor",
13
- "stroke-width": "3",
14
- "stroke-linecap": "round"
15
- }, F = {
16
- key: 1,
17
- class: "w-16 h-16 text-red-600",
18
- viewBox: "0 0 24 24",
19
- fill: "none",
20
- stroke: "currentColor",
21
- "stroke-width": "3"
22
- }, A = {
23
- key: 1,
24
- cx: "12",
25
- cy: "12",
26
- r: "8"
27
- }, I = { class: "mt-4 flex gap-8 text-lg" }, R = { class: "flex items-center gap-2" }, z = { class: "text-gray-500 text-sm" }, G = { class: "flex items-center gap-2" }, U = { class: "text-gray-500 text-sm" }, H = /* @__PURE__ */ j({
28
- __name: "View",
29
- props: {
30
- selectedResult: {},
31
- sendTextMessage: { type: Function }
32
- },
33
- setup(u) {
34
- const v = u, e = D(null), p = D(null);
35
- X(
36
- () => v.selectedResult,
37
- (r) => {
38
- r?.toolName === "playTicTacToe" && r.jsonData && (e.value = r.jsonData);
39
- },
40
- { immediate: !0 }
41
- );
42
- const T = b(() => {
43
- if (!e.value?.playerNames) return "";
44
- const r = e.value.playerNames[e.value.currentSide];
45
- return r.charAt(0).toUpperCase() + r.slice(1);
46
- }), f = b(() => e.value?.playerNames && e.value.playerNames[e.value.currentSide] === "computer"), i = b(() => e.value ? e.value.isTerminal ? e.value.winner === "draw" ? "text-gray-600" : e.value.winner === "X" ? "text-blue-600" : "text-red-600" : e.value.currentSide === "X" ? "text-blue-600" : "text-red-600" : ""), c = b(() => {
47
- if (!e.value?.board) return [];
48
- const r = [];
49
- for (let t = 0; t < 3; t++)
50
- for (let o = 0; o < 3; o++) {
51
- const a = e.value.board[t][o], m = e.value.legalMoves?.some(
52
- (h) => h.row === t && h.col === o
53
- ), _ = e.value.winningLine?.some(
54
- (h) => h.row === t && h.col === o
55
- );
56
- r.push({
57
- row: t,
58
- col: o,
59
- piece: a !== "." ? a : null,
60
- isLegalMove: m ?? !1,
61
- isWinningCell: _ ?? !1
62
- });
63
- }
64
- return r;
65
- });
66
- function g(r, t) {
67
- const o = "w-24 h-24 flex items-center justify-center bg-white rounded";
68
- let a = "";
69
- return r.isWinningCell ? a = "bg-yellow-200 ring-2 ring-yellow-400" : r.isLegalMove && !f.value && !e.value?.isTerminal && (a = p.value === t ? "bg-gray-200 cursor-pointer" : "hover:bg-gray-100 cursor-pointer"), `${o} ${a}`;
70
- }
71
- function w(r) {
72
- if (!e.value || e.value.isTerminal || f.value)
73
- return;
74
- const t = c.value[r];
75
- if (!t.isLegalMove) return;
76
- const o = ["top", "middle", "bottom"], a = ["left", "center", "right"], m = `${o[t.row]}-${a[t.col]}`, _ = {
77
- row: t.row,
78
- col: t.col,
79
- currentState: e.value
80
- };
81
- v.sendTextMessage?.(
82
- `I want to play at ${m}, which is row=${t.row}, col=${t.col}`,
83
- { data: _ }
84
- );
85
- }
86
- function k(r, t) {
87
- !e.value || e.value.isTerminal || f.value || !c.value[r].isLegalMove || (p.value = t ? r : null);
88
- }
89
- return (r, t) => (l(), n("div", L, [
90
- e.value ? (l(), n("div", S, [
91
- t[6] || (t[6] = s("h1", { class: "text-2xl font-bold text-gray-800 mb-2" }, "Tic-Tac-Toe", -1)),
92
- s("div", {
93
- class: x(["text-lg font-semibold mb-4 text-center", i.value])
94
- }, [
95
- e.value.isTerminal ? (l(), n(y, { key: 0 }, [
96
- e.value.winner === "draw" ? (l(), n("span", B, "It's a Draw!")) : (l(), n("span", W, d(e.value.winner) + " Wins!", 1))
97
- ], 64)) : (l(), n(y, { key: 1 }, [
98
- N(d(T.value) + "'s Turn (" + d(e.value.currentSide) + ") ", 1)
99
- ], 64))
100
- ], 2),
101
- s("div", V, [
102
- (l(!0), n(y, null, $(c.value, (o, a) => (l(), n("div", {
103
- key: a,
104
- class: x(g(o, a)),
105
- onClick: (m) => w(a),
106
- onMouseenter: (m) => k(a, !0),
107
- onMouseleave: (m) => k(a, !1)
108
- }, [
109
- o.piece === "X" ? (l(), n("svg", P, [...t[0] || (t[0] = [
110
- s("line", {
111
- x1: "4",
112
- y1: "4",
113
- x2: "20",
114
- y2: "20"
115
- }, null, -1),
116
- s("line", {
117
- x1: "20",
118
- y1: "4",
119
- x2: "4",
120
- y2: "20"
121
- }, null, -1)
122
- ])])) : o.piece === "O" ? (l(), n("svg", F, [...t[1] || (t[1] = [
123
- s("circle", {
124
- cx: "12",
125
- cy: "12",
126
- r: "8"
127
- }, null, -1)
128
- ])])) : o.isLegalMove && !f.value && p.value === a ? (l(), n("svg", {
129
- key: 2,
130
- class: x(["w-16 h-16 opacity-30", e.value.currentSide === "X" ? "text-blue-400" : "text-red-400"]),
131
- viewBox: "0 0 24 24",
132
- fill: "none",
133
- stroke: "currentColor",
134
- "stroke-width": "3",
135
- "stroke-linecap": "round"
136
- }, [
137
- e.value.currentSide === "X" ? (l(), n(y, { key: 0 }, [
138
- t[2] || (t[2] = s("line", {
139
- x1: "4",
140
- y1: "4",
141
- x2: "20",
142
- y2: "20"
143
- }, null, -1)),
144
- t[3] || (t[3] = s("line", {
145
- x1: "20",
146
- y1: "4",
147
- x2: "4",
148
- y2: "20"
149
- }, null, -1))
150
- ], 64)) : (l(), n("circle", A))
151
- ], 2)) : C("", !0)
152
- ], 42, E))), 128))
153
- ]),
154
- s("div", I, [
155
- s("div", R, [
156
- t[4] || (t[4] = s("span", { class: "text-blue-600 font-bold" }, "X:", -1)),
157
- s("span", null, d(e.value.counts.X), 1),
158
- s("span", z, "(" + d(e.value.playerNames.X) + ")", 1)
159
- ]),
160
- s("div", G, [
161
- t[5] || (t[5] = s("span", { class: "text-red-600 font-bold" }, "O:", -1)),
162
- s("span", null, d(e.value.counts.O), 1),
163
- s("span", U, "(" + d(e.value.playerNames.O) + ")", 1)
164
- ])
165
- ])
166
- ])) : C("", !0)
167
- ]));
168
- }
169
- }), Y = { class: "p-3 bg-gray-50 rounded" }, q = {
170
- key: 0,
171
- class: "space-y-2"
172
- }, J = { class: "flex justify-center" }, K = { class: "inline-block bg-gray-600 p-0.5 rounded" }, Q = { class: "grid grid-cols-3 gap-0.5" }, Z = {
173
- key: 0,
174
- class: "w-4 h-4 text-blue-600",
175
- viewBox: "0 0 24 24",
176
- fill: "none",
177
- stroke: "currentColor",
178
- "stroke-width": "3",
179
- "stroke-linecap": "round"
180
- }, ee = {
181
- key: 1,
182
- class: "w-4 h-4 text-red-600",
183
- viewBox: "0 0 24 24",
184
- fill: "none",
185
- stroke: "currentColor",
186
- "stroke-width": "3"
187
- }, te = { class: "text-xs text-center space-y-1" }, se = {
188
- key: 0,
189
- class: "text-gray-600"
190
- }, ne = /* @__PURE__ */ j({
191
- __name: "Preview",
192
- props: {
193
- result: {}
194
- },
195
- setup(u) {
196
- const v = u;
197
- function e(i, c) {
198
- return v.result.jsonData?.winningLine?.some(
199
- (g) => g.row === i && g.col === c
200
- ) ?? !1;
201
- }
202
- function p(i) {
203
- return i.isTerminal ? i.winner === "draw" ? "Draw!" : i.winner === "X" ? "X Wins!" : i.winner === "O" ? "O Wins!" : "Game Over" : "";
204
- }
205
- function T() {
206
- return v.result.jsonData?.isTerminal ? v.result.jsonData.winner === "draw" ? "text-gray-600" : v.result.jsonData.winner === "X" ? "text-blue-600" : v.result.jsonData.winner === "O" ? "text-red-600" : "" : "";
207
- }
208
- function f(i) {
209
- return i.charAt(0).toUpperCase() + i.slice(1);
210
- }
211
- return (i, c) => (l(), n("div", Y, [
212
- u.result.jsonData ? (l(), n("div", q, [
213
- s("div", J, [
214
- s("div", K, [
215
- s("div", Q, [
216
- (l(!0), n(y, null, $(u.result.jsonData.board, (g, w) => (l(), n(y, { key: w }, [
217
- (l(!0), n(y, null, $(g, (k, r) => (l(), n("div", {
218
- key: `${w}-${r}`,
219
- class: x(["w-6 h-6 flex items-center justify-center bg-white rounded-sm", e(w, r) ? "bg-yellow-200" : ""])
220
- }, [
221
- k === "X" ? (l(), n("svg", Z, [...c[0] || (c[0] = [
222
- s("line", {
223
- x1: "4",
224
- y1: "4",
225
- x2: "20",
226
- y2: "20"
227
- }, null, -1),
228
- s("line", {
229
- x1: "20",
230
- y1: "4",
231
- x2: "4",
232
- y2: "20"
233
- }, null, -1)
234
- ])])) : k === "O" ? (l(), n("svg", ee, [...c[1] || (c[1] = [
235
- s("circle", {
236
- cx: "12",
237
- cy: "12",
238
- r: "8"
239
- }, null, -1)
240
- ])])) : C("", !0)
241
- ], 2))), 128))
242
- ], 64))), 128))
243
- ])
244
- ])
245
- ]),
246
- s("div", te, [
247
- u.result.jsonData.isTerminal ? (l(), n("div", {
248
- key: 1,
249
- class: x(["font-medium", T()])
250
- }, d(p(u.result.jsonData)), 3)) : (l(), n("div", se, [
251
- s("span", {
252
- class: x(u.result.jsonData.currentSide === "X" ? "text-blue-600" : "text-red-600")
253
- }, d(u.result.jsonData.currentSide), 3),
254
- N(" " + d(f(u.result.jsonData.playerNames[u.result.jsonData.currentSide])) + " to play ", 1)
255
- ]))
256
- ])
257
- ])) : C("", !0)
258
- ]));
259
- }
260
- }), le = {
261
- ...O,
262
- viewComponent: H,
263
- previewComponent: ne,
264
- samples: M
265
- }, ae = { plugin: le };
266
- export {
267
- ne as Preview,
268
- ce as SYSTEM_PROMPT,
269
- de as TOOL_DEFINITION,
270
- ve as TOOL_NAME,
271
- H as View,
272
- ae as default,
273
- ye as executeTicTacToe,
274
- fe as playTicTacToe,
275
- le as plugin,
276
- O as pluginCore,
277
- M as samples
278
- };
1
+ import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./samples-C6NC1xAK.js";
2
+ import { Fragment as s, computed as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createTextVNode as f, defineComponent as p, normalizeClass as m, openBlock as h, ref as g, renderList as _, toDisplayString as v, watch as y } from "vue";
3
+ //#region src/vue/View.vue?vue&type=script&setup=true&lang.ts
4
+ var b = { class: "w-full h-full flex flex-col items-center justify-center p-4 bg-gray-100" }, x = {
5
+ key: 0,
6
+ class: "flex flex-col items-center"
7
+ }, S = { key: 0 }, C = { key: 1 }, w = { class: "grid grid-cols-3 gap-1 p-2 bg-gray-700 rounded-lg shadow-lg" }, T = [
8
+ "onClick",
9
+ "onMouseenter",
10
+ "onMouseleave"
11
+ ], E = {
12
+ key: 0,
13
+ class: "w-16 h-16 text-blue-600",
14
+ viewBox: "0 0 24 24",
15
+ fill: "none",
16
+ stroke: "currentColor",
17
+ "stroke-width": "3",
18
+ "stroke-linecap": "round"
19
+ }, D = {
20
+ key: 1,
21
+ class: "w-16 h-16 text-red-600",
22
+ viewBox: "0 0 24 24",
23
+ fill: "none",
24
+ stroke: "currentColor",
25
+ "stroke-width": "3"
26
+ }, O = {
27
+ key: 1,
28
+ cx: "12",
29
+ cy: "12",
30
+ r: "8"
31
+ }, k = { class: "mt-4 flex gap-8 text-lg" }, A = { class: "flex items-center gap-2" }, j = { class: "text-gray-500 text-sm" }, M = { class: "flex items-center gap-2" }, N = { class: "text-gray-500 text-sm" }, P = /* @__PURE__ */ p({
32
+ __name: "View",
33
+ props: {
34
+ selectedResult: {},
35
+ sendTextMessage: { type: Function }
36
+ },
37
+ setup(e) {
38
+ let t = e, n = g(null), r = g(null);
39
+ y(() => t.selectedResult, (e) => {
40
+ e?.toolName === "playTicTacToe" && e.jsonData && (n.value = e.jsonData);
41
+ }, { immediate: !0 });
42
+ let i = c(() => {
43
+ if (!n.value?.playerNames) return "";
44
+ let e = n.value.playerNames[n.value.currentSide];
45
+ return e.charAt(0).toUpperCase() + e.slice(1);
46
+ }), a = c(() => n.value?.playerNames && n.value.playerNames[n.value.currentSide] === "computer"), o = c(() => n.value ? n.value.isTerminal ? n.value.winner === "draw" ? "text-gray-600" : n.value.winner === "X" ? "text-blue-600" : "text-red-600" : n.value.currentSide === "X" ? "text-blue-600" : "text-red-600" : ""), p = c(() => {
47
+ if (!n.value?.board) return [];
48
+ let e = [];
49
+ for (let t = 0; t < 3; t++) for (let r = 0; r < 3; r++) {
50
+ let i = n.value.board[t][r], a = n.value.legalMoves?.some((e) => e.row === t && e.col === r), o = n.value.winningLine?.some((e) => e.row === t && e.col === r);
51
+ e.push({
52
+ row: t,
53
+ col: r,
54
+ piece: i === "." ? null : i,
55
+ isLegalMove: a ?? !1,
56
+ isWinningCell: o ?? !1
57
+ });
58
+ }
59
+ return e;
60
+ });
61
+ function P(e, t) {
62
+ let i = "";
63
+ return e.isWinningCell ? i = "bg-yellow-200 ring-2 ring-yellow-400" : e.isLegalMove && !a.value && !n.value?.isTerminal && (i = r.value === t ? "bg-gray-200 cursor-pointer" : "hover:bg-gray-100 cursor-pointer"), `w-24 h-24 flex items-center justify-center bg-white rounded ${i}`;
64
+ }
65
+ function F(e) {
66
+ if (!n.value || n.value.isTerminal || a.value) return;
67
+ let r = p.value[e];
68
+ if (!r.isLegalMove) return;
69
+ let i = `${[
70
+ "top",
71
+ "middle",
72
+ "bottom"
73
+ ][r.row]}-${[
74
+ "left",
75
+ "center",
76
+ "right"
77
+ ][r.col]}`, o = {
78
+ row: r.row,
79
+ col: r.col,
80
+ currentState: n.value
81
+ };
82
+ t.sendTextMessage?.(`I want to play at ${i}, which is row=${r.row}, col=${r.col}`, { data: o });
83
+ }
84
+ function I(e, t) {
85
+ !n.value || n.value.isTerminal || a.value || p.value[e].isLegalMove && (r.value = t ? e : null);
86
+ }
87
+ return (e, t) => (h(), u("div", b, [n.value ? (h(), u("div", x, [
88
+ t[6] ||= d("h1", { class: "text-2xl font-bold text-gray-800 mb-2" }, "Tic-Tac-Toe", -1),
89
+ d("div", { class: m(["text-lg font-semibold mb-4 text-center", o.value]) }, [n.value.isTerminal ? (h(), u(s, { key: 0 }, [n.value.winner === "draw" ? (h(), u("span", S, "It's a Draw!")) : (h(), u("span", C, v(n.value.winner) + " Wins!", 1))], 64)) : (h(), u(s, { key: 1 }, [f(v(i.value) + "'s Turn (" + v(n.value.currentSide) + ") ", 1)], 64))], 2),
90
+ d("div", w, [(h(!0), u(s, null, _(p.value, (e, i) => (h(), u("div", {
91
+ key: i,
92
+ class: m(P(e, i)),
93
+ onClick: (e) => F(i),
94
+ onMouseenter: (e) => I(i, !0),
95
+ onMouseleave: (e) => I(i, !1)
96
+ }, [e.piece === "X" ? (h(), u("svg", E, [...t[0] ||= [d("line", {
97
+ x1: "4",
98
+ y1: "4",
99
+ x2: "20",
100
+ y2: "20"
101
+ }, null, -1), d("line", {
102
+ x1: "20",
103
+ y1: "4",
104
+ x2: "4",
105
+ y2: "20"
106
+ }, null, -1)]])) : e.piece === "O" ? (h(), u("svg", D, [...t[1] ||= [d("circle", {
107
+ cx: "12",
108
+ cy: "12",
109
+ r: "8"
110
+ }, null, -1)]])) : e.isLegalMove && !a.value && r.value === i ? (h(), u("svg", {
111
+ key: 2,
112
+ class: m(["w-16 h-16 opacity-30", n.value.currentSide === "X" ? "text-blue-400" : "text-red-400"]),
113
+ viewBox: "0 0 24 24",
114
+ fill: "none",
115
+ stroke: "currentColor",
116
+ "stroke-width": "3",
117
+ "stroke-linecap": "round"
118
+ }, [n.value.currentSide === "X" ? (h(), u(s, { key: 0 }, [t[2] ||= d("line", {
119
+ x1: "4",
120
+ y1: "4",
121
+ x2: "20",
122
+ y2: "20"
123
+ }, null, -1), t[3] ||= d("line", {
124
+ x1: "20",
125
+ y1: "4",
126
+ x2: "4",
127
+ y2: "20"
128
+ }, null, -1)], 64)) : (h(), u("circle", O))], 2)) : l("", !0)], 42, T))), 128))]),
129
+ d("div", k, [d("div", A, [
130
+ t[4] ||= d("span", { class: "text-blue-600 font-bold" }, "X:", -1),
131
+ d("span", null, v(n.value.counts.X), 1),
132
+ d("span", j, "(" + v(n.value.playerNames.X) + ")", 1)
133
+ ]), d("div", M, [
134
+ t[5] ||= d("span", { class: "text-red-600 font-bold" }, "O:", -1),
135
+ d("span", null, v(n.value.counts.O), 1),
136
+ d("span", N, "(" + v(n.value.playerNames.O) + ")", 1)
137
+ ])])
138
+ ])) : l("", !0)]));
139
+ }
140
+ }), F = { class: "p-3 bg-gray-50 rounded" }, I = {
141
+ key: 0,
142
+ class: "space-y-2"
143
+ }, L = { class: "flex justify-center" }, R = { class: "inline-block bg-gray-600 p-0.5 rounded" }, z = { class: "grid grid-cols-3 gap-0.5" }, B = {
144
+ key: 0,
145
+ class: "w-4 h-4 text-blue-600",
146
+ viewBox: "0 0 24 24",
147
+ fill: "none",
148
+ stroke: "currentColor",
149
+ "stroke-width": "3",
150
+ "stroke-linecap": "round"
151
+ }, V = {
152
+ key: 1,
153
+ class: "w-4 h-4 text-red-600",
154
+ viewBox: "0 0 24 24",
155
+ fill: "none",
156
+ stroke: "currentColor",
157
+ "stroke-width": "3"
158
+ }, H = { class: "text-xs text-center space-y-1" }, U = {
159
+ key: 0,
160
+ class: "text-gray-600"
161
+ }, W = /* @__PURE__ */ p({
162
+ __name: "Preview",
163
+ props: { result: {} },
164
+ setup(e) {
165
+ let t = e;
166
+ function n(e, n) {
167
+ return t.result.jsonData?.winningLine?.some((t) => t.row === e && t.col === n) ?? !1;
168
+ }
169
+ function r(e) {
170
+ return e.isTerminal ? e.winner === "draw" ? "Draw!" : e.winner === "X" ? "X Wins!" : e.winner === "O" ? "O Wins!" : "Game Over" : "";
171
+ }
172
+ function i() {
173
+ return t.result.jsonData?.isTerminal ? t.result.jsonData.winner === "draw" ? "text-gray-600" : t.result.jsonData.winner === "X" ? "text-blue-600" : t.result.jsonData.winner === "O" ? "text-red-600" : "" : "";
174
+ }
175
+ function a(e) {
176
+ return e.charAt(0).toUpperCase() + e.slice(1);
177
+ }
178
+ return (t, o) => (h(), u("div", F, [e.result.jsonData ? (h(), u("div", I, [d("div", L, [d("div", R, [d("div", z, [(h(!0), u(s, null, _(e.result.jsonData.board, (e, t) => (h(), u(s, { key: t }, [(h(!0), u(s, null, _(e, (e, r) => (h(), u("div", {
179
+ key: `${t}-${r}`,
180
+ class: m(["w-6 h-6 flex items-center justify-center bg-white rounded-sm", n(t, r) ? "bg-yellow-200" : ""])
181
+ }, [e === "X" ? (h(), u("svg", B, [...o[0] ||= [d("line", {
182
+ x1: "4",
183
+ y1: "4",
184
+ x2: "20",
185
+ y2: "20"
186
+ }, null, -1), d("line", {
187
+ x1: "20",
188
+ y1: "4",
189
+ x2: "4",
190
+ y2: "20"
191
+ }, null, -1)]])) : e === "O" ? (h(), u("svg", V, [...o[1] ||= [d("circle", {
192
+ cx: "12",
193
+ cy: "12",
194
+ r: "8"
195
+ }, null, -1)]])) : l("", !0)], 2))), 128))], 64))), 128))])])]), d("div", H, [e.result.jsonData.isTerminal ? (h(), u("div", {
196
+ key: 1,
197
+ class: m(["font-medium", i()])
198
+ }, v(r(e.result.jsonData)), 3)) : (h(), u("div", U, [d("span", { class: m(e.result.jsonData.currentSide === "X" ? "text-blue-600" : "text-red-600") }, v(e.result.jsonData.currentSide), 3), f(" " + v(a(e.result.jsonData.playerNames[e.result.jsonData.currentSide])) + " to play ", 1)]))])])) : l("", !0)]));
199
+ }
200
+ }), G = {
201
+ ...i,
202
+ viewComponent: P,
203
+ previewComponent: W,
204
+ samples: o
205
+ }, K = { plugin: G };
206
+ //#endregion
207
+ export { W as Preview, e as SYSTEM_PROMPT, r as TOOL_DEFINITION, a as TOOL_NAME, P as View, K as default, n as executeTicTacToe, t as playTicTacToe, G as plugin, i as pluginCore, o as samples };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gui-chat-plugin/tictactoe",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Tic-Tac-Toe game plugin for GUI Chat",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -34,24 +34,25 @@
34
34
  "lint": "eslint src demo"
35
35
  },
36
36
  "peerDependencies": {
37
- "gui-chat-protocol": "^0.0.1",
37
+ "gui-chat-protocol": "^0.0.4",
38
38
  "vue": "^3.5.0"
39
39
  },
40
40
  "devDependencies": {
41
- "@tailwindcss/vite": "^4.1.18",
42
- "@typescript-eslint/eslint-plugin": "^8.53.0",
43
- "@typescript-eslint/parser": "^8.53.0",
44
- "@vitejs/plugin-vue": "^6.0.3",
45
- "eslint": "^9.39.2",
46
- "eslint-plugin-vue": "^10.6.2",
47
- "globals": "^17.0.0",
48
- "gui-chat-protocol": "^0.0.2",
49
- "tailwindcss": "^4.1.18",
41
+ "@eslint/js": "^10.0.1",
42
+ "@tailwindcss/vite": "^4.2.2",
43
+ "@typescript-eslint/eslint-plugin": "^8.58.0",
44
+ "@typescript-eslint/parser": "^8.58.0",
45
+ "@vitejs/plugin-vue": "^6.0.5",
46
+ "eslint": "^10.1.0",
47
+ "eslint-plugin-vue": "^10.8.0",
48
+ "globals": "^17.4.0",
49
+ "gui-chat-protocol": "^0.0.4",
50
+ "tailwindcss": "^4.2.2",
50
51
  "typescript": "~5.9.3",
51
- "vite": "^7.3.1",
52
- "vue": "^3.5.27",
53
- "vue-eslint-parser": "^10.2.0",
54
- "vue-tsc": "^3.2.2"
52
+ "vite": "^8.0.3",
53
+ "vue": "^3.5.31",
54
+ "vue-eslint-parser": "^10.4.0",
55
+ "vue-tsc": "^3.2.6"
55
56
  },
56
57
  "keywords": [
57
58
  "guichat",