@marimo-team/islands 0.23.11-dev9 → 0.23.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 (82) hide show
  1. package/dist/{ConnectedDataExplorerComponent-Z3RP7Vmm.js → ConnectedDataExplorerComponent-WqG-xX4l.js} +13 -13
  2. package/dist/{ErrorBoundary-DpbaKVv7.js → ErrorBoundary-BNx_OSVo.js} +2 -2
  3. package/dist/{any-language-editor-CAgFD4Kd.js → any-language-editor-rPSlOll9.js} +5 -5
  4. package/dist/assets/__vite-browser-external-DAm_YW43.js +1 -0
  5. package/dist/assets/{worker-CC0Oul9k.js → worker-DEDLIQQV.js} +2 -2
  6. package/dist/{button-C5K9fIPF.js → button-vQhauTmO.js} +20 -0
  7. package/dist/{capabilities-BceAxrAW.js → capabilities-BEHzIS99.js} +1 -1
  8. package/dist/{chat-ui-c1FdlK-C.js → chat-ui-k2kqhCv5.js} +135 -106
  9. package/dist/{check-BCaJeT-J.js → check-nrzHDi45.js} +1 -1
  10. package/dist/{code-visibility-0vPSjYnM.js → code-visibility-CFUW5L3i.js} +81 -68
  11. package/dist/{copy-UqRYxiOg.js → copy-UhDed7D4.js} +2 -2
  12. package/dist/{dist-Dk6PV_d3.js → dist-DYGLrbYQ.js} +2 -2
  13. package/dist/{error-banner-CJXYJ6Sb.js → error-banner-BHAkVFc2.js} +2 -2
  14. package/dist/{esm-BaH2eg5-.js → esm-Bqu9AE2K.js} +1 -1
  15. package/dist/{extends-D_hDsj6R.js → extends-9Yl5BEcg.js} +4 -4
  16. package/dist/{formats-C4wO47tk.js → formats-BV4bOfMI.js} +3 -3
  17. package/dist/{glide-data-editor-BPkCPs7L.js → glide-data-editor-BDTq6YUb.js} +9 -9
  18. package/dist/{html-to-image-D5-EpALB.js → html-to-image-C86pQALH.js} +16 -16
  19. package/dist/{input-OdWHkobi.js → input-AKkGXdyV.js} +6 -6
  20. package/dist/{label-CC4ytI1X.js → label-E3ZJXHu8.js} +2 -2
  21. package/dist/{loader-BWLPpjKK.js → loader-YPuQvn1Y.js} +1 -1
  22. package/dist/main.js +981 -978
  23. package/dist/{mermaid-BotvIKg9.js → mermaid-QFAR9YgY.js} +5 -5
  24. package/dist/{process-output-WDZE0cyS.js → process-output-nNw4OpSj.js} +3 -3
  25. package/dist/{reveal-component-BZpDHGsk.js → reveal-component-0u6v5UUq.js} +10 -10
  26. package/dist/{spec-X7FwLJni.js → spec-B45_YCNI.js} +4 -4
  27. package/dist/{strings-J57tzLr3.js → strings-Cq2s9_EQ.js} +4 -4
  28. package/dist/style.css +1 -1
  29. package/dist/{swiper-component-B2t5sN1q.js → swiper-component-BNa_4kh2.js} +2 -2
  30. package/dist/{toDate-d8RCRrRd.js → toDate-Do1xRzAo.js} +3 -3
  31. package/dist/{tooltip-DpcyNkQ2.js → tooltip-Bz3OAwrU.js} +3 -3
  32. package/dist/{types-ChtMFmZ2.js → types-D8gEGs4R.js} +1 -1
  33. package/dist/{useAsyncData-PonK__yh.js → useAsyncData-CL3o2p4i.js} +1 -1
  34. package/dist/{useDateFormatter-QB-3MpYr.js → useDateFormatter-BC6iSz9g.js} +2 -2
  35. package/dist/{useDeepCompareMemoize-D3NGWke6.js → useDeepCompareMemoize-BPx2MuOK.js} +1 -1
  36. package/dist/{useIframeCapabilities-C4JTXTIh.js → useIframeCapabilities-C6Ta3EyP.js} +1 -1
  37. package/dist/{useLifecycle-00mO3OSS.js → useLifecycle-C3Ec71q0.js} +3 -3
  38. package/dist/{useTheme-DEhDzATN.js → useTheme-ZhT6uIu3.js} +4 -3
  39. package/dist/{vega-component-DGPUhbDs.js → vega-component-C3AWYGAL.js} +10 -10
  40. package/dist/{zod-aLSua2NL.js → zod-DXqkaI_w.js} +1 -1
  41. package/package.json +1 -1
  42. package/src/components/ai/ai-model-dropdown.tsx +6 -0
  43. package/src/components/app-config/ai-config.tsx +73 -55
  44. package/src/components/app-config/data-form.tsx +33 -43
  45. package/src/components/app-config/is-overridden.tsx +125 -58
  46. package/src/components/app-config/user-config-form.tsx +178 -227
  47. package/src/components/chat/chat-display.tsx +5 -0
  48. package/src/components/chat/chat-panel.tsx +21 -8
  49. package/src/components/chat/tool-call/tool-call-view.tsx +4 -0
  50. package/src/components/chat/tool-call/tool-history-row.tsx +26 -5
  51. package/src/components/data-table/TableTopBar.tsx +4 -4
  52. package/src/components/data-table/__tests__/columns.test.tsx +20 -0
  53. package/src/components/data-table/__tests__/data-table.test.tsx +28 -0
  54. package/src/components/data-table/columns.tsx +16 -1
  55. package/src/components/data-table/data-table.tsx +3 -3
  56. package/src/components/data-table/filters/types.ts +1 -0
  57. package/src/components/data-table/renderers.tsx +5 -1
  58. package/src/components/datasources/__tests__/install-package-button.test.tsx +11 -0
  59. package/src/components/datasources/__tests__/utils.test.ts +127 -2
  60. package/src/components/datasources/datasources.tsx +44 -17
  61. package/src/components/datasources/install-package-button.tsx +3 -1
  62. package/src/components/datasources/utils.ts +45 -0
  63. package/src/components/editor/actions/useNotebookActions.tsx +62 -21
  64. package/src/components/editor/actions/useSetCodeVisibility.ts +57 -0
  65. package/src/components/editor/header/__tests__/status.test.tsx +0 -4
  66. package/src/components/editor/header/status.tsx +2 -3
  67. package/src/core/cells/__tests__/cells.test.ts +33 -0
  68. package/src/core/cells/cells.ts +1 -1
  69. package/src/core/config/config-schema.ts +6 -1
  70. package/src/core/edit-app.tsx +14 -0
  71. package/src/core/hotkeys/hotkeys.ts +20 -0
  72. package/src/core/websocket/__tests__/useMarimoKernelConnection.test.ts +0 -13
  73. package/src/core/websocket/types.ts +0 -1
  74. package/src/core/websocket/useMarimoKernelConnection.tsx +0 -14
  75. package/src/css/app/print.css +8 -0
  76. package/src/css/md.css +12 -0
  77. package/src/plugins/impl/DataTablePlugin.tsx +12 -5
  78. package/src/plugins/impl/__tests__/DataTablePlugin.test.tsx +1 -1
  79. package/src/plugins/impl/chat/chat-ui.tsx +1 -0
  80. package/src/plugins/impl/data-frames/DataFramePlugin.tsx +1 -1
  81. package/dist/assets/__vite-browser-external-eshhtsgZ.js +0 -1
  82. package/src/components/editor/actions/useHideAllMarkdownCode.ts +0 -53
