@qredence/fleet 0.5.10 → 0.5.11

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 (103) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/web/client/assets/agent-activity-CwMDU7aP.js +1 -0
  3. package/dist/web/client/assets/artifacts-panel-CQmFEF_H.js +1 -0
  4. package/dist/web/client/assets/{chat-command-palette-DfYSPPXI.js → chat-command-palette-CmHTS3rs.js} +1 -1
  5. package/dist/web/client/assets/{chat-C8XDWWXz.js → chat-yh02zgA7.js} +1 -1
  6. package/dist/web/client/assets/{citations-BQ_pr_9_.js → citations-C_tPOJE_.js} +1 -1
  7. package/dist/web/client/assets/{fleet-message-queue-zWM5-y18.js → fleet-message-queue-DUz6Hfrf.js} +1 -1
  8. package/dist/web/client/assets/{fleet-pi-tool-renderer-AJoMbXBa.js → fleet-pi-tool-renderer-BEDIO3al.js} +4 -4
  9. package/dist/web/client/assets/fleet-reasoning-panel-CbkO7u-v.js +1 -0
  10. package/dist/web/client/assets/{fleet-subagent-list-BnRnrWKS.js → fleet-subagent-list-iKUtLJKZ.js} +1 -1
  11. package/dist/web/client/assets/fleet-tool-timeline-C8heL7ae.js +1 -0
  12. package/dist/web/client/assets/{fork-picker-dialog-CkcSekBl.js → fork-picker-dialog-ByBOGVsa.js} +1 -1
  13. package/dist/web/client/assets/globals-B_I1Eq1u.css +2 -0
  14. package/dist/web/client/assets/horizontal-resize-qK6eRhIG.js +1 -0
  15. package/dist/web/client/assets/{index-DlnHLDpx.js → index-C1zOjrMK.js} +3 -3
  16. package/dist/web/client/assets/{ipython-tool-BrMePqD-.js → ipython-tool-ldJ9F1Cw.js} +1 -1
  17. package/dist/web/client/assets/model-selector-list-DsKTuAgS.js +1 -0
  18. package/dist/web/client/assets/{openui-renderer-DwYFJdbe.js → openui-renderer-J3dhPpL4.js} +5 -5
  19. package/dist/web/client/assets/prompt-input-qPIXZ-Rb.js +1 -0
  20. package/dist/web/client/assets/prompt-suggestions-Cc--lSNR.js +1 -0
  21. package/dist/web/client/assets/{provider-label-BCJh04J5.js → provider-label-Dpr7djG9.js} +1 -1
  22. package/dist/web/client/assets/repl-panel-DsPX04Xr.js +1 -0
  23. package/dist/web/client/assets/{resources-panel-Bo8dfUdm.js → resources-panel-D867-goy.js} +1 -1
  24. package/dist/web/client/assets/right-panel-registry-DewpBWHM.js +2 -0
  25. package/dist/web/client/assets/routes-vNkVToAF.js +16 -0
  26. package/dist/web/client/assets/safe-storage-s25GrfpH.js +1 -0
  27. package/dist/web/client/assets/session-insights-panel-YnaXvTpi.js +1 -0
  28. package/dist/web/client/assets/settings-dialog-B-v4me3Y.js +1 -0
  29. package/dist/web/client/assets/skeleton-loaders-C9vHwAYV.js +1 -0
  30. package/dist/web/client/assets/{subagent-chat-panel-DseoO31p.js → subagent-chat-panel-DkVUumrP.js} +1 -1
  31. package/dist/web/client/assets/subagent-transcript-D8wmQxXe.js +1 -0
  32. package/dist/web/client/assets/subagents-panel-BMp2Ego0.js +1 -0
  33. package/dist/web/client/assets/{surfaces-cW-gp56p.js → surfaces-DI-U-_2a.js} +1 -1
  34. package/dist/web/client/assets/tool-result-DfnPN0FQ.js +4 -0
  35. package/dist/web/client/assets/ui-preferences-CImQGZm_.js +1 -0
  36. package/dist/web/client/assets/virtualized-turn-list-DMJENRY0.js +6 -0
  37. package/dist/web/client/assets/{workspace-panel-DI1W3ce9.js → workspace-panel-G6yMpKJ8.js} +1 -1
  38. package/dist/web/client/bundle-budget.json +6 -6
  39. package/dist/web/server/{_tanstack-start-manifest_v-Cdx6hy2i-I7A5YJRU.js → _tanstack-start-manifest_v-po4woX6g-AUGCOEZ2.js} +14 -13
  40. package/dist/web/server/{agent-activity-B-JMvecd-SLE3GGY2.js → agent-activity-CS2rbF_C-A3R26CYH.js} +2 -2
  41. package/dist/web/server/{artifacts-panel-DLMK1O8P-42T45JMA.js → artifacts-panel-8GGUCtOd-X5TNKTY2.js} +12 -12
  42. package/dist/web/server/{chat-command-palette-CdYwoTMe-4LBAZF7K.js → chat-command-palette-Dgl5tqWn-72LLEWUD.js} +2 -2
  43. package/dist/web/server/{chunk-K5ESTT4A.js → chunk-7MDZVLIY.js} +11 -3
  44. package/dist/web/server/{chunk-EBCYJSBR.js → chunk-7SD2ZSEA.js} +3 -3
  45. package/dist/web/server/{chunk-M564UIEY.js → chunk-ABBWBBSS.js} +8 -8
  46. package/dist/web/server/{chunk-KNJUSMBT.js → chunk-BXWAUTTH.js} +2 -2
  47. package/dist/web/server/{chunk-54II5QXQ.js → chunk-ETTDO4UO.js} +6 -3
  48. package/dist/web/server/{chunk-EHNIN245.js → chunk-GETSIVNU.js} +5 -5
  49. package/dist/web/server/{chunk-NRDG2ISJ.js → chunk-GGT2ZKDB.js} +49 -49
  50. package/dist/web/server/{chunk-X2R5YPQZ.js → chunk-IJPCV6DH.js} +3 -2
  51. package/dist/web/server/{chunk-AJJ2S5FF.js → chunk-JQDLJ7KI.js} +20 -20
  52. package/dist/web/server/{chunk-VHBFU4TG.js → chunk-JUROEEWM.js} +43 -14
  53. package/dist/web/server/{chunk-TCH3U26B.js → chunk-MIW4LJTV.js} +2 -2
  54. package/dist/web/server/{chunk-2TRF62K5.js → chunk-N6NOTURM.js} +3 -3
  55. package/dist/web/server/{chunk-5XX7RKJ6.js → chunk-NXJ32VFR.js} +5 -5
  56. package/dist/web/server/{chunk-EOVMHQ2H.js → chunk-O4OTWWPF.js} +7 -7
  57. package/dist/web/server/{chunk-OB5OSYJK.js → chunk-RNOJACWQ.js} +53 -29
  58. package/dist/web/server/chunk-SZJUXVWG.js +40 -0
  59. package/dist/web/server/{chunk-6AW2XFTZ.js → chunk-WILCIZYU.js} +194 -10
  60. package/dist/web/server/{chunk-FED63ZHU.js → chunk-WKV2Z4KO.js} +10 -5
  61. package/dist/web/server/{chunk-ANL4B775.js → chunk-XLNCWZMZ.js} +2 -2
  62. package/dist/web/server/{chunk-GM32R7JW.js → chunk-YKVGQBZA.js} +10 -8
  63. package/dist/web/server/{chunk-3PIUR75R.js → chunk-YXXRP3NS.js} +9 -9
  64. package/dist/web/server/{fleet-message-queue-BxycG26e-2XLOTCLP.js → fleet-message-queue-j0DCU5Xy-5HKBHMPV.js} +2 -2
  65. package/dist/web/server/{fleet-pi-tool-renderer-RIeVlM9J-D6MISCQC.js → fleet-pi-tool-renderer-umKunT3K-O4GBH35V.js} +5 -5
  66. package/dist/web/server/{fleet-reasoning-panel-D_K48UOT-GN2PA6KT.js → fleet-reasoning-panel-BxC2COxi-GPLMQSTT.js} +9 -9
  67. package/dist/web/server/{fleet-subagent-list-5luKtpds-3OTVFHJQ.js → fleet-subagent-list-CpSYzCIq-JDH2LHSS.js} +1 -1
  68. package/dist/web/server/{fleet-tool-timeline-DwRqQgOj-HUFLGMDV.js → fleet-tool-timeline-IB36_PB2-XJENTO6I.js} +1 -1
  69. package/dist/web/server/{fork-picker-dialog-B9yGc8Au-IL63F2DN.js → fork-picker-dialog-DlINz9UQ-UWIXFDJX.js} +3 -3
  70. package/dist/web/server/{model-selector-list-cb2-ewoA-KIVU6LD3.js → model-selector-list-OYnzNbyu-HBGCNF2L.js} +5 -5
  71. package/dist/web/server/{openui-renderer-Czy5Vo2L-BLXPJD65.js → openui-renderer-Cj7kfqyL-EKJ6JTTQ.js} +4 -4
  72. package/dist/web/server/{prompt-suggestions-BOmHi4-J-C563CHFU.js → prompt-suggestions-D4AEEY7K-RZSP7PWV.js} +3 -3
  73. package/dist/web/server/{repl-panel-yyxhwe4c-7U6HXYPS.js → repl-panel-D5KsoJik-BQKO53JO.js} +9 -9
  74. package/dist/web/server/{resources-panel-j4fAIi9g-5C267IXV.js → resources-panel-CE5pD4vy-V5FXBTYC.js} +2 -2
  75. package/dist/web/server/{router-CgSWrAYc-5UBYSZTJ.js → router-Ci1wxI7I-E2AYMNON.js} +253 -76
  76. package/dist/web/server/{routes-CP_BBhD0-BAWQYGKY.js → routes-CRpm9-Sa-IYK6MUJO.js} +705 -537
  77. package/dist/web/server/server.js +2 -2
  78. package/dist/web/server/{session-insights-panel-BHZyKDTo-LRMAMA3O.js → session-insights-panel-CUhdgvRt-VB2HUCQP.js} +4 -4
  79. package/dist/web/server/{settings-dialog-CxHe8nym-KKXDPTIW.js → settings-dialog-BvkgNflv-GPJ6COQO.js} +14 -10
  80. package/dist/web/server/{subagent-chat-panel-DlSsM59d-DBW7DI3T.js → subagent-chat-panel-CMuvW9Sd-M5TEEGQW.js} +11 -11
  81. package/dist/web/server/{subagents-panel-Txzk8oDb-NRKLASYN.js → subagents-panel-DgfB6_Yy-4INEPE3Y.js} +13 -13
  82. package/dist/web/server/{workspace-panel-BOs-58Cv-SWQBMZSB.js → workspace-panel-bpwj-Veu-Q2CEJMN4.js} +4 -3
  83. package/package.json +1 -1
  84. package/dist/web/client/assets/agent-activity-CDcDNVC6.js +0 -1
  85. package/dist/web/client/assets/artifacts-panel-CObI-DMt.js +0 -1
  86. package/dist/web/client/assets/fleet-reasoning-panel-MtbSdoCv.js +0 -1
  87. package/dist/web/client/assets/fleet-tool-timeline-COzPrwr8.js +0 -1
  88. package/dist/web/client/assets/generative-text-renderer-CDKHv-v_.js +0 -6
  89. package/dist/web/client/assets/globals-DisQPFtV.css +0 -2
  90. package/dist/web/client/assets/horizontal-resize-Bl3AyBJg.js +0 -1
  91. package/dist/web/client/assets/model-selector-list-DQaPFUYt.js +0 -1
  92. package/dist/web/client/assets/prompt-input-DZ4cho_e.js +0 -1
  93. package/dist/web/client/assets/prompt-suggestions-CXM6knMK.js +0 -1
  94. package/dist/web/client/assets/repl-panel-BDQ5MEgV.js +0 -1
  95. package/dist/web/client/assets/right-panel-registry-VVRPktV3.js +0 -2
  96. package/dist/web/client/assets/routes-DAikUNzO.js +0 -16
  97. package/dist/web/client/assets/session-insights-panel-CQdT90Op.js +0 -1
  98. package/dist/web/client/assets/settings-dialog-DS64KmwC.js +0 -1
  99. package/dist/web/client/assets/skeleton-loaders-DjGv9LLA.js +0 -1
  100. package/dist/web/client/assets/subagent-transcript-cxVKYnh9.js +0 -1
  101. package/dist/web/client/assets/subagents-panel-CHC96I68.js +0 -1
  102. package/dist/web/client/assets/tool-result-Baj3CdL_.js +0 -4
  103. package/dist/web/client/assets/ui-preferences-DUEFuJFj.js +0 -1
@@ -2024,7 +2024,7 @@ function getResponse() {
2024
2024
  }
2025
2025
  var HEADERS = { TSS_SHELL: "X-TSS_SHELL" };
