@elaraai/e3-ui-components 1.0.27 → 1.0.29

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.
package/README.md CHANGED
@@ -148,9 +148,8 @@ Dual-licensed:
148
148
  - [@elaraai/east-node-io](https://www.npmjs.com/package/@elaraai/east-node-io): SQLite, PostgreSQL, MySQL, MongoDB, Redis, S3, FTP, SFTP, XLSX, XML, compression
149
149
  - [@elaraai/east-node-cli](https://www.npmjs.com/package/@elaraai/east-node-cli): CLI for running East IR programs in Node.js
150
150
 
151
- - **[East C](https://github.com/elaraai/east-workspace/tree/main/libs/east-c)**: C11 native runtime for executing East IR. Distributed via npm (launcher + per-platform optional dependencies) and as tarballs on each GitHub Release.
152
- - [@elaraai/east-c-cli](https://www.npmjs.com/package/@elaraai/east-c-cli): npm launcherinstalls the matching native binary as an optional dependency
153
- - `east-c`: Core runtime — type system, IR interpreter, builtins, serialization (Beast2, JSON, CSV, East text)
151
+ - **[East C](https://github.com/elaraai/east-workspace/tree/main/libs/east-c)**: C11 native runtime for executing East IR. Tarballed for `linux-x64` and `linux-arm64`, attached to each GitHub Release.
152
+ - `east-c`: Core runtimetype system, IR interpreter, 200+ builtins, serialization (Beast2, JSON, CSV, East text)
154
153
  - `east-c-std`: Console, FileSystem, Fetch, Crypto, Time, Path, Random
155
154
  - `east-c-cli`: CLI for running East IR programs natively
156
155
 
@@ -166,6 +165,7 @@ Dual-licensed:
166
165
  - [@elaraai/east-ui-components](https://www.npmjs.com/package/@elaraai/east-ui-components): React renderer with Chakra UI v3 styling
167
166
  - [@elaraai/e3-ui](https://www.npmjs.com/package/@elaraai/e3-ui): e3 + UI bridge — Data bindings, `e3.ui()` task, manifest
168
167
  - [@elaraai/e3-ui-components](https://www.npmjs.com/package/@elaraai/e3-ui-components): React Query hooks and preview components for the e3 API
168
+ - [@elaraai/e3-ui-cli](https://www.npmjs.com/package/@elaraai/e3-ui-cli): Render east-ui / e3-ui components to PNG from the command line (`e3-ui shot`)
169
169
  - [east-ui-preview](https://marketplace.visualstudio.com/items?itemName=ElaraAI.east-ui-preview): VS Code extension for live East UI component preview
170
170
 
171
171
  - **[e3 — East Execution Engine](https://github.com/elaraai/east-workspace/tree/main/libs/e3)**: Durable execution engine for running East pipelines at scale. Git-like content-addressable storage, automatic memoization, reactive dataflow, real-time monitoring.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/diff/index.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AA2CH,OAAO,EAUH,KAAK,WAAW,EAQnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,IAAI,EAAmB,MAAM,yBAAyB,CAAC;AAwBhE,KAAK,SAAS,GAAG,WAAW,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AA61B3D,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,QAAA,MAAM,cAAc,2DA2asC,CAAC;AAM3D,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/diff/index.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AA2CH,OAAO,EAUH,KAAK,WAAW,EAQnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,IAAI,EAAmB,MAAM,yBAAyB,CAAC;AAwBhE,KAAK,SAAS,GAAG,WAAW,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AA81B3D,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,QAAA,MAAM,cAAc,2DA0asC,CAAC;AAM3D,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDatasetValue.d.ts","sourceRoot":"","sources":["../../src/hooks/useDatasetValue.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAA4B,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAW7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAajD,MAAM,WAAW,sBAAsB;IACnC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,6CAA6C;IAC7C,IAAI,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,OAAO,EAAE,sBAAsB,GAChC,cAAc,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAyB3C;AAED,oDAAoD;AACpD,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,cAAc,CAAC,EAAE,cAAc,uBAyBlC"}
1
+ {"version":3,"file":"useDatasetValue.d.ts","sourceRoot":"","sources":["../../src/hooks/useDatasetValue.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAA4B,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAW7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAajD,MAAM,WAAW,sBAAsB;IACnC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/B,6CAA6C;IAC7C,IAAI,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,OAAO,EAAE,sBAAsB,GAChC,cAAc,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAoB3C;AAED,oDAAoD;AACpD,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,cAAc,CAAC,EAAE,cAAc,uBAyBlC"}
package/dist/index.cjs CHANGED
@@ -9474,7 +9474,7 @@ const EastChakraDiff = React.memo(function EastChakraDiff2({ value }) {
9474
9474
  return /* @__PURE__ */ jsxRuntime.jsx(
9475
9475
  react.Box,
9476
9476
  {
9477
- layerStyle: "frame",
9477
+ layerStyle: "surface.frameless",
9478
9478
  p: "28px",
9479
9479
  textAlign: "center",
9480
9480
  color: "fg.subtle",
@@ -9501,9 +9501,8 @@ const EastChakraDiff = React.memo(function EastChakraDiff2({ value }) {
9501
9501
  return /* @__PURE__ */ jsxRuntime.jsxs(
9502
9502
  react.Box,
9503
9503
  {
9504
- layerStyle: "frame",
9504
+ layerStyle: "surface.frameless",
9505
9505
  fontFamily: "body",
9506
- borderColor: inConflictMode ? "fg.warning" : "border.strong",
9507
9506
  children: [
9508
9507
  /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { css: es.root, children: [
9509
9508
  /* @__PURE__ */ jsxRuntime.jsx(react.Box, { css: es.lbl, children: "Pending changes" }),
@@ -61022,7 +61021,7 @@ function LoadingSkeleton() {
61022
61021
  const sk = react.useRecipe({ key: "skeleton" });
61023
61022
  const line2 = (w2, h2) => /* @__PURE__ */ jsxRuntime.jsx(react.Box, { css: sk({ variant: "line" }), width: w2, height: h2 });
61024
61023
  const block = (h2) => /* @__PURE__ */ jsxRuntime.jsx(react.Box, { css: sk({ variant: "block" }), width: "100%", minHeight: h2 });
61025
- return /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { layerStyle: "frame", overflow: "visible", children: [
61024
+ return /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { layerStyle: "surface.frameless", overflow: "visible", children: [
61026
61025
  /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { layerStyle: "header.bar", display: "flex", alignItems: "center", gap: "3.5", children: [
61027
61026
  line2("260px", "20px"),
61028
61027
  /* @__PURE__ */ jsxRuntime.jsx(react.Box, { flex: "1" }),
@@ -61224,14 +61223,14 @@ const EastChakraExperiment = React.memo(function EastChakraExperiment2({ value }
61224
61223
  const which = data4.error ? "dataset" : configsBind.error ? "configs" : journalBind.error ? "journal" : null;
61225
61224
  const bindError = data4.error ?? configsBind.error ?? journalBind.error;
61226
61225
  const bindMsg = bindError instanceof Error ? bindError.message : bindError != null ? String(bindError) : null;
61227
- if (bindMsg) return /* @__PURE__ */ jsxRuntime.jsx(react.Box, { layerStyle: "frame", p: "6", children: /* @__PURE__ */ jsxRuntime.jsxs(react.Text, { textStyle: "body.sm", color: "fg.danger", children: [
61226
+ if (bindMsg) return /* @__PURE__ */ jsxRuntime.jsx(react.Box, { layerStyle: "surface.frameless", p: "6", children: /* @__PURE__ */ jsxRuntime.jsxs(react.Text, { textStyle: "body.sm", color: "fg.danger", children: [
61228
61227
  "Couldn’t load the experiment ",
61229
61228
  which,
61230
61229
  ": ",
61231
61230
  bindMsg
61232
61231
  ] }) });
61233
- if (noConfigs) return /* @__PURE__ */ jsxRuntime.jsx(react.Box, { layerStyle: "frame", p: "6", children: /* @__PURE__ */ jsxRuntime.jsx(react.Text, { textStyle: "body.sm", color: "fg.muted", children: "No questions to show — bind a non-empty configs list." }) });
61234
- if (failed2 && experiment.error) return /* @__PURE__ */ jsxRuntime.jsx(react.Box, { layerStyle: "frame", p: "6", children: /* @__PURE__ */ jsxRuntime.jsx(RunError, { error: experiment.error }) });
61232
+ if (noConfigs) return /* @__PURE__ */ jsxRuntime.jsx(react.Box, { layerStyle: "surface.frameless", p: "6", children: /* @__PURE__ */ jsxRuntime.jsx(react.Text, { textStyle: "body.sm", color: "fg.muted", children: "No questions to show — bind a non-empty configs list." }) });
61233
+ if (failed2 && experiment.error) return /* @__PURE__ */ jsxRuntime.jsx(react.Box, { layerStyle: "surface.frameless", p: "6", children: /* @__PURE__ */ jsxRuntime.jsx(RunError, { error: experiment.error }) });
61235
61234
  return /* @__PURE__ */ jsxRuntime.jsx(LoadingSkeleton, {});
61236
61235
  }
61237
61236
  const { spec: vs, answer: a2, refusal: ref, overlap: ov, refute: vr, dose: vd, journal, verdict } = view;
@@ -61252,7 +61251,7 @@ const EastChakraExperiment = React.memo(function EastChakraExperiment2({ value }
61252
61251
  const anyPrecomputedDesign = configs.some((c2) => c2.design.type === "some");
61253
61252
  const showValidate = hasDesign || anyPrecomputedDesign;
61254
61253
  const tabKeys = [...["answer", "trust", "dose"], ...showValidate ? ["validate"] : []];
61255
- return /* @__PURE__ */ jsxRuntime.jsx(GuidanceProvider, { on: guidance, vars: helpVars, children: /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { layerStyle: "frame", overflow: "visible", children: [
61254
+ return /* @__PURE__ */ jsxRuntime.jsx(GuidanceProvider, { on: guidance, vars: helpVars, children: /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { layerStyle: "surface.frameless", overflow: "visible", children: [
61256
61255
  /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { layerStyle: "header.bar", display: "flex", alignItems: "center", gap: "3.5", children: [
61257
61256
  configs.length > 1 ? /* @__PURE__ */ jsxRuntime.jsxs(react.Menu.Root, { children: [
61258
61257
  /* @__PURE__ */ jsxRuntime.jsx(react.Menu.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { as: "button", bg: "transparent", border: "0", p: "0", cursor: "pointer", display: "inline-flex", alignItems: "center", gap: "2", textAlign: "start", children: [
@@ -63012,9 +63011,9 @@ const EastChakraDecisionQueue = React.memo(function EastChakraDecisionQueue2({ v
63012
63011
  return m2;
63013
63012
  }, [exiting]);
63014
63013
  if (decisions === null) {
63015
- return /* @__PURE__ */ jsxRuntime.jsx(react.Box, { layerStyle: "frame", p: "16px", children: /* @__PURE__ */ jsxRuntime.jsx(react.Text, { color: "fg.muted", fontSize: "13px", children: "Loading decisions…" }) });
63014
+ return /* @__PURE__ */ jsxRuntime.jsx(react.Box, { layerStyle: "surface.frameless", p: "16px", children: /* @__PURE__ */ jsxRuntime.jsx(react.Text, { color: "fg.muted", fontSize: "13px", children: "Loading decisions…" }) });
63016
63015
  }
63017
- return /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { ref: rootRef, layerStyle: "frame", overflow: "hidden", children: [
63016
+ return /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { ref: rootRef, layerStyle: "surface.frameless", overflow: "hidden", children: [
63018
63017
  /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { css: es.root, children: [
63019
63018
  /* @__PURE__ */ jsxRuntime.jsx(react.Box, { css: es.lbl, children: heading }),
63020
63019
  sliceHandle !== null && railAffordances !== void 0 && /* @__PURE__ */ jsxRuntime.jsx(react.Box, { display: "flex", alignItems: "center", minWidth: "0", flex: "1", justifyContent: "flex-end", marginRight: "10px", children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -63487,12 +63486,7 @@ function useDatasetValue(apiUrl, repo, workspace, datasetPath, options2) {
63487
63486
  queryKey: ["datasetValue", apiUrl, repo, workspace, datasetPath, hash2 ?? null],
63488
63487
  queryFn: async () => {
63489
63488
  const result = await e3ApiClient.datasetGet(apiUrl, repo, workspace, pathParts, reqOpts);
63490
- const t02 = performance.now();
63491
63489
  const decoded = east.decodeBeast2For(type, { platform: platformImpls })(result.data);
63492
- const kind = (type == null ? void 0 : type.type) ?? "unknown";
63493
- console.log(
63494
- `[east-value] decode ${kind} ${(result.data.length / 1024).toFixed(1)}KB in ${(performance.now() - t02).toFixed(1)}ms (${datasetPath})`
63495
- );
63496
63490
  return { decoded, sizeBytes: result.data.length };
63497
63491
  },
63498
63492
  enabled: enabled && !!workspace && !!datasetPath && hash2 != null,