@@ -2,26 +2,26 @@ var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
4
  import { s as __toESM, t as __commonJSMin } from "./chunk-BNovOVIE.js";
5
- import { _ as Logger, c as Objects, g as cn, l as useEventListener, t as Button } from "./button-C5K9fIPF.js";
5
+ import { _ as Logger, c as Objects, g as cn, l as useEventListener, t as Button } from "./button-vQhauTmO.js";
6
6
  import { t as require_react } from "./react-DA-nE2FX.js";
7
7
  import { t as require_compiler_runtime } from "./compiler-runtime-CEbnTgxf.js";
8
- import { r as toast } from "./copy-UqRYxiOg.js";
9
- import { C as AccordionContent, D as ChatBubbleIcon, En as Trash2, Et as createVariableInfoElement, G as cellErrorsAtom, Gt as getTableType, In as ExternalLink, It as jotaiJsonStorage, Lt as variablesAtom, Mt as generateUUID, Nn as Info, P as base64ToDataURL, Pn as FileText, Rt as PluralWord, S as Accordion, T as AccordionTrigger, Tn as Wrench, Ut as allTablesAtom, V as renderHTML, Wt as dataSourceConnectionsAtom, X as notebookAtom, Zt as singleFacet, _ as Boosts, _n as atomWithStorage, b as AIContextProvider, c as Popover, d as PopoverTrigger, f as isOutputEmpty, h as DatasourceContextProvider, jn as LoaderCircle, kt as moveToEndOfEditor, n as Spinner, nn as ZodLocalStorage, qt as getRequestClient, r as MarkdownRenderer, sn as CellOutputId, t as toPng, u as PopoverContent, v as Sections, w as AccordionItem, x as AIContextRegistry, y as contextToXml, yn as Anchor2, yt as displayCellName, zn as CircleX } from "./html-to-image-D5-EpALB.js";
8
+ import { r as toast } from "./copy-UhDed7D4.js";
9
+ import { C as AccordionContent, D as ChatBubbleIcon, En as Trash2, Et as createVariableInfoElement, G as cellErrorsAtom, Gt as getTableType, In as ExternalLink, It as jotaiJsonStorage, Lt as variablesAtom, Mt as generateUUID, Nn as Info, P as base64ToDataURL, Pn as FileText, Rt as PluralWord, S as Accordion, T as AccordionTrigger, Tn as Wrench, Ut as allTablesAtom, V as renderHTML, Wt as dataSourceConnectionsAtom, X as notebookAtom, Zt as singleFacet, _ as Boosts, _n as atomWithStorage, b as AIContextProvider, c as Popover, d as PopoverTrigger, f as isOutputEmpty, h as DatasourceContextProvider, jn as LoaderCircle, kt as moveToEndOfEditor, n as Spinner, nn as ZodLocalStorage, qt as getRequestClient, r as MarkdownRenderer, sn as CellOutputId, t as toPng, u as PopoverContent, v as Sections, w as AccordionItem, x as AIContextRegistry, y as contextToXml, yn as Anchor2, yt as displayCellName, zn as CircleX } from "./html-to-image-C86pQALH.js";
10
10
  import "./chunk-5FQGJX7Z-BbqSm5gU.js";