2026
2026
  async function getStartManifest(matchedRoutes) {
2027
- const { tsrStartManifest } = await import("./_tanstack-start-manifest_v-Cdx6hy2i-I7A5YJRU.js");
2027
+ const { tsrStartManifest } = await import("./_tanstack-start-manifest_v-po4woX6g-AUGCOEZ2.js");
2028
2028
  const startManifest = tsrStartManifest();
2029
2029
  let routes = startManifest.routes;
2030
2030
  routes[rootRouteId];
@@ -4982,7 +4982,7 @@ var getBaseManifest = getProdBaseManifest;
4982
4982
  var createEarlyHintsForRequest = createEarlyHintsCollector;
4983
4983
  async function loadEntries() {
4984
4984
  const [routerEntry, startEntry, pluginAdapters] = await Promise.all([
4985
- import("./router-CgSWrAYc-5UBYSZTJ.js"),
4985
+ import("./router-Ci1wxI7I-E2AYMNON.js"),
4986
4986
  import("./start-DVUbMfrb-ELVIFRUY.js"),
4987
4987
  import("./empty-plugin-adapters-Cqtvkauv-6XWFDBYT.js")
4988
4988
  ]);
@@ -1,6 +1,6 @@
1
1
  import "./chunk-MLKGABMK.js";
2
2
 
3
- // web/app/dist/server/assets/session-insights-panel-BHZyKDTo.js
3
+ // web/app/dist/server/assets/session-insights-panel-CUhdgvRt.js
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  var RLM_CHILD_STATUSES = [
6
6
  "queued",
@@ -55,10 +55,10 @@ function DetailList({ children, label }) {
55
55
  "aria-label": label,
56
56
  className: "rounded-md border border-border/60 bg-background px-3 py-2.5 shadow-[0_1px_4px_-1px_rgba(0,0,0,0.06)]",
57
57
  children: [/* @__PURE__ */ jsx("h3", {
58
- className: "mb-2 text-[11px] font-medium uppercase tracking-wide text-foreground/45",
58
+ className: "mb-2 text-[0.6875rem] font-medium uppercase tracking-wide text-foreground/45",
59
59
  children: label
60
60
  }), /* @__PURE__ */ jsx("dl", {
61
- className: "space-y-1.5 text-[12px]",
61
+ className: "space-y-1.5 text-[0.75rem]",
62
62
  children
63
63
  })]
64
64
  });
@@ -112,7 +112,7 @@ function GoalDetails({ goal }) {
112
112
  function SessionInsightsPanel({ activityLabel, artifactRuns, chatMode, messages, planLabel, presentation, queue, selectedModelKey, sessionId, status, thinkingLevel }) {
113
113
  if (!sessionId) return /* @__PURE__ */ jsx("section", {
114
114
  "aria-label": "Session insights",
115
- className: "flex min-h-36 items-center rounded-md border border-dashed border-border/70 px-4 text-center text-[12px] leading-5 text-foreground/45",
115
+ className: "flex min-h-36 items-center rounded-md border border-dashed border-border/70 px-4 text-center text-[0.75rem] leading-5 text-foreground/45",
116
116
  children: "Start or open a session to view its live insights."
117
117
  });
118
118
  const insights = deriveSessionInsights({
@@ -25,14 +25,14 @@ import {
25
25
  useHoverInteractionSharedState,
26
26
  useHoverReferenceInteraction,
27
27
  usePopupHandleStore
28
- } from "./chunk-TCH3U26B.js";
28
+ } from "./chunk-MIW4LJTV.js";
29
29
  import {
30
30
  UI_PREFERENCES_KEY,
31
31
  isModelPatternEnabled,
32
32
  modelMatchesPattern,
33
33
  modelPattern,
34
34
  readUiPreferences
35
- } from "./chunk-54II5QXQ.js";
35
+ } from "./chunk-ETTDO4UO.js";
36
36
  import {
37
37
  MessageSquare
38
38
  } from "./chunk-GL6HWDJB.js";
@@ -73,6 +73,9 @@ import {
73
73
  import {
74
74
  HardDrive
75
75
  } from "./chunk-D7ELZVTI.js";
76
+ import {
77
+ writeStoredValue
78
+ } from "./chunk-SZJUXVWG.js";
76
79
  import {
77
80
  InputGroup,
78
81
  InputGroupAddon,
@@ -220,7 +223,7 @@ import "./chunk-JDCCC7A7.js";
220
223
  import "./chunk-L547YHC4.js";
221
224
  import "./chunk-MLKGABMK.js";
222
225
 
223
- // web/app/dist/server/assets/settings-dialog-CxHe8nym.js
226
+ // web/app/dist/server/assets/settings-dialog-BvkgNflv.js
224
227
  import * as React$1 from "react";
225
228
  import { useCallback as useCallback2, useEffect as useEffect2, useId, useMemo as useMemo2, useRef as useRef2, useState as useState2 } from "react";
226
229
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -3071,7 +3074,7 @@ function AddProviderPickerPanel({ addPickerQuery, credentialProvidersLength, fil
3071
3074
  }) : null, filteredPickerConfigured.length > 0 ? /* @__PURE__ */ jsxs("div", {
3072
3075
  className: "flex flex-col gap-1",
3073
3076
  children: [filteredPickerAvailable.length > 0 ? /* @__PURE__ */ jsx("p", {
3074
- className: "px-2 pt-1 text-[11px] font-medium tracking-wide text-muted-foreground uppercase",
3077
+ className: "px-2 pt-1 text-[0.6875rem] font-medium tracking-wide text-muted-foreground uppercase",
3075
3078
  children: "Already configured"
3076
3079
  }) : null, filteredPickerConfigured.map((provider) => /* @__PURE__ */ jsx(ProviderPickerRow, {
3077
3080
  provider,
@@ -3569,7 +3572,7 @@ function searchableModelText(model) {
3569
3572
  model.id
3570
3573
  ].join(" ").toLowerCase();
3571
3574
  }
3572
- function AddModelsDialog({ configuredProviderIds, discoverableProviderIds, discoveringProviderId, enabledModels, modelOptions, onAddModels, onDiscoverProvider, onOpenChange, providerLabel = formatProviderLabel }) {
3575
+ function AddModelsDialog({ configuredProviderIds, discoverableProviderIds, discoveringProviderId, enabledModels, modelOptions, onAddModels, onDiscoverProvider, onOpenChange, open, providerLabel = formatProviderLabel }) {
3573
3576
  const [filter, setFilter] = useState2("");
3574
3577
  const [selectedKeys, setSelectedKeys] = useState2(/* @__PURE__ */ new Set());
3575
3578
  const normalizedFilter = filter.trim().toLowerCase();
@@ -3621,7 +3624,7 @@ function AddModelsDialog({ configuredProviderIds, discoverableProviderIds, disco
3621
3624
  onOpenChange(false);
3622
3625
  };
3623
3626
  return /* @__PURE__ */ jsx(Dialog, {
3624
- open: true,
3627
+ open,
3625
3628
  onOpenChange,
3626
3629
  children: /* @__PURE__ */ jsxs(DialogContent, {
3627
3630
  className: "max-w-lg",
@@ -3682,7 +3685,7 @@ function AddModelsDialog({ configuredProviderIds, discoverableProviderIds, disco
3682
3685
  children: groupedCandidates.map(([provider, models]) => /* @__PURE__ */ jsxs("div", {
3683
3686
  className: "flex flex-col gap-1",
3684
3687
  children: [/* @__PURE__ */ jsxs("div", {
3685
- className: "px-2 text-[11px] font-medium tracking-wide text-muted-foreground uppercase",
3688
+ className: "px-2 text-[0.6875rem] font-medium tracking-wide text-muted-foreground uppercase",
3686
3689
  children: [providerLabel(provider), (activeCountByProvider.get(provider) ?? 0) > 0 ? /* @__PURE__ */ jsxs("span", {
3687
3690
  className: "ml-1 font-normal normal-case tabular-nums",
3688
3691
  children: [
@@ -3924,7 +3927,8 @@ function ModelDefaultsSection({ draft, discoveringProviderId, modelDirty, modelF
3924
3927
  }, model.id))]
3925
3928
  }, provider))
3926
3929
  }),
3927
- addOpen ? /* @__PURE__ */ jsx(AddModelsDialog, {
3930
+ /* @__PURE__ */ jsx(AddModelsDialog, {
3931
+ open: addOpen,
3928
3932
  configuredProviderIds,
3929
3933
  discoverableProviderIds,
3930
3934
  discoveringProviderId,
@@ -3934,7 +3938,7 @@ function ModelDefaultsSection({ draft, discoveringProviderId, modelDirty, modelF
3934
3938
  onDiscoverProvider,
3935
3939
  onOpenChange: setAddOpen,
3936
3940
  providerLabel
3937
- }) : null
3941
+ })
3938
3942
  ]
3939
3943
  });
3940
3944
  }
@@ -5101,7 +5105,7 @@ function SettingsDialogBody({ initialTab, onCloseAttemptRef, onOpenChange }) {
5101
5105
  const [activeTab, setActiveTab] = useState2(() => initialTab ?? "appearance");
5102
5106
  const [preferences, setPreferences] = useState2(readUiPreferences);
5103
5107
  useEffect2(() => {
5104
- window.localStorage.setItem(UI_PREFERENCES_KEY, JSON.stringify(preferences));
5108
+ writeStoredValue(UI_PREFERENCES_KEY, JSON.stringify(preferences));
5105
5109
  document.documentElement.dataset.density = preferences.density;
5106
5110
  document.documentElement.classList.toggle("reduce-motion", preferences.motion === "reduced");
5107
5111
  }, [preferences]);
@@ -1,34 +1,34 @@
1
1
  import {
2
2
  PromptInput
3
- } from "./chunk-GM32R7JW.js";
3
+ } from "./chunk-YKVGQBZA.js";
4
4
  import "./chunk-7CNGNFFK.js";
5
5
  import "./chunk-PVJCTQFK.js";
6
6
  import {
7
7
  SubagentTranscriptView
8
- } from "./chunk-OB5OSYJK.js";
9
- import "./chunk-6AW2XFTZ.js";
8
+ } from "./chunk-RNOJACWQ.js";
9
+ import "./chunk-WILCIZYU.js";
10
10
  import "./chunk-FJV6EQDW.js";
11
11
  import "./chunk-OKL5ZRVB.js";
12
12
  import "./chunk-WYL2DW5R.js";
13
13
  import "./chunk-KOUEJ3NU.js";
14
14
  import "./chunk-UCA4WN66.js";
15
- import "./chunk-AJJ2S5FF.js";
16
- import "./chunk-2TRF62K5.js";
15
+ import "./chunk-JQDLJ7KI.js";
16
+ import "./chunk-N6NOTURM.js";
17
17
  import "./chunk-QPNUGF3V.js";
18
18
  import "./chunk-V3S6BVXO.js";
19
- import "./chunk-ANL4B775.js";
19
+ import "./chunk-XLNCWZMZ.js";
20
20
  import "./chunk-2ST2ULW7.js";
21
21
  import "./chunk-BLSX7WHW.js";
22
22
  import "./chunk-3JMESBAT.js";
23
- import "./chunk-X2R5YPQZ.js";
23
+ import "./chunk-IJPCV6DH.js";
24
24
  import "./chunk-XA42CHF2.js";
25
- import "./chunk-EBCYJSBR.js";
25
+ import "./chunk-7SD2ZSEA.js";
26
26
  import "./chunk-42XU6WV7.js";
27
27
  import "./chunk-P66QQWUM.js";
28
28
  import "./chunk-JIULUYHT.js";
29
29
  import "./chunk-LY5XOHHU.js";
30
30
  import "./chunk-4UBOIY2S.js";
31
- import "./chunk-3PIUR75R.js";
31
+ import "./chunk-YXXRP3NS.js";
32
32
  import "./chunk-2ATMSG7U.js";
33
33
  import "./chunk-HFQTI7AX.js";
34
34
  import "./chunk-HSJMLO36.js";
@@ -54,7 +54,7 @@ import "./chunk-ST5I2PLN.js";
54
54
  import "./chunk-AR7O7JXD.js";
55
55
  import "./chunk-ZCVWADNW.js";
56
56
  import "./chunk-HFQZLPU2.js";
57
- import "./chunk-5XX7RKJ6.js";
57
+ import "./chunk-NXJ32VFR.js";
58
58
  import "./chunk-X7D6GFQU.js";
59
59
  import "./chunk-BYXBJQAS.js";
60
60
  import "./chunk-4ZIEVI5O.js";
@@ -64,7 +64,7 @@ import "./chunk-JDCCC7A7.js";
64
64
  import "./chunk-L547YHC4.js";
65
65
  import "./chunk-MLKGABMK.js";
66
66
 
67
- // web/app/dist/server/assets/subagent-chat-panel-DlSsM59d.js
67
+ // web/app/dist/server/assets/subagent-chat-panel-CMuvW9Sd.js
68
68
  import { jsx, jsxs } from "react/jsx-runtime";
69
69
  function SubagentComposer({ disabled, sending, onSend, onStop, placeholder = "Message this subagent\u2026 (Enter to steer)" }) {
70
70
  return /* @__PURE__ */ jsx("div", {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SubagentTranscriptView
3
- } from "./chunk-OB5OSYJK.js";
4
- import "./chunk-6AW2XFTZ.js";
3
+ } from "./chunk-RNOJACWQ.js";
4
+ import "./chunk-WILCIZYU.js";
5
5
  import "./chunk-FJV6EQDW.js";
6
6
  import "./chunk-OKL5ZRVB.js";
7
7
  import "./chunk-WYL2DW5R.js";
@@ -9,17 +9,17 @@ import "./chunk-KOUEJ3NU.js";
9
9
  import {
10
10
  Bot
11
11
  } from "./chunk-UCA4WN66.js";
12
- import "./chunk-AJJ2S5FF.js";
13
- import "./chunk-2TRF62K5.js";
12
+ import "./chunk-JQDLJ7KI.js";
13
+ import "./chunk-N6NOTURM.js";
14
14
  import "./chunk-QPNUGF3V.js";
15
15
  import "./chunk-V3S6BVXO.js";
16
- import "./chunk-ANL4B775.js";
16
+ import "./chunk-XLNCWZMZ.js";
17
17
  import "./chunk-2ST2ULW7.js";
18
18
  import "./chunk-BLSX7WHW.js";
19
19
  import "./chunk-3JMESBAT.js";
20
- import "./chunk-X2R5YPQZ.js";
20
+ import "./chunk-IJPCV6DH.js";
21
21
  import "./chunk-XA42CHF2.js";
22
- import "./chunk-EBCYJSBR.js";
22
+ import "./chunk-7SD2ZSEA.js";
23
23
  import {
24
24
  orderedRlmChildren,
25
25
  rlmStatusIcon
@@ -28,7 +28,7 @@ import "./chunk-P66QQWUM.js";
28
28
  import "./chunk-JIULUYHT.js";
29
29
  import "./chunk-LY5XOHHU.js";
30
30
  import "./chunk-4UBOIY2S.js";
31
- import "./chunk-3PIUR75R.js";
31
+ import "./chunk-YXXRP3NS.js";
32
32
  import "./chunk-2ATMSG7U.js";
33
33
  import "./chunk-HFQTI7AX.js";
34
34
  import "./chunk-HSJMLO36.js";
@@ -58,7 +58,7 @@ import "./chunk-ST5I2PLN.js";
58
58
  import "./chunk-AR7O7JXD.js";
59
59
  import "./chunk-ZCVWADNW.js";
60
60
  import "./chunk-HFQZLPU2.js";
61
- import "./chunk-5XX7RKJ6.js";
61
+ import "./chunk-NXJ32VFR.js";
62
62
  import "./chunk-X7D6GFQU.js";
63
63
  import "./chunk-BYXBJQAS.js";
64
64
  import "./chunk-4ZIEVI5O.js";
@@ -70,7 +70,7 @@ import "./chunk-JDCCC7A7.js";
70
70
  import "./chunk-L547YHC4.js";
71
71
  import "./chunk-MLKGABMK.js";
72
72
 
73
- // web/app/dist/server/assets/subagents-panel-Txzk8oDb.js
73
+ // web/app/dist/server/assets/subagents-panel-DgfB6_Yy.js
74
74
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
75
75
  import { jsx, jsxs } from "react/jsx-runtime";
76
76
  function SubagentsPanelContent({ agents, loadSession, onOpenTab, parentSessionId, tree }) {
@@ -132,7 +132,7 @@ function SubagentsPanelContent({ agents, loadSession, onOpenTab, parentSessionId
132
132
  }, [loadTranscript, selectedAgent]);
133
133
  if (ordered.length === 0) return /* @__PURE__ */ jsx("section", {
134
134
  "aria-label": "Subagents",
135
- className: "flex min-h-36 items-center rounded-md border border-dashed border-border/70 px-4 text-center text-[12px] leading-5 text-foreground/45",
135
+ className: "flex min-h-36 items-center rounded-md border border-dashed border-border/70 px-4 text-center text-[0.75rem] leading-5 text-foreground/45",
136
136
  children: "Subagent threads will appear here when Prime delegates work."
137
137
  });
138
138
  return /* @__PURE__ */ jsxs("section", {
@@ -148,7 +148,7 @@ function SubagentsPanelContent({ agents, loadSession, onOpenTab, parentSessionId
148
148
  children: "Invoked subagents"
149
149
  }),
150
150
  /* @__PURE__ */ jsx("span", {
151
- className: "shrink-0 text-[10px] text-foreground/40",
151
+ className: "shrink-0 text-[0.625rem] text-foreground/40",
152
152
  children: ordered.length
153
153
  })
154
154
  ]
@@ -180,7 +180,7 @@ function SubagentsPanelContent({ agents, loadSession, onOpenTab, parentSessionId
180
180
  }),
181
181
  /* @__PURE__ */ jsx(ChevronRight, { className: "size-3 shrink-0 text-foreground/30" }),
182
182
  /* @__PURE__ */ jsx("span", {
183
- className: "shrink-0 text-[10px] capitalize text-foreground/45",
183
+ className: "shrink-0 text-[0.625rem] capitalize text-foreground/45",
184
184
  children: agent.status
185
185
  })
186
186
  ]
@@ -8,7 +8,7 @@ import {
8
8
  readStoredWidth,
9
9
  startHorizontalResize,
10
10
  storeStoredWidth
11
- } from "./chunk-FED63ZHU.js";
11
+ } from "./chunk-WKV2Z4KO.js";
12
12
  import "./chunk-QK4CHLVV.js";
13
13
  import {
14
14
  Folder
@@ -16,6 +16,7 @@ import {
16
16
  import {
17
17
  HardDrive
18
18
  } from "./chunk-D7ELZVTI.js";
19
+ import "./chunk-SZJUXVWG.js";
19
20
  import {
20
21
  isPathWithinScope
21
22
  } from "./chunk-P66QQWUM.js";
@@ -41,7 +42,7 @@ import {
41
42
  ResourceNotice,
42
43
  WorkspacePreviewSkeleton,
43
44
  WorkspaceSkeleton
44
- } from "./chunk-EHNIN245.js";
45
+ } from "./chunk-GETSIVNU.js";
45
46
  import {
46
47
  findWorkspaceNode
47
48
  } from "./chunk-DO2O27B2.js";
@@ -65,7 +66,7 @@ import "./chunk-JDCCC7A7.js";
65
66
  import "./chunk-L547YHC4.js";
66
67
  import "./chunk-MLKGABMK.js";
67
68
 
68
- // web/app/dist/server/assets/workspace-panel-BOs-58Cv.js
69
+ // web/app/dist/server/assets/workspace-panel-bpwj-Veu.js
69
70
  import { Children, Fragment, isValidElement, useCallback, useEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
70
71
  import { jsx, jsxs } from "react/jsx-runtime";
71
72
  function FileTreeFolder(_props) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qredence/fleet",
3
- "version": "0.5.10",
3
+ "version": "0.5.11",
4
4
  "description": "Fleet Prime: local web interface and launcher for the pinned Prime Agent runtime",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t}from"./bundle-mjs-DKHVkVWu.js";import{t as n}from"./jsx-runtime-NZYk81nU.js";import{d as r,o as i,r as a,u as o}from"./ease-u56MhKYS.js";import{n as s,t as c}from"./use-reduced-motion-eORd7fqW.js";import{t as l}from"./utils-Eg7xtNmV.js";import{t as u}from"./createLucideIcon-DwxZHm0M.js";import{t as d}from"./check-JjHKAZas.js";import{t as f}from"./chevron-down-BEVGmnSb.js";import{t as p}from"./earth-DGZXAN5r.js";import{t as m}from"./file-text-T-NcAlZs.js";import{t as h}from"./image-BbPmlw-n.js";import{t as g}from"./message-square-hbDao-A1.js";import{t as _}from"./search-eWVnAJsb.js";import{t as v}from"./sparkles-DuclzqlE.js";import{t as y}from"./square-terminal-BYTN_I86.js";import{t as b}from"./wrench-BJNNe07k.js";import{t as x}from"./agent-disclosure-B8SnhQXL.js";import{t as S}from"./safe-external-url-D3PJJIcM.js";var C=u(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),w=u(`pencil-line`,[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),T=e(t(),1),E=`@keyframes beui-text-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.beui-text-shimmer{animation:none !important}}`,D=`beui-text-shimmer bg-[length:200%_100%] bg-clip-text text-transparent bg-[linear-gradient(110deg,var(--muted-foreground)_30%,var(--foreground)_50%,var(--muted-foreground)_70%)]`;function O(e){return{animation:`beui-text-shimmer ${e}s linear infinite`}}var k=n();function A({children:e,as:t=`span`,duration:n=2.5,className:r}){return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`style`,{children:E}),(0,k.jsx)(t,{style:O(n),className:l(`inline-block`,D,r),children:e})]})}function j({children:e=`Thinking…`,duration:t=1.8,className:n}){return(0,k.jsx)(A,{as:`span`,duration:t,className:l(`font-medium`,n),children:e})}function M({item:e}){let t=e.status??`complete`;return(0,k.jsxs)(`div`,{className:`flex min-h-7 items-start gap-2.5 rounded-md px-1.5 py-1`,children:[(0,k.jsx)(`span`,{"aria-hidden":`true`,className:`mt-0.5 grid size-4 shrink-0 place-items-center text-muted-foreground/70`,children:t===`complete`?(0,k.jsx)(d,{className:`size-4`,strokeWidth:1.8}):t===`active`?(0,k.jsxs)(`span`,{className:`relative grid size-3 place-items-center`,children:[(0,k.jsx)(r.span,{className:`absolute inset-0 rounded-full bg-foreground/10`,animate:{opacity:[.35,.8,.35]},transition:{duration:1.5,repeat:1/0}}),(0,k.jsx)(`span`,{className:`size-1.5 rounded-full bg-foreground/60`})]}):(0,k.jsx)(C,{className:`size-3`,strokeWidth:1.5})}),(0,k.jsx)(`span`,{className:l(`min-w-0 flex-1 leading-5`,t===`pending`?`text-muted-foreground/55`:`text-foreground/90`),children:e.label}),e.meta?(0,k.jsx)(`span`,{className:`shrink-0 leading-5 text-muted-foreground/55`,children:e.meta}):null]})}function N({item:e}){return(0,k.jsx)(`div`,{className:`rounded-md px-1.5 py-1 leading-5 text-muted-foreground`,children:e.content})}function P({result:e}){let t=e.url&&S(e.url)?e.url:void 0,n=(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`span`,{"aria-hidden":`true`,className:`grid size-5 shrink-0 place-items-center text-muted-foreground`,children:e.icon??(0,k.jsx)(p,{className:`size-3`,strokeWidth:2})}),(0,k.jsx)(`span`,{className:`min-w-0 truncate font-medium text-foreground/90`,children:e.title}),e.domain?(0,k.jsx)(`span`,{className:`min-w-0 truncate text-muted-foreground/55`,children:e.domain}):null]}),r=l(`flex min-h-7 items-center gap-2 rounded-md px-1.5 py-1 text-left outline-none transition-colors`,t&&`focus-visible:ring-2 focus-visible:ring-ring`);return t?(0,k.jsx)(`a`,{href:t,className:r,children:n}):(0,k.jsx)(`div`,{className:r,children:n})}function F({item:e}){let t=c()??!1,n=t?{opacity:1}:{opacity:0,y:6},o={opacity:1,y:0},l=t?{opacity:0}:{opacity:0,y:-3},u=t?{duration:0}:{opacity:{duration:.18,ease:a},y:i,layout:i};return(0,k.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,k.jsxs)(`div`,{className:`flex min-h-7 items-center gap-2.5 rounded-md px-1.5 py-1 text-muted-foreground`,children:[(0,k.jsx)(_,{"aria-hidden":`true`,className:`size-4 shrink-0`,strokeWidth:1.7}),(0,k.jsx)(`span`,{className:`min-w-0 truncate`,children:e.query})]}),e.results?.length?(0,k.jsx)(`div`,{className:`space-y-0.5 pl-4`,children:(0,k.jsx)(s,{initial:!0,mode:`popLayout`,children:e.results.map(e=>(0,k.jsx)(r.div,{layout:`position`,initial:n,animate:o,exit:l,transition:u,children:(0,k.jsx)(P,{result:e})},e.id))})}):null,(0,k.jsx)(s,{initial:!0,children:e.moreCount?(0,k.jsxs)(r.div,{initial:n,animate:o,exit:l,transition:u,className:`px-1.5 py-1 pl-8 text-muted-foreground/55`,children:[`+`,e.moreCount,` more`]},`more-results`):null})]})}function I({action:e}){return e===`read`?(0,k.jsx)(m,{className:`size-4`}):e===`edit`||e===`write`?(0,k.jsx)(w,{className:`size-4`}):e===`run`?(0,k.jsx)(y,{className:`size-4`}):(0,k.jsx)(b,{className:`size-4`})}function L({action:e}){return(0,k.jsx)(`button`,{type:`button`,"aria-label":e.ariaLabel??e.label,onClick:e.onClick,className:`shrink-0 rounded-md px-1.5 py-1 text-[10px] font-medium text-primary outline-none hover:bg-primary/10 focus-visible:ring-2 focus-visible:ring-ring`,children:e.label})}function R({item:e}){let t=e.action.charAt(0).toUpperCase()+e.action.slice(1),n=typeof e.additions==`number`||typeof e.deletions==`number`;return(0,k.jsxs)(`div`,{className:`grid min-h-8 min-w-0 grid-cols-[1rem_auto_minmax(0,1fr)_auto] items-center gap-2.5 rounded-md px-1.5 py-0.5 leading-5`,children:[(0,k.jsx)(`span`,{"aria-hidden":`true`,className:`grid size-4 shrink-0 place-items-center text-muted-foreground/70`,children:(0,k.jsx)(I,{action:e.action})}),(0,k.jsx)(`span`,{className:`shrink-0 font-medium text-foreground/90`,children:t}),(0,k.jsx)(`span`,{className:`min-w-0 flex-1 truncate rounded-lg bg-muted/80 px-2.5 py-1 font-mono text-xs text-muted-foreground/70`,children:e.target}),n||e.openAction?(0,k.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[n?(0,k.jsxs)(`span`,{className:`flex items-center gap-2 font-mono tabular-nums`,children:[typeof e.additions==`number`?(0,k.jsxs)(`span`,{className:`text-emerald-500`,children:[`+`,e.additions]}):null,typeof e.deletions==`number`?(0,k.jsxs)(`span`,{className:`text-rose-500`,children:[`−`,e.deletions]}):null]}):null,e.openAction?(0,k.jsx)(L,{action:e.openAction}):null]}):null]})}function z({kind:e}){return e===`thinking`?(0,k.jsx)(v,{className:`size-4`}):e===`message`?(0,k.jsx)(g,{className:`size-4`}):e===`write`?(0,k.jsx)(w,{className:`size-4`}):e===`run`?(0,k.jsx)(y,{className:`size-4`}):e===`read`?(0,k.jsx)(h,{className:`size-4`}):(0,k.jsx)(b,{className:`size-4`})}function B({item:e}){let t=e.kind===`thinking`;return(0,k.jsxs)(`div`,{className:l(`grid min-h-8 grid-cols-[1rem_auto_minmax(0,1fr)_auto] gap-2.5 rounded-md px-1.5 py-0.5`,t?`items-start`:`items-center`),children:[(0,k.jsx)(`span`,{"aria-hidden":`true`,className:`grid size-4 place-items-center text-muted-foreground/70`,children:e.icon??(0,k.jsx)(z,{kind:e.kind})}),(0,k.jsx)(`span`,{className:`min-w-0 truncate font-medium text-foreground/90`,children:e.label}),e.detail?(0,k.jsx)(`span`,{className:l(`min-w-0 rounded-lg bg-muted/80 px-2.5 py-1 font-mono text-xs text-muted-foreground/70`,t?`max-h-40 overflow-y-auto whitespace-pre-wrap break-words`:`truncate`),children:e.detail}):(0,k.jsx)(`span`,{}),e.action?(0,k.jsx)(L,{action:e.action}):null]})}function V({item:e}){return e.type===`text`?(0,k.jsx)(N,{item:e}):e.type===`search`?(0,k.jsx)(F,{item:e}):e.type===`tool`?(0,k.jsx)(R,{item:e}):e.type===`trace`?(0,k.jsx)(B,{item:e}):(0,k.jsx)(M,{item:e})}function H(e){let t=Math.max(0,Math.round(e));if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;return r===0?`${n}m`:`${n}m ${r}s`}function U({open:e,defaultOpen:t,onOpenChange:n}){let[r,i]=(0,T.useState)(t),a=e!==void 0;return[e??r,(0,T.useCallback)(e=>{a||i(e),n?.(e)},[a,n])]}function W(e){let t=e[0]?.type;return t&&e.every(e=>e.type===t)?t:`mixed`}function G(e){return e===`search`?`Searching the web…`:e===`tool`?`Running tools…`:e===`trace`?`Working through the run…`:e===`mixed`?`Working through it…`:`Thinking…`}function K(e,t,n){if(e===`step`||e===`text`)return(0,k.jsxs)(k.Fragment,{children:[`Thought for `,(0,k.jsx)(`span`,{className:`tabular-nums`,children:H(n)})]});if(e===`search`)return`Searched the web`;if(e===`tool`)return`Ran ${t.length} ${t.length===1?`tool`:`tools`}`;if(e===`trace`){let e=t.filter(e=>e.type===`trace`&&(e.kind===`thinking`||e.kind===`message`)).length,n=t.length-e;return`${n} ${n===1?`tool call`:`tool calls`}, ${e} ${e===1?`message`:`messages`}`}return`Completed ${t.length} ${t.length===1?`step`:`steps`}`}function q({items:e,contentType:t,status:n=`working`,duration:u=0,open:d,defaultOpen:p=!1,onOpenChange:m,collapseOnComplete:h=!0,activeLabel:g,summary:_,renderWorkingStatus:v,renderCompletedStatus:y,maxHeight:b=208,className:S,contentClassName:C}){let w=c()??!1,E=(0,T.useId)(),D=`${E}-trigger`,O=`${E}-content`,A=(0,T.useRef)(null),M=(0,T.useRef)(null),N=(0,T.useRef)(n),[P,F]=(0,T.useState)(0),[I,L]=U({open:d,defaultOpen:p,onOpenChange:m}),R=n===`working`,z=R||I,B=e.length?W(e):t??`mixed`,H=R?Math.max(0,b):Math.min(P,Math.max(0,b)),q=P>b,J=R?Math.min(0,H-P):0;(0,T.useLayoutEffect)(()=>{let e=A.current;if(!e)return;let t=()=>F(e.offsetHeight);if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]),(0,T.useEffect)(()=>{N.current===`working`&&n===`complete`&&L(!h),N.current=n},[h,L,n]);let Y=()=>{let e=!I;L(e),e&&requestAnimationFrame(()=>M.current?.scrollTo({top:0}))},X=g??G(B),Z=_??K(B,e,u),Q=q?R?`linear-gradient(to bottom, transparent, black 12px)`:`linear-gradient(to bottom, transparent, black 12px, black calc(100% - 12px), transparent)`:void 0;return(0,k.jsxs)(`div`,{"data-state":R?`working`:z?`open`:`closed`,"data-content":B,"aria-busy":R,className:l(`w-full text-sm`,S),children:[R?(0,k.jsx)(`div`,{id:D,role:`status`,className:`flex h-7 min-w-0 items-center text-muted-foreground`,children:v?v({label:X,duration:u}):(0,k.jsx)(j,{children:X})}):(0,k.jsxs)(`button`,{id:D,type:`button`,"aria-expanded":z,"aria-controls":O,onClick:Y,className:`group flex h-7 min-w-0 items-center gap-1.5 rounded-md text-left font-medium text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background`,children:[(0,k.jsx)(`span`,{className:`truncate`,children:y?y({summary:Z,duration:u}):Z}),(0,k.jsx)(r.span,{"aria-hidden":`true`,animate:{rotate:z?180:0},transition:w?{duration:0}:o,className:`inline-flex shrink-0 text-muted-foreground/70 group-hover:text-foreground`,children:(0,k.jsx)(f,{className:`size-3.5`})})]}),(0,k.jsx)(x,{id:O,role:`region`,"aria-labelledby":D,open:z,openHeight:H,children:(0,k.jsx)(`div`,{ref:M,className:l(`scrollbar-hide pr-1`,q&&z&&!R?`overflow-y-auto`:`overflow-y-hidden`),style:{height:H,maskImage:Q,WebkitMaskImage:Q},children:(0,k.jsx)(r.div,{ref:A,role:`list`,initial:!1,animate:{y:J},transition:w?{duration:0}:i,className:l(`space-y-0.5 py-2`,C),children:(0,k.jsx)(s,{mode:`popLayout`,children:e.map(e=>(0,k.jsx)(r.div,{layout:`position`,role:`listitem`,initial:w?{opacity:1}:{opacity:0,y:6},animate:{opacity:1,y:0},exit:w?{opacity:0}:{opacity:0,y:-3},transition:w?{duration:0}:{opacity:{duration:.18,ease:a},y:i,layout:i},children:(0,k.jsx)(V,{item:e})},e.id))})})})})]})}export{q as AgentActivity};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t}from"./bundle-mjs-DKHVkVWu.js";import{t as n}from"./jsx-runtime-NZYk81nU.js";import{t as r}from"./button-BR2WWrFo.js";import{t as i}from"./createLucideIcon-DwxZHm0M.js";import{i as a,n as o,r as s,t as c}from"./tool-result-Baj3CdL_.js";import{t as l}from"./chevron-right-DrJxToLs.js";import{t as u}from"./package-CdcJFPf2.js";import{r as d,t as f}from"./openui-renderer-DwYFJdbe.js";import{n as p,r as m,t as h}from"./collapsible-BoXtZZWN.js";import{n as g}from"./prime-agent-artifacts-C-g1VPiW.js";import{J as _}from"./chat-C8XDWWXz.js";import{t as v}from"./artifacts-utils-N_kUFbz2.js";var y=i(`layout-template`,[[`rect`,{width:`18`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`f1a2em`}],[`rect`,{width:`9`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`jqznyg`}],[`rect`,{width:`5`,height:`7`,x:`16`,y:`14`,rx:`1`,key:`q5h2i8`}]]),b=e(t(),1),x=n(),S=[];function C(e){if(typeof e==`string`)return e;if(e==null)return``;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function w(e){return e===`running`?`running`:e===`error`?`error`:e===`cancelled`?`cancelled`:`success`}function T(e){return e===`running`?`streaming`:e===`error`?`error`:e===`cancelled`?`cancelled`:`complete`}function E(e){let t=typeof e==`object`&&e?e:void 0;if(!t)return e===void 0?[]:[{label:`result`,text:C(e)}];let n=[];for(let e of[`stdout`,`stderr`,`result`,`error`])t[e]!==void 0&&t[e]!==``&&n.push({label:e,text:C(t[e])});let r=t.details??t.output??t.result;if(n.length===0&&r!==e&&n.push(...E(r)),n.length===0&&Array.isArray(t.content)){let e=t.content.flatMap(e=>typeof e==`string`?[e]:typeof e==`object`&&e&&`text`in e&&typeof e.text==`string`?[e.text]:[]).join(``);e&&n.push({label:t.isError===!0?`error`:`stdout`,text:e})}return n.length>0?n:[{label:`result`,text:C(e)}]}function D(e){let t=typeof e.input==`object`&&e.input!==null?e.input:void 0,n=t?.command??t?.code??t?.script;if(!(typeof n!=`string`||!n))return e.kind===`bash`?{code:n,language:`bash`,label:`Bash`}:e.kind===`ipython`?{code:n,language:/^\s*%%bash(?:\s|$)/im.test(n)?`bash`:`python`,label:`IPython`}:e.kind===`diff`?{code:n,language:`text`,label:`Text`}:{code:n,language:`json`,label:`JSON`}}function O(e){if(e.kind!==`openui-html`)return;let t=typeof e.output==`object`&&e.output!==null?e.output:void 0;if(typeof t?.title==`string`&&typeof t.document==`string`)return{title:t.title,document:t.document}}function k({artifact:e,selected:t}){let n=(0,b.useRef)(null);(0,b.useEffect)(()=>{t&&requestAnimationFrame(()=>{n.current?.focus({preventScroll:!0}),n.current?.scrollIntoView({block:`nearest`})})},[t]);let r=O(e);return(0,x.jsxs)(`article`,{ref:n,"data-artifact-id":e.id,tabIndex:-1,className:`min-w-0 rounded-md border border-border/60 bg-background p-2.5 outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:[(0,x.jsxs)(`div`,{className:`mb-2 flex min-w-0 items-center gap-2`,children:[(0,x.jsx)(y,{className:`size-3.5 shrink-0 text-foreground/45`}),(0,x.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs font-medium`,title:e.title,children:e.title||`OpenUI artifact`}),(0,x.jsx)(`span`,{className:`shrink-0 text-[10px] text-foreground/40`,children:e.status})]}),r?(0,x.jsx)(d,{artifact:r}):(0,x.jsxs)(`div`,{role:`alert`,className:`space-y-2 text-xs text-destructive`,children:[(0,x.jsx)(`p`,{children:`OpenUI artifact data is unavailable.`}),(0,x.jsx)(`pre`,{className:`max-h-48 overflow-auto whitespace-pre-wrap break-words rounded bg-foreground/5 p-2 text-foreground/70`,children:C(e.output)})]})]})}function A({artifact:e,selected:t}){let n=(0,b.useRef)(null),r=t||e.status===`running`,[i,l]=(0,b.useState)(r);(0,b.useEffect)(()=>{t&&(l(!0),requestAnimationFrame(()=>{n.current?.focus({preventScroll:!0}),n.current?.scrollIntoView({block:`nearest`})}))},[t]);let u=D(e),d=E(e.output),f=e.kind===`diff`||e.kind===`refinement`?g(e):void 0;return(0,x.jsxs)(`article`,{ref:n,"data-artifact-id":e.id,tabIndex:-1,className:`rounded-md border border-border/60 bg-background px-2.5 py-2 outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:[f?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(s,{file:f.file,lines:f.lines,status:T(e.status),defaultOpen:r,copyText:f.copyText,maxHeight:240}),d.map(e=>(0,x.jsx)(o,{label:e.label,language:`text`,children:e.text},e.label))]}):null,f?null:(0,x.jsx)(c,{tool:e.kind,title:e.title,status:w(e.status),open:i,onOpenChange:l,defaultOpen:r,kind:e.kind===`bash`||e.kind===`ipython`?`terminal`:`custom`,children:(0,x.jsxs)(`div`,{className:`space-y-3`,children:[u?(0,x.jsx)(a,{code:u.code,language:u.language,languageLabel:u.label,showStatus:!1,showLineNumbers:!1,wrap:!0}):null,d.map(e=>(0,x.jsx)(o,{label:e.label,language:`text`,children:e.text},e.label))]})})]})}function j({block:e,expanded:t,isStreaming:n,onOpenUIAction:i,onToggle:a}){return(0,x.jsxs)(h,{open:t,onOpenChange:a,children:[(0,x.jsxs)(m,{render:(0,x.jsx)(r,{variant:`ghost`,size:`sm`,className:`group w-full justify-start gap-1.5 text-left text-label font-normal text-foreground/65 transition-none hover:bg-foreground/5 hover:text-foreground/80`}),children:[(0,x.jsx)(l,{className:`size-3 shrink-0 text-foreground/35 transition-transform group-data-panel-open:rotate-90`}),(0,x.jsx)(y,{className:`size-3.5 shrink-0 text-foreground/35`}),(0,x.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,title:e.component,children:e.component}),(0,x.jsxs)(`span`,{className:`shrink-0 text-[10px] text-foreground/40`,children:[`#`,e.ordinal]})]}),(0,x.jsx)(p,{children:(0,x.jsx)(`div`,{className:`mb-1 mt-0.5 flex min-w-0 flex-col overflow-hidden rounded-md border border-border/60 bg-background px-2.5 py-2`,children:(0,x.jsx)(_,{resetKeys:[e.content],children:(0,x.jsx)(f,{content:e.content,isStreaming:n,messageId:e.blockId,onOpenUIAction:i})})})})]})}function M({messages:e,onOpenUIAction:t,status:n,artifactRuns:r=S,selectedArtifactId:i}){let a=(0,b.useMemo)(()=>v(e),[e]),[o,s]=(0,b.useState)(null),c=n===`streaming`?a.at(-1)?.blockId:void 0,l=(0,b.useMemo)(()=>r.flatMap(e=>e.artifacts),[r]),d=(0,b.useMemo)(()=>l.filter(e=>e.kind===`openui-html`),[l]),f=(0,b.useMemo)(()=>l.filter(e=>e.kind!==`openui-html`&&e.kind!==`ipython`),[l]);return(0,x.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-2 overflow-hidden`,children:[d.length>0?(0,x.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[(0,x.jsxs)(`div`,{className:`mb-2 flex min-w-0 items-center gap-2 rounded-sm bg-foreground/5 px-2 py-1.5`,children:[(0,x.jsx)(y,{className:`size-3.5 shrink-0 text-foreground/45`}),(0,x.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-label font-medium text-foreground/70`,children:`OpenUI artifacts`}),(0,x.jsx)(`span`,{className:`shrink-0 text-[10px] text-foreground/40`,children:d.length})]}),(0,x.jsx)(`div`,{className:`space-y-1`,children:d.map(e=>(0,x.jsx)(k,{artifact:e,selected:e.id===i},e.id))})]}):null,f.length>0?(0,x.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[(0,x.jsxs)(`div`,{className:`mb-2 flex min-w-0 items-center gap-2 rounded-sm bg-foreground/5 px-2 py-1.5`,children:[(0,x.jsx)(u,{className:`size-3.5 shrink-0 text-foreground/45`}),(0,x.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-label font-medium text-foreground/70`,children:`Technical artifacts`}),(0,x.jsx)(`span`,{className:`shrink-0 text-[10px] text-foreground/40`,children:f.length})]}),(0,x.jsx)(`div`,{className:`space-y-1`,children:f.map(e=>(0,x.jsx)(A,{artifact:e,selected:e.id===i},e.id))})]}):null,(0,x.jsxs)(`div`,{className:`flex min-h-0 flex-col`,children:[(0,x.jsxs)(`div`,{className:`mb-2 flex min-w-0 items-center gap-2 rounded-sm bg-foreground/5 px-2 py-1.5`,children:[(0,x.jsx)(y,{className:`size-3.5 shrink-0 text-foreground/45`}),(0,x.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-label font-medium text-foreground/70`,children:`Generative UI`}),(0,x.jsx)(`span`,{className:`shrink-0 text-[10px] text-foreground/40`,children:a.length>0?`${a.length}`:`none yet`})]}),a.length===0?(0,x.jsx)(`p`,{className:`px-2 pb-1 text-[11px] leading-4 text-foreground/40`,children:`OpenUI interfaces the agent generates in this session appear here, and can be re-opened without scrolling the conversation.`}):(0,x.jsx)(`div`,{className:`flex min-h-0 flex-col gap-0.5 overflow-y-auto`,children:a.map(e=>(0,x.jsx)(j,{block:e,expanded:e.blockId===o,isStreaming:e.blockId===c,onOpenUIAction:t,onToggle:()=>s(t=>t===e.blockId?null:e.blockId)},e.blockId))})]})]})}export{M as ArtifactsPanelContent};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t}from"./bundle-mjs-DKHVkVWu.js";import{t as n}from"./jsx-runtime-NZYk81nU.js";import{t as r}from"./utils-Eg7xtNmV.js";import{t as i}from"./chevron-down-BEVGmnSb.js";import{n as a,r as o,t as s}from"./collapsible-BoXtZZWN.js";import{n as c,r as l,t as u}from"./surfaces-cW-gp56p.js";import{r as d}from"./range-BWOHiLNe.js";var f=e(t(),1),p=n(),m={dots:`rounded-full`,squares:`rounded-[1px]`,rounded:`rounded-[3px]`};function h({label:e,tick:t,variant:n=`dots`,className:i,...a}){let o=Math.floor(t/3);return(0,p.jsxs)(`div`,{"data-slot":`generation-loader`,className:r(`flex flex-col items-center gap-4`,i),...a,children:[(0,p.jsx)(`div`,{"aria-hidden":!0,className:`grid grid-cols-3 gap-1`,children:Array.from({length:9},(e,t)=>{let i=(t*2+o)%9<3;return(0,p.jsx)(`span`,{className:r(`bg-foreground size-2 transition-opacity duration-300 motion-reduce:transition-none`,m[n],i?`opacity-90`:`opacity-15`)},t)})}),(0,p.jsx)(u,{className:`text-foreground/55 relative inline-block text-sm`,children:e})]})}function g({label:e,elapsed:t,className:n,...i}){return(0,p.jsxs)(`div`,{"data-slot":`thinking-indicator`,className:r(`text-foreground/55 flex items-center gap-2.5 text-sm`,n),...i,children:[(0,p.jsx)(`span`,{"aria-hidden":!0,className:`size-1.5 shrink-0 animate-pulse rounded-full bg-blue-500 motion-reduce:animate-none dark:bg-blue-400`}),(0,p.jsx)(u,{className:`fade-in slide-in-from-bottom-1 animate-in relative inline-block leading-none duration-300`,children:e},e),t!==void 0&&(0,p.jsx)(`span`,{className:r(`font-mono text-[11px] tracking-tight`,`text-foreground/30 tabular-nums`),children:t})]})}function _({steps:e,visibleSteps:t,streaming:n,streamingLabel:f=`Thinking`,open:m,onOpenChange:h,restingLabel:g,elapsed:_,className:v}){let y=d(e,t);return(0,p.jsxs)(s,{"data-slot":`reasoning-panel`,open:m,onOpenChange:h,className:r(`w-full max-w-sm`,v),children:[(0,p.jsxs)(o,{className:`group/trigger text-foreground/55 hover:text-foreground/90 flex items-center gap-1.5 py-1 text-[13.5px] transition-[color,scale] outline-none active:scale-[0.98]`,children:[(0,p.jsxs)(c,{active:+!n,className:`text-start`,children:[(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(u,{active:n,className:`relative inline-block leading-none`,children:f}),_!==void 0&&(0,p.jsx)(`span`,{className:r(`font-mono text-[11px] tracking-tight`,`text-foreground/30 tabular-nums`),children:_})]}),(0,p.jsx)(p.Fragment,{children:g})]}),(0,p.jsx)(i,{className:`size-3.5 shrink-0 opacity-60 transition-transform duration-200 ease-[cubic-bezier(0.32,0.72,0,1)] group-data-open/trigger:rotate-180 group-data-panel-open/trigger:rotate-180 motion-reduce:transition-none`})]}),(0,p.jsx)(a,{className:r(l,`outline-none`),children:(0,p.jsx)(`ol`,{className:`flex flex-col gap-4 pt-3 pb-1`,children:y.map((e,t)=>{let i=n&&t===y.length-1;return(0,p.jsxs)(`li`,{className:`fade-in slide-in-from-bottom-1 animate-in fill-mode-both flex gap-3 duration-300`,children:[(0,p.jsx)(`span`,{"aria-hidden":!0,className:r(`mt-[7px] size-[5px] shrink-0 rounded-full transition-colors duration-300`,i?`animate-pulse bg-blue-500 dark:bg-blue-400`:`bg-foreground/20`)}),(0,p.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,p.jsx)(`p`,{className:`text-foreground/90 text-[13.5px] font-medium`,children:e.title}),(0,p.jsx)(`p`,{className:`text-foreground/50 mt-0.5 text-[13px] leading-relaxed break-words`,children:e.body})]})]},e.id??`${e.title}-${t}`)})})})]})}function v({presentation:e,className:t,streamingOverride:n}){let[i,a]=(0,f.useState)(void 0),o=n??e.streaming,s=i??o,c=(0,f.useMemo)(()=>e.steps.map(e=>({id:e.id,title:e.title,body:e.body})),[e.steps]);if(!o&&c.length===0)return null;let l=Math.min(Math.max(0,e.visibleSteps),c.length),u=c.at(l-1),d=u?.title??y(e.phase),m=b(e.elapsedMs);return(0,p.jsxs)(`section`,{"data-slot":`fleet-reasoning-presentation`,"aria-label":`Safe reasoning progress`,className:r(`w-full max-w-xl rounded-xl border border-border/60 bg-muted/30 px-3 py-2.5 shadow-sm shadow-black/[0.02] dark:shadow-black/15`,t),children:[o?(0,p.jsx)(`div`,{className:`mb-1.5 flex flex-col gap-1.5 border-b border-border/45 pb-2.5`,children:u?.body?(0,p.jsxs)(p.Fragment,{children:[(0,p.jsx)(g,{label:d,elapsed:m,className:`text-[13px]`}),(0,p.jsx)(`p`,{className:`pl-4 text-xs font-normal text-muted-foreground`,children:u.body})]}):(0,p.jsx)(h,{label:d,tick:Math.floor((e.elapsedMs??0)/250),variant:`dots`,className:`items-start gap-2 px-1 py-1 text-left`})}):null,(0,p.jsx)(_,{steps:c,visibleSteps:l,streaming:o,streamingLabel:`Preparing response`,open:s,onOpenChange:a,restingLabel:e.restingLabel,elapsed:m,className:`max-w-none`})]})}function y(e){switch(e){case`waiting`:return`Preparing run`;case`context`:return`Reviewing workspace context`;case`planning`:return`Organising the response`;case`executing`:return`Completing requested work`;case`responding`:return`Writing the response`;case`recovering`:return`Recovering the run`;case`error`:return`Run needs attention`;case`complete`:return`Completed`;default:return`Working`}}function b(e){if(e===void 0)return;let t=Math.max(0,Math.round(e/1e3));return t<60?String(t)+`s`:String(Math.floor(t/60))+`m `+String(t%60)+`s`}export{v as FleetReasoningPanel};
@@ -1 +0,0 @@
1
- import{n as e,r as t}from"./rolldown-runtime-hePW80VL.js";import{i as n}from"./bundle-mjs-DKHVkVWu.js";import{t as r}from"./jsx-runtime-NZYk81nU.js";import{t as i}from"./utils-Eg7xtNmV.js";import{t as a}from"./createLucideIcon-DwxZHm0M.js";import{t as o}from"./chevron-down-BEVGmnSb.js";import{t as s}from"./terminal-DOS1s1gm.js";import{t as c}from"./wrench-BJNNe07k.js";var l=a(`file-pen-line`,[[`path`,{d:`M14.364 13.634a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506l4.013-4.009a1 1 0 0 0-3.004-3.004z`,key:`ukzhwg`}],[`path`,{d:`M14.487 7.858A1 1 0 0 1 14 7V2`,key:`1klhew`}],[`path`,{d:`M20 19.645V20a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l2.516 2.516`,key:`rxaxab`}],[`path`,{d:`M8 18h1`,key:`13wk12`}]]),u=a(`file-search`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`11.5`,cy:`14.5`,r:`2.5`,key:`1bq0ko`}],[`path`,{d:`M13.3 16.3 15 18`,key:`2quom7`}]]),d=e({FleetToolTimeline:()=>b}),f=t(n(),1),p=r();function m(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function h(e,t){let n=m(e);for(let e of[`path`,`filePath`,`command`,`cmd`,`query`,`pattern`,`code`])if(typeof n?.[e]==`string`&&n[e])return n[e];return t}function g(e,t){let n=e.state;return n===`output-error`||n===`error`?`error`:n===`cancelled`||n===`canceled`||n===`aborted`?`cancelled`:n===`input-streaming`||n===`streaming`?t?`running`:`cancelled`:t&&e.output===void 0&&e.result===void 0?`running`:`complete`}function _(e,t,n){let r=e.type;if(typeof r!=`string`||!r.startsWith(`tool-`)||r===`tool-FleetReasoning`||r===`tool-Thinking`)return;let i=r.slice(5),a=i.toLowerCase(),o=a.includes(`edit`)||a.includes(`write`)||a.includes(`patch`)?l:a.includes(`read`)||a.includes(`search`)||a.includes(`grep`)||a.includes(`glob`)?u:a.includes(`bash`)||a.includes(`shell`)||a.includes(`python`)||a.includes(`ipython`)?s:c,d=a.includes(`edit`)||a.includes(`write`)||a.includes(`patch`)?`Edited`:a.includes(`read`)?`Read`:a.includes(`search`)||a.includes(`grep`)||a.includes(`glob`)?`Searched`:a.includes(`bash`)||a.includes(`shell`)||a.includes(`python`)||a.includes(`ipython`)?`Ran`:i;return{id:typeof e.toolCallId==`string`?e.toolCallId:t,icon:o,verb:d,target:h(e.input??e.args,i),status:g(e,n)}}function v(e){let t=e.kind===`diff`?l:e.kind===`bash`||e.kind===`ipython`?s:c;return{id:`artifact:${e.id}`,icon:t,verb:e.kind===`compaction`?`Compacted`:e.kind===`refinement`?`Refined`:e.kind===`recap`?`Recapped`:e.kind===`rlm`?`Delegated`:e.kind===`diff`?`Edited`:`Completed`,target:e.title,status:e.status===`success`?`complete`:e.status}}function y(e){return e===`running`?`text-blue-600 dark:text-blue-400`:e===`error`?`text-destructive`:e===`cancelled`?`text-muted-foreground`:`text-emerald-600 dark:text-emerald-400`}function b({messages:e,artifacts:t=[],streaming:n,className:r}){let a=(0,f.useMemo)(()=>{let r=new Set,i=e.flatMap(e=>e.parts.flatMap((t,i)=>{let a=_(m(t)??{},`${e.id}:${i}`,n);return!a||r.has(a.id)?[]:(r.add(a.id),[a])})),a=t.flatMap(e=>{if(e.sourceToolCallId&&r.has(e.sourceToolCallId))return[];let t=v(e);return r.has(t.id)?[]:(r.add(t.id),[t])});return[...i,...a]},[t,e,n]),[s,c]=(0,f.useState)(!0);if(a.length===0)return null;let l=a.at(-1),u=l?.icon;return(0,p.jsxs)(`section`,{className:i(`mb-2 rounded-xl border border-border/60 bg-muted/20`,r),children:[(0,p.jsxs)(`button`,{type:`button`,"aria-expanded":s,onClick:()=>c(e=>!e),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`,children:[l&&u?(0,p.jsx)(u,{className:i(`size-3.5 shrink-0`,y(l.status),l.status===`running`&&`animate-pulse`)}):null,(0,p.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-medium`,children:n&&l?`${l.verb} ${l.target}`:`${a.length} tool ${a.length===1?`action`:`actions`}`}),(0,p.jsx)(o,{className:i(`size-3.5 text-muted-foreground transition-transform`,s&&`rotate-180`)})]}),s?(0,p.jsx)(`div`,{className:`space-y-1 border-t border-border/50 px-3 py-2`,children:a.map(e=>{let t=e.icon;return(0,p.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-xs`,children:[(0,p.jsx)(t,{className:i(`size-3.5 shrink-0`,y(e.status))}),(0,p.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:e.verb}),(0,p.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-foreground/75`,children:e.target})]},e.id)})}):null]})}export{d as n,b as t};
@@ -1,6 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/openui-renderer-DwYFJdbe.js","assets/rolldown-runtime-hePW80VL.js","assets/bundle-mjs-DKHVkVWu.js","assets/react-dom-Bwxum3ti.js","assets/jsx-runtime-NZYk81nU.js","assets/button-BR2WWrFo.js","assets/createBaseUIEventDetails-DV0dQrBX.js","assets/utils-Eg7xtNmV.js","assets/dialog-BEZuZhzk.js","assets/useBaseUiId-CHqXB2UQ.js","assets/x-CsRC_tCI.js","assets/createLucideIcon-DwxZHm0M.js","assets/provider-catalog-D8G66gwc.js","assets/check-JjHKAZas.js","assets/chevron-down-BEVGmnSb.js","assets/useControlled-CJJ9BOQB.js","assets/input-0wwjWjKq.js","assets/chevron-up-CnSvySGH.js","assets/card-BKl76a3R.js","assets/chunk-YOKDWASO-BAf618wr.js","assets/preload-helper-Czpn1I53.js","assets/lib-ChrQ49PO.js","assets/character-entities-legacy-Wut6vMuj.js","assets/openui-utils-DawGoQNp.js","assets/safe-external-url-D3PJJIcM.js","assets/chat-C8XDWWXz.js","assets/switch-9rTeg6J6.js","assets/markdown-DInPmRUG.js","assets/cn-C8c0S2mI.js","assets/dist-BPaFisIZ.js"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t}from"./bundle-mjs-DKHVkVWu.js";import{t as n}from"./react-dom-Bwxum3ti.js";import{t as r}from"./jsx-runtime-NZYk81nU.js";import{d as i,o as a,r as o}from"./ease-u56MhKYS.js";import{n as s,t as c}from"./use-reduced-motion-eORd7fqW.js";import{t as l}from"./utils-Eg7xtNmV.js";import{t as u}from"./createLucideIcon-DwxZHm0M.js";import{a as d,o as f}from"./citations-BQ_pr_9_.js";import{t as p}from"./check-JjHKAZas.js";import{t as m}from"./chevron-right-DrJxToLs.js";import{r as h}from"./action-swap-roll-BB8DFMuf.js";import{t as g}from"./file-text-T-NcAlZs.js";import{t as _}from"./image-BbPmlw-n.js";import{t as v}from"./x-CsRC_tCI.js";import{t as y}from"./preload-helper-Czpn1I53.js";import"./cn-C8c0S2mI.js";import{t as b}from"./notify-DgMKgZZW.js";import{t as x}from"./openui-utils-DawGoQNp.js";var S=u(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),C=u(`file-braces`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1`,key:`1oajmo`}],[`path`,{d:`M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1`,key:`mpwhp6`}]]),w=u(`file-code`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 12.5 8 15l2 2.5`,key:`1tg20x`}],[`path`,{d:`m14 12.5 2 2.5-2 2.5`,key:`yinavb`}]]),T=e(t(),1),E=(0,T.createContext)(void 0),D=r(),O=(0,T.createContext)({animateIn:!0,variant:`soft`}),k=(0,T.createContext)(()=>{});function A(...e){return t=>{for(let n of e)typeof n==`function`?n(t):n&&(n.current=t)}}var j={duration:.12,ease:o,delay:.04},M={type:`spring`,stiffness:520,damping:27,mass:.52};function N({variant:e=`soft`,align:t,animateIn:n=!1,className:r,children:o,initial:s,animate:u,exit:d,transition:f,layout:p,...m}){let h=c()??!1,g=(0,T.useContext)(E),_=t??g??`start`,v=(0,T.useMemo)(()=>({align:_,animateIn:n,variant:e}),[n,_,e]);return(0,D.jsx)(O.Provider,{value:v,children:(0,D.jsx)(i.div,{"data-slot":`message-bubble`,"data-align":_,"data-variant":e,layout:p,initial:s??!1,animate:u,exit:d??(h?{opacity:0}:{opacity:0,y:-3,scale:.99}),transition:f??(h?{duration:.12}:a),className:l(`group/bubble flex w-full flex-col`,_===`end`?`items-end`:`items-start`,r),...m,children:o})})}function P(e,t){return l(`relative z-0 min-w-9 max-w-[82%] rounded-2xl px-3.5 py-2.5 text-sm leading-6 text-foreground`,`[&_a]:font-medium [&_a]:underline [&_a]:underline-offset-4 [&_code]:rounded [&_code]:bg-background/60 [&_code]:px-1 [&_code]:py-0.5 [&_code]:font-mono [&_code]:text-[0.9em] [&_ol]:my-2 [&_ol]:list-decimal [&_ol]:pl-5 [&_p+p]:mt-2 [&_pre]:my-2 [&_pre]:overflow-x-auto [&_pre]:rounded-xl [&_pre]:bg-background/60 [&_pre]:p-3 [&_ul]:my-2 [&_ul]:list-disc [&_ul]:pl-5`,e===`solid`&&`text-background`,e===`ghost`&&`w-full max-w-none rounded-none px-0 py-0`,e===`danger`&&`text-destructive`,t&&`cursor-pointer text-left outline-none transition-[background-color,color,transform] duration-150 hover:brightness-[0.98] focus-visible:ring-2 focus-visible:ring-ring active:scale-[0.99]`)}function F(e,t){return l(`pointer-events-none absolute inset-0 -z-10 rounded-[inherit]`,t===`end`?`origin-bottom-right`:`origin-bottom-left`,e===`solid`&&`bg-foreground`,e===`soft`&&`bg-muted`,e===`tint`&&`bg-primary/10`,e===`outline`&&`border border-border/70 bg-background`,e===`danger`&&`bg-destructive/10`)}function I({render:e,className:t,children:n,ref:r,...s}){let u=c()??!1,{align:d=`start`,animateIn:f,variant:p}=(0,T.useContext)(O),[m,h]=(0,T.useState)(0),g=(0,T.useCallback)(()=>h(e=>e+1),[]),_=e?.type===`button`||e?.type===`a`,v=l(P(p,_),t),y=(0,D.jsxs)(D.Fragment,{children:[p===`ghost`?null:(0,D.jsx)(i.span,{"aria-hidden":`true`,layout:!u&&`size`,layoutDependency:m,initial:f&&!u?{opacity:0,scale:.92}:!1,animate:{opacity:1,scale:1},transition:u?{duration:0}:{opacity:{duration:.12,ease:o},scale:M,layout:a},className:F(p,d)}),(0,D.jsx)(k.Provider,{value:g,children:(0,D.jsx)(i.div,{initial:f?{opacity:0}:!1,animate:{opacity:1},transition:u?{duration:.12,ease:o}:j,className:`relative`,children:n})})]});if(e){let t=e;return(0,T.cloneElement)(t,{...s,ref:A(t.props.ref,r),className:l(v,t.props.className),children:y,"data-slot":`message-bubble-content`})}return(0,D.jsx)(`div`,{ref:r,"data-slot":`message-bubble-content`,className:v,...s,children:y})}function L({item:e}){return(0,D.jsxs)(`div`,{"data-slot":`preview-rail-card`,className:`rounded-2xl border border-border bg-card p-4 shadow-sm`,children:[(0,D.jsx)(`p`,{"data-slot":`preview-rail-title`,className:`font-medium text-card-foreground`,children:e.label}),e.description?(0,D.jsx)(`div`,{"data-slot":`preview-rail-description`,className:`mt-1 text-sm leading-6 text-muted-foreground`,children:e.description}):null]})}function R({items:e,label:t=`Section navigation`,orientation:n=`vertical`,activeId:r,defaultActiveId:u,onActiveChange:d,onItemSelect:p,renderPreview:m,showPreview:h=!0,previewSide:g=`after`,highlightActive:_=!1,itemSize:v=24,children:y,className:b,railClassName:x,previewContainerClassName:S,previewClassName:C}){let w=(0,T.useId)(),E=c(),O=f(),[k,A]=(0,T.useState)(u??e[0]?.id??``),[j,M]=(0,T.useState)(null),[N,P]=(0,T.useState)(null),F=r??k,I=e.some(e=>e.id===F)?F:e[0]?.id??``,R=j??N??``,z=R||(_?I:``),B=e.findIndex(e=>e.id===z),V=e.length?`repeat(${e.length}, ${v}px)`:void 0,H=n===`horizontal`,U=e=>{r===void 0&&A(e),d?.(e)};return(0,D.jsxs)(i.div,{layoutRoot:!0,onBlur:e=>{e.currentTarget.contains(e.relatedTarget)||P(null)},className:l(`isolate relative flex w-full overflow-visible`,H?`min-h-64 flex-col items-center justify-center`:`min-h-80`,b),children:[(0,D.jsx)(`nav`,{"aria-label":t,onPointerLeave:()=>M(null),style:H?{gridTemplateColumns:V}:{gridTemplateRows:V},className:l(`relative z-10 grid shrink-0`,H?`h-12 w-fit max-w-full self-center justify-center`:`w-12 content-center`,x),children:e.map((e,t)=>{let n=e.id===I,r=e.id===z,o=B<0?1/0:Math.abs(t-B),s=r?1:o===1?.68:o===2?.44:.25,c=(0,D.jsx)(D.Fragment,{children:(0,D.jsx)(i.span,{"data-slot":`preview-rail-tick`,"aria-hidden":`true`,animate:H?{scaleY:s}:{scaleX:s},transition:E?{duration:0}:a,className:l(`block bg-current`,H?`h-12 w-0.5 origin-bottom`:`h-0.5 w-12 origin-left`,r?`text-foreground`:void 0)})}),u=l(`relative flex text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background`,H?`h-12 w-6 items-end justify-center`:`h-6 w-12 items-center`),d=H?{width:v}:{height:v},f=()=>{O&&M(e.id)},m=t=>{t.matches(`:focus-visible`)&&P(e.id)},h=()=>{U(e.id),p?.(e)};return e.href?(0,D.jsx)(`a`,{"data-slot":`preview-rail-item`,href:e.href,target:e.target,rel:e.rel??(e.target===`_blank`?`noreferrer noopener`:void 0),"aria-label":e.ariaLabel??e.label,"aria-current":n?`page`:void 0,onPointerEnter:f,onMouseEnter:f,onPointerDown:()=>P(null),onFocus:e=>m(e.currentTarget),onClick:h,style:d,className:u,children:c},e.id):(0,D.jsx)(`button`,{"data-slot":`preview-rail-item`,type:`button`,"aria-label":e.ariaLabel??e.label,"aria-current":n?`location`:void 0,onPointerEnter:f,onMouseEnter:f,onPointerDown:()=>P(null),onFocus:e=>m(e.currentTarget),onClick:h,style:d,className:u,children:c},e.id)})}),h?(0,D.jsx)(`div`,{"aria-hidden":`true`,style:H?{gridTemplateColumns:V}:{gridTemplateRows:V},className:l(`pointer-events-none absolute z-50 grid`,H?`top-1/2 left-1/2 h-5 w-fit max-w-full -translate-x-1/2 -translate-y-1/2 justify-center`:g===`before`?`inset-y-0 right-16 left-4 content-center`:`inset-y-0 right-4 left-16 content-center`,S),children:e.map(e=>(0,D.jsx)(`div`,{style:H?{width:v}:{height:v},className:l(`relative flex items-center`,H?`justify-center`:void 0),children:(0,D.jsx)(s,{mode:`wait`,initial:!1,children:e.id===R?(0,D.jsx)(i.div,{initial:E?{opacity:0}:{opacity:0,y:4,filter:`blur(6px)`},animate:E?{opacity:1}:{opacity:1,y:0,filter:`blur(0px)`},exit:E?{opacity:0}:{opacity:0,y:-2,filter:`blur(4px)`,transition:{duration:.12,ease:o}},transition:{duration:E?0:.18,ease:o},className:l(H?`absolute bottom-12 left-1/2 w-72 -translate-x-1/2`:l(`w-full max-w-sm`,g===`before`&&`ml-auto`),C),children:(0,D.jsx)(i.div,{layoutId:`preview-rail-card-${w}`,transition:E?{duration:0}:a,children:m?m(e):(0,D.jsx)(L,{item:e})})},e.id):null})},e.id))}):null,y?(0,D.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1`,children:y}):null]})}var z=56,B=88;function V(e,t){if(e.length<=t)return e;let n=e.slice(0,t),r=n.lastIndexOf(` `);return`${n.slice(0,r>t*.65?r:t).trim()}…`}function H(e){return((e.querySelector(`[data-slot="message-bubble-content"]`)??e.querySelector(`[data-slot="message-content"]`)??e).textContent??``).replace(/\s+/g,` `).trim()}function U(e,t){let n=H(e);if(!n)return{label:`Message`,description:void 0};if(n.length<=z){let e=t?H(t):``;return{label:n,description:e?V(e,B):void 0}}let r=n.slice(0,z).lastIndexOf(` `),i=r>z*.65?r:z,a=`${n.slice(0,i).trim()}…`,o=t?H(t):n.slice(i).trim();return{label:a,description:o?V(o,B):void 0}}function ee({navigation:e,followThreshold:t,contentRef:n,viewportRef:r,reduce:i,smooth:a,scrollToEnd:o,setFollowing:s,markProgrammaticScroll:c}){let l=(0,T.useRef)(void 0),u=(0,T.useRef)(new WeakMap),d=(0,T.useRef)(0),f=(0,T.useRef)(new Map),[p,m]=(0,T.useState)([]),[h,g]=(0,T.useState)(``),[_,v]=(0,T.useState)(!1),y=(0,T.useCallback)(()=>{if(e!==`rail`)return;let n=r.current,i=[...f.current.entries()];if(!n||i.length===0)return;let a=n.getBoundingClientRect();if(n.scrollTop<=t){let e=i[0]?.[0]??``;g(t=>t===e?t:e);return}if(n.scrollHeight-n.scrollTop-n.clientHeight<=t){let e=i.at(-1)?.[0]??``;g(t=>t===e?t:e);return}let o=a.top+a.height/2,s=i[0]?.[0]??``,c=1/0;for(let[e,t]of i){let n=t.getBoundingClientRect(),r=Math.abs(n.top+n.height/2-o);r<c&&(c=r,s=e)}g(e=>e===s?e:s)},[t,e,r]),b=(0,T.useCallback)(()=>{if(e!==`rail`)return;let t=n.current,i=r.current;if(!t||!i)return;let a=Array.from(t.querySelectorAll(`[data-slot="message"]`)),o=new Map,s=a.map((e,t)=>{let n=u.current.get(e);n||(d.current+=1,n=`message-rail-${d.current}`,u.current.set(e,n)),o.set(n,e);let r=e.dataset.from??`conversation`,i=U(e,r===`user`?a.slice(t+1).find(e=>e.dataset.from===`assistant`):void 0);return{id:n,label:i.label,description:i.description,ariaLabel:`Go to ${r} message ${t+1} of ${a.length}`}});f.current=o,m(e=>e.length===s.length&&e.every((e,t)=>e.id===s[t]?.id&&e.label===s[t]?.label&&e.description===s[t]?.description&&e.ariaLabel===s[t]?.ariaLabel)?e:s),v(i.scrollHeight>i.clientHeight+1&&a.length>1)},[n,e,r]),x=(0,T.useCallback)(()=>{e===`rail`&&(l.current&&cancelAnimationFrame(l.current),l.current=requestAnimationFrame(()=>{b(),y()}))},[e,b,y]);return(0,T.useEffect)(()=>{if(e!==`rail`){f.current.clear(),m([]),v(!1);return}let t=n.current,i=r.current;if(!t||!i)return;x();let a=typeof MutationObserver>`u`?null:new MutationObserver(x);a?.observe(t,{childList:!0,characterData:!0,subtree:!0});let o=typeof ResizeObserver>`u`?null:new ResizeObserver(x);return o?.observe(t),o?.observe(i),()=>{a?.disconnect(),o?.disconnect()}},[n,e,x,r]),(0,T.useEffect)(()=>()=>{l.current&&cancelAnimationFrame(l.current)},[]),{activeRailId:h,railItems:p,railOverflowing:_,scheduleRailSync:x,scrollToRailItem:(0,T.useCallback)(e=>{let t=r.current,n=f.current.get(e.id);if(!t||!n)return;let l=p.at(-1)?.id===e.id;if(g(e.id),l){s(!0),o(i||!a?`auto`:`smooth`);return}s(!1),c(i||!a?`auto`:`smooth`);let u=t.getBoundingClientRect(),d=n.getBoundingClientRect(),m=t.scrollTop+d.top-u.top-(t.clientHeight-d.height)/2,h=i||!a?`auto`:`smooth`;typeof t.scrollTo==`function`?t.scrollTo({top:m,behavior:h}):t.scrollTop=m},[c,p,i,o,s,a,r])}}function W({followOutput:e=!0,followThreshold:t=56,smooth:n=!0,onFollowChange:r,label:i=`Conversation`,busy:a,navigation:o,navigationLabel:s=`Message navigation`,viewportClassName:u,contentClassName:d,railClassName:f,viewportRef:p,viewportProps:m,contentProps:h,className:g,children:_,...v}){let y=c()??!1,b=(0,T.useRef)(null),x=(0,T.useRef)(null),S=(0,T.useRef)(e),C=(0,T.useRef)(!1),w=(0,T.useRef)(void 0),E=(0,T.useRef)(void 0),{onScroll:O,onWheel:k,onTouchStart:A,onKeyDown:j,...M}=m??{},N=(0,T.useCallback)(e=>{b.current=e,typeof p==`function`?p(e):p&&(p.current=e)},[p]),P=(0,T.useCallback)(e=>{S.current!==e&&(S.current=e,r?.(e))},[r]),F=(0,T.useCallback)(e=>{C.current=!0,w.current&&window.clearTimeout(w.current),w.current=window.setTimeout(()=>{C.current=!1},e===`smooth`?320:0)},[]),I=(0,T.useCallback)(e=>{let t=b.current;t&&(F(e),typeof t.scrollTo==`function`?t.scrollTo({top:t.scrollHeight,behavior:e}):t.scrollTop=t.scrollHeight)},[F]),{activeRailId:L,railItems:z,railOverflowing:B,scheduleRailSync:V,scrollToRailItem:H}=ee({navigation:o,followThreshold:t,contentRef:x,viewportRef:b,reduce:y,smooth:n,scrollToEnd:I,setFollowing:P,markProgrammaticScroll:F}),U=(0,T.useEffectEvent)(V),W=(0,T.useEffectEvent)(I),G=(0,T.useCallback)(()=>{let e=b.current;if(!e||C.current)return;let n=e.scrollHeight-e.scrollTop-e.clientHeight;P(n<=t),V()},[t,V,P]),K=(0,T.useCallback)(()=>{C.current=!1},[]);(0,T.useLayoutEffect)(()=>{if(S.current=e,e)return E.current=requestAnimationFrame(()=>W(`auto`)),()=>{E.current&&cancelAnimationFrame(E.current)}},[e]),(0,T.useEffect)(()=>{let t=x.current;if(!t||typeof ResizeObserver>`u`)return;let r=new ResizeObserver(()=>{U(),!(!e||!S.current)&&W(y||!n?`auto`:`smooth`)});return r.observe(t),()=>r.disconnect()},[e,y,n]),(0,T.useEffect)(()=>()=>{w.current&&window.clearTimeout(w.current),E.current&&cancelAnimationFrame(E.current)},[]);let q=(0,D.jsx)(`section`,{ref:N,"aria-label":i,...M,onScroll:e=>{G(),O?.(e)},onWheel:e=>{K(),k?.(e)},onTouchStart:e=>{K(),A?.(e)},onKeyDown:e=>{[`ArrowUp`,`PageUp`,`Home`].includes(e.key)&&K(),j?.(e)},className:l(`h-full overflow-y-auto overscroll-contain outline-none [overflow-anchor:none] focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring`,o===`rail`?`[-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`:`[scrollbar-gutter:stable]`,u,o===`rail`&&B&&`pr-10`),children:(0,D.jsx)(`div`,{ref:x,role:`log`,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-busy":a,className:d,...h,children:_})});return(0,D.jsx)(`div`,{"data-slot":`message-scroller`,className:l(`min-h-0`,g),...v,children:o===`rail`?(0,D.jsx)(R,{items:B?z:[],label:s,activeId:L,onItemSelect:H,previewSide:`before`,highlightActive:!0,itemSize:14,className:`h-full min-h-0 overflow-hidden`,previewContainerClassName:`right-8 left-3`,previewClassName:`mr-1 w-64 max-w-full [&_[data-slot=preview-rail-card]]:h-20 [&_[data-slot=preview-rail-card]]:overflow-hidden [&_[data-slot=preview-rail-card]]:p-3 [&_[data-slot=preview-rail-title]]:line-clamp-1 [&_[data-slot=preview-rail-title]]:text-xs [&_[data-slot=preview-rail-title]]:leading-4 [&_[data-slot=preview-rail-description]]:line-clamp-2 [&_[data-slot=preview-rail-description]]:text-xs [&_[data-slot=preview-rail-description]]:leading-4`,railClassName:l(`absolute inset-y-3 right-1 w-7 content-center py-1 [&_[data-slot=preview-rail-item]]:w-7 [&_[data-slot=preview-rail-item]]:justify-end [&_[data-slot=preview-rail-tick]]:h-px [&_[data-slot=preview-rail-tick]]:w-4 [&_[data-slot=preview-rail-tick]]:origin-right`,B?`pointer-events-auto opacity-100`:`pointer-events-none opacity-0`,f),children:q}):q})}var G=(0,T.createContext)({from:`assistant`}),K={type:`spring`,stiffness:480,damping:32,mass:.62};function q({from:e,animateIn:t=!1,children:n,className:r,initial:a,animate:o,transition:s,exit:u,style:d,...f}){let p=c()??!1,m=(0,T.useMemo)(()=>({from:e}),[e]);return(0,D.jsx)(E.Provider,{value:e===`user`?`end`:`start`,children:(0,D.jsx)(G.Provider,{value:m,children:(0,D.jsx)(i.article,{"data-slot":`message`,"data-from":e,"aria-label":f[`aria-label`]??`${e} message`,initial:a??(t&&!p?{opacity:0,transform:`translateY(8px) scale(0.95)`}:!1),animate:o??(t&&!p?{opacity:1,transform:`translateY(0px) scale(1)`}:{opacity:1}),exit:u??(p?{opacity:0}:{opacity:0,transform:`translateY(-3px) scale(0.99)`}),transition:s??(p?{duration:.12}:K),style:{transformOrigin:e===`user`?`100% 100%`:`0% 100%`,...d},className:l(`group/message flex w-full items-start gap-2`,e===`user`?`flex-row-reverse`:`flex-row`,r),...f,children:n})})})}function te({className:e,...t}){let{from:n}=(0,T.useContext)(G);return(0,D.jsx)(`div`,{"data-slot":`message-content`,className:l(`flex min-w-0 flex-1 flex-col gap-1.5`,n===`user`?`items-end`:`items-start`,e),...t})}var ne=e(n(),1);function re({open:e,onClose:t,images:n,initialIndex:r=0}){let[i,a]=(0,T.useState)(r),o=n.length>1;(0,T.useEffect)(()=>{e&&a(r)},[e,r]);let s=(0,T.useCallback)(e=>{e?.stopPropagation(),a(e=>e>0?e-1:n.length-1)},[n.length]),c=(0,T.useCallback)(e=>{e?.stopPropagation(),a(e=>e<n.length-1?e+1:0)},[n.length]),u=(0,T.useEffectEvent)(e=>{switch(e.key){case`ArrowLeft`:e.preventDefault(),o&&s();break;case`ArrowRight`:e.preventDefault(),o&&c()}});(0,T.useEffect)(()=>{if(!e)return;let t=e=>u(e);return window.addEventListener(`keydown`,t,!0),()=>window.removeEventListener(`keydown`,t,!0)},[e]),(0,T.useEffect)(()=>{if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=t}},[e]);let d=(0,T.useRef)(null),f=(0,T.useEffectEvent)(e=>{d.current&&e.target===d.current&&t()});if((0,T.useEffect)(()=>{if(!e)return;let t=d.current;if(!t)return;t.open||t.showModal();let n=e=>f(e);return t.addEventListener(`click`,n),()=>{t.removeEventListener(`click`,n),t.open&&t.close()}},[e]),typeof document>`u`||!e)return null;let p=n[i]??n[0];return p?.url?(0,ne.createPortal)((0,D.jsxs)(`dialog`,{ref:d,"aria-label":`Image viewer`,onClose:()=>t(),className:`fixed inset-0 z-50 m-0 flex h-full max-h-none w-full max-w-none items-center justify-center border-0 bg-black/90 p-0 backdrop:bg-transparent`,children:[(0,D.jsx)(`button`,{type:`button`,onClick:t,"aria-label":`Close fullscreen (Esc)`,className:`absolute top-4 right-4 z-10 inline-flex size-9 items-center justify-center rounded-full bg-black/50 text-white transition-colors hover:bg-black/70`,children:(0,D.jsx)(v,{className:`size-5`})}),o&&(0,D.jsx)(`button`,{type:`button`,onClick:s,"aria-label":`Previous image (←)`,className:`absolute top-1/2 left-4 z-10 inline-flex size-10 -translate-y-1/2 items-center justify-center rounded-full bg-black/50 text-white transition-colors hover:bg-black/70`,children:(0,D.jsx)(S,{className:`size-6`})}),(0,D.jsx)(`img`,{src:p.url,alt:p.filename??`Image preview`,className:`max-h-[85vh] max-w-[90vw] object-contain select-none`,onClick:e=>e.stopPropagation(),draggable:!1}),o&&(0,D.jsx)(`button`,{type:`button`,onClick:c,"aria-label":`Next image (→)`,className:`absolute top-1/2 right-4 z-10 inline-flex size-10 -translate-y-1/2 items-center justify-center rounded-full bg-black/50 text-white transition-colors hover:bg-black/70`,children:(0,D.jsx)(m,{className:`size-6`})}),o&&(0,D.jsxs)(`div`,{className:`absolute bottom-6 left-1/2 flex -translate-x-1/2 flex-col items-center gap-3`,children:[(0,D.jsx)(`div`,{className:`flex gap-2`,children:n.map((e,t)=>(0,D.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),a(t)},"aria-label":`Go to image ${t+1}`,className:l(`size-2 rounded-full transition-all`,t===i?`scale-125 bg-white`:`bg-white/40 hover:bg-white/60`)},e.url))}),(0,D.jsxs)(`span`,{className:`text-sm text-white/70`,children:[i+1,` / `,n.length]})]})]}),document.body):null}function ie(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function ae(e,t){if(t)return`image`;let n=e.split(`.`).pop()?.toLowerCase();return[`js`,`ts`,`jsx`,`tsx`,`py`,`rb`,`go`,`rs`,`java`,`kt`,`swift`,`c`,`cpp`,`h`,`hpp`,`cs`,`php`].includes(n||``)?`code`:[`json`,`yaml`,`yml`,`xml`].includes(n||``)?`data`:`text`}function oe(e){switch(e){case`image`:return(0,D.jsx)(_,{className:`size-4 text-muted-foreground`});case`code`:return(0,D.jsx)(w,{className:`size-4 text-muted-foreground`});case`data`:return(0,D.jsx)(C,{className:`size-4 text-muted-foreground`});default:return(0,D.jsx)(g,{className:`size-4 text-muted-foreground`})}}function se({id:e,filename:t,size:n,isImage:r,url:i,onRemove:a,className:o,display:s=`chip`,enableImagePreview:c=!0}){let[u,d]=(0,T.useState)(!1),[f,p]=(0,T.useState)(!1),m=ae(t,r),h=s===`image-only`&&r&&!!i,g=!!(c&&r&&i),_=e=>{e?.stopPropagation(),p(!0)};return(0,D.jsxs)(`div`,{className:l(`relative rounded-[calc(var(--an-input-border-radius)-var(--an-context-padding))] bg-muted/50`,h?`flex size-10 items-center justify-center`:`flex max-w-[200px] min-w-[120px] items-center gap-2 py-1 pr-2 pl-1`,o),onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),children:[h?(0,D.jsx)(`div`,{className:l(`size-8 shrink-0 overflow-hidden rounded-[calc(var(--an-input-border-radius)-var(--an-context-padding)-2px)]`,g&&`cursor-pointer`),onClick:g?_:void 0,role:g?`button`:void 0,tabIndex:g?0:void 0,"aria-label":g?`Preview ${t}`:void 0,onKeyDown:g?e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),_())}:void 0,children:(0,D.jsx)(`img`,{src:i,alt:t,className:`h-full w-full object-cover`})}):(0,D.jsxs)(D.Fragment,{children:[r&&i?(0,D.jsx)(`div`,{className:l(`w-8 shrink-0 self-stretch overflow-hidden rounded-[calc(var(--an-input-border-radius)-var(--an-context-padding)-2px)]`,g&&`cursor-pointer`),onClick:g?_:void 0,role:g?`button`:void 0,tabIndex:g?0:void 0,"aria-label":g?`Preview ${t}`:void 0,onKeyDown:g?e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),_())}:void 0,children:(0,D.jsx)(`img`,{src:i,alt:t,className:`aspect-square h-full w-full object-cover`})}):(0,D.jsx)(`div`,{className:`flex w-8 shrink-0 items-center justify-center self-stretch rounded-[calc(var(--an-input-border-radius)-var(--an-context-padding)-2px)] bg-muted`,children:oe(m)}),(0,D.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[(0,D.jsx)(`span`,{className:`truncate text-sm font-medium text-foreground`,title:t,children:t}),n!==void 0&&(0,D.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:ie(n)})]})]}),a&&(0,D.jsx)(`button`,{onClick:e=>{e.stopPropagation(),a()},"aria-label":`Remove ${t}`,className:`absolute -top-1.5 -right-1.5 z-10 flex size-4 items-center justify-center rounded-full border border-border bg-background text-muted-foreground transition-[opacity,transform] duration-150 ease-out hover:text-foreground active:scale-[0.97] ${u?`opacity-100`:`opacity-0`}`,type:`button`,children:(0,D.jsx)(v,{className:`size-3`})}),g&&i&&(0,D.jsx)(re,{open:f,onClose:()=>p(!1),images:[{id:e,url:i,filename:t}]})]})}function J(e){return typeof e==`object`&&!!e}function Y(e){return J(e)&&e.type===`text`&&typeof e.text==`string`}function ce(e){return J(e)&&e.type===`error`&&typeof e.message==`string`}function le(e){return J(e)&&e.type===`payload`&&typeof e.kind==`string`&&typeof e.title==`string`}function X(e){if(!J(e))return!1;let t=e.type;return t===`dynamic-tool`||typeof t==`string`&&t.startsWith(`tool-`)}function ue(e,t){let n=[];for(let t of e)Y(t)&&n.push(t.text);return n.join(t)}function Z(e){return typeof e==`object`&&!!e}function de(e){if(!Z(e))return null;let t=e.type;if(typeof t!=`string`)return null;if(t===`image`){let t=e;return t.url??t.image??null}if(t===`data-image`)return e.data?.url??null;if(t===`file`){let t=e;if(t.mimeType?.startsWith(`image/`)){if(t.url)return t.url;if(t.data)return`data:${t.mimeType};base64,${t.data}`}}return null}function fe(e){if(!Z(e)||e.type!==`file`)return null;let t=e,n=t.filename||t.name||t.fileName||`Attachment`;return t.mimeType?.startsWith(`image/`)??!1?null:{filename:n,size:t.size}}var pe=(0,T.memo)(function({message:e,className:t,enableImagePreview:n=!0}){let[r,i]=(0,T.useState)(null),a=(e.parts?.filter(Y)??[]).map(e=>e.text).join(``),o=[],s=[];for(let t of e.parts??[]){let e=de(t);e&&o.push(e);let n=fe(t);n&&s.push(n)}if(Z(e)&&Array.isArray(e.experimental_attachments))for(let t of e.experimental_attachments)t.contentType?.startsWith(`image/`)&&t.url&&o.push(t.url);if(!a&&o.length===0&&s.length===0)return null;let c=o.map((t,n)=>({id:`${e.id}-img-${n}`,url:t,filename:`image-${n+1}`}));return(0,D.jsxs)(`div`,{className:l(`flex flex-col items-end gap-1`,t),children:[o.length>0&&o.map((e,t)=>(0,D.jsx)(`div`,{className:l(`max-w-[200px] rounded-an-message bg-an-foreground/4 p-1.5`,n&&`cursor-pointer`),onClick:n?()=>i(t):void 0,role:n?`button`:void 0,tabIndex:n?0:void 0,onKeyDown:n?e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),i(t))}:void 0,children:(0,D.jsx)(`img`,{src:e,alt:`attachment`,className:`block max-h-[120px] max-w-[184px] rounded-an-message-inner object-cover`})},e)),n&&c.length>0&&(0,D.jsx)(re,{open:r!==null,onClose:()=>i(null),images:c,initialIndex:r??0}),s.length>0&&(0,D.jsx)(`div`,{className:`flex flex-col items-end gap-2`,children:s.map((e,t)=>(0,D.jsx)(se,{id:`${e.filename}-${t}`,filename:e.filename,size:e.size},`${e.filename}-${e.size}`))}),a&&(0,D.jsx)(`div`,{className:`ms-[70px] max-w-[calc(95%-40px)]`,children:(0,D.jsx)(`div`,{className:`rounded-an-message bg-an-user-message-bg px-3.5 py-1.5 text-sm text-an-user-message-text transition-colors`,children:(0,D.jsx)(`p`,{className:`leading-5 wrap-break-word whitespace-pre-wrap`,children:a})})})]})}),me=(0,T.memo)(function({title:e=`Something went wrong`,message:t,className:n}){return(0,D.jsx)(`div`,{className:l(`flex justify-start`,n),children:(0,D.jsxs)(`div`,{className:`rounded-[8px] border border-red-500/30 bg-red-500/10 px-4 py-2.5 text-sm text-an-foreground`,children:[(0,D.jsx)(`div`,{className:`font-medium text-an-foreground`,children:e}),(0,D.jsx)(`div`,{className:`mt-0.5 text-an-foreground-muted`,children:t})]})})});function he(e){if(typeof e==`string`)return e;if(e===void 0)return``;try{return JSON.stringify(e,null,2)??``}catch{return String(e)}}function ge({part:e}){let t=he(e.payload);return(0,D.jsxs)(`section`,{"data-payload-kind":e.kind,className:`w-full min-w-0 overflow-hidden rounded-xl border border-border/60 bg-muted/40 text-sm`,children:[(0,D.jsx)(`div`,{className:`border-b border-border/50 px-3 py-2 text-xs font-medium text-muted-foreground`,children:e.title}),e.text?(0,D.jsx)(`pre`,{className:`m-0 whitespace-pre-wrap break-words px-3 py-3 font-mono text-xs leading-5 text-foreground/80`,children:e.text}):null,t?(0,D.jsxs)(`details`,{open:!0,className:`border-t border-border/50 px-3 py-2`,children:[(0,D.jsx)(`summary`,{className:`cursor-pointer text-xs font-medium text-muted-foreground`,children:`Payload`}),(0,D.jsx)(`pre`,{className:`m-0 mt-2 max-w-full whitespace-pre-wrap break-words font-mono text-xs leading-5 text-foreground/70`,children:t})]}):null]})}function _e(e){return typeof e==`object`&&!!e}function Q(e){if(typeof e!=`string`)return e;let t=e.trim();if(!t)return e;try{let n=JSON.parse(t);return _e(n)||Array.isArray(n)?n:e}catch{return e}}function ve(e){if(!_e(e)||typeof e.type!=`string`||!e.type.startsWith(`tool-`))return e;let t=Q(e.input),n=Q(e.output),r=Q(e.result),i=t!==e.input,a=n!==e.output,o=r!==e.result;if(!i&&!a&&!o)return e;let s={...e};return i&&(s.input=t),a&&(s.output=n),o&&(s.result=r),s}function ye(e){let t=!1,n=e.map(e=>{let n=ve(e);return n!==e&&(t=!0),n});return t?n:e}var be=new Intl.DateTimeFormat(`en-US`,{hour:`numeric`,minute:`2-digit`,hour12:!0}),xe=new Intl.DateTimeFormat(`en-US`,{month:`short`,day:`numeric`});function Se(e){let t=new Date;return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()?be.format(e):xe.format(e)}function Ce({text:e,onCopied:t}){let[n,r]=(0,T.useState)(!1),i=(0,T.useRef)(null);return(0,T.useEffect)(()=>()=>{i.current&&window.clearTimeout(i.current)},[]),(0,D.jsx)(`button`,{type:`button`,tabIndex:-1,"aria-label":n?`Copied`:`Copy message`,onClick:async()=>{try{await navigator.clipboard.writeText(e),r(!0),i.current&&window.clearTimeout(i.current),i.current=window.setTimeout(()=>{r(!1),i.current=null},2e3),b.success(`Copied to clipboard`),t?.()}catch{b.error(`Failed to copy to clipboard`)}},onPointerDown:e=>{e.stopPropagation()},onMouseDown:e=>e.stopPropagation(),className:l(`flex size-6 items-center justify-center rounded-md transition-[background-color,opacity,transform] duration-150 ease-out active:scale-[0.97]`,`bg-transparent opacity-50 hover:bg-an-foreground/10 hover:opacity-100`),children:(0,D.jsxs)(`div`,{className:`relative h-3.5 w-3.5`,children:[(0,D.jsx)(h,{className:l(`absolute inset-0 h-3.5 w-3.5 text-an-foreground-muted transition-[opacity,transform] duration-150 ease-out`,n?`scale-50 opacity-0`:`scale-100 opacity-100`)}),(0,D.jsx)(p,{className:l(`absolute inset-0 h-3.5 w-3.5 text-an-foreground-muted transition-[opacity,transform] duration-150 ease-out`,n?`scale-100 opacity-100`:`scale-50 opacity-0`)})]})})}function we({text:e,timestamp:t,heightClass:n,hoverClass:r,isVisible:i,alignClass:a,onCopied:o}){return(0,D.jsxs)(`div`,{className:l(`pointer-events-none flex items-center gap-1 pt-1 text-xs text-an-foreground-muted/70 opacity-0 transition-opacity duration-100`,n,a,r,i&&`pointer-events-auto opacity-100`),onMouseDown:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),children:[t&&(0,D.jsx)(`span`,{children:t}),e&&(0,D.jsx)(Ce,{text:e,onCopied:o})]})}(0,T.memo)(function(e){let{message:t,UserMessageComponent:n,userMessageClassName:r,onCopied:i,display:a}=e,{enableImagePreview:o,showCopyToolbar:s,isMounted:c,isCopyVisible:l}=a,u=ue(t.parts??[],``),d=(t.parts??[]).length>0;if(!u&&!d)return null;let f=t?.createdAt,p=`user-${t.id}`,m=c&&f?Se(new Date(f)):void 0;return(0,D.jsxs)(`div`,{className:`group/user-message`,children:[(0,D.jsx)(n,{message:t,className:r,enableImagePreview:o}),(s&&!!u||!!m)&&(0,D.jsx)(we,{text:s?u:``,timestamp:m,heightClass:`h-[28px]`,hoverClass:`group-hover/user-message:opacity-100 group-hover/user-message:pointer-events-auto`,isVisible:l,alignClass:`justify-end`,onCopied:()=>i(p)})]})}),(0,T.memo)(function(e){let{assistantMsgs:t,turnKey:n,ToolRendererComponent:r,TextRendererComponent:i,toolRenderers:a,onOpenUIAction:o,onOpenUIArtifactReady:s,onOpenArtifact:c,onCopied:l,stream:u,copy:d,display:f}=e,{isLast:p,isStreaming:m}=u,{enabled:h,isVisible:g}=d,{suppressQuestionTool:_}=f,v=ue(t.flatMap(e=>e.parts??[]),`
3
-
4
- `),y=m&&p,b=h&&!!v.trim()&&!y,x=`assistant-${n}-all`,S=h?v:``;return(0,D.jsxs)(`div`,{className:`group/assistant-turn`,children:[(0,D.jsx)(`div`,{className:`flex flex-col gap-3`,children:t.map((e,n)=>{let l=p&&n===t.length-1;return(0,D.jsx)(Oe,{msg:e,isLast:l,isStreaming:m,suppressQuestionTool:_,ToolRendererComponent:r,TextRendererComponent:i,toolRenderers:a,onOpenUIAction:o,onOpenUIArtifactReady:s,onOpenArtifact:c},e.id)})}),(b||g)&&(0,D.jsx)(we,{text:S,heightClass:`h-[48px] flex items-start w-full`,hoverClass:`group-hover/assistant-turn:opacity-100 group-hover/assistant-turn:pointer-events-auto`,isVisible:g,alignClass:`justify-start`,onCopied:()=>l(x)})]})});var Te=`tool-call:`,Ee=`unkeyed-tool:`;function De(e,t,n){return t.toolCallId?`${Te}${t.toolCallId}`:`${Ee}${e}:${t.type}:${n}`}function $(e,t){let{messageId:n,isLast:r,isStreaming:i,suppressQuestionTool:a,suppressTextWhenPlanWrite:o=!1,ToolRendererComponent:s,TextRendererComponent:c,toolRenderers:l,onOpenUIAction:u,onOpenUIArtifactReady:d,onOpenArtifact:f}=t,p=[],m=[],h=o&&e.some(e=>X(e)&&e.type===`tool-PlanWrite`),g=new Set(e.filter(e=>X(e)&&(e.type===`tool-Task`||e.type===`tool-Agent`)&&typeof e.toolCallId==`string`).map(e=>e.toolCallId)),_=new Map,v=new Set,y=new Map;for(let t of e){if(!X(t)||t.type===`tool-TaskOutput`||!t.toolCallId||!t.toolCallId.includes(`:`))continue;let e=t.toolCallId.split(`:`)[0];g.has(e)&&(_.has(e)||_.set(e,[]),_.get(e).push(t),v.add(t.toolCallId))}let b=0;for(;b<e.length;){let t=e[b];if(X(t)&&t.type===`tool-TaskOutput`){b++;continue}if(Y(t)){let e=t.text;e&&!h&&m.push(e),b++;continue}if(ce(t)){p.push((0,D.jsx)(me,{title:t.title,message:t.message},`${n}-error-${t.title}-${t.message}`)),b++;continue}if(le(t)){p.push((0,D.jsx)(ge,{part:t},`${n}-payload-${b}`)),b++;continue}if(X(t)){if(a&&t.type===`tool-Question`){b++;continue}if(t.toolCallId&&v.has(t.toolCallId)){b++;continue}let e=r&&i?`streaming`:void 0,o=t.toolCallId,c=(t.type===`tool-Task`||t.type===`tool-Agent`)&&o?_.get(o)||[]:void 0,u=t.toolCallId?0:y.get(t.type)??0;t.toolCallId||y.set(t.type,u+1),p.push((0,D.jsx)(s,{part:t,nestedTools:c,chatStatus:e,toolRenderers:l},De(n,t,u))),b++;continue}b++}let x=m.join(`
5
-
6
- `);return x&&p.push((0,D.jsx)(`div`,{className:`group/assistant-text text-[14px]`,children:(0,D.jsx)(c,{content:x,isStreaming:i,messageId:n,onOpenUIAction:u,onOpenUIArtifactReady:d,onOpenArtifact:f,className:`leading-relaxed [&_p]:leading-relaxed`})},`${n}-text-final`)),p}function Oe({msg:e,isLast:t,isStreaming:n,suppressQuestionTool:r,ToolRendererComponent:i,TextRendererComponent:a,toolRenderers:o,onOpenUIAction:s,onOpenUIArtifactReady:c,onOpenArtifact:l}){let u=(0,T.useMemo)(()=>ye(e.parts??[]),[e.parts]),d=(0,T.useMemo)(()=>$(u,{messageId:e.id,isLast:t,isStreaming:n,suppressQuestionTool:r,ToolRendererComponent:i,TextRendererComponent:a,toolRenderers:o,onOpenUIAction:s,onOpenUIArtifactReady:c,onOpenArtifact:l}),[u,e.id,t,n,r,i,a,o,s,c,l]);return d.length>1?(0,D.jsx)(`div`,{className:`group/assistant-turn flex flex-col gap-3`,children:d}):(0,D.jsx)(`div`,{className:`group/assistant-turn`,children:d})}function ke(e){let t=[],n;for(let r of e){if(r.role===`user`){n&&t.push(n),n={user:r,assistants:[]};continue}if(r.role===`assistant`){if(!n||r.source===`local`){n&&t.push(n),n={assistants:[r]};continue}n.assistants.push(r)}}return n&&t.push(n),t}var Ae=(0,T.lazy)(()=>y(async()=>{let{GenerativeTextRenderer:e}=await import(`./openui-renderer-DwYFJdbe.js`).then(e=>e.n);return{GenerativeTextRenderer:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29])).then(({GenerativeTextRenderer:e})=>({default:e})));function je({className:e,content:t}){return(0,D.jsx)(`div`,{className:e?`${e} whitespace-pre-wrap`:`whitespace-pre-wrap`,children:t})}function Me(e){return(0,T.useMemo)(()=>x(e.content).some(e=>e.type===`openui`),[e.content])?(0,D.jsx)(T.Suspense,{fallback:(0,D.jsx)(je,{className:e.className,content:e.content}),children:(0,D.jsx)(Ae,{...e})}):(0,D.jsx)(d,{className:e.className,content:e.content})}export{pe as a,te as c,I as d,S as f,ye as i,W as l,ke as n,se as o,$ as r,q as s,Me as t,N as u};