@coffer-org/web 2.6.0 → 2.6.1

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 (87) hide show
  1. package/dist/assets/ChatWidget-BxY9kQxi.js +16 -0
  2. package/dist/assets/DiagnosticsPage-DUqimXFJ.js +1 -0
  3. package/dist/assets/ExtendReasonInfo-iAIjJ48b.js +1 -0
  4. package/dist/assets/Icon-Dydn049Z.js +2 -0
  5. package/dist/assets/{NewRecordView-BfyaaO_5.js → NewRecordView-uOQOfkOx.js} +1 -1
  6. package/dist/assets/{NoMac-BarbbnIj.js → NoMac-DLu311Th.js} +1 -1
  7. package/dist/assets/{PluginSettingsPage-EhIpvmcl.js → PluginSettingsPage-IaFxvJdf.js} +1 -1
  8. package/dist/assets/SettingsForm-BC0viqzW.js +1 -0
  9. package/dist/assets/{SettingsPage-cGmurCr0.js → SettingsPage-PQygWGag.js} +2 -2
  10. package/dist/assets/ThemeSwitcher-D-6Vlu3T.js +1 -0
  11. package/dist/assets/{Toolbar-C5S0_fah.js → Toolbar-Ce0rNkTo.js} +2 -2
  12. package/dist/assets/{auth-context-CpmpND1h.js → auth-context-C1voH8bU.js} +1 -1
  13. package/dist/assets/button-DaYjtbcx.js +1 -0
  14. package/dist/assets/chevron-down-DgMjlPLK.js +1 -0
  15. package/dist/assets/{chrome-_m2AYIjS.js → chrome-Dxg72x2y.js} +1 -1
  16. package/dist/assets/combobox-Cqg-VPvV.js +1 -0
  17. package/dist/assets/{data-size-BFf4oF5n.js → data-size-FYe9GB-w.js} +1 -1
  18. package/dist/assets/dialog-BKC2UrX0.js +1 -0
  19. package/dist/assets/{dispatch-Bpnn2XRC.js → dispatch-CBwxUhZb.js} +1 -1
  20. package/dist/assets/{extend-C4MFviaS.js → extend-BEeQnsjj.js} +1 -1
  21. package/dist/assets/{field-frame-cFE-u56I.js → field-frame-B0aT2ksn.js} +1 -1
  22. package/dist/assets/{fields-fE_vzhqS.js → fields-C2JBwQro.js} +1 -1
  23. package/dist/assets/index-BsQAt1OP.js +36 -0
  24. package/dist/assets/index-DFq4B5gv.css +2 -0
  25. package/dist/assets/input-group-Cp9n2MAA.js +1 -0
  26. package/dist/assets/{phone-input-Nmpfmhew.js → phone-input-BI3bOFX2.js} +2 -2
  27. package/dist/assets/shared-vjdjsgQc.js +1 -0
  28. package/dist/assets/{shelf-BU6Jrxdn.js → shelf-ZF6KVxZd.js} +1 -1
  29. package/dist/assets/{square-CiErsTOS.js → square-DuQOQJGU.js} +1 -1
  30. package/dist/assets/src-6mlUyIfG.js +1 -0
  31. package/dist/assets/{src-qvD2ou1m.js → src-B1LkgGT0.js} +1 -1
  32. package/dist/assets/{src-BG7tifqi.js → src-B5Wv5ASz.js} +1 -1
  33. package/dist/assets/{src-CNbzboJN.js → src-BBWK9u-H.js} +1 -1
  34. package/dist/assets/{src-gM-6BSUd.js → src-BFOIP3DL.js} +1 -1
  35. package/dist/assets/{src-BscxyzWm.js → src-BcIpCv23.js} +1 -1
  36. package/dist/assets/src-Bq0RDmeB.js +1 -0
  37. package/dist/assets/src-CFMj5Och.js +1 -0
  38. package/dist/assets/{src-Dr1EPJgR.js → src-CQfRvkxA.js} +1 -1
  39. package/dist/assets/{src-DPq_gXsF.js → src-CS4PO4i_.js} +1 -1
  40. package/dist/assets/{src-CMbUQsqp.js → src-CUVSyD4r.js} +1 -1
  41. package/dist/assets/{src-C8SGMFDC.js → src-CmB0Aw5B.js} +1 -1
  42. package/dist/assets/{src-BwT6fU6Z.js → src-CyicyuOu.js} +1 -1
  43. package/dist/assets/src-D30TPrc-.js +4 -0
  44. package/dist/assets/src-D7-BUu3l.js +1 -0
  45. package/dist/assets/src-DHkUSKtU.js +1 -0
  46. package/dist/assets/{src-B5J6a7xU.js → src-DN5_wKHc.js} +1 -1
  47. package/dist/assets/{src-CVXUq44N.js → src-DSF8bpP1.js} +1 -1
  48. package/dist/assets/src-DYJtabTg.js +1 -0
  49. package/dist/assets/{src-BckYqSba.js → src-DkXs3X9I.js} +1 -1
  50. package/dist/assets/{src-CTajJz2B.js → src-Dnc57MD8.js} +1 -1
  51. package/dist/assets/src-Wi0SYiAd.js +1 -0
  52. package/dist/assets/{src-CcrtnEIQ.js → src-ctux6MQD.js} +1 -1
  53. package/dist/assets/{src-XWTmD-Mn.js → src-na7K2wUl.js} +1 -1
  54. package/dist/assets/{src-BlTOHYZL.js → src-oZtYFN79.js} +1 -1
  55. package/dist/assets/ui-BF1Zz_Rh.js +2 -0
  56. package/dist/assets/{ui-DnlLcAtd.js → ui-CVX34OBw.js} +2 -2
  57. package/dist/assets/{ui-Bl4kUgYS.js → ui-DbAPxl8P.js} +1 -1
  58. package/dist/assets/{upload-eoIHAc6j.js → upload-C8XxQG6m.js} +1 -1
  59. package/dist/assets/use-media-query-D1fYNz6w.js +1 -0
  60. package/dist/assets/{version-BgluE_nc.js → version-DHVNWcte.js} +1 -1
  61. package/dist/assets/{x-BFRg18Fi.js → x-CzSVfh-E.js} +1 -1
  62. package/dist/index.html +25 -24
  63. package/dist-vendor/web-sdk.js +120 -114
  64. package/package.json +1 -1
  65. package/dist/assets/ChatWidget-D_mykvfd.js +0 -16
  66. package/dist/assets/DiagnosticsPage-CLhgz-6M.js +0 -1
  67. package/dist/assets/ExtendReasonInfo-DvfVQWJR.js +0 -1
  68. package/dist/assets/Icon-wZ-Cwtc3.js +0 -2
  69. package/dist/assets/SettingsForm-Dwry8Oe1.js +0 -1
  70. package/dist/assets/ThemeSwitcher-BoIYJENA.js +0 -1
  71. package/dist/assets/button-DsalTwxl.js +0 -1
  72. package/dist/assets/combobox-Bo_yQsV-.js +0 -1
  73. package/dist/assets/dialog-DqWXrq6M.js +0 -1
  74. package/dist/assets/index-C5KupH3J.css +0 -2
  75. package/dist/assets/index-wCQxsLAS.js +0 -59
  76. package/dist/assets/input-group-DnBGkT_z.js +0 -1
  77. package/dist/assets/shared-C2_-YViH.js +0 -1
  78. package/dist/assets/src-0vuf5cD2.js +0 -1
  79. package/dist/assets/src-97trQW1e.js +0 -1
  80. package/dist/assets/src-C9oB3ukn.js +0 -1
  81. package/dist/assets/src-CK9rs1Ky.js +0 -1
  82. package/dist/assets/src-CREOT_7V.js +0 -1
  83. package/dist/assets/src-ClmEI4bL.js +0 -4
  84. package/dist/assets/src-CpLYaHc_.js +0 -1
  85. package/dist/assets/src-ethXcfjn.js +0 -1
  86. package/dist/assets/ui-QD_F7vze.js +0 -2
  87. package/dist/assets/use-media-query-BED2JoBm.js +0 -1
@@ -3776,7 +3776,7 @@ function Ho(e) {
3776
3776
  });
3777
3777
  }
