@octaviaflow/core 3.1.0-beta.83 → 3.1.0-beta.84

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionConsole.d.ts","sourceRoot":"","sources":["../../../src/components/ExecutionConsole/ExecutionConsole.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAwC,MAAM,OAAO,CAAC;AAG7E,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAEvE,MAAM,WAAW,QAAQ;IACvB,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;qEACiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,CAAC;AAE1C,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;oEAIgE;IAChE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;iEAC6D;IAC7D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IAC5D,+CAA+C;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qDAAqD;IACrD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0EAA0E;IAC1E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,mEAAmE;IACnE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkED,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EAAE,QAAQ,EACd,QAAQ,EACR,IAAS,EACT,OAAe,EACf,OAAe,EACf,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,QAAQ,EACR,UAAiB,EACjB,eAAsB,EACtB,cAAqB,EACrB,UAAiB,EACjB,cAAwC,EACxC,MAAM,EACN,OAAO,EACP,UAAU,EACV,SAAS,GACV,EAAE,qBAAqB,2CA+evB"}
1
+ {"version":3,"file":"ExecutionConsole.d.ts","sourceRoot":"","sources":["../../../src/components/ExecutionConsole/ExecutionConsole.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAA2D,MAAM,OAAO,CAAC;AAGhG,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAEvE,MAAM,WAAW,QAAQ;IACvB,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;qEACiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,CAAC;AAE1C,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;oEAIgE;IAChE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;iEAC6D;IAC7D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IAC5D,+CAA+C;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qDAAqD;IACrD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0EAA0E;IAC1E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,mEAAmE;IACnE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkED,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EAAE,QAAQ,EACd,QAAQ,EACR,IAAS,EACT,OAAe,EACf,OAAe,EACf,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,QAAQ,EACR,UAAiB,EACjB,eAAsB,EACtB,cAAqB,EACrB,UAAiB,EACjB,cAAwC,EACxC,MAAM,EACN,OAAO,EACP,UAAU,EACV,SAAS,GACV,EAAE,qBAAqB,2CAsdvB"}
package/dist/index.cjs CHANGED
@@ -16544,11 +16544,17 @@ function ExecutionConsole({
16544
16544
  }, [running]);
16545
16545
  (0, import_react86.useEffect)(() => {
16546
16546
  if (!open || !autoScroll) return;
16547
+ const logsEl = logsRef.current;
16548
+ if (running && logsEl) {
16549
+ logsEl.scrollTop = logsEl.scrollHeight;
16550
+ lastScrollTopRef.current = logsEl.scrollTop;
16551
+ return;
16552
+ }
16547
16553
  const el = logEndRef.current;
16548
16554
  if (el && typeof el.scrollIntoView === "function") {
16549
16555
  el.scrollIntoView({ behavior: "smooth", block: "end" });
16550
16556
  }
16551
- }, [filteredLogs.length, open, autoScroll]);
16557
+ }, [filteredLogs.length, open, autoScroll, running]);
16552
16558
  const handleLogsScroll = () => {
16553
16559
  const el = logsRef.current;
16554
16560
  if (!el) return;
@@ -16568,14 +16574,14 @@ function ExecutionConsole({
16568
16574
  return next;
16569
16575
  });
16570
16576
  };
16571
- const toggleLineExpand = (index) => {
16577
+ const toggleLineExpand = (0, import_react86.useCallback)((index) => {
16572
16578
  setExpandedLines((prev) => {
16573
16579
  const next = new Set(prev);
16574
16580
  if (next.has(index)) next.delete(index);
16575
16581
  else next.add(index);
16576
16582
  return next;
16577
16583
  });
16578
- };
16584
+ }, []);
16579
16585
  const handleCopy = () => {
16580
16586
  if (onCopy) {
16581
16587
  onCopy();
@@ -16851,38 +16857,17 @@ function ExecutionConsole({
16851
16857
  /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "ods-console__empty-title", children: logs.length === 0 ? "No log entries" : "No logs match the filters" }),
16852
16858
  logs.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "ods-console__empty-hint", children: "Output will appear here when the step runs." })
