@qredence/fleet 0.7.4 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +5 -4
  3. package/bin/fleet-prime.mjs +33 -6
  4. package/bin/prime-runtime.mjs +79 -0
  5. package/dist/runtime-manifest.json +32 -0
  6. package/dist/web/client/assets/DialogTitle-RY2UDuCY.js +1 -0
  7. package/dist/web/client/assets/FloatingPortal-XC0MCNnD.js +1 -0
  8. package/dist/web/client/assets/action-swap-BWRUNKQA.js +1 -0
  9. package/dist/web/client/assets/{alert-dialog-DtXvVhsF.js → alert-dialog-DGNvg0B1.js} +1 -1
  10. package/dist/web/client/assets/arrow-up-right-CG9RNk4p.js +1 -0
  11. package/dist/web/client/assets/{artifacts-panel-Bseg97yQ.js → artifacts-panel-BGXpKRJ7.js} +1 -1
  12. package/dist/web/client/assets/{badge-C--lf3bb.js → badge-DM06QVqB.js} +6 -6
  13. package/dist/web/client/assets/button-CWYjn8Zk.js +1 -0
  14. package/dist/web/client/assets/{card-Hngi3HGC.js → card-Dj1SnGUU.js} +1 -1
  15. package/dist/web/client/assets/{chat-command-palette-D_rm1r9d.js → chat-command-palette-PenyaZBw.js} +1 -1
  16. package/dist/web/client/assets/code-block-pKKmFZ5w.js +3 -0
  17. package/dist/web/client/assets/collapsible-Bk6zCsRX.js +1 -0
  18. package/dist/web/client/assets/{command-CmtCIDdH.js → command-imgUMV3r.js} +1 -1
  19. package/dist/web/client/assets/{create-project-dialog-m-9aoobN.js → create-project-dialog-C00d5yCq.js} +1 -1
  20. package/dist/web/client/assets/createBaseUIEventDetails-DIxvaz-Y.js +1 -0
  21. package/dist/web/client/assets/{dialog-Ddouieuu.js → dialog-zCNOQI63.js} +1 -1
  22. package/dist/web/client/assets/eye-iNSvs0UA.js +1 -0
  23. package/dist/web/client/assets/file-code-corner-BkDULqko.js +1 -0
  24. package/dist/web/client/assets/{fork-picker-dialog-DfGlB17w.js → fork-picker-dialog-Cgi48NnT.js} +1 -1
  25. package/dist/web/client/assets/globals-BuMuB_ea.css +2 -0
  26. package/dist/web/client/assets/{index-Bz5W4EOn.js → index-BqBdQGWs.js} +3 -3
  27. package/dist/web/client/assets/input-7g8_nw-Z.js +1 -0
  28. package/dist/web/client/assets/{input-group-EPMGh55u.js → input-group-Nq03Qums.js} +1 -1
  29. package/dist/web/client/assets/{ipython-tool-CMhnRVrC.js → ipython-tool-bieUhw9K.js} +1 -1
  30. package/dist/web/client/assets/markdown-CvBfbPCn.js +2 -0
  31. package/dist/web/client/assets/markdown-code-rFOkzN5N.js +4 -0
  32. package/dist/web/client/assets/{message-queue-Bg2MiJHM.js → message-queue-sSljtjYz.js} +1 -1
  33. package/dist/web/client/assets/{model-selector-list-BiU_7ivt.js → model-selector-list-Cp687pdm.js} +1 -1
  34. package/dist/web/client/assets/{notify-DhtmUPfE.js → notify-Cqdu6EV8.js} +1 -1
  35. package/dist/web/client/assets/{openui-renderer-MIB3JKYa.js → openui-renderer-BdYTcn-_.js} +50 -50
  36. package/dist/web/client/assets/{prompt-input-Dy-DSPqF.js → prompt-input-CoV1gTUQ.js} +1 -1
  37. package/dist/web/client/assets/{prompt-suggestions-CrpAiKeB.js → prompt-suggestions-CAY5JI-C.js} +1 -1
  38. package/dist/web/client/assets/provider-label-QrVOwKBO.js +1 -0
  39. package/dist/web/client/assets/reasoning-line-DGdPUMwT.js +1 -0
  40. package/dist/web/client/assets/rehype-katex-DITkIpVl.js +259 -0
  41. package/dist/web/client/assets/{repl-panel-DN5kZAcB.js → repl-panel-5xgkDXO5.js} +1 -1
  42. package/dist/web/client/assets/{resources-panel-DD6iWOF3.js → resources-panel-aJCKt9eF.js} +1 -1
  43. package/dist/web/client/assets/right-panel-registry-BaLZiKny.js +2 -0
  44. package/dist/web/client/assets/routes-BkFkhfO3.js +16 -0
  45. package/dist/web/client/assets/select-BhV4ikeN.js +1 -0
  46. package/dist/web/client/assets/session-activity-panel-Bc4-HSfb.js +1 -0
  47. package/dist/web/client/assets/session-reasoning-panel-CjJJK_bq.js +1 -0
  48. package/dist/web/client/assets/session-tool-renderer-C7mYeUOs.js +166 -0
  49. package/dist/web/client/assets/{session-tree-panel-BBwP_EK2.js → session-tree-panel-By9m9tGB.js} +1 -1
  50. package/dist/web/client/assets/settings-dialog-Dpt4Ha_m.js +2 -0
  51. package/dist/web/client/assets/shield-check-7HDd-2Fn.js +1 -0
  52. package/dist/web/client/assets/{skeleton-DNAr5ULI.js → skeleton-B_Lq2XFl.js} +1 -1
  53. package/dist/web/client/assets/{skeleton-loaders-B28mF4tJ.js → skeleton-loaders-DWc1eDL3.js} +1 -1
  54. package/dist/web/client/assets/sparkles-BwVa9zQJ.js +1 -0
  55. package/dist/web/client/assets/{spinner-CSBXk3Lo.js → spinner-B5TaKP7k.js} +1 -1
  56. package/dist/web/client/assets/{subagent-chat-panel-DhvBO4dQ.js → subagent-chat-panel-DsPmLZSf.js} +1 -1
  57. package/dist/web/client/assets/subagent-transcript-CNQ9wGk2.js +1 -0
  58. package/dist/web/client/assets/{subagents-panel-DRo8Xs6j.js → subagents-panel-gQ9BLfV3.js} +1 -1
  59. package/dist/web/client/assets/surfaces-BUjUJTyD.js +1 -0
  60. package/dist/web/client/assets/switch-C7Myu-Dt.js +1 -0
  61. package/dist/web/client/assets/toast-DlbKi6K-.js +1 -0
  62. package/dist/web/client/assets/tool-output-normalizer-CADgEiI4.js +4 -0
  63. package/dist/web/client/assets/tool-part-normalizer-CYK62WZM.js +4 -0
  64. package/dist/web/client/assets/tool-result-bjAGZ2qm.js +5 -0
  65. package/dist/web/client/assets/tool-timeline-eNqH1zj7.js +2 -0
  66. package/dist/web/client/assets/trace-IsV5RRvM.js +1 -0
  67. package/dist/web/client/assets/ui-preferences-B-PNDkyY.js +1 -0
  68. package/dist/web/client/assets/use-hover-capable-CLq8BADD.js +1 -0
  69. package/dist/web/client/assets/useBaseUiId-lKfDDIcw.js +1 -0
  70. package/dist/web/client/assets/useButton-CvcmqA2s.js +1 -0
  71. package/dist/web/client/assets/useRender-Bbk_fl72.js +1 -0
  72. package/dist/web/client/assets/{utils-CFDGLzf6.js → utils-oBThwhjm.js} +1 -1
  73. package/dist/web/client/assets/{workspace-panel-DdZutYnd.js → workspace-panel-Da5I4p_t.js} +1 -1
  74. package/dist/web/client/assets/workspace-path-nav-D-77sJ_A.js +2 -0
  75. package/dist/web/client/assets/wrench-BXX_Ah2s.js +1 -0
  76. package/dist/web/client/bundle-budget.json +6 -6
  77. package/dist/web/server/{_tanstack-start-manifest_v-YlngJGUa-YTWBGR7L.js → _tanstack-start-manifest_v-BiNPG4xt-BZTMSM2I.js} +33 -28
  78. package/dist/web/server/{artifacts-panel-COSC8o7j-GKW2HH2G.js → artifacts-panel-CqGBNU4q-UHNMC7PK.js} +23 -27
  79. package/dist/web/server/{chat-command-palette-CuOWdzkk-PKZQ5EZP.js → chat-command-palette-B94-zIEz-ES2ZB4ZF.js} +8 -10
  80. package/dist/web/server/{chunk-GLSR4ZI2.js → chunk-2FHYWKDN.js} +669 -833
  81. package/dist/web/server/{chunk-EBC7QORX.js → chunk-5GUEYYYO.js} +3680 -2098
  82. package/dist/web/server/{chunk-GLH2GWMG.js → chunk-7L5PCCYR.js} +411 -306
  83. package/dist/web/server/{chunk-KHHXJZK7.js → chunk-ABMGW6QH.js} +2784 -1662
  84. package/dist/web/server/{chunk-36CAMOVG.js → chunk-BAHZXA4D.js} +6 -6
  85. package/dist/web/server/{chunk-IN2ATSEG.js → chunk-CZLGB3NE.js} +2 -2
  86. package/dist/web/server/{chunk-WCKKN5BR.js → chunk-E6T36NM5.js} +347 -583
  87. package/dist/web/server/{chunk-ORCOCCER.js → chunk-EAKPTSWR.js} +4 -4
  88. package/dist/web/server/chunk-EL2JCDAM.js +270 -0
  89. package/dist/web/server/{chunk-6GTTTYSE.js → chunk-FB2QLQTN.js} +67 -73
  90. package/dist/web/server/{chunk-LLO4MNGE.js → chunk-K67IDUAI.js} +24 -26
  91. package/dist/web/server/{chunk-YU6RHHK6.js → chunk-LQM6QR7S.js} +10 -12
  92. package/dist/web/server/chunk-LTTBT3J7.js +129 -0
  93. package/dist/web/server/{chunk-TMQ3MT3D.js → chunk-OAYEN3JV.js} +2 -0
  94. package/dist/web/server/{chunk-ZUZPJNLY.js → chunk-OSPDNT7S.js} +829 -642
  95. package/dist/web/server/{chunk-XA7EOCHM.js → chunk-SGAQVAYL.js} +2 -2
  96. package/dist/web/server/chunk-SI5IQSG4.js +206 -0
  97. package/dist/web/server/{chunk-AKSDWYJY.js → chunk-SYS5FDNA.js} +5 -5
  98. package/dist/web/server/{chunk-QSM3BRMA.js → chunk-WSK55TKE.js} +169 -156
  99. package/dist/web/server/{chunk-BUKOEXE7.js → chunk-YQO36OP6.js} +2 -2
  100. package/dist/web/server/{create-project-dialog-0-arQpsX-ZELQKHS5.js → create-project-dialog-CFPX6Ihl-EO4XTINS.js} +12 -14
  101. package/dist/web/server/{dist-7G2NZPF4.js → dist-GQUZLXN5.js} +2 -2
  102. package/dist/web/server/{dist-E5637ZAY.js → dist-MN5NWCX6.js} +1 -1
  103. package/dist/web/server/{fork-picker-dialog-fj9p33Mq-I5SA3GLJ.js → fork-picker-dialog-B2RBFzoZ-R6GXPSPL.js} +6 -8
  104. package/dist/web/server/{markdown-CShfYRVO-RBTK7TRB.js → markdown-BvCfOB26-VDH4YOQD.js} +9 -6
  105. package/dist/web/server/{markdown-code-BDV_2b2T-6JYA5FWZ.js → markdown-code-SYc-BQvp-MR4FXT5C.js} +48 -9
  106. package/dist/web/server/{message-queue-BBC843IU-GY4ZIMM4.js → message-queue-D32rLiJo-HEBRGH5B.js} +6 -8
  107. package/dist/web/server/{model-selector-list-DE6aLNXt-LJZMCYOI.js → model-selector-list-DKzt_xEN-5ZPU6XDY.js} +8 -10
  108. package/dist/web/server/{openui-renderer-C3aqSKuS-PWLWJFYO.js → openui-renderer-CeVtOdYl-PY37PCJI.js} +12 -14
  109. package/dist/web/server/{prompt-suggestions-CpTK_fHV-UKJDTLVM.js → prompt-suggestions-CpTK_fHV-Q4ILLZKC.js} +1 -1
  110. package/dist/web/server/{rehype-katex-IDPYWU6M.js → rehype-katex-CYHGKI6Q.js} +490 -843
  111. package/dist/web/server/{repl-panel-1kSS1UGd-U64BPA7X.js → repl-panel-1kSS1UGd-DDM5ADGZ.js} +3 -3
  112. package/dist/web/server/{resources-panel-DWb0eGKa-K4EM3H7Y.js → resources-panel-S4NHlpz7-NF7WYYSR.js} +7 -9
  113. package/dist/web/server/{router-DZYr-9uT-AEXHEFXF.js → router-DVKxZik_-254GZAJW.js} +5 -6
  114. package/dist/web/server/{routes-vYxWRhis-AAZ73SNP.js → routes-BTxAklRp-UM7ZTLLP.js} +50 -30
  115. package/dist/web/server/server.js +2 -2
  116. package/dist/web/server/session-activity-panel-Bz2GrdMk-PCOXG46X.js +173 -0
  117. package/dist/web/server/session-reasoning-panel-CpiTdyQz-O3B5CDKS.js +62 -0
  118. package/dist/web/server/{session-tool-renderer-Dtt74Mts-7YYNSWRV.js → session-tool-renderer-BZiOxtt1-T3ZGAQKX.js} +10 -13
  119. package/dist/web/server/{session-tree-panel-HNl6R9VZ-4JUF34M7.js → session-tree-panel-CzkE0RFB-P4KWA7S2.js} +7 -9
  120. package/dist/web/server/{settings-dialog-DGZBA5Z_-6HYFMPNZ.js → settings-dialog-BUgVNpr1-THSYIOZL.js} +18 -21
  121. package/dist/web/server/{subagent-chat-panel-DuB4hqUk-LDCAJOCL.js → subagent-chat-panel-mw3kEFfK-CDYX7LST.js} +13 -16
  122. package/dist/web/server/{subagents-panel-wAvx3-Rs-L6UTDFUX.js → subagents-panel-2ZJfYrXG-NDJKHJHD.js} +15 -18
  123. package/dist/web/server/{workspace-panel-CPzJZwgv-YS7PTI5C.js → workspace-panel-xznrPDLt-QCJRZOF3.js} +7 -9
  124. package/package.json +2 -2
  125. package/dist/web/client/assets/DialogTitle-D-zqaHvF.js +0 -1
  126. package/dist/web/client/assets/FloatingPortal-73ZRZeD9.js +0 -1
  127. package/dist/web/client/assets/action-swap-BcFwS6is.js +0 -1
  128. package/dist/web/client/assets/button-BJZe4vNJ.js +0 -1
  129. package/dist/web/client/assets/chevron-up-CqeJYyZO.js +0 -1
  130. package/dist/web/client/assets/collapsible-DauSnbYp.js +0 -1
  131. package/dist/web/client/assets/createBaseUIEventDetails-DklXWq23.js +0 -1
  132. package/dist/web/client/assets/eye-Cs0lNChA.js +0 -1
  133. package/dist/web/client/assets/globals-C961mr-b.css +0 -2
  134. package/dist/web/client/assets/input-Def1xOZz.js +0 -1
  135. package/dist/web/client/assets/markdown-Big27m-v.js +0 -2
  136. package/dist/web/client/assets/markdown-code-7L4RiS50.js +0 -3
  137. package/dist/web/client/assets/provider-label-B_vy60P0.js +0 -1
  138. package/dist/web/client/assets/rehype-katex-A4PtQgTX.js +0 -259
  139. package/dist/web/client/assets/right-panel-registry-hKJN__3l.js +0 -2
  140. package/dist/web/client/assets/routes-C3h32Lj_.js +0 -16
  141. package/dist/web/client/assets/select-Buvv1tIo.js +0 -1
  142. package/dist/web/client/assets/session-reasoning-panel-DmEbXOrR.js +0 -1
  143. package/dist/web/client/assets/session-tool-renderer-Daol5fJw.js +0 -169
  144. package/dist/web/client/assets/settings-dialog-DYbx3xuq.js +0 -2
  145. package/dist/web/client/assets/sparkles-D_ANe-HY.js +0 -1
  146. package/dist/web/client/assets/subagent-transcript-Bx-rHni-.js +0 -1
  147. package/dist/web/client/assets/surfaces-B8xTOFeK.js +0 -1
  148. package/dist/web/client/assets/switch-CDfAwEvs.js +0 -1
  149. package/dist/web/client/assets/terminal-Ceucj7us.js +0 -1
  150. package/dist/web/client/assets/toast-9zXN-yVk.js +0 -1
  151. package/dist/web/client/assets/tool-part-normalizer-NbPs9kd1.js +0 -4
  152. package/dist/web/client/assets/tool-result-BccnO34D.js +0 -4
  153. package/dist/web/client/assets/tool-timeline-DlBZyd4j.js +0 -1
  154. package/dist/web/client/assets/ui-preferences-1YaENqef.js +0 -1
  155. package/dist/web/client/assets/use-hover-capable-MwFjBLZQ.js +0 -1
  156. package/dist/web/client/assets/workspace-path-nav-BRwuLsFl.js +0 -2
  157. package/dist/web/client/assets/wrench-BYnD147U.js +0 -1
  158. package/dist/web/server/chunk-CHSKEU3V.js +0 -166
  159. package/dist/web/server/chunk-OO7NBFQQ.js +0 -15
  160. package/dist/web/server/chunk-OXEAXEWD.js +0 -13
  161. package/dist/web/server/chunk-SIJVVYQT.js +0 -234
  162. package/dist/web/server/chunk-UQV2NU63.js +0 -163
  163. package/dist/web/server/chunk-VUBITQ5X.js +0 -653
  164. package/dist/web/server/session-reasoning-panel-XXU2yIOW-XXCKHISS.js +0 -192
  165. package/dist/web/server/tool-timeline-BKWsrZHK-3LGCOTPH.js +0 -12
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  Input$1
3
- } from "./chunk-EBC7QORX.js";
3
+ } from "./chunk-5GUEYYYO.js";
4
4
  import {
5
5
  Button$1
6
- } from "./chunk-ZUZPJNLY.js";
6
+ } from "./chunk-2FHYWKDN.js";
7
7
  import {
8
8
  cva
9
9
  } from "./chunk-FB3UHLLN.js";