11
- import { u as createLucideIcon } from "./dist-Dk6PV_d3.js";
12
- import { C as logNever, I as X, R as ChevronDown, t as Strings } from "./strings-J57tzLr3.js";
13
- import { C as DropdownMenuTrigger, a as NumberField, f as DropdownMenu, h as DropdownMenuItem, p as DropdownMenuContent, r as Input } from "./input-OdWHkobi.js";
14
- import { p as isUrl, v as CircleQuestionMark } from "./toDate-d8RCRrRd.js";
15
- import { a as MarimoIncomingMessageEvent, d as Square, f as File$1, n as blobToString, t as processOutput, u as deserializeBlob } from "./process-output-WDZE0cyS.js";
11
+ import { u as createLucideIcon } from "./dist-DYGLrbYQ.js";
12
+ import { C as logNever, I as X, R as ChevronDown, t as Strings } from "./strings-Cq2s9_EQ.js";
13
+ import { C as DropdownMenuTrigger, a as NumberField, f as DropdownMenu, h as DropdownMenuItem, p as DropdownMenuContent, r as Input } from "./input-AKkGXdyV.js";
14
+ import { p as isUrl, v as CircleQuestionMark } from "./toDate-Do1xRzAo.js";
15
+ import { a as MarimoIncomingMessageEvent, d as Square, f as File$1, n as blobToString, t as processOutput, u as deserializeBlob } from "./process-output-nNw4OpSj.js";
16
16
  import "./react-dom-BTJzcVJ9.js";
17
17
  import { t as require_jsx_runtime } from "./jsx-runtime-DebpN0FN.js";
18
- import { A as looseObject, B as union, C as any, D as discriminatedUnion, E as custom, H as safeParseAsync, I as record, L as strictObject, M as never, N as number, O as lazy, P as object$1, R as string, S as _null, T as boolean, V as unknown, W as toJSONSchema, b as _enum, k as literal, w as array$1, x as _instanceof } from "./zod-aLSua2NL.js";
19
- import { n as ErrorBanner } from "./error-banner-CJXYJ6Sb.js";
20
- import { t as Label } from "./label-CC4ytI1X.js";
21
- import { t as Tooltip } from "./tooltip-DpcyNkQ2.js";
22
- import { f as CopyClipboardIcon } from "./extends-D_hDsj6R.js";
18
+ import { A as looseObject, B as union, C as any, D as discriminatedUnion, E as custom, H as safeParseAsync, I as record, L as strictObject, M as never, N as number, O as lazy, P as object$1, R as string, S as _null, T as boolean, V as unknown, W as toJSONSchema, b as _enum, k as literal, w as array$1, x as _instanceof } from "./zod-DXqkaI_w.js";
19
+ import { n as ErrorBanner } from "./error-banner-BHAkVFc2.js";
20
+ import { t as Label } from "./label-E3ZJXHu8.js";
21
+ import { t as Tooltip } from "./tooltip-Bz3OAwrU.js";
22
+ import { f as CopyClipboardIcon } from "./extends-9Yl5BEcg.js";
23
23
  import { t as isEmpty_default } from "./isEmpty-CJJMn-QP.js";
