@kvman/kvcoder 0.1.15 → 0.1.17

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 (247) hide show
  1. package/dist/artifacts/ended-url.d.ts +4 -0
  2. package/dist/artifacts/ended-url.d.ts.map +1 -0
  3. package/dist/artifacts/ended-url.js +30 -0
  4. package/dist/artifacts/ended-url.js.map +1 -0
  5. package/dist/calls/line-run.d.ts +1 -0
  6. package/dist/calls/line-run.d.ts.map +1 -1
  7. package/dist/calls/line-run.js +4 -1
  8. package/dist/calls/line-run.js.map +1 -1
  9. package/dist/calls/run-tool.d.ts +38 -1
  10. package/dist/calls/run-tool.d.ts.map +1 -1
  11. package/dist/calls/run-tool.js +46 -1
  12. package/dist/calls/run-tool.js.map +1 -1
  13. package/dist/connector-call.d.ts +7 -2
  14. package/dist/connector-call.d.ts.map +1 -1
  15. package/dist/connector-call.js +8 -4
  16. package/dist/connector-call.js.map +1 -1
  17. package/dist/connectors/artifact.d.ts.map +1 -1
  18. package/dist/connectors/artifact.js +10 -2
  19. package/dist/connectors/artifact.js.map +1 -1
  20. package/dist/connectors/background.d.ts +1 -1
  21. package/dist/connectors/background.d.ts.map +1 -1
  22. package/dist/connectors/background.js +5 -2
  23. package/dist/connectors/background.js.map +1 -1
  24. package/dist/connectors/binary.js +2 -2
  25. package/dist/connectors/binary.js.map +1 -1
  26. package/dist/connectors/builtin-connectors.d.ts +16 -3
  27. package/dist/connectors/builtin-connectors.d.ts.map +1 -1
  28. package/dist/connectors/delegate.d.ts +20 -13
  29. package/dist/connectors/delegate.d.ts.map +1 -1
  30. package/dist/connectors/delegate.js +27 -20
  31. package/dist/connectors/delegate.js.map +1 -1
  32. package/dist/connectors/execution-map.d.ts +1 -1
  33. package/dist/connectors/execution-map.d.ts.map +1 -1
  34. package/dist/connectors/execution-map.js +1 -1
  35. package/dist/connectors/execution-map.js.map +1 -1
  36. package/dist/connectors/mcp.d.ts +1 -1
  37. package/dist/connectors/mcp.d.ts.map +1 -1
  38. package/dist/connectors/mcp.js +12 -7
  39. package/dist/connectors/mcp.js.map +1 -1
  40. package/dist/connectors/payload-fields.d.ts +1 -0
  41. package/dist/connectors/payload-fields.d.ts.map +1 -1
  42. package/dist/connectors/payload-fields.js +1 -0
  43. package/dist/connectors/payload-fields.js.map +1 -1
  44. package/dist/connectors/shell.d.ts +1 -0
  45. package/dist/connectors/shell.d.ts.map +1 -1
  46. package/dist/connectors/shell.js +2 -2
  47. package/dist/connectors/shell.js.map +1 -1
  48. package/dist/delegate/approved-run.d.ts.map +1 -1
  49. package/dist/delegate/approved-run.js +4 -11
  50. package/dist/delegate/approved-run.js.map +1 -1
  51. package/dist/delegate/brief.d.ts +34 -0
  52. package/dist/delegate/brief.d.ts.map +1 -0
  53. package/dist/delegate/brief.js +84 -0
  54. package/dist/delegate/brief.js.map +1 -0
  55. package/dist/delegate/continue-helper.d.ts.map +1 -1
  56. package/dist/delegate/continue-helper.js +6 -7
  57. package/dist/delegate/continue-helper.js.map +1 -1
  58. package/dist/delegate/permission.d.ts +26 -1
  59. package/dist/delegate/permission.d.ts.map +1 -1
  60. package/dist/delegate/program-permission.d.ts +1 -1
  61. package/dist/delegate/runs.d.ts +7 -3
  62. package/dist/delegate/runs.d.ts.map +1 -1
  63. package/dist/delegate/runs.js +2 -2
  64. package/dist/delegate/runs.js.map +1 -1
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +4 -0
  67. package/dist/index.js.map +1 -1
  68. package/dist/jobs/notify-watch.d.ts +5 -0
  69. package/dist/jobs/notify-watch.d.ts.map +1 -0
  70. package/dist/jobs/notify-watch.js +53 -0
  71. package/dist/jobs/notify-watch.js.map +1 -0
  72. package/dist/jobs/process-handlers.d.ts.map +1 -1
  73. package/dist/jobs/process-handlers.js +2 -1
  74. package/dist/jobs/process-handlers.js.map +1 -1
  75. package/dist/jobs/process-records.d.ts +4 -1
  76. package/dist/jobs/process-records.d.ts.map +1 -1
  77. package/dist/jobs/process-records.js +6 -2
  78. package/dist/jobs/process-records.js.map +1 -1
  79. package/dist/jobs/process-report.d.ts +2 -1
  80. package/dist/jobs/process-report.d.ts.map +1 -1
  81. package/dist/jobs/process-report.js +8 -5
  82. package/dist/jobs/process-report.js.map +1 -1
  83. package/dist/jobs/process-run.d.ts +1 -1
  84. package/dist/jobs/process-run.d.ts.map +1 -1
  85. package/dist/jobs/process-run.js +7 -3
  86. package/dist/jobs/process-run.js.map +1 -1
  87. package/dist/mcp/connect.d.ts +10 -5
  88. package/dist/mcp/connect.d.ts.map +1 -1
  89. package/dist/mcp/connect.js +22 -9
  90. package/dist/mcp/connect.js.map +1 -1
  91. package/dist/mcp/servers.d.ts +4 -0
  92. package/dist/mcp/servers.d.ts.map +1 -1
  93. package/dist/mcp/servers.js +5 -1
  94. package/dist/mcp/servers.js.map +1 -1
  95. package/dist/mcp/turn-servers.d.ts +8 -0
  96. package/dist/mcp/turn-servers.d.ts.map +1 -0
  97. package/dist/mcp/turn-servers.js +88 -0
  98. package/dist/mcp/turn-servers.js.map +1 -0
  99. package/dist/prompt/build-prompt.d.ts +1 -1
  100. package/dist/prompt/build-prompt.d.ts.map +1 -1
  101. package/dist/prompt/build-prompt.js +2 -3
  102. package/dist/prompt/build-prompt.js.map +1 -1
  103. package/dist/prompt/kept-rules.d.ts +6 -0
  104. package/dist/prompt/kept-rules.d.ts.map +1 -0
  105. package/dist/prompt/kept-rules.js +47 -0
  106. package/dist/prompt/kept-rules.js.map +1 -0
  107. package/dist/prompt/project-rules.d.ts +7 -2
  108. package/dist/prompt/project-rules.d.ts.map +1 -1
  109. package/dist/prompt/project-rules.js +27 -16
  110. package/dist/prompt/project-rules.js.map +1 -1
  111. package/dist/prompt/session-grants.d.ts +16 -23
  112. package/dist/prompt/session-grants.d.ts.map +1 -1
  113. package/dist/prompt/session-prompt.d.ts +1 -1
  114. package/dist/prompt/session-prompt.d.ts.map +1 -1
  115. package/dist/prompt/session-prompt.js +16 -9
  116. package/dist/prompt/session-prompt.js.map +1 -1
  117. package/dist/prompt/working-method.js +7 -7
  118. package/dist/prompt/working-method.js.map +1 -1
  119. package/dist/register-settings.d.ts +1 -0
  120. package/dist/register-settings.d.ts.map +1 -1
  121. package/dist/register-settings.js +1 -0
  122. package/dist/register-settings.js.map +1 -1
  123. package/dist/registry/register-connectors.d.ts +17 -1
  124. package/dist/registry/register-connectors.d.ts.map +1 -1
  125. package/dist/registry/register-connectors.js +11 -7
  126. package/dist/registry/register-connectors.js.map +1 -1
  127. package/dist/schemas/delegate-brief.d.ts +20 -0
  128. package/dist/schemas/delegate-brief.d.ts.map +1 -0
  129. package/dist/schemas/delegate-brief.js +9 -0
  130. package/dist/schemas/delegate-brief.js.map +1 -0
  131. package/dist/schemas/kept-rule.d.ts +12 -0
  132. package/dist/schemas/kept-rule.d.ts.map +1 -0
  133. package/dist/schemas/kept-rule.js +7 -0
  134. package/dist/schemas/kept-rule.js.map +1 -0
  135. package/dist/schemas/mcp-session.d.ts +15 -0
  136. package/dist/schemas/mcp-session.d.ts.map +1 -0
  137. package/dist/schemas/mcp-session.js +14 -0
  138. package/dist/schemas/mcp-session.js.map +1 -0
  139. package/dist/schemas/process-doc.d.ts +22 -0
  140. package/dist/schemas/process-doc.d.ts.map +1 -0
  141. package/dist/schemas/process-doc.js +20 -0
  142. package/dist/schemas/process-doc.js.map +1 -0
  143. package/dist/schemas/read-ending.d.ts +8 -0
  144. package/dist/schemas/read-ending.d.ts.map +1 -0
  145. package/dist/schemas/read-ending.js +4 -0
  146. package/dist/schemas/read-ending.js.map +1 -0
  147. package/dist/schemas/records.d.ts +29 -23
  148. package/dist/schemas/records.d.ts.map +1 -1
  149. package/dist/schemas/records.js +14 -16
  150. package/dist/schemas/records.js.map +1 -1
  151. package/dist/schemas/registry.d.ts +1 -0
  152. package/dist/schemas/registry.d.ts.map +1 -1
  153. package/dist/schemas/registry.js +3 -2
  154. package/dist/schemas/registry.js.map +1 -1
  155. package/dist/schemas/sent-record.d.ts +13 -0
  156. package/dist/schemas/sent-record.d.ts.map +1 -0
  157. package/dist/schemas/sent-record.js +7 -0
  158. package/dist/schemas/sent-record.js.map +1 -0
  159. package/dist/sessions/new-session.d.ts.map +1 -1
  160. package/dist/sessions/new-session.js +2 -0
  161. package/dist/sessions/new-session.js.map +1 -1
  162. package/dist/sessions/session-view.d.ts +7 -2
  163. package/dist/sessions/session-view.d.ts.map +1 -1
  164. package/dist/sessions/session-view.js +3 -0
  165. package/dist/sessions/session-view.js.map +1 -1
  166. package/dist/store/collections.d.ts +74 -6
  167. package/dist/store/collections.d.ts.map +1 -1
  168. package/dist/store/collections.js +6 -0
  169. package/dist/store/collections.js.map +1 -1
  170. package/dist/thinking-levels.d.ts +2 -0
  171. package/dist/thinking-levels.d.ts.map +1 -1
  172. package/dist/thinking-levels.js +4 -0
  173. package/dist/thinking-levels.js.map +1 -1
  174. package/dist/turns/background.d.ts +3 -0
  175. package/dist/turns/background.d.ts.map +1 -1
  176. package/dist/turns/background.js +10 -0
  177. package/dist/turns/background.js.map +1 -1
  178. package/dist/turns/clear-results.d.ts +2 -2
  179. package/dist/turns/clear-results.d.ts.map +1 -1
  180. package/dist/turns/clear-results.js +31 -15
  181. package/dist/turns/clear-results.js.map +1 -1
  182. package/dist/turns/collapse.d.ts +12 -0
  183. package/dist/turns/collapse.d.ts.map +1 -0
  184. package/dist/turns/collapse.js +67 -0
  185. package/dist/turns/collapse.js.map +1 -0
  186. package/dist/turns/connection-wait.d.ts +12 -0
  187. package/dist/turns/connection-wait.d.ts.map +1 -0
  188. package/dist/turns/connection-wait.js +56 -0
  189. package/dist/turns/connection-wait.js.map +1 -0
  190. package/dist/turns/end-turn-state.js +2 -2
  191. package/dist/turns/end-turn-state.js.map +1 -1
  192. package/dist/turns/end-turn.d.ts.map +1 -1
  193. package/dist/turns/end-turn.js +3 -0
  194. package/dist/turns/end-turn.js.map +1 -1
  195. package/dist/turns/history.d.ts +2 -0
  196. package/dist/turns/history.d.ts.map +1 -1
  197. package/dist/turns/history.js +1 -0
  198. package/dist/turns/history.js.map +1 -1
  199. package/dist/turns/model-context.d.ts +6 -2
  200. package/dist/turns/model-context.d.ts.map +1 -1
  201. package/dist/turns/model-context.js +26 -8
  202. package/dist/turns/model-context.js.map +1 -1
  203. package/dist/turns/model-retry.d.ts +5 -2
  204. package/dist/turns/model-retry.d.ts.map +1 -1
  205. package/dist/turns/model-retry.js +5 -3
  206. package/dist/turns/model-retry.js.map +1 -1
  207. package/dist/turns/read-endings.d.ts +8 -0
  208. package/dist/turns/read-endings.d.ts.map +1 -0
  209. package/dist/turns/read-endings.js +24 -0
  210. package/dist/turns/read-endings.js.map +1 -0
  211. package/dist/turns/run-calls.d.ts +0 -6
  212. package/dist/turns/run-calls.d.ts.map +1 -1
  213. package/dist/turns/run-calls.js +24 -26
  214. package/dist/turns/run-calls.js.map +1 -1
  215. package/dist/turns/run-command.d.ts +2 -0
  216. package/dist/turns/run-command.d.ts.map +1 -1
  217. package/dist/turns/run-command.js +6 -0
  218. package/dist/turns/run-command.js.map +1 -1
  219. package/dist/turns/run-scope.d.ts +7 -0
  220. package/dist/turns/run-scope.d.ts.map +1 -0
  221. package/dist/turns/run-scope.js +24 -0
  222. package/dist/turns/run-scope.js.map +1 -0
  223. package/dist/turns/sent-record.d.ts +4 -0
  224. package/dist/turns/sent-record.d.ts.map +1 -0
  225. package/dist/turns/sent-record.js +11 -0
  226. package/dist/turns/sent-record.js.map +1 -0
  227. package/dist/turns/settle-calls.d.ts.map +1 -1
  228. package/dist/turns/settle-calls.js +1 -19
  229. package/dist/turns/settle-calls.js.map +1 -1
  230. package/dist/turns/start-turn.js +1 -1
  231. package/dist/turns/start-turn.js.map +1 -1
  232. package/dist/turns/step.d.ts.map +1 -1
  233. package/dist/turns/step.js +36 -9
  234. package/dist/turns/step.js.map +1 -1
  235. package/dist/ui/register-ui.js +1 -1
  236. package/dist/ui/register-ui.js.map +1 -1
  237. package/dist/web/components/call.js +1 -1
  238. package/dist/web/components/connectors.js +186 -155
  239. package/dist/web/components/conversation.js +1453 -1378
  240. package/docs/connectors.md +3 -3
  241. package/locales/ar.json +17 -1
  242. package/locales/en.json +17 -1
  243. package/package.json +18 -3
  244. package/dist/delegate/start-pending.d.ts +0 -5
  245. package/dist/delegate/start-pending.d.ts.map +0 -1
  246. package/dist/delegate/start-pending.js +0 -42
  247. package/dist/delegate/start-pending.js.map +0 -1