10
10
  import {
11
11
  cn
12
- } from "./chunk-TMQ3MT3D.js";
12
+ } from "./chunk-OAYEN3JV.js";
13
13
 
14
- // web/app/dist/server/assets/input-group-Dk35f7BI.js
14
+ // web/app/dist/server/assets/input-group-b-f6twog.js
15
15
  import { jsx } from "react/jsx-runtime";
16
16
  function InputGroup({ className, ...props }) {
17
17
  return /* @__PURE__ */ jsx("div", {
@@ -0,0 +1,270 @@
1
+ import {
2
+ CodeBlock,
3
+ CodeBlockActions,
4
+ CodeBlockContent,
5
+ CodeBlockHeader,
6
+ CodeBlockTitle
7
+ } from "./chunk-LTTBT3J7.js";
8
+ import {
9
+ Button$1,
10
+ __exportAll
11
+ } from "./chunk-2FHYWKDN.js";
12
+ import {
13
+ Check,
14
+ Copy,
15
+ Download,
16
+ FileCodeCorner
17
+ } from "./chunk-7L5PCCYR.js";
18
+ import {
19
+ cn
20
+ } from "./chunk-OAYEN3JV.js";
21
+ import {
22
+ Xi
23
+ } from "./chunk-O7L7SF5Q.js";
24
+
25
+ // web/app/dist/server/assets/markdown-BvCfOB26.js
26
+ import { Fragment, Suspense, isValidElement, lazy, useMemo, useState } from "react";
27
+ import { jsx, jsxs } from "react/jsx-runtime";
28
+ var markdown_exports = /* @__PURE__ */ __exportAll({
29
+ Markdown: () => Markdown,
30
+ MarkdownFrame: () => MarkdownFrame,
31
+ createMarkdownComponents: () => createMarkdownComponents,
32
+ fixNumberedListBreaks: () => fixNumberedListBreaks,
33
+ normalizeCodeFenceLanguages: () => normalizeCodeFenceLanguages
34
+ });
35
+ var LazyHighlightedMarkdown = lazy(() => import("./markdown-code-SYc-BQvp-MR4FXT5C.js").then(({ HighlightedMarkdown }) => ({ default: HighlightedMarkdown })));
36
+ function fixNumberedListBreaks(text) {
37
+ return text.replace(/^(\d+)\.\s*\n+\s*\n*/gm, "$1. ");
38
+ }
39
+ var CODE_FENCE_LANGS = /* @__PURE__ */ new Set([
40
+ "bash",
41
+ "diff",
42
+ "html",
43
+ "js",
44
+ "json",
45
+ "jsx",
46
+ "md",
47
+ "markdown",
48
+ "py",
49
+ "python",
50
+ "sh",
51
+ "shell",
52
+ "text",
53
+ "ts",
54
+ "tsx",
55
+ "yml",
56
+ "yaml"
57
+ ]);
58
+ function normalizeCodeFenceLanguages(text) {
59
+ return text.replace(/```([^\n]*)/g, (_match, langRaw) => {
60
+ const lang = String(langRaw || "").trim().toLowerCase();
61
+ if (!lang) return "```";
62
+ const rawLanguage = lang.split(/\s+/)[0];
63
+ const normalized = rawLanguage === "py" ? "python" : rawLanguage;
64
+ return CODE_FENCE_LANGS.has(normalized) ? `\`\`\`${normalized}` : "```text";
65
+ });
66
+ }
67
+ var SAFE_HREF_PATTERN = /^(https?:|mailto:)/i;
68
+ function containsBlockMarkdownChild(value, imageIsSoleChild) {
69
+ if (!isValidElement(value)) return false;
70
+ const props = value.props;
71
+ if (typeof props !== "object" || props === null) return false;
72
+ const node = "node" in props ? props.node : void 0;
73
+ const tagName = typeof node === "object" && node !== null && "tagName" in node ? node.tagName : void 0;
74
+ if (tagName === "img") return imageIsSoleChild;
75
+ if (tagName === "code" && "data-block" in props) return true;
76
+ return "children" in props && containsBlockMarkdownChild(props.children, imageIsSoleChild);
77
+ }
78
+ function createMarkdownComponents(codeControls = true, CodeContent) {
79
+ return {
80
+ h1: ({ children, ...props }) => /* @__PURE__ */ jsx("h1", {
81
+ ...props,
82
+ children
83
+ }),
84
+ h2: ({ children, ...props }) => /* @__PURE__ */ jsx("h2", {
85
+ ...props,
86
+ children
87
+ }),
88
+ h3: ({ children, ...props }) => /* @__PURE__ */ jsx("h3", {
89
+ ...props,
90
+ children
91
+ }),
92
+ h4: ({ children, ...props }) => /* @__PURE__ */ jsx("h4", {
93
+ ...props,
94
+ children
95
+ }),
96
+ p: ({ children, node, ...props }) => {
97
+ const child = (Array.isArray(children) ? children : [children]).filter((value) => value != null && value !== "");
98
+ if (child.some((value) => containsBlockMarkdownChild(value, child.length === 1))) return /* @__PURE__ */ jsx(Fragment, { children });
99
+ return /* @__PURE__ */ jsx("p", {
100
+ ...props,
101
+ children
102
+ });
103
+ },
104
+ ul: ({ children, ...props }) => /* @__PURE__ */ jsx("ul", {
105
+ ...props,
106
+ children
107
+ }),
108
+ ol: ({ children, ...props }) => /* @__PURE__ */ jsx("ol", {
109
+ ...props,
110
+ children
111
+ }),
112
+ li: ({ children, ...props }) => /* @__PURE__ */ jsx("li", {
113
+ ...props,
114
+ children
115
+ }),
116
+ strong: ({ children, ...props }) => /* @__PURE__ */ jsx("strong", {
117
+ ...props,
118
+ children
119
+ }),
120
+ a: ({ href, children, ...props }) => {
121
+ if (typeof href !== "string" || !SAFE_HREF_PATTERN.test(href)) return /* @__PURE__ */ jsx("span", { children });
122
+ const isExternal = href.startsWith("http");
123
+ return /* @__PURE__ */ jsx("a", {
124
+ ...props,
125
+ href,
126
+ target: isExternal ? "_blank" : void 0,
127
+ rel: isExternal ? "noopener noreferrer" : void 0,
128
+ children
129
+ });
130
+ },
131
+ blockquote: ({ children, ...props }) => /* @__PURE__ */ jsx("blockquote", {
132
+ ...props,
133
+ children
134
+ }),
135
+ pre: ({ children, node }) => {
136
+ const codeChild = (Array.isArray(children) ? children : [children]).find(isValidElement);
137
+ const codeProps = codeChild && typeof codeChild.props === "object" ? codeChild.props : void 0;
138
+ const nodeCode = node?.children.find((child) => child.type === "element" && child.tagName === "code");
139
+ const classNames = (codeProps && "className" in codeProps ? codeProps.className : void 0) ?? (nodeCode?.type === "element" ? String(nodeCode.properties.className ?? "") : void 0);
140
+ const language = (Array.isArray(classNames) ? classNames.join(" ") : String(classNames ?? "")).match(/(?:^|\s)language-([\w-]+)/)?.[1] ?? "text";
141
+ const rawContent = codeChild && typeof codeChild.props === "object" && codeChild.props !== null && "children" in codeChild.props ? codeChild.props.children : children;
142
+ const code = textContent(rawContent);
143
+ return /* @__PURE__ */ jsx(MarkdownCodeBlock, {
144
+ code,
145
+ content: CodeContent ? /* @__PURE__ */ jsx(CodeContent, {
146
+ code,
147
+ language
148
+ }) : rawContent,
149
+ language,
150
+ codeControls
151
+ });
152
+ },
153
+ hr: ({ ...props }) => /* @__PURE__ */ jsx("hr", { ...props }),
154
+ table: ({ children, ...props }) => /* @__PURE__ */ jsx("div", {
155
+ className: "typeset-scroll",
156
+ children: /* @__PURE__ */ jsx("table", {
157
+ ...props,
158
+ children
159
+ })
160
+ }),
161
+ th: ({ children, ...props }) => /* @__PURE__ */ jsx("th", {
162
+ ...props,
163
+ children
164
+ }),
165
+ td: ({ children, ...props }) => /* @__PURE__ */ jsx("td", {
166
+ ...props,
167
+ children
168
+ })
169
+ };
170
+ }
171
+ function textContent(value) {
172
+ if (typeof value === "string" || typeof value === "number") return String(value);
173
+ if (Array.isArray(value)) return value.map(textContent).join("");
174
+ if (isValidElement(value) && typeof value.props === "object" && value.props !== null && "children" in value.props) return textContent(value.props.children);
175
+ return "";
176
+ }
177
+ function MarkdownCodeBlock({ code, content, language, codeControls }) {
178
+ const [copied, setCopied] = useState(false);
179
+ const copy = () => {
180
+ navigator.clipboard?.writeText(code).then(() => {
181
+ setCopied(true);
182
+ window.setTimeout(() => setCopied(false), 1600);
183
+ }, () => {
184
+ });
185
+ };
186
+ const download = () => {
187
+ const blobUrl = URL.createObjectURL(new Blob([code], { type: "text/plain;charset=utf-8" }));
188
+ const anchor = document.createElement("a");
189
+ anchor.href = blobUrl;
190
+ const normalizedLanguage = language.trim().toLowerCase();
191
+ anchor.download = `code.${{
192
+ python: "py",
193
+ markdown: "md",
194
+ text: "txt"
195
+ }[normalizedLanguage] ?? normalizedLanguage}`;
196
+ anchor.click();
197
+ window.setTimeout(() => URL.revokeObjectURL(blobUrl), 1e3);
198
+ };
199
+ return /* @__PURE__ */ jsxs(CodeBlock, {
200
+ className: "my-3 bg-muted/60",
201
+ children: [/* @__PURE__ */ jsxs(CodeBlockHeader, {
202
+ className: "h-9 gap-2 border-b border-foreground/[0.06] px-3 pt-0",
203
+ children: [
204
+ /* @__PURE__ */ jsx(FileCodeCorner, {
205
+ "aria-hidden": "true",
206
+ className: "size-3.5 shrink-0 text-muted-foreground/70"
207
+ }),
208
+ /* @__PURE__ */ jsx(CodeBlockTitle, {
209
+ className: "font-mono text-xs text-muted-foreground",
210
+ children: language
211
+ }),
212
+ codeControls ? /* @__PURE__ */ jsxs(CodeBlockActions, {
213
+ className: "-my-0",
214
+ children: [/* @__PURE__ */ jsx(Button$1, {
215
+ type: "button",
216
+ variant: "ghost",
217
+ size: "icon-xs",
218
+ "aria-label": copied ? "Copied" : "Copy code",
219
+ onClick: copy,
220
+ children: copied ? /* @__PURE__ */ jsx(Check, {}) : /* @__PURE__ */ jsx(Copy, {})
221
+ }), /* @__PURE__ */ jsx(Button$1, {
222
+ type: "button",
223
+ variant: "ghost",
224
+ size: "icon-xs",
225
+ "aria-label": "Download code",
226
+ onClick: download,
227
+ children: /* @__PURE__ */ jsx(Download, {})
228
+ })]
229
+ }) : null
230
+ ]
231
+ }), /* @__PURE__ */ jsx(CodeBlockContent, {
232
+ className: "max-h-[min(60vh,28rem)] border-t border-foreground/[0.06] px-3 py-3 text-xs leading-relaxed",
233
+ children: content
234
+ })]
235
+ });
236
+ }
237
+ function MarkdownFrame({ children, className }) {
238
+ return /* @__PURE__ */ jsx("div", {
239
+ className: cn("typeset typeset-chat", "overflow-hidden wrap-break-word", className),
240
+ children
241
+ });
242
+ }
243
+ function PlainMarkdown({ content, className, codeControls }) {
244
+ const safeContent = useMemo(() => normalizeCodeFenceLanguages(fixNumberedListBreaks(content)), [content]);
245
+ const components = useMemo(() => createMarkdownComponents(codeControls !== false), [codeControls]);
246
+ return /* @__PURE__ */ jsx(MarkdownFrame, {
247
+ className,
248
+ children: /* @__PURE__ */ jsx(Xi, {
249
+ components,
250
+ controls: { code: false },
251
+ children: safeContent
252
+ })
253
+ });
254
+ }
255
+ function Markdown(props) {
256
+ if (props.isStreaming || !props.content.includes("```")) return /* @__PURE__ */ jsx(PlainMarkdown, { ...props });
257
+ return /* @__PURE__ */ jsx(Suspense, {
258
+ fallback: /* @__PURE__ */ jsx(PlainMarkdown, { ...props }),
259
+ children: /* @__PURE__ */ jsx(LazyHighlightedMarkdown, { ...props })
260
+ });
261
+ }
262
+
263
+ export {
264
+ markdown_exports,
265
+ fixNumberedListBreaks,
266
+ normalizeCodeFenceLanguages,
267
+ createMarkdownComponents,
268
+ MarkdownFrame,
269
+ Markdown
270
+ };
@@ -1,9 +1,9 @@
1
- import {
2
- SessionToolRenderer
3
- } from "./chunk-WCKKN5BR.js";
4
1
  import {
5
2
  ToolTimeline
6
- } from "./chunk-UQV2NU63.js";
3
+ } from "./chunk-SI5IQSG4.js";
4
+ import {
5
+ SessionToolRenderer
6
+ } from "./chunk-E6T36NM5.js";
7
7
  import {
8
8
  Message,
9
9
  MessageBubble,
@@ -11,6 +11,14 @@ import {
11
11
  MessageContent,
12
12
  MessageScroller,
13
13
  SessionGenerativeTextRenderer,
14
+ Trace,
15
+ TraceCollapsible,
16
+ TraceCollapsibleContent,
17
+ TraceCollapsibleTrigger,
18
+ TraceDescription,
19
+ TraceIcon,
20
+ TraceLine,
21
+ TraceTitle,
14
22
  UserMessage,
15
23
  VirtualizedTurnList,
16
24
  buildAssistantElements,
@@ -20,23 +28,22 @@ import {
20
28
  orderedRlmChildren,
21
29
  rlmStatusIcon,
22
30
  transcriptStatus
23
- } from "./chunk-EBC7QORX.js";
31
+ } from "./chunk-5GUEYYYO.js";
24
32
  import {
25
33
  Button$1
26
- } from "./chunk-ZUZPJNLY.js";
34
+ } from "./chunk-2FHYWKDN.js";
27
35
  import {
28
36
  Bot,
29
- ChevronDown,
30
37
  CircleAlert,
31
38
  CircleCheck,
32
39
  LoaderCircle,
33
40
  RefreshCw
34
- } from "./chunk-GLH2GWMG.js";
41
+ } from "./chunk-7L5PCCYR.js";
35
42
  import {
36
43
  cn
37
- } from "./chunk-TMQ3MT3D.js";
44
+ } from "./chunk-OAYEN3JV.js";
38
45
 