24
- import { T as useEvent_default, n as useTheme, y as useStore } from "./useTheme-DEhDzATN.js";
24
+ import { T as useEvent_default, n as useTheme, y as useStore } from "./useTheme-ZhT6uIu3.js";
25
25
  import { $ as EditorView, At as Facet, It as StateEffect, Lt as StateField, Mt as Prec, Z as Decoration, ft as hoverTooltip, kt as EditorState, nt as WidgetType, pt as keymap, tt as ViewPlugin, zt as Transaction } from "./dist-U4F-tbMs.js";
26
26
  import { n as acceptCompletion, o as closeCompletion, r as autocompletion } from "./dist-hT4QzYX-.js";
27
27
  import "./main-Tj_-QTyF.js";
@@ -30,9 +30,9 @@ import "./dist-BSAt6RhH.js";
30
30
  import "./dist-D-W5ny5a.js";
31
31
  import "./dist-M9Vag9Y0.js";
32
32
  import "./dist-C_Y3oV3C.js";
33
- import { n as minimalSetup, t as esm_default } from "./esm-BaH2eg5-.js";
33
+ import { n as minimalSetup, t as esm_default } from "./esm-Bqu9AE2K.js";
34
34
  import "./purify.es-H92eMd9-.js";
35
- import { t as useAsyncData } from "./useAsyncData-PonK__yh.js";
35
+ import { t as useAsyncData } from "./useAsyncData-CL3o2p4i.js";
36
36
  var Ban = createLucideIcon("ban", [["path", {
37
37
  d: "M4.929 4.929 19.07 19.071",
38
38
  key: "196cmz"
@@ -72,6 +72,17 @@ var Ban = createLucideIcon("ban", [["path", {
72
72
  }], ["path", {
73
73
  d: "m9 11 3 3L22 4",
74
74
  key: "1pflzl"
75
+ }]]), CircleSlash = createLucideIcon("circle-slash", [["circle", {
76
+ cx: "12",
77
+ cy: "12",
78
+ r: "10",
79
+ key: "1mglay"
80
+ }], ["line", {
81
+ x1: "9",
82
+ x2: "15",
83
+ y1: "15",
84
+ y2: "9",
85
+ key: "1dfufj"
75
86
  }]]), Paperclip = createLucideIcon("paperclip", [["path", {
76
87
  d: "m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",
77
88
  key: "1miecu"
@@ -6796,27 +6807,35 @@ var import_compiler_runtime$3 = require_compiler_runtime(), STATUS_LABEL = {
6796
6807
  "approval-responded": "Awaiting result",
6797
6808
  "output-available": "Done",
6798
6809
  "output-denied": "Denied"
6799
- }, StatusIcon = (e18) => {
6800
- let m = (0, import_compiler_runtime$3.c)(4), { state: h } = e18;
6810
+ }, PENDING_STATES = /* @__PURE__ */ new Set([
6811
+ "input-streaming",
6812
+ "input-available",
6813
+ "approval-responded"
6814
+ ]), StatusIcon = (e18) => {
6815
+ let m = (0, import_compiler_runtime$3.c)(5), { state: h, interrupted: g } = e18;
6816
+ if (g) {
6817
+ let e19;
6818
+ return m[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (e19 = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CircleSlash, { className: "h-3 w-3 text-muted-foreground" }), m[0] = e19) : e19 = m[0], e19;
6819
+ }
6801
6820
  switch (h) {
6802
6821
  case "input-streaming":
6803
6822
  case "input-available":
6804
6823
  case "approval-responded": {
6805
6824
  let e19;
6806
- return m[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (e19 = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LoaderCircle, { className: "h-3 w-3 animate-spin" }), m[0] = e19) : e19 = m[0], e19;
6825
+ return m[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (e19 = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LoaderCircle, { className: "h-3 w-3 animate-spin" }), m[1] = e19) : e19 = m[1], e19;
6807
6826
  }
6808
6827
  case "output-available": {
6809
6828
  let e19;
6810
- return m[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (e19 = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CircleCheckBig, { className: "h-3 w-3 text-(--grass-11)" }), m[1] = e19) : e19 = m[1], e19;
6829
+ return m[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (e19 = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CircleCheckBig, { className: "h-3 w-3 text-(--grass-11)" }), m[2] = e19) : e19 = m[2], e19;
6811
6830
  }
6812
6831
  case "output-denied": {
6813
6832
  let e19;
6814
- return m[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (e19 = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Ban, { className: "h-3 w-3 text-muted-foreground" }), m[2] = e19) : e19 = m[2], e19;
6833
+ return m[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (e19 = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Ban, { className: "h-3 w-3 text-muted-foreground" }), m[3] = e19) : e19 = m[3], e19;
6815
6834
  }
6816
6835
  default: {
6817
6836
  logNever(h);
6818
6837
  let e19;
6819
- return m[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (e19 = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Wrench, { className: "h-3 w-3" }), m[3] = e19) : e19 = m[3], e19;
6838
+ return m[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (e19 = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Wrench, { className: "h-3 w-3" }), m[4] = e19) : e19 = m[4], e19;
6820
6839
  }
6821
6840
  }
6822
6841
  };
@@ -6835,36 +6854,41 @@ function getTriggerToneClass(e18) {
6835
6854
  }
6836
6855
  }
6837
6856
  const ToolHistoryRow = (e18) => {
6838
- let m = (0, import_compiler_runtime$3.c)(29), { toolName: h, state: g, input: v, result: y, approval: b, index: x, className: S } = e18, w = `tool-${x === void 0 ? 0 : x}`, T;
6839
- m[0] === S ? T = m[1] : (T = cn("w-full", S), m[0] = S, m[1] = T);
6840
- let E;
6841
- m[2] === g ? E = m[3] : (E = cn("h-6 text-xs border-border shadow-none! ring-0! bg-muted/60 hover:bg-muted py-0 px-2 gap-1 rounded-sm [&[data-state=open]>svg]:rotate-180 hover:no-underline", getTriggerToneClass(g)), m[2] = g, m[3] = E);
6842
- let D;
6843
- m[4] === g ? D = m[5] : (D = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatusIcon, { state: g }), m[4] = g, m[5] = D);
6844
- let O = STATUS_LABEL[g], k;
6845
- m[6] === h ? k = m[7] : (k = formatToolName(h), m[6] = h, m[7] = k);
6846
- let A;
6847
- m[8] === k ? A = m[9] : (A = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", {
6848
- className: "font-mono text-xs",
6849
- children: k
6850
- }), m[8] = k, m[9] = A);
6857
+ let m = (0, import_compiler_runtime$3.c)(34), { toolName: h, state: g, input: v, result: y, approval: b, index: x, className: S, isActive: w } = e18, T = x === void 0 ? 0 : x, E = w === void 0 ? true : w, D;
6858
+ m[0] !== E || m[1] !== g ? (D = !E && PENDING_STATES.has(g), m[0] = E, m[1] = g, m[2] = D) : D = m[2];
6859
+ let O = D, k = `tool-${T}`, A;
6860
+ m[3] === S ? A = m[4] : (A = cn("w-full", S), m[3] = S, m[4] = A);
6851
6861
  let j;
6852
- m[10] !== D || m[11] !== O || m[12] !== A ? (j = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
6862
+ m[5] !== O || m[6] !== g ? (j = cn("h-6 text-xs border-border shadow-none! ring-0! bg-muted/60 hover:bg-muted py-0 px-2 gap-1 rounded-sm [&[data-state=open]>svg]:rotate-180 hover:no-underline", O ? "text-muted-foreground" : getTriggerToneClass(g)), m[5] = O, m[6] = g, m[7] = j) : j = m[7];
6863
+ let M;
6864
+ m[8] !== O || m[9] !== g ? (M = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatusIcon, {
6865
+ state: g,
6866
+ interrupted: O
6867
+ }), m[8] = O, m[9] = g, m[10] = M) : M = m[10];
6868
+ let N = O ? "Interrupted" : STATUS_LABEL[g], P;
6869
+ m[11] === h ? P = m[12] : (P = formatToolName(h), m[11] = h, m[12] = P);
6870
+ let F;
6871
+ m[13] === P ? F = m[14] : (F = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", {
6872
+ className: "font-mono text-xs",
6873
+ children: P
6874
+ }), m[13] = P, m[14] = F);
6875
+ let I;
6876
+ m[15] !== F || m[16] !== M || m[17] !== N ? (I = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
6853
6877
  className: "flex items-center gap-1",
6854
6878
  children: [
6855
- D,
6856
- O,
6879
+ M,
6880
+ N,
6857
6881
  ":",
6858
- A
6882
+ F
6859
6883
  ]
6860
- }), m[10] = D, m[11] = O, m[12] = A, m[13] = j) : j = m[13];
6861
- let M;
6862
- m[14] !== E || m[15] !== j ? (M = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionTrigger, {
6863
- className: E,
6864
- children: j
6865
- }), m[14] = E, m[15] = j, m[16] = M) : M = m[16];
6866
- let N;
6867
- m[17] !== b || m[18] !== v || m[19] !== y || m[20] !== g ? (N = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionContent, {
6884
+ }), m[15] = F, m[16] = M, m[17] = N, m[18] = I) : I = m[18];
6885
+ let z;
6886
+ m[19] !== I || m[20] !== j ? (z = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionTrigger, {
6887
+ className: j,
6888
+ children: I
6889
+ }), m[19] = I, m[20] = j, m[21] = z) : z = m[21];
6890
+ let B;
6891
+ m[22] !== b || m[23] !== v || m[24] !== y || m[25] !== g ? (B = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AccordionContent, {
6868
6892
  className: "py-2 px-2",
6869
6893
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(HistoryContent, {
6870
6894
  state: g,
@@ -6872,20 +6896,20 @@ const ToolHistoryRow = (e18) => {
6872
6896
  result: y,
6873
6897
  approval: b
6874
6898
  })
6875
- }), m[17] = b, m[18] = v, m[19] = y, m[20] = g, m[21] = N) : N = m[21];
6876
- let P;
6877
- m[22] !== M || m[23] !== N ? (P = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(AccordionItem, {
6899
+ }), m[22] = b, m[23] = v, m[24] = y, m[25] = g, m[26] = B) : B = m[26];
6900
+ let V;
6901
+ m[27] !== z || m[28] !== B ? (V = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(AccordionItem, {
6878
6902
  value: "tool-call",
6879
6903
  className: "border-0",
6880
- children: [M, N]
6881
- }), m[22] = M, m[23] = N, m[24] = P) : P = m[24];
6882
- let F;
6883
- return m[25] !== P || m[26] !== w || m[27] !== T ? (F = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Accordion, {
6904
+ children: [z, B]
6905
+ }), m[27] = z, m[28] = B, m[29] = V) : V = m[29];
6906
+ let H;
6907
+ return m[30] !== V || m[31] !== k || m[32] !== A ? (H = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Accordion, {
6884
6908
  type: "single",
6885
6909
  collapsible: true,
6886
- className: T,
6887
- children: P
6888
- }, w), m[25] = P, m[26] = w, m[27] = T, m[28] = F) : F = m[28], F;
6910
+ className: A,
6911
+ children: V
6912
+ }, k), m[30] = V, m[31] = k, m[32] = A, m[33] = H) : H = m[33], H;
6889
6913
  };