@@ -1262,7 +1262,7 @@ var lt = { class: "kvc-form-choice" }, ut = { class: "kvc-form-label" }, dt = ["
1262
1262
  }
1263
1263
  }), rr = "@kvman/kvcoder", ir = (e) => Array.isArray(e) && e.every((e) => typeof e == "string");
1264
1264
  function ar(e) {
1265
- return typeof e != "object" || !e || !("name" in e) || !("description" in e) || typeof e.name != "string" || typeof e.description != "string" ? !1 : "command" in e ? typeof e.command == "string" && "args" in e && ir(e.args) && "env" in e && ir(e.env) : "url" in e && typeof e.url == "string" && "headers" in e && ir(e.headers);
1265
+ return typeof e != "object" || !e || !("name" in e) || !("description" in e) || typeof e.name != "string" || typeof e.description != "string" ? !1 : "command" in e ? typeof e.command == "string" && "args" in e && ir(e.args) && "env" in e && ir(e.env) && (!("port" in e) || typeof e.port == "number") : "url" in e && typeof e.url == "string" && "headers" in e && ir(e.headers);
1266
1266
  }
1267
1267
  var or = (e) => Array.isArray(e) ? e.filter(ar) : [], sr = (e, t, n) => `mcp.${e}.${t}.${n}`, $ = (e) => `mcp.${e}.`, cr = (e) => e.kind === "command" ? "env" : "header";
