@codex-app-sdk/vue 0.16.8 → 0.16.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -4554,10 +4554,26 @@ var no = Symbol("codex-app-sdk-question-responses"), ro = Symbol("codex-app-sdk-
4554
4554
  }, [m(B(qe), { "aria-hidden": "true" })])])
4555
4555
  ])) : c("", !0);
4556
4556
  }
4557
- }), [["__scopeId", "data-v-1318cd28"]]), rs = {
4558
- class: "codex-chat-theme chat-queued-prompt",
4559
- "aria-label": "Queued prompt"
4560
- }, is = { class: "chat-queued-prompt__text" }, as = { class: "chat-queued-prompt__actions" }, os = ["disabled"], ss = ["disabled"], cs = /*#__PURE__*/ X(/* @__PURE__ */ h({
4557
+ }), [["__scopeId", "data-v-1318cd28"]]), rs = {}, is = { class: "codex-chat-theme chat-composer-drawer" };
4558
+ function as(e, t) {
4559
+ return k(), l("div", is, [F(e.$slots, "default", {}, void 0, !0)]);
4560
+ }
4561
+ var os = /*#__PURE__*/ X(rs, [["render", as], ["__scopeId", "data-v-65051749"]]), ss = { class: "codex-chat-theme chat-composer-drawer-row" }, cs = {
4562
+ key: 0,
4563
+ class: "chat-composer-drawer-row__leading"
4564
+ }, ls = { class: "chat-composer-drawer-row__text" }, us = {
4565
+ key: 1,
4566
+ class: "chat-composer-drawer-row__actions"
4567
+ }, ds = /*#__PURE__*/ X(/* @__PURE__ */ h({
4568
+ __name: "ChatComposerDrawerRow",
4569
+ setup(e) {
4570
+ return (e, t) => (k(), l("div", ss, [
4571
+ e.$slots.leading ? (k(), l("div", cs, [F(e.$slots, "leading", {}, void 0, !0)])) : c("", !0),
4572
+ u("div", ls, [F(e.$slots, "default", {}, void 0, !0)]),
4573
+ e.$slots.actions ? (k(), l("div", us, [F(e.$slots, "actions", {}, void 0, !0)])) : c("", !0)
4574
+ ]));
4575
+ }
4576
+ }), [["__scopeId", "data-v-fb2d2ef5"]]), fs = { class: "chat-queued-prompt__text" }, ps = { class: "chat-queued-prompt__actions" }, ms = ["disabled"], hs = ["disabled"], gs = /*#__PURE__*/ X(/* @__PURE__ */ h({
4561
4577
  __name: "ChatQueuedPrompt",
4562
4578
  props: {
4563
4579
  prompt: {},
@@ -4571,13 +4587,15 @@ var no = Symbol("codex-app-sdk-question-responses"), ro = Symbol("codex-app-sdk-
4571
4587
  ],
4572
4588
  setup(e, { emit: t }) {
4573
4589
  let n = t;
4574
- return (t, r) => (k(), l("div", rs, [
4575
- m(B(We), {
4590
+ return (t, r) => (k(), s(ds, {
4591
+ class: "chat-queued-prompt",
4592
+ "aria-label": "Queued prompt"
4593
+ }, {
4594
+ leading: W(() => [m(B(We), {
4576
4595
  class: "chat-queued-prompt__icon",
4577
4596
  "aria-hidden": "true"
4578
- }),
4579
- u("span", is, R(e.prompt.text), 1),
4580
- u("div", as, [
4597
+ })]),
4598
+ actions: W(() => [u("div", ps, [
4581
4599
  u("button", {
4582
4600
  class: "chat-queued-prompt__action",
4583
4601
  type: "button",
@@ -4585,7 +4603,7 @@ var no = Symbol("codex-app-sdk-question-responses"), ro = Symbol("codex-app-sdk-
4585
4603
  title: "Steer now",
4586
4604
  disabled: e.steerDisabled,
4587
4605
  onClick: r[0] ||= (t) => n("steer", e.prompt.id)
4588
- }, [m(B(He), { "aria-hidden": "true" }), r[3] ||= u("span", null, "Steer", -1)], 8, os),
4606
+ }, [m(B(He), { "aria-hidden": "true" }), r[3] ||= u("span", null, "Steer", -1)], 8, ms),
4589
4607
  u("button", {
4590
4608
  class: "chat-queued-prompt__action",
4591
4609
  type: "button",
@@ -4593,7 +4611,7 @@ var no = Symbol("codex-app-sdk-question-responses"), ro = Symbol("codex-app-sdk-
4593
4611
  title: "Edit",
4594
4612
  disabled: e.editDisabled,
4595
4613
  onClick: r[1] ||= (t) => n("edit", e.prompt.id)
4596
- }, [m(B(Y), { "aria-hidden": "true" })], 8, ss),
4614
+ }, [m(B(Y), { "aria-hidden": "true" })], 8, hs),
4597
4615
  u("button", {
4598
4616
  class: "chat-queued-prompt__action",
4599
4617
  type: "button",
@@ -4601,13 +4619,12 @@ var no = Symbol("codex-app-sdk-question-responses"), ro = Symbol("codex-app-sdk-
4601
4619
  title: "Delete",
4602
4620
  onClick: r[2] ||= (t) => n("delete", e.prompt.id)
4603
4621
  }, [m(B(qe), { "aria-hidden": "true" })])
4604
- ])
4605
- ]));
4622
+ ])]),
4623
+ default: W(() => [u("span", fs, R(e.prompt.text), 1)]),
4624
+ _: 1
4625
+ }));
4606
4626
  }
4607
- }), [["__scopeId", "data-v-ee87b623"]]), ls = {
4608
- key: 0,
4609
- class: "codex-chat-theme chat-queued-prompts"
4610
- }, us = /*#__PURE__*/ X(/* @__PURE__ */ h({
4627
+ }), [["__scopeId", "data-v-b90a893b"]]), _s = /* @__PURE__ */ h({
4611
4628
  __name: "ChatQueuedPrompts",
4612
4629
  props: {
4613
4630
  prompts: {},
@@ -4620,28 +4637,34 @@ var no = Symbol("codex-app-sdk-question-responses"), ro = Symbol("codex-app-sdk-
4620
4637
  "steer"
4621
4638
  ],
4622
4639
  setup(e) {
4623
- return (n, r) => e.prompts.length ? (k(), l("div", ls, [(k(!0), l(t, null, P(e.prompts, (t) => (k(), s(cs, {
4624
- key: t.id,
4625
- "edit-disabled": e.editDisabled,
4626
- "steer-disabled": e.steerDisabled,
4627
- prompt: t,
4628
- onDelete: r[0] ||= (e) => n.$emit("delete", e),
4629
- onEdit: r[1] ||= (e) => n.$emit("edit", e),
4630
- onSteer: r[2] ||= (e) => n.$emit("steer", e)
4631
- }, null, 8, [
4632
- "edit-disabled",
4633
- "steer-disabled",
4634
- "prompt"
4635
- ]))), 128))])) : c("", !0);
4640
+ return (n, r) => e.prompts.length ? (k(), s(os, {
4641
+ key: 0,
4642
+ class: "chat-queued-prompts"
4643
+ }, {
4644
+ default: W(() => [(k(!0), l(t, null, P(e.prompts, (t) => (k(), s(gs, {
4645
+ key: t.id,
4646
+ "edit-disabled": e.editDisabled,
4647
+ "steer-disabled": e.steerDisabled,
4648
+ prompt: t,
4649
+ onDelete: r[0] ||= (e) => n.$emit("delete", e),
4650
+ onEdit: r[1] ||= (e) => n.$emit("edit", e),
4651
+ onSteer: r[2] ||= (e) => n.$emit("steer", e)
4652
+ }, null, 8, [
4653
+ "edit-disabled",
4654
+ "steer-disabled",
4655
+ "prompt"
4656
+ ]))), 128))]),
4657
+ _: 1
4658
+ })) : c("", !0);
4636
4659
  }
4637
- }), [["__scopeId", "data-v-652d4c8f"]]), ds = {
4660
+ }), vs = {
4638
4661
  class: "codex-chat-theme chat-turn-git-info",
4639
4662
  "aria-label": "Current turn git changes"
4640
- }, fs = { class: "chat-turn-git-info__diff" }, ps = /*#__PURE__*/ X(/* @__PURE__ */ h({
4663
+ }, ys = { class: "chat-turn-git-info__diff" }, bs = /*#__PURE__*/ X(/* @__PURE__ */ h({
4641
4664
  __name: "ChatTurnGitInfo",
4642
4665
  props: { diff: {} },
4643
4666
  setup(e) {
4644
- return (t, n) => (k(), l("div", ds, [n[0] ||= u("span", { class: "chat-turn-git-info__label" }, "Current turn", -1), u("span", fs, [e.diff.addedLines ? (k(), s(co, {
4667
+ return (t, n) => (k(), l("div", vs, [n[0] ||= u("span", { class: "chat-turn-git-info__label" }, "Current turn", -1), u("span", ys, [e.diff.addedLines ? (k(), s(co, {
4645
4668
  key: 0,
4646
4669
  kind: "added",
4647
4670
  label: "Added lines",
@@ -4653,13 +4676,13 @@ var no = Symbol("codex-app-sdk-question-responses"), ro = Symbol("codex-app-sdk-
4653
4676
  value: e.diff.removedLines
4654
4677
  }, null, 8, ["value"])) : c("", !0)])]));
4655
4678
  }
4656
- }), [["__scopeId", "data-v-d7dd0aff"]]), ms = {
4679
+ }), [["__scopeId", "data-v-d7dd0aff"]]), xs = {
4657
4680
  key: 0,
4658
4681
  class: "codex-chat-theme chat-composer-shelf"
4659
- }, hs = {
4682
+ }, Ss = {
4660
4683
  key: 3,
4661
4684
  class: "chat-composer-shelf__actions"
4662
- }, gs = /*#__PURE__*/ X(/* @__PURE__ */ h({
4685
+ }, Cs = /*#__PURE__*/ X(/* @__PURE__ */ h({
4663
4686
  __name: "ChatComposerShelf",
4664
4687
  props: {
4665
4688
  disabled: { type: Boolean },
@@ -4678,22 +4701,23 @@ var no = Symbol("codex-app-sdk-question-responses"), ro = Symbol("codex-app-sdk-
4678
4701
  "steerQueuedPrompt"
4679
4702
  ],
4680
4703
  setup(n) {
4681
- let i = n, a = V(), u = o(() => i.presentation?.goal !== !1 && !!i.goal && i.goal?.status !== "complete"), d = o(() => i.presentation?.queuedPrompts !== !1 && i.queuedPrompts.length > 0), f = o(() => i.presentation?.turnGitDiff === !1 ? null : i.turnGitDiff ?? null), p = o(() => i.disabled ?? !1), m = o(() => g(a.actions?.({ disabled: p.value }))), h = o(() => u.value || d.value || !!f.value || m.value);
4682
- function g(n) {
4704
+ let i = n, a = V(), u = o(() => i.presentation?.goal !== !1 && !!i.goal && i.goal?.status !== "complete"), d = o(() => i.presentation?.queuedPrompts !== !1 && i.queuedPrompts.length > 0), f = o(() => i.presentation?.turnGitDiff === !1 ? null : i.turnGitDiff ?? null), p = o(() => i.disabled ?? !1), m = o(() => _(a.drawers?.({ disabled: p.value }))), h = o(() => _(a.actions?.({ disabled: p.value }))), g = o(() => u.value || d.value || !!f.value || m.value || h.value);
4705
+ function _(n) {
4683
4706
  return (Array.isArray(n) ? n : [n]).some((n) => {
4684
4707
  if (n == null || typeof n == "boolean") return !1;
4685
4708
  if (typeof n == "string" || typeof n == "number") return String(n).trim().length > 0;
4686
4709
  if (typeof n != "object" || !("type" in n)) return !0;
4687
4710
  let i = n;
4688
- return i.type === e ? !1 : i.type === r ? String(i.children ?? "").trim().length > 0 : i.type !== t || g(i.children);
4711
+ return i.type === e ? !1 : i.type === r ? String(i.children ?? "").trim().length > 0 : i.type !== t || _(i.children);
4689
4712
  });
4690
4713
  }
4691
- return (e, t) => h.value ? (k(), l("div", ms, [
4692
- f.value ? (k(), s(ps, {
4714
+ return (e, t) => g.value ? (k(), l("div", xs, [
4715
+ f.value ? (k(), s(bs, {
4693
4716
  key: 0,
4694
4717
  diff: f.value
4695
4718
  }, null, 8, ["diff"])) : c("", !0),
4696
- d.value ? (k(), s(us, {
4719
+ F(e.$slots, "drawers", { disabled: p.value }, void 0, !0),
4720
+ d.value ? (k(), s(_s, {
4697
4721
  key: 1,
4698
4722
  "edit-disabled": n.queuedPromptEditDisabled,
4699
4723
  "steer-disabled": n.queuedPromptSteerDisabled,
@@ -4712,22 +4736,22 @@ var no = Symbol("codex-app-sdk-question-responses"), ro = Symbol("codex-app-sdk-
4712
4736
  onClear: t[3] ||= (t) => e.$emit("clearGoal"),
4713
4737
  onEdit: t[4] ||= (t) => e.$emit("editGoal")
4714
4738
  }, null, 8, ["goal"])) : c("", !0),
4715
- m.value ? (k(), l("div", hs, [F(e.$slots, "actions", { disabled: p.value }, void 0, !0)])) : c("", !0)
4739
+ h.value ? (k(), l("div", Ss, [F(e.$slots, "actions", { disabled: p.value }, void 0, !0)])) : c("", !0)
4716
4740
  ])) : c("", !0);
4717
4741
  }
4718
- }), [["__scopeId", "data-v-838ddbbe"]]), _s = {}, vs = {
4742
+ }), [["__scopeId", "data-v-9698c2ed"]]), ws = {}, Ts = {
4719
4743
  class: "codex-chat-theme codex-conversation-history-loader",
4720
4744
  role: "status",
4721
4745
  "aria-live": "polite",
4722
4746
  "aria-label": "Loading conversation"
4723
4747
  };
4724
- function ys(e, t) {
4725
- return k(), l("div", vs, [...t[0] ||= [f("<div class=\"codex-conversation-history-loader__inner\" data-v-12645dc5><div class=\"codex-conversation-history-loader__block codex-conversation-history-loader__block--user\" data-v-12645dc5></div><div class=\"codex-conversation-history-loader__group\" data-v-12645dc5><div class=\"codex-conversation-history-loader__block codex-conversation-history-loader__block--wide\" data-v-12645dc5></div><div class=\"codex-conversation-history-loader__block codex-conversation-history-loader__block--medium\" data-v-12645dc5></div><div class=\"codex-conversation-history-loader__block codex-conversation-history-loader__block--short\" data-v-12645dc5></div></div><div class=\"codex-conversation-history-loader__group\" data-v-12645dc5><div class=\"codex-conversation-history-loader__block codex-conversation-history-loader__block--tool\" data-v-12645dc5></div><div class=\"codex-conversation-history-loader__block codex-conversation-history-loader__block--wide\" data-v-12645dc5></div><div class=\"codex-conversation-history-loader__block codex-conversation-history-loader__block--medium\" data-v-12645dc5></div></div></div>", 1)]]);
4748
+ function Es(e, t) {
4749
+ return k(), l("div", Ts, [...t[0] ||= [f("<div class=\"codex-conversation-history-loader__inner\" data-v-12645dc5><div class=\"codex-conversation-history-loader__block codex-conversation-history-loader__block--user\" data-v-12645dc5></div><div class=\"codex-conversation-history-loader__group\" data-v-12645dc5><div class=\"codex-conversation-history-loader__block codex-conversation-history-loader__block--wide\" data-v-12645dc5></div><div class=\"codex-conversation-history-loader__block codex-conversation-history-loader__block--medium\" data-v-12645dc5></div><div class=\"codex-conversation-history-loader__block codex-conversation-history-loader__block--short\" data-v-12645dc5></div></div><div class=\"codex-conversation-history-loader__group\" data-v-12645dc5><div class=\"codex-conversation-history-loader__block codex-conversation-history-loader__block--tool\" data-v-12645dc5></div><div class=\"codex-conversation-history-loader__block codex-conversation-history-loader__block--wide\" data-v-12645dc5></div><div class=\"codex-conversation-history-loader__block codex-conversation-history-loader__block--medium\" data-v-12645dc5></div></div></div>", 1)]]);
4726
4750
  }
4727
- var bs = /*#__PURE__*/ X(_s, [["render", ys], ["__scopeId", "data-v-12645dc5"]]);
4751
+ var Ds = /*#__PURE__*/ X(ws, [["render", Es], ["__scopeId", "data-v-12645dc5"]]);
4728
4752
  //#endregion
4729
4753
  //#region src/chat/tool-visibility.ts
4730
- function xs(e, t) {
4754
+ function Os(e, t) {
4731
4755
  if (!t) return e;
4732
4756
  let n = $(e), r = /* @__PURE__ */ new Map(), i = (e) => (r.has(e.id) || r.set(e.id, t(e)), r.get(e.id)), a = n.toolCalls?.filter(i), o = n.parts?.filter((e) => e.type !== "tool" || i(e.toolCall));
4733
4757
  if (a?.length === n.toolCalls?.length && o?.length === n.parts?.length) return e;
@@ -4740,7 +4764,7 @@ function xs(e, t) {
4740
4764
  }
4741
4765
  //#endregion
4742
4766
  //#region src/chat/ChatIconButton.vue
4743
- var Ss = /*#__PURE__*/ X(/* @__PURE__ */ h({
4767
+ var ks = /*#__PURE__*/ X(/* @__PURE__ */ h({
4744
4768
  __name: "ChatIconButton",
4745
4769
  props: {
4746
4770
  bordered: { type: Boolean },
@@ -4785,14 +4809,14 @@ var Ss = /*#__PURE__*/ X(/* @__PURE__ */ h({
4785
4809
  "title"
4786
4810
  ]));
4787
4811
  }
4788
- }), [["__scopeId", "data-v-3a9d1fa8"]]), Cs = /* @__PURE__ */ "--color-background.--color-text.--color-text-muted.--color-border.--color-border-strong.--color-error.--color-warning.--color-success.--color-primary.--color-primary-container.--color-secondary.--color-secondary-container.--color-on-primary.--color-on-primary-container.--color-on-secondary-container.--color-overlay.--color-surface-lowest.--color-surface.--color-surface-base.--color-surface-low.--color-surface-high.--color-surface-highest.--color-shell-main.--font-family-base.--font-family-mono.--font-size-12.--font-size-13.--line-height-16.--line-height-20.--space-2.--space-4.--space-6.--space-8.--space-12.--space-16.--radius-md.--radius-lg.--shadow-lg".split(".");
4789
- function ws(e) {
4812
+ }), [["__scopeId", "data-v-3a9d1fa8"]]), As = /* @__PURE__ */ "--color-background.--color-text.--color-text-muted.--color-border.--color-border-strong.--color-error.--color-warning.--color-success.--color-primary.--color-primary-container.--color-secondary.--color-secondary-container.--color-on-primary.--color-on-primary-container.--color-on-secondary-container.--color-overlay.--color-surface-lowest.--color-surface.--color-surface-base.--color-surface-low.--color-surface-high.--color-surface-highest.--color-shell-main.--font-family-base.--font-family-mono.--font-size-12.--font-size-13.--line-height-16.--line-height-20.--space-2.--space-4.--space-6.--space-8.--space-12.--space-16.--radius-md.--radius-lg.--shadow-lg".split(".");
4813
+ function js(e) {
4790
4814
  if (!e || typeof getComputedStyle != "function") return {
4791
4815
  mode: "light",
4792
4816
  style: {}
4793
4817
  };
4794
4818
  let t = getComputedStyle(e), n = {};
4795
- for (let e of Cs) {
4819
+ for (let e of As) {
4796
4820
  let r = t.getPropertyValue(e).trim();
4797
4821
  r && (n[e] = r);
4798
4822
  }
@@ -4803,7 +4827,7 @@ function ws(e) {
4803
4827
  }
4804
4828
  //#endregion
4805
4829
  //#region src/chat/ChatImageLightbox.vue?vue&type=script&setup=true&lang.ts
4806
- var Ts = ["data-codex-theme", "aria-label"], Es = ["alt", "src"], Ds = /*#__PURE__*/ X(/* @__PURE__ */ h({
4830
+ var Ms = ["data-codex-theme", "aria-label"], Ns = ["alt", "src"], Ps = /*#__PURE__*/ X(/* @__PURE__ */ h({
4807
4831
  __name: "ChatImageLightbox",
4808
4832
  props: {
4809
4833
  alt: {},
@@ -4820,7 +4844,7 @@ var Ts = ["data-codex-theme", "aria-label"], Es = ["alt", "src"], Ds = /*#__PURE
4820
4844
  style: {}
4821
4845
  });
4822
4846
  U(() => r.open, (e) => {
4823
- e ? (a.value = ws(r.themeSource), window.addEventListener("keydown", o)) : window.removeEventListener("keydown", o);
4847
+ e ? (a.value = js(r.themeSource), window.addEventListener("keydown", o)) : window.removeEventListener("keydown", o);
4824
4848
  }, { immediate: !0 }), E(() => {
4825
4849
  window.removeEventListener("keydown", o);
4826
4850
  });
@@ -4836,7 +4860,7 @@ var Ts = ["data-codex-theme", "aria-label"], Es = ["alt", "src"], Ds = /*#__PURE
4836
4860
  "aria-modal": "true",
4837
4861
  "aria-label": e.label,
4838
4862
  onClick: r[1] ||= K((e) => i("close"), ["self"])
4839
- }, [m(Ss, {
4863
+ }, [m(ks, {
4840
4864
  bordered: "",
4841
4865
  class: "chat-image-lightbox__close chat-media-block__fullscreen-close",
4842
4866
  label: e.closeLabel,
@@ -4848,9 +4872,9 @@ var Ts = ["data-codex-theme", "aria-label"], Es = ["alt", "src"], Ds = /*#__PURE
4848
4872
  class: "chat-image-lightbox__image chat-media-block__fullscreen-image",
4849
4873
  alt: e.alt,
4850
4874
  src: e.src
4851
- }, null, 8, Es)], 12, Ts)) : c("", !0)]));
4875
+ }, null, 8, Ns)], 12, Ms)) : c("", !0)]));
4852
4876
  }
4853
- }), [["__scopeId", "data-v-677575e5"]]), Os = ["title"], ks = ["aria-label"], As = ["alt", "src"], js = { class: "chat-attachment-block__name" }, Ms = /*#__PURE__*/ X(/* @__PURE__ */ h({
4877
+ }), [["__scopeId", "data-v-677575e5"]]), Fs = ["title"], Is = ["aria-label"], Ls = ["alt", "src"], Rs = { class: "chat-attachment-block__name" }, zs = /*#__PURE__*/ X(/* @__PURE__ */ h({
4854
4878
  __name: "ChatAttachmentBlock",
4855
4879
  props: {
4856
4880
  attachment: {},
@@ -4918,7 +4942,7 @@ var Ts = ["data-codex-theme", "aria-label"], Es = ["alt", "src"], Ds = /*#__PURE
4918
4942
  alt: e.attachment.name,
4919
4943
  src: d.value,
4920
4944
  onError: n[0] ||= (e) => r.value = !0
4921
- }, null, 40, As)], 8, ks), m(Ds, {
4945
+ }, null, 40, Ls)], 8, Is), m(Ps, {
4922
4946
  alt: e.attachment.name,
4923
4947
  label: e.attachment.name,
4924
4948
  open: a.value,
@@ -4931,7 +4955,7 @@ var Ts = ["data-codex-theme", "aria-label"], Es = ["alt", "src"], Ds = /*#__PURE
4931
4955
  "open",
4932
4956
  "src",
4933
4957
  "theme-source"
4934
- ])], 8, Os)) : (k(), s(I(f.value ? "a" : "span"), {
4958
+ ])], 8, Fs)) : (k(), s(I(f.value ? "a" : "span"), {
4935
4959
  key: 1,
4936
4960
  class: "codex-chat-theme chat-attachment-block chat-attachment-block--chip",
4937
4961
  href: f.value,
@@ -4943,11 +4967,11 @@ var Ts = ["data-codex-theme", "aria-label"], Es = ["alt", "src"], Ds = /*#__PURE
4943
4967
  })) : (k(), s(B(Oe), {
4944
4968
  key: 1,
4945
4969
  "aria-hidden": "true"
4946
- })), u("span", js, R(e.attachment.name), 1)]),
4970
+ })), u("span", Rs, R(e.attachment.name), 1)]),
4947
4971
  _: 1
4948
4972
  }, 8, ["href", "title"]));
4949
4973
  }
4950
- }), [["__scopeId", "data-v-db19ea73"]]), Ns = { class: "codex-chat-theme chat-follow-ups" }, Ps = ["disabled", "onClick"], Fs = /*#__PURE__*/ X(/* @__PURE__ */ h({
4974
+ }), [["__scopeId", "data-v-db19ea73"]]), Bs = { class: "codex-chat-theme chat-follow-ups" }, Vs = ["disabled", "onClick"], Hs = /*#__PURE__*/ X(/* @__PURE__ */ h({
4951
4975
  __name: "ChatFollowUps",
4952
4976
  props: {
4953
4977
  disabled: { type: Boolean },
@@ -4956,15 +4980,15 @@ var Ts = ["data-codex-theme", "aria-label"], Es = ["alt", "src"], Ds = /*#__PURE
4956
4980
  emits: ["send-follow-up"],
4957
4981
  setup(e, { emit: n }) {
4958
4982
  let r = n;
4959
- return (n, i) => (k(), l("div", Ns, [(k(!0), l(t, null, P(e.prompts, (t) => (k(), l("button", {
4983
+ return (n, i) => (k(), l("div", Bs, [(k(!0), l(t, null, P(e.prompts, (t) => (k(), l("button", {
4960
4984
  key: t,
4961
4985
  class: "chat-follow-ups__chip",
4962
4986
  disabled: e.disabled,
4963
4987
  type: "button",
4964
4988
  onClick: (e) => r("send-follow-up", t)
4965
- }, R(t), 9, Ps))), 128))]));
4989
+ }, R(t), 9, Vs))), 128))]));
4966
4990
  }
4967
- }), [["__scopeId", "data-v-97d3281c"]]), Is = /* @__PURE__ */ h({
4991
+ }), [["__scopeId", "data-v-97d3281c"]]), Us = /* @__PURE__ */ h({
4968
4992
  __name: "ChatCopyButton",
4969
4993
  props: {
4970
4994
  action: { type: Function },
@@ -4981,7 +5005,7 @@ var Ts = ["data-codex-theme", "aria-label"], Es = ["alt", "src"], Ds = /*#__PURE
4981
5005
  }
4982
5006
  return E(() => {
4983
5007
  r && clearTimeout(r);
4984
- }), (t, r) => (k(), s(Ss, {
5008
+ }), (t, r) => (k(), s(ks, {
4985
5009
  disabled: e.disabled,
4986
5010
  label: n.value ? e.copiedLabel : e.label,
4987
5011
  onClick: i
@@ -4990,55 +5014,55 @@ var Ts = ["data-codex-theme", "aria-label"], Es = ["alt", "src"], Ds = /*#__PURE
4990
5014
  _: 1
4991
5015
  }, 8, ["disabled", "label"]));
4992
5016
  }
4993
- }), Ls = { class: "chat-fold__inner" }, Rs = /*#__PURE__*/ X(/* @__PURE__ */ h({
5017
+ }), Ws = { class: "chat-fold__inner" }, Gs = /*#__PURE__*/ X(/* @__PURE__ */ h({
4994
5018
  __name: "ChatFoldTransition",
4995
5019
  props: { open: { type: Boolean } },
4996
5020
  setup(e) {
4997
- return (t, n) => (k(), l("div", { class: C(["codex-chat-theme chat-fold", { "chat-fold--open": e.open }]) }, [u("div", Ls, [F(t.$slots, "default", {}, void 0, !0)])], 2));
5021
+ return (t, n) => (k(), l("div", { class: C(["codex-chat-theme chat-fold", { "chat-fold--open": e.open }]) }, [u("div", Ws, [F(t.$slots, "default", {}, void 0, !0)])], 2));
4998
5022
  }
4999
5023
  }), [["__scopeId", "data-v-785f99e7"]]);
5000
5024
  //#endregion
5001
5025
  //#region src/chat/host-image-previews.ts
5002
- function zs(e) {
5026
+ function Ks(e) {
5003
5027
  return !!e && !/^(?:https?:|data:|blob:|\/\/)/i.test(e);
5004
5028
  }
5005
- function Bs(e) {
5029
+ function qs(e) {
5006
5030
  return /^(?:https?:|blob:|data:image\/(?:avif|bmp|gif|heic|heif|jpe?g|png|webp);base64,)/i.test(e);
5007
5031
  }
5008
- function Vs(e) {
5032
+ function Js(e) {
5009
5033
  let t = Ti(), n = L();
5010
5034
  return U(e, async (e, r, i) => {
5011
5035
  let a = !0;
5012
5036
  if (i(() => {
5013
5037
  a = !1;
5014
- }), n.value = void 0, !zs(e) || !t?.readImagePreview) {
5038
+ }), n.value = void 0, !Ks(e) || !t?.readImagePreview) {
5015
5039
  n.value = e;
5016
5040
  return;
5017
5041
  }
5018
5042
  try {
5019
5043
  let r = await t.readImagePreview(e);
5020
- a && r && Bs(r) && (n.value = r);
5044
+ a && r && qs(r) && (n.value = r);
5021
5045
  } catch {}
5022
5046
  }, { immediate: !0 }), o(() => n.value);
5023
5047
  }
5024
5048
  //#endregion
5025
5049
  //#region src/chat/ChatMediaBlock.vue?vue&type=script&setup=true&lang.ts
5026
- var Hs = ["aria-label"], Us = ["alt", "src"], Ws = { class: "chat-media-block__footer" }, Gs = { class: "chat-media-block__title" }, Ks = { class: "chat-media-block__actions" }, qs = { class: "chat-media-block__details" }, Js = { class: "chat-media-block__prompt" }, Ys = "Download media", Xs = "Copy image", Zs = "Image copied", Qs = "Open fullscreen", $s = "Generated media", ec = "Generated media", tc = "Prompt", nc = /*#__PURE__*/ X(/* @__PURE__ */ h({
5050
+ var Ys = ["aria-label"], Xs = ["alt", "src"], Zs = { class: "chat-media-block__footer" }, Qs = { class: "chat-media-block__title" }, $s = { class: "chat-media-block__actions" }, ec = { class: "chat-media-block__details" }, tc = { class: "chat-media-block__prompt" }, nc = "Download media", rc = "Copy image", ic = "Image copied", ac = "Open fullscreen", oc = "Generated media", sc = "Generated media", cc = "Prompt", lc = /*#__PURE__*/ X(/* @__PURE__ */ h({
5027
5051
  __name: "ChatMediaBlock",
5028
5052
  props: {
5029
5053
  media: {},
5030
5054
  openImage: { type: Function }
5031
5055
  },
5032
5056
  setup(e) {
5033
- let t = e, n = o(() => `Open ${t.media.title || t.media.alt || ec}`), r = Vs(() => t.media.url), i = M(!1), a = M(!1), d = M(null), f = o(() => v(t.media));
5057
+ let t = e, n = o(() => `Open ${t.media.title || t.media.alt || sc}`), r = Js(() => t.media.url), i = M(!1), a = M(!1), d = M(null), f = o(() => v(t.media));
5034
5058
  async function p(e) {
5035
5059
  let n = {
5036
- alt: t.media.alt || $s,
5060
+ alt: t.media.alt || oc,
5037
5061
  kind: "media",
5038
5062
  mimeType: t.media.mimeType,
5039
5063
  name: t.media.title,
5040
5064
  src: r.value || t.media.url,
5041
- title: t.media.title || ec
5065
+ title: t.media.title || sc
5042
5066
  };
5043
5067
  await t.openImage?.(n, { intent: e }) !== !0 && (a.value = !0);
5044
5068
  }
@@ -5076,50 +5100,50 @@ var Hs = ["aria-label"], Us = ["alt", "src"], Ws = { class: "chat-media-block__f
5076
5100
  onClick: o[0] ||= (e) => p("open")
5077
5101
  }, [u("img", {
5078
5102
  class: "chat-media-block__image",
5079
- alt: e.media.alt || $s,
5103
+ alt: e.media.alt || oc,
5080
5104
  src: B(r)
5081
- }, null, 8, Us)], 8, Hs),
5082
- u("figcaption", Ws, [u("span", Gs, R(e.media.title || ec), 1), u("span", Ks, [
5083
- m(Ss, {
5084
- label: Qs,
5105
+ }, null, 8, Xs)], 8, Ys),
5106
+ u("figcaption", Zs, [u("span", Qs, R(e.media.title || sc), 1), u("span", $s, [
5107
+ m(ks, {
5108
+ label: ac,
5085
5109
  onClick: o[1] ||= (e) => p("fullscreen")
5086
5110
  }, {
5087
5111
  default: W(() => [m(B(Te))]),
5088
5112
  _: 1
5089
5113
  }),
5090
- m(Is, {
5114
+ m(Us, {
5091
5115
  action: g,
5092
- "copied-label": Zs,
5093
- label: Xs
5116
+ "copied-label": ic,
5117
+ label: rc
5094
5118
  }),
5095
- m(Ss, {
5119
+ m(ks, {
5096
5120
  download: f.value,
5097
5121
  href: B(r),
5098
- label: Ys,
5122
+ label: nc,
5099
5123
  onClick: o[2] ||= K(() => {}, ["stop"])
5100
5124
  }, {
5101
5125
  default: W(() => [m(B(ge))]),
5102
5126
  _: 1
5103
5127
  }, 8, ["download", "href"]),
5104
- e.media.prompt ? (k(), s(Ss, {
5128
+ e.media.prompt ? (k(), s(ks, {
5105
5129
  key: 0,
5106
- label: tc,
5130
+ label: cc,
5107
5131
  onClick: _
5108
5132
  }, {
5109
5133
  default: W(() => [m(B(J))]),
5110
5134
  _: 1
5111
5135
  })) : c("", !0)
5112
5136
  ])]),
5113
- e.media.prompt ? (k(), s(Rs, {
5137
+ e.media.prompt ? (k(), s(Gs, {
5114
5138
  key: 0,
5115
5139
  open: i.value
5116
5140
  }, {
5117
- default: W(() => [u("div", qs, [u("div", { class: "chat-media-block__details-title" }, R(tc)), u("p", Js, R(e.media.prompt), 1)])]),
5141
+ default: W(() => [u("div", ec, [u("div", { class: "chat-media-block__details-title" }, R(cc)), u("p", tc, R(e.media.prompt), 1)])]),
5118
5142
  _: 1
5119
5143
  }, 8, ["open"])) : c("", !0),
5120
- m(Ds, {
5121
- alt: e.media.alt || $s,
5122
- label: e.media.title || ec,
5144
+ m(Ps, {
5145
+ alt: e.media.alt || oc,
5146
+ label: e.media.title || sc,
5123
5147
  open: a.value,
5124
5148
  src: B(r) || e.media.url,
5125
5149
  "theme-source": d.value,
@@ -5133,26 +5157,26 @@ var Hs = ["aria-label"], Us = ["alt", "src"], Ws = { class: "chat-media-block__f
5133
5157
  ])
5134
5158
  ], 512));
5135
5159
  }
5136
- }), [["__scopeId", "data-v-6e99a4ae"]]), rc = { class: "chat-mermaid-block__actions" }, ic = {
5160
+ }), [["__scopeId", "data-v-6e99a4ae"]]), uc = { class: "chat-mermaid-block__actions" }, dc = {
5137
5161
  key: 0,
5138
5162
  class: "chat-mermaid-block__code"
5139
- }, ac = ["innerHTML"], oc = {
5163
+ }, fc = ["innerHTML"], pc = {
5140
5164
  key: 2,
5141
5165
  class: "chat-mermaid-block__error"
5142
- }, sc = ["data-codex-theme"], cc = { class: "chat-mermaid-block__fullscreen-panel" }, lc = { class: "chat-mermaid-block__actions chat-mermaid-block__actions--fullscreen" }, uc = {
5166
+ }, mc = ["data-codex-theme"], hc = { class: "chat-mermaid-block__fullscreen-panel" }, gc = { class: "chat-mermaid-block__actions chat-mermaid-block__actions--fullscreen" }, _c = {
5143
5167
  key: 0,
5144
5168
  class: "chat-mermaid-block__code chat-mermaid-block__code--fullscreen"
5145
- }, dc = ["innerHTML"], fc = {
5169
+ }, vc = ["innerHTML"], yc = {
5146
5170
  key: 2,
5147
5171
  class: "chat-mermaid-block__error"
5148
- }, pc = "Close fullscreen", mc = "Open fullscreen", hc = "Render diagram", gc = "Show source", _c = /*#__PURE__*/ X(/* @__PURE__ */ h({
5172
+ }, bc = "Close fullscreen", xc = "Open fullscreen", Sc = "Render diagram", Cc = "Show source", wc = /*#__PURE__*/ X(/* @__PURE__ */ h({
5149
5173
  __name: "ChatMermaidBlock",
5150
5174
  props: { code: {} },
5151
5175
  setup(e) {
5152
5176
  let t = e, r = M(!1), i = M(!1), a = M(null), d = M({
5153
5177
  mode: "light",
5154
5178
  style: {}
5155
- }), f = /@import\s+url\([^)]*\);\s*/g, p = /\sdata-label="[^"]*"/g, h = o(() => i.value ? hc : gc), g = o(() => {
5179
+ }), f = /@import\s+url\([^)]*\);\s*/g, p = /\sdata-label="[^"]*"/g, h = o(() => i.value ? Sc : Cc), g = o(() => {
5156
5180
  try {
5157
5181
  return {
5158
5182
  error: "",
@@ -5178,7 +5202,7 @@ var Hs = ["aria-label"], Us = ["alt", "src"], Ws = { class: "chat-media-block__f
5178
5202
  i.value = !i.value;
5179
5203
  }
5180
5204
  function v() {
5181
- d.value = ws(a.value), r.value = !0;
5205
+ d.value = js(a.value), r.value = !0;
5182
5206
  }
5183
5207
  function y() {
5184
5208
  r.value = !1;
@@ -5195,26 +5219,26 @@ var Hs = ["aria-label"], Us = ["alt", "src"], Ws = { class: "chat-media-block__f
5195
5219
  ref: a,
5196
5220
  class: "codex-chat-theme chat-mermaid-block"
5197
5221
  }, [
5198
- u("div", rc, [m(Ss, {
5222
+ u("div", uc, [m(ks, {
5199
5223
  bordered: "",
5200
5224
  label: h.value,
5201
5225
  onClick: _
5202
5226
  }, {
5203
5227
  default: W(() => [i.value ? (k(), s(B(ve), { key: 0 })) : (k(), s(B(me), { key: 1 }))]),
5204
5228
  _: 1
5205
- }, 8, ["label"]), m(Ss, {
5229
+ }, 8, ["label"]), m(ks, {
5206
5230
  bordered: "",
5207
- label: mc,
5231
+ label: xc,
5208
5232
  onClick: v
5209
5233
  }, {
5210
5234
  default: W(() => [m(B(Te))]),
5211
5235
  _: 1
5212
5236
  })]),
5213
- i.value ? (k(), l("pre", ic, [u("code", null, R(t.code), 1)])) : g.value.svg ? (k(), l("div", {
5237
+ i.value ? (k(), l("pre", dc, [u("code", null, R(t.code), 1)])) : g.value.svg ? (k(), l("div", {
5214
5238
  key: 1,
5215
5239
  class: "chat-mermaid-block__diagram",
5216
5240
  innerHTML: g.value.svg
5217
- }, null, 8, ac)) : (k(), l("pre", oc, [u("code", null, R(g.value.error), 1)])),
5241
+ }, null, 8, fc)) : (k(), l("pre", pc, [u("code", null, R(g.value.error), 1)])),
5218
5242
  (k(), s(n, { to: "body" }, [r.value ? (k(), l("div", {
5219
5243
  key: 0,
5220
5244
  class: "codex-chat-theme chat-mermaid-block__fullscreen",
@@ -5222,41 +5246,41 @@ var Hs = ["aria-label"], Us = ["alt", "src"], Ws = { class: "chat-media-block__f
5222
5246
  style: T(d.value.style),
5223
5247
  role: "dialog",
5224
5248
  "aria-modal": "true",
5225
- "aria-label": mc,
5249
+ "aria-label": xc,
5226
5250
  onClick: K(y, ["self"])
5227
- }, [u("div", cc, [u("div", lc, [m(Ss, {
5251
+ }, [u("div", hc, [u("div", gc, [m(ks, {
5228
5252
  bordered: "",
5229
5253
  label: h.value,
5230
5254
  onClick: _
5231
5255
  }, {
5232
5256
  default: W(() => [i.value ? (k(), s(B(ve), { key: 0 })) : (k(), s(B(me), { key: 1 }))]),
5233
5257
  _: 1
5234
- }, 8, ["label"]), m(Ss, {
5258
+ }, 8, ["label"]), m(ks, {
5235
5259
  bordered: "",
5236
- label: pc,
5260
+ label: bc,
5237
5261
  onClick: y
5238
5262
  }, {
5239
5263
  default: W(() => [m(B(Ye))]),
5240
5264
  _: 1
5241
- })]), i.value ? (k(), l("pre", uc, [u("code", null, R(t.code), 1)])) : g.value.svg ? (k(), l("div", {
5265
+ })]), i.value ? (k(), l("pre", _c, [u("code", null, R(t.code), 1)])) : g.value.svg ? (k(), l("div", {
5242
5266
  key: 1,
5243
5267
  class: "chat-mermaid-block__diagram chat-mermaid-block__diagram--fullscreen",
5244
5268
  innerHTML: g.value.svg
5245
- }, null, 8, dc)) : (k(), l("pre", fc, [u("code", null, R(g.value.error), 1)]))])], 12, sc)) : c("", !0)]))
5269
+ }, null, 8, vc)) : (k(), l("pre", yc, [u("code", null, R(g.value.error), 1)]))])], 12, mc)) : c("", !0)]))
5246
5270
  ], 512));
5247
5271
  }
5248
5272
  }), [["__scopeId", "data-v-2356f49d"]]);
5249
5273
  //#endregion
5250
5274
  //#region src/chat/html-escape.ts
5251
- function vc(e) {
5275
+ function Tc(e) {
5252
5276
  return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
5253
5277
  }
5254
- function yc(e) {
5255
- return vc(e).replace(/`/g, "&#96;");
5278
+ function Ec(e) {
5279
+ return Tc(e).replace(/`/g, "&#96;");
5256
5280
  }
5257
5281
  //#endregion
5258
5282
  //#region src/chat/syntax-highlighting.ts
5259
- var bc = nt({
5283
+ var Dc = nt({
5260
5284
  engine: rt(),
5261
5285
  langs: [
5262
5286
  it,
@@ -5280,12 +5304,12 @@ var bc = nt({
5280
5304
  St
5281
5305
  ],
5282
5306
  themes: [wt, Ct]
5283
- }), xc = new Set(bc.getLoadedLanguages());
5284
- function Sc(e, t) {
5285
- let n = wc(t);
5286
- if (!n || !xc.has(n)) return Tc(e, t);
5307
+ }), Oc = new Set(Dc.getLoadedLanguages());
5308
+ function kc(e, t) {
5309
+ let n = jc(t);
5310
+ if (!n || !Oc.has(n)) return Mc(e, t);
5287
5311
  try {
5288
- return bc.codeToHtml(e, {
5312
+ return Dc.codeToHtml(e, {
5289
5313
  defaultColor: !1,
5290
5314
  lang: n,
5291
5315
  themes: {
@@ -5294,10 +5318,10 @@ function Sc(e, t) {
5294
5318
  }
5295
5319
  });
5296
5320
  } catch {
5297
- return Tc(e, t);
5321
+ return Mc(e, t);
5298
5322
  }
5299
5323
  }
5300
- function Cc(e) {
5324
+ function Ac(e) {
5301
5325
  let t = (e ?? "").trim().toLowerCase(), n = t.match(/\.([^.\\/]+)$/)?.[1];
5302
5326
  switch (n) {
5303
5327
  case "patch": return "diff";
@@ -5322,38 +5346,38 @@ function Cc(e) {
5322
5346
  default: return t.endsWith("/dockerfile") || t === "dockerfile" ? "docker" : n;
5323
5347
  }
5324
5348
  }
5325
- function wc(e) {
5349
+ function jc(e) {
5326
5350
  let [t] = (e ?? "").trim().toLowerCase().split(/\s+/);
5327
5351
  return t || null;
5328
5352
  }
5329
- function Tc(e, t) {
5330
- let n = wc(t);
5331
- return `<pre><code${n ? ` class="language-${yc(n)}"` : ""}>${Ec(e)}</code></pre>`;
5353
+ function Mc(e, t) {
5354
+ let n = jc(t);
5355
+ return `<pre><code${n ? ` class="language-${Ec(n)}"` : ""}>${Nc(e)}</code></pre>`;
5332
5356
  }
5333
- function Ec(e) {
5334
- return e.split("\n").map((e) => `<span class="line">${vc(e)}</span>`).join("\n");
5357
+ function Nc(e) {
5358
+ return e.split("\n").map((e) => `<span class="line">${Tc(e)}</span>`).join("\n");
5335
5359
  }
5336
5360
  //#endregion
5337
5361
  //#region src/chat/message-markdown.ts
5338
- var Dc = new $e();
5339
- Dc.html = ({ text: e }) => vc(e), Dc.code = ({ text: e, lang: t }) => Sc(e, t), Dc.link = ({ href: e, title: t, tokens: n }) => {
5340
- let r = Rc(n), i = Fc(e);
5362
+ var Pc = new $e();
5363
+ Pc.html = ({ text: e }) => Tc(e), Pc.code = ({ text: e, lang: t }) => kc(e, t), Pc.link = ({ href: e, title: t, tokens: n }) => {
5364
+ let r = Gc(n), i = Hc(e);
5341
5365
  if (!i) return `<span class="chat-message-link chat-message-link--blocked">${r}</span>`;
5342
- let a = t ? ` title="${yc(t)}"` : "", o = Lc(i), s = jc(i) ? " target=\"_blank\" rel=\"noopener noreferrer\"" : "";
5343
- return `<a class="chat-message-link" href="${yc(i)}"${a}${s}>${o}<span class="chat-message-link__label">${r}</span></a>`;
5344
- }, Dc.image = ({ href: e, title: t, text: n }) => {
5345
- let r = Ic(e), i = yc(n);
5346
- if (!r) return `<span class="chat-message-image chat-message-image--blocked">${vc(n)}</span>`;
5347
- let a = t ? ` title="${yc(t)}"` : "";
5348
- return `<img class="chat-message-image" src="${yc(r)}" alt="${i}"${a} loading="lazy" decoding="async" referrerpolicy="no-referrer">`;
5366
+ let a = t ? ` title="${Ec(t)}"` : "", o = Wc(i), s = Rc(i) ? " target=\"_blank\" rel=\"noopener noreferrer\"" : "";
5367
+ return `<a class="chat-message-link" href="${Ec(i)}"${a}${s}>${o}<span class="chat-message-link__label">${r}</span></a>`;
5368
+ }, Pc.image = ({ href: e, title: t, text: n }) => {
5369
+ let r = Uc(e), i = Ec(n);
5370
+ if (!r) return `<span class="chat-message-image chat-message-image--blocked">${Tc(n)}</span>`;
5371
+ let a = t ? ` title="${Ec(t)}"` : "";
5372
+ return `<img class="chat-message-image" src="${Ec(r)}" alt="${i}"${a} loading="lazy" decoding="async" referrerpolicy="no-referrer">`;
5349
5373
  };
5350
- var Oc = new Qe({
5374
+ var Fc = new Qe({
5351
5375
  async: !1,
5352
5376
  breaks: !0,
5353
5377
  gfm: !0,
5354
- renderer: Dc
5378
+ renderer: Pc
5355
5379
  });
5356
- Oc.use(tt({
5380
+ Fc.use(tt({
5357
5381
  maxExpand: 1e3,
5358
5382
  maxSize: 20,
5359
5383
  nonStandard: !1,
@@ -5361,7 +5385,7 @@ Oc.use(tt({
5361
5385
  strict: "ignore",
5362
5386
  throwOnError: !1,
5363
5387
  trust: !1
5364
- })), Oc.use({ extensions: [{
5388
+ })), Fc.use({ extensions: [{
5365
5389
  name: "codexBlockKatex",
5366
5390
  level: "block",
5367
5391
  tokenizer(e) {
@@ -5373,7 +5397,7 @@ Oc.use(tt({
5373
5397
  };
5374
5398
  },
5375
5399
  renderer(e) {
5376
- return `${Nc(e.text, !0)}\n`;
5400
+ return `${Bc(e.text, !0)}\n`;
5377
5401
  }
5378
5402
  }, {
5379
5403
  name: "codexInlineKatex",
@@ -5387,23 +5411,23 @@ Oc.use(tt({
5387
5411
  };
5388
5412
  },
5389
5413
  renderer(e) {
5390
- return Nc(e.text, !1);
5414
+ return Bc(e.text, !1);
5391
5415
  }
5392
5416
  }] });
5393
- function kc(e, t = {}) {
5394
- let n = Oc.parse(e);
5395
- return t.codeCopyLabel ? Ac(n, t.codeCopyLabel) : n;
5417
+ function Ic(e, t = {}) {
5418
+ let n = Fc.parse(e);
5419
+ return t.codeCopyLabel ? Lc(n, t.codeCopyLabel) : n;
5396
5420
  }
5397
- function Ac(e, t) {
5421
+ function Lc(e, t) {
5398
5422
  let n = [
5399
- `<button class="chat-code-block__copy" type="button" data-chat-code-copy aria-label="${yc(t)}" title="${yc(t)}">`,
5423
+ `<button class="chat-code-block__copy" type="button" data-chat-code-copy aria-label="${Ec(t)}" title="${Ec(t)}">`,
5400
5424
  "<svg class=\"chat-code-block__copy-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M8 8m-2 0a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2z\"/><path d=\"M16 6V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h2\"/></svg>",
5401
5425
  "<svg class=\"chat-code-block__check-icon\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"m5 12 5 5L20 7\"/></svg>",
5402
5426
  "</button>"
5403
5427
  ].join("");
5404
5428
  return e.replace(/(<pre\b[\s\S]*?<\/pre>)/g, `<div class="chat-code-block">${n}$1</div>`);
5405
5429
  }
5406
- function jc(e) {
5430
+ function Rc(e) {
5407
5431
  try {
5408
5432
  let t = new URL(e);
5409
5433
  return t.protocol === "http:" || t.protocol === "https:";
@@ -5411,14 +5435,14 @@ function jc(e) {
5411
5435
  return !1;
5412
5436
  }
5413
5437
  }
5414
- function Mc(e) {
5438
+ function zc(e) {
5415
5439
  try {
5416
5440
  return new URL(e).protocol === "mailto:";
5417
5441
  } catch {
5418
5442
  return !1;
5419
5443
  }
5420
5444
  }
5421
- function Nc(e, t) {
5445
+ function Bc(e, t) {
5422
5446
  let n = et.renderToString(e, {
5423
5447
  displayMode: t,
5424
5448
  maxExpand: 1e3,
@@ -5430,14 +5454,14 @@ function Nc(e, t) {
5430
5454
  });
5431
5455
  return t ? `<span class="katex-display">${n}</span>` : n;
5432
5456
  }
5433
- var Pc = /* @__PURE__ */ new Set([
5457
+ var Vc = /* @__PURE__ */ new Set([
5434
5458
  "file:",
5435
5459
  "http:",
5436
5460
  "https:",
5437
5461
  "mailto:",
5438
5462
  "tel:"
5439
5463
  ]);
5440
- function Fc(e) {
5464
+ function Hc(e) {
5441
5465
  let t = e.trim();
5442
5466
  if (!t || /[\u0000-\u001f\u007f]/.test(t)) return null;
5443
5467
  if (/^[a-z]:[\\/]/i.test(t) || fn(t)) return t;
@@ -5445,15 +5469,15 @@ function Fc(e) {
5445
5469
  let n = /^([a-z][a-z\d+.-]*):/i.exec(t)?.[1];
5446
5470
  if (!n) return t;
5447
5471
  let r = `${n.toLowerCase()}:`;
5448
- if (!Pc.has(r)) return null;
5472
+ if (!Vc.has(r)) return null;
5449
5473
  try {
5450
5474
  return new URL(t), t;
5451
5475
  } catch {
5452
5476
  return null;
5453
5477
  }
5454
5478
  }
5455
- function Ic(e) {
5456
- let t = Fc(e);
5479
+ function Uc(e) {
5480
+ let t = Hc(e);
5457
5481
  if (!t || t.startsWith("#") || t.startsWith("?")) return null;
5458
5482
  try {
5459
5483
  let e = new URL(t).protocol;
@@ -5462,35 +5486,35 @@ function Ic(e) {
5462
5486
  return t;
5463
5487
  }
5464
5488
  }
5465
- function Lc(e) {
5466
- return jc(e) ? "<svg class=\"chat-message-link__icon chat-message-link__icon--external\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 3h6v6\"></path><path d=\"m10 14 11-11\"></path><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path></svg>" : Mc(e) ? "<svg class=\"chat-message-link__icon chat-message-link__icon--mail\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\"></rect><path d=\"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\"></path></svg>" : "<svg class=\"chat-message-link__icon chat-message-link__icon--file\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"></path><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"></path></svg>";
5489
+ function Wc(e) {
5490
+ return Rc(e) ? "<svg class=\"chat-message-link__icon chat-message-link__icon--external\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 3h6v6\"></path><path d=\"m10 14 11-11\"></path><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path></svg>" : zc(e) ? "<svg class=\"chat-message-link__icon chat-message-link__icon--mail\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\"></rect><path d=\"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\"></path></svg>" : "<svg class=\"chat-message-link__icon chat-message-link__icon--file\" aria-hidden=\"true\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"></path><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"></path></svg>";
5467
5491
  }
5468
- function Rc(e) {
5469
- return e.map(zc).join("");
5492
+ function Gc(e) {
5493
+ return e.map(Kc).join("");
5470
5494
  }
5471
- function zc(e) {
5495
+ function Kc(e) {
5472
5496
  if (!e || typeof e != "object") return "";
5473
5497
  let t = e;
5474
5498
  if (Array.isArray(t.tokens)) {
5475
- let e = Rc(t.tokens);
5499
+ let e = Gc(t.tokens);
5476
5500
  return t.type === "strong" ? `<strong>${e}</strong>` : t.type === "em" ? `<em>${e}</em>` : e;
5477
5501
  }
5478
- return t.type === "codespan" && typeof t.text == "string" ? `<code>${vc(t.text)}</code>` : typeof t.text == "string" ? vc(t.text) : typeof t.raw == "string" ? vc(t.raw) : "";
5502
+ return t.type === "codespan" && typeof t.text == "string" ? `<code>${Tc(t.text)}</code>` : typeof t.text == "string" ? Tc(t.text) : typeof t.raw == "string" ? Tc(t.raw) : "";
5479
5503
  }
5480
5504
  //#endregion
5481
5505
  //#region src/chat/message-actions.ts
5482
- var Bc = /<tool\s+(id|index)="[^"]*"><\/tool>/g, Vc = /<follow-up>[\s\S]*?<\/follow-up>/g, Hc = /<br\s*\/?>/gi;
5483
- function Uc(e) {
5484
- return Ca(e).replace(Bc, "").replace(Vc, "").trim();
5506
+ var qc = /<tool\s+(id|index)="[^"]*"><\/tool>/g, Jc = /<follow-up>[\s\S]*?<\/follow-up>/g, Yc = /<br\s*\/?>/gi;
5507
+ function Xc(e) {
5508
+ return Ca(e).replace(qc, "").replace(Jc, "").trim();
5485
5509
  }
5486
- function Wc(e) {
5487
- return Jc(Uc(e));
5510
+ function Zc(e) {
5511
+ return tl(Xc(e));
5488
5512
  }
5489
- function Gc(e) {
5490
- return kc(Uc(e)).trim();
5513
+ function Qc(e) {
5514
+ return Ic(Xc(e)).trim();
5491
5515
  }
5492
- async function Kc(e, t = Ei()) {
5493
- let n = Wc(e), r = Gc(e);
5516
+ async function $c(e, t = Ei()) {
5517
+ let n = Zc(e), r = Qc(e);
5494
5518
  if (t) {
5495
5519
  await t.copyToClipboard({
5496
5520
  text: n,
@@ -5508,56 +5532,56 @@ async function Kc(e, t = Ei()) {
5508
5532
  }
5509
5533
  await i.writeText(n);
5510
5534
  }
5511
- async function qc(e, t = Ei()) {
5535
+ async function el(e, t = Ei()) {
5512
5536
  if (t) {
5513
5537
  await t.copyToClipboard({ text: e });
5514
5538
  return;
5515
5539
  }
5516
5540
  await navigator.clipboard.writeText(e);
5517
5541
  }
5518
- function Jc(e) {
5519
- let t = kc(e).replace(Hc, "\n"), n = document.createElement("template");
5542
+ function tl(e) {
5543
+ let t = Ic(e).replace(Yc, "\n"), n = document.createElement("template");
5520
5544
  n.innerHTML = t;
5521
5545
  let r = [];
5522
- return n.content.childNodes.forEach((e) => Yc(e, r)), r.join("\n");
5546
+ return n.content.childNodes.forEach((e) => nl(e, r)), r.join("\n");
5523
5547
  }
5524
- function Yc(e, t) {
5548
+ function nl(e, t) {
5525
5549
  if (e.nodeType === Node.TEXT_NODE) {
5526
5550
  let n = e.textContent.trim();
5527
- n && t.push(Zc(n));
5551
+ n && t.push(il(n));
5528
5552
  return;
5529
5553
  }
5530
5554
  if (!(e instanceof HTMLElement)) return;
5531
5555
  let n = e.tagName.toLowerCase();
5532
5556
  if (e.classList.contains("katex")) {
5533
- let n = Xc(e).trim();
5534
- n && t.push(Zc(n));
5557
+ let n = rl(e).trim();
5558
+ n && t.push(il(n));
5535
5559
  return;
5536
5560
  }
5537
5561
  if (n === "pre") {
5538
5562
  let n = [...e.querySelectorAll(":scope > code > .line")].map((e) => e.textContent ?? "").join("\n").trim();
5539
- n && t.push(Zc(n));
5563
+ n && t.push(il(n));
5540
5564
  return;
5541
5565
  }
5542
5566
  if (n === "li" || n === "p" || /^h[1-6]$/.test(n)) {
5543
- let n = Xc(e).trim();
5544
- n && t.push(Zc(n));
5567
+ let n = rl(e).trim();
5568
+ n && t.push(il(n));
5545
5569
  return;
5546
5570
  }
5547
- e.childNodes.forEach((e) => Yc(e, t));
5571
+ e.childNodes.forEach((e) => nl(e, t));
5548
5572
  }
5549
- function Xc(e) {
5550
- return e.nodeType === Node.TEXT_NODE ? e.textContent : e instanceof HTMLElement ? e.classList.contains("katex") ? e.querySelector("annotation[encoding=\"application/x-tex\"]")?.textContent ?? "" : [...e.childNodes].map(Xc).join("") : "";
5573
+ function rl(e) {
5574
+ return e.nodeType === Node.TEXT_NODE ? e.textContent : e instanceof HTMLElement ? e.classList.contains("katex") ? e.querySelector("annotation[encoding=\"application/x-tex\"]")?.textContent ?? "" : [...e.childNodes].map(rl).join("") : "";
5551
5575
  }
5552
- function Zc(e) {
5576
+ function il(e) {
5553
5577
  return e.replace(/[ \t]+\n/g, "\n").replace(/\n{3,}/g, "\n\n");
5554
5578
  }
5555
5579
  //#endregion
5556
5580
  //#region src/chat/html-preview-document.ts
5557
- var Qc = "<!doctype html><html><head>\n<meta http-equiv=\"Content-Security-Policy\" content=\"default-src 'none'; script-src 'unsafe-inline' https:; style-src 'unsafe-inline'; img-src data: blob:; font-src data:; connect-src 'none'; frame-src 'none'; form-action 'none'; base-uri 'none'\">\n</head><body><script>\naddEventListener('load', () => {\n document.open();\n addEventListener('message', function connect(event) {\n if (event.source !== parent || event.data !== 'codex-html-connect' || !event.ports[0]) return;\n removeEventListener('message', connect);\n const port = event.ports[0];\n port.onmessage = ({ data }) => {\n if (typeof data.chunk !== 'string') return;\n if (data.chunk) document.write(data.chunk);\n if (data.complete) document.close();\n };\n });\n parent.postMessage('codex-html-ready', '*');\n}, { once: true });\n<\/script></body></html>", $c = { class: "codex-chat-theme chat-html-block" }, el = { class: "chat-html-block__header" }, tl = { class: "chat-html-block__title" }, nl = {
5581
+ var al = "<!doctype html><html><head>\n<meta http-equiv=\"Content-Security-Policy\" content=\"default-src 'none'; script-src 'unsafe-inline' https:; style-src 'unsafe-inline'; img-src data: blob:; font-src data:; connect-src 'none'; frame-src 'none'; form-action 'none'; base-uri 'none'\">\n</head><body><script>\naddEventListener('load', () => {\n document.open();\n addEventListener('message', function connect(event) {\n if (event.source !== parent || event.data !== 'codex-html-connect' || !event.ports[0]) return;\n removeEventListener('message', connect);\n const port = event.ports[0];\n port.onmessage = ({ data }) => {\n if (typeof data.chunk !== 'string') return;\n if (data.chunk) document.write(data.chunk);\n if (data.complete) document.close();\n };\n });\n parent.postMessage('codex-html-ready', '*');\n}, { once: true });\n<\/script></body></html>", ol = { class: "codex-chat-theme chat-html-block" }, sl = { class: "chat-html-block__header" }, cl = { class: "chat-html-block__title" }, ll = {
5558
5582
  key: 0,
5559
5583
  class: "chat-html-block__status"
5560
- }, rl = { class: "chat-html-block__actions" }, il = { class: "chat-html-block__viewport" }, al = ["srcdoc", "title"], ol = { key: 0 }, sl = /*#__PURE__*/ X(/* @__PURE__ */ h({
5584
+ }, ul = { class: "chat-html-block__actions" }, dl = { class: "chat-html-block__viewport" }, fl = ["srcdoc", "title"], pl = { key: 0 }, ml = /*#__PURE__*/ X(/* @__PURE__ */ h({
5561
5585
  __name: "ChatHtmlBlock",
5562
5586
  props: {
5563
5587
  source: {},
@@ -5586,7 +5610,7 @@ var Qc = "<!doctype html><html><head>\n<meta http-equiv=\"Content-Security-Polic
5586
5610
  }), f = !0, v());
5587
5611
  }
5588
5612
  function b() {
5589
- return qc(t.source, r);
5613
+ return el(t.source, r);
5590
5614
  }
5591
5615
  function x() {
5592
5616
  let e = URL.createObjectURL(new Blob([t.source], { type: "text/html" })), n = document.createElement("a");
@@ -5597,23 +5621,23 @@ var Qc = "<!doctype html><html><head>\n<meta http-equiv=\"Content-Security-Polic
5597
5621
  return U(() => [t.source, t.complete], v), D(() => window.addEventListener("message", y)), E(() => {
5598
5622
  window.removeEventListener("message", y), _();
5599
5623
  for (let [e, t] of g) clearTimeout(t), URL.revokeObjectURL(e);
5600
- }), (t, r) => (k(), l("section", $c, [u("header", el, [
5601
- u("span", tl, R(e.title || B(n)("chat.html.title")), 1),
5602
- e.complete ? c("", !0) : (k(), l("span", nl, R(B(n)("chat.html.streaming")), 1)),
5603
- u("div", rl, [
5604
- m(Ss, {
5624
+ }), (t, r) => (k(), l("section", ol, [u("header", sl, [
5625
+ u("span", cl, R(e.title || B(n)("chat.html.title")), 1),
5626
+ e.complete ? c("", !0) : (k(), l("span", ll, R(B(n)("chat.html.streaming")), 1)),
5627
+ u("div", ul, [
5628
+ m(ks, {
5605
5629
  label: B(n)(a.value ? "chat.html.preview" : "chat.html.source"),
5606
5630
  onClick: r[0] ||= (e) => a.value = !a.value
5607
5631
  }, {
5608
5632
  default: W(() => [a.value ? (k(), s(B(ve), { key: 0 })) : (k(), s(B(me), { key: 1 }))]),
5609
5633
  _: 1
5610
5634
  }, 8, ["label"]),
5611
- m(Is, {
5635
+ m(Us, {
5612
5636
  action: b,
5613
5637
  label: B(n)("chat.code.copy"),
5614
5638
  "copied-label": B(n)("chat.code.copied")
5615
5639
  }, null, 8, ["label", "copied-label"]),
5616
- m(Ss, {
5640
+ m(ks, {
5617
5641
  label: B(n)("chat.html.download"),
5618
5642
  onClick: x
5619
5643
  }, {
@@ -5621,57 +5645,57 @@ var Qc = "<!doctype html><html><head>\n<meta http-equiv=\"Content-Security-Polic
5621
5645
  _: 1
5622
5646
  }, 8, ["label"])
5623
5647
  ])
5624
- ]), u("div", il, [ie((k(), l("iframe", {
5648
+ ]), u("div", dl, [ie((k(), l("iframe", {
5625
5649
  key: o.value,
5626
5650
  ref_key: "frame",
5627
5651
  ref: i,
5628
- srcdoc: B(Qc),
5652
+ srcdoc: B(al),
5629
5653
  title: e.title || B(n)("chat.html.title"),
5630
5654
  sandbox: "allow-scripts",
5631
5655
  referrerpolicy: "no-referrer"
5632
- }, null, 8, al)), [[re, !a.value]]), a.value ? (k(), l("pre", ol, [u("code", null, R(e.source), 1)])) : c("", !0)])]));
5656
+ }, null, 8, fl)), [[re, !a.value]]), a.value ? (k(), l("pre", pl, [u("code", null, R(e.source), 1)])) : c("", !0)])]));
5633
5657
  }
5634
- }), [["__scopeId", "data-v-f327ab9d"]]), cl = () => void 0, ll = Symbol("codex-app-sdk-tool-presentation");
5635
- function ul(e) {
5636
- ee(ll, e);
5658
+ }), [["__scopeId", "data-v-f327ab9d"]]), hl = () => void 0, gl = Symbol("codex-app-sdk-tool-presentation");
5659
+ function _l(e) {
5660
+ ee(gl, e);
5637
5661
  }
5638
- function dl() {
5639
- return b(ll, cl);
5662
+ function vl() {
5663
+ return b(gl, hl);
5640
5664
  }
5641
5665
  //#endregion
5642
5666
  //#region src/chat/tool-call-details.ts
5643
- var fl = Symbol("codex-app-sdk-tool-call-details");
5644
- function pl(e) {
5645
- ee(fl, e);
5667
+ var yl = Symbol("codex-app-sdk-tool-call-details");
5668
+ function bl(e) {
5669
+ ee(yl, e);
5646
5670
  }
5647
- function ml() {
5648
- let e = b(fl, !1);
5671
+ function xl() {
5672
+ let e = b(yl, !1);
5649
5673
  return o(() => !!z(e));
5650
5674
  }
5651
5675
  //#endregion
5652
5676
  //#region src/chat/ChatToolCall.vue?vue&type=script&setup=true&lang.ts
5653
- var hl = {
5677
+ var Sl = {
5654
5678
  key: 0,
5655
5679
  class: "chat-tool-call__summary"
5656
- }, gl = {
5680
+ }, Cl = {
5657
5681
  key: 1,
5658
5682
  class: "chat-tool-call__header chat-tool-call__header--static"
5659
- }, _l = {
5683
+ }, wl = {
5660
5684
  key: 3,
5661
5685
  class: "chat-tool-call__body"
5662
- }, vl = {
5686
+ }, Tl = {
5663
5687
  key: 0,
5664
5688
  class: "chat-tool-call__section"
5665
- }, yl = { class: "chat-tool-call__json" }, bl = {
5689
+ }, El = { class: "chat-tool-call__json" }, Dl = {
5666
5690
  key: 1,
5667
5691
  class: "chat-tool-call__section"
5668
- }, xl = { class: "chat-tool-call__json" }, Sl = { class: "chat-tool-call__body" }, Cl = {
5692
+ }, Ol = { class: "chat-tool-call__json" }, kl = { class: "chat-tool-call__body" }, Al = {
5669
5693
  key: 0,
5670
5694
  class: "chat-tool-call__section"
5671
- }, wl = { class: "chat-tool-call__json" }, Tl = {
5695
+ }, jl = { class: "chat-tool-call__json" }, Ml = {
5672
5696
  key: 1,
5673
5697
  class: "chat-tool-call__section"
5674
- }, El = { class: "chat-tool-call__json" }, Dl = /*#__PURE__*/ X(/* @__PURE__ */ h({
5698
+ }, Nl = { class: "chat-tool-call__json" }, Pl = /*#__PURE__*/ X(/* @__PURE__ */ h({
5675
5699
  __name: "ChatToolCall",
5676
5700
  props: {
5677
5701
  answeredClientRequestIds: {},
@@ -5690,7 +5714,7 @@ var hl = {
5690
5714
  "open-link"
5691
5715
  ],
5692
5716
  setup(e, { emit: t }) {
5693
- let n = e, r = t, i = Wn(), a = dl(), d = M(!1), f = ml(), p = o(() => yn(n.toolCall)), h = o(() => !n.toolCall.done && n.toolCall.state !== "completed"), g = o(() => Q(n.toolCall.status)), _ = o(() => a({
5717
+ let n = e, r = t, i = Wn(), a = vl(), d = M(!1), f = xl(), p = o(() => yn(n.toolCall)), h = o(() => !n.toolCall.done && n.toolCall.state !== "completed"), g = o(() => Q(n.toolCall.status)), _ = o(() => a({
5694
5718
  descriptor: g.value,
5695
5719
  ...n.toolCall.kind ? { kind: n.toolCall.kind } : {},
5696
5720
  ...n.toolCall.metadata ? { metadata: n.toolCall.metadata } : {},
@@ -5728,7 +5752,7 @@ var hl = {
5728
5752
  "chat-tool-call--open": d.value,
5729
5753
  [`chat-tool-call--${e.toolCall.state}`]: !0
5730
5754
  }])
5731
- }, [e.summaryOnly ? (k(), l("div", hl, [m(So, {
5755
+ }, [e.summaryOnly ? (k(), l("div", Sl, [m(So, {
5732
5756
  "line-diff": w.value,
5733
5757
  running: h.value,
5734
5758
  title: x.value.title,
@@ -5778,7 +5802,7 @@ var hl = {
5778
5802
  ]), (k(), s(I(d.value ? B(fe) : B(ue)), {
5779
5803
  class: "chat-tool-call__chevron",
5780
5804
  size: 15
5781
- }))])) : (k(), l("div", gl, [m(So, {
5805
+ }))])) : (k(), l("div", Cl, [m(So, {
5782
5806
  "line-diff": w.value,
5783
5807
  running: h.value,
5784
5808
  title: x.value.title,
@@ -5797,22 +5821,22 @@ var hl = {
5797
5821
  "title-target-parts",
5798
5822
  "tool-call",
5799
5823
  "tool-presentation"
5800
- ])])), e.headerless && D.value ? (k(), l("div", _l, [T.value ? (k(), l("div", vl, [n[5] ||= u("div", { class: "chat-tool-call__section-title" }, "Input", -1), u("pre", yl, R(A(p.value)), 1)])) : c("", !0), E.value ? (k(), l("div", bl, [n[6] ||= u("div", { class: "chat-tool-call__section-title" }, "Result", -1), u("pre", xl, R(A(e.toolCall.result)), 1)])) : c("", !0)])) : O.value ? (k(), s(Rs, {
5824
+ ])])), e.headerless && D.value ? (k(), l("div", wl, [T.value ? (k(), l("div", Tl, [n[5] ||= u("div", { class: "chat-tool-call__section-title" }, "Input", -1), u("pre", El, R(A(p.value)), 1)])) : c("", !0), E.value ? (k(), l("div", Dl, [n[6] ||= u("div", { class: "chat-tool-call__section-title" }, "Result", -1), u("pre", Ol, R(A(e.toolCall.result)), 1)])) : c("", !0)])) : O.value ? (k(), s(Gs, {
5801
5825
  key: 4,
5802
5826
  open: d.value
5803
5827
  }, {
5804
- default: W(() => [u("div", Sl, [T.value ? (k(), l("div", Cl, [n[7] ||= u("div", { class: "chat-tool-call__section-title" }, "Input", -1), u("pre", wl, R(A(p.value)), 1)])) : c("", !0), E.value ? (k(), l("div", Tl, [n[8] ||= u("div", { class: "chat-tool-call__section-title" }, "Result", -1), u("pre", El, R(A(e.toolCall.result)), 1)])) : c("", !0)])]),
5828
+ default: W(() => [u("div", kl, [T.value ? (k(), l("div", Al, [n[7] ||= u("div", { class: "chat-tool-call__section-title" }, "Input", -1), u("pre", jl, R(A(p.value)), 1)])) : c("", !0), E.value ? (k(), l("div", Ml, [n[8] ||= u("div", { class: "chat-tool-call__section-title" }, "Result", -1), u("pre", Nl, R(A(e.toolCall.result)), 1)])) : c("", !0)])]),
5805
5829
  _: 1
5806
5830
  }, 8, ["open"])) : c("", !0)], 2));
5807
5831
  }
5808
- }), [["__scopeId", "data-v-f2711f10"]]), Ol = {
5832
+ }), [["__scopeId", "data-v-f2711f10"]]), Fl = {
5809
5833
  key: 1,
5810
5834
  class: "codex-chat-theme chat-tool-group"
5811
- }, kl = ["data-label"], Al = {
5835
+ }, Il = ["data-label"], Ll = {
5812
5836
  key: 0,
5813
5837
  class: "chat-tool-group__diff",
5814
5838
  "aria-label": "Total line changes"
5815
- }, jl = { class: "chat-tool-group__body" }, Ml = { class: "chat-tool-group__running-item-content" }, Nl = 3e3, Pl = /*#__PURE__*/ X(/* @__PURE__ */ h({
5839
+ }, Rl = { class: "chat-tool-group__body" }, zl = { class: "chat-tool-group__running-item-content" }, Bl = 3e3, Vl = /*#__PURE__*/ X(/* @__PURE__ */ h({
5816
5840
  __name: "ChatToolGroup",
5817
5841
  props: {
5818
5842
  activityTitle: {},
@@ -5829,7 +5853,7 @@ var hl = {
5829
5853
  "open-link"
5830
5854
  ],
5831
5855
  setup(e, { emit: n }) {
5832
- let r = e, i = n, d = M(!1), f = M(/* @__PURE__ */ new Set()), p = /* @__PURE__ */ new Map(), h = new Set(r.toolCalls.filter(te).map((e) => e.id)), g = ml(), _ = o(() => r.showToolDetails ?? g.value), v = o(() => r.toolCalls.length === 1), y = o(() => {
5856
+ let r = e, i = n, d = M(!1), f = M(/* @__PURE__ */ new Set()), p = /* @__PURE__ */ new Map(), h = new Set(r.toolCalls.filter(te).map((e) => e.id)), g = xl(), _ = o(() => r.showToolDetails ?? g.value), v = o(() => r.toolCalls.length === 1), y = o(() => {
5833
5857
  if (!(!v.value || !r.toolCalls[0] || !ne(r.toolCalls[0]))) return r.toolCalls[0];
5834
5858
  }), b = o(() => r.toolCalls.filter((e) => !te(e))), x = o(() => !r.activityTitle && v.value && b.value.length === 1 ? r.toolCalls[0] : void 0), S = o(() => r.toolCalls.filter((e) => te(e) || !d.value && f.value.has(e.id) && x.value?.id !== e.id)), w = M(S.value.length > 0), T = o(() => Sn(r.toolCalls)), D = o(() => !!r.activityTitle || r.toolCalls.length > 1 || _.value && r.toolCalls.some(L)), O = o(() => {
5835
5859
  if (b.value.length > 0) {
@@ -5864,7 +5888,7 @@ var hl = {
5864
5888
  return `${e} ${e === 1 ? "action" : "actions"}`;
5865
5889
  }
5866
5890
  function j(e) {
5867
- f.value = new Set(f.value).add(e), p.set(e, setTimeout(() => N(e), Nl));
5891
+ f.value = new Set(f.value).add(e), p.set(e, setTimeout(() => N(e), Bl));
5868
5892
  }
5869
5893
  function N(e) {
5870
5894
  let t = p.get(e);
@@ -5885,21 +5909,21 @@ var hl = {
5885
5909
  function L(e) {
5886
5910
  return yn(e) !== void 0 || e.result !== void 0 && e.result !== null;
5887
5911
  }
5888
- return (n, o) => y.value ? (k(), s(Dl, {
5912
+ return (n, o) => y.value ? (k(), s(Pl, {
5889
5913
  key: 0,
5890
5914
  "answered-client-request-ids": e.answeredClientRequestIds,
5891
5915
  "tool-call": y.value,
5892
5916
  onCancel: o[0] ||= (e) => i("cancel"),
5893
5917
  onClientResponse: o[1] ||= (e) => i("client-response", e),
5894
5918
  onOpenLink: o[2] ||= (e) => i("open-link", e)
5895
- }, null, 8, ["answered-client-request-ids", "tool-call"])) : (k(), l("section", Ol, [
5919
+ }, null, 8, ["answered-client-request-ids", "tool-call"])) : (k(), l("section", Fl, [
5896
5920
  r.toolCalls.length === 0 || x.value || b.value.length > 0 ? (k(), s(I(D.value ? "button" : "div"), {
5897
5921
  key: 0,
5898
5922
  class: C(["chat-tool-group__header", { "chat-tool-group__header--static": !D.value }]),
5899
5923
  type: D.value ? "button" : void 0,
5900
5924
  onClick: ee
5901
5925
  }, {
5902
- default: W(() => [x.value ? (k(), s(Dl, {
5926
+ default: W(() => [x.value ? (k(), s(Pl, {
5903
5927
  key: 0,
5904
5928
  class: "chat-tool-group__active",
5905
5929
  "summary-only": "",
@@ -5919,8 +5943,8 @@ var hl = {
5919
5943
  u("span", {
5920
5944
  class: "chat-tool-group__title",
5921
5945
  "data-label": O.value
5922
- }, R(O.value), 9, kl),
5923
- T.value ? (k(), l("span", Al, [T.value.addedLines ? (k(), s(co, {
5946
+ }, R(O.value), 9, Il),
5947
+ T.value ? (k(), l("span", Ll, [T.value.addedLines ? (k(), s(co, {
5924
5948
  key: 0,
5925
5949
  kind: "added",
5926
5950
  label: "Total added lines",
@@ -5939,8 +5963,8 @@ var hl = {
5939
5963
  ], 64))]),
5940
5964
  _: 1
5941
5965
  }, 8, ["class", "type"])) : c("", !0),
5942
- m(Rs, { open: d.value }, {
5943
- default: W(() => [u("div", jl, [(k(!0), l(t, null, P(b.value, (t) => (k(), s(Dl, {
5966
+ m(Gs, { open: d.value }, {
5967
+ default: W(() => [u("div", Rl, [(k(!0), l(t, null, P(b.value, (t) => (k(), s(Pl, {
5944
5968
  key: t.id,
5945
5969
  "answered-client-request-ids": e.answeredClientRequestIds,
5946
5970
  headerless: v.value,
@@ -5968,7 +5992,7 @@ var hl = {
5968
5992
  default: W(() => [(k(!0), l(t, null, P(S.value, (t) => (k(), l("div", {
5969
5993
  key: t.id,
5970
5994
  class: "chat-tool-group__running-item"
5971
- }, [u("div", Ml, [m(Dl, {
5995
+ }, [u("div", zl, [m(Pl, {
5972
5996
  class: "chat-tool-group__active",
5973
5997
  "summary-only": !_.value,
5974
5998
  "answered-client-request-ids": e.answeredClientRequestIds,
@@ -5990,19 +6014,19 @@ var hl = {
5990
6014
  }), [["__scopeId", "data-v-7a9a4bb4"]]);
5991
6015
  //#endregion
5992
6016
  //#region src/chat/user-text.ts
5993
- function Fl(e, t = [], n = [], r = []) {
6017
+ function Hl(e, t = [], n = [], r = []) {
5994
6018
  let i = [], a = 0;
5995
- for (let o of e.matchAll(Hl())) {
6019
+ for (let o of e.matchAll(Yl())) {
5996
6020
  let s = o.index ?? 0;
5997
6021
  s > a && i.push({
5998
6022
  type: "text",
5999
6023
  text: e.slice(a, s)
6000
6024
  });
6001
6025
  let c = o[0], l = o[1], u = o[2], d = o[3], f = o[4], p = o[5];
6002
- l === void 0 ? u === void 0 ? f === void 0 ? i.push({ type: "line-break" }) : i.push(Il(f, p, t, n, r) ?? {
6026
+ l === void 0 ? u === void 0 ? f === void 0 ? i.push({ type: "line-break" }) : i.push(Ul(f, p, t, n, r) ?? {
6003
6027
  type: "text",
6004
6028
  text: c
6005
- }) : i.push(Ll(u, d, t, n) ?? {
6029
+ }) : i.push(Wl(u, d, t, n) ?? {
6006
6030
  type: "text",
6007
6031
  text: c
6008
6032
  }) : i.push({
@@ -6015,7 +6039,7 @@ function Fl(e, t = [], n = [], r = []) {
6015
6039
  text: e.slice(a)
6016
6040
  }), i;
6017
6041
  }
6018
- function Il(e, t, n, r, i) {
6042
+ function Ul(e, t, n, r, i) {
6019
6043
  if (e === "$") {
6020
6044
  let i = r.find((e) => Dr(e, t));
6021
6045
  if (i) return {
@@ -6050,27 +6074,27 @@ function Il(e, t, n, r, i) {
6050
6074
  ...s
6051
6075
  } : null;
6052
6076
  }
6053
- function Ll(e, t, n, r) {
6054
- let i = e.trim(), a = Rl(t);
6077
+ function Wl(e, t, n, r) {
6078
+ let i = e.trim(), a = Gl(t);
6055
6079
  if (i.startsWith("@") && a.startsWith("plugin://")) {
6056
- let e = Bl(a.slice(9));
6080
+ let e = ql(a.slice(9));
6057
6081
  if (!e) return null;
6058
6082
  let t = n.find((t) => t.id === e), r = i.slice(1) || e.split("@")[0];
6059
6083
  return {
6060
6084
  type: "plugin-mention",
6061
- displayName: t?.displayName || Vl(r, "App"),
6085
+ displayName: t?.displayName || Jl(r, "App"),
6062
6086
  href: a,
6063
6087
  label: i,
6064
6088
  ...t ? { plugin: t } : {}
6065
6089
  };
6066
6090
  }
6067
6091
  if (i.startsWith("$")) {
6068
- let e = zl(a);
6092
+ let e = Kl(a);
6069
6093
  if (!e) return null;
6070
6094
  let t = r.find((t) => t.path === e);
6071
6095
  return {
6072
6096
  type: "skill-mention",
6073
- displayName: t ? wr(t, n) : Vl(i, "Skill"),
6097
+ displayName: t ? wr(t, n) : Jl(i, "Skill"),
6074
6098
  href: a,
6075
6099
  label: i,
6076
6100
  ...t ? { skill: t } : {}
@@ -6078,12 +6102,12 @@ function Ll(e, t, n, r) {
6078
6102
  }
6079
6103
  return null;
6080
6104
  }
6081
- function Rl(e) {
6105
+ function Gl(e) {
6082
6106
  let t = e.trim();
6083
6107
  return t.startsWith("<") && t.endsWith(">") ? t.slice(1, -1).trim() : t;
6084
6108
  }
6085
- function zl(e) {
6086
- let t = e.split(/[?#]/, 1)[0], n = Bl(t);
6109
+ function Kl(e) {
6110
+ let t = e.split(/[?#]/, 1)[0], n = ql(t);
6087
6111
  if (n.startsWith("file://")) try {
6088
6112
  n = decodeURIComponent(new URL(n).pathname);
6089
6113
  } catch {
@@ -6091,26 +6115,26 @@ function zl(e) {
6091
6115
  }
6092
6116
  return /(?:^|[\\/])SKILL\.md$/i.test(n) ? n : null;
6093
6117
  }
6094
- function Bl(e) {
6118
+ function ql(e) {
6095
6119
  try {
6096
6120
  return decodeURIComponent(e);
6097
6121
  } catch {
6098
6122
  return e;
6099
6123
  }
6100
6124
  }
6101
- function Vl(e, t) {
6125
+ function Jl(e, t) {
6102
6126
  let n = e.trim().replace(/^[@$]/, "");
6103
- return !n || Ul(n) ? t : n.split(/[-_:\s]/).filter(Boolean).map((e) => `${e.charAt(0).toUpperCase()}${e.slice(1)}`).join(" ");
6127
+ return !n || Xl(n) ? t : n.split(/[-_:\s]/).filter(Boolean).map((e) => `${e.charAt(0).toUpperCase()}${e.slice(1)}`).join(" ");
6104
6128
  }
6105
- function Hl() {
6129
+ function Yl() {
6106
6130
  return /`([^`\n]+)`|\[([^\]\n]+)\]\(([^)\n]+)\)|(?<![\w.%+-])([$@/])([A-Za-z0-9_.:-]+(?:[ \t]+\([A-Za-z0-9_.-]+\))?)|(\n)/g;
6107
6131
  }
6108
- function Ul(e) {
6132
+ function Xl(e) {
6109
6133
  return /^app[-_]?[a-f\d]{16,}$/i.test(e);
6110
6134
  }
6111
6135
  //#endregion
6112
6136
  //#region src/chat/ChatUserText.vue?vue&type=script&setup=true&lang.ts
6113
- var Wl = { class: "codex-chat-theme chat-user-text codex-markdown" }, Gl = { key: 0 }, Kl = { key: 1 }, ql = { key: 2 }, Jl = ["title"], Yl = { class: "chat-user-text__mention-label" }, Xl = ["title"], Zl = ["src", "onError"], Ql = ["src", "onError"], $l = {
6137
+ var Zl = { class: "codex-chat-theme chat-user-text codex-markdown" }, Ql = { key: 0 }, $l = { key: 1 }, eu = { key: 2 }, tu = ["title"], nu = { class: "chat-user-text__mention-label" }, ru = ["title"], iu = ["src", "onError"], au = ["src", "onError"], ou = {
6114
6138
  key: 2,
6115
6139
  class: "chat-user-text__mention-icon",
6116
6140
  "aria-hidden": "true",
@@ -6120,7 +6144,7 @@ var Wl = { class: "codex-chat-theme chat-user-text codex-markdown" }, Gl = { key
6120
6144
  "stroke-width": "1.9",
6121
6145
  "stroke-linecap": "round",
6122
6146
  "stroke-linejoin": "round"
6123
- }, eu = { class: "chat-user-text__mention-label" }, tu = /*#__PURE__*/ X(/* @__PURE__ */ h({
6147
+ }, su = { class: "chat-user-text__mention-label" }, cu = /*#__PURE__*/ X(/* @__PURE__ */ h({
6124
6148
  __name: "ChatUserText",
6125
6149
  props: {
6126
6150
  content: {},
@@ -6129,7 +6153,7 @@ var Wl = { class: "codex-chat-theme chat-user-text codex-markdown" }, Gl = { key
6129
6153
  skills: { default: () => [] }
6130
6154
  },
6131
6155
  setup(e) {
6132
- let n = e, r = A(/* @__PURE__ */ new Set()), i = o(() => Fl(n.content, n.plugins, n.skills, n.mentionGroups));
6156
+ let n = e, r = A(/* @__PURE__ */ new Set()), i = o(() => Hl(n.content, n.plugins, n.skills, n.mentionGroups));
6133
6157
  function a(e, t) {
6134
6158
  let n = e.type === "plugin-mention" ? t === "dark" && e.plugin?.iconUrlDark !== e.plugin?.iconUrl ? e.plugin?.iconUrlDark : t === "light" ? e.plugin?.iconUrl : void 0 : t === "light" ? e.skill?.iconSmall : void 0;
6135
6159
  return !n || r.has(n) ? null : n.startsWith("blob:") || n.startsWith("https://") || /^data:image\/(?:avif|bmp|gif|jpeg|png|svg\+xml|webp|x-icon);base64,/i.test(n) ? n : null;
@@ -6144,7 +6168,7 @@ var Wl = { class: "codex-chat-theme chat-user-text codex-markdown" }, Gl = { key
6144
6168
  function h(e) {
6145
6169
  return !!(e && /^#[\da-f]{3,8}$/i.test(e));
6146
6170
  }
6147
- return (e, n) => (k(), l("div", Wl, [u("p", null, [(k(!0), l(t, null, P(i.value, (i, o) => (k(), l(t, { key: `${i.type}-${o}` }, [i.type === "text" ? (k(), l("span", Gl, R(i.text), 1)) : i.type === "code" ? (k(), l("code", Kl, R(i.text), 1)) : i.type === "line-break" ? (k(), l("br", ql)) : i.type === "custom-mention" ? F(e.$slots, "mention", {
6171
+ return (e, n) => (k(), l("div", Zl, [u("p", null, [(k(!0), l(t, null, P(i.value, (i, o) => (k(), l(t, { key: `${i.type}-${o}` }, [i.type === "text" ? (k(), l("span", Ql, R(i.text), 1)) : i.type === "code" ? (k(), l("code", $l, R(i.text), 1)) : i.type === "line-break" ? (k(), l("br", eu)) : i.type === "custom-mention" ? F(e.$slots, "mention", {
6148
6172
  group: i.group,
6149
6173
  item: i.item,
6150
6174
  token: i,
@@ -6155,7 +6179,7 @@ var Wl = { class: "codex-chat-theme chat-user-text codex-markdown" }, Gl = { key
6155
6179
  }, [m(B(Le), {
6156
6180
  class: "chat-user-text__mention-icon",
6157
6181
  "aria-hidden": "true"
6158
- }), u("span", Yl, R(i.displayName), 1)], 8, Jl)], !0, 3) : (k(), l("span", {
6182
+ }), u("span", nu, R(i.displayName), 1)], 8, tu)], !0, 3) : (k(), l("span", {
6159
6183
  key: 4,
6160
6184
  class: C(["chat-user-text__mention", `chat-user-text__mention--${i.type === "plugin-mention" ? "plugin" : "skill"}`]),
6161
6185
  style: T(d(i)),
@@ -6174,7 +6198,7 @@ var Wl = { class: "codex-chat-theme chat-user-text codex-markdown" }, Gl = { key
6174
6198
  loading: "lazy",
6175
6199
  referrerpolicy: "no-referrer",
6176
6200
  onError: (e) => r.add(a(i, "light"))
6177
- }, null, 40, Zl)) : c("", !0),
6201
+ }, null, 40, iu)) : c("", !0),
6178
6202
  a(i, "dark") ? (k(), l("img", {
6179
6203
  key: 1,
6180
6204
  class: "chat-user-text__mention-image chat-user-text__mention-image--dark",
@@ -6185,18 +6209,18 @@ var Wl = { class: "codex-chat-theme chat-user-text codex-markdown" }, Gl = { key
6185
6209
  loading: "lazy",
6186
6210
  referrerpolicy: "no-referrer",
6187
6211
  onError: (e) => r.add(a(i, "dark"))
6188
- }, null, 40, Ql)) : c("", !0),
6189
- i.type === "plugin-mention" ? (k(), l("svg", $l, [...n[0] ||= [f("<path d=\"M8 3v4\" data-v-cd57e1c4></path><path d=\"M16 3v4\" data-v-cd57e1c4></path><path d=\"M6 7h12v3a6 6 0 0 1-12 0V7\" data-v-cd57e1c4></path><path d=\"M12 16v5\" data-v-cd57e1c4></path><path d=\"M9 21h6\" data-v-cd57e1c4></path>", 5)]])) : (k(), s(B(Le), {
6212
+ }, null, 40, au)) : c("", !0),
6213
+ i.type === "plugin-mention" ? (k(), l("svg", ou, [...n[0] ||= [f("<path d=\"M8 3v4\" data-v-cd57e1c4></path><path d=\"M16 3v4\" data-v-cd57e1c4></path><path d=\"M6 7h12v3a6 6 0 0 1-12 0V7\" data-v-cd57e1c4></path><path d=\"M12 16v5\" data-v-cd57e1c4></path><path d=\"M9 21h6\" data-v-cd57e1c4></path>", 5)]])) : (k(), s(B(Le), {
6190
6214
  key: 3,
6191
6215
  class: "chat-user-text__mention-icon",
6192
6216
  "aria-hidden": "true"
6193
6217
  }))
6194
- ], 2), u("span", eu, R(i.displayName), 1)], 14, Xl))], 64))), 128))])]));
6218
+ ], 2), u("span", su, R(i.displayName), 1)], 14, ru))], 64))), 128))])]));
6195
6219
  }
6196
- }), [["__scopeId", "data-v-cd57e1c4"]]), nu = {
6220
+ }), [["__scopeId", "data-v-cd57e1c4"]]), lu = {
6197
6221
  key: 1,
6198
6222
  class: "codex-chat-theme chat-visualization-block"
6199
- }, ru = /*#__PURE__*/ X(/* @__PURE__ */ h({
6223
+ }, uu = /*#__PURE__*/ X(/* @__PURE__ */ h({
6200
6224
  __name: "ChatVisualizationBlock",
6201
6225
  props: {
6202
6226
  path: {},
@@ -6220,22 +6244,22 @@ var Wl = { class: "codex-chat-theme chat-user-text codex-markdown" }, Gl = { key
6220
6244
  m(B(Se), { class: "chat-visualization-block__icon" }),
6221
6245
  u("span", null, R(e.title), 1),
6222
6246
  m(B(_e), { class: "chat-visualization-block__open" })
6223
- ])) : (k(), l("div", nu, [m(B(Se), { class: "chat-visualization-block__icon" }), u("span", null, R(e.title), 1)]));
6247
+ ])) : (k(), l("div", lu, [m(B(Se), { class: "chat-visualization-block__icon" }), u("span", null, R(e.title), 1)]));
6224
6248
  }
6225
6249
  }), [["__scopeId", "data-v-6aa2f6f0"]]);
6226
6250
  //#endregion
6227
6251
  //#region src/chat/work-duration.ts
6228
- function iu(e) {
6252
+ function du(e) {
6229
6253
  if (e == null || !Number.isFinite(e) || e < 1e3) return "";
6230
6254
  let t = Math.floor(e / 1e3), n = Math.floor(t / 3600), r = Math.floor(t % 3600 / 60), i = t % 60;
6231
6255
  return n > 0 ? r > 0 ? `${n}h ${r}m` : `${n}h` : r > 0 ? i > 0 ? `${r}m ${i}s` : `${r}m` : `${i}s`;
6232
6256
  }
6233
6257
  //#endregion
6234
6258
  //#region src/chat/ChatWorkGroup.vue?vue&type=script&setup=true&lang.ts
6235
- var au = ["aria-expanded", "disabled"], ou = ["data-label"], su = { class: "chat-work-group__body" }, cu = {
6259
+ var fu = ["aria-expanded", "disabled"], pu = ["data-label"], mu = { class: "chat-work-group__body" }, hu = {
6236
6260
  key: 2,
6237
6261
  class: "chat-work-group__body chat-work-group__body--continuation"
6238
- }, lu = /*#__PURE__*/ X(/* @__PURE__ */ h({
6262
+ }, gu = /*#__PURE__*/ X(/* @__PURE__ */ h({
6239
6263
  __name: "ChatWorkGroup",
6240
6264
  props: {
6241
6265
  active: { type: Boolean },
@@ -6251,9 +6275,9 @@ var au = ["aria-expanded", "disabled"], ou = ["data-label"], su = { class: "chat
6251
6275
  }, { immediate: !0 }), O(() => clearInterval(v));
6252
6276
  let y = o(() => {
6253
6277
  if (!a.value) return "";
6254
- if (!m.value) return iu(r.durationMs?.value);
6278
+ if (!m.value) return du(r.durationMs?.value);
6255
6279
  let e = r.startedAt?.value;
6256
- return e ? iu(_.value - Date.parse(e)) : "";
6280
+ return e ? du(_.value - Date.parse(e)) : "";
6257
6281
  }), x = o(() => {
6258
6282
  let e = { duration: y.value }, t = y.value !== "", i = m.value ? "working" : r?.status.value === "interrupted" ? "stopped" : r?.status.value === "failed" ? "failed" : "done";
6259
6283
  if (i === "working") return n(t ? "chat.work.workingFor" : "chat.work.working", e);
@@ -6287,18 +6311,18 @@ var au = ["aria-expanded", "disabled"], ou = ["data-label"], su = { class: "chat
6287
6311
  }, [u("span", {
6288
6312
  class: C(["chat-work-group__title", { "codex-text-shimmer": m.value }]),
6289
6313
  "data-label": x.value
6290
- }, R(x.value), 11, ou), m.value ? c("", !0) : (k(), s(I(h.value ? B(ue) : B(de)), {
6314
+ }, R(x.value), 11, pu), m.value ? c("", !0) : (k(), s(I(h.value ? B(ue) : B(de)), {
6291
6315
  key: 0,
6292
6316
  size: 15
6293
- }))], 8, au)) : c("", !0), g.value ? (k(), s(Rs, {
6317
+ }))], 8, fu)) : c("", !0), g.value ? (k(), s(Gs, {
6294
6318
  key: 1,
6295
6319
  open: h.value
6296
6320
  }, {
6297
- default: W(() => [u("div", su, [F(e.$slots, "default", {}, void 0, !0)])]),
6321
+ default: W(() => [u("div", mu, [F(e.$slots, "default", {}, void 0, !0)])]),
6298
6322
  _: 3
6299
- }, 8, ["open"])) : (k(), l("div", cu, [F(e.$slots, "default", {}, void 0, !0)]))], 2)) : c("", !0);
6323
+ }, 8, ["open"])) : (k(), l("div", hu, [F(e.$slots, "default", {}, void 0, !0)]))], 2)) : c("", !0);
6300
6324
  }
6301
- }), [["__scopeId", "data-v-0c35c769"]]), uu = ["innerHTML"], du = ["innerHTML"], fu = /*#__PURE__*/ X(/* @__PURE__ */ h({
6325
+ }), [["__scopeId", "data-v-0c35c769"]]), _u = ["innerHTML"], vu = ["innerHTML"], yu = /*#__PURE__*/ X(/* @__PURE__ */ h({
6302
6326
  __name: "ChatMessageBlock",
6303
6327
  props: {
6304
6328
  block: {},
@@ -6321,13 +6345,13 @@ var au = ["aria-expanded", "disabled"], ou = ["data-label"], su = { class: "chat
6321
6345
  "send-follow-up"
6322
6346
  ],
6323
6347
  setup(e, { emit: n }) {
6324
- let r = e, i = n, a = Wn(), f = Ti(), p = o(() => r.block.type === "text" || r.block.type === "reasoning" ? kc(r.block.content, { codeCopyLabel: a("chat.code.copy") }) : ""), h = /* @__PURE__ */ new Map();
6348
+ let r = e, i = n, a = Wn(), f = Ti(), p = o(() => r.block.type === "text" || r.block.type === "reasoning" ? Ic(r.block.content, { codeCopyLabel: a("chat.code.copy") }) : ""), h = /* @__PURE__ */ new Map();
6325
6349
  async function g(e) {
6326
6350
  let t = (e.target instanceof Element ? e.target : null)?.closest("[data-chat-code-copy]");
6327
6351
  if (!t) return;
6328
6352
  let n = t.closest(".chat-code-block")?.querySelector("pre code")?.textContent;
6329
6353
  if (n === void 0) return;
6330
- await qc(n, f), t.dataset.copied = "true", t.setAttribute("aria-label", a("chat.code.copied")), t.title = a("chat.code.copied");
6354
+ await el(n, f), t.dataset.copied = "true", t.setAttribute("aria-label", a("chat.code.copied")), t.title = a("chat.code.copied");
6331
6355
  let r = h.get(t);
6332
6356
  clearTimeout(r), h.set(t, setTimeout(() => {
6333
6357
  t.removeAttribute("data-copied"), t.setAttribute("aria-label", a("chat.code.copy")), t.title = a("chat.code.copy"), h.delete(t);
@@ -6341,7 +6365,7 @@ var au = ["aria-expanded", "disabled"], ou = ["data-label"], su = { class: "chat
6341
6365
  return e.block.type === "user-text" ? F(n.$slots, "text", {
6342
6366
  block: e.block,
6343
6367
  content: e.block.content
6344
- }, () => [m(tu, {
6368
+ }, () => [m(cu, {
6345
6369
  class: "chat-message-block chat-message-block--text",
6346
6370
  content: e.block.content,
6347
6371
  "mention-groups": e.mentionGroups,
@@ -6364,12 +6388,12 @@ var au = ["aria-expanded", "disabled"], ou = ["data-label"], su = { class: "chat
6364
6388
  class: "codex-chat-theme chat-message-block chat-message-block--text codex-markdown",
6365
6389
  innerHTML: p.value,
6366
6390
  onClick: g
6367
- }, null, 8, uu)], !0, 1) : e.block.type === "reasoning" ? (k(), l("div", {
6391
+ }, null, 8, _u)], !0, 1) : e.block.type === "reasoning" ? (k(), l("div", {
6368
6392
  key: 2,
6369
6393
  class: "codex-chat-theme chat-message-block chat-message-block--reasoning codex-markdown",
6370
6394
  innerHTML: p.value,
6371
6395
  onClick: g
6372
- }, null, 8, du)) : e.block.type === "html" ? (k(), s(sl, {
6396
+ }, null, 8, vu)) : e.block.type === "html" ? (k(), s(ml, {
6373
6397
  key: 3,
6374
6398
  source: e.block.source,
6375
6399
  title: e.block.title,
@@ -6381,14 +6405,14 @@ var au = ["aria-expanded", "disabled"], ou = ["data-label"], su = { class: "chat
6381
6405
  ])) : e.block.type === "mermaid" ? F(n.$slots, "mermaid", {
6382
6406
  block: e.block,
6383
6407
  code: e.block.code
6384
- }, () => [m(_c, { code: e.block.code }, null, 8, ["code"])], !0, 4) : e.block.type === "visualization" ? F(n.$slots, "visualization", { block: e.block }, () => [m(ru, {
6408
+ }, () => [m(wc, { code: e.block.code }, null, 8, ["code"])], !0, 4) : e.block.type === "visualization" ? F(n.$slots, "visualization", { block: e.block }, () => [m(uu, {
6385
6409
  path: e.block.path,
6386
6410
  title: e.block.title,
6387
6411
  onOpenVisualization: r[0] ||= (e) => i("open-visualization", e)
6388
6412
  }, null, 8, ["path", "title"])], !0, 5) : e.block.type === "media" ? F(n.$slots, "media", {
6389
6413
  block: e.block,
6390
6414
  media: e.block.media
6391
- }, () => [m(nc, {
6415
+ }, () => [m(lc, {
6392
6416
  media: e.block.media,
6393
6417
  "open-image": e.openImage
6394
6418
  }, null, 8, ["media", "open-image"])], !0, 6) : e.block.type === "question" ? (k(), s(Jo, {
@@ -6404,13 +6428,13 @@ var au = ["aria-expanded", "disabled"], ou = ["data-label"], su = { class: "chat
6404
6428
  ])) : e.block.type === "attachment" ? F(n.$slots, "attachment", {
6405
6429
  attachment: e.block.attachment,
6406
6430
  block: e.block
6407
- }, () => [m(Ms, {
6431
+ }, () => [m(zs, {
6408
6432
  attachment: e.block.attachment,
6409
6433
  "open-image": e.openImage
6410
6434
  }, null, 8, ["attachment", "open-image"])], !0, 8) : e.block.type === "tool" ? F(n.$slots, "tool", {
6411
6435
  block: e.block,
6412
6436
  toolCall: e.block.toolCall
6413
- }, () => [m(Dl, {
6437
+ }, () => [m(Pl, {
6414
6438
  "answered-client-request-ids": e.answeredClientRequestIds,
6415
6439
  "show-tool-details": e.showToolDetails,
6416
6440
  "tool-call": e.block.toolCall,
@@ -6424,7 +6448,7 @@ var au = ["aria-expanded", "disabled"], ou = ["data-label"], su = { class: "chat
6424
6448
  ])], !0, 9) : e.block.type === "tool-group" ? F(n.$slots, "tool", {
6425
6449
  block: e.block,
6426
6450
  toolCalls: e.block.toolCalls
6427
- }, () => [m(Pl, {
6451
+ }, () => [m(Vl, {
6428
6452
  "activity-title": e.block.activityTitle,
6429
6453
  "answered-client-request-ids": e.answeredClientRequestIds,
6430
6454
  "show-tool-details": e.showToolDetails,
@@ -6437,7 +6461,7 @@ var au = ["aria-expanded", "disabled"], ou = ["data-label"], su = { class: "chat
6437
6461
  "answered-client-request-ids",
6438
6462
  "show-tool-details",
6439
6463
  "tool-calls"
6440
- ])], !0, 10) : e.block.type === "work-group" ? (k(), s(lu, {
6464
+ ])], !0, 10) : e.block.type === "work-group" ? (k(), s(gu, {
6441
6465
  key: 11,
6442
6466
  active: e.block.active,
6443
6467
  continuation: e.block.continuation,
@@ -6491,7 +6515,7 @@ var au = ["aria-expanded", "disabled"], ou = ["data-label"], su = { class: "chat
6491
6515
  "active",
6492
6516
  "continuation",
6493
6517
  "final-started"
6494
- ])) : e.block.type === "follow-ups" ? (k(), s(Fs, {
6518
+ ])) : e.block.type === "follow-ups" ? (k(), s(Hs, {
6495
6519
  key: 12,
6496
6520
  disabled: e.followUpsDisabled,
6497
6521
  prompts: e.block.prompts,
@@ -6499,15 +6523,15 @@ var au = ["aria-expanded", "disabled"], ou = ["data-label"], su = { class: "chat
6499
6523
  }, null, 8, ["disabled", "prompts"])) : c("", !0);
6500
6524
  };
6501
6525
  }
6502
- }), [["__scopeId", "data-v-9351ce41"]]), pu = 1440 * 60 * 1e3;
6503
- function mu(e, t = /* @__PURE__ */ new Date()) {
6526
+ }), [["__scopeId", "data-v-9351ce41"]]), bu = 1440 * 60 * 1e3;
6527
+ function xu(e, t = /* @__PURE__ */ new Date()) {
6504
6528
  let n = new Date(e);
6505
6529
  if (Number.isNaN(n.getTime())) return "";
6506
6530
  let r = {
6507
6531
  hour: "numeric",
6508
6532
  minute: "2-digit"
6509
6533
  };
6510
- return gu(n, t) ? new Intl.DateTimeFormat(void 0, r).format(n) : n.getTime() < t.getTime() && t.getTime() - n.getTime() < 7 * pu ? new Intl.DateTimeFormat(void 0, {
6534
+ return Cu(n, t) ? new Intl.DateTimeFormat(void 0, r).format(n) : n.getTime() < t.getTime() && t.getTime() - n.getTime() < 7 * bu ? new Intl.DateTimeFormat(void 0, {
6511
6535
  weekday: "short",
6512
6536
  ...r
6513
6537
  }).format(n) : new Intl.DateTimeFormat(void 0, {
@@ -6515,19 +6539,19 @@ function mu(e, t = /* @__PURE__ */ new Date()) {
6515
6539
  timeStyle: "short"
6516
6540
  }).format(n);
6517
6541
  }
6518
- function hu(e) {
6542
+ function Su(e) {
6519
6543
  let t = new Date(e);
6520
6544
  return Number.isNaN(t.getTime()) ? "" : new Intl.DateTimeFormat(void 0, {
6521
6545
  dateStyle: "full",
6522
6546
  timeStyle: "short"
6523
6547
  }).format(t);
6524
6548
  }
6525
- function gu(e, t) {
6549
+ function Cu(e, t) {
6526
6550
  return e.getFullYear() === t.getFullYear() && e.getMonth() === t.getMonth() && e.getDate() === t.getDate();
6527
6551
  }
6528
6552
  //#endregion
6529
6553
  //#region src/chat/ChatMessageActions.vue?vue&type=script&setup=true&lang.ts
6530
- var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__PURE__*/ X(/* @__PURE__ */ h({
6554
+ var wu = ["aria-busy", "aria-label"], Tu = ["title"], Eu = ["title"], Du = /*#__PURE__*/ X(/* @__PURE__ */ h({
6531
6555
  __name: "ChatMessageActions",
6532
6556
  props: {
6533
6557
  canDelete: {
@@ -6561,7 +6585,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
6561
6585
  "retry"
6562
6586
  ],
6563
6587
  setup(e, { emit: t }) {
6564
- let n = e, r = t, i = Wn(), a = o(() => n.presentation?.copy !== !1), u = o(() => n.presentation?.delete !== !1), d = o(() => n.presentation?.edit !== !1), f = o(() => n.presentation?.fork !== !1), p = o(() => n.presentation?.quote !== !1), h = o(() => n.presentation?.retry !== !1), g = o(() => n.message.createdAt ? mu(n.message.createdAt) : ""), _ = o(() => n.message.createdAt ? hu(n.message.createdAt) : void 0);
6588
+ let n = e, r = t, i = Wn(), a = o(() => n.presentation?.copy !== !1), u = o(() => n.presentation?.delete !== !1), d = o(() => n.presentation?.edit !== !1), f = o(() => n.presentation?.fork !== !1), p = o(() => n.presentation?.quote !== !1), h = o(() => n.presentation?.retry !== !1), g = o(() => n.message.createdAt ? xu(n.message.createdAt) : ""), _ = o(() => n.message.createdAt ? Su(n.message.createdAt) : void 0);
6565
6589
  async function v() {
6566
6590
  await n.copyAction?.(), r("copy");
6567
6591
  }
@@ -6574,8 +6598,8 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
6574
6598
  key: 0,
6575
6599
  class: "chat-message-actions__sent-at",
6576
6600
  title: _.value
6577
- }, R(g.value), 9, vu)) : c("", !0),
6578
- a.value ? (k(), s(Is, {
6601
+ }, R(g.value), 9, Tu)) : c("", !0),
6602
+ a.value ? (k(), s(Us, {
6579
6603
  key: 1,
6580
6604
  action: v,
6581
6605
  "copied-label": B(i)("chat.actions.copied"),
@@ -6586,7 +6610,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
6586
6610
  "disabled",
6587
6611
  "label"
6588
6612
  ])) : c("", !0),
6589
- e.message.role === "user" && e.canEdit && d.value ? (k(), s(Ss, {
6613
+ e.message.role === "user" && e.canEdit && d.value ? (k(), s(ks, {
6590
6614
  key: 2,
6591
6615
  disabled: e.deleting,
6592
6616
  label: B(i)("chat.actions.edit"),
@@ -6595,7 +6619,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
6595
6619
  default: W(() => [m(B(Y))]),
6596
6620
  _: 1
6597
6621
  }, 8, ["disabled", "label"])) : c("", !0),
6598
- e.message.role === "user" && p.value ? (k(), s(Ss, {
6622
+ e.message.role === "user" && p.value ? (k(), s(ks, {
6599
6623
  key: 3,
6600
6624
  disabled: e.deleting,
6601
6625
  label: B(i)("chat.actions.quote"),
@@ -6604,7 +6628,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
6604
6628
  default: W(() => [m(B(Ne))]),
6605
6629
  _: 1
6606
6630
  }, 8, ["disabled", "label"])) : c("", !0),
6607
- e.message.role === "assistant" && e.canRetry && h.value ? (k(), s(Ss, {
6631
+ e.message.role === "assistant" && e.canRetry && h.value ? (k(), s(ks, {
6608
6632
  key: 4,
6609
6633
  disabled: e.mutationDisabled || e.deleting,
6610
6634
  label: B(i)("chat.actions.retry"),
@@ -6613,7 +6637,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
6613
6637
  default: W(() => [m(B(Pe))]),
6614
6638
  _: 1
6615
6639
  }, 8, ["disabled", "label"])) : c("", !0),
6616
- e.canFork && f.value ? (k(), s(Ss, {
6640
+ e.canFork && f.value ? (k(), s(ks, {
6617
6641
  key: 5,
6618
6642
  disabled: e.mutationDisabled || e.deleting,
6619
6643
  label: B(i)("chat.actions.fork"),
@@ -6622,7 +6646,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
6622
6646
  default: W(() => [m(B(oe), { class: "chat-message-actions__fork-icon" })]),
6623
6647
  _: 1
6624
6648
  }, 8, ["disabled", "label"])) : c("", !0),
6625
- e.canDelete && u.value ? (k(), s(Ss, {
6649
+ e.canDelete && u.value ? (k(), s(ks, {
6626
6650
  key: 6,
6627
6651
  danger: "",
6628
6652
  disabled: e.mutationDisabled || e.deleting,
@@ -6639,10 +6663,10 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
6639
6663
  key: 7,
6640
6664
  class: "chat-message-actions__sent-at",
6641
6665
  title: _.value
6642
- }, R(g.value), 9, yu)) : c("", !0)
6643
- ], 10, _u));
6666
+ }, R(g.value), 9, Eu)) : c("", !0)
6667
+ ], 10, wu));
6644
6668
  }
6645
- }), [["__scopeId", "data-v-704b28cf"]]), xu = ["data-label"], Su = /*#__PURE__*/ X(/* @__PURE__ */ h({
6669
+ }), [["__scopeId", "data-v-704b28cf"]]), Ou = ["data-label"], ku = /*#__PURE__*/ X(/* @__PURE__ */ h({
6646
6670
  __name: "ChatCompactionMessage",
6647
6671
  props: {
6648
6672
  completedTitle: {},
@@ -6654,9 +6678,9 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
6654
6678
  return (e, t) => (k(), l("div", { class: C(["codex-chat-theme chat-message chat-message--compaction", { "chat-message--compaction-running": n.value }]) }, [t[0] ||= u("div", { class: "chat-message__compaction-line" }, null, -1), u("span", {
6655
6679
  class: "chat-message__compaction-title",
6656
6680
  "data-label": r.value
6657
- }, [u("span", { class: C(["chat-message__compaction-label", { "codex-text-shimmer": n.value }]) }, R(r.value), 3)], 8, xu)], 2));
6681
+ }, [u("span", { class: C(["chat-message__compaction-label", { "codex-text-shimmer": n.value }]) }, R(r.value), 3)], 8, Ou)], 2));
6658
6682
  }
6659
- }), [["__scopeId", "data-v-49449489"]]), Cu = { class: "codex-chat-theme chat-message__edit-card" }, wu = ["aria-label", "onKeydown"], Tu = { class: "chat-message__edit-actions" }, Eu = /*#__PURE__*/ X(/* @__PURE__ */ h({
6683
+ }), [["__scopeId", "data-v-49449489"]]), Au = { class: "codex-chat-theme chat-message__edit-card" }, ju = ["aria-label", "onKeydown"], Mu = { class: "chat-message__edit-actions" }, Nu = /*#__PURE__*/ X(/* @__PURE__ */ h({
6660
6684
  __name: "ChatMessageEditor",
6661
6685
  props: {
6662
6686
  cancelLabel: {},
@@ -6684,7 +6708,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
6684
6708
  let e = i.value.trim();
6685
6709
  e && r("save", e);
6686
6710
  }
6687
- return (t, n) => (k(), l("div", Cu, [ie(u("textarea", {
6711
+ return (t, n) => (k(), l("div", Au, [ie(u("textarea", {
6688
6712
  ref_key: "input",
6689
6713
  ref: a,
6690
6714
  "onUpdate:modelValue": n[0] ||= (e) => i.value = e,
@@ -6695,7 +6719,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
6695
6719
  G(K(c, ["meta", "prevent"]), ["enter"]),
6696
6720
  G(K(c, ["ctrl", "prevent"]), ["enter"])
6697
6721
  ]
6698
- }, null, 40, wu), [[H, i.value]]), u("div", Tu, [u("button", {
6722
+ }, null, 40, ju), [[H, i.value]]), u("div", Mu, [u("button", {
6699
6723
  type: "button",
6700
6724
  class: "chat-message__edit-button",
6701
6725
  onClick: s
@@ -6705,23 +6729,23 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
6705
6729
  onClick: c
6706
6730
  }, R(e.saveLabel), 1)])]));
6707
6731
  }
6708
- }), [["__scopeId", "data-v-181e3239"]]), Du = { class: "chat-message__body" }, Ou = {
6732
+ }), [["__scopeId", "data-v-181e3239"]]), Pu = { class: "chat-message__body" }, Fu = {
6709
6733
  key: 0,
6710
6734
  class: "chat-message--steer chat-message--steer-above"
6711
- }, ku = {
6735
+ }, Iu = {
6712
6736
  key: 1,
6713
6737
  class: "chat-message__attachments",
6714
6738
  "aria-label": "Message attachments"
6715
- }, Au = {
6739
+ }, Lu = {
6716
6740
  key: 2,
6717
6741
  class: "chat-message__stack"
6718
- }, ju = {
6742
+ }, Ru = {
6719
6743
  key: 0,
6720
6744
  class: "chat-message__empty-response"
6721
- }, Mu = ["data-label"], Nu = {
6745
+ }, zu = ["data-label"], Bu = {
6722
6746
  key: 4,
6723
6747
  class: "chat-message--steer chat-message--steer-below"
6724
- }, Pu = /*#__PURE__*/ X(/* @__PURE__ */ h({
6748
+ }, Vu = /*#__PURE__*/ X(/* @__PURE__ */ h({
6725
6749
  __name: "CodexMessage",
6726
6750
  props: {
6727
6751
  activityState: {},
@@ -6830,12 +6854,12 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
6830
6854
  });
6831
6855
  }
6832
6856
  async function ge() {
6833
- await Kc(h.value.content, a);
6857
+ await $c(h.value.content, a);
6834
6858
  }
6835
6859
  function _e(e) {
6836
6860
  return e.type === "text" ? e.content.trim().length > 0 : e.type === "attachment" || e.type === "media" || e.type === "mermaid" || e.type === "html" || e.type === "reasoning" || e.type === "tool" || e.type === "tool-group" || e.type === "visualization" || e.type === "work-group";
6837
6861
  }
6838
- return (n, r) => h.value.type === "compaction" ? (k(), s(Su, {
6862
+ return (n, r) => h.value.type === "compaction" ? (k(), s(ku, {
6839
6863
  key: 0,
6840
6864
  class: "codex-chat-theme",
6841
6865
  "completed-title": B(f)("chat.compaction.completed"),
@@ -6851,17 +6875,17 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
6851
6875
  "chat-message--actions-visible": e.actionsAlwaysVisible && !H.value,
6852
6876
  "chat-message--editing": z.value
6853
6877
  }]])
6854
- }, [u("div", Du, [
6855
- n.$slots.header ? (k(), l("div", Ou, [F(n.$slots, "header", {
6878
+ }, [u("div", Pu, [
6879
+ n.$slots.header ? (k(), l("div", Fu, [F(n.$slots, "header", {
6856
6880
  index: e.index,
6857
6881
  message: h.value
6858
6882
  }, void 0, !0)])) : c("", !0),
6859
- te.value.length > 0 ? (k(), l("div", ku, [(k(!0), l(t, null, P(te.value, ({ block: t, blockIndex: r }) => F(n.$slots, "block", {
6883
+ te.value.length > 0 ? (k(), l("div", Iu, [(k(!0), l(t, null, P(te.value, ({ block: t, blockIndex: r }) => F(n.$slots, "block", {
6860
6884
  block: t,
6861
6885
  blockIndex: r,
6862
6886
  index: e.index,
6863
6887
  message: h.value
6864
- }, () => [m(fu, {
6888
+ }, () => [m(yu, {
6865
6889
  block: t,
6866
6890
  "open-image": he
6867
6891
  }, d({ _: 2 }, [n.$slots.attachment ? {
@@ -6872,7 +6896,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
6872
6896
  }), void 0, !0)]),
6873
6897
  key: "0"
6874
6898
  } : void 0]), 1032, ["block"])], !0, `attachment-${r}`)), 128))])) : c("", !0),
6875
- z.value || I.value.length > 0 || q.value || se.value || ce.value ? (k(), l("div", Au, [z.value ? (k(), s(Eu, {
6899
+ z.value || I.value.length > 0 || q.value || se.value || ce.value ? (k(), l("div", Lu, [z.value ? (k(), s(Nu, {
6876
6900
  key: 0,
6877
6901
  "cancel-label": B(f)("chat.actions.cancel"),
6878
6902
  content: L.value,
@@ -6886,7 +6910,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
6886
6910
  "input-label",
6887
6911
  "save-label"
6888
6912
  ])) : (k(), l(t, { key: 1 }, [
6889
- (k(!0), l(t, null, P(I.value, ({ block: a, blockIndex: o }) => (k(), l(t, { key: a.type === "tool" ? a.toolCall.id : `${a.type}-${o}` }, [a.type === "work-group" ? (k(), s(fu, {
6913
+ (k(!0), l(t, null, P(I.value, ({ block: a, blockIndex: o }) => (k(), l(t, { key: a.type === "tool" ? a.toolCall.id : `${a.type}-${o}` }, [a.type === "work-group" ? (k(), s(yu, {
6890
6914
  key: 0,
6891
6915
  "answered-client-request-ids": e.answeredClientRequestIds,
6892
6916
  block: a,
@@ -6939,7 +6963,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
6939
6963
  blockIndex: o,
6940
6964
  index: e.index,
6941
6965
  message: h.value
6942
- }, () => [m(fu, {
6966
+ }, () => [m(yu, {
6943
6967
  "answered-client-request-ids": e.answeredClientRequestIds,
6944
6968
  block: a,
6945
6969
  "follow-ups-disabled": e.followUpsDisabled,
@@ -6995,14 +7019,14 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
6995
7019
  "show-tool-details",
6996
7020
  "skills"
6997
7021
  ])], !0, 1)], 64))), 128)),
6998
- q.value ? (k(), l("span", ju, R(B(f)("chat.message.emptyResponse")), 1)) : c("", !0),
7022
+ q.value ? (k(), l("span", Ru, R(B(f)("chat.message.emptyResponse")), 1)) : c("", !0),
6999
7023
  se.value ? F(n.$slots, "thinking", {
7000
7024
  index: e.index,
7001
7025
  message: h.value
7002
7026
  }, () => [u("span", {
7003
7027
  class: "chat-message__thinking codex-text-shimmer",
7004
7028
  "data-label": p.value
7005
- }, R(p.value), 9, Mu)], !0, 1) : ce.value ? F(n.$slots, "status", {
7029
+ }, R(p.value), 9, zu)], !0, 1) : ce.value ? F(n.$slots, "status", {
7006
7030
  index: e.index,
7007
7031
  message: h.value,
7008
7032
  status: "streaming"
@@ -7015,7 +7039,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
7015
7039
  disabled: H.value,
7016
7040
  index: e.index,
7017
7041
  message: h.value
7018
- }, () => [m(bu, {
7042
+ }, () => [m(Du, {
7019
7043
  class: C(["chat-message__actions", { "chat-message__actions--reserved": H.value }]),
7020
7044
  "aria-hidden": H.value ? "true" : void 0,
7021
7045
  inert: H.value ? "" : void 0,
@@ -7047,10 +7071,10 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
7047
7071
  "mutation-disabled",
7048
7072
  "presentation"
7049
7073
  ])], !0, 3) : c("", !0),
7050
- h.value.type === "steer" ? (k(), l("div", Nu, " Steered conversation ")) : c("", !0)
7074
+ h.value.type === "steer" ? (k(), l("div", Bu, " Steered conversation ")) : c("", !0)
7051
7075
  ])], 2));
7052
7076
  }
7053
- }), [["__scopeId", "data-v-ba9ff3ff"]]), Fu = { class: "codex-message-turn" }, Iu = /*#__PURE__*/ X(/* @__PURE__ */ h({
7077
+ }), [["__scopeId", "data-v-ba9ff3ff"]]), Hu = { class: "codex-message-turn" }, Uu = /*#__PURE__*/ X(/* @__PURE__ */ h({
7054
7078
  __name: "CodexMessageTurn",
7055
7079
  props: {
7056
7080
  active: { type: Boolean },
@@ -7093,9 +7117,9 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
7093
7117
  let n = ga(e).filter((e) => t.showToolBlocks || e.type !== "tool" && e.type !== "tool-group");
7094
7118
  return n.length === 0 ? !1 : i.value ? n.some((e) => Aa(e, t.answeredClientRequestIds)) : u.value && n.every((e) => e.type === "tool" || e.type === "tool-group");
7095
7119
  }
7096
- return (e, t) => (k(), l("div", Fu, [F(e.$slots, "default", {}, void 0, !0)]));
7120
+ return (e, t) => (k(), l("div", Hu, [F(e.$slots, "default", {}, void 0, !0)]));
7097
7121
  }
7098
- }), [["__scopeId", "data-v-140530d7"]]), Lu = ["aria-label", "title"], Ru = /*#__PURE__*/ X(/* @__PURE__ */ h({
7122
+ }), [["__scopeId", "data-v-140530d7"]]), Wu = ["aria-label", "title"], Gu = /*#__PURE__*/ X(/* @__PURE__ */ h({
7099
7123
  __name: "CodexScrollToBottom",
7100
7124
  props: { label: { default: "Scroll to bottom" } },
7101
7125
  emits: ["click"],
@@ -7111,9 +7135,9 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
7111
7135
  "aria-hidden": "true",
7112
7136
  size: 24,
7113
7137
  "stroke-width": 1.75
7114
- })], 8, Lu));
7138
+ })], 8, Wu));
7115
7139
  }
7116
- }), [["__scopeId", "data-v-5a75ce89"]]), zu = ["aria-label"], Bu = { class: "codex-message-list__content" }, Vu = { class: "codex-message-list__empty" }, Hu = ["data-codex-message-index"], Uu = /*#__PURE__*/ X(/* @__PURE__ */ h({
7140
+ }), [["__scopeId", "data-v-5a75ce89"]]), Ku = ["aria-label"], qu = { class: "codex-message-list__content" }, Ju = { class: "codex-message-list__empty" }, Yu = ["data-codex-message-index"], Xu = /*#__PURE__*/ X(/* @__PURE__ */ h({
7117
7141
  __name: "CodexMessageList",
7118
7142
  props: {
7119
7143
  actionsDisabled: { type: Boolean },
@@ -7222,7 +7246,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
7222
7246
  break;
7223
7247
  }
7224
7248
  let t = !1, n = j.value.flatMap((n, r) => {
7225
- let a = m.value === "lazy" ? _.value + r : r, o = i.transformMessage?.(n, a) ?? n, s = xs(o, i.toolVisibility);
7249
+ let a = m.value === "lazy" ? _.value + r : r, o = i.transformMessage?.(n, a) ?? n, s = Os(o, i.toolVisibility);
7226
7250
  return !s && o.role === "assistant" && (i.activeTurnId ? $(o).turnId === i.activeTurnId : a > e) && (t = !0), s ? [{
7227
7251
  index: a,
7228
7252
  message: s,
@@ -7504,7 +7528,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
7504
7528
  onClickCapture: ge,
7505
7529
  onPointerdown: _e,
7506
7530
  onScroll: me
7507
- }, [u("div", Bu, [N.value.length === 0 ? F(n.$slots, "empty", {}, () => [u("p", Vu, R(e.emptyLabel), 1)], !0, 0) : (k(!0), l(t, { key: 1 }, P(I.value, (i) => (k(), s(Iu, {
7531
+ }, [u("div", qu, [N.value.length === 0 ? F(n.$slots, "empty", {}, () => [u("p", Ju, R(e.emptyLabel), 1)], !0, 0) : (k(!0), l(t, { key: 1 }, P(I.value, (i) => (k(), s(Uu, {
7508
7532
  key: i.key,
7509
7533
  entries: i.entries,
7510
7534
  "answered-client-request-ids": e.answeredClientRequestIds,
@@ -7522,7 +7546,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
7522
7546
  }, [n.$slots.message ? F(n.$slots, "message", {
7523
7547
  message: B($)(G(t.message, i.turnId)),
7524
7548
  index: t.index
7525
- }, void 0, !0, 0) : (k(), s(Pu, {
7549
+ }, void 0, !0, 0) : (k(), s(Vu, {
7526
7550
  key: 1,
7527
7551
  "activity-state": t.activityState,
7528
7552
  "actions-disabled": e.actionsDisabled,
@@ -7622,7 +7646,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
7622
7646
  "show-tool-details",
7623
7647
  "skills",
7624
7648
  "thread-actions-disabled"
7625
- ]))], 8, Hu))), 128))]),
7649
+ ]))], 8, Yu))), 128))]),
7626
7650
  _: 2
7627
7651
  }, 1032, [
7628
7652
  "entries",
@@ -7633,20 +7657,20 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
7633
7657
  "started-at",
7634
7658
  "duration-ms",
7635
7659
  "turn-id"
7636
- ]))), 128))])], 544), ce.value ? (k(), s(Ru, {
7660
+ ]))), 128))])], 544), ce.value ? (k(), s(Gu, {
7637
7661
  key: 0,
7638
7662
  class: "codex-message-list__scroll-to-bottom",
7639
7663
  label: e.scrollToBottomLabel,
7640
7664
  onClick: Re
7641
- }, null, 8, ["label"])) : c("", !0)], 8, zu));
7665
+ }, null, 8, ["label"])) : c("", !0)], 8, Ku));
7642
7666
  }
7643
- }), [["__scopeId", "data-v-238e8027"]]), Wu = {
7667
+ }), [["__scopeId", "data-v-238e8027"]]), Zu = {
7644
7668
  key: 0,
7645
7669
  class: "codex-workbench-layout__body codex-workbench-layout__body--scroll"
7646
- }, Gu = { class: "codex-workbench-layout__body-content" }, Ku = {
7670
+ }, Qu = { class: "codex-workbench-layout__body-content" }, $u = {
7647
7671
  key: 1,
7648
7672
  class: "codex-workbench-layout__body codex-workbench-layout__body--child"
7649
- }, qu = /*#__PURE__*/ X(/* @__PURE__ */ h({
7673
+ }, ed = /*#__PURE__*/ X(/* @__PURE__ */ h({
7650
7674
  __name: "CodexWorkbenchLayout",
7651
7675
  props: { scrollMode: { default: "body" } },
7652
7676
  setup(e) {
@@ -7672,7 +7696,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
7672
7696
  class: C(["codex-chat-theme codex-workbench-layout", `codex-workbench-layout--${e.scrollMode}`]),
7673
7697
  style: T(a.value)
7674
7698
  }, [
7675
- e.scrollMode === "body" ? (k(), l("div", Wu, [u("div", Gu, [F(r.$slots, "default", {}, void 0, !0)])])) : (k(), l("div", Ku, [F(r.$slots, "default", {}, void 0, !0)])),
7699
+ e.scrollMode === "body" ? (k(), l("div", Zu, [u("div", Qu, [F(r.$slots, "default", {}, void 0, !0)])])) : (k(), l("div", $u, [F(r.$slots, "default", {}, void 0, !0)])),
7676
7700
  r.$slots.header ? (k(), l("div", {
7677
7701
  key: 2,
7678
7702
  ref_key: "headerEl",
@@ -7687,36 +7711,36 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
7687
7711
  }, [F(r.$slots, "footer", {}, void 0, !0)], 512)) : c("", !0)
7688
7712
  ], 6));
7689
7713
  }
7690
- }), [["__scopeId", "data-v-18471407"]]), Ju = [
7714
+ }), [["__scopeId", "data-v-18471407"]]), td = [
7691
7715
  "aria-busy",
7692
7716
  "aria-label",
7693
7717
  "data-codex-generating"
7694
- ], Yu = {
7718
+ ], nd = {
7695
7719
  key: 1,
7696
7720
  class: "codex-conversation-pane__hero"
7697
- }, Xu = { class: "codex-conversation-pane__hero-copy" }, Zu = { key: 0 }, Qu = {
7721
+ }, rd = { class: "codex-conversation-pane__hero-copy" }, id = { key: 0 }, ad = {
7698
7722
  key: 0,
7699
7723
  class: "codex-conversation-pane__error",
7700
7724
  role: "alert"
7701
- }, $u = {
7725
+ }, od = {
7702
7726
  key: 1,
7703
7727
  class: "codex-conversation-pane__approvals"
7704
- }, ed = {
7728
+ }, sd = {
7705
7729
  key: 0,
7706
7730
  class: "codex-conversation-pane__pending-question"
7707
- }, td = ["aria-label"], nd = {
7731
+ }, cd = ["aria-label"], ld = {
7708
7732
  key: 0,
7709
7733
  class: "codex-conversation-pane__attachments",
7710
7734
  "aria-label": "Prompt attachments"
7711
- }, rd = ["src", "alt"], id = {
7735
+ }, ud = ["src", "alt"], dd = {
7712
7736
  key: 1,
7713
7737
  class: "codex-conversation-pane__attachment-file",
7714
7738
  "aria-hidden": "true"
7715
- }, ad = ["title"], od = { class: "codex-conversation-pane__attachment-actions" }, sd = [
7739
+ }, fd = ["title"], pd = { class: "codex-conversation-pane__attachment-actions" }, md = [
7716
7740
  "aria-label",
7717
7741
  "disabled",
7718
7742
  "onClick"
7719
- ], cd = /*#__PURE__*/ X(/* @__PURE__ */ h({
7743
+ ], hd = /*#__PURE__*/ X(/* @__PURE__ */ h({
7720
7744
  __name: "CodexConversationPane",
7721
7745
  props: {
7722
7746
  ariaLabel: { default: "Conversation" },
@@ -8359,10 +8383,10 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
8359
8383
  onDragover: zt,
8360
8384
  onDrop: Bt,
8361
8385
  onPasteCapture: Vt
8362
- }, [vt.value ? (k(), s(bs, {
8386
+ }, [vt.value ? (k(), s(Ds, {
8363
8387
  key: 0,
8364
8388
  class: "codex-conversation-pane__history-loader"
8365
- })) : (k(), s(qu, {
8389
+ })) : (k(), s(ed, {
8366
8390
  key: 1,
8367
8391
  class: "codex-conversation-pane__layout",
8368
8392
  "scroll-mode": "child"
@@ -8371,7 +8395,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
8371
8395
  ref_key: "footerElement",
8372
8396
  ref: y,
8373
8397
  class: "codex-conversation-pane__footer"
8374
- }, [Ie.value ? (k(), l("p", Qu, R(Ie.value), 1)) : c("", !0), Y.value ? (k(), l("div", $u, [F(n.$slots, "approval", { approval: Y.value }, () => [(k(), s(na, {
8398
+ }, [Ie.value ? (k(), l("p", ad, R(Ie.value), 1)) : c("", !0), Y.value ? (k(), l("div", od, [F(n.$slots, "approval", { approval: Y.value }, () => [(k(), s(na, {
8375
8399
  key: Y.value.id,
8376
8400
  approval: Y.value,
8377
8401
  disabled: Fe.value,
@@ -8389,7 +8413,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
8389
8413
  onClientResponse: Zt
8390
8414
  }, null, 8, ["answered-client-request-ids", "request"])) : (k(), l(t, { key: 4 }, [
8391
8415
  F(n.$slots, "before-composer", {}, void 0, !0),
8392
- m(gs, {
8416
+ m(Cs, {
8393
8417
  class: "codex-conversation-pane__composer-shelf",
8394
8418
  disabled: Fe.value,
8395
8419
  goal: Le.value,
@@ -8403,10 +8427,14 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
8403
8427
  onEditQueuedPrompt: sn,
8404
8428
  onEditGoal: Pt,
8405
8429
  onSteerQueuedPrompt: ln
8406
- }, d({ _: 2 }, [n.$slots["composer-shelf-actions"] ? {
8430
+ }, d({ _: 2 }, [n.$slots["composer-drawers"] ? {
8431
+ name: "drawers",
8432
+ fn: W((e) => [F(n.$slots, "composer-drawers", w(_(e)), void 0, !0)]),
8433
+ key: "0"
8434
+ } : void 0, n.$slots["composer-shelf-actions"] ? {
8407
8435
  name: "actions",
8408
8436
  fn: W((e) => [F(n.$slots, "composer-shelf-actions", w(_(e)), void 0, !0)]),
8409
- key: "0"
8437
+ key: "1"
8410
8438
  } : void 0]), 1032, [
8411
8439
  "disabled",
8412
8440
  "goal",
@@ -8473,7 +8501,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
8473
8501
  "onUpdate:reasoningEffort": _n,
8474
8502
  "onUpdate:serviceTier": vn
8475
8503
  }, d({
8476
- "before-meta": W(() => [J.value.length > 0 ? (k(), l("span", ed, [u("button", {
8504
+ "before-meta": W(() => [J.value.length > 0 ? (k(), l("span", sd, [u("button", {
8477
8505
  class: "codex-conversation-pane__pending-question-cancel",
8478
8506
  type: "button",
8479
8507
  "aria-label": "Cancel pending question",
@@ -8489,8 +8517,8 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
8489
8517
  type: "button",
8490
8518
  "aria-label": J.value.length === 1 ? "Pending question" : `${J.value.length} pending questions`,
8491
8519
  onClick: r[3] ||= (e) => h.value = J.value[0].id
8492
- }, R(J.value.length === 1 ? "Pending question" : `${J.value.length} pending questions`), 9, td)])) : c("", !0)]),
8493
- before: W(() => [K.value.length > 0 ? (k(), l("div", nd, [(k(!0), l(t, null, P(K.value, (e, t) => (k(), l("div", {
8520
+ }, R(J.value.length === 1 ? "Pending question" : `${J.value.length} pending questions`), 9, cd)])) : c("", !0)]),
8521
+ before: W(() => [K.value.length > 0 ? (k(), l("div", ld, [(k(!0), l(t, null, P(K.value, (e, t) => (k(), l("div", {
8494
8522
  key: e.id,
8495
8523
  class: "codex-conversation-pane__attachment"
8496
8524
  }, [
@@ -8499,12 +8527,12 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
8499
8527
  class: "codex-conversation-pane__attachment-preview",
8500
8528
  src: e.previewUrl,
8501
8529
  alt: e.name
8502
- }, null, 8, rd)) : (k(), l("span", id, "📎")),
8530
+ }, null, 8, ud)) : (k(), l("span", dd, "📎")),
8503
8531
  u("span", {
8504
8532
  class: "codex-conversation-pane__attachment-name",
8505
8533
  title: e.name
8506
- }, R(e.name), 9, ad),
8507
- u("span", od, [F(n.$slots, "composer-attachment-actions", {
8534
+ }, R(e.name), 9, fd),
8535
+ u("span", pd, [F(n.$slots, "composer-attachment-actions", {
8508
8536
  attachments: K.value,
8509
8537
  index: t,
8510
8538
  disabled: Fe.value
@@ -8514,7 +8542,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
8514
8542
  "aria-label": `Remove ${e.name}`,
8515
8543
  disabled: Fe.value,
8516
8544
  onClick: (t) => Gt(e.id)
8517
- }, [m(B(Ye), { "aria-hidden": "true" })], 8, sd)])
8545
+ }, [m(B(Ye), { "aria-hidden": "true" })], 8, md)])
8518
8546
  ]))), 128))])) : c("", !0), F(n.$slots, "composer-context", { disabled: Fe.value }, void 0, !0)]),
8519
8547
  _: 2
8520
8548
  }, [
@@ -8551,7 +8579,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
8551
8579
  ]), 1032, /* @__PURE__ */ "autofocus.attach-enabled.capabilities.can-continue-interrupted-turn.commands.composer-state.context-usage.disabled.draft.empty-send-prompt.follow-up-behavior.files.has-attachments.has-external-content.interrupt-armed.plugins.prompt-history.prompt-history-loading.queued-prompt-id.is-sending.leading-menu-items.menu-items.model-menu-items.mention-groups.model-catalog-status.models.placeholder.approval-preset.plan-mode.presentation.selected-model-id.selected-reasoning-effort.selected-service-tier.skill-catalog-status.skills.transcribe-audio".split("."))),
8552
8580
  F(n.$slots, "after-composer", {}, void 0, !0)
8553
8581
  ], 64))], 512)]),
8554
- default: W(() => [yt.value ? (k(), s(Uu, {
8582
+ default: W(() => [yt.value ? (k(), s(Xu, {
8555
8583
  key: 0,
8556
8584
  ref_key: "messageList",
8557
8585
  ref: b,
@@ -8651,23 +8679,23 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
8651
8679
  fn: W((e) => [F(n.$slots, "message-tool", w(_(e)), void 0, !0)]),
8652
8680
  key: "9"
8653
8681
  } : void 0
8654
- ]), 1032, /* @__PURE__ */ "actions-disabled.active-turn-id.answered-client-request-ids.aria-label.busy.can-delete-turn.can-edit-turn.can-fork-turn.can-retry-turn.deleting-turn-id.empty-label.follow-ups-disabled.has-older-messages.hidden-client-request-ids.render-strategy.loading-older-messages.initial-message-batch-size.message-batch-size.message-text-selection.messages.mention-groups.plugins.presentation.reset-key.scroll-to-bottom-label.show-tool-details.skills.tool-visibility.transform-message.turns".split("."))) : (k(), l("div", Yu, [F(n.$slots, "empty", {
8682
+ ]), 1032, /* @__PURE__ */ "actions-disabled.active-turn-id.answered-client-request-ids.aria-label.busy.can-delete-turn.can-edit-turn.can-fork-turn.can-retry-turn.deleting-turn-id.empty-label.follow-ups-disabled.has-older-messages.hidden-client-request-ids.render-strategy.loading-older-messages.initial-message-batch-size.message-batch-size.message-text-selection.messages.mention-groups.plugins.presentation.reset-key.scroll-to-bottom-label.show-tool-details.skills.tool-visibility.transform-message.turns".split("."))) : (k(), l("div", nd, [F(n.$slots, "empty", {
8655
8683
  title: e.emptyTitle,
8656
8684
  description: e.emptyDescription
8657
- }, () => [u("div", Xu, [u("h1", null, R(e.emptyTitle), 1), e.emptyDescription ? (k(), l("p", Zu, R(e.emptyDescription), 1)) : c("", !0)])], !0)]))]),
8685
+ }, () => [u("div", rd, [u("h1", null, R(e.emptyTitle), 1), e.emptyDescription ? (k(), l("p", id, R(e.emptyDescription), 1)) : c("", !0)])], !0)]))]),
8658
8686
  _: 3
8659
- }))], 40, Ju));
8687
+ }))], 40, td));
8660
8688
  }
8661
- }), [["__scopeId", "data-v-c7008843"]]), ld = {
8689
+ }), [["__scopeId", "data-v-1e2b8c03"]]), gd = {
8662
8690
  class: "codex-conversation-sidebar",
8663
8691
  "aria-label": "Conversations"
8664
- }, ud = { class: "codex-conversation-sidebar__header" }, dd = { class: "codex-conversation-sidebar__brand" }, fd = ["disabled"], pd = {
8692
+ }, _d = { class: "codex-conversation-sidebar__header" }, vd = { class: "codex-conversation-sidebar__brand" }, yd = ["disabled"], bd = {
8665
8693
  key: 0,
8666
8694
  class: "codex-conversation-sidebar__empty"
8667
- }, md = {
8695
+ }, xd = {
8668
8696
  key: 1,
8669
8697
  class: "codex-conversation-sidebar__list"
8670
- }, hd = ["aria-current", "onClick"], gd = ["aria-label", "title"], _d = { class: "codex-conversation-sidebar__title" }, vd = { class: "codex-conversation-sidebar__time" }, yd = ["aria-label", "onClick"], bd = /*#__PURE__*/ X(/* @__PURE__ */ h({
8698
+ }, Sd = ["aria-current", "onClick"], Cd = ["aria-label", "title"], wd = { class: "codex-conversation-sidebar__title" }, Td = { class: "codex-conversation-sidebar__time" }, Ed = ["aria-label", "onClick"], Dd = /*#__PURE__*/ X(/* @__PURE__ */ h({
8671
8699
  __name: "CodexConversationSidebar",
8672
8700
  props: {
8673
8701
  activeConversationId: { default: null },
@@ -8699,12 +8727,12 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
8699
8727
  let n = Math.floor(t / 60);
8700
8728
  return n < 24 ? `${n}h` : `${Math.floor(n / 24)}d`;
8701
8729
  }
8702
- return (n, o) => (k(), l("aside", ld, [u("div", ud, [u("span", dd, R(e.brand), 1), u("button", {
8730
+ return (n, o) => (k(), l("aside", gd, [u("div", _d, [u("span", vd, R(e.brand), 1), u("button", {
8703
8731
  class: "codex-conversation-sidebar__new",
8704
8732
  type: "button",
8705
8733
  disabled: e.createDisabled,
8706
8734
  onClick: o[0] ||= (e) => r("create")
8707
- }, [...o[1] ||= [u("span", { "aria-hidden": "true" }, "+", -1), p(" New thread ", -1)]], 8, fd)]), e.conversations.length === 0 ? (k(), l("p", pd, R(e.loading ? "Loading threads…" : "No conversations yet"), 1)) : (k(), l("nav", md, [(k(!0), l(t, null, P(e.conversations, (t) => (k(), l("div", {
8735
+ }, [...o[1] ||= [u("span", { "aria-hidden": "true" }, "+", -1), p(" New thread ", -1)]], 8, yd)]), e.conversations.length === 0 ? (k(), l("p", bd, R(e.loading ? "Loading threads…" : "No conversations yet"), 1)) : (k(), l("nav", xd, [(k(!0), l(t, null, P(e.conversations, (t) => (k(), l("div", {
8708
8736
  key: t.id,
8709
8737
  class: C(["codex-conversation-sidebar__item", { "codex-conversation-sidebar__item--active": t.id === e.activeConversationId }])
8710
8738
  }, [u("button", {
@@ -8717,10 +8745,10 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
8717
8745
  class: C(["codex-conversation-sidebar__status", `codex-conversation-sidebar__status--${t.status}`]),
8718
8746
  "aria-label": `Status: ${t.status}`,
8719
8747
  title: t.status
8720
- }, null, 10, gd),
8721
- u("span", _d, R(t.title), 1),
8722
- u("span", vd, R(a(t.updatedAt)), 1)
8723
- ], 8, hd), u("button", {
8748
+ }, null, 10, Cd),
8749
+ u("span", wd, R(t.title), 1),
8750
+ u("span", Td, R(a(t.updatedAt)), 1)
8751
+ ], 8, Sd), u("button", {
8724
8752
  class: "codex-conversation-sidebar__delete",
8725
8753
  type: "button",
8726
8754
  "aria-label": `Delete ${t.title}`,
@@ -8730,15 +8758,15 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
8730
8758
  "aria-hidden": "true",
8731
8759
  fill: "none",
8732
8760
  viewBox: "0 0 24 24"
8733
- }, [u("path", { d: "M4 7h16M10 11v6m4-6v6M9 7l1-2h4l1 2m2 0-1 12H8L7 7" })], -1)]], 8, yd)], 2))), 128))]))]));
8761
+ }, [u("path", { d: "M4 7h16M10 11v6m4-6v6M9 7l1-2h4l1 2m2 0-1 12H8L7 7" })], -1)]], 8, Ed)], 2))), 128))]))]));
8734
8762
  }
8735
- }), [["__scopeId", "data-v-97c47314"]]), xd = { class: "chat-composer-file-menu__section" }, Sd = ["onMousedown"], Cd = { class: "chat-composer-file-menu__name" }, wd = { class: "chat-composer-file-menu__path" }, Td = {
8763
+ }), [["__scopeId", "data-v-97c47314"]]), Od = { class: "chat-composer-file-menu__section" }, kd = ["onMousedown"], Ad = { class: "chat-composer-file-menu__name" }, jd = { class: "chat-composer-file-menu__path" }, Md = {
8736
8764
  key: 0,
8737
8765
  class: "chat-composer-file-menu__hint"
8738
- }, Ed = {
8766
+ }, Nd = {
8739
8767
  key: 1,
8740
8768
  class: "chat-composer-file-menu__empty"
8741
- }, Dd = /*#__PURE__*/ X(/* @__PURE__ */ h({
8769
+ }, Pd = /*#__PURE__*/ X(/* @__PURE__ */ h({
8742
8770
  __name: "ChatComposerFileMentionMenu",
8743
8771
  props: {
8744
8772
  activeIndex: {},
@@ -8759,7 +8787,7 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
8759
8787
  role: "listbox",
8760
8788
  "aria-label": "Files"
8761
8789
  }, [
8762
- u("div", xd, R(B(r)("chat.files.title")), 1),
8790
+ u("div", Od, R(B(r)("chat.files.title")), 1),
8763
8791
  (k(!0), l(t, null, P(e.visibleFiles, (t, r) => (k(), l("button", {
8764
8792
  key: t.path,
8765
8793
  class: C(["chat-composer-file-menu__item", { "chat-composer-file-menu__item--active": r === e.activeIndex }]),
@@ -8771,16 +8799,16 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
8771
8799
  class: "chat-composer-file-menu__icon",
8772
8800
  "aria-hidden": "true"
8773
8801
  }),
8774
- u("span", Cd, R(t.name), 1),
8775
- u("span", wd, R(t.path), 1)
8776
- ], 42, Sd))), 128)),
8777
- e.showHint ? (k(), l("div", Td, R(B(r)("chat.files.hint")), 1)) : e.visibleFiles.length === 0 ? (k(), l("div", Ed, R(B(r)("chat.files.empty")), 1)) : c("", !0)
8802
+ u("span", Ad, R(t.name), 1),
8803
+ u("span", jd, R(t.path), 1)
8804
+ ], 42, kd))), 128)),
8805
+ e.showHint ? (k(), l("div", Md, R(B(r)("chat.files.hint")), 1)) : e.visibleFiles.length === 0 ? (k(), l("div", Nd, R(B(r)("chat.files.empty")), 1)) : c("", !0)
8778
8806
  ], 512));
8779
8807
  }
8780
- }), [["__scopeId", "data-v-122fc71c"]]), Od = ["onMousedown"], kd = ["src"], Ad = { class: "chat-composer-plugin-menu__main" }, jd = { class: "chat-composer-plugin-menu__name" }, Md = { class: "chat-composer-plugin-menu__description" }, Nd = {
8808
+ }), [["__scopeId", "data-v-122fc71c"]]), Fd = ["onMousedown"], Id = ["src"], Ld = { class: "chat-composer-plugin-menu__main" }, Rd = { class: "chat-composer-plugin-menu__name" }, zd = { class: "chat-composer-plugin-menu__description" }, Bd = {
8781
8809
  key: 0,
8782
8810
  class: "chat-composer-plugin-menu__empty"
8783
- }, Pd = /*#__PURE__*/ X(/* @__PURE__ */ h({
8811
+ }, Vd = /*#__PURE__*/ X(/* @__PURE__ */ h({
8784
8812
  __name: "ChatComposerPluginMenu",
8785
8813
  props: {
8786
8814
  activeIndex: {},
@@ -8814,24 +8842,24 @@ var _u = ["aria-busy", "aria-label"], vu = ["title"], yu = ["title"], bu = /*#__
8814
8842
  alt: "",
8815
8843
  "aria-hidden": "true",
8816
8844
  referrerpolicy: "no-referrer"
8817
- }, null, 8, kd)) : (k(), s(B(je), {
8845
+ }, null, 8, Id)) : (k(), s(B(je), {
8818
8846
  key: 1,
8819
8847
  class: "chat-composer-plugin-menu__icon",
8820
8848
  "aria-hidden": "true"
8821
- })), u("span", Ad, [u("span", jd, R(B(sr)(t)), 1), u("span", Md, R(B(cr)(t)), 1)])], 42, Od))), 128)),
8822
- e.visiblePlugins.length === 0 ? (k(), l("div", Nd, "No matching plugins")) : c("", !0)
8849
+ })), u("span", Ld, [u("span", Rd, R(B(sr)(t)), 1), u("span", zd, R(B(cr)(t)), 1)])], 42, Fd))), 128)),
8850
+ e.visiblePlugins.length === 0 ? (k(), l("div", Bd, "No matching plugins")) : c("", !0)
8823
8851
  ], 512));
8824
8852
  }
8825
- }), [["__scopeId", "data-v-336657b0"]]), Fd = 0;
8826
- function Id(e) {
8827
- return Fd += 1, {
8828
- id: `queued-prompt-${Fd}`,
8853
+ }), [["__scopeId", "data-v-336657b0"]]), Hd = 0;
8854
+ function Ud(e) {
8855
+ return Hd += 1, {
8856
+ id: `queued-prompt-${Hd}`,
8829
8857
  text: e
8830
8858
  };
8831
8859
  }
8832
8860
  //#endregion
8833
8861
  //#region src/use-codex-surface.ts
8834
- var Ld = {
8862
+ var Wd = {
8835
8863
  status: "idle",
8836
8864
  authentication: {
8837
8865
  status: "notLoaded",
@@ -8876,8 +8904,8 @@ var Ld = {
8876
8904
  historyLoading: !1,
8877
8905
  error: null
8878
8906
  };
8879
- function Rd(e) {
8880
- let t = A(structuredClone(Ld)), n = A(/* @__PURE__ */ new Set()), r = j(n), i = L(null), a = /* @__PURE__ */ new Set(), o = 0, s = (e) => {
8907
+ function Gd(e) {
8908
+ let t = A(structuredClone(Wd)), n = A(/* @__PURE__ */ new Set()), r = j(n), i = L(null), a = /* @__PURE__ */ new Set(), o = 0, s = (e) => {
8881
8909
  Object.assign(t, e), n.clear();
8882
8910
  for (let t of e.answeredClientRequestIds) n.add(t);
8883
8911
  }, c = Tt(e, (e) => {
@@ -8938,7 +8966,7 @@ function Rd(e) {
8938
8966
  }
8939
8967
  //#endregion
8940
8968
  //#region src/use-codex-live-chat.ts
8941
- function zd(e) {
8969
+ function Kd(e) {
8942
8970
  let t = M("idle"), n = M(null), r = M(!1), i = M([]), a, o = !1;
8943
8971
  function s(t) {
8944
8972
  if (!(!("conversationId" in t) || t.conversationId !== e.conversationId)) {
@@ -8999,7 +9027,7 @@ function zd(e) {
8999
9027
  let a = new Audio();
9000
9028
  if (a.autoplay = !0, u.audio = a, i.ontrack = (e) => {
9001
9029
  a.srcObject = e.streams[0] ?? new MediaStream([e.track]), a.play().catch((e) => {
9002
- u.cancelled || (n.value = Bd(e), d().catch(() => void 0));
9030
+ u.cancelled || (n.value = qd(e), d().catch(() => void 0));
9003
9031
  });
9004
9032
  }, i.onconnectionstatechange = () => {
9005
9033
  u.cancelled || (i.connectionState === "connected" && (clearTimeout(u.timer), t.value = "connected"), (i.connectionState === "failed" || i.connectionState === "closed") && (n.value = "Live chat connection ended", d().catch(() => void 0)));
@@ -9019,7 +9047,7 @@ function zd(e) {
9019
9047
  n.value = "Timed out connecting live chat", d().catch(() => void 0);
9020
9048
  }, 3e4));
9021
9049
  } catch (e) {
9022
- if (!u.cancelled) throw n.value = Bd(e), t.value = "error", c(u), await l(u).catch(() => void 0), a === u && (a = void 0), e;
9050
+ if (!u.cancelled) throw n.value = qd(e), t.value = "error", c(u), await l(u).catch(() => void 0), a === u && (a = void 0), e;
9023
9051
  } finally {
9024
9052
  u.cancelled && c(u);
9025
9053
  }
@@ -9031,7 +9059,7 @@ function zd(e) {
9031
9059
  try {
9032
9060
  e.requested && await e.done?.catch(() => void 0), await l(e);
9033
9061
  } catch (e) {
9034
- throw n.value = Bd(e), e;
9062
+ throw n.value = qd(e), e;
9035
9063
  } finally {
9036
9064
  a === e && (a = void 0), t.value = n.value ? "error" : "idle";
9037
9065
  }
@@ -9054,16 +9082,16 @@ function zd(e) {
9054
9082
  setMuted: f
9055
9083
  };
9056
9084
  }
9057
- function Bd(e) {
9085
+ function qd(e) {
9058
9086
  return e instanceof Error ? e.message : String(e);
9059
9087
  }
9060
9088
  //#endregion
9061
9089
  //#region src/codex-theme.ts
9062
- function Vd(e, t = {}) {
9090
+ function Jd(e, t = {}) {
9063
9091
  let n = e.getAttribute("data-codex-theme"), r = /* @__PURE__ */ new Map(), i = t.mode ?? "system";
9064
9092
  e.setAttribute("data-codex-theme", i);
9065
9093
  for (let [n, i] of Object.entries(t.tokens ?? {})) {
9066
- let t = Hd(n);
9094
+ let t = Yd(n);
9067
9095
  r.has(t) || r.set(t, e.style.getPropertyValue(t)), i == null || !i.trim() ? e.style.removeProperty(t) : e.style.setProperty(t, i);
9068
9096
  }
9069
9097
  return () => {
@@ -9071,7 +9099,7 @@ function Vd(e, t = {}) {
9071
9099
  for (let [t, n] of r) n ? e.style.setProperty(t, n) : e.style.removeProperty(t);
9072
9100
  };
9073
9101
  }
9074
- function Hd(e) {
9102
+ function Yd(e) {
9075
9103
  let t = e.trim();
9076
9104
  if (t.startsWith("--codex-")) return t;
9077
9105
  let n = t.replace(/^--/, "").replace(/([a-z\d])([A-Z])/g, "$1-$2").replace(/[^a-zA-Z\d-]+/g, "-").replace(/^-+|-+$/g, "").toLowerCase();
@@ -9079,6 +9107,6 @@ function Hd(e) {
9079
9107
  return `--codex-${n}`;
9080
9108
  }
9081
9109
  //#endregion
9082
- export { co as CodexAnimatedDiffStat, na as CodexApprovalPrompt, Ms as CodexAttachmentBlock, Su as CodexCompactionMessage, Vi as CodexComposer, nn as CodexComposerActionMenu, zt as CodexComposerActiveModes, xr as CodexComposerAtMentionMenu, Dd as CodexComposerFileMentionMenu, en as CodexComposerMenu, Qt as CodexComposerMenuList, Pd as CodexComposerPluginMenu, Ft as CodexComposerSendButton, gs as CodexComposerShelf, Ir as CodexComposerSkillMenu, Qr as CodexComposerSlashMenu, an as CodexComposerVoiceButton, dn as CodexComposerVoiceField, Yn as CodexContextUsageIndicator, bs as CodexConversationHistoryLoader, cd as CodexConversationPane, bd as CodexConversationSidebar, Rs as CodexFoldTransition, Fs as CodexFollowUps, ns as CodexGoal, Ss as CodexIconButton, Ds as CodexImageLightbox, nc as CodexMediaBlock, ni as CodexMentionChip, _c as CodexMermaidBlock, Pu as CodexMessage, bu as CodexMessageActions, fu as CodexMessageBlock, Eu as CodexMessageEditor, Uu as CodexMessageList, Iu as CodexMessageTurn, tr as CodexModelReasoningSelector, Jo as CodexQuestionRequest, cs as CodexQueuedPrompt, us as CodexQueuedPrompts, oi as CodexRichTextEditor, Ru as CodexScrollToBottom, Dl as CodexToolCall, So as CodexToolCallTitle, Xo as CodexToolConfirmation, Pl as CodexToolGroup, lo as CodexToolIcon, qo as CodexToolUserInputRequest, ps as CodexTurnGitInfo, tu as CodexUserText, ru as CodexVisualizationBlock, lu as CodexWorkGroup, qu as CodexWorkbenchLayout, Vd as applyCodexTheme, Vt as approvalPresetOptions, Ot as codexCapabilities, kt as codexCommands, pn as codexConversationLinkFromHref, zr as commandDescription, ia as createCodexConversationPaneController, Id as createQueuedChatPrompt, Bt as defaultApprovalPreset, Gn as defaultCodexChatTranslate, Et as defaultCodexConversationPresentation, Rr as filterComposerCommands, ri as filterComposerMentionGroups, or as filterComposerPlugins, Cr as filterComposerSkills, ii as findComposerMention, Ei as getCodexGlobalHostCapabilities, Di as getCodexNativeRendererApi, Vl as humanizeMentionName, ki as ingestCodexAttachments, Ht as isApprovalPreset, Cc as languageForFilePath, fn as parseCodexEditorFileReference, Fl as parseCodexUserText, Oi as pickCodexAttachments, cr as pluginDescription, sr as pluginDisplayName, lr as pluginInsertText, ur as pluginMatchesMention, Or as promptSkillInputsFromText, Un as provideCodexChatTranslate, wi as provideCodexHostCapabilities, pl as provideCodexToolCallDetails, ul as provideCodexToolPresentation, Z as registerCodexToolTitlePresenter, Sc as renderCodeBlock, kc as renderMarkdown, ra as resolveCodexConversationPaneValue, Dt as resolveCodexConversationPresentation, Tr as skillDescription, wr as skillDisplayName, Er as skillInsertText, Dr as skillMatchesMention, qa as surfaceMessageToChatMessage, $ as toCodexChatMessage, Ka as toCodexChatMessages, Wn as useCodexChatTranslate, Pi as useCodexComposerVoice, Ti as useCodexHostCapabilities, zd as useCodexLiveChat, Rd as useCodexSurface, ml as useCodexToolCallDetails, dl as useCodexToolPresentation };
9110
+ export { co as CodexAnimatedDiffStat, na as CodexApprovalPrompt, zs as CodexAttachmentBlock, ku as CodexCompactionMessage, Vi as CodexComposer, nn as CodexComposerActionMenu, zt as CodexComposerActiveModes, xr as CodexComposerAtMentionMenu, os as CodexComposerDrawer, ds as CodexComposerDrawerRow, Pd as CodexComposerFileMentionMenu, en as CodexComposerMenu, Qt as CodexComposerMenuList, Vd as CodexComposerPluginMenu, Ft as CodexComposerSendButton, Cs as CodexComposerShelf, Ir as CodexComposerSkillMenu, Qr as CodexComposerSlashMenu, an as CodexComposerVoiceButton, dn as CodexComposerVoiceField, Yn as CodexContextUsageIndicator, Ds as CodexConversationHistoryLoader, hd as CodexConversationPane, Dd as CodexConversationSidebar, Gs as CodexFoldTransition, Hs as CodexFollowUps, ns as CodexGoal, ks as CodexIconButton, Ps as CodexImageLightbox, lc as CodexMediaBlock, ni as CodexMentionChip, wc as CodexMermaidBlock, Vu as CodexMessage, Du as CodexMessageActions, yu as CodexMessageBlock, Nu as CodexMessageEditor, Xu as CodexMessageList, Uu as CodexMessageTurn, tr as CodexModelReasoningSelector, Jo as CodexQuestionRequest, gs as CodexQueuedPrompt, _s as CodexQueuedPrompts, oi as CodexRichTextEditor, Gu as CodexScrollToBottom, Pl as CodexToolCall, So as CodexToolCallTitle, Xo as CodexToolConfirmation, Vl as CodexToolGroup, lo as CodexToolIcon, qo as CodexToolUserInputRequest, bs as CodexTurnGitInfo, cu as CodexUserText, uu as CodexVisualizationBlock, gu as CodexWorkGroup, ed as CodexWorkbenchLayout, Jd as applyCodexTheme, Vt as approvalPresetOptions, Ot as codexCapabilities, kt as codexCommands, pn as codexConversationLinkFromHref, zr as commandDescription, ia as createCodexConversationPaneController, Ud as createQueuedChatPrompt, Bt as defaultApprovalPreset, Gn as defaultCodexChatTranslate, Et as defaultCodexConversationPresentation, Rr as filterComposerCommands, ri as filterComposerMentionGroups, or as filterComposerPlugins, Cr as filterComposerSkills, ii as findComposerMention, Ei as getCodexGlobalHostCapabilities, Di as getCodexNativeRendererApi, Jl as humanizeMentionName, ki as ingestCodexAttachments, Ht as isApprovalPreset, Ac as languageForFilePath, fn as parseCodexEditorFileReference, Hl as parseCodexUserText, Oi as pickCodexAttachments, cr as pluginDescription, sr as pluginDisplayName, lr as pluginInsertText, ur as pluginMatchesMention, Or as promptSkillInputsFromText, Un as provideCodexChatTranslate, wi as provideCodexHostCapabilities, bl as provideCodexToolCallDetails, _l as provideCodexToolPresentation, Z as registerCodexToolTitlePresenter, kc as renderCodeBlock, Ic as renderMarkdown, ra as resolveCodexConversationPaneValue, Dt as resolveCodexConversationPresentation, Tr as skillDescription, wr as skillDisplayName, Er as skillInsertText, Dr as skillMatchesMention, qa as surfaceMessageToChatMessage, $ as toCodexChatMessage, Ka as toCodexChatMessages, Wn as useCodexChatTranslate, Pi as useCodexComposerVoice, Ti as useCodexHostCapabilities, Kd as useCodexLiveChat, Gd as useCodexSurface, xl as useCodexToolCallDetails, vl as useCodexToolPresentation };
9083
9111
 
9084
9112
  //# sourceMappingURL=index.js.map