6890
6914
  var HistoryContent = (e18) => {
6891
6915
  let m = (0, import_compiler_runtime$3.c)(16), { state: h, input: g, result: _, approval: v } = e18;
@@ -6926,7 +6950,7 @@ var HistoryContent = (e18) => {
6926
6950
  }
6927
6951
  }, import_compiler_runtime$2 = require_compiler_runtime();
6928
6952
  const ToolCallView = (e18) => {
6929
- let m = (0, import_compiler_runtime$2.c)(25), { toolName: h, state: g, result: _, errorText: v, input: y, approval: b, onApprove: x, index: S, className: C, isLive: w } = e18, T = w === void 0 ? true : w;
6953
+ let m = (0, import_compiler_runtime$2.c)(27), { toolName: h, state: g, result: _, errorText: v, input: y, approval: b, onApprove: x, index: S, className: C, isLive: w, isActive: T } = e18, E = w === void 0 ? true : w, D = T === void 0 ? true : T;
6930
6954
  switch (g) {
6931
6955
  case "approval-requested": {
6932
6956
  if (b != null && x != null) {
@@ -6940,23 +6964,24 @@ const ToolCallView = (e18) => {
6940
6964
  }), m[0] = b, m[1] = C, m[2] = y, m[3] = x, m[4] = h, m[5] = e20) : e20 = m[5], e20;
6941
6965
  }
6942
6966
  let e19;
6943
- return m[6] !== C || m[7] !== S || m[8] !== y || m[9] !== h ? (e19 = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToolHistoryRow, {
6967
+ return m[6] !== C || m[7] !== S || m[8] !== y || m[9] !== D || m[10] !== h ? (e19 = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToolHistoryRow, {
6944
6968
  toolName: h,
6945
6969
  state: "input-available",
6946
6970
  input: y,
6947
6971
  index: S,
6948
- className: C
6949
- }), m[6] = C, m[7] = S, m[8] = y, m[9] = h, m[10] = e19) : e19 = m[10], e19;
6972
+ className: C,
6973
+ isActive: D
6974
+ }), m[6] = C, m[7] = S, m[8] = y, m[9] = D, m[10] = h, m[11] = e19) : e19 = m[11], e19;
6950
6975
  }