1268
1268
  function lr(e, t) {
@@ -1272,6 +1272,7 @@ function lr(e, t) {
1272
1272
  kind: "command",
1273
1273
  command: "",
1274
1274
  args: "",
1275
+ port: "",
1275
1276
  url: "",
1276
1277
  values: []
1277
1278
  };
@@ -1287,6 +1288,7 @@ function lr(e, t) {
1287
1288
  kind: "command",
1288
1289
  command: e.command,
1289
1290
  args: e.args.join("\n"),
1291
+ port: e.port === void 0 ? "" : String(e.port),
1290
1292
  url: "",
1291
1293
  values: i
1292
1294
  } : {
@@ -1295,6 +1297,7 @@ function lr(e, t) {
1295
1297
  kind: "url",
1296
1298
  command: "",
1297
1299
  args: "",
1300
+ port: "",
1298
1301
  url: e.url,
1299
1302
  values: i
1300
1303
  };
@@ -1304,36 +1307,39 @@ function ur(e) {
1304
1307
  name: e.name.trim(),
1305
1308
  description: e.description.trim()
1306
1309
  }, n = e.values.map((e) => e.name.trim());
1307
- return e.kind === "url" ? {
1310
+ if (e.kind === "url") return {
1308
1311
  ...t,
1309
1312
  url: e.url.trim(),
1310
1313
  headers: n
1311
- } : {
1314
+ };
1315
+ let r = e.port.trim();
1316
+ return {
1312
1317
  ...t,
1313
1318
  command: e.command.trim(),
1314
1319
  args: e.args.split("\n").filter((e) => e !== ""),
1315
- env: n
1320
+ env: n,
1321
+ ...r === "" ? {} : { port: Number(r) }
1316
1322
  };
1317
1323
  }
1318
1324
  var dr = /^[a-z][a-z0-9]*(-[a-z0-9]+)*$/, fr = {
1319
1325
  env: /^[A-Za-z_][A-Za-z0-9_]*$/,
1320
1326
  header: /^[A-Za-z0-9!#$%&'*+.^_`|~-]+$/
1321
- }, pr = (e) => URL.canParse(e) && ["http:", "https:"].includes(new URL(e).protocol);
1322
- function mr(e) {
1327
+ }, pr = (e) => URL.canParse(e) && ["http:", "https:"].includes(new URL(e).protocol), mr = (e) => e === "" || /^\d+$/.test(e) && Number(e) >= 1024 && Number(e) <= 65535;
1328
+ function hr(e) {
1323
1329
  let t = cr(e), n = e.values.map((e) => e.name.trim());
1324
1330
  return n.some((e) => !fr[t].test(e)) ? `kvcoder.config.mcp.invalid.valueName.${t}` : new Set(n).size === n.length ? e.values.some((e) => (!e.set || e.replacing) && e.value === "") ? "kvcoder.config.mcp.invalid.valueEmpty" : void 0 : "kvcoder.config.mcp.invalid.valueRepeated";
1325
1331
  }
1326
- function hr(e, t) {
1332
+ function gr(e, t) {
1327
1333
  let n = e.name.trim(), r = {};
1328
- n === "" ? r.name = "kvcoder.config.mcp.invalid.nameEmpty" : dr.test(n) ? t.includes(n) && (r.name = "kvcoder.config.mcp.invalid.nameTaken") : r.name = "kvcoder.config.mcp.invalid.nameShape", e.description.trim() === "" && (r.description = "kvcoder.config.mcp.invalid.descriptionEmpty"), e.kind === "command" && e.command.trim() === "" && (r.command = "kvcoder.config.mcp.invalid.commandEmpty"), e.kind === "url" && !pr(e.url.trim()) && (r.url = "kvcoder.config.mcp.invalid.url");
1329
- let i = mr(e);
1334
+ n === "" ? r.name = "kvcoder.config.mcp.invalid.nameEmpty" : dr.test(n) ? t.includes(n) && (r.name = "kvcoder.config.mcp.invalid.nameTaken") : r.name = "kvcoder.config.mcp.invalid.nameShape", e.description.trim() === "" && (r.description = "kvcoder.config.mcp.invalid.descriptionEmpty"), e.kind === "command" && e.command.trim() === "" && (r.command = "kvcoder.config.mcp.invalid.commandEmpty"), e.kind === "command" && !mr(e.port.trim()) && (r.port = "kvcoder.config.mcp.invalid.port"), e.kind === "url" && !pr(e.url.trim()) && (r.url = "kvcoder.config.mcp.invalid.url");
1335
+ let i = hr(e);
1330
1336
  return i !== void 0 && (r.values = i), r;
1331
1337
  }
1332
- function gr(e, t) {
1338
+ function _r(e, t) {
1333
1339
  return t === void 0 ? !1 : "command" in t ? e.kind !== "command" || e.command.trim() !== t.command || e.args.split("\n").map((e) => e.trim()).filter((e) => e !== "").join("\n") !== t.args.join("\n") : e.kind !== "url" || e.url.trim() !== t.url;
1334
1340
  }
1335
- function _r(e, t, n) {
1336
- let r = e.name.trim(), i = cr(e), a = new Set(e.values.map((e) => sr(r, i, e.name.trim()))), o = Object.fromEntries(e.values.filter((e) => !e.set || e.replacing).map((e) => [sr(r, i, e.name.trim()), e.value])), s = t === void 0 ? [] : n.filter((e) => e.startsWith(`${$(r)}env.`) || e.startsWith(`${$(r)}header.`)), c = gr(e, t) ? n.filter((e) => e.startsWith(`${$(r)}oauth.`)) : [];
1341
+ function vr(e, t, n) {
1342
+ let r = e.name.trim(), i = cr(e), a = new Set(e.values.map((e) => sr(r, i, e.name.trim()))), o = Object.fromEntries(e.values.filter((e) => !e.set || e.replacing).map((e) => [sr(r, i, e.name.trim()), e.value])), s = t === void 0 ? [] : n.filter((e) => e.startsWith(`${$(r)}env.`) || e.startsWith(`${$(r)}header.`)), c = _r(e, t) ? n.filter((e) => e.startsWith(`${$(r)}oauth.`)) : [];
1337
1343
  return {
1338
1344
  set: o,
1339
1345
  remove: [...s.filter((e) => !a.has(e)), ...c]
@@ -1341,75 +1347,83 @@ function _r(e, t, n) {
1341
1347
  }
1342
1348
  //#endregion
1343
1349
  //#region web/src/McpServerForm.vue?vue&type=script&setup=true&lang.ts
1344
- var vr = {
1350
+ var yr = {
1345
1351
  class: "kvc-setting-title",
1346
1352
  "data-test": "mcp-form-title"
1347
- }, yr = { class: "kvc-form-field" }, br = { class: "kvc-form-label" }, xr = ["aria-invalid"], Sr = {
1353
+ }, br = { class: "kvc-form-field" }, xr = { class: "kvc-form-label" }, Sr = ["aria-invalid"], Cr = {
1348
1354
  key: 0,
1349
1355
  class: "kvc-form-error",
1350
1356
  role: "alert",
1351
1357
  "data-test": "mcp-name-error"
1352
- }, Cr = {
1358
+ }, wr = {
1353
1359
  key: 1,
1354
1360
  class: "kvc-muted"
1355
- }, wr = { class: "kvc-form-field" }, Tr = { class: "kvc-form-label" }, Er = ["aria-invalid"], Dr = {
1361
+ }, Tr = { class: "kvc-form-field" }, Er = { class: "kvc-form-label" }, Dr = ["aria-invalid"], Or = {
1356
1362
  key: 0,
1357
1363
  class: "kvc-form-error",
1358
1364
  role: "alert",
1359
1365
  "data-test": "mcp-description-error"
1360
- }, Or = {
1366
+ }, kr = {
1361
1367
  key: 1,
1362
1368
  class: "kvc-muted"
1363
- }, kr = { class: "kvc-form-choice" }, Ar = { class: "kvc-form-label" }, jr = [
1369
+ }, Ar = { class: "kvc-form-choice" }, jr = { class: "kvc-form-label" }, Mr = [
1364
1370
  "value",
1365
1371
  "checked",
1366
1372
  "data-test",
1367
1373
  "onChange"
1368
- ], Mr = { class: "kvc-form-field" }, Nr = { class: "kvc-form-label" }, Pr = ["aria-invalid"], Fr = {
1374
+ ], Nr = { class: "kvc-form-field" }, Pr = { class: "kvc-form-label" }, Fr = ["aria-invalid"], Ir = {
1369
1375
  key: 0,
1370
1376
  class: "kvc-form-error",
1371
1377
  role: "alert",
1372
1378
  "data-test": "mcp-command-error"
1373
- }, Ir = {
1379
+ }, Lr = {
1374
1380
  key: 1,
1375
1381
  class: "kvc-muted"
1376
- }, Lr = { class: "kvc-form-field" }, Rr = { class: "kvc-form-label" }, zr = { class: "kvc-muted" }, Br = {
1382
+ }, Rr = { class: "kvc-form-field" }, zr = { class: "kvc-form-label" }, Br = { class: "kvc-muted" }, Vr = { class: "kvc-form-field" }, Hr = { class: "kvc-form-label" }, Ur = ["aria-invalid"], Wr = {
1383
+ key: 0,
1384
+ class: "kvc-form-error",
1385
+ role: "alert",
1386
+ "data-test": "mcp-port-error"
1387
+ }, Gr = {
1388
+ key: 1,
1389
+ class: "kvc-muted"
1390
+ }, Kr = {
1377
1391
  key: 1,
1378
1392
  class: "kvc-form-field"
1379
- }, Vr = { class: "kvc-form-label" }, Hr = ["aria-invalid"], Ur = {
1393
+ }, qr = { class: "kvc-form-label" }, Jr = ["aria-invalid"], Yr = {
1380
1394
  key: 0,
1381
1395
  class: "kvc-form-error",
1382
1396
  role: "alert",
1383
1397
  "data-test": "mcp-url-error"
1384
- }, Wr = {
1398
+ }, Xr = {
1385
1399
  class: "kvc-form-field",
1386
1400
  "data-test": "mcp-values"
1387
- }, Gr = { class: "kvc-form-label" }, Kr = { class: "kvc-muted" }, qr = {
1401
+ }, Zr = { class: "kvc-form-label" }, Qr = { class: "kvc-muted" }, $r = {
1388
1402
  key: 0,
1389
1403
  class: "kvc-muted",
1390
1404
  role: "status",
1391
1405
  "data-test": "mcp-moved"
1392
- }, Jr = [
1406
+ }, ei = [
1393
1407
  "onUpdate:modelValue",
1394
1408
  "disabled",
1395
1409
  "placeholder",
1396
1410
  "aria-label"
1397
- ], Yr = {
1411
+ ], ti = {
1398
1412
  key: 0,
1399
1413
  class: "kvc-form-set"
1400
- }, Xr = {
1414
+ }, ni = {
1401
1415
  class: "kvc-chip",
1402
1416
  "data-test": "mcp-value-set"
1403
- }, Zr = ["onClick"], Qr = [
1417
+ }, ri = ["onClick"], ii = [
1404
1418
  "onUpdate:modelValue",
1405
1419
  "placeholder",
1406
1420
  "aria-label"
1407
- ], $r = ["aria-label", "onClick"], ei = {
1421
+ ], ai = ["aria-label", "onClick"], oi = {
1408
1422
  key: 1,
1409
1423
  class: "kvc-form-error",
1410
1424
  role: "alert",
1411
1425
  "data-test": "mcp-values-error"
1412
- }, ti = { class: "kvc-actions" }, ni = ["disabled"], ri = ["disabled"], ii = /* @__PURE__ */ c({
1426
+ }, si = { class: "kvc-actions" }, ci = ["disabled"], li = ["disabled"], ui = /* @__PURE__ */ c({
1413
1427
  __name: "McpServerForm",
1414
1428
  props: {
1415
1429
  entry: {},
@@ -1419,13 +1433,13 @@ var vr = {
1419
1433
  },
1420
1434
  emits: ["save", "cancel"],
1421
1435
  setup(n, { emit: c }) {
1422
- let l = n, u = c, d = K(), f = v(lr(l.entry, l.secrets)), p = y({}), m = t(() => cr(f)), h = (e) => d.t(`kvcoder.config.mcp.form.${e}`), g = t(() => gr(f, l.entry));
1436
+ let l = n, u = c, d = K(), f = v(lr(l.entry, l.secrets)), p = y({}), m = t(() => cr(f)), h = (e) => d.t(`kvcoder.config.mcp.form.${e}`), g = t(() => _r(f, l.entry));
1423
1437
  M(g, (e) => {
1424
1438
  if (e) for (let e of f.values) e.set && (e.replacing = !0);
1425
1439
  });
1426
1440
  let x = l.entry !== void 0;
1427
1441
  function S() {
1428
- p.value = hr(f, l.taken), !(Object.keys(p.value).length > 0) && u("save", ur(f), _r(f, l.entry, l.secrets));
1442
+ p.value = gr(f, l.taken), !(Object.keys(p.value).length > 0) && u("save", ur(f), vr(f, l.entry, l.secrets));
1429
1443
  }
1430
1444
  function C(e) {
1431
1445
  f.kind !== e && (f.kind = e, f.values = []);
@@ -1436,9 +1450,9 @@ var vr = {
1436
1450
  "data-test": "mcp-form",
1437
1451
  onSubmit: I(S, ["prevent"])
1438
1452
  }, [
1439
- a("span", vr, w(x ? T(d).t("kvcoder.config.mcp.form.titleEdit", { name: f.name }) : h("titleNew")), 1),
1440
- a("label", yr, [
1441
- a("span", br, w(h("name")), 1),
1453
+ a("span", yr, w(x ? T(d).t("kvcoder.config.mcp.form.titleEdit", { name: f.name }) : h("titleNew")), 1),
1454
+ a("label", br, [
1455
+ a("span", xr, w(h("name")), 1),
1442
1456
  P(a("input", {
1443
1457
  "onUpdate:modelValue": n[0] ||= (e) => f.name = e,
1444
1458
  type: "text",
@@ -1449,11 +1463,11 @@ var vr = {
1449
1463
  autocomplete: "off",
1450
1464
  "aria-invalid": p.value.name !== void 0,
1451
1465
  "data-test": "mcp-name"
1452
- }, null, 8, xr), [[j, f.name]]),
1453
- p.value.name === void 0 ? (_(), i("span", Cr, w(h("nameHint")), 1)) : (_(), i("span", Sr, w(T(d).t(p.value.name)), 1))
1466
+ }, null, 8, Sr), [[j, f.name]]),
1467
+ p.value.name === void 0 ? (_(), i("span", wr, w(h("nameHint")), 1)) : (_(), i("span", Cr, w(T(d).t(p.value.name)), 1))
1454
1468
  ]),
1455
- a("label", wr, [
1456
- a("span", Tr, w(h("description")), 1),
1469
+ a("label", Tr, [
1470
+ a("span", Er, w(h("description")), 1),
1457
1471
  P(a("input", {
1458
1472
  "onUpdate:modelValue": n[1] ||= (e) => f.description = e,
1459
1473
  type: "text",
@@ -1462,10 +1476,10 @@ var vr = {
1462
1476
  autocomplete: "off",
1463
1477
  "aria-invalid": p.value.description !== void 0,
1464
1478
  "data-test": "mcp-description"
1465
- }, null, 8, Er), [[j, f.description]]),
1466
- p.value.description === void 0 ? (_(), i("span", Or, w(h("descriptionHint")), 1)) : (_(), i("span", Dr, w(T(d).t(p.value.description)), 1))
1479
+ }, null, 8, Dr), [[j, f.description]]),
1480
+ p.value.description === void 0 ? (_(), i("span", kr, w(h("descriptionHint")), 1)) : (_(), i("span", Or, w(T(d).t(p.value.description)), 1))
1467
1481
  ]),
1468
- a("fieldset", kr, [a("legend", Ar, w(h("kind")), 1), (_(), i(e, null, b(["command", "url"], (e) => a("label", {
1482
+ a("fieldset", Ar, [a("legend", jr, w(h("kind")), 1), (_(), i(e, null, b(["command", "url"], (e) => a("label", {
1469
1483
  key: e,
1470
1484
  class: "kvc-form-radio"
1471
1485
  }, [a("input", {
@@ -1475,35 +1489,52 @@ var vr = {
1475
1489
  checked: f.kind === e,
1476
1490
  "data-test": `mcp-kind-${e}`,
1477
1491
  onChange: (t) => C(e)
1478
- }, null, 40, jr), o(" " + w(h(`kind.${e}`)), 1)])), 64))]),
1479
- f.kind === "command" ? (_(), i(e, { key: 0 }, [a("label", Mr, [
1480
- a("span", Nr, w(h("command")), 1),
1481
- P(a("input", {
1482
- "onUpdate:modelValue": n[2] ||= (e) => f.command = e,
1483
- type: "text",
1484
- dir: "ltr",
1485
- class: "kvc-field kvc-mono",
1486
- spellcheck: "false",
1487
- autocomplete: "off",
1488
- "aria-invalid": p.value.command !== void 0,
1489
- "data-test": "mcp-command"
1490
- }, null, 8, Pr), [[j, f.command]]),
1491
- p.value.command === void 0 ? (_(), i("span", Ir, w(h("commandHint")), 1)) : (_(), i("span", Fr, w(T(d).t(p.value.command)), 1))
1492
- ]), a("label", Lr, [
1493
- a("span", Rr, w(h("args")), 1),
1494
- P(a("textarea", {
1495
- "onUpdate:modelValue": n[3] ||= (e) => f.args = e,
1496
- dir: "ltr",
1497
- rows: "3",
1498
- class: "kvc-field kvc-mono",
1499
- spellcheck: "false",
1500
- "data-test": "mcp-args"
1501
- }, null, 512), [[j, f.args]]),
1502
- a("span", zr, w(h("argsHint")), 1)
1503
- ])], 64)) : (_(), i("label", Br, [
1504
- a("span", Vr, w(h("url")), 1),
1492
+ }, null, 40, Mr), o(" " + w(h(`kind.${e}`)), 1)])), 64))]),
1493
+ f.kind === "command" ? (_(), i(e, { key: 0 }, [
1494
+ a("label", Nr, [
1495
+ a("span", Pr, w(h("command")), 1),
1496
+ P(a("input", {
1497
+ "onUpdate:modelValue": n[2] ||= (e) => f.command = e,
1498
+ type: "text",
1499
+ dir: "ltr",
1500
+ class: "kvc-field kvc-mono",
1501
+ spellcheck: "false",
1502
+ autocomplete: "off",
1503
+ "aria-invalid": p.value.command !== void 0,
1504
+ "data-test": "mcp-command"
1505
+ }, null, 8, Fr), [[j, f.command]]),
1506
+ p.value.command === void 0 ? (_(), i("span", Lr, w(h("commandHint")), 1)) : (_(), i("span", Ir, w(T(d).t(p.value.command)), 1))
1507
+ ]),
1508
+ a("label", Rr, [
1509
+ a("span", zr, w(h("args")), 1),
1510
+ P(a("textarea", {
1511
+ "onUpdate:modelValue": n[3] ||= (e) => f.args = e,
1512
+ dir: "ltr",
1513
+ rows: "3",
1514
+ class: "kvc-field kvc-mono",
1515
+ spellcheck: "false",
1516
+ "data-test": "mcp-args"
1517
+ }, null, 512), [[j, f.args]]),
1518
+ a("span", Br, w(h("argsHint")), 1)
1519
+ ]),
1520
+ a("label", Vr, [
1521
+ a("span", Hr, w(h("port")), 1),
1522
+ P(a("input", {
1523
+ "onUpdate:modelValue": n[4] ||= (e) => f.port = e,
1524
+ type: "text",
1525
+ inputmode: "numeric",
1526
+ dir: "ltr",
1527
+ class: "kvc-field kvc-mono",
1528
+ autocomplete: "off",
1529
+ "aria-invalid": p.value.port !== void 0,
1530
+ "data-test": "mcp-port"
1531
+ }, null, 8, Ur), [[j, f.port]]),
1532
+ p.value.port === void 0 ? (_(), i("span", Gr, w(h("portHint")), 1)) : (_(), i("span", Wr, w(T(d).t(p.value.port)), 1))
1533
+ ])
1534
+ ], 64)) : (_(), i("label", Kr, [
1535
+ a("span", qr, w(h("url")), 1),
1505
1536
  P(a("input", {
1506
- "onUpdate:modelValue": n[4] ||= (e) => f.url = e,
1537
+ "onUpdate:modelValue": n[5] ||= (e) => f.url = e,
1507
1538
  type: "url",
1508
1539
  dir: "ltr",
1509
1540
  class: "kvc-field kvc-mono",
@@ -1512,13 +1543,13 @@ var vr = {
1512
1543
  placeholder: "https://",
1513
1544
  "aria-invalid": p.value.url !== void 0,
1514
1545
  "data-test": "mcp-url"
1515
- }, null, 8, Hr), [[j, f.url]]),
1516
- p.value.url === void 0 ? r("v-if", !0) : (_(), i("span", Ur, w(T(d).t(p.value.url)), 1))
1546
+ }, null, 8, Jr), [[j, f.url]]),
1547
+ p.value.url === void 0 ? r("v-if", !0) : (_(), i("span", Yr, w(T(d).t(p.value.url)), 1))
1517
1548
  ])),
1518
- a("div", Wr, [
1519
- a("span", Gr, w(h(m.value)), 1),
1520
- a("span", Kr, w(h("secretsHint")), 1),
1521
- g.value ? (_(), i("span", qr, w(h("moved")), 1)) : r("v-if", !0),
1549
+ a("div", Xr, [
1550
+ a("span", Zr, w(h(m.value)), 1),
1551
+ a("span", Qr, w(h("secretsHint")), 1),
1552
+ g.value ? (_(), i("span", $r, w(h("moved")), 1)) : r("v-if", !0),
1522
1553
  (_(!0), i(e, null, b(f.values, (e, t) => (_(), i("div", {
1523
1554
  key: t,
1524
1555
  class: "kvc-form-value",
@@ -1535,13 +1566,13 @@ var vr = {
1535
1566
  spellcheck: "false",
1536
1567
  autocomplete: "off",
1537
1568
  "data-test": "mcp-value-name"
1538
- }, null, 8, Jr), [[j, e.name]]),
1539
- e.set && !e.replacing ? (_(), i("span", Yr, [a("span", Xr, w(h("set")), 1), a("button", {
1569
+ }, null, 8, ei), [[j, e.name]]),
1570
+ e.set && !e.replacing ? (_(), i("span", ti, [a("span", ni, w(h("set")), 1), a("button", {
1540
1571
  type: "button",
1541
1572
  class: "kvc-text-button",
1542
1573
  "data-test": "mcp-value-replace",
1543
1574
  onClick: (t) => e.replacing = !0
1544
- }, w(h("replace")), 9, Zr)])) : P((_(), i("input", {
1575
+ }, w(h("replace")), 9, ri)])) : P((_(), i("input", {
1545
1576
  key: 1,
1546
1577
  "onUpdate:modelValue": (t) => e.value = t,
1547
1578
  type: "password",
@@ -1550,7 +1581,7 @@ var vr = {
1550
1581
  placeholder: h("value"),
1551
1582
  "aria-label": T(d).t("kvcoder.config.mcp.form.valueOf", { name: e.name }),
1552
1583
  "data-test": "mcp-value-secret"
1553
- }, null, 8, Qr)), [[j, e.value]]),
1584
+ }, null, 8, ii)), [[j, e.value]]),
1554
1585
  a("button", {
1555
1586
  type: "button",
1556
1587
  class: "kvc-button kvc-ghost kvc-icon-button",
@@ -1560,14 +1591,14 @@ var vr = {
1560
1591
  }, [s(T(le), {
1561
1592
  size: 16,
1562
1593
  "aria-hidden": "true"
1563
- })], 8, $r)
1594
+ })], 8, ai)
1564
1595
  ]))), 128)),
1565
- p.value.values === void 0 ? r("v-if", !0) : (_(), i("span", ei, w(T(d).t(p.value.values)), 1)),
1596
+ p.value.values === void 0 ? r("v-if", !0) : (_(), i("span", oi, w(T(d).t(p.value.values)), 1)),
1566
1597
  a("button", {
1567
1598
  type: "button",
1568
1599
  class: "kvc-text-button kvc-form-add",
1569
1600
  "data-test": "mcp-value-add",
1570
- onClick: n[5] ||= (e) => f.values.push({
1601
+ onClick: n[6] ||= (e) => f.values.push({
1571
1602
  name: "",
1572
1603
  value: "",
1573
1604
  set: !1,
@@ -1578,24 +1609,24 @@ var vr = {
1578
1609
  "aria-hidden": "true"
1579
1610
  }), o(w(h(`add.${m.value}`)), 1)])
1580
1611
  ]),
1581
- a("div", ti, [a("button", {
1612
+ a("div", si, [a("button", {
1582
1613
  type: "button",
1583
1614
  class: "kvc-button",
1584
1615
  disabled: l.working,
1585
1616
  "data-test": "mcp-cancel",
1586
- onClick: n[6] ||= (e) => u("cancel")
1587
- }, w(T(d).t("kvcoder.config.mcp.cancel")), 9, ni), a("button", {
1617
+ onClick: n[7] ||= (e) => u("cancel")
1618
+ }, w(T(d).t("kvcoder.config.mcp.cancel")), 9, ci), a("button", {
1588
1619
  type: "submit",
1589
1620
  class: "kvc-button kvc-primary",
1590
1621
  disabled: l.working,
1591
1622
  "data-test": "mcp-save"
1592
- }, w(h("save")), 9, ri)])
1623
+ }, w(h("save")), 9, li)])
1593
1624
  ], 32));
1594
1625
  }
1595
1626
  });
1596
1627
  //#endregion
1597
1628
  //#region web/src/use-mcp-servers.ts
1598
- function ai(e) {
1629
+ function di(e) {
1599
1630
  let n = J(e, "kvcoder.mcp.servers"), r = t(() => or(n.value.value)), i = y({}), a = y([]), o = y(!1), s = /* @__PURE__ */ new Set(), c = async () => {
1600
1631
  a.value = (await e.exec("kernel.secrets.list", {})).filter((e) => e.extension === rr).map((e) => e.name);
1601
1632
  };
@@ -1704,53 +1735,53 @@ function ai(e) {
1704
1735
  }
1705
1736
  //#endregion
1706
1737
  //#region web/src/McpServers.vue?vue&type=script&setup=true&lang.ts
1707
- var oi = {
1738
+ var fi = {
1708
1739
  key: 1,
1709
1740
  class: "kvc-dialog-rows",
1710
1741
  "data-test": "mcp-servers"
1711
- }, si = { class: "kvc-muted" }, ci = {
1742
+ }, pi = { class: "kvc-muted" }, mi = {
1712
1743
  key: 0,
1713
1744
  class: "kvc-muted",
1714
1745
  "data-test": "mcp-own-value"
1715
- }, li = {
1746
+ }, hi = {
1716
1747
  key: 1,
1717
1748
  class: "kvc-connectors-state"
1718
- }, ui = {
1749
+ }, gi = {
1719
1750
  class: "kvc-chip",
1720
1751
  "data-test": "mcp-changed"
1721
- }, di = ["disabled"], fi = {
1752
+ }, _i = ["disabled"], vi = {
1722
1753
  key: 2,
1723
1754
  class: "kvc-muted",
1724
1755
  "data-test": "mcp-empty"
1725
- }, pi = ["data-test"], mi = { class: "kvc-connector-text" }, hi = {
1756
+ }, yi = ["data-test"], bi = { class: "kvc-connector-text" }, xi = {
1726
1757
  class: "kvc-mono kvc-connector-name",
1727
1758
  "data-test": "mcp-server-name"
1728
- }, gi = {
1759
+ }, Si = {
1729
1760
  class: "kvc-muted",
1730
1761
  dir: "auto",
1731
1762
  "data-test": "mcp-server-description"
1732
- }, _i = ["data-status"], vi = ["onClick"], yi = ["disabled", "onClick"], bi = ["disabled", "onClick"], xi = {
1763
+ }, Ci = ["data-status"], wi = ["onClick"], Ti = ["disabled", "onClick"], Ei = ["disabled", "onClick"], Di = {
1733
1764
  key: 1,
1734
1765
  class: "kvc-muted kvc-server-reason",
1735
1766
  dir: "auto",
1736
1767
  "data-test": "mcp-server-reason"
1737
- }, Si = ["aria-label"], Ci = { class: "kvc-muted" }, wi = ["disabled"], Ti = ["disabled", "onClick"], Ei = {
1768
+ }, Oi = ["aria-label"], ki = { class: "kvc-muted" }, Ai = ["disabled"], ji = ["disabled", "onClick"], Mi = {
1738
1769
  key: 1,
1739
1770
  class: "kvc-connector-actions"
1740
- }, Di = [
1771
+ }, Ni = [
1741
1772
  "disabled",
1742
1773
  "aria-label",
1743
1774
  "title",
1744
1775
  "onClick"
1745
- ], Oi = [
1776
+ ], Pi = [
1746
1777
  "disabled",
1747
1778
  "aria-label",
1748
1779
  "title",
1749
1780
  "onClick"
1750
- ], ki = { class: "kvc-actions" }, Ai = ["disabled"], ji = /* @__PURE__ */ c({
1781
+ ], Fi = { class: "kvc-actions" }, Ii = ["disabled"], Li = /* @__PURE__ */ c({
1751
1782
  __name: "McpServers",
1752
1783
  setup(t) {
1753
- let c = K(), { servers: l, states: u, secrets: d, locked: p, changed: m, working: h, save: g, remove: v, reset: x, check: S, signIn: C, signOut: E, signedIn: D } = ai(c), O = y(), k = y(), A = (e) => c.t(`${e}.${c.scope.value}`, { name: c.workspace.value.name }), j = (e) => u.value[e] ?? { status: "checking" };
1784
+ let c = K(), { servers: l, states: u, secrets: d, locked: p, changed: m, working: h, save: g, remove: v, reset: x, check: S, signIn: C, signOut: E, signedIn: D } = di(c), O = y(), k = y(), A = (e) => c.t(`${e}.${c.scope.value}`, { name: c.workspace.value.name }), j = (e) => u.value[e] ?? { status: "checking" };
1754
1785
  function M(e) {
1755
1786
  return e.status === "ready" ? c.t("kvcoder.config.mcp.ready", { count: e.tools }) : c.t(`kvcoder.config.mcp.${e.status}`);
1756
1787
  }
@@ -1764,23 +1795,23 @@ var oi = {
1764
1795
  async function I(e) {
1765
1796
  await v(e) && c.toast("kvcoder.config.mcp.removed", { name: e }, "success"), k.value = void 0;
1766
1797
  }
1767
- return (t, u) => O.value === void 0 ? (_(), i("div", oi, [
1768
- a("p", si, w(T(c).t("kvcoder.config.mcp.intro")), 1),
1769
- T(p) ? (_(), i("p", ci, w(T(c).t("kvcoder.config.connectors.ownValue", { name: T(c).workspace.value.name })), 1)) : T(m) ? (_(), i("div", li, [a("span", ui, w(A("kvcoder.config.connectors.changed")), 1), a("button", {
1798
+ return (t, u) => O.value === void 0 ? (_(), i("div", fi, [
1799
+ a("p", pi, w(T(c).t("kvcoder.config.mcp.intro")), 1),
1800
+ T(p) ? (_(), i("p", mi, w(T(c).t("kvcoder.config.connectors.ownValue", { name: T(c).workspace.value.name })), 1)) : T(m) ? (_(), i("div", hi, [a("span", gi, w(A("kvcoder.config.connectors.changed")), 1), a("button", {
1770
1801
  type: "button",
1771
1802
  class: "kvc-text-button",
1772
1803
  disabled: T(h),
1773
1804
  "data-test": "mcp-reset",
1774
1805
  onClick: u[1] ||= (...e) => T(x) && T(x)(...e)
1775
- }, w(A("kvcoder.config.connectors.reset")), 9, di)])) : r("v-if", !0),
1776
- T(l).length === 0 ? (_(), i("p", fi, w(T(c).t("kvcoder.config.mcp.empty")), 1)) : r("v-if", !0),
1806
+ }, w(A("kvcoder.config.connectors.reset")), 9, _i)])) : r("v-if", !0),
1807
+ T(l).length === 0 ? (_(), i("p", vi, w(T(c).t("kvcoder.config.mcp.empty")), 1)) : r("v-if", !0),
1777
1808
  (_(!0), i(e, null, b(T(l), (e) => (_(), i("div", {
1778
1809
  key: e.name,
1779
1810
  class: "kvc-connector kvc-server",
1780
1811
  "data-test": `mcp-server-${e.name}`
1781
- }, [a("span", mi, [
1782
- a("span", hi, w(e.name), 1),
1783
- a("span", gi, w(e.description), 1),
1812
+ }, [a("span", bi, [
1813
+ a("span", xi, w(e.name), 1),
1814
+ a("span", Si, w(e.description), 1),
1784
1815
  a("span", {
1785
1816
  class: "kvc-server-state",
1786
1817
  "data-status": j(e.name).status,
@@ -1794,7 +1825,7 @@ var oi = {
1794
1825
  class: "kvc-text-button",
1795
1826
  "data-test": "mcp-server-check",
1796
1827
  onClick: (t) => T(S)(e.name)
1797
- }, w(T(c).t("kvcoder.config.mcp.recheck")), 9, vi)),
1828
+ }, w(T(c).t("kvcoder.config.mcp.recheck")), 9, wi)),
1798
1829
  "url" in e && T(D)(e.name) ? (_(), i("button", {
1799
1830
  key: 1,
1800
1831
  type: "button",
@@ -1802,8 +1833,8 @@ var oi = {
1802
1833
  disabled: T(h),
1803
1834
  "data-test": "mcp-server-sign-out",
1804
1835
  onClick: (t) => T(E)(e.name)
1805
- }, w(T(c).t("kvcoder.config.mcp.signOut")), 9, yi)) : r("v-if", !0)
1806
- ], 8, _i),
1836
+ }, w(T(c).t("kvcoder.config.mcp.signOut")), 9, Ti)) : r("v-if", !0)
1837
+ ], 8, Ci),
1807
1838
  "url" in e && j(e.name).status === "signInNeeded" ? (_(), i("button", {
1808
1839
  key: 0,
1809
1840
  type: "button",
@@ -1811,8 +1842,8 @@ var oi = {
1811
1842
  disabled: T(h),
1812
1843
  "data-test": "mcp-server-sign-in",
1813
1844
  onClick: (t) => F(e.name)
1814
- }, w(T(c).t("kvcoder.config.mcp.signIn")), 9, bi)) : r("v-if", !0),
1815
- N(j(e.name)) === void 0 ? r("v-if", !0) : (_(), i("span", xi, w(N(j(e.name))), 1))
1845
+ }, w(T(c).t("kvcoder.config.mcp.signIn")), 9, Ei)) : r("v-if", !0),
1846
+ N(j(e.name)) === void 0 ? r("v-if", !0) : (_(), i("span", Di, w(N(j(e.name))), 1))
1816
1847
  ]), k.value === e.name ? (_(), i("span", {
1817
1848
  key: 0,
1818
1849
  class: "kvc-connector-actions",
@@ -1820,22 +1851,22 @@ var oi = {
1820
1851
  "aria-label": T(c).t("kvcoder.config.mcp.removeConfirm", { name: e.name }),
1821
1852
  "data-test": "mcp-remove-confirm"
1822
1853
  }, [
1823
- a("span", Ci, w(T(c).t("kvcoder.config.mcp.removeConfirm", { name: e.name })), 1),
1854
+ a("span", ki, w(T(c).t("kvcoder.config.mcp.removeConfirm", { name: e.name })), 1),
1824
1855
  a("button", {
1825
1856
  type: "button",
1826
1857
  class: "kvc-button",
1827
1858
  disabled: T(h),
1828
1859
  "data-test": "mcp-remove-cancel",
1829
1860
  onClick: u[2] ||= (e) => k.value = void 0
1830
- }, w(T(c).t("kvcoder.config.mcp.cancel")), 9, wi),
1861
+ }, w(T(c).t("kvcoder.config.mcp.cancel")), 9, Ai),
1831
1862
  a("button", {
1832
1863
  type: "button",
1833
1864
  class: "kvc-button kvc-danger",
1834
1865
  disabled: T(h),
1835
1866
  "data-test": "mcp-remove-yes",
1836
1867
  onClick: (t) => I(e.name)
1837
- }, w(T(c).t("kvcoder.config.mcp.removeYes")), 9, Ti)
1838
- ], 8, Si)) : (_(), i("span", Ei, [a("button", {
1868
+ }, w(T(c).t("kvcoder.config.mcp.removeYes")), 9, ji)
1869
+ ], 8, Oi)) : (_(), i("span", Mi, [a("button", {
1839
1870
  type: "button",
1840
1871
  class: "kvc-button kvc-ghost kvc-icon-button",
1841
1872
  disabled: T(p) || T(h),
@@ -1846,7 +1877,7 @@ var oi = {
1846
1877
  }, [s(T(U), {
1847
1878
  size: 16,
1848
1879
  "aria-hidden": "true"
1849
- })], 8, Di), a("button", {
1880
+ })], 8, Ni), a("button", {
1850
1881
  type: "button",
1851
1882
  class: "kvc-button kvc-ghost kvc-icon-button",
1852
1883
  disabled: T(p) || T(h),
@@ -1857,8 +1888,8 @@ var oi = {
1857
1888
  }, [s(T(ce), {
1858
1889
  size: 16,
1859
1890
  "aria-hidden": "true"
1860
- })], 8, Oi)]))], 8, pi))), 128)),
1861
- a("div", ki, [a("button", {
1891
+ })], 8, Pi)]))], 8, yi))), 128)),
1892
+ a("div", Fi, [a("button", {
1862
1893
  type: "button",
1863
1894
  class: "kvc-button kvc-primary",
1864
1895
  disabled: T(p) || T(h),
@@ -1867,8 +1898,8 @@ var oi = {
1867
1898
  }, [s(T(W), {
1868
1899
  size: 16,
1869
1900
  "aria-hidden": "true"
1870
- }), o(w(T(c).t("kvcoder.config.mcp.add")), 1)], 8, Ai)])
1871
- ])) : (_(), n(ii, f({ key: 0 }, O.value.entry === void 0 ? {} : { entry: O.value.entry }, {
1901
+ }), o(w(T(c).t("kvcoder.config.mcp.add")), 1)], 8, Ii)])
1902
+ ])) : (_(), n(ui, f({ key: 0 }, O.value.entry === void 0 ? {} : { entry: O.value.entry }, {
1872
1903
  taken: T(l).filter((e) => e.name !== O.value?.entry?.name).map((e) => e.name),
1873
1904
  secrets: T(d),
1874
1905
  working: T(h),
@@ -1880,10 +1911,10 @@ var oi = {
1880
1911
  "working"
1881
1912
  ]));
1882
1913
  }
1883
- }), Mi = ["data-test"], Ni = { class: "kvc-setting-text" }, Pi = ["data-test"], Fi = { class: "kvc-muted" }, Ii = { class: "kvc-setting-control" }, Li = ["data-test"], Ri = {
1914
+ }), Ri = ["data-test"], zi = { class: "kvc-setting-text" }, Bi = ["data-test"], Vi = { class: "kvc-muted" }, Hi = { class: "kvc-setting-control" }, Ui = ["data-test"], Wi = {
1884
1915
  key: 1,
1885
1916
  class: "kvc-connectors-state"
1886
- }, zi = ["data-test"], Bi = ["data-test"], Vi = ["disabled", "data-test"], Hi = /* @__PURE__ */ c({
1917
+ }, Gi = ["data-test"], Ki = ["data-test"], qi = ["disabled", "data-test"], Ji = /* @__PURE__ */ c({
1887
1918
  __name: "SettingFrame",
1888
1919
  props: {
1889
1920
  settingKey: {},
@@ -1896,37 +1927,37 @@ var oi = {
1896
1927
  return (t, c) => (_(), i("div", {
1897
1928
  class: "kvc-setting",
1898
1929
  "data-test": n.name
1899
- }, [a("span", Ni, [a("span", {
1930
+ }, [a("span", zi, [a("span", {
1900
1931
  class: "kvc-setting-title",
1901
1932
  "data-test": `${n.name}-title`
1902
- }, w(T(o).t(`${n.settingKey}.title`)), 9, Pi), a("span", Fi, w(T(o).t(`${n.settingKey}.description`)), 1)]), a("span", Ii, [x(t.$slots, "default", { disabled: n.setting.locked.value || n.setting.saving.value }), n.setting.locked.value ? (_(), i("span", {
1933
+ }, w(T(o).t(`${n.settingKey}.title`)), 9, Bi), a("span", Vi, w(T(o).t(`${n.settingKey}.description`)), 1)]), a("span", Hi, [x(t.$slots, "default", { disabled: n.setting.locked.value || n.setting.saving.value }), n.setting.locked.value ? (_(), i("span", {
1903
1934
  key: 0,
1904
1935
  class: "kvc-muted",
1905
1936
  "data-test": `${n.name}-own-value`
1906
- }, w(T(o).t("kvcoder.config.setting.ownValue", { name: T(o).workspace.value.name })), 9, Li)) : n.setting.changed.value || n.saved ? (_(), i("span", Ri, [n.saved ? (_(), i("span", {
1937
+ }, w(T(o).t("kvcoder.config.setting.ownValue", { name: T(o).workspace.value.name })), 9, Ui)) : n.setting.changed.value || n.saved ? (_(), i("span", Wi, [n.saved ? (_(), i("span", {
1907
1938
  key: 0,
1908
1939
  class: "kvc-muted",
1909
1940
  role: "status",
1910
1941
  "data-test": `${n.name}-saved`
1911
- }, w(T(o).t("kvcoder.config.setting.saved")), 9, zi)) : r("v-if", !0), n.setting.changed.value ? (_(), i(e, { key: 1 }, [a("span", {
1942
+ }, w(T(o).t("kvcoder.config.setting.saved")), 9, Gi)) : r("v-if", !0), n.setting.changed.value ? (_(), i(e, { key: 1 }, [a("span", {
1912
1943
  class: "kvc-chip",
1913
1944
  "data-test": `${n.name}-changed`
1914
- }, w(s("kvcoder.config.setting.changed")), 9, Bi), a("button", {
1945
+ }, w(s("kvcoder.config.setting.changed")), 9, Ki), a("button", {
1915
1946
  type: "button",
1916
1947
  class: "kvc-text-button",
1917
1948
  disabled: n.setting.saving.value,
1918
1949
  "data-test": `${n.name}-reset`,
1919
1950
  onClick: c[0] ||= (...e) => n.setting.reset && n.setting.reset(...e)
1920
- }, w(s("kvcoder.config.setting.reset")), 9, Vi)], 64)) : r("v-if", !0)])) : r("v-if", !0)])], 8, Mi));
1951
+ }, w(s("kvcoder.config.setting.reset")), 9, qi)], 64)) : r("v-if", !0)])) : r("v-if", !0)])], 8, Ri));
1921
1952
  }
1922
- }), Ui = {
1953
+ }), Yi = {
1923
1954
  class: "kvc-dialog-rows",
1924
1955
  "data-test": "shell-settings"
1925
- }, Wi = [
1956
+ }, Xi = [
1926
1957
  "disabled",
1927
1958
  "placeholder",
1928
1959
  "aria-label"
1929
- ], Gi = /* @__PURE__ */ c({
1960
+ ], Zi = /* @__PURE__ */ c({
1930
1961
  __name: "ShellSettings",
1931
1962
  setup(e) {
1932
1963
  let n = K(), r = J(n, "kvcoder.shell.path"), o = y(!1), c = D("field"), l = t(() => typeof r.value.value == "string" ? r.value.value : ""), u = y("");
@@ -1937,7 +1968,7 @@ var oi = {
1937
1968
  let t = document.activeElement === c.value;
1938
1969
  o.value = await r.set(e === "" ? null : e), u.value = l.value, t && (await p(), c.value?.focus());
1939
1970
  }
1940
- return (e, t) => (_(), i("div", Ui, [s(Hi, {
1971
+ return (e, t) => (_(), i("div", Yi, [s(Ji, {
1941
1972
  "setting-key": "kvcoder.shell.path",
1942
1973
  name: "shell-path",
1943
1974
  setting: T(r),
@@ -1958,40 +1989,40 @@ var oi = {
1958
1989
  "data-test": "shell-path-control",
1959
1990
  onKeydown: F(d, ["enter"]),
1960
1991
  onBlur: d
1961
- }, null, 40, Wi), [[j, u.value]])]),
1992
+ }, null, 40, Xi), [[j, u.value]])]),
1962
1993
  _: 1
1963
1994
  }, 8, ["setting", "saved"])]));
