@kvman/kvcoder 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.
Files changed (48) hide show
  1. package/dist/api.d.ts +34 -0
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/connectors/delegate.d.ts.map +1 -1
  4. package/dist/connectors/delegate.js +1 -0
  5. package/dist/connectors/delegate.js.map +1 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +4 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/prompt/session-prompt.d.ts +1 -1
  10. package/dist/prompt/session-prompt.d.ts.map +1 -1
  11. package/dist/prompt/session-prompt.js +17 -2
  12. package/dist/prompt/session-prompt.js.map +1 -1
  13. package/dist/registry/register-connectors.d.ts +1 -0
  14. package/dist/registry/register-connectors.d.ts.map +1 -1
  15. package/dist/registry/register-connectors.js +32 -4
  16. package/dist/registry/register-connectors.js.map +1 -1
  17. package/dist/registry/register-slash-commands.d.ts +6 -0
  18. package/dist/registry/register-slash-commands.d.ts.map +1 -0
  19. package/dist/registry/register-slash-commands.js +85 -0
  20. package/dist/registry/register-slash-commands.js.map +1 -0
  21. package/dist/schemas/records.d.ts +1 -0
  22. package/dist/schemas/records.d.ts.map +1 -1
  23. package/dist/schemas/records.js +2 -0
  24. package/dist/schemas/records.js.map +1 -1
  25. package/dist/schemas/registry.d.ts +32 -0
  26. package/dist/schemas/registry.d.ts.map +1 -1
  27. package/dist/schemas/registry.js +9 -2
  28. package/dist/schemas/registry.js.map +1 -1
  29. package/dist/sessions/new-session.d.ts.map +1 -1
  30. package/dist/sessions/new-session.js +1 -0
  31. package/dist/sessions/new-session.js.map +1 -1
  32. package/dist/store/collections.d.ts +18 -0
  33. package/dist/store/collections.d.ts.map +1 -1
  34. package/dist/store/collections.js +5 -2
  35. package/dist/store/collections.js.map +1 -1
  36. package/dist/turns/start-turn.d.ts +1 -0
  37. package/dist/turns/start-turn.d.ts.map +1 -1
  38. package/dist/web/components/call.js +142 -238
  39. package/dist/web/components/connectors.js +1174 -1549
  40. package/dist/web/components/conversation.js +1912 -2708
  41. package/dist/web/components/mcp-sign-in.js +86 -120
  42. package/dist/web/components/model.js +226 -331
  43. package/dist/web/components/question.js +129 -185
  44. package/dist/web/components/sessions.js +90 -138
  45. package/docs/connectors.md +21 -1
  46. package/locales/ar.json +4 -0
  47. package/locales/en.json +4 -0
  48. package/package.json +4 -4
@@ -1,6 +1,6 @@
1
- import { Fragment as e, createBlock as t, createElementBlock as n, createElementVNode as r, createVNode as i, defineComponent as a, h as o, inject as s, onMounted as c, openBlock as l, ref as u, toDisplayString as d } from "vue";
1
+ import { Fragment as e, createBlock as t, createElementBlock as n, createElementVNode as r, createVNode as i, defineComponent as a, h as o, inject as s, onMounted as c, openBlock as l, ref as u, toDisplayString as d, unref as f } from "vue";
2
2
  //#region ../../node_modules/.pnpm/@lucide+vue@1.49.0_vue@3.5.43_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/shared/src/build/defaultAttributes.mjs