6951
6976
  case "output-error": {
6952
6977
  let e19;
6953
- return m[11] !== C || m[12] !== v || m[13] !== y || m[14] !== T || m[15] !== h ? (e19 = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToolErrorCard, {
6978
+ return m[12] !== C || m[13] !== v || m[14] !== y || m[15] !== E || m[16] !== h ? (e19 = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToolErrorCard, {
6954
6979
  toolName: h,
6955
6980
  input: y,
6956
6981
  errorText: v,
6957
- isLive: T,
6982
+ isLive: E,
6958
6983
  className: C
6959
- }), m[11] = C, m[12] = v, m[13] = y, m[14] = T, m[15] = h, m[16] = e19) : e19 = m[16], e19;
6984
+ }), m[12] = C, m[13] = v, m[14] = y, m[15] = E, m[16] = h, m[17] = e19) : e19 = m[17], e19;
6960
6985
  }
6961
6986
  case "input-streaming":
6962
6987
  case "input-available":
@@ -6964,74 +6989,77 @@ const ToolCallView = (e18) => {
6964
6989
  case "output-available":
6965
6990
  case "output-denied": {
6966
6991
  let e19;
6967
- return m[17] !== b || m[18] !== C || m[19] !== S || m[20] !== y || m[21] !== _ || m[22] !== g || m[23] !== h ? (e19 = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToolHistoryRow, {
6992
+ return m[18] !== b || m[19] !== C || m[20] !== S || m[21] !== y || m[22] !== D || m[23] !== _ || m[24] !== g || m[25] !== h ? (e19 = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToolHistoryRow, {
6968
6993
  toolName: h,
6969
6994
  state: g,
6970
6995
  input: y,
6971
6996
  result: _,
6972
6997
  approval: b,
6973
6998
  index: S,
6974
- className: C
6975
- }), m[17] = b, m[18] = C, m[19] = S, m[20] = y, m[21] = _, m[22] = g, m[23] = h, m[24] = e19) : e19 = m[24], e19;
6999
+ className: C,
7000
+ isActive: D
7001
+ }), m[18] = b, m[19] = C, m[20] = S, m[21] = y, m[22] = D, m[23] = _, m[24] = g, m[25] = h, m[26] = e19) : e19 = m[26], e19;
6976
7002
  }