1964
1995
  }
1965
- }), Ki = {
1996
+ }), Qi = {
1966
1997
  class: "kvc-connectors",
1967
1998
  "data-test": "connectors"
1968
- }, qi = {
1999
+ }, $i = {
1969
2000
  key: 0,
1970
2001
  class: "kvc-muted",
1971
2002
  "data-test": "connectors-own-value"
1972
- }, Ji = {
2003
+ }, ea = {
1973
2004
  key: 1,
1974
2005
  class: "kvc-connectors-state"
1975
- }, Yi = {
2006
+ }, ta = {
1976
2007
  class: "kvc-chip",
1977
2008
  "data-test": "connectors-changed"
1978
- }, Xi = ["disabled"], Zi = ["data-test"], Qi = { class: "kvc-connector-text" }, $i = {
2009
+ }, na = ["disabled"], ra = ["data-test"], ia = { class: "kvc-connector-text" }, aa = {
1979
2010
  class: "kvc-mono kvc-connector-name",
1980
2011
  "data-test": "connector-name"
1981
- }, ea = {
2012
+ }, oa = {
1982
2013
  class: "kvc-muted",
1983
2014
  dir: "auto",
1984
2015
  "data-test": "connector-description"
1985
- }, ta = { class: "kvc-connector-actions" }, na = [
2016
+ }, sa = { class: "kvc-connector-actions" }, ca = [
1986
2017
  "aria-label",
1987
2018
  "title",
1988
2019
  "onClick"
1989
- ], ra = [
2020
+ ], la = [
1990
2021
  "aria-checked",
1991
2022
  "aria-label",
1992
2023
  "disabled",
1993
2024
  "onClick"
1994
- ], ia = /* @__PURE__ */ c({
2025
+ ], ua = /* @__PURE__ */ c({
1995
2026
  __name: "ConnectorsList",
1996
2027
  setup(t) {
1997
2028
  let o = K(), { items: c, locked: l, changed: u, saving: d, toggle: f, reset: m } = ct(o), h = y(), g = /* @__PURE__ */ new Map();
@@ -2003,19 +2034,19 @@ var oi = {
2003
2034
  h.value = void 0, await p(), e !== void 0 && g.get(e)?.focus();
2004
2035
  }
2005
2036
  let S = (e) => o.t(`${e}.${o.scope.value}`, { name: o.workspace.value.name });
2006
- return (t, p) => (_(), i("div", Ki, [
2007
- T(l) ? (_(), i("p", qi, w(T(o).t("kvcoder.config.connectors.ownValue", { name: T(o).workspace.value.name })), 1)) : T(u) ? (_(), i("div", Ji, [a("span", Yi, w(S("kvcoder.config.connectors.changed")), 1), a("button", {
2037
+ return (t, p) => (_(), i("div", Qi, [
2038
+ T(l) ? (_(), i("p", $i, w(T(o).t("kvcoder.config.connectors.ownValue", { name: T(o).workspace.value.name })), 1)) : T(u) ? (_(), i("div", ea, [a("span", ta, w(S("kvcoder.config.connectors.changed")), 1), a("button", {
2008
2039
  type: "button",
2009
2040
  class: "kvc-text-button",
2010
2041
  disabled: T(d),
2011
2042
  "data-test": "connectors-reset",
2012
2043
  onClick: p[0] ||= (...e) => T(m) && T(m)(...e)
2013
- }, w(S("kvcoder.config.connectors.reset")), 9, Xi)])) : r("v-if", !0),
2044
+ }, w(S("kvcoder.config.connectors.reset")), 9, na)])) : r("v-if", !0),
2014
2045
  (_(!0), i(e, null, b(T(c), (e) => (_(), i("div", {
2015
2046
  key: e.name,
2016
2047
  class: "kvc-connector",
2017
2048
  "data-test": `connector-${e.name}`
2018
- }, [a("span", Qi, [a("span", $i, w(e.name), 1), a("span", ea, w(e.description), 1)]), a("span", ta, [e.configurable ? (_(), i("button", {
2049
+ }, [a("span", ia, [a("span", aa, w(e.name), 1), a("span", oa, w(e.description), 1)]), a("span", sa, [e.configurable ? (_(), i("button", {
2019
2050
  key: 0,
2020
2051
  ref_for: !0,
2021
2052
  ref: (t) => v(e.name, t),
@@ -2029,7 +2060,7 @@ var oi = {
2029
2060
  }, [s(T(G), {
2030
2061
  size: 18,
2031
2062
  "aria-hidden": "true"
2032
- })], 8, na)) : r("v-if", !0), a("button", {
2063
+ })], 8, ca)) : r("v-if", !0), a("button", {
2033
2064
  type: "button",
2034
2065
  role: "switch",
2035
2066
  class: "kvc-switch",
@@ -2041,22 +2072,22 @@ var oi = {
2041
2072
  }, [...p[1] ||= [a("span", {
2042
2073
  class: "kvc-switch-knob",
2043
2074
  "aria-hidden": "true"
2044
- }, null, -1)]], 8, ra)])], 8, Zi))), 128)),
2075
+ }, null, -1)]], 8, la)])], 8, ra))), 128)),
2045
2076
  h.value === void 0 ? r("v-if", !0) : (_(), n(be, {
2046
2077
  key: 2,
2047
2078
  name: h.value,
2048
2079
  onClose: x
2049
2080
  }, {
2050
- default: N(() => [h.value === "shell" ? (_(), n(Gi, { key: 0 })) : h.value === "delegate" ? (_(), n(nr, { key: 1 })) : h.value === "mcp" ? (_(), n(ji, { key: 2 })) : r("v-if", !0)]),
2081
+ default: N(() => [h.value === "shell" ? (_(), n(Zi, { key: 0 })) : h.value === "delegate" ? (_(), n(nr, { key: 1 })) : h.value === "mcp" ? (_(), n(Li, { key: 2 })) : r("v-if", !0)]),
2051
2082
  _: 1
2052
2083
  }, 8, ["name"]))
2053
2084
  ]));
2054
2085
  }
2055
- }), aa = /* @__PURE__ */ c({
2086
+ }), da = /* @__PURE__ */ c({
2056
2087
  __name: "connectors",
2057
2088
  setup(e) {
2058
- return (e, t) => (_(), n(ia));
2089
+ return (e, t) => (_(), n(ua));
2059
2090
  }
2060
2091
  });
2061
2092
  //#endregion
2062
- export { aa as default };
2093
+ export { da as default };