3
- var f = {
3
+ var p = {
4
4
  xmlns: "http://www.w3.org/2000/svg",
5
5
  width: 24,
6
6
  height: 24,
@@ -10,25 +10,25 @@ var f = {
10
10
  "stroke-width": 2,
11
11
  "stroke-linecap": "round",
12
12
  "stroke-linejoin": "round"
13
- }, p = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim();
13
+ }, m = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim();
14
14
  //#endregion
15
15
  //#region ../../node_modules/.pnpm/@lucide+vue@1.49.0_vue@3.5.43_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/shared/src/build/buildLucideIconNode.mjs
16
- function m(e) {
16
+ function h(e) {
17
17
  return e != null;
18
18
  }
19
- function h(e, t = {}) {
20
- let n = t.attributeNames ?? {}, r = (e) => n[e] ?? e, i = e.size ?? e.width ?? f.width, a = e.size ?? e.height ?? f.height, o = e.aliases?.filter((e) => typeof e == "string" && e.trim() !== "").map((e) => `lucide-${e}`) ?? [], s = [...e.name ? [`lucide-${e.name}`] : [], ...o], c = t.className?.split(" ").filter(Boolean) ?? [], l = t.includeDefaultClasses === !1 ? p(...c) : p("lucide", ...s, ...c), u = t.absoluteStrokeWidth ? Number(t.strokeWidth ?? f["stroke-width"]) * Number(e.size ?? e.width ?? f.width) / Number(t.size ?? t.width ?? f.width) : t.strokeWidth ?? f["stroke-width"];
19
+ function g(e, t = {}) {
20
+ let n = t.attributeNames ?? {}, r = (e) => n[e] ?? e, i = e.size ?? e.width ?? p.width, a = e.size ?? e.height ?? p.height, o = e.aliases?.filter((e) => typeof e == "string" && e.trim() !== "").map((e) => `lucide-${e}`) ?? [], s = [...e.name ? [`lucide-${e.name}`] : [], ...o], c = t.className?.split(" ").filter(Boolean) ?? [], l = t.includeDefaultClasses === !1 ? m(...c) : m("lucide", ...s, ...c), u = t.absoluteStrokeWidth ? Number(t.strokeWidth ?? p["stroke-width"]) * Number(e.size ?? e.width ?? p.width) / Number(t.size ?? t.width ?? p.width) : t.strokeWidth ?? p["stroke-width"];
21
21
  return [
22
22
  "svg",
23
23
  {
24
- ...Object.entries(f).reduce((e, [t, n]) => (e[r(t)] = n, e), {}),
24
+ ...Object.entries(p).reduce((e, [t, n]) => (e[r(t)] = n, e), {}),
25
25
  ..."color" in t && t.color && { [r("stroke")]: t.color },
26
- ..."size" in t && m(t.size) && {
26
+ ..."size" in t && h(t.size) && {
27
27
  [r("width")]: t.size,
28
28
  [r("height")]: t.size
29
29
  },
30
- ..."width" in t && m(t.width) && { [r("width")]: t.width },
31
- ..."height" in t && m(t.height) && { [r("height")]: t.height },
30
+ ..."width" in t && h(t.width) && { [r("width")]: t.width },
31
+ ..."height" in t && h(t.height) && { [r("height")]: t.height },
32
32
  [r("stroke-width")]: u,
33
33
  ...l && { [r("class")]: l },
34
34
  [r("viewBox")]: `0 0 ${i} ${a}`,
@@ -50,24 +50,24 @@ function h(e, t = {}) {
50
50
  }
51
51
  //#endregion
52
52
  //#region ../../node_modules/.pnpm/@lucide+vue@1.49.0_vue@3.5.43_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/shared/src/utils/hasA11yProp.mjs
53
- var g = (e) => {
53
+ var _ = (e) => {
54
54
  for (let t in e) if (t.startsWith("aria-") || t === "role" || t === "title") return !0;
55
55
  return !1;
56
- }, _ = (e) => e === "", v = (e) => e?.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), y = /* @__PURE__ */ Symbol("lucide-icons");
57
- function b() {
58
- return s(y, {});
56
+ }, v = (e) => e === "", y = (e) => e?.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), b = /* @__PURE__ */ Symbol("lucide-icons");
57
+ function x() {
58
+ return s(b, {});
59
59
  }
60
60
  //#endregion
61
61
  //#region ../../node_modules/.pnpm/@lucide+vue@1.49.0_vue@3.5.43_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/Icon.mjs
62
- var x = ({ name: e, iconNode: t, "icon-node": n, icon: r = {
63
- name: e && v(e),
62
+ var S = ({ name: e, iconNode: t, "icon-node": n, icon: r = {
63
+ name: e && y(e),
64
64
  node: t ?? n ?? [],
65
65
  size: 24,
66
66
  aliases: []
67
- }, absoluteStrokeWidth: i, "absolute-stroke-width": a, nonScalingStroke: s, "non-scaling-stroke": c, strokeWidth: l, "stroke-width": u, size: d, width: f = d, height: p = d, color: m, ...y }, { slots: x }) => {
68
- let { size: S, color: C, strokeWidth: w = 2, absoluteStrokeWidth: T = !1, nonScalingStroke: E = !1, class: D = "" } = b(), O = _(i) || _(a) || i === !0 || a === !0 || T === !0, k = _(s) || _(c) || s === !0 || c === !0 || E === !0;
69
- delete y.class;
70
- let A = x.default?.(), [, j, M = []] = h(r, {
67
+ }, absoluteStrokeWidth: i, "absolute-stroke-width": a, nonScalingStroke: s, "non-scaling-stroke": c, strokeWidth: l, "stroke-width": u, size: d, width: f = d, height: p = d, color: m, ...h }, { slots: b }) => {
68
+ let { size: S, color: C, strokeWidth: w = 2, absoluteStrokeWidth: T = !1, nonScalingStroke: E = !1, class: D = "" } = x(), O = v(i) || v(a) || i === !0 || a === !0 || T === !0, k = v(s) || v(c) || s === !0 || c === !0 || E === !0;
69
+ delete h.class;
70
+ let A = b.default?.(), [, j, M = []] = g(r, {
71
71
  color: m ?? C,
72
72
  width: f ?? d ?? S,
73
73
  height: p ?? d ?? S,
@@ -75,24 +75,24 @@ var x = ({ name: e, iconNode: t, "icon-node": n, icon: r = {
75
75
  absoluteStrokeWidth: O,
76
76
  nonScalingStroke: k,
77
77
  className: D,
78
- hasA11yProp: A != null && A.length > 0 || g(y),
79
- attributes: y
78
+ hasA11yProp: A != null && A.length > 0 || _(h),
79
+ attributes: h
80
80
  });
81
81
  return o("svg", j, [...M.map(([e, t]) => o(e, t)), ...A ?? []]);
82
82
  };
83
83
  //#endregion
84
84
  //#region ../../node_modules/.pnpm/@lucide+vue@1.49.0_vue@3.5.43_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/createLucideIcon.mjs
85
- function S(e, t = []) {
85
+ function C(e, t = []) {
86
86
  let n = typeof e == "string" ? {
87
87
  name: e,
88
88
  node: t
89
89
  } : e;
90
- return (e, { slots: t }) => o(x, {
90
+ return (e, { slots: t }) => o(S, {
91
91
  ...e,
92
92
  icon: n
93
93
  }, t.default ? { default: t.default } : void 0);
94
94
  }
95
- var C = S({
95
+ var w = C({
96
96
  name: "circle-alert",
97
97
  size: 24,
98
98
  node: [
@@ -118,7 +118,7 @@ var C = S({
118
118
  }]
119
119
  ],
120
120
  aliases: ["alert-circle"]
121
- }), w = S({
121
+ }), T = C({
122
122
  name: "circle-check",
123
123
  size: 24,
124
124
  node: [["circle", {
@@ -134,132 +134,98 @@ var C = S({
134
134
  });
135
135
  //#endregion
136
136
  //#region web/src/kvman.ts
137
- function T() {
137
+ function E() {
138
138
  let e = s("kvman");
139
139
  if (e === void 0) throw Error("kvcoder components run inside kvwebui, which provides kvman.");
140
140
  return e;
141
141
  }
142
- function E(e) {
142
+ function D(e) {
143
143
  return typeof e == "object" && e && !Array.isArray(e) ? Object.fromEntries(Object.entries(e)) : {};
144
144
  }
145
- function D(e) {
145
+ function O(e) {
146
146
  let t = e.indexOf("/");
147
147
  return t < 0 ? `kernel.errors.${e}` : `${e.slice(0, t)}.errors.${e.slice(t + 1)}`;
148
148
  }
149
- function O(e) {
149
+ function k(e) {
150
150
  if (!(e instanceof Error) || !("problem" in e)) return;
151
151
  let t = e.problem;
152
152
  if (typeof t == "object" && t && "code" in t && typeof t.code == "string") return {
153
153
  code: t.code,
154
- params: k("params" in t ? t.params : void 0)
154
+ params: A("params" in t ? t.params : void 0)
155
155
  };
156
156
  }
157
- function k(e) {
158
- return Object.fromEntries(Object.entries(E(e)).map(([e, t]) => [e, typeof t == "string" ? t : JSON.stringify(t)]));
157
+ function A(e) {
158
+ return Object.fromEntries(Object.entries(D(e)).map(([e, t]) => [e, typeof t == "string" ? t : JSON.stringify(t)]));
159
159
  }
160
160
  //#endregion
161
161
  //#region web/src/McpSignIn.vue?vue&type=script&setup=true&lang.ts
162
- var A = /*@__PURE__*/ a({
162
+ var j = ["data-outcome"], M = {
163
+ key: 0,
164
+ class: "kvc-setting-title"
165
+ }, N = {
166
+ class: "kvc-setting-title",
167
+ "data-test": "mcp-sign-in-title"
168
+ }, P = { class: "kvc-muted" }, F = {
169
+ class: "kvc-setting-title",
170
+ "data-test": "mcp-sign-in-title"
171
+ }, I = {
172
+ class: "kvc-muted",
173
+ dir: "auto",
174
+ "data-test": "mcp-sign-in-reason"
175
+ }, L = { class: "kvc-muted" }, R = /* @__PURE__ */ a({
163
176
  __name: "McpSignIn",
164
- setup(e, { expose: t }) {
165
- t();
166
- let n = T(), r = u({ kind: "working" });
167
- c(async () => {
168
- let e = new URLSearchParams(window.location.search), t = e.get("code"), i = e.get("state");
169
- if (e.has("error") || t === null || t === "" || i === null || i === "") return void (r.value = {
177
+ setup(t) {
178
+ let a = E(), o = u({ kind: "working" });
179
+ return c(async () => {
180
+ let e = new URLSearchParams(window.location.search), t = e.get("code"), n = e.get("state");
181
+ if (e.has("error") || t === null || t === "" || n === null || n === "") return void (o.value = {
170
182
  kind: "failed",
171
- text: n.t("kvcoder.config.mcp.signIn.unfinished")
183
+ text: a.t("kvcoder.config.mcp.signIn.unfinished")
172
184
  });
173
185
  try {
174
- r.value = {
186
+ o.value = {
175
187
  kind: "done",
176
- name: (await n.exec("kvcoder.mcp.sign-in.finish", {
177
- state: i,
188
+ name: (await a.exec("kvcoder.mcp.sign-in.finish", {
189
+ state: n,
178
190
  code: t
179
191
  })).name
180
192
  };
181
193
  } catch (e) {
182
- let t = O(e);
183
- r.value = {
194
+ let t = k(e);
195
+ o.value = {
184
196
  kind: "failed",
185
- text: t === void 0 ? n.t("kvcoder.ui.failed") : n.t(D(t.code), t.params)
197
+ text: t === void 0 ? a.t("kvcoder.ui.failed") : a.t(O(t.code), t.params)
186
198
  };
187
199
  }
188
- });
189
- let i = {
190
- kvman: n,
191
- outcome: r,
192
- get CircleAlert() {
193
- return C;
194
- },
195
- get CircleCheck() {
196
- return w;
197
- }
198
- };
199
- return Object.defineProperty(i, "__isScriptSetup", {
200
- enumerable: !1,
201
- value: !0
202
- }), i;
200
+ }), (t, s) => (l(), n("div", {
201
+ class: "kvc-sign-in",
202
+ role: "status",
203
+ "data-outcome": o.value.kind,
204
+ "data-test": "mcp-sign-in"
205
+ }, [o.value.kind === "working" ? (l(), n("span", M, d(f(a).t("kvcoder.config.mcp.signIn.working")), 1)) : o.value.kind === "done" ? (l(), n(e, { key: 1 }, [
206
+ i(f(T), {
207
+ size: 28,
208
+ class: "kvc-sign-in-done",
209
+ "aria-hidden": "true"
210
+ }),
211
+ r("span", N, d(f(a).t("kvcoder.config.mcp.signIn.done", { name: o.value.name })), 1),
212
+ r("span", P, d(f(a).t("kvcoder.config.mcp.signIn.close")), 1)
213
+ ], 64)) : (l(), n(e, { key: 2 }, [
214
+ i(f(w), {
215
+ size: 28,
216
+ class: "kvc-sign-in-failed",
217
+ "aria-hidden": "true"
218
+ }),
219
+ r("span", F, d(f(a).t("kvcoder.config.mcp.signIn.failed")), 1),
220
+ r("span", I, d(o.value.text), 1),
221
+ r("span", L, d(f(a).t("kvcoder.config.mcp.signIn.retry")), 1)
222
+ ], 64))], 8, j));
203
223
  }
204
- }), j = (e, t) => {
205
- let n = e.__vccOpts || e;
206
- for (let [e, r] of t) n[e] = r;
207
- return n;
208
- }, M = ["data-outcome"], N = {
209
- key: 0,
210
- class: "kvc-setting-title"
211
- }, P = {
212
- class: "kvc-setting-title",
213
- "data-test": "mcp-sign-in-title"
214
- }, F = { class: "kvc-muted" }, I = {
215
- class: "kvc-setting-title",
216
- "data-test": "mcp-sign-in-title"
217
- }, L = {
218
- class: "kvc-muted",
219
- dir: "auto",
220
- "data-test": "mcp-sign-in-reason"
221
- }, R = { class: "kvc-muted" };
222
- function z(t, a, o, s, c, u) {
223
- return l(), n("div", {
224
- class: "kvc-sign-in",
225
- role: "status",
226
- "data-outcome": s.outcome.kind,
227
- "data-test": "mcp-sign-in"
228
- }, [s.outcome.kind === "working" ? (l(), n("span", N, d(s.kvman.t("kvcoder.config.mcp.signIn.working")), 1)) : s.outcome.kind === "done" ? (l(), n(e, { key: 1 }, [
229
- i(s.CircleCheck, {
230
- size: 28,
231
- class: "kvc-sign-in-done",
232
- "aria-hidden": "true"
233
- }),
234
- r("span", P, d(s.kvman.t("kvcoder.config.mcp.signIn.done", { name: s.outcome.name })), 1),
235
- r("span", F, d(s.kvman.t("kvcoder.config.mcp.signIn.close")), 1)
236
- ], 64)) : (l(), n(e, { key: 2 }, [
237
- i(s.CircleAlert, {
238
- size: 28,
239
- class: "kvc-sign-in-failed",
240
- "aria-hidden": "true"
241
- }),
242
- r("span", I, d(s.kvman.t("kvcoder.config.mcp.signIn.failed")), 1),
243
- r("span", L, d(s.outcome.text), 1),
244
- r("span", R, d(s.kvman.t("kvcoder.config.mcp.signIn.retry")), 1)
245
- ], 64))], 8, M);
246
- }
247
- var B = /*#__PURE__*/ j(A, [["render", z], ["__file", "/home/runner/work/kvman/kvman/extensions/kvcoder/web/src/McpSignIn.vue"]]), V = /*@__PURE__*/ a({
224
+ }), z = /* @__PURE__ */ a({
248
225
  __name: "mcp-sign-in",
249
- setup(e, { expose: t }) {
250
- t();
251
- let n = { McpSignIn: B };
252
- return Object.defineProperty(n, "__isScriptSetup", {
253
- enumerable: !1,
254
- value: !0
255
- }), n;
226
+ setup(e) {
227
+ return (e, n) => (l(), t(R));
256
228
  }
257
229
  });
258
230
  //#endregion
259
- //#region web/components/mcp-sign-in.vue
260
- function H(e, n, r, i, a, o) {
261
- return l(), t(i.McpSignIn);
262
- }
263
- var U = /*#__PURE__*/ j(V, [["render", H], ["__file", "/home/runner/work/kvman/kvman/extensions/kvcoder/web/components/mcp-sign-in.vue"]]);
264
- //#endregion
265
- export { U as default };
231
+ export { z as default };