6977
7003
  default:
6978
7004
  return logNever(g), null;
6979
7005
  }
6980
- }, renderUIMessage = ({ message: e18, isStreamingReasoning: m, isLast: g, addToolApprovalResponse: _ }) => {
6981
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: e18.parts.map((e19, m2) => v(e19, m2)) });
6982
- function v(v2, y) {
6983
- if (isToolPart(v2)) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToolCallView, {
6984
- index: y,
6985
- toolName: v2.type,
6986
- result: v2.output,
6987
- errorText: v2.state === "output-error" ? v2.errorText : void 0,
7006
+ }, renderUIMessage = ({ message: e18, isStreamingReasoning: m, isLast: g, isActive: _, addToolApprovalResponse: v }) => {
7007
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: e18.parts.map((e19, m2) => y(e19, m2)) });
7008
+ function y(y2, b) {
7009
+ if (isToolPart(y2)) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToolCallView, {
7010
+ index: b,
7011
+ toolName: y2.type,
7012
+ result: y2.output,
7013
+ errorText: y2.state === "output-error" ? y2.errorText : void 0,
6988
7014
  className: "my-2",
6989
- state: v2.state,
6990
- input: v2.input,
6991
- approval: v2.approval,
6992
- onApprove: _,
6993
- isLive: g
6994
- }, y);
6995
- if (isDataPart(v2)) return Logger.debug("Found data part", v2), null;
6996
- switch (v2.type) {
7015
+ state: y2.state,
7016
+ input: y2.input,
7017
+ approval: y2.approval,
7018
+ onApprove: v,
7019
+ isLive: g,
7020
+ isActive: _
7021
+ }, b);
7022
+ if (isDataPart(y2)) return Logger.debug("Found data part", y2), null;
7023
+ switch (y2.type) {
6997
7024
  case "text":
6998
- return v2.text.includes("<marimo-") ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Fragment, { children: renderHTML({ html: v2.text }) }, y) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MarkdownRenderer, { content: v2.text }, y);
7025
+ return y2.text.includes("<marimo-") ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.Fragment, { children: renderHTML({ html: y2.text }) }, b) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MarkdownRenderer, { content: y2.text }, b);
6999
7026
  case "reasoning":