39
- // web/app/dist/server/assets/subagent-transcript-CShZljH2.js
46
+ // web/app/dist/server/assets/subagent-transcript-NGsBu9KY.js
40
47
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
41
48
  import { jsx, jsxs } from "react/jsx-runtime";
42
49
  function SubagentList({ children, tree, className }) {
@@ -44,62 +51,46 @@ function SubagentList({ children, tree, className }) {
44
51
  const active = agents.some((child) => child.status === "queued" || child.status === "running" || child.status === "recovering");
45
52
  const [open, setOpen] = useState(active);
46
53
  if (agents.length === 0) return null;
47
- return /* @__PURE__ */ jsxs("section", {
48
- className: cn("mt-2 rounded-xl border border-border/60 bg-muted/20", className),
49
- children: [/* @__PURE__ */ jsxs("button", {
50
- type: "button",
51
- "aria-expanded": open || active,
52
- onClick: () => setOpen((current) => !current),
53
- className: "flex w-full items-center gap-2 px-3 py-2 text-left text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
54
- children: [
55
- active ? /* @__PURE__ */ jsx(LoaderCircle, { className: "size-3.5 animate-spin text-primary" }) : /* @__PURE__ */ jsx(CircleCheck, { className: "size-3.5 text-success" }),
56
- /* @__PURE__ */ jsx("span", {
57
- className: "flex-1 font-medium",
58
- children: active ? "Subagents working" : "Subagents completed"
59
- }),
60
- /* @__PURE__ */ jsx("span", {
61
- className: "text-xs tabular-nums text-muted-foreground",
62
- children: agents.length
63
- }),
64
- /* @__PURE__ */ jsx(ChevronDown, { className: cn("size-3.5 text-muted-foreground transition-transform", (open || active) && "rotate-180") })
65
- ]
66
- }), open || active ? /* @__PURE__ */ jsx("div", {
67
- className: "space-y-1 border-t border-border/50 px-3 py-2",
68
- children: agents.map((child) => /* @__PURE__ */ jsxs("div", {
69
- className: "flex min-w-0 items-start gap-2",
70
- style: { paddingLeft: `${Math.max(0, child.depth ?? 0) * 12}px` },
71
- children: [
72
- /* @__PURE__ */ jsx("span", {
73
- className: "mt-0.5 shrink-0",
74
- children: rlmStatusIcon(child.status)
75
- }),
76
- /* @__PURE__ */ jsxs("div", {
77
- className: "min-w-0 flex-1",
78
- children: [/* @__PURE__ */ jsxs("div", {
79
- className: "flex min-w-0 items-baseline gap-2",
80
- children: [/* @__PURE__ */ jsx("span", {
81
- className: "truncate text-sm text-foreground/85",
82
- children: child.label
83
- }), child.model ? /* @__PURE__ */ jsx("span", {
84
- className: "truncate font-mono text-micro text-muted-foreground",
85
- children: child.model
86
- }) : null]
87
- }), child.answerPreview || child.progressNote || child.activity?.toolName || child.error ? /* @__PURE__ */ jsx("p", {
88
- className: "truncate text-xs text-muted-foreground",
89
- children: child.error ?? child.answerPreview ?? child.progressNote ?? child.activity?.toolName
90
- }) : null]
91
- }),
92
- /* @__PURE__ */ jsx("span", {
93
- className: "shrink-0 text-micro capitalize text-muted-foreground",
94
- children: child.status
95
- })
96
- ]
97
- }, child.id))
98
- }) : null]
54
+ return /* @__PURE__ */ jsx(Trace, {
55
+ className: cn("mt-2", className),
56
+ "data-testid": "subagent-trace",
57
+ children: /* @__PURE__ */ jsxs(TraceCollapsible, {
58
+ open: open || active,
59
+ onOpenChange: setOpen,
60
+ children: [/* @__PURE__ */ jsx(TraceCollapsibleTrigger, {
61
+ "aria-label": active ? "Subagents working" : "Subagents completed",
62
+ children: /* @__PURE__ */ jsxs(TraceLine, {
63
+ status: active ? "running" : void 0,
64
+ children: [
65
+ /* @__PURE__ */ jsx(TraceIcon, { children: active ? /* @__PURE__ */ jsx(LoaderCircle, { className: "animate-spin" }) : /* @__PURE__ */ jsx(CircleCheck, {}) }),
66
+ /* @__PURE__ */ jsx(TraceTitle, { children: active ? "Subagents working" : "Subagents completed" }),
67
+ /* @__PURE__ */ jsx(TraceDescription, { children: agents.length })
68
+ ]
69
+ })
70
+ }), /* @__PURE__ */ jsx(TraceCollapsibleContent, { children: /* @__PURE__ */ jsx(Trace, {
71
+ className: "gap-1",
72
+ children: agents.map((child) => /* @__PURE__ */ jsxs(TraceLine, {
73
+ style: { paddingLeft: `${Math.max(0, child.depth ?? 0) * 12}px` },
74
+ children: [
75
+ /* @__PURE__ */ jsx(TraceIcon, { children: rlmStatusIcon(child.status) }),
76
+ /* @__PURE__ */ jsx(TraceTitle, { children: child.label }),
77
+ child.model ? /* @__PURE__ */ jsx(TraceDescription, { children: child.model }) : null,
78
+ /* @__PURE__ */ jsx(TraceDescription, {
79
+ className: "capitalize",
80
+ children: child.status
81
+ }),
82
+ child.error || child.answerPreview || child.progressNote || child.activity?.toolName ? /* @__PURE__ */ jsx(TraceDescription, {
83
+ className: "max-w-56 truncate",
84
+ children: child.error || child.answerPreview || child.progressNote || child.activity?.toolName
85
+ }) : null
86
+ ]
87
+ }, child.id))
88
+ }) })]
89
+ })
99
90
  });
100
91
  }
101
- function SubagentTurnView({ turn, isLast, isStreaming, artifacts, presentation }) {
102
- const assistantElements = useMemo(() => turn.assistants.flatMap((message, index) => buildAssistantElements(normalizeAssistantToolParts(message.parts ?? []), {
92
+ function SubagentTurnView({ turn, isLast, isStreaming, presentation, artifacts }) {
93
+ const assistantElements = useMemo(() => turn.assistants.flatMap((message, index) => buildAssistantElements(normalizeAssistantToolParts((message.parts ?? []).filter((part) => part.type !== "tool-FleetReasoning" && part.type !== "tool-Thinking")), {
103
94
  messageId: message.id,
104
95
  isLast: isLast && index === turn.assistants.length - 1,
105
96
  isStreaming,
@@ -124,15 +115,15 @@ function SubagentTurnView({ turn, isLast, isStreaming, artifacts, presentation }
124
115
  children: /* @__PURE__ */ jsx(MessageContent, { children: /* @__PURE__ */ jsx(MessageBubble, {
125
116
  variant: "ghost",
126
117
  children: /* @__PURE__ */ jsxs(MessageBubbleContent, { children: [
127
- isLast ? /* @__PURE__ */ jsx(ToolTimeline, {
128
- messages: turn.assistants,
129
- artifacts,
130
- streaming: isStreaming
131
- }) : null,
132
118
  /* @__PURE__ */ jsx("div", {
133
119
  className: "flex flex-col gap-3",
134
120
  children: assistantElements
135
121
  }),
122
+ isLast && artifacts.length > 0 ? /* @__PURE__ */ jsx(ToolTimeline, {
123
+ messages: [],
124
+ artifacts,
125
+ streaming: isStreaming
126
+ }) : null,
136
127
  isLast && presentation ? /* @__PURE__ */ jsx(SubagentList, {
137
128
  tree: presentation.rlmTree,
138
129
  children: presentation.rlmChildren
@@ -149,7 +140,10 @@ function SubagentTranscriptView({ child, parentSessionId, transcript, onRefresh,
149
140
  const turns = useMemo(() => transcript?.status !== "loading" ? groupMessages(transcript?.messages ?? []) : [], [transcript]);
150
141
  const childStatus = statusOverride ?? transcriptStatus(child);
151
142
  const artifactRuns = useMemo(() => transcript?.status !== "loading" ? derivePrimeAgentArtifactRuns(transcript?.messages ?? [], transcript?.presentation, childStatus) : [], [childStatus, transcript]);
152
- const artifacts = useMemo(() => artifactRuns.flatMap((run) => run.artifacts), [artifactRuns]);
143
+ const artifactOnlyEvents = useMemo(() => {
144
+ const toolIds = new Set((transcript?.messages ?? []).flatMap((message) => message.parts.flatMap((part) => "toolCallId" in part && part.toolCallId ? [part.toolCallId] : [])));
145
+ return artifactRuns.flatMap((run) => run.artifacts).filter((artifact) => !artifact.sourceToolCallId || !toolIds.has(artifact.sourceToolCallId));
146
+ }, [artifactRuns, transcript]);
153
147
  const presentation = transcript?.presentation;
154
148
  const renderSubagentTurn = useCallback((turn, index) => {
155
149
  const isLast = index === turns.length - 1;
@@ -157,11 +151,11 @@ function SubagentTranscriptView({ child, parentSessionId, transcript, onRefresh,
157
151
  turn,
158
152
  isLast,
159
153
  isStreaming: isLast && childStatus === "streaming",
160
- artifacts: isLast ? artifacts : [],
161
- presentation: isLast ? presentation : void 0
154
+ presentation: isLast ? presentation : void 0,
155
+ artifacts: isLast ? artifactOnlyEvents : []
162
156
  });
163
157
  }, [
164
- artifacts,
158
+ artifactOnlyEvents,
165
159
  childStatus,
166
160
  presentation,
167
161
  turns.length
@@ -5,7 +5,7 @@ import {
5
5
  CardHeader,
6
6
  CardTitle,
7
7
  validateAndNormalizeOpenUIHtmlArtifact
8
- } from "./chunk-KHHXJZK7.js";
8
+ } from "./chunk-ABMGW6QH.js";
9
9
  import {
10
10
  Alert,
11
11
  AlertDescription,
@@ -13,7 +13,7 @@ import {
13
13
  Field,
14
14
  FieldLabel,
15
15
  Switch$1
16
- } from "./chunk-YU6RHHK6.js";
16
+ } from "./chunk-LQM6QR7S.js";
17
17
  import {
18
18
  Combination_default,
19
19
  Dialog,
@@ -42,9 +42,6 @@ import {
42
42
  useId,
43
43
  useLayoutEffect2
44
44
  } from "./chunk-BC4GIC2P.js";
45
- import {
46
- isSafeExternalUrl
47
- } from "./chunk-OXEAXEWD.js";
48
45
  import {
49
46
  refractor
50
47
  } from "./chunk-3L5VHELG.js";
@@ -58,11 +55,11 @@ import {
58
55
  Select$1,
59
56
  UiErrorBoundary,
60
57
  encodeOpenPanelActionMessage,
58
+ isSafeExternalUrl,
61
59
  segmentOpenUIContent,
62
60
  useRegisteredLabelId
63
- } from "./chunk-EBC7QORX.js";
61
+ } from "./chunk-5GUEYYYO.js";
64
62
  import {
65
- Button$1,
66
63
  OpenPanelActionSchema,
67
64
  RightPanelIdSchema,
68
65
  WorkspaceRelativePathSchema,
@@ -78,15 +75,7 @@ import {
78
75
  size,
79
76
  useFloating,
80
77
  visuallyHidden
81
- } from "./chunk-ZUZPJNLY.js";
82
- import {
83
- formatErrorMessage_default,
84
- useRenderElement
85
- } from "./chunk-GLSR4ZI2.js";
86
- import {
87
- ChevronDown,
88
- ChevronUp
89
- } from "./chunk-GLH2GWMG.js";
78
+ } from "./chunk-OSPDNT7S.js";
90
79
  import {
91
80
  X
92
81
  } from "./chunk-QNIQRU7H.js";
@@ -188,10 +177,19 @@ import {
188
177
  } from "./chunk-LABI53FQ.js";
189
178
  import {
190
179
  Markdown
191
- } from "./chunk-CHSKEU3V.js";
180
+ } from "./chunk-EL2JCDAM.js";
181
+ import {
182
+ Button$1,
183
+ formatErrorMessage_default,
184
+ useRenderElement
185
+ } from "./chunk-2FHYWKDN.js";
186
+ import {
187
+ ChevronDown,
188
+ ChevronUp
189
+ } from "./chunk-7L5PCCYR.js";
192
190
  import {
193
191
  cn
194
- } from "./chunk-TMQ3MT3D.js";
192
+ } from "./chunk-OAYEN3JV.js";
195
193
  import {
196
194
  ACTION_STEPS,
197
195
  BuiltinActionType,
@@ -213,7 +211,7 @@ import {
213
211
  useSetFieldValue,
214
212
  useStateField,
215
213
  useTriggerAction
216
- } from "./chunk-AKSDWYJY.js";
214
+ } from "./chunk-SYS5FDNA.js";
217
215
  import {
218
216
  factorySpace,
219
217
  findAndReplace,
@@ -10886,7 +10884,7 @@ var require_react_is = __commonJS({
10886
10884
  }
10887
10885
  });
10888
10886
 
10889
- // web/app/dist/server/assets/openui-renderer-C3aqSKuS.js
10887
+ // web/app/dist/server/assets/openui-renderer-CeVtOdYl.js
10890
10888
  import * as React$1 from "react";
10891
10889
  import { createContext as createContext21, useCallback as useCallback24, useContext as useContext21, useEffect as useEffect40, useId as useId5, useMemo as useMemo25, useRef as useRef45, useState as useState35 } from "react";
10892
10890
  import { Fragment as Fragment$12, jsx as jsx25, jsxs as jsxs9 } from "react/jsx-runtime";
@@ -11887,7 +11885,7 @@ var Header = AccordionHeader;
11887
11885
  var Trigger2 = AccordionTrigger;
11888
11886
  var Content2 = AccordionContent;
11889
11887
 
11890
- // node_modules/.pnpm/@openuidev+react-ui@0.17.0_@openuidev+react-headless@0.16.3_react@19.3.0_zustand@4.5.7__76946c1c8b40524ee49331bf4dd61cb0/node_modules/@openuidev/react-ui/dist/index.mjs
11888
+ // node_modules/.pnpm/@openuidev+react-ui@0.17.0_@openuidev+react-headless@0.16.3_react@19.3.0_zustand@4.5.7__f1e0452be3b1f3507cb5542b34080713/node_modules/@openuidev/react-ui/dist/index.mjs
11891
11889
  import React55, { Children, Component, Fragment as Fragment8, cloneElement, createContext as createContext4, createElement as createElement3, forwardRef as forwardRef21, isValidElement, memo as memo2, useCallback as useCallback13, useContext as useContext4, useEffect as useEffect19, useId as useId2, useImperativeHandle, useInsertionEffect, useLayoutEffect as useLayoutEffect3, useMemo as useMemo9, useRef as useRef22, useState as useState20, useSyncExternalStore } from "react";
11892
11890
  import { Fragment as Fragment$1, jsx as jsx24, jsxs as jsxs8 } from "react/jsx-runtime";
11893
11891
 
@@ -18497,7 +18495,7 @@ function defaultUrlTransform(value) {
18497
18495
  return "";
18498
18496
  }
18499
18497
 
18500
- // node_modules/.pnpm/@openuidev+react-ui@0.17.0_@openuidev+react-headless@0.16.3_react@19.3.0_zustand@4.5.7__76946c1c8b40524ee49331bf4dd61cb0/node_modules/@openuidev/react-ui/dist/index.mjs
18498
+ // node_modules/.pnpm/@openuidev+react-ui@0.17.0_@openuidev+react-headless@0.16.3_react@19.3.0_zustand@4.5.7__f1e0452be3b1f3507cb5542b34080713/node_modules/@openuidev/react-ui/dist/index.mjs
18501
18499
  var import_prism3 = __toESM(require_prism2(), 1);
18502
18500
 
18503
18501
  // node_modules/.pnpm/react-syntax-highlighter@16.1.1_react@19.3.0/node_modules/react-syntax-highlighter/dist/esm/highlight.js
@@ -19143,7 +19141,7 @@ var highlighter = highlight_default(refractor, prism_default);
19143
19141
  highlighter.supportedLanguages = supported_languages_default;
19144
19142
  var prism_default2 = highlighter;
19145
19143
 
19146
- // node_modules/.pnpm/@openuidev+react-ui@0.17.0_@openuidev+react-headless@0.16.3_react@19.3.0_zustand@4.5.7__76946c1c8b40524ee49331bf4dd61cb0/node_modules/@openuidev/react-ui/dist/index.mjs
19144
+ // node_modules/.pnpm/@openuidev+react-ui@0.17.0_@openuidev+react-headless@0.16.3_react@19.3.0_zustand@4.5.7__f1e0452be3b1f3507cb5542b34080713/node_modules/@openuidev/react-ui/dist/index.mjs
19147
19145
  import { createPortal as createPortal2 } from "react-dom";
19148
19146
 
19149
19147
  // node_modules/.pnpm/@radix-ui+react-dropdown-menu@2.1.24_@types+react-dom@19.3.0_@types+react@19.3.0__@type_7d49998c05ab8caaa25682aaeda077f5/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs
@@ -36907,7 +36905,7 @@ function remarkMath(options) {
36907
36905
  toMarkdownExtensions.push(mathToMarkdown(settings));
36908
36906
  }
36909
36907
 
36910
- // node_modules/.pnpm/@openuidev+react-ui@0.17.0_@openuidev+react-headless@0.16.3_react@19.3.0_zustand@4.5.7__76946c1c8b40524ee49331bf4dd61cb0/node_modules/@openuidev/react-ui/dist/index.mjs
36908
+ // node_modules/.pnpm/@openuidev+react-ui@0.17.0_@openuidev+react-headless@0.16.3_react@19.3.0_zustand@4.5.7__f1e0452be3b1f3507cb5542b34080713/node_modules/@openuidev/react-ui/dist/index.mjs
36911
36909
  var variantMap$7 = {
36912
36910
  clear: "openui-accordion-clear",
36913
36911
  card: "openui-accordion-card",
@@ -52055,7 +52053,7 @@ var TextContentWrapper = memo2((props) => {
52055
52053
  const [rehypeKatex, setRehypeKatex] = useState20(null);
52056
52054
  useEffect19(() => {
52057
52055
  let cancelled2 = false;
52058
- import("./rehype-katex-IDPYWU6M.js").then((m) => {
52056
+ import("./rehype-katex-CYHGKI6Q.js").then((m) => {
52059
52057
  if (!cancelled2) setRehypeKatex(() => m.default);
52060
52058
  });
52061
52059
  return () => {
@@ -79916,7 +79914,7 @@ var Separator4 = /* @__PURE__ */ React114.forwardRef(function SeparatorComponent
79916
79914
  });
79917
79915
  if (process.env.NODE_ENV !== "production") Separator4.displayName = "Separator";
79918
79916
 
79919
- // web/app/dist/server/assets/openui-renderer-C3aqSKuS.js
79917
+ // web/app/dist/server/assets/openui-renderer-CeVtOdYl.js
79920
79918
  var OpenUIArtifactContext = createContext21({ artifactIndex: 0 });
79921
79919
  function OpenUIArtifactProvider({ children, value }) {
79922
79920
  return /* @__PURE__ */ jsx25(OpenUIArtifactContext.Provider, {