3778
3778
  function Uo(e) {
3779
- return Ts({
3779
+ return Es({
3780
3780
  ...e,
3781
3781
  options: "countries"
3782
3782
  });
@@ -4995,7 +4995,13 @@ function ws(e) {
4995
4995
  });
4996
4996
  }
4997
4997
  function Ts(e) {
4998
- let t = K(e), n = t.required ?? !1, r = typeof t.options == "string" ? t.options : null, i = Array.isArray(t.options) ? t.options : [], a = i.length > 0 ? Oa(i.map((e) => e.value), { error: () => H("enum") }) : F(U());
4998
+ return typeof e == "string" ? {
4999
+ value: e,
5000
+ title: e
5001
+ } : e;
5002
+ }
5003
+ function Es(e) {
5004
+ let t = K(e), n = t.required ?? !1, r = typeof t.options == "string" ? t.options : null, i = Array.isArray(t.options) ? t.options.map(Ts) : [], a = i.length > 0 ? Oa(i.map((e) => e.value), { error: () => H("enum") }) : F(U());
4999
5005
  return J(t, Y({
5000
5006
  kind: "select",
5001
5007
  label: t.label ?? "",
@@ -5007,7 +5013,7 @@ function Ts(e) {
5007
5013
  zod: G(a, n)
5008
5014
  }, t.multiple ?? !1));
5009
5015
  }
5010
- function Es(e) {
5016
+ function Ds(e) {
5011
5017
  let t = K(e), n = t.required ?? !1, r = t.multiple ?? !1, i;
5012
5018
  return i = r ? R().superRefine((e, t) => {
5013
5019
  let n = W(e);
@@ -5033,7 +5039,7 @@ function Es(e) {
5033
5039
  zod: G(i, n)
5034
5040
  });
5035
5041
  }
5036
- function Ds(e) {
5042
+ function Os(e) {
5037
5043
  let t = K(e), n = t.required ?? !1, r = R().superRefine((e, t) => {
5038
5044
  if (typeof e == "string") try {
5039
5045
  JSON.parse(e);
@@ -5055,7 +5061,7 @@ function Ds(e) {
5055
5061
  zod: G(r, n)
5056
5062
  });
5057
5063
  }
5058
- function Os(e) {
5064
+ function ks(e) {
5059
5065
  let t = K(e), n = t.required ?? !1, r = t.multiple ?? !1, i = t.slots && t.slots.length > 0 ? t.slots : [""], a = t.fields?.length ? t.fields : [X({
5060
5066
  key: "text",
5061
5067
  label: "core.fields.text"
@@ -5110,14 +5116,14 @@ function Os(e) {
5110
5116
  slots: i,
5111
5117
  fields: a.map((e) => ({
5112
5118
  key: e.key,
5113
- ...rc(e.type)
5119
+ ...ic(e.type)
5114
5120
  }))
5115
5121
  },
5116
5122
  columns: l,
5117
5123
  zod: G(d, n)
5118
5124
  });
5119
5125
  }
5120
- function ks(e) {
5126
+ function As(e) {
5121
5127
  let t = K(e), n = t.required ?? !1, r = t.config ?? {}, i = ao((t.options, t.options)), a = L().finite();
5122
5128
  r.step === 1 && (a = a.int({ message: H("int") })), r.min != null && (a = a.min(r.min)), r.max != null && (a = a.max(r.max));
5123
5129
  let o = z({
@@ -5166,7 +5172,7 @@ function ks(e) {
5166
5172
  zod: G(s, n)
5167
5173
  });
5168
5174
  }
5169
- function As(e) {
5175
+ function js(e) {
5170
5176
  let t = K(e), n = t.required ?? !1, r = t.config ?? {}, i = L().finite();
5171
5177
  r.min != null && (i = i.min(r.min)), r.max != null && (i = i.max(r.max));
5172
5178
  let a = z({
@@ -5204,7 +5210,7 @@ function As(e) {
5204
5210
  zod: G(o, n)
5205
5211
  });
5206
5212
  }
5207
- function js(e) {
5213
+ function Ms(e) {
5208
5214
  let t = K(e), n = t.required ?? !1, r = t.config ?? {}, i = z({
5209
5215
  code: F(),
5210
5216
  lang: F()
@@ -5236,7 +5242,7 @@ function js(e) {
5236
5242
  zod: G(a, n)
5237
5243
  });
5238
5244
  }
5239
- function Ms(e) {
5245
+ function Ns(e) {
5240
5246
  let t = K(e), n = t.required ?? !1, r = z({
5241
5247
  lat: L().min(-90).max(90),
5242
5248
  lng: L().min(-180).max(180),
@@ -5277,12 +5283,12 @@ function Ms(e) {
5277
5283
  zod: G(i, n)
5278
5284
  });
5279
5285
  }
5280
- function Ns(e) {
5286
+ function Ps(e) {
5281
5287
  return {
5282
5288
  ...rs({
5283
5289
  key: e.key,
5284
5290
  label: e.label,
5285
- by: Ts({
5291
+ by: Es({
5286
5292
  key: "day",
5287
5293
  label: "core.fields.weekday",
5288
5294
  options: "weekdays"
@@ -5297,7 +5303,7 @@ function Ns(e) {
5297
5303
  kind: "per-weekday"
5298
5304
  };
5299
5305
  }
5300
- function Ps(e) {
5306
+ function Fs(e) {
5301
5307
  let t = K(e);
5302
5308
  return J(t, {
5303
5309
  kind: "lookup",
@@ -5314,7 +5320,7 @@ function Ps(e) {
5314
5320
  zod: ga().optional()
5315
5321
  });
5316
5322
  }
5317
- function Fs(e) {
5323
+ function Is(e) {
5318
5324
  let t = K(e), n = t.config?.granularity ?? "day", r = t.required ?? !1, i = t.multiple ?? !1, a = (e, t) => n === "datetime" ? Ss({
5319
5325
  key: e,
5320
5326
  label: t
@@ -5355,10 +5361,10 @@ function Fs(e) {
5355
5361
  });
5356
5362
  let d = n === "datetime" ? "datetime" : n === "day" ? "date" : "text", f = [{
5357
5363
  key: "from",
5358
- ...rc(o.type)
5364
+ ...ic(o.type)
5359
5365
  }, {
5360
5366
  key: "until",
5361
- ...rc(s.type)
5367
+ ...ic(s.type)
5362
5368
  }];
5363
5369
  return J(t, {
5364
5370
  kind: "period",
@@ -5379,25 +5385,25 @@ function Fs(e) {
5379
5385
  zod: G(u, r)
5380
5386
  });
5381
5387
  }
5382
- var Is = /* @__PURE__ */ new Set([
5388
+ var Ls = /* @__PURE__ */ new Set([
5383
5389
  "name",
5384
5390
  "mime",
5385
5391
  "size"
5386
- ]), Ls = [
5392
+ ]), Rs = [
5387
5393
  "url",
5388
5394
  "src",
5389
5395
  "href",
5390
5396
  "link"
5391
5397
  ];
5392
- function Rs(e) {
5398
+ function zs(e) {
5393
5399
  if (typeof e != "object" || !e || Array.isArray(e)) return "file_structure";
5394
5400
  let t = e;
5395
- if (Ls.some((e) => e in t)) return "file_remote_url";
5401
+ if (Rs.some((e) => e in t)) return "file_remote_url";
5396
5402
  let n = t.name;
5397
5403
  if (typeof n != "string" || n === "") return "file_structure";
5398
5404
  if (n.includes("://") || n.startsWith("//")) return "file_remote_url";
5399
5405
  if (/[\\/]/.test(n) || n.includes("..")) return "file_name";
5400
- for (let e of Object.keys(t)) if (!Is.has(e)) return "file_unknown_key";
5406
+ for (let e of Object.keys(t)) if (!Ls.has(e)) return "file_unknown_key";
5401
5407
  return t.mime !== void 0 && typeof t.mime != "string" || t.size !== void 0 && typeof t.size != "number" ? "file_structure" : null;
5402
5408
  }
5403
5409
  function Q(e, t) {
@@ -5413,7 +5419,7 @@ function Q(e, t) {
5413
5419
  }
5414
5420
  let n = W(e), r = Array.isArray(n) ? n : [n];
5415
5421
  for (let e of r) {
5416
- let n = Rs(e);
5422
+ let n = zs(e);
5417
5423
  if (n) {
5418
5424
  t.addIssue({
5419
5425
  code: B.custom,
@@ -5434,34 +5440,34 @@ function Q(e, t) {
5434
5440
  zod: G(a, r)
5435
5441
  });
5436
5442
  }
5437
- function zs(e) {
5443
+ function Bs(e) {
5438
5444
  return Q("file", e);
5439
5445
  }
5440
- function Bs(e) {
5446
+ function Vs(e) {
5441
5447
  return Q("document", e);
5442
5448
  }
5443
- function Vs(e) {
5449
+ function Hs(e) {
5444
5450
  return Q("audio", e);
5445
5451
  }
5446
- function Hs(e) {
5452
+ function Us(e) {
5447
5453
  return Q("video", e);
5448
5454
  }
5449
- function Us(e) {
5455
+ function Ws(e) {
5450
5456
  return Q("image", e);
5451
5457
  }
5452
- function Ws(e) {
5458
+ function Gs(e) {
5453
5459
  return Q("media", e);
5454
5460
  }
5455
- function Gs(e) {
5461
+ function Ks(e) {
5456
5462
  return Q("avatar", e);
5457
5463
  }
5458
- function Ks(e) {
5464
+ function qs(e) {
5459
5465
  return Q("cover", e);
5460
5466
  }
5461
- function qs(e) {
5467
+ function Js(e) {
5462
5468
  return Q("poster", e);
5463
5469
  }
5464
- function Js(e) {
5470
+ function Ys(e) {
5465
5471
  let t = K(e), n = {
5466
5472
  ...t.option ?? X({ label: "" }),
5467
5473
  label: t.valueLabel ?? ""
@@ -5481,7 +5487,7 @@ function Js(e) {
5481
5487
  required: t.required
5482
5488
  });
5483
5489
  }
5484
- function Ys(e, t, n) {
5490
+ function Xs(e, t, n) {
5485
5491
  let r = K(n), i = r.required ?? !1, a = r.config ?? {}, o = L().finite();
5486
5492
  t && (o = o.int({ message: H("int") })), a.min != null && (o = o.min(a.min)), a.max != null && (o = o.max(a.max));
5487
5493
  let s = z({
@@ -5531,13 +5537,13 @@ function Ys(e, t, n) {
5531
5537
  zod: G(c, i)
5532
5538
  });
5533
5539
  }
5534
- function Xs(e) {
5535
- return Ys("numberRange", !0, e);
5536
- }
5537
5540
  function Zs(e) {
5538
- return Ys("realRange", !1, e);
5541
+ return Xs("numberRange", !0, e);
5539
5542
  }
5540
5543
  function Qs(e) {
5544
+ return Xs("realRange", !1, e);
5545
+ }
5546
+ function $s(e) {
5541
5547
  let t = K(e), n = t.required ?? !1, r = t.multiple ?? !1, i = z({
5542
5548
  url: F().min(1),
5543
5549
  title: F().optional(),
@@ -5565,7 +5571,7 @@ function Qs(e) {
5565
5571
  zod: G(a, n)
5566
5572
  });
5567
5573
  }
5568
- var $s = {
5574
+ var ec = {
5569
5575
  string: X,
5570
5576
  text: Z,
5571
5577
  i18n: gs,
@@ -5579,30 +5585,30 @@ var $s = {
5579
5585
  datetime: Ss,
5580
5586
  boolean: Cs,
5581
5587
  triState: ws,
5582
- select: Ts,
5583
- relation: Es,
5584
- json: Ds,
5585
- check: Os,
5586
- measured: ks,
5587
- money: As,
5588
- code: js,
5589
- geo: Ms,
5590
- lookup: Ps,
5591
- perWeekday: Ns,
5592
- period: Fs,
5593
- file: zs,
5594
- document: Bs,
5595
- audio: Vs,
5596
- video: Hs,
5597
- image: Us,
5598
- media: Ws,
5599
- avatar: Gs,
5600
- cover: Ks,
5601
- poster: qs,
5602
- embed: Qs,
5603
- keyValue: Js,
5604
- numberRange: Xs,
5605
- realRange: Zs,
5588
+ select: Es,
5589
+ relation: Ds,
5590
+ json: Os,
5591
+ check: ks,
5592
+ measured: As,
5593
+ money: js,
5594
+ code: Ms,
5595
+ geo: Ns,
5596
+ lookup: Fs,
5597
+ perWeekday: Ps,
5598
+ period: Is,
5599
+ file: Bs,
5600
+ document: Vs,
5601
+ audio: Hs,
5602
+ video: Us,
5603
+ image: Ws,
5604
+ media: Gs,
5605
+ avatar: Ks,
5606
+ cover: qs,
5607
+ poster: Js,
5608
+ embed: $s,
5609
+ keyValue: Ys,
5610
+ numberRange: Zs,
5611
+ realRange: Qs,
5606
5612
  group: q,
5607
5613
  row: $o,
5608
5614
  table: es,
@@ -5614,19 +5620,19 @@ var $s = {
5614
5620
  info: cs,
5615
5621
  button: ls
5616
5622
  };
5617
- function ec(e) {
5618
- for (let t of Object.keys(e)) if (t in $s) throw Error(`[f] preset '${t}' overrides a primitive`);
5623
+ function tc(e) {
5624
+ for (let t of Object.keys(e)) if (t in ec) throw Error(`[f] preset '${t}' overrides a primitive`);
5619
5625
  return {
5620
- ...$s,
5626
+ ...ec,
5621
5627
  ...e
5622
5628
  };
5623
5629
  }
5624
- var tc, nc = () => tc ??= ec(Wo);
5630
+ var nc, rc = () => nc ??= tc(Wo);
5625
5631
  new Proxy({}, {
5626
- get: (e, t) => nc()[t],
5627
- has: (e, t) => t in nc()
5632
+ get: (e, t) => rc()[t],
5633
+ has: (e, t) => t in rc()
5628
5634
  });
5629
- function rc(e) {
5635
+ function ic(e) {
5630
5636
  let { kind: t, label: n, required: r, prim: i, hints: a, options: o, relation: s, virtual: c, json: l, hidden: u } = e;
5631
5637
  return {
5632
5638
  kind: t,
@@ -5643,8 +5649,8 @@ function rc(e) {
5643
5649
  }
5644
5650
  //#endregion
5645
5651
  //#region ../web-sdk/src/registry.ts
5646
- var ic = {};
5647
- function ac(e) {
5652
+ var ac = {};
5653
+ function oc(e) {
5648
5654
  if (!e.kinds.length) throw Error("[render] renderer without kinds");
5649
5655
  let t = {
5650
5656
  kinds: e.kinds,
@@ -5655,14 +5661,14 @@ function ac(e) {
5655
5661
  keys: e.keys
5656
5662
  };
5657
5663
  for (let n of e.kinds) {
5658
- if (ic[n]) throw Error(`[render] kind '${n}' already registered`);
5659
- ic[n] = t;
5664
+ if (ac[n]) throw Error(`[render] kind '${n}' already registered`);
5665
+ ac[n] = t;
5660
5666
  }
5661
5667
  }
5662
- function oc(e) {
5663
- return ic[e.kind];
5664
- }
5665
5668
  function sc(e) {
5669
+ return ac[e.kind];
5670
+ }
5671
+ function cc(e) {
5666
5672
  if (qo(e) || Jo(e)) return e.type.kind;
5667
5673
  if (Yo(e)) return e.kind ?? (is(e) ? "collection" : as(e) ? "embedded" : "group");
5668
5674
  if (Qo(e)) return "button";
@@ -5670,75 +5676,75 @@ function sc(e) {
5670
5676
  if (Zo(e)) return "info";
5671
5677
  throw Error("[render] unknown layout element");
5672
5678
  }
5673
- function cc(e) {
5674
- let t = oc(e)?.layout;
5679
+ function lc(e) {
5680
+ let t = sc(e)?.layout;
5675
5681
  return typeof t == "function" ? t(e) : t ?? "scalar";
5676
5682
  }
5677
- var lc = (e) => e.hints.multi === !0 || e.hints.multiple === !0 ? "block" : "scalar", uc = {};
5678
- function dc(e, t) {
5679
- if (uc[e]) throw Error(`[template] '${e}' already registered`);
5680
- uc[e] = t;
5683
+ var uc = (e) => e.hints.multi === !0 || e.hints.multiple === !0 ? "block" : "scalar", dc = {};
5684
+ function fc(e, t) {
5685
+ if (dc[e]) throw Error(`[template] '${e}' already registered`);
5686
+ dc[e] = t;
5681
5687
  }
5682
- function fc(e) {
5683
- return uc[e];
5688
+ function pc(e) {
5689
+ return dc[e];
5684
5690
  }
5685
5691
  //#endregion
5686
5692
  //#region ../web-sdk/src/list-view.ts
5687
- var pc = {};
5688
- function mc(e) {
5693
+ var mc = {};
5694
+ function hc(e) {
5689
5695
  if (!e.kind) throw Error("[list-view] view without kind");
5690
- if (pc[e.kind]) throw Error(`[list-view] kind '${e.kind}' already registered`);
5691
- pc[e.kind] = e;
5696
+ if (mc[e.kind]) throw Error(`[list-view] kind '${e.kind}' already registered`);
5697
+ mc[e.kind] = e;
5692
5698
  }
5693
- function hc(e) {
5694
- return pc[e];
5699
+ function gc(e) {
5700
+ return mc[e];
5695
5701
  }
5696
5702
  //#endregion
5697
5703
  //#region ../web-sdk/src/plugin-ui.ts
5698
- function gc(e) {
5704
+ function _c(e) {
5699
5705
  return e;
5700
5706
  }
5701
- var $ = /* @__PURE__ */ new Map(), _c = /* @__PURE__ */ new Map(), vc = /* @__PURE__ */ new Map();
5702
- function yc(e) {
5707
+ var $ = /* @__PURE__ */ new Map(), vc = /* @__PURE__ */ new Map(), yc = /* @__PURE__ */ new Map();
5708
+ function bc(e) {
5703
5709
  for (let t of e.slots ?? []) {
5704
5710
  let e = $.get(t.slot);
5705
5711
  e || (e = /* @__PURE__ */ new Map(), $.set(t.slot, e)), e.set(t.id, t);
5706
5712
  }
5707
- for (let t of e.routes ?? []) _c.set(t.path, t);
5708
- for (let t of e.nav ?? []) vc.set(t.to, t);
5709
- }
5710
- function bc(e) {
5711
- return (t, n) => (t.order ?? 0) - (n.order ?? 0) || e(t).localeCompare(e(n));
5713
+ for (let t of e.routes ?? []) vc.set(t.path, t);
5714
+ for (let t of e.nav ?? []) yc.set(t.to, t);
5712
5715
  }
5713
5716
  function xc(e) {
5714
- return [...$.get(e)?.values() ?? []].sort(bc((e) => e.id));
5717
+ return (t, n) => (t.order ?? 0) - (n.order ?? 0) || e(t).localeCompare(e(n));
5715
5718
  }
5716
- function Sc() {
5717
- return [..._c.values()];
5719
+ function Sc(e) {
5720
+ return [...$.get(e)?.values() ?? []].sort(xc((e) => e.id));
5718
5721
  }
5719
5722
  function Cc() {
5720
- return [...vc.values()].sort(bc((e) => e.to));
5723
+ return [...vc.values()];
5721
5724
  }
5722
5725
  function wc() {
5723
- $.clear(), _c.clear(), vc.clear();
5726
+ return [...yc.values()].sort(xc((e) => e.to));
5727
+ }
5728
+ function Tc() {
5729
+ $.clear(), vc.clear(), yc.clear();
5724
5730
  }
5725
5731
  //#endregion
5726
5732
  //#region ../web-sdk/src/site-links.ts
5727
- var Tc = [], Ec = [];
5728
- function Dc(e) {
5729
- Tc = [...e];
5730
- }
5731
- function Oc() {
5732
- return [...Tc];
5733
- }
5734
- function kc(e) {
5733
+ var Ec = [], Dc = [];
5734
+ function Oc(e) {
5735
5735
  Ec = [...e];
5736
5736
  }
5737
- function Ac() {
5737
+ function kc() {
5738
5738
  return [...Ec];
5739
5739
  }
5740
+ function Ac(e) {
5741
+ Dc = [...e];
5742
+ }
5740
5743
  function jc() {
5741
- Tc = [], Ec = [];
5744
+ return [...Dc];
5745
+ }
5746
+ function Mc() {
5747
+ Ec = [], Dc = [];
5742
5748
  }
5743
5749
  //#endregion
5744
- export { yc as applyAppUI, gc as definePluginUI, sc as elementKind, cc as fieldLayout, Cc as getPluginNav, Sc as getPluginRoutes, Oc as getSiteLinks, Ac as getSiteShelves, xc as getSlotEntries, pc as listViewRegistry, lc as multiBlock, mc as registerListView, ac as registerRenderer, Dc as registerSiteLinks, kc as registerSiteShelves, dc as registerTemplate, ic as rendererRegistry, wc as resetAppUI, jc as resetSiteLinks, hc as resolveListView, oc as resolveRenderer, fc as resolveTemplate };
5750
+ export { bc as applyAppUI, _c as definePluginUI, cc as elementKind, lc as fieldLayout, wc as getPluginNav, Cc as getPluginRoutes, kc as getSiteLinks, jc as getSiteShelves, Sc as getSlotEntries, mc as listViewRegistry, uc as multiBlock, hc as registerListView, oc as registerRenderer, Oc as registerSiteLinks, Ac as registerSiteShelves, fc as registerTemplate, ac as rendererRegistry, Tc as resetAppUI, Mc as resetSiteLinks, gc as resolveListView, sc as resolveRenderer, pc as resolveTemplate };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coffer-org/web",
3
- "version": "2.6.0",
3
+ "version": "2.6.1",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=24"
@@ -1,16 +0,0 @@
1
- import{r as e,t}from"./rolldown-runtime-QTnfLwEv.js";import{a as n,t as r}from"./i18n-vendor-T6EnJ_TL.js";import{c as i,l as a,t as o}from"./react-vendor-BskHO5hY.js";import{n as s,t as c}from"./x-BFRg18Fi.js";import{s as l}from"./icons-DBHj1PyA.js";import{n as u,o as d,r as f,t as p}from"./use-media-query-BED2JoBm.js";import{n as m,r as h,t as g}from"./upload-eoIHAc6j.js";import{n as _,t as v}from"./square-CiErsTOS.js";import"./src-BlTOHYZL.js";import{i as y}from"./plugin-ui-CKd6q8ec.js";import{P as b}from"./api-DsJ6cAbe.js";import{n as ee,t as te}from"./dialog-DqWXrq6M.js";import{n as x,t as S}from"./development-olQNibq5.js";import{c as C}from"./micromark-extension-gfm-BUw6_ZLT.js";import{a as ne,i as w,n as T,o as E,s as D}from"./space-separated-tokens-IJiqTQpk.js";import{a as O,c as k,s as re,t as A}from"./lib-Du7RHLba.js";import{t as j}from"./lib-sYoE14fC.js";import{c as ie,t as ae}from"./lib-B13BbhLB.js";var oe=s(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),se=s(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),ce=s(`message-circle`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}]]),le=s(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),ue=s(`paperclip`,[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]),de=s(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]),fe={classId:`classID`,dataType:`datatype`,itemId:`itemID`,strokeDashArray:`strokeDasharray`,strokeDashOffset:`strokeDashoffset`,strokeLineCap:`strokeLinecap`,strokeLineJoin:`strokeLinejoin`,strokeMiterLimit:`strokeMiterlimit`,typeOf:`typeof`,xLinkActuate:`xlinkActuate`,xLinkArcRole:`xlinkArcrole`,xLinkHref:`xlinkHref`,xLinkRole:`xlinkRole`,xLinkShow:`xlinkShow`,xLinkTitle:`xlinkTitle`,xLinkType:`xlinkType`,xmlnsXLink:`xmlnsXlink`},M=e(n(),1);async function*pe(e){let t=e.getReader(),n=new TextDecoder,r=``;for(;;){let{done:e,value:i}=await t.read();if(e)break;r+=n.decode(i,{stream:!0});let a;for(;(a=r.indexOf(`
2
-
3
- `))!==-1;){let e=r.slice(0,a);r=r.slice(a+2);let t=`message`,n=[];for(let r of e.split(`
4
- `))!r||r.startsWith(`:`)||(r.startsWith(`event:`)?t=r.slice(6).trim():r.startsWith(`data:`)&&n.push(r.slice(5).replace(/^ /,``)));n.length&&(yield{event:t,data:n.join(`
5
- `)})}}}var N=`/api/plugins/webchat/user`;async function me(){let e=await fetch(`${N}/threads`,{method:`POST`,headers:{"content-type":`application/json`},body:`{}`});if(!e.ok)throw Error(`threads`);return(await e.json()).threads}async function he(e){let t=await fetch(`${N}/history`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({convId:e})});if(!t.ok)throw Error(`history`);return await t.json()}async function ge(e){let t=await fetch(`${N}/send/stream`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({convId:e.convId,text:e.text,replyTo:e.replyTo,context:e.context,...e.attachments?.length?{attachments:e.attachments}:{}}),signal:e.signal});if(!t.ok||!t.body){e.onError(`http ${t.status}`);return}for await(let n of pe(t.body))try{let t=JSON.parse(n.data);n.event===`reasoning`?e.onReasoning?.(String(t.text??``)):n.event===`delta`||n.event===`message`?e.onDelta(String(t.text??``)):n.event===`done`?e.onDone({msgId:t.msgId??null,parentMsgId:String(t.parentMsgId??``)}):n.event===`error`&&e.onError(String(t.message??`error`))}catch(t){e.onError(`malformed frame: ${String(t)}`)}}function P(){return crypto.randomUUID()}function _e(){let[e,t]=(0,M.useState)([]),[n,r]=(0,M.useState)(null),[i,a]=(0,M.useState)([]),[o,s]=(0,M.useState)(null),[c,l]=(0,M.useState)(null),[u,d]=(0,M.useState)(null),f=(0,M.useRef)(null),p=(0,M.useRef)(null),m=(0,M.useRef)(!1),h=(0,M.useRef)(0),g=(0,M.useRef)(!0);(0,M.useEffect)(()=>(g.current=!0,()=>{g.current=!1,p.current?.abort(),h.current++}),[]);let _=(0,M.useCallback)(()=>{me().then(e=>{g.current&&t(e)}).catch(()=>{})},[]),v=(0,M.useCallback)(()=>{p.current?.abort(),p.current=null,h.current++,f.current=null,r(P()),a([]),s(null),l(null),d(null)},[]),y=(0,M.useCallback)(async e=>{p.current?.abort(),p.current=null,h.current++;let t=h.current;r(e),a([]),f.current=null,s(null),l(null),d(null);try{let n=await he(e);if(h.current!==t)return;f.current=n.headMsgId,a(n.messages)}catch(e){if(h.current!==t)return;d(e.message)}},[]),b=(0,M.useCallback)(()=>{p.current?.abort(),p.current=null,s(null),l(null)},[]);return{threads:e,convId:n,messages:i,pending:o,pendingReasoning:c,error:u,send:(0,M.useCallback)((e,t,i=[])=>{if(!e.trim()||m.current)return!1;m.current=!0;let o=h.current,c=n??P();n===null&&r(c),d(null),a(t=>[...t,{msgId:`local-${P()}`,role:`user`,text:e,ts:Math.floor(Date.now()/1e3),...i.length?{attachments:i}:{}}]),s(``);let u=new AbortController;p.current=u;let g=``,v=``;return(async()=>{try{await ge({convId:c,text:e,replyTo:f.current,context:t,attachments:i,signal:u.signal,onDelta:e=>{h.current===o&&(g=e,s(e))},onReasoning:e=>{h.current===o&&(v=e,l(e))},onDone:({msgId:e,parentMsgId:t})=>{h.current===o&&(f.current=e??t,g&&a(t=>[...t,{msgId:e??`local-${P()}`,role:`assistant`,text:g,ts:Math.floor(Date.now()/1e3),...v?{reasoning:v}:{}}]),s(null),l(null))},onError:e=>{h.current===o&&(d(e),s(null),l(null))}})}catch(e){h.current===o&&(e.name!==`AbortError`&&d(e.message),s(null),l(null))}finally{m.current=!1,h.current===o&&(p.current=null,_())}})(),!0},[n,_]),open:y,newConversation:v,loadThreads:_,stop:b}}function ve(){let{pathname:e}=i(),t=e.split(`/`).filter(Boolean),n=new Set([`settings`,`browse`,`plugins`,`login`,`setup`]);if(t.length<2||n.has(t[0]))return{path:e};let[r,a,o]=t;return{path:e,library:r,type:a,...o&&o!==`new`?{id:o}:{}}}var ye=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,be=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,xe={};function Se(e,t){return((t||xe).jsx?be:ye).test(e)}var Ce=t(((e,t)=>{var n=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,r=/\n/g,i=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,c=/^[;\s]*/,l=/^\s+|\s+$/g;function u(e,t){if(typeof e!=`string`)throw TypeError(`First argument must be a string`);if(!e)return[];t||={};var l=1,u=1;function f(e){var t=e.match(r);t&&(l+=t.length);var n=e.lastIndexOf(`
6
- `);u=~n?e.length-n:u+e.length}function p(){var e={line:l,column:u};return function(t){return t.position=new m(e),_(),t}}function m(e){this.start=e,this.end={line:l,column:u},this.source=t.source}m.prototype.content=e;function h(n){var r=Error(t.source+`:`+l+`:`+u+`: `+n);if(r.reason=n,r.filename=t.source,r.line=l,r.column=u,r.source=e,!t.silent)throw r}function g(t){var n=t.exec(e);if(n){var r=n[0];return f(r),e=e.slice(r.length),n}}function _(){g(i)}function v(e){var t;for(e||=[];t=y();)t!==!1&&e.push(t);return e}function y(){var t=p();if(!(e.charAt(0)!=`/`||e.charAt(1)!=`*`)){for(var n=2;e.charAt(n)!=``&&(e.charAt(n)!=`*`||e.charAt(n+1)!=`/`);)++n;if(n+=2,e.charAt(n-1)===``)return h(`End of comment missing`);var r=e.slice(2,n-2);return u+=2,f(r),e=e.slice(n),u+=2,t({type:`comment`,comment:r})}}function b(){var e=p(),t=g(a);if(t){if(y(),!g(o))return h(`property missing ':'`);var r=g(s),i=e({type:`declaration`,property:d(t[0].replace(n,``)),value:r?d(r[0].replace(n,``)):``});return g(c),i}}function ee(){var e=[];v(e);for(var t;t=b();)t!==!1&&(e.push(t),v(e));return e}return _(),ee()}function d(e){return e?e.replace(l,``):``}t.exports=u})),we=t((e=>{var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.default=r;var n=t(Ce());function r(e,t){let r=null;if(!e||typeof e!=`string`)return r;let i=(0,n.default)(e),a=typeof t==`function`;return i.forEach(e=>{if(e.type!==`declaration`)return;let{property:n,value:i}=e;a?t(n,i,e):i&&(r||={},r[n]=i)}),r}})),Te=t((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.camelCase=void 0;var t=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,r=/^[^-]+$/,i=/^-(webkit|moz|ms|o|khtml)-/,a=/^-(ms)-/,o=function(e){return!e||r.test(e)||t.test(e)},s=function(e,t){return t.toUpperCase()},c=function(e,t){return`${t}-`};e.camelCase=function(e,t){return t===void 0&&(t={}),o(e)?e:(e=e.toLowerCase(),e=t.reactCompat?e.replace(a,c):e.replace(i,c),e.replace(n,s))}})),Ee=t(((e,t)=>{var n=(e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(we()),r=Te();function i(e,t){var i={};return!e||typeof e!=`string`||(0,n.default)(e,function(e,n){e&&n&&(i[(0,r.camelCase)(e,t)]=n)}),i}i.default=i,t.exports=i})),De=ke(`end`),Oe=ke(`start`);function ke(e){return t;function t(t){let n=t&&t.position&&t.position[e]||{};if(typeof n.line==`number`&&n.line>0&&typeof n.column==`number`&&n.column>0)return{line:n.line,column:n.column,offset:typeof n.offset==`number`&&n.offset>-1?n.offset:void 0}}}function Ae(e){let t=Oe(e),n=De(e);if(t&&n)return{start:t,end:n}}var je=e(Ee(),1),F={}.hasOwnProperty,Me=new Map,Ne=/[A-Z]/g,Pe=new Set([`table`,`tbody`,`thead`,`tfoot`,`tr`]),Fe=new Set([`td`,`th`]);function Ie(e,t){if(!t||t.Fragment===void 0)throw TypeError("Expected `Fragment` in options");let n=t.filePath||void 0,r;if(t.development){if(typeof t.jsxDEV!=`function`)throw TypeError("Expected `jsxDEV` in options when `development: true`");r=Ke(n,t.jsxDEV)}else{if(typeof t.jsx!=`function`)throw TypeError("Expected `jsx` in production options");if(typeof t.jsxs!=`function`)throw TypeError("Expected `jsxs` in production options");r=Ge(n,t.jsx,t.jsxs)}let i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||`react`,evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space===`svg`?E:ne,stylePropertyNameCase:t.stylePropertyNameCase||`dom`,tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},a=Le(i,e,void 0);return a&&typeof a!=`string`?a:i.create(e,i.Fragment,{children:a||void 0},void 0)}function Le(e,t,n){if(t.type===`element`)return Re(e,t,n);if(t.type===`mdxFlowExpression`||t.type===`mdxTextExpression`)return ze(e,t);if(t.type===`mdxJsxFlowElement`||t.type===`mdxJsxTextElement`)return Ve(e,t,n);if(t.type===`mdxjsEsm`)return Be(e,t);if(t.type===`root`)return He(e,t,n);if(t.type===`text`)return Ue(e,t)}function Re(e,t,n){let r=e.schema,i=r;t.tagName.toLowerCase()===`svg`&&r.space===`html`&&(i=E,e.schema=i),e.ancestors.push(t);let a=Ze(e,t.tagName,!1),o=qe(e,t),s=L(e,t);return Pe.has(t.tagName)&&(s=s.filter(function(e){return typeof e!=`string`||!j(e)})),We(e,o,a,t),I(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function ze(e,t){if(t.data&&t.data.estree&&e.evaluater){let n=t.data.estree.body[0];return S(n.type===`ExpressionStatement`),e.evaluater.evaluateExpression(n.expression)}R(e,t.position)}function Be(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);R(e,t.position)}function Ve(e,t,n){let r=e.schema,i=r;t.name===`svg`&&r.space===`html`&&(i=E,e.schema=i),e.ancestors.push(t);let a=t.name===null?e.Fragment:Ze(e,t.name,!0),o=Je(e,t),s=L(e,t);return We(e,o,a,t),I(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function He(e,t,n){let r={};return I(r,L(e,t)),e.create(t,e.Fragment,r,n)}function Ue(e,t){return t.value}function We(e,t,n,r){typeof n!=`string`&&n!==e.Fragment&&e.passNode&&(t.node=r)}function I(e,t){if(t.length>0){let n=t.length>1?t:t[0];n&&(e.children=n)}}function Ge(e,t,n){return r;function r(e,r,i,a){let o=Array.isArray(i.children)?n:t;return a?o(r,i,a):o(r,i)}}function Ke(e,t){return n;function n(n,r,i,a){let o=Array.isArray(i.children),s=Oe(n);return t(r,i,a,o,{columnNumber:s?s.column-1:void 0,fileName:e,lineNumber:s?s.line:void 0},void 0)}}function qe(e,t){let n={},r,i;for(i in t.properties)if(i!==`children`&&F.call(t.properties,i)){let a=Ye(e,i,t.properties[i]);if(a){let[i,o]=a;e.tableCellAlignToStyle&&i===`align`&&typeof o==`string`&&Fe.has(t.tagName)?r=o:n[i]=o}}if(r){let t=n.style||={};t[e.stylePropertyNameCase===`css`?`text-align`:`textAlign`]=r}return n}function Je(e,t){let n={};for(let r of t.attributes)if(r.type===`mdxJsxExpressionAttribute`)if(r.data&&r.data.estree&&e.evaluater){let t=r.data.estree.body[0];S(t.type===`ExpressionStatement`);let i=t.expression;S(i.type===`ObjectExpression`);let a=i.properties[0];S(a.type===`SpreadElement`),Object.assign(n,e.evaluater.evaluateExpression(a.argument))}else R(e,t.position);else{let i=r.name,a;if(r.value&&typeof r.value==`object`)if(r.value.data&&r.value.data.estree&&e.evaluater){let t=r.value.data.estree.body[0];S(t.type===`ExpressionStatement`),a=e.evaluater.evaluateExpression(t.expression)}else R(e,t.position);else a=r.value===null||r.value;n[i]=a}return n}function L(e,t){let n=[],r=-1,i=e.passKeys?new Map:Me;for(;++r<t.children.length;){let a=t.children[r],o;if(e.passKeys){let e=a.type===`element`?a.tagName:a.type===`mdxJsxFlowElement`||a.type===`mdxJsxTextElement`?a.name:void 0;if(e){let t=i.get(e)||0;o=e+`-`+t,i.set(e,t+1)}}let s=Le(e,a,o);s!==void 0&&n.push(s)}return n}function Ye(e,t,n){let r=D(e.schema,t);if(!(n==null||typeof n==`number`&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?w(n):T(n)),r.property===`style`){let t=typeof n==`object`?n:Xe(e,String(n));return e.stylePropertyNameCase===`css`&&(t=Qe(t)),[`style`,t]}return[e.elementAttributeNameCase===`react`&&r.space?fe[r.property]||r.property:r.attribute,n]}}function Xe(e,t){try{return(0,je.default)(t,{reactCompat:!0})}catch(t){if(e.ignoreInvalidStyle)return{};let n=t,r=new k("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:n,ruleId:`style`,source:`hast-util-to-jsx-runtime`});throw r.file=e.filePath||void 0,r.url=`https://github.com/syntax-tree/hast-util-to-jsx-runtime#cannot-parse-style-attribute`,r}}function Ze(e,t,n){let r;if(!n)r={type:`Literal`,value:t};else if(t.includes(`.`)){let e=t.split(`.`),n=-1,i;for(;++n<e.length;){let t=Se(e[n])?{type:`Identifier`,name:e[n]}:{type:`Literal`,value:e[n]};i=i?{type:`MemberExpression`,object:i,property:t,computed:!!(n&&t.type===`Literal`),optional:!1}:t}S(i,`always a result`),r=i}else r=Se(t)&&!/^[a-z]/.test(t)?{type:`Identifier`,name:t}:{type:`Literal`,value:t};if(r.type===`Literal`){let t=r.value;return F.call(e.components,t)?e.components[t]:t}if(e.evaluater)return e.evaluater.evaluateExpression(r);R(e)}function R(e,t){let n=new k("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:`mdx-estree`,source:`hast-util-to-jsx-runtime`});throw n.file=e.filePath||void 0,n.url=`https://github.com/syntax-tree/hast-util-to-jsx-runtime#cannot-handle-mdx-estrees-without-createevaluater`,n}function Qe(e){let t={},n;for(n in e)F.call(e,n)&&(t[$e(n)]=e[n]);return t}function $e(e){let t=e.replace(Ne,et);return t.slice(0,3)===`ms-`&&(t=`-`+t),t}function et(e){return`-`+e.toLowerCase()}var z={action:[`form`],cite:[`blockquote`,`del`,`ins`,`q`],data:[`object`],formAction:[`button`,`input`],href:[`a`,`area`,`base`,`link`],icon:[`menuitem`],itemId:null,manifest:[`html`],ping:[`a`,`area`],poster:[`video`],src:[`audio`,`embed`,`iframe`,`img`,`input`,`script`,`source`,`track`,`video`]};function tt(e,t){let n={type:`element`,tagName:`blockquote`,properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function nt(e,t){let n={type:`element`,tagName:`br`,properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:`text`,value:`
7
- `}]}function rt(e,t){let n=t.value?t.value+`
8
- `:``,r={},i=t.lang?t.lang.split(/\s+/):[];i.length>0&&(r.className=[`language-`+i[0]]);let a={type:`element`,tagName:`code`,properties:r,children:[{type:`text`,value:n}]};return t.meta&&(a.data={meta:t.meta}),e.patch(t,a),a=e.applyData(t,a),a={type:`element`,tagName:`pre`,properties:{},children:[a]},e.patch(t,a),a}function it(e,t){let n={type:`element`,tagName:`del`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function at(e,t){let n={type:`element`,tagName:`em`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function ot(e,t){let n=typeof e.options.clobberPrefix==`string`?e.options.clobberPrefix:`user-content-`,r=String(t.identifier).toUpperCase(),i=C(r.toLowerCase()),a=e.footnoteOrder.indexOf(r),o,s=e.footnoteCounts.get(r);s===void 0?(s=0,e.footnoteOrder.push(r),o=e.footnoteOrder.length):o=a+1,s+=1,e.footnoteCounts.set(r,s);let c={type:`element`,tagName:`a`,properties:{href:`#`+n+`fn-`+i,id:n+`fnref-`+i+(s>1?`-`+s:``),dataFootnoteRef:!0,ariaDescribedBy:[`footnote-label`]},children:[{type:`text`,value:String(o)}]};e.patch(t,c);let l={type:`element`,tagName:`sup`,properties:{},children:[c]};return e.patch(t,l),e.applyData(t,l)}function st(e,t){let n={type:`element`,tagName:`h`+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function ct(e,t){if(e.options.allowDangerousHtml){let n={type:`raw`,value:t.value};return e.patch(t,n),e.applyData(t,n)}}function lt(e,t){let n=t.referenceType,r=`]`;if(n===`collapsed`?r+=`[]`:n===`full`&&(r+=`[`+(t.label||t.identifier)+`]`),t.type===`imageReference`)return[{type:`text`,value:`![`+t.alt+r}];let i=e.all(t),a=i[0];a&&a.type===`text`?a.value=`[`+a.value:i.unshift({type:`text`,value:`[`});let o=i[i.length-1];return o&&o.type===`text`?o.value+=r:i.push({type:`text`,value:r}),i}function ut(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return lt(e,t);let i={src:C(r.url||``),alt:t.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);let a={type:`element`,tagName:`img`,properties:i,children:[]};return e.patch(t,a),e.applyData(t,a)}function dt(e,t){let n={src:C(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);let r={type:`element`,tagName:`img`,properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function ft(e,t){let n={type:`text`,value:t.value.replace(/\r?\n|\r/g,` `)};e.patch(t,n);let r={type:`element`,tagName:`code`,properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function pt(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return lt(e,t);let i={href:C(r.url||``)};r.title!==null&&r.title!==void 0&&(i.title=r.title);let a={type:`element`,tagName:`a`,properties:i,children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function mt(e,t){let n={href:C(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);let r={type:`element`,tagName:`a`,properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function ht(e,t,n){let r=e.all(t),i=n?gt(n):_t(t),a={},o=[];if(typeof t.checked==`boolean`){let e=r[0],n;e&&e.type===`element`&&e.tagName===`p`?n=e:(n={type:`element`,tagName:`p`,properties:{},children:[]},r.unshift(n)),n.children.length>0&&n.children.unshift({type:`text`,value:` `}),n.children.unshift({type:`element`,tagName:`input`,properties:{type:`checkbox`,checked:t.checked,disabled:!0},children:[]}),a.className=[`task-list-item`]}let s=-1;for(;++s<r.length;){let e=r[s];(i||s!==0||e.type!==`element`||e.tagName!==`p`)&&o.push({type:`text`,value:`
9
- `}),e.type===`element`&&e.tagName===`p`&&!i?o.push(...e.children):o.push(e)}let c=r[r.length-1];c&&(i||c.type!==`element`||c.tagName!==`p`)&&o.push({type:`text`,value:`
10
- `});let l={type:`element`,tagName:`li`,properties:a,children:o};return e.patch(t,l),e.applyData(t,l)}function gt(e){let t=!1;if(e.type===`list`){t=e.spread||!1;let n=e.children,r=-1;for(;!t&&++r<n.length;)t=_t(n[r])}return t}function _t(e){return e.spread??e.children.length>1}function vt(e,t){let n={},r=e.all(t),i=-1;for(typeof t.start==`number`&&t.start!==1&&(n.start=t.start);++i<r.length;){let e=r[i];if(e.type===`element`&&e.tagName===`li`&&e.properties&&Array.isArray(e.properties.className)&&e.properties.className.includes(`task-list-item`)){n.className=[`contains-task-list`];break}}let a={type:`element`,tagName:t.ordered?`ol`:`ul`,properties:n,children:e.wrap(r,!0)};return e.patch(t,a),e.applyData(t,a)}function yt(e,t){let n={type:`element`,tagName:`p`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function bt(e,t){let n={type:`root`,children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)}function xt(e,t){let n={type:`element`,tagName:`strong`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function St(e,t){let n=e.all(t),r=n.shift(),i=[];if(r){let n={type:`element`,tagName:`thead`,properties:{},children:e.wrap([r],!0)};e.patch(t.children[0],n),i.push(n)}if(n.length>0){let r={type:`element`,tagName:`tbody`,properties:{},children:e.wrap(n,!0)},a=Oe(t.children[1]),o=De(t.children[t.children.length-1]);a&&o&&(r.position={start:a,end:o}),i.push(r)}let a={type:`element`,tagName:`table`,properties:{},children:e.wrap(i,!0)};return e.patch(t,a),e.applyData(t,a)}function Ct(e,t,n){let r=n?n.children:void 0,i=(r?r.indexOf(t):1)===0?`th`:`td`,a=n&&n.type===`table`?n.align:void 0,o=a?a.length:t.children.length,s=-1,c=[];for(;++s<o;){let n=t.children[s],r={},o=a?a[s]:void 0;o&&(r.align=o);let l={type:`element`,tagName:i,properties:r,children:[]};n&&(l.children=e.all(n),e.patch(n,l),l=e.applyData(n,l)),c.push(l)}let l={type:`element`,tagName:`tr`,properties:{},children:e.wrap(c,!0)};return e.patch(t,l),e.applyData(t,l)}function wt(e,t){let n={type:`element`,tagName:`td`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}var Tt=9,Et=32;function Dt(e){let t=String(e),n=/\r?\n|\r/g,r=n.exec(t),i=0,a=[];for(;r;)a.push(Ot(t.slice(i,r.index),i>0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return a.push(Ot(t.slice(i),i>0,!1)),a.join(``)}function Ot(e,t,n){let r=0,i=e.length;if(t){let t=e.codePointAt(r);for(;t===Tt||t===Et;)r++,t=e.codePointAt(r)}if(n){let t=e.codePointAt(i-1);for(;t===Tt||t===Et;)i--,t=e.codePointAt(i-1)}return i>r?e.slice(r,i):``}function kt(e,t){let n={type:`text`,value:Dt(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function At(e,t){let n={type:`element`,tagName:`hr`,properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}var jt={blockquote:tt,break:nt,code:rt,delete:it,emphasis:at,footnoteReference:ot,heading:st,html:ct,imageReference:ut,image:dt,inlineCode:ft,linkReference:pt,link:mt,listItem:ht,list:vt,paragraph:yt,root:bt,strong:xt,table:St,tableCell:wt,tableRow:Ct,text:kt,thematicBreak:At,toml:B,yaml:B,definition:B,footnoteDefinition:B};function B(){}var Mt=typeof self==`object`?self:globalThis,Nt=(e,t)=>{switch(e){case`Function`:case`SharedWorker`:case`Worker`:case`eval`:case`setInterval`:case`setTimeout`:throw TypeError(`unable to deserialize `+e)}return new Mt[e](t)},Pt=(e,t)=>{let n=(t,n)=>(e.set(n,t),t),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case-1:return n(o,i);case 1:{let e=n([],i);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},i);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),i);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),i)}case 5:{let e=n(new Map,i);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,i);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o;return n(typeof Mt[e]==`function`?Nt(e,t):Error(t),i)}case 8:return n(BigInt(o),i);case`BigInt`:return n(Object(BigInt(o)),i);case`ArrayBuffer`:return n(new Uint8Array(o).buffer,o);case`DataView`:{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}return n(Nt(a,o),i)};return r},Ft=e=>Pt(new Map,e)(0),V=``,{toString:It}={},{keys:Lt}=Object,H=e=>{let t=typeof e;if(t!==`object`||!e)return[0,t];let n=It.call(e).slice(8,-1);switch(n){case`Array`:return[1,V];case`Object`:return[2,V];case`Date`:return[3,V];case`RegExp`:return[4,V];case`Map`:return[5,V];case`Set`:return[6,V];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:e instanceof Error?[7,e.name||`Error`]:[2,n]},U=([e,t])=>e===0&&(t===`function`||t===`symbol`),Rt=(e,t,n,r)=>{let i=(e,t)=>{let i=r.push(e)-1;return n.set(t,i),i},a=r=>{if(n.has(r))return n.get(r);let[o,s]=H(r);switch(o){case 0:{let t=r;switch(s){case`bigint`:o=8,t=r.toString();break;case`function`:case`symbol`:if(e)throw TypeError(`unable to serialize `+s);t=null;break;case`undefined`:return i([-1],r)}return i([o,t],r)}case 1:{if(s){let e=r;return s===`DataView`?e=new Uint8Array(r.buffer):s===`ArrayBuffer`&&(e=new Uint8Array(r)),i([s,[...e]],r)}let e=[],t=i([o,e],r);for(let t of r)e.push(a(t));return t}case 2:{if(s)switch(s){case`BigInt`:return i([s,r.toString()],r);case`Boolean`:case`Number`:case`String`:return i([s,r.valueOf()],r)}if(t&&`toJSON`in r)return a(r.toJSON());let n=[],c=i([o,n],r);for(let t of Lt(r))(e||!U(H(r[t])))&&n.push([a(t),a(r[t])]);return c}case 3:return i([o,isNaN(r.getTime())?V:r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return i([o,{source:e,flags:t}],r)}case 5:{let t=[],n=i([o,t],r);for(let[n,i]of r)(e||!(U(H(n))||U(H(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!U(H(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a},zt=(e,{json:t,lossy:n}={})=>{let r=[];return Rt(!(t||n),!!t,new Map,r)(e),r},W=typeof structuredClone==`function`?(e,t)=>t&&(`json`in t||`lossy`in t)?Ft(zt(e,t)):structuredClone(e):(e,t)=>Ft(zt(e,t));function Bt(e,t){let n=[{type:`text`,value:`↩`}];return t>1&&n.push({type:`element`,tagName:`sup`,properties:{},children:[{type:`text`,value:String(t)}]}),n}function Vt(e,t){return`Back to reference `+(e+1)+(t>1?`-`+t:``)}function Ht(e){let t=typeof e.options.clobberPrefix==`string`?e.options.clobberPrefix:`user-content-`,n=e.options.footnoteBackContent||Bt,r=e.options.footnoteBackLabel||Vt,i=e.options.footnoteLabel||`Footnotes`,a=e.options.footnoteLabelTagName||`h2`,o=e.options.footnoteLabelProperties||{className:[`sr-only`]},s=[],c=-1;for(;++c<e.footnoteOrder.length;){let i=e.footnoteById.get(e.footnoteOrder[c]);if(!i)continue;let a=e.all(i),o=String(i.identifier).toUpperCase(),l=C(o.toLowerCase()),u=0,d=[],f=e.footnoteCounts.get(o);for(;f!==void 0&&++u<=f;){d.length>0&&d.push({type:`text`,value:` `});let e=typeof n==`string`?n:n(c,u);typeof e==`string`&&(e={type:`text`,value:e}),d.push({type:`element`,tagName:`a`,properties:{href:`#`+t+`fnref-`+l+(u>1?`-`+u:``),dataFootnoteBackref:``,ariaLabel:typeof r==`string`?r:r(c,u),className:[`data-footnote-backref`]},children:Array.isArray(e)?e:[e]})}let p=a[a.length-1];if(p&&p.type===`element`&&p.tagName===`p`){let e=p.children[p.children.length-1];e&&e.type===`text`?e.value+=` `:p.children.push({type:`text`,value:` `}),p.children.push(...d)}else a.push(...d);let m={type:`element`,tagName:`li`,properties:{id:t+`fn-`+l},children:e.wrap(a,!0)};e.patch(i,m),s.push(m)}if(s.length!==0)return{type:`element`,tagName:`section`,properties:{dataFootnotes:!0,className:[`footnotes`]},children:[{type:`element`,tagName:a,properties:{...W(o),id:`footnote-label`},children:[{type:`text`,value:i}]},{type:`text`,value:`
11
- `},{type:`element`,tagName:`ol`,properties:{},children:e.wrap(s,!0)},{type:`text`,value:`
12
- `}]}}var G={}.hasOwnProperty,Ut={};function Wt(e,t){let n=t||Ut,r=new Map,i=new Map,a={all:s,applyData:Kt,definitionById:r,footnoteById:i,footnoteCounts:new Map,footnoteOrder:[],handlers:{...jt,...n.handlers},one:o,options:n,patch:Gt,wrap:Jt};return A(e,function(e){if(e.type===`definition`||e.type===`footnoteDefinition`){let t=e.type===`definition`?r:i,n=String(e.identifier).toUpperCase();t.has(n)||t.set(n,e)}}),a;function o(e,t){let n=e.type,r=a.handlers[n];if(G.call(a.handlers,n)&&r)return r(a,e,t);if(a.options.passThrough&&a.options.passThrough.includes(n)){if(`children`in e){let{children:t,...n}=e,r=W(n);return r.children=a.all(e),r}return W(e)}return(a.options.unknownHandler||qt)(a,e,t)}function s(e){let t=[];if(`children`in e){let n=e.children,r=-1;for(;++r<n.length;){let i=a.one(n[r],e);if(i){if(r&&n[r-1].type===`break`&&(!Array.isArray(i)&&i.type===`text`&&(i.value=Yt(i.value)),!Array.isArray(i)&&i.type===`element`)){let e=i.children[0];e&&e.type===`text`&&(e.value=Yt(e.value))}Array.isArray(i)?t.push(...i):t.push(i)}}}return t}}function Gt(e,t){e.position&&(t.position=Ae(e))}function Kt(e,t){let n=t;if(e&&e.data){let t=e.data.hName,r=e.data.hChildren,i=e.data.hProperties;typeof t==`string`&&(n.type===`element`?n.tagName=t:n={type:`element`,tagName:t,properties:{},children:`children`in n?n.children:[n]}),n.type===`element`&&i&&Object.assign(n.properties,W(i)),`children`in n&&n.children&&r!=null&&(n.children=r)}return n}function qt(e,t){let n=t.data||{},r=`value`in t&&!(G.call(n,`hProperties`)||G.call(n,`hChildren`))?{type:`text`,value:t.value}:{type:`element`,tagName:`div`,properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function Jt(e,t){let n=[],r=-1;for(t&&n.push({type:`text`,value:`
13
- `});++r<e.length;)r&&n.push({type:`text`,value:`
14
- `}),n.push(e[r]);return t&&e.length>0&&n.push({type:`text`,value:`
15
- `}),n}function Yt(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function Xt(e,t){let n=Wt(e,t),r=n.one(e,void 0),i=Ht(n),a=Array.isArray(r)?{type:`root`,children:r}:r||{type:`root`,children:[]};return i&&(S(`children`in a),a.children.push({type:`text`,value:`
16
- `},i)),a}function Zt(e,t){return e&&`run`in e?async function(n,r){let i=Xt(n,{file:r,...t});await e.run(i,r)}:function(n,r){return Xt(n,{file:r,...e||t})}}var K=l(),Qt=[],$t={allowDangerousHtml:!0},en=/^(https?|ircs?|mailto|xmpp)$/i,tn=[{from:`astPlugins`,id:`remove-buggy-html-in-markdown-parser`},{from:`allowDangerousHtml`,id:`remove-buggy-html-in-markdown-parser`},{from:`allowNode`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`allowElement`},{from:`allowedTypes`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`allowedElements`},{from:`className`,id:`remove-classname`},{from:`disallowedTypes`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`disallowedElements`},{from:`escapeHtml`,id:`remove-buggy-html-in-markdown-parser`},{from:`includeElementIndex`,id:`#remove-includeelementindex`},{from:`includeNodeIndex`,id:`change-includenodeindex-to-includeelementindex`},{from:`linkTarget`,id:`remove-linktarget`},{from:`plugins`,id:`change-plugins-to-remarkplugins`,to:`remarkPlugins`},{from:`rawSourcePos`,id:`#remove-rawsourcepos`},{from:`renderers`,id:`change-renderers-to-components`,to:`components`},{from:`source`,id:`change-source-to-children`,to:`children`},{from:`sourcePos`,id:`#remove-sourcepos`},{from:`transformImageUri`,id:`#add-urltransform`,to:`urlTransform`},{from:`transformLinkUri`,id:`#add-urltransform`,to:`urlTransform`}];function nn(e){let t=rn(e),n=an(e);return on(t.runSync(t.parse(n),n),e)}function rn(e){let t=e.rehypePlugins||Qt,n=e.remarkPlugins||Qt,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...$t}:$t;return O().use(ie).use(n).use(Zt,r).use(t)}function an(e){let t=e.children||``,n=new re;return typeof t==`string`?n.value=t:x("Unexpected value `"+t+"` for `children` prop, expected `string`"),n}function on(e,t){let n=t.allowedElements,r=t.allowElement,i=t.components,a=t.disallowedElements,o=t.skipHtml,s=t.unwrapDisallowed,c=t.urlTransform||sn;for(let e of tn)Object.hasOwn(t,e.from)&&x("Unexpected `"+e.from+"` prop, "+(e.to?"use `"+e.to+"` instead":`remove it`)+` (see <https://github.com/remarkjs/react-markdown/blob/main/changelog.md#`+e.id+`> for more info)`);return n&&a&&x("Unexpected combined `allowedElements` and `disallowedElements`, expected one or the other"),A(e,l),Ie(e,{Fragment:K.Fragment,components:i,ignoreInvalidStyle:!0,jsx:K.jsx,jsxs:K.jsxs,passKeys:!0,passNode:!0});function l(e,t,i){if(e.type===`raw`&&i&&typeof t==`number`)return o?i.children.splice(t,1):i.children[t]={type:`text`,value:e.value},t;if(e.type===`element`){let t;for(t in z)if(Object.hasOwn(z,t)&&Object.hasOwn(e.properties,t)){let n=e.properties[t],r=z[t];(r===null||r.includes(e.tagName))&&(e.properties[t]=c(String(n||``),t,e))}}if(e.type===`element`){let o=n?!n.includes(e.tagName):a?a.includes(e.tagName):!1;if(!o&&r&&typeof t==`number`&&(o=!r(e,t,i)),o&&i&&typeof t==`number`)return s&&e.children?i.children.splice(t,1,...e.children):i.children.splice(t,1),t}}}function sn(e){let t=e.indexOf(`:`),n=e.indexOf(`?`),r=e.indexOf(`#`),i=e.indexOf(`/`);return t===-1||i!==-1&&t>i||n!==-1&&t>n||r!==-1&&t>r||en.test(e.slice(0,t))?e:``}var cn=/^[A-Za-z0-9._~%-]+$/;function ln(e,t){let n=e.split(`/`).filter(Boolean),r=t.split(`/`).filter(Boolean),i={};for(let e=0;e<r.length;e++){let t=r[e];if(t===`*`)return n.length>=e?i:null;let a=n[e];if(a===void 0)return null;if(t.startsWith(`:`)){if(!cn.test(a))return null;i[t.slice(1)]=a}else if(t!==a)return null}return n.length===r.length?i:null}function un(e,t,n,r=[]){let i=e.trim();if(!i||i.startsWith(`//`)||!i.startsWith(`/`)&&!/^https?:\/\//i.test(i))return{kind:`text`};let a;try{a=new URL(i,t)}catch{return{kind:`text`}}if(a.origin!==t)return{kind:`external`,href:a.href};for(let e of n){let t=ln(a.pathname,e.pattern);if(t)return r.length&&t.library!==void 0&&t.shelf!==void 0&&!r.some(e=>e.library===t.library&&e.shelf===t.shelf)?{kind:`text`}:{kind:`internal`,to:`${a.pathname}${a.search}${a.hash}`}}return{kind:`text`}}var q=o(),dn=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/chat-nav.tsx`,fn=(0,M.createContext)(()=>{});function pn({onNavigate:e,children:t}){return(0,q.jsxDEV)(fn.Provider,{value:e,children:t},void 0,!1,{fileName:dn,lineNumber:9,columnNumber:10},this)}function mn(){return(0,M.useContext)(fn)}var J=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/chat-markdown.tsx`;function hn({text:e,className:t}){return(0,q.jsxDEV)(`div`,{className:t,children:(0,q.jsxDEV)(nn,{remarkPlugins:[ae],components:{a:gn},children:e},void 0,!1,{fileName:J,lineNumber:18,columnNumber:7},this)},void 0,!1,{fileName:J,lineNumber:17,columnNumber:5},this)}function gn({href:e,children:t}){let n=mn(),r=a(),i=[...u(),...y().map(e=>({pattern:`/${e.path}`}))],o=un(e??``,window.location.origin,i,f());return o.kind===`internal`?(0,q.jsxDEV)(`a`,{href:o.to,onClick:e=>{e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||(e.preventDefault(),n(),r(o.to))},children:t},void 0,!1,{fileName:J,lineNumber:33,columnNumber:7},this):o.kind===`external`?(0,q.jsxDEV)(`a`,{href:o.href,target:`_blank`,rel:`noopener noreferrer`,children:t},void 0,!1,{fileName:J,lineNumber:50,columnNumber:7},this):(0,q.jsxDEV)(q.Fragment,{children:t},void 0,!1,{fileName:J,lineNumber:55,columnNumber:10},this)}var Y=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatMessages.tsx`;function _n({messages:e,pending:t,pendingReasoning:n}){let{t:i}=r(),a=(0,M.useRef)(null);return(0,M.useEffect)(()=>{let e=a.current;e&&(e.scrollTop=e.scrollHeight)},[e.length,t]),!e.length&&t===null&&n===null?(0,q.jsxDEV)(`div`,{className:`flex-1 grid place-items-center text-muted text-sm`,children:i(`webchat.empty`)},void 0,!1,{fileName:Y,lineNumber:20,columnNumber:12},this):(0,q.jsxDEV)(`div`,{ref:a,"data-chat-list":!0,className:`flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto p-3`,children:[e.map(e=>(0,q.jsxDEV)(vn,{role:e.role,text:e.text,reasoning:e.reasoning,attachments:e.attachments},e.msgId,!1,{fileName:Y,lineNumber:27,columnNumber:9},this)),t!==null&&(0,q.jsxDEV)(vn,{role:`assistant`,text:t||i(`webchat.thinking`),reasoning:n},void 0,!1,{fileName:Y,lineNumber:29,columnNumber:28},this)]},void 0,!0,{fileName:Y,lineNumber:25,columnNumber:5},this)}var vn=(0,M.memo)(function({role:e,text:t,reasoning:n,attachments:i}){let{t:a}=r();return e===`user`?(0,q.jsxDEV)(`div`,{className:`self-end max-w-[85%] rounded-2xl rounded-br-sm bg-accent/15 px-3 py-2 text-sm whitespace-pre-wrap break-words`,children:[i?.length?(0,q.jsxDEV)(`div`,{className:`mb-1.5 flex flex-wrap gap-1`,children:i.map(e=>(0,q.jsxDEV)(`span`,{className:`inline-flex max-w-full items-center rounded-md bg-bg/60 px-1.5 py-0.5 text-xs`,title:e.name,children:e.label??e.name},e.name,!1,{fileName:Y,lineNumber:47,columnNumber:37},this))},void 0,!1,{fileName:Y,lineNumber:46,columnNumber:11},this):null,t]},void 0,!0,{fileName:Y,lineNumber:44,columnNumber:7},this):(0,q.jsxDEV)(`div`,{className:`self-start max-w-[95%] min-w-0 rounded-2xl rounded-bl-sm bg-elevated px-3 py-2 text-sm break-words`,children:[n?(0,q.jsxDEV)(`details`,{className:`mb-2 rounded-lg border border-border px-2 py-1`,children:[(0,q.jsxDEV)(`summary`,{className:`cursor-pointer select-none text-xs text-muted`,children:a(`webchat.reasoning`)},void 0,!1,{fileName:Y,lineNumber:59,columnNumber:11},this),(0,q.jsxDEV)(hn,{text:n,className:`md-static mt-1 text-xs text-muted`},void 0,!1,{fileName:Y,lineNumber:60,columnNumber:11},this)]},void 0,!0,{fileName:Y,lineNumber:58,columnNumber:9},this):null,(0,q.jsxDEV)(hn,{text:t,className:`md-static`},void 0,!1,{fileName:Y,lineNumber:63,columnNumber:7},this)]},void 0,!0,{fileName:Y,lineNumber:55,columnNumber:5},this)}),X=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatComposer.tsx`;function yn({streaming:e,onSend:t,onStop:n,attachments:i,uploading:a,uploadError:o,uploadProgress:s,canRetryUpload:l,onRetryUpload:u,onPickFiles:f,onRemoveAttachment:p}){let{t:g}=r(),[_,y]=(0,M.useState)(``);function b(){!_.trim()||e||t(_.trim(),i)&&y(``)}return(0,q.jsxDEV)(`div`,{className:`flex shrink-0 flex-col gap-2 border-t border-border p-2`,children:[(i.length>0||a||o)&&(0,q.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-1.5 px-1`,"data-chat-attachments":!0,children:[i.map((e,t)=>(0,q.jsxDEV)(`span`,{className:`inline-flex min-w-0 max-w-full items-center gap-1 rounded-md bg-elevated px-2 py-1 text-xs`,children:[(0,q.jsxDEV)(d,{size:13,className:`shrink-0 text-muted`},void 0,!1,{fileName:X,lineNumber:50,columnNumber:15},this),(0,q.jsxDEV)(`span`,{className:`max-w-48 truncate`,children:e.label??e.name},void 0,!1,{fileName:X,lineNumber:51,columnNumber:15},this),(0,q.jsxDEV)(`button`,{type:`button`,"aria-label":g(`webchat.removeAttachment`,{name:e.label??e.name}),className:`shrink-0 rounded p-0.5 text-muted hover:text-danger`,onClick:()=>p(t),children:(0,q.jsxDEV)(c,{size:13},void 0,!1,{fileName:X,lineNumber:58,columnNumber:17},this)},void 0,!1,{fileName:X,lineNumber:52,columnNumber:15},this)]},`${e.name}-${t}`,!0,{fileName:X,lineNumber:49,columnNumber:13},this)),a&&(0,q.jsxDEV)(`div`,{className:`flex min-w-32 flex-1 items-center gap-2`,"aria-label":g(`webchat.uploading`),children:[(0,q.jsxDEV)(h,{size:14,className:`shrink-0 animate-spin text-muted`},void 0,!1,{fileName:X,lineNumber:64,columnNumber:15},this),(0,q.jsxDEV)(`div`,{role:`progressbar`,"aria-label":g(`webchat.uploadProgress`),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":s,className:`h-1.5 min-w-0 flex-1 overflow-hidden rounded-full bg-border`,children:(0,q.jsxDEV)(`div`,{className:`h-full rounded-full bg-accent transition-[width]`,style:{width:`${s}%`}},void 0,!1,{fileName:X,lineNumber:66,columnNumber:17},this)},void 0,!1,{fileName:X,lineNumber:65,columnNumber:15},this),(0,q.jsxDEV)(`span`,{className:`text-xs tabular-nums text-muted`,children:[s,`%`]},void 0,!0,{fileName:X,lineNumber:68,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:63,columnNumber:13},this),o&&(0,q.jsxDEV)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2 text-xs text-danger`,children:[(0,q.jsxDEV)(`span`,{className:`min-w-0 flex-1`,children:g(o)},void 0,!1,{fileName:X,lineNumber:73,columnNumber:15},this),l&&(0,q.jsxDEV)(`button`,{type:`button`,className:`inline-flex shrink-0 items-center gap-1 rounded px-1.5 py-0.5 font-medium text-accent hover:bg-elevated`,onClick:u,children:[(0,q.jsxDEV)(m,{size:12},void 0,!1,{fileName:X,lineNumber:76,columnNumber:19},this),` `,g(`webchat.retryUpload`)]},void 0,!0,{fileName:X,lineNumber:75,columnNumber:17},this)]},void 0,!0,{fileName:X,lineNumber:72,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:47,columnNumber:9},this),(0,q.jsxDEV)(`div`,{className:`flex items-end gap-2`,children:[(0,q.jsxDEV)(`label`,{"aria-label":g(`webchat.attach`),className:`cursor-pointer rounded-lg p-2 text-muted hover:bg-elevated hover:text-accent ${a?`pointer-events-none opacity-60`:``}`,children:[(0,q.jsxDEV)(ue,{size:18},void 0,!1,{fileName:X,lineNumber:88,columnNumber:11},this),(0,q.jsxDEV)(`input`,{type:`file`,multiple:!0,className:`hidden`,disabled:a,onChange:e=>{e.target.files?.length&&f(e.target.files),e.currentTarget.value=``}},void 0,!1,{fileName:X,lineNumber:89,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:84,columnNumber:9},this),(0,q.jsxDEV)(`textarea`,{className:`flex-1 resize-none rounded-lg border border-border bg-bg px-3 py-2 text-sm max-h-32`,rows:1,value:_,placeholder:g(`webchat.placeholder`),onChange:e=>y(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),b())}},void 0,!1,{fileName:X,lineNumber:100,columnNumber:9},this),e?(0,q.jsxDEV)(`button`,{"aria-label":g(`webchat.stop`),className:`rounded-lg p-2 hover:bg-elevated`,onClick:n,children:(0,q.jsxDEV)(v,{size:18},void 0,!1,{fileName:X,lineNumber:116,columnNumber:13},this)},void 0,!1,{fileName:X,lineNumber:115,columnNumber:11},this):(0,q.jsxDEV)(`button`,{"aria-label":g(`webchat.send`),className:`rounded-lg p-2 hover:bg-elevated`,onClick:b,children:(0,q.jsxDEV)(de,{size:18},void 0,!1,{fileName:X,lineNumber:120,columnNumber:13},this)},void 0,!1,{fileName:X,lineNumber:119,columnNumber:11},this)]},void 0,!0,{fileName:X,lineNumber:83,columnNumber:7},this)]},void 0,!0,{fileName:X,lineNumber:45,columnNumber:5},this)}var Z=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatThreadList.tsx`;function bn({threads:e,activeId:t,onOpen:n,onNew:i,className:a=`w-[220px] shrink-0`}){let{t:o}=r();return(0,q.jsxDEV)(`aside`,{"aria-label":o(`webchat.threads`),className:`${a} border-r border-border flex flex-col`,children:[(0,q.jsxDEV)(`button`,{className:`flex items-center gap-2 px-3 py-2 text-sm hover:bg-elevated`,onClick:i,children:[(0,q.jsxDEV)(_,{size:16},void 0,!1,{fileName:Z,lineNumber:23,columnNumber:9},this),` `,o(`webchat.newConversation`)]},void 0,!0,{fileName:Z,lineNumber:22,columnNumber:7},this),(0,q.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto`,children:e.map(e=>(0,q.jsxDEV)(`button`,{onClick:()=>n(e.convId),className:`block w-full truncate px-3 py-2 text-left text-sm hover:bg-elevated ${e.convId===t?`bg-elevated font-medium`:``}`,children:e.title||o(`webchat.newConversation`)},e.convId,!1,{fileName:Z,lineNumber:27,columnNumber:11},this))},void 0,!1,{fileName:Z,lineNumber:25,columnNumber:7},this)]},void 0,!0,{fileName:Z,lineNumber:21,columnNumber:5},this)}var Q=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatWidget.tsx`,xn=25*1024*1024;function $(e){return Array.from(e.dataTransfer.types).includes(`Files`)}function Sn({children:e,onFiles:t,className:n}){let{t:i}=r(),[a,o]=(0,M.useState)(!1),s=(0,M.useRef)(0);function c(e){$(e)&&(e.preventDefault(),s.current+=1,o(!0))}function l(e){$(e)&&(e.preventDefault(),s.current=Math.max(0,s.current-1),s.current===0&&o(!1))}function u(e){$(e)&&(e.preventDefault(),s.current=0,o(!1),t(Array.from(e.dataTransfer.files)))}return(0,q.jsxDEV)(`div`,{className:n,onDragEnter:c,onDragLeave:l,onDragOver:e=>{$(e)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)},onDrop:u,children:[e,a&&(0,q.jsxDEV)(`div`,{"data-chat-drop-overlay":!0,"data-testid":`chat-drop-overlay`,className:`pointer-events-none absolute inset-0 z-50 grid place-items-center bg-surface/95 p-6 text-center backdrop-blur-sm`,children:(0,q.jsxDEV)(`div`,{className:`flex h-full w-full flex-col items-center justify-center rounded-2xl border-2 border-dashed border-accent bg-accent/10 text-accent`,children:[(0,q.jsxDEV)(g,{size:34},void 0,!1,{fileName:Q,lineNumber:71,columnNumber:13},this),(0,q.jsxDEV)(`span`,{className:`mt-3 text-base font-medium`,children:i(`webchat.dropFiles`)},void 0,!1,{fileName:Q,lineNumber:72,columnNumber:13},this),(0,q.jsxDEV)(`span`,{className:`mt-1 text-xs text-muted`,children:i(`webchat.dropFilesHint`)},void 0,!1,{fileName:Q,lineNumber:73,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:70,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:69,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:51,columnNumber:5},this)}function Cn(e){return e?`panel`:`modal`}function wn(){let{t:e}=r(),t=_e(),n=ve(),[i,a]=(0,M.useState)(`bubble`),[o,s]=(0,M.useState)(!1),[l,u]=(0,M.useState)([]),[d,f]=(0,M.useState)(!1),[m,h]=(0,M.useState)(0),[g,v]=(0,M.useState)(null),[y,x]=(0,M.useState)([]),S=p(`sm`,640),C=p(`nav`,768),ne=(0,M.useCallback)(()=>{a(Cn(C))},[C]),w=(0,M.useRef)(null),T=(0,M.useRef)(`bubble`);(0,M.useEffect)(()=>{if(i!==`modal`)return;let e=e=>{e.key===`Escape`&&a(`panel`)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[i]),(0,M.useEffect)(()=>{i===`panel`&&T.current===`modal`&&w.current?.focus(),i!==`modal`&&s(!1),T.current=i},[i]),(0,M.useEffect)(()=>{if(i!==`modal`)return;let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[i]);let E=i!==`bubble`;(0,M.useEffect)(()=>{E&&t.loadThreads()},[E,t.loadThreads]);function D(){t.newConversation(),u([]),v(null),x([]),s(!1)}let O=(0,M.useCallback)(async e=>{if(!e.length)return;v(null),x([]),f(!0),h(0);let t=[],n=[],r=null;for(let i of e){if(i.size>xn){r??=`webchat.uploadTooLarge`;continue}try{h(0);let e=await b(i,h);e?t.push({...e,label:i.name}):(n.push(i),r??=`webchat.uploadFailed`)}catch{n.push(i),r??=`webchat.uploadFailed`}}t.length&&u(e=>[...e,...t]),f(!1),h(0),x(n),r&&v(r)},[]),k=(0,M.useCallback)(()=>{y.length&&O(y)},[O,y]),re=t.messages.length>0||t.pending!==null,A=(0,q.jsxDEV)(`div`,{className:`flex shrink-0 items-center justify-between border-b border-border px-3 py-2`,children:[(0,q.jsxDEV)(`span`,{className:`text-sm font-medium`,children:e(`webchat.title`)},void 0,!1,{fileName:Q,lineNumber:205,columnNumber:7},this),(0,q.jsxDEV)(`div`,{className:`flex items-center gap-1`,children:[i===`modal`&&!S&&(0,q.jsxDEV)(`button`,{"aria-label":e(`webchat.threads`),"aria-expanded":o,className:`rounded p-1 hover:bg-elevated`,onClick:()=>s(e=>!e),children:(0,q.jsxDEV)(oe,{size:16},void 0,!1,{fileName:Q,lineNumber:216,columnNumber:13},this)},void 0,!1,{fileName:Q,lineNumber:210,columnNumber:11},this),re&&(0,q.jsxDEV)(`button`,{"aria-label":e(`webchat.newConversation`),className:`rounded p-1 hover:bg-elevated`,onClick:D,children:(0,q.jsxDEV)(_,{size:16},void 0,!1,{fileName:Q,lineNumber:225,columnNumber:13},this)},void 0,!1,{fileName:Q,lineNumber:224,columnNumber:11},this),(0,q.jsxDEV)(`button`,{ref:w,"aria-label":e(i===`modal`?`webchat.collapse`:`webchat.expand`),className:`rounded p-1 hover:bg-elevated`,onClick:()=>a(i===`modal`?`panel`:`modal`),children:i===`modal`?(0,q.jsxDEV)(le,{size:16},void 0,!1,{fileName:Q,lineNumber:234,columnNumber:31},this):(0,q.jsxDEV)(se,{size:16},void 0,!1,{fileName:Q,lineNumber:234,columnNumber:57},this)},void 0,!1,{fileName:Q,lineNumber:228,columnNumber:9},this),(0,q.jsxDEV)(`button`,{"aria-label":e(`webchat.close`),className:`rounded p-1 hover:bg-elevated`,onClick:()=>a(`bubble`),children:(0,q.jsxDEV)(c,{size:16},void 0,!1,{fileName:Q,lineNumber:237,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:236,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:206,columnNumber:7},this)]},void 0,!0,{fileName:Q,lineNumber:204,columnNumber:5},this),j=(0,q.jsxDEV)(pn,{onNavigate:ne,children:(0,q.jsxDEV)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[t.error&&(0,q.jsxDEV)(`div`,{className:`px-3 py-2 text-sm text-danger`,children:e(`webchat.error`,{message:t.error})},void 0,!1,{fileName:Q,lineNumber:248,columnNumber:24},this),(0,q.jsxDEV)(_n,{messages:t.messages,pending:t.pending,pendingReasoning:t.pendingReasoning},void 0,!1,{fileName:Q,lineNumber:249,columnNumber:9},this),(0,q.jsxDEV)(yn,{streaming:t.pending!==null,attachments:l,uploading:d,uploadProgress:m,uploadError:g,canRetryUpload:y.length>0&&!d,onRetryUpload:k,onPickFiles:e=>void O(Array.from(e)),onRemoveAttachment:e=>u(t=>t.filter((t,n)=>n!==e)),onSend:(e,r)=>{let i=r.length?t.send(e,n,r):t.send(e,n);return i&&(u([]),v(null),x([])),i},onStop:t.stop},void 0,!1,{fileName:Q,lineNumber:250,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:247,columnNumber:7},this)},void 0,!1,{fileName:Q,lineNumber:244,columnNumber:5},this);if(i===`bubble`)return(0,q.jsxDEV)(`button`,{"aria-label":e(`webchat.open`),onClick:()=>a(S?`panel`:`modal`),className:`fixed bottom-20 right-4 z-40 grid h-14 w-14 place-items-center rounded-full bg-accent text-white shadow-lg nav:bottom-4`,children:(0,q.jsxDEV)(ce,{size:24},void 0,!1,{fileName:Q,lineNumber:285,columnNumber:9},this)},void 0,!1,{fileName:Q,lineNumber:277,columnNumber:7},this);if(i===`panel`)return(0,q.jsxDEV)(Sn,{onFiles:O,className:`fixed bottom-20 right-4 z-40 flex h-[560px] max-h-[80dvh] w-[380px] max-w-[calc(100vw-2rem)] flex-col overflow-hidden rounded-2xl border border-border bg-surface shadow-xl nav:bottom-4`,children:[A,j]},void 0,!0,{fileName:Q,lineNumber:292,columnNumber:7},this);let ie=S||o;return(0,q.jsxDEV)(te,{open:!0,modal:!1,onOpenChange:e=>!e&&a(`panel`),children:[(0,q.jsxDEV)(`div`,{"data-chat-backdrop":!0,"aria-hidden":`true`,className:`fixed inset-0 z-[45] bg-black/50 backdrop-blur-sm`},void 0,!1,{fileName:Q,lineNumber:312,columnNumber:7},this),(0,q.jsxDEV)(ee,{hideClose:!0,className:`h-[85dvh] w-full p-0 md:h-[85dvh] md:w-[80vw] md:max-w-[1040px] md:overflow-y-hidden`,children:(0,q.jsxDEV)(Sn,{onFiles:O,className:`h-full`,children:(0,q.jsxDEV)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[A,(0,q.jsxDEV)(`div`,{className:`flex min-h-0 flex-1`,children:[ie&&(0,q.jsxDEV)(bn,{threads:t.threads,activeId:t.convId,onOpen:e=>{t.open(e),u([]),v(null),x([]),s(!1)},onNew:D,className:S?`w-[220px] shrink-0`:`w-full`},void 0,!1,{fileName:Q,lineNumber:327,columnNumber:17},this),(S||!o)&&j]},void 0,!0,{fileName:Q,lineNumber:325,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:323,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:322,columnNumber:9},this)},void 0,!1,{fileName:Q,lineNumber:318,columnNumber:7},this)]},void 0,!0,{fileName:Q,lineNumber:309,columnNumber:5},this)}export{wn as ChatWidget,wn as default,Cn as nextModeAfterNav};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{r,t as i}from"./react-vendor-BskHO5hY.js";import{t as a}from"./Icon-wZ-Cwtc3.js";import{t as o}from"./button-DsalTwxl.js";import{g as s,m as c,p as l}from"./api-DsJ6cAbe.js";import{n as u,r as d}from"./auth-context-CpmpND1h.js";import{t as f}from"./PageBody-Y-cpiRMh.js";import{n as p,t as m}from"./version-BgluE_nc.js";var h=e(t(),1),g=i(),_=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/DiagnosticsPage.tsx`;function v(){let{t:e}=n(),{role:t}=u(),[i,v]=(0,h.useState)(null),[b,x]=(0,h.useState)([]),[S,C]=(0,h.useState)(null),[w,T]=(0,h.useState)(`loading`),[E,D]=(0,h.useState)(!0),[O,k]=(0,h.useState)(!1),A=(0,h.useCallback)(async()=>{D(!0),k(!1),T(`loading`);let e=fetch(`/health`).then(e=>T(e.ok?`ok`:`error`)).catch(()=>T(`error`));try{let[e,t,n]=await Promise.all([l(),s(),c()]);v(e),x(t),C(n)}catch{k(!0)}finally{await e,D(!1)}},[]);if((0,h.useEffect)(()=>{t===`admin`&&A()},[A,t]),t!==`admin`)return(0,g.jsxDEV)(f,{children:[(0,g.jsxDEV)(r,{to:`/settings`,className:`text-sm text-accent hover:underline`,children:e(`settings.title`)},void 0,!1,{fileName:_,lineNumber:61,columnNumber:9},this),(0,g.jsxDEV)(`h1`,{className:`mt-4 text-2xl font-bold tracking-tight text-text`,children:e(`diagnostics.title`)},void 0,!1,{fileName:_,lineNumber:62,columnNumber:9},this),(0,g.jsxDEV)(`p`,{className:`mt-3 text-sm text-danger`,children:e(`diagnostics.adminOnly`)},void 0,!1,{fileName:_,lineNumber:63,columnNumber:9},this)]},void 0,!0,{fileName:_,lineNumber:60,columnNumber:7},this);let j=b.filter(e=>e.latestVersion&&m(e.latestVersion,e.installedVersion));return(0,g.jsxDEV)(f,{children:[(0,g.jsxDEV)(`div`,{className:`mb-6 flex items-start justify-between gap-4`,children:[(0,g.jsxDEV)(`div`,{children:[(0,g.jsxDEV)(r,{to:`/settings`,className:`text-sm text-accent hover:underline`,children:e(`settings.title`)},void 0,!1,{fileName:_,lineNumber:74,columnNumber:11},this),(0,g.jsxDEV)(`h1`,{className:`mt-2 text-2xl font-bold tracking-tight text-text`,children:e(`diagnostics.title`)},void 0,!1,{fileName:_,lineNumber:75,columnNumber:11},this),(0,g.jsxDEV)(`p`,{className:`mt-1 text-sm text-muted`,children:e(`diagnostics.description`)},void 0,!1,{fileName:_,lineNumber:76,columnNumber:11},this)]},void 0,!0,{fileName:_,lineNumber:73,columnNumber:9},this),(0,g.jsxDEV)(o,{type:`button`,variant:`ghost`,size:`sm`,className:`shrink-0 border border-border`,disabled:E,onClick:()=>void A(),children:[(0,g.jsxDEV)(a,{name:`lucide:refresh-cw`,size:15,className:E?`animate-spin`:void 0},void 0,!1,{fileName:_,lineNumber:79,columnNumber:11},this),e(E?`diagnostics.refreshing`:`diagnostics.refresh`)]},void 0,!0,{fileName:_,lineNumber:78,columnNumber:9},this)]},void 0,!0,{fileName:_,lineNumber:72,columnNumber:7},this),O&&(0,g.jsxDEV)(`div`,{className:`mb-5 rounded-lg border border-danger/40 bg-danger/10 px-4 py-3 text-sm text-danger`,children:e(`diagnostics.loadFailed`)},void 0,!1,{fileName:_,lineNumber:84,columnNumber:17},this),(0,g.jsxDEV)(`div`,{className:`grid gap-4 sm:grid-cols-3`,children:[(0,g.jsxDEV)(d,{className:`px-4 py-3`,children:[(0,g.jsxDEV)(`div`,{className:`text-xs text-muted`,children:e(`diagnostics.server`)},void 0,!1,{fileName:_,lineNumber:88,columnNumber:11},this),(0,g.jsxDEV)(`div`,{className:`mt-2 flex items-center gap-2 font-semibold text-text`,children:[(0,g.jsxDEV)(`span`,{className:`h-2.5 w-2.5 rounded-full ${w===`ok`?`bg-accent`:w===`error`?`bg-danger`:`bg-muted`}`},void 0,!1,{fileName:_,lineNumber:90,columnNumber:13},this),e(w===`ok`?`diagnostics.healthy`:w===`error`?`diagnostics.unavailable`:`common.loading`)]},void 0,!0,{fileName:_,lineNumber:89,columnNumber:11},this)]},void 0,!0,{fileName:_,lineNumber:87,columnNumber:9},this),(0,g.jsxDEV)(d,{className:`px-4 py-3`,children:[(0,g.jsxDEV)(`div`,{className:`text-xs text-muted`,children:e(`diagnostics.agents`)},void 0,!1,{fileName:_,lineNumber:95,columnNumber:11},this),(0,g.jsxDEV)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:i?.agents.map(e=>(0,g.jsxDEV)(p,{variant:`secondary`,children:e},e,!1,{fileName:_,lineNumber:96,columnNumber:82},this))??(0,g.jsxDEV)(`span`,{className:`text-sm text-muted`,children:`—`},void 0,!1,{fileName:_,lineNumber:96,columnNumber:135},this)},void 0,!1,{fileName:_,lineNumber:96,columnNumber:11},this)]},void 0,!0,{fileName:_,lineNumber:94,columnNumber:9},this),(0,g.jsxDEV)(d,{className:`px-4 py-3`,children:[(0,g.jsxDEV)(`div`,{className:`text-xs text-muted`,children:e(`diagnostics.connectors`)},void 0,!1,{fileName:_,lineNumber:99,columnNumber:11},this),(0,g.jsxDEV)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:i?.connectors.map(e=>(0,g.jsxDEV)(p,{variant:`secondary`,children:e},e,!1,{fileName:_,lineNumber:100,columnNumber:86},this))??(0,g.jsxDEV)(`span`,{className:`text-sm text-muted`,children:`—`},void 0,!1,{fileName:_,lineNumber:100,columnNumber:139},this)},void 0,!1,{fileName:_,lineNumber:100,columnNumber:11},this)]},void 0,!0,{fileName:_,lineNumber:98,columnNumber:9},this)]},void 0,!0,{fileName:_,lineNumber:86,columnNumber:7},this),(0,g.jsxDEV)(`section`,{className:`mt-6`,children:[(0,g.jsxDEV)(`h2`,{className:`mb-2 text-sm font-semibold text-text`,children:e(`diagnostics.versions`)},void 0,!1,{fileName:_,lineNumber:105,columnNumber:9},this),(0,g.jsxDEV)(d,{className:`overflow-hidden`,children:[(0,g.jsxDEV)(`div`,{className:`grid grid-cols-[1fr_auto_auto] gap-x-4 border-b border-border px-4 py-2 text-xs font-medium text-muted`,children:[(0,g.jsxDEV)(`span`,{children:e(`diagnostics.component`)},void 0,!1,{fileName:_,lineNumber:108,columnNumber:13},this),(0,g.jsxDEV)(`span`,{children:e(`diagnostics.installed`)},void 0,!1,{fileName:_,lineNumber:108,columnNumber:54},this),(0,g.jsxDEV)(`span`,{children:e(`diagnostics.latest`)},void 0,!1,{fileName:_,lineNumber:108,columnNumber:95},this)]},void 0,!0,{fileName:_,lineNumber:107,columnNumber:11},this),S?.installedVersion&&(0,g.jsxDEV)(y,{name:e(`settings.runtimeLabel`),installed:S.installedVersion,latest:S.latestVersion},void 0,!1,{fileName:_,lineNumber:110,columnNumber:41},this),b.filter(e=>e.id!==`core`).map(e=>(0,g.jsxDEV)(y,{name:e.id,installed:e.installedVersion,latest:e.latestVersion},e.id,!1,{fileName:_,lineNumber:111,columnNumber:62},this)),!S?.installedVersion&&b.length===0&&(0,g.jsxDEV)(`div`,{className:`px-4 py-4 text-sm text-muted`,children:e(`diagnostics.noData`)},void 0,!1,{fileName:_,lineNumber:112,columnNumber:66},this),j.length>0&&(0,g.jsxDEV)(`div`,{className:`border-t border-border px-4 py-2 text-xs text-accent`,children:e(`diagnostics.outdated`,{count:j.length})},void 0,!1,{fileName:_,lineNumber:113,columnNumber:35},this)]},void 0,!0,{fileName:_,lineNumber:106,columnNumber:9},this)]},void 0,!0,{fileName:_,lineNumber:104,columnNumber:7},this),(0,g.jsxDEV)(`section`,{className:`mt-6`,children:[(0,g.jsxDEV)(`h2`,{className:`mb-2 text-sm font-semibold text-text`,children:e(`diagnostics.recentMessages`)},void 0,!1,{fileName:_,lineNumber:118,columnNumber:9},this),(0,g.jsxDEV)(d,{className:`overflow-x-auto`,children:i?.recentMessages.length?(0,g.jsxDEV)(`table`,{className:`w-full min-w-[34rem] text-left text-xs`,children:[(0,g.jsxDEV)(`thead`,{className:`border-b border-border text-muted`,children:(0,g.jsxDEV)(`tr`,{children:[(0,g.jsxDEV)(`th`,{className:`px-4 py-2 font-medium`,children:e(`diagnostics.time`)},void 0,!1,{fileName:_,lineNumber:122,columnNumber:72},this),(0,g.jsxDEV)(`th`,{className:`px-4 py-2 font-medium`,children:e(`diagnostics.connector`)},void 0,!1,{fileName:_,lineNumber:122,columnNumber:138},this),(0,g.jsxDEV)(`th`,{className:`px-4 py-2 font-medium`,children:e(`diagnostics.role`)},void 0,!1,{fileName:_,lineNumber:122,columnNumber:209},this),(0,g.jsxDEV)(`th`,{className:`px-4 py-2 text-right font-medium`,children:e(`diagnostics.duration`)},void 0,!1,{fileName:_,lineNumber:122,columnNumber:275},this),(0,g.jsxDEV)(`th`,{className:`px-4 py-2 text-right font-medium`,children:e(`diagnostics.tokens`)},void 0,!1,{fileName:_,lineNumber:122,columnNumber:356},this)]},void 0,!0,{fileName:_,lineNumber:122,columnNumber:68},this)},void 0,!1,{fileName:_,lineNumber:122,columnNumber:15},this),(0,g.jsxDEV)(`tbody`,{children:i.recentMessages.map(e=>(0,g.jsxDEV)(`tr`,{className:`border-b border-border last:border-0`,children:[(0,g.jsxDEV)(`td`,{className:`px-4 py-2 text-muted`,children:new Date(e.ts).toLocaleString()},void 0,!1,{fileName:_,lineNumber:123,columnNumber:122},this),(0,g.jsxDEV)(`td`,{className:`px-4 py-2 text-text`,children:e.connector},void 0,!1,{fileName:_,lineNumber:123,columnNumber:199},this),(0,g.jsxDEV)(`td`,{className:`px-4 py-2 text-text`,children:e.role},void 0,!1,{fileName:_,lineNumber:123,columnNumber:255},this),(0,g.jsxDEV)(`td`,{className:`px-4 py-2 text-right text-muted`,children:e.ms==null?`—`:`${e.ms} ms`},void 0,!1,{fileName:_,lineNumber:123,columnNumber:306},this),(0,g.jsxDEV)(`td`,{className:`px-4 py-2 text-right text-muted`,children:e.tokensIn==null&&e.tokensOut==null?`—`:`${e.tokensIn??0} / ${e.tokensOut??0}`},void 0,!1,{fileName:_,lineNumber:123,columnNumber:398},this)]},e.id,!0,{fileName:_,lineNumber:123,columnNumber:56},this))},void 0,!1,{fileName:_,lineNumber:123,columnNumber:15},this)]},void 0,!0,{fileName:_,lineNumber:121,columnNumber:13},this):(0,g.jsxDEV)(`div`,{className:`px-4 py-4 text-sm text-muted`,children:e(`diagnostics.noMessages`)},void 0,!1,{fileName:_,lineNumber:125,columnNumber:15},this)},void 0,!1,{fileName:_,lineNumber:119,columnNumber:9},this)]},void 0,!0,{fileName:_,lineNumber:117,columnNumber:7},this),(0,g.jsxDEV)(`section`,{className:`mt-6`,children:[(0,g.jsxDEV)(`h2`,{className:`mb-2 text-sm font-semibold text-text`,children:e(`diagnostics.recentErrors`)},void 0,!1,{fileName:_,lineNumber:130,columnNumber:9},this),(0,g.jsxDEV)(d,{className:`overflow-hidden`,children:i?.recentErrors.length?i.recentErrors.map((e,t)=>(0,g.jsxDEV)(`div`,{className:`border-b border-border px-4 py-3 last:border-0`,children:[(0,g.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-2 text-xs`,children:[(0,g.jsxDEV)(p,{variant:`destructive`,children:e.level},void 0,!1,{fileName:_,lineNumber:132,columnNumber:224},this),(0,g.jsxDEV)(`span`,{className:`font-medium text-text`,children:e.source},void 0,!1,{fileName:_,lineNumber:132,columnNumber:274},this),(0,g.jsxDEV)(`span`,{className:`text-muted`,children:new Date(e.ts).toLocaleString()},void 0,!1,{fileName:_,lineNumber:132,columnNumber:335},this)]},void 0,!0,{fileName:_,lineNumber:132,columnNumber:165},this),(0,g.jsxDEV)(`div`,{className:`mt-1 break-words text-sm text-danger`,children:e.message},void 0,!1,{fileName:_,lineNumber:132,columnNumber:414},this)]},`${e.ts}-${t}`,!0,{fileName:_,lineNumber:132,columnNumber:76},this)):(0,g.jsxDEV)(`div`,{className:`px-4 py-4 text-sm text-muted`,children:e(`diagnostics.noErrors`)},void 0,!1,{fileName:_,lineNumber:132,columnNumber:499},this)},void 0,!1,{fileName:_,lineNumber:131,columnNumber:9},this)]},void 0,!0,{fileName:_,lineNumber:129,columnNumber:7},this)]},void 0,!0,{fileName:_,lineNumber:71,columnNumber:5},this)}function y({name:e,installed:t,latest:n}){return(0,g.jsxDEV)(`div`,{className:`grid grid-cols-[1fr_auto_auto] gap-x-4 border-b border-border px-4 py-2.5 text-sm last:border-0`,children:[(0,g.jsxDEV)(`span`,{className:`min-w-0 truncate text-text`,children:e},void 0,!1,{fileName:_,lineNumber:140,columnNumber:123},this),(0,g.jsxDEV)(`span`,{className:`text-muted`,children:[`v`,t]},void 0,!0,{fileName:_,lineNumber:140,columnNumber:181},this),(0,g.jsxDEV)(`span`,{className:n&&m(n,t)?`text-accent`:`text-muted`,children:n?`v${n}`:`—`},void 0,!1,{fileName:_,lineNumber:140,columnNumber:229},this)]},void 0,!0,{fileName:_,lineNumber:140,columnNumber:10},this)}export{v as DiagnosticsPage};