7000
7027
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ReasoningAccordion, {
7001
- reasoning: v2.text,
7002
- index: y,
7003
- isStreaming: m && g && y === (e18.parts.length || 0) - 1
7004
- }, y);
7028
+ reasoning: y2.text,
7029
+ index: b,
7030
+ isStreaming: m && g && b === (e18.parts.length || 0) - 1
7031
+ }, b);
7005
7032
  case "file":
7006
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AttachmentRenderer, { attachment: v2 }, y);
7033
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AttachmentRenderer, { attachment: y2 }, b);
7007
7034
  case "dynamic-tool":
7008
7035
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ToolCallView, {
7009
- toolName: v2.toolName,
7010
- result: v2.output,
7011
- errorText: v2.state === "output-error" ? v2.errorText : void 0,
7012
- state: v2.state,
7013
- input: v2.input,
7014
- approval: v2.approval,
7015
- onApprove: _,
7016
- isLive: g
7017
- }, y);
7036
+ toolName: y2.toolName,
7037
+ result: y2.output,
7038
+ errorText: y2.state === "output-error" ? y2.errorText : void 0,
7039
+ state: y2.state,
7040
+ input: y2.input,
7041
+ approval: y2.approval,
7042
+ onApprove: v,
7043
+ isLive: g,
7044
+ isActive: _
7045
+ }, b);
7018
7046
  case "source-document":
7019
7047
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SourceChip, {
7020
7048
  icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(FileText, { className: "h-3 w-3 shrink-0" }),
7021
- title: v2.title,
7022
- subtitle: v2.filename
7023
- }, y);
7049
+ title: y2.title,
7050
+ subtitle: y2.filename
7051
+ }, b);
7024
7052
  case "source-url":
7025
7053
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SourceChip, {
7026
7054
  icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ExternalLink, { className: "h-3 w-3 shrink-0" }),
7027
- title: v2.title ?? v2.url,
7028
- subtitle: v2.title ? v2.url : void 0,
7029
- href: v2.url
7030
- }, y);
7055
+ title: y2.title ?? y2.url,
7056
+ subtitle: y2.title ? y2.url : void 0,
7057
+ href: y2.url
7058
+ }, b);
7031
7059
  case "step-start":
7032
7060
  return null;
7033
7061
  default:
7034
- return logNever(v2), null;
7062
+ return logNever(y2), null;
7035
7063
  }
7036
7064
  }
7037
7065
  };
@@ -7735,6 +7763,7 @@ const Chatbot = (e18) => {
7735
7763
  message: e19,
7736
7764
  isStreamingReasoning: B === "streaming",
7737
7765
  isLast: g2,
7766
+ isActive: K,
7738
7767
  addToolApprovalResponse: g2 ? G : void 0
7739
7768
  })
7740
7769
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
@@ -1,4 +1,4 @@
1
- import { u as createLucideIcon } from "./dist-Dk6PV_d3.js";
1
+ import { u as createLucideIcon } from "./dist-DYGLrbYQ.js";
2
2
  var Check = createLucideIcon("check", [["path", {
3
3
  d: "M20 6 9 17l-5-5",
4
4
  key: "1gmf2c"