@lumerahq/ui 0.10.0-dev.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,7 +4,7 @@ import React__default, { useContext, createContext, forwardRef, createElement, m
4
4
  import { t as twMerge, p as clsx, o as cn$2, a as formatCellValue$2 } from "./formatters-D4T821Dv.js";
5
5
  import * as ReactDOM from "react-dom";
6
6
  import { createPortal } from "react-dom";
7
- import { u as useAgentChat, a as useAutomationRun } from "./use-automation-run-BnhDQAJ6.js";
7
+ import { u as useAgentChat, a as useAutomationRun } from "./use-automation-run-Bj17PZB_.js";
8
8
  import { f as getDownloadUrl, t as pbSql, p as parentApiRequest, d as parentApiStream, B as BridgeError, z as automationStatuses, L as getAutomationRunFileDownloadUrl, R as listAutomationRunFiles } from "./automations-Bb9nlU05.js";
9
9
  const mergeClasses = (...classes) => classes.filter((className, index2, array) => {
10
10
  return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index2;
@@ -23930,7 +23930,7 @@ var lr = (e) => {
23930
23930
  for (; t > 0 && e[t - 1] === `
23931
23931
  `; ) t--;
23932
23932
  return e.slice(0, t);
23933
- }, cr = lazy(() => import("./highlighted-body-OFNGDK62-DMJuoRQR.js").then((e) => ({ default: e.HighlightedCodeBlockBody }))), st = ({ code: e, language: t, className: o, children: n, isIncomplete: r = false, startLine: s2, lineNumbers: a, ...l }) => {
23933
+ }, cr = lazy(() => import("./highlighted-body-OFNGDK62-C-pMiyu6.js").then((e) => ({ default: e.HighlightedCodeBlockBody }))), st = ({ code: e, language: t, className: o, children: n, isIncomplete: r = false, startLine: s2, lineNumbers: a, ...l }) => {
23934
23934
  let i = y2(), d2 = useMemo(() => lr(e), [e]), c2 = useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: d2.split(`
23935
23935
  `).map((p2) => [{ content: p2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [d2]);
23936
23936
  return jsx(nt.Provider, { value: { code: e }, children: jsxs(ot, { isIncomplete: r, language: t, children: [jsx(rt, { language: t }), n ? jsx("div", { className: i("pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end"), children: jsx("div", { className: i("pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur"), "data-streamdown": "code-block-actions", children: n }) }) : null, jsx(Suspense, { fallback: jsx(At, { className: o, language: t, lineNumbers: a, result: c2, startLine: s2, ...l }), children: jsx(cr, { className: o, code: d2, language: t, lineNumbers: a, raw: c2, startLine: s2, ...l }) })] }) });
@@ -24292,7 +24292,7 @@ var vo = ({ children: e, className: t, showControls: o, showCopy: n = true, show
24292
24292
  let l = y2(), i = o && n, d2 = o && r, c2 = o && s2, p2 = i || d2 || c2;
24293
24293
  return jsxs("div", { className: l("my-4 flex flex-col gap-2 rounded-lg border border-border bg-sidebar p-2"), "data-streamdown": "table-wrapper", children: [p2 ? jsxs("div", { className: l("flex items-center justify-end gap-1"), children: [i ? jsx(Te, {}) : null, d2 ? jsx(Pe, {}) : null, c2 ? jsx(Co, { showCopy: i, showDownload: d2, children: e }) : null] }) : null, jsx("div", { className: l("border-collapse overflow-x-auto overflow-y-auto rounded-md border border-border bg-background"), children: jsx("table", { className: l("w-full divide-y divide-border", t), "data-streamdown": "table", ...a, children: e }) })] });
24294
24294
  };
24295
- var es = /startLine=(\d+)/, ts = /\bnoLineNumbers\b/, os = lazy(() => import("./mermaid-GHXKKRXX-oYSoQafD.js").then((e) => ({ default: e.Mermaid }))), ns = /language-([^\s]+)/;
24295
+ var es = /startLine=(\d+)/, ts = /\bnoLineNumbers\b/, os = lazy(() => import("./mermaid-GHXKKRXX-BGPCb6N_.js").then((e) => ({ default: e.Mermaid }))), ns = /language-([^\s]+)/;
24296
24296
  function qe(e, t) {
24297
24297
  if (!(e != null && e.position || t != null && t.position)) return true;
24298
24298
  if (!(e != null && e.position && (t != null && t.position))) return false;
@@ -25829,8 +25829,9 @@ function HtmlArtifact({ file, className }) {
25829
25829
  }, [url, resolving]);
25830
25830
  useEffect(() => {
25831
25831
  const handler = (e) => {
25832
- if (e.data?.type === "bridge-ready" && iframeRef.current?.contentWindow) {
25833
- iframeRef.current.contentWindow.postMessage({ type: "init", baseUrl: "" }, "*");
25832
+ const iframeWindow = iframeRef.current?.contentWindow;
25833
+ if (e.data?.type === "bridge-ready" && iframeWindow && e.source === iframeWindow) {
25834
+ iframeWindow.postMessage({ type: "init", baseUrl: "" }, "*");
25834
25835
  }
25835
25836
  };
25836
25837
  window.addEventListener("message", handler);
@@ -25881,7 +25882,7 @@ function HtmlArtifact({ file, className }) {
25881
25882
  ref: iframeRef,
25882
25883
  srcDoc: htmlContent,
25883
25884
  title: file.name,
25884
- sandbox: "allow-scripts allow-same-origin",
25885
+ sandbox: "allow-scripts",
25885
25886
  className: "h-full w-full border-0"
25886
25887
  }
25887
25888
  ) : null
@@ -26071,6 +26072,13 @@ const defaultRenderer = {
26071
26072
  };
26072
26073
  let cache = null;
26073
26074
  let pending = null;
26075
+ const listeners = /* @__PURE__ */ new Set();
26076
+ function notifyCollectionMap() {
26077
+ const collections = cache ?? {};
26078
+ for (const listener of listeners) {
26079
+ listener(collections);
26080
+ }
26081
+ }
26074
26082
  async function load() {
26075
26083
  try {
26076
26084
  const result = await pbSql({
@@ -26085,6 +26093,9 @@ async function load() {
26085
26093
  cache = map2;
26086
26094
  } catch {
26087
26095
  cache = {};
26096
+ } finally {
26097
+ pending = null;
26098
+ notifyCollectionMap();
26088
26099
  }
26089
26100
  }
26090
26101
  function warmCollectionCache() {
@@ -26095,6 +26106,14 @@ function warmCollectionCache() {
26095
26106
  function getCollectionMap() {
26096
26107
  return cache ?? {};
26097
26108
  }
26109
+ function subscribeCollectionMap(listener) {
26110
+ listeners.add(listener);
26111
+ listener(getCollectionMap());
26112
+ warmCollectionCache();
26113
+ return () => {
26114
+ listeners.delete(listener);
26115
+ };
26116
+ }
26098
26117
  function humanizeCollectionName(key, collections) {
26099
26118
  const name2 = collections[key] ?? key;
26100
26119
  return name2.replace(/^lmc_/, "").replace(/^ip_/, "").replace(/_/g, " ").replace(/\b\w/g, (c2) => c2.toUpperCase());
@@ -27137,10 +27156,11 @@ function ToolRenderersProvider({ renderers, children: children2 }) {
27137
27156
  }
27138
27157
  function ToolCallCard({ toolCall, renderers, className, ...props }) {
27139
27158
  const [expanded, setExpanded] = useState(false);
27159
+ const [collections, setCollections] = useState(() => getCollectionMap());
27140
27160
  const contextRenderers = useContext(ToolRenderersContext);
27141
27161
  const overrides = renderers ?? contextRenderers;
27142
- const collections = getCollectionMap();
27143
27162
  const renderer = useMemo(() => findRenderer(toolCall, overrides), [toolCall, overrides]);
27163
+ useEffect(() => subscribeCollectionMap(setCollections), []);
27144
27164
  const summary = useMemo(() => renderer.summary(toolCall, collections), [renderer, toolCall, collections]);
27145
27165
  const inlinePreview = useMemo(
27146
27166
  () => renderer.inlinePreview?.(toolCall, collections) ?? null,
@@ -36930,7 +36950,7 @@ function CompositeList(props) {
36930
36950
  } = props;
36931
36951
  const onMapChange = useStableCallback(onMapChangeProp);
36932
36952
  const nextIndexRef = React.useRef(0);
36933
- const listeners = useRefWithInit(createListeners).current;
36953
+ const listeners2 = useRefWithInit(createListeners).current;
36934
36954
  const map2 = useRefWithInit(createMap).current;
36935
36955
  const [mapTick, setMapTick] = React.useState(0);
36936
36956
  const lastTickRef = React.useRef(mapTick);
@@ -37009,14 +37029,14 @@ function CompositeList(props) {
37009
37029
  };
37010
37030
  }, [labelsRef]);
37011
37031
  const subscribeMapChange = useStableCallback((fn2) => {
37012
- listeners.add(fn2);
37032
+ listeners2.add(fn2);
37013
37033
  return () => {
37014
- listeners.delete(fn2);
37034
+ listeners2.delete(fn2);
37015
37035
  };
37016
37036
  });
37017
37037
  useIsoLayoutEffect(() => {
37018
- listeners.forEach((l) => l(sortedMap));
37019
- }, [listeners, sortedMap]);
37038
+ listeners2.forEach((l) => l(sortedMap));
37039
+ }, [listeners2, sortedMap]);
37020
37040
  const contextValue = React.useMemo(() => ({
37021
37041
  register,
37022
37042
  unregister,
@@ -1 +1 @@
1
- {"version":3,"file":"ToolCallCard.d.ts","sourceRoot":"","sources":["../../../../src/components/agent-chat/tool-renderers/ToolCallCard.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,SAAS,EAAiC,MAAM,OAAO,CAAC;AAE1G,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAO5C,yEAAyE;AACzE,wBAAgB,qBAAqB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAEjH;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACvE,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;CAC5B;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAgF3F"}
1
+ {"version":3,"file":"ToolCallCard.d.ts","sourceRoot":"","sources":["../../../../src/components/agent-chat/tool-renderers/ToolCallCard.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,SAAS,EAA4C,MAAM,OAAO,CAAC;AAErH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAO5C,yEAAyE;AACzE,wBAAgB,qBAAqB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAEjH;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACvE,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;CAC5B;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,2CAkF3F"}
@@ -4,6 +4,8 @@ import { CollectionMap, ToolCallLike } from './types';
4
4
  export declare function warmCollectionCache(): void;
5
5
  /** Get the current cache synchronously. Returns empty object if not loaded. */
6
6
  export declare function getCollectionMap(): CollectionMap;
7
+ /** Subscribe to cache updates so mounted tool cards re-render after warm-up. */
8
+ export declare function subscribeCollectionMap(listener: (collections: CollectionMap) => void): () => void;
7
9
  /** Strip common prefixes and humanize a collection name. */
8
10
  export declare function humanizeCollectionName(key: string, collections: CollectionMap): string;
9
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/agent-chat/tool-renderers/utils.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AA2B3D,gDAAgD;AAChD,wBAAgB,mBAAmB,IAAI,IAAI,CAI1C;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD;AAED,4DAA4D;AAC5D,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,GAAG,MAAM,CAOtF;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG5E;AAED,8EAA8E;AAC9E,wBAAgB,0BAA0B,CAAC,EAAE,EAAE;IAAE,MAAM,EAAE,wBAAwB,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAEnH;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAcpE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAgB1F"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/components/agent-chat/tool-renderers/utils.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAsC3D,gDAAgD;AAChD,wBAAgB,mBAAmB,IAAI,IAAI,CAI1C;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD;AAED,gFAAgF;AAChF,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,KAAK,IAAI,GAAG,MAAM,IAAI,CAOjG;AAED,4DAA4D;AAC5D,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,GAAG,MAAM,CAOtF;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG5E;AAED,8EAA8E;AAC9E,wBAAgB,0BAA0B,CAAC,EAAE,EAAE;IAAE,MAAM,EAAE,wBAAwB,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAEnH;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAcpE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAgB1F"}
@@ -1,4 +1,4 @@
1
- import { A, a, e, j, D, k, l, R, T, b, c, d, f, g, h, i, w } from "../RecordSheet-CZ-x6AeG.js";
1
+ import { A, a, e, j, D, k, l, R, T, b, c, d, f, g, h, i, w } from "../RecordSheet-BhWMav4R.js";
2
2
  export {
3
3
  A as AgentChat,
4
4
  a as ArtifactCard,
@@ -1,4 +1,4 @@
1
- import { m as R$1, L as Li, n as At } from "./RecordSheet-CZ-x6AeG.js";
1
+ import { m as R$1, L as Li, n as At } from "./RecordSheet-BhWMav4R.js";
2
2
  import { useContext, useState, useEffect } from "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  var R = ({ code: s, language: e, raw: t, className: h, startLine: d, lineNumbers: m, ...p }) => {
@@ -1,4 +1,4 @@
1
- import { u, a } from "../use-automation-run-BnhDQAJ6.js";
1
+ import { u, a } from "../use-automation-run-Bj17PZB_.js";
2
2
  import { u as u2, a as a2, b, c, d, e, f } from "../use-sql-table-D5tupvS2.js";
3
3
  export {
4
4
  u as useAgentChat,
@@ -1 +1 @@
1
- {"version":3,"file":"use-agent-chat.d.ts","sourceRoot":"","sources":["../../src/hooks/use-agent-chat.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,oBAAoB,EAEpB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EAEd,qBAAqB,EAGrB,mBAAmB,EAEnB,kBAAkB,EAClB,aAAa,EAEd,MAAM,yBAAyB,CAAC;AAQjC,MAAM,WAAW,mBAAmB,CAClC,KAAK,SAAS,iBAAiB,GAAG,iBAAiB,EACnD,UAAU,GAAG,OAAO,EACpB,WAAW,GAAG,OAAO;IAErB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAC9D,eAAe,CAAC,EAAE,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;IACrE,WAAW,CAAC,EAAE,oBAAoB,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,WAAW,CAAC;IAC9B,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,KAAK,IAAI,CAAC;IAC1F,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,KAAK,IAAI,CAAC;IAC/E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB,CACjC,KAAK,SAAS,iBAAiB,GAAG,iBAAiB,EACnD,UAAU,GAAG,OAAO,EACpB,WAAW,GAAG,OAAO;IAErB,QAAQ,EAAE,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;IAC7D,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,iBAAiB,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;IAC7C,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACvC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IAClG,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED,wBAAgB,YAAY,CAC1B,KAAK,SAAS,iBAAiB,GAAG,iBAAiB,EACnD,UAAU,GAAG,OAAO,EACpB,WAAW,GAAG,OAAO,EACrB,EACA,OAAO,EACP,SAA8B,EAC9B,SAAS,EACT,eAAoB,EACpB,WAAW,EACX,YAAoC,EACpC,mBAAmD,EACnD,iBAA+C,EAC/C,QAAgB,EAChB,eAAsB,EACtB,aAAoB,EACpB,QAAgB,EAChB,iBAA0B,EAC1B,cAAsB,EACtB,aAAqB,EACrB,SAA4B,EAC5B,gBAAgB,EAChB,cAAc,EACd,OAAO,GACR,EAAE,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CA4jB1G"}
1
+ {"version":3,"file":"use-agent-chat.d.ts","sourceRoot":"","sources":["../../src/hooks/use-agent-chat.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { A, a, e, j, D, k, l, R, T, b, c, d, f, g, h, i, w } from "./RecordSheet-CZ-x6AeG.js";
2
- import { u, a as a2 } from "./use-automation-run-BnhDQAJ6.js";
1
+ import { A, a, e, j, D, k, l, R, T, b, c, d, f, g, h, i, w } from "./RecordSheet-BhWMav4R.js";
2
+ import { u, a as a2 } from "./use-automation-run-Bj17PZB_.js";
3
3
  import { u as u2, a as a3, b as b2, c as c2, d as d2, e as e2, f as f2 } from "./use-sql-table-D5tupvS2.js";
4
4
  import { B, E, z, b as b3, A as A2, C, D as D2, c as c3, F, G, H, I, g as g2, J, K, L, f as f3, M, O, N, a as a4, h as h2, P, i as i2, Q, R as R2, S, T as T2, U, o, p, d as d3, j as j2, k as k2, l as l2, m, n, q, r, t, u as u3, v, w as w2, V, W, e as e3, x, s, y } from "./automations-Bb9nlU05.js";
5
5
  import { o as o2, f as f4, a as a5, b as b4, c as c4, d as d4, e as e4, g as g3, h as h3, i as i3, j as j3, k as k3, l as l3, m as m2, n as n2, s as s2 } from "./formatters-D4T821Dv.js";
@@ -0,0 +1,4 @@
1
+ import { p } from "./RecordSheet-BhWMav4R.js";
2
+ export {
3
+ p as Mermaid
4
+ };
@@ -273,6 +273,7 @@ function useAgentChat({
273
273
  const loadEarlier = useCallback(async () => {
274
274
  if (disabled || isLoadingEarlier || !page?.hasMoreBefore || !page.beforeCursor) return;
275
275
  const loadEarlierImpl = transport.loadEarlier ?? transport.loadHistory;
276
+ const requestedIdentity = `${agentId ?? ""}::${sessionId}`;
276
277
  setIsLoadingEarlier(true);
277
278
  setError(null);
278
279
  try {
@@ -282,14 +283,15 @@ function useAgentChat({
282
283
  beforeCursor: page.beforeCursor,
283
284
  limit: historyLimit
284
285
  });
285
- if (!mountedRef.current) return;
286
+ if (!mountedRef.current || identityKeyRef.current !== requestedIdentity) return;
286
287
  const earlier = mergePendingMessages(result.messages, result.pending ?? []);
287
288
  setMessages((current) => mergeUniqueMessages([...earlier, ...current]));
288
289
  setPage(result.page ?? page);
289
290
  } catch (err) {
291
+ if (identityKeyRef.current !== requestedIdentity) return;
290
292
  handleError(err);
291
293
  } finally {
292
- if (mountedRef.current) setIsLoadingEarlier(false);
294
+ if (mountedRef.current && identityKeyRef.current === requestedIdentity) setIsLoadingEarlier(false);
293
295
  }
294
296
  }, [agentId, disabled, handleError, historyLimit, isLoadingEarlier, page, sessionId, setMessages, transport]);
295
297
  const settleRequest = useCallback(
@@ -542,6 +544,8 @@ function useAgentChat({
542
544
  setPage(initialPage ?? null);
543
545
  setTokenUsage(null);
544
546
  setError(null);
547
+ setIsLoadingHistory(false);
548
+ setIsLoadingEarlier(false);
545
549
  setIsStreaming(false);
546
550
  setIsSubmitting(false);
547
551
  setIsAborting(false);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lumerahq/ui",
3
- "version": "0.10.0-dev.0",
3
+ "version": "0.10.0",
4
4
  "type": "module",
5
5
  "sideEffects": [
6
6
  "*.css"
@@ -1,4 +0,0 @@
1
- import { p } from "./RecordSheet-CZ-x6AeG.js";
2
- export {
3
- p as Mermaid
4
- };