16853
16859
  ] }) }),
16854
- !loading && filteredLogs.map((log, i) => {
16855
- const expanded = expandedLines.has(i);
16856
- const canExpand = log.detail !== void 0 && log.detail !== null;
16857
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
16858
- "div",
16859
- {
16860
- className: cn("ods-console__line", `ods-console__line--${log.level}`),
16861
- "data-testid": "console-log-line",
16862
- children: [
16863
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "ods-console__line-row", children: [
16864
- canExpand ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
16865
- "button",
16866
- {
16867
- type: "button",
16868
- className: "ods-console__line-toggle",
16869
- onClick: () => toggleLineExpand(i),
16870
- "aria-label": expanded ? "Collapse log detail" : "Expand log detail",
16871
- "aria-expanded": expanded,
16872
- children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ChevronIcon2, { open: expanded })
16873
- }
16874
- ) : /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "ods-console__line-toggle ods-console__line-toggle--placeholder" }),
16875
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "ods-console__timestamp", children: log.timestamp }),
16876
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: cn("ods-console__level", `ods-console__level--${log.level}`), children: log.level.toUpperCase() }),
16877
- log.nodeLabel && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "ods-console__node-tag", title: log.nodeId, children: log.nodeLabel }),
16878
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "ods-console__message", children: q(query, log.message) })
16879
- ] }),
16880
- canExpand && expanded && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("pre", { className: "ods-console__detail", children: typeof log.detail === "string" ? log.detail : safeStringify(log.detail) })
16881
- ]
16882
- },
16883
- i
16884
- );
16885
- }),
16860
+ !loading && filteredLogs.map((log, i) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
16861
+ ConsoleLine,
16862
+ {
16863
+ log,
16864
+ index: i,
16865
+ expanded: expandedLines.has(i),
16866
+ query,
16867
+ onToggleExpand: toggleLineExpand
16868
+ },
16869
+ i
16870
+ )),
16886
16871
  /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { ref: logEndRef })
16887
16872
  ]
16888
16873
  }
@@ -16891,6 +16876,42 @@ function ExecutionConsole({
16891
16876
  }
16892
16877
  );
16893
16878
  }
16879
+ var ConsoleLine = (0, import_react86.memo)(function ConsoleLine2({
16880
+ log,
16881
+ index,
16882
+ expanded,
16883
+ query,
16884
+ onToggleExpand
16885
+ }) {
16886
+ const canExpand = log.detail !== void 0 && log.detail !== null;
16887
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
16888
+ "div",
16889
+ {
16890
+ className: cn("ods-console__line", `ods-console__line--${log.level}`),
16891
+ "data-testid": "console-log-line",
16892
+ children: [
16893
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "ods-console__line-row", children: [
16894
+ canExpand ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
16895
+ "button",
16896
+ {
16897
+ type: "button",
16898
+ className: "ods-console__line-toggle",
16899
+ onClick: () => onToggleExpand(index),
16900
+ "aria-label": expanded ? "Collapse log detail" : "Expand log detail",
16901
+ "aria-expanded": expanded,
16902
+ children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ChevronIcon2, { open: expanded })
16903
+ }
16904
+ ) : /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "ods-console__line-toggle ods-console__line-toggle--placeholder" }),
16905
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "ods-console__timestamp", children: log.timestamp }),
16906
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: cn("ods-console__level", `ods-console__level--${log.level}`), children: log.level.toUpperCase() }),
16907
+ log.nodeLabel && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "ods-console__node-tag", title: log.nodeId, children: log.nodeLabel }),
16908
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { className: "ods-console__message", children: q(query, log.message) })
16909
+ ] }),
16910
+ canExpand && expanded && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("pre", { className: "ods-console__detail", children: typeof log.detail === "string" ? log.detail : safeStringify(log.detail) })
16911
+ ]
16912
+ }
16913
+ );
16914
+ });
16894
16915
  function q(query, text) {
16895
16916
  const trimmed = query.trim();
16896
16917
  if (!trimmed) return text;