@platforma-open/milaboratories.repertoire-diversity-2.model 1.3.0 → 1.4.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.
package/dist/bundle.js CHANGED
@@ -391,7 +391,7 @@
391
391
  overrideMap,
392
392
  overrideMap === errorMap ? void 0 : errorMap
393
393
  // then global default map
394
- ].filter((x) => !!x)
394
+ ].filter((x2) => !!x2)
395
395
  });
396
396
  ctx.common.issues.push(issue);
397
397
  }
@@ -454,15 +454,15 @@
454
454
  });
455
455
  const DIRTY = (value) => ({ status: "dirty", value });
456
456
  const OK = (value) => ({ status: "valid", value });
457
- const isAborted = (x) => x.status === "aborted";
458
- const isDirty = (x) => x.status === "dirty";
459
- const isValid = (x) => x.status === "valid";
460
- const isAsync = (x) => typeof Promise !== "undefined" && x instanceof Promise;
461
- function __classPrivateFieldGet(receiver, state, kind, f2) {
457
+ const isAborted = (x2) => x2.status === "aborted";
458
+ const isDirty = (x2) => x2.status === "dirty";
459
+ const isValid = (x2) => x2.status === "valid";
460
+ const isAsync = (x2) => typeof Promise !== "undefined" && x2 instanceof Promise;
461
+ function __classPrivateFieldGet(receiver, state, kind, f) {
462
462
  if (typeof state === "function" ? receiver !== state || true : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
463
463
  return state.get(receiver);
464
464
  }
465
- function __classPrivateFieldSet(receiver, state, value, kind, f2) {
465
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
466
466
  if (typeof state === "function" ? receiver !== state || true : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
467
467
  return state.set(receiver, value), value;
468
468
  }
@@ -2787,7 +2787,7 @@
2787
2787
  if (!schema)
2788
2788
  return null;
2789
2789
  return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));
2790
- }).filter((x) => !!x);
2790
+ }).filter((x2) => !!x2);
2791
2791
  if (ctx.common.async) {
2792
2792
  return Promise.all(items).then((results) => {
2793
2793
  return ParseStatus.mergeArray(status, results);
@@ -3045,7 +3045,7 @@
3045
3045
  ctx.schemaErrorMap,
3046
3046
  getErrorMap(),
3047
3047
  errorMap
3048
- ].filter((x) => !!x),
3048
+ ].filter((x2) => !!x2),
3049
3049
  issueData: {
3050
3050
  code: ZodIssueCode.invalid_arguments,
3051
3051
  argumentsError: error
@@ -3061,7 +3061,7 @@
3061
3061
  ctx.schemaErrorMap,
3062
3062
  getErrorMap(),
3063
3063
  errorMap
3064
- ].filter((x) => !!x),
3064
+ ].filter((x2) => !!x2),
3065
3065
  issueData: {
3066
3066
  code: ZodIssueCode.invalid_return_type,
3067
3067
  returnTypeError: error
@@ -3914,8 +3914,8 @@
3914
3914
  quotelessJson,
3915
3915
  ZodError
3916
3916
  });
3917
- function getDefaultExportFromCjs(x) {
3918
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
3917
+ function getDefaultExportFromCjs(x2) {
3918
+ return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2;
3919
3919
  }
3920
3920
  var canonicalize;
3921
3921
  var hasRequiredCanonicalize;
@@ -3955,239 +3955,239 @@
3955
3955
  return canonicalize;
3956
3956
  }
3957
3957
  var canonicalizeExports = requireCanonicalize();
3958
- const ke = /* @__PURE__ */ getDefaultExportFromCjs(canonicalizeExports);
3959
- var B$1 = Object.defineProperty;
3960
- var j = (n2, e, t) => e in n2 ? B$1(n2, e, { enumerable: true, configurable: true, writable: true, value: t }) : n2[e] = t;
3961
- var l$1 = (n2, e, t) => j(n2, typeof e != "symbol" ? e + "" : e, t);
3958
+ const Re = /* @__PURE__ */ getDefaultExportFromCjs(canonicalizeExports);
3959
+ var D$1 = Object.defineProperty;
3960
+ var L = (e, n2, t) => n2 in e ? D$1(e, n2, { enumerable: true, configurable: true, writable: true, value: t }) : e[n2] = t;
3961
+ var l$1 = (e, n2, t) => L(e, typeof n2 != "symbol" ? n2 + "" : n2, t);
3962
3962
  z$1.object({
3963
3963
  /** Included left border. */
3964
3964
  from: z$1.number(),
3965
3965
  /** Excluded right border. */
3966
3966
  to: z$1.number()
3967
3967
  });
3968
- function w(n2) {
3969
- throw new Error("Unexpected object: " + n2);
3968
+ function A(e) {
3969
+ throw new Error("Unexpected object: " + e);
3970
3970
  }
3971
- function En(n2) {
3972
- if (!n2 || typeof n2 != "object")
3971
+ function Oe(e) {
3972
+ if (!e || typeof e != "object")
3973
3973
  return false;
3974
- const e = n2;
3975
- if (!("type" in e))
3974
+ const n2 = e;
3975
+ if (!("type" in n2))
3976
3976
  return false;
3977
- switch (e.type) {
3977
+ switch (n2.type) {
3978
3978
  case "Json":
3979
- return typeof e.keyLength == "number" && e.data !== void 0 && typeof e.data == "object";
3979
+ return typeof n2.keyLength == "number" && n2.data !== void 0 && typeof n2.data == "object";
3980
3980
  case "JsonPartitioned":
3981
- return typeof e.partitionKeyLength == "number" && e.parts !== void 0 && typeof e.parts == "object";
3981
+ return typeof n2.partitionKeyLength == "number" && n2.parts !== void 0 && typeof n2.parts == "object";
3982
3982
  case "BinaryPartitioned":
3983
- return typeof e.partitionKeyLength == "number" && e.parts !== void 0 && typeof e.parts == "object";
3983
+ return typeof n2.partitionKeyLength == "number" && n2.parts !== void 0 && typeof n2.parts == "object";
3984
3984
  default:
3985
3985
  return false;
3986
3986
  }
3987
3987
  }
3988
- function Nn(n2, e) {
3989
- if (n2 !== void 0)
3990
- switch (n2.type) {
3988
+ function Ce(e, n2) {
3989
+ if (e !== void 0)
3990
+ switch (e.type) {
3991
3991
  case "Json":
3992
- return n2;
3992
+ return e;
3993
3993
  case "JsonPartitioned": {
3994
3994
  const t = {};
3995
- for (const [r, o] of Object.entries(n2.parts))
3996
- t[r] = e(o);
3995
+ for (const [r, o] of Object.entries(e.parts))
3996
+ t[r] = n2(o);
3997
3997
  return {
3998
- ...n2,
3998
+ ...e,
3999
3999
  parts: t
4000
4000
  };
4001
4001
  }
4002
4002
  case "BinaryPartitioned": {
4003
4003
  const t = {};
4004
- for (const [r, o] of Object.entries(n2.parts))
4004
+ for (const [r, o] of Object.entries(e.parts))
4005
4005
  t[r] = {
4006
- index: e(o.index),
4007
- values: e(o.values)
4006
+ index: n2(o.index),
4007
+ values: n2(o.values)
4008
4008
  };
4009
4009
  return {
4010
- ...n2,
4010
+ ...e,
4011
4011
  parts: t
4012
4012
  };
4013
4013
  }
4014
4014
  }
4015
4015
  }
4016
- function K(n2) {
4017
- if (!n2 || typeof n2 != "object")
4016
+ function _(e) {
4017
+ if (!e || typeof e != "object")
4018
4018
  return false;
4019
- const e = n2;
4020
- if (!("type" in e))
4019
+ const n2 = e;
4020
+ if (!("type" in n2))
4021
4021
  return false;
4022
- switch (e.type) {
4022
+ switch (n2.type) {
4023
4023
  case "Json":
4024
- return typeof e.keyLength == "number" && Array.isArray(e.data);
4024
+ return typeof n2.keyLength == "number" && Array.isArray(n2.data);
4025
4025
  case "JsonPartitioned":
4026
- return typeof e.partitionKeyLength == "number" && Array.isArray(e.parts);
4026
+ return typeof n2.partitionKeyLength == "number" && Array.isArray(n2.parts);
4027
4027
  case "BinaryPartitioned":
4028
- return typeof e.partitionKeyLength == "number" && Array.isArray(e.parts);
4028
+ return typeof n2.partitionKeyLength == "number" && Array.isArray(n2.parts);
4029
4029
  default:
4030
4030
  return false;
4031
4031
  }
4032
4032
  }
4033
- function Sn(n2) {
4034
- return K(n2) ? n2.type === "JsonPartitioned" || n2.type === "BinaryPartitioned" : false;
4033
+ function $e(e) {
4034
+ return _(e) ? e.type === "JsonPartitioned" || e.type === "BinaryPartitioned" : false;
4035
4035
  }
4036
- function Cn(n2) {
4037
- switch (n2.type) {
4036
+ function Ve$1(e) {
4037
+ switch (e.type) {
4038
4038
  case "Json": {
4039
- const e = Object.entries(n2.data).map(([t, r]) => ({ key: JSON.parse(t), value: r }));
4039
+ const n2 = Object.entries(e.data).map(([t, r]) => ({ key: JSON.parse(t), value: r }));
4040
4040
  return {
4041
4041
  type: "Json",
4042
- keyLength: n2.keyLength,
4043
- data: e
4042
+ keyLength: e.keyLength,
4043
+ data: n2
4044
4044
  };
4045
4045
  }
4046
4046
  case "JsonPartitioned": {
4047
- const e = Object.entries(n2.parts).map(([t, r]) => ({ key: JSON.parse(t), value: r }));
4047
+ const n2 = Object.entries(e.parts).map(([t, r]) => ({ key: JSON.parse(t), value: r }));
4048
4048
  return {
4049
4049
  type: "JsonPartitioned",
4050
- partitionKeyLength: n2.partitionKeyLength,
4051
- parts: e
4050
+ partitionKeyLength: e.partitionKeyLength,
4051
+ parts: n2
4052
4052
  };
4053
4053
  }
4054
4054
  case "BinaryPartitioned": {
4055
- const e = Object.entries(n2.parts).map(([t, r]) => ({ key: JSON.parse(t), value: r }));
4055
+ const n2 = Object.entries(e.parts).map(([t, r]) => ({ key: JSON.parse(t), value: r }));
4056
4056
  return {
4057
4057
  type: "BinaryPartitioned",
4058
- partitionKeyLength: n2.partitionKeyLength,
4059
- parts: e
4058
+ partitionKeyLength: e.partitionKeyLength,
4059
+ parts: n2
4060
4060
  };
4061
4061
  }
4062
4062
  }
4063
4063
  }
4064
- function Jn(n2) {
4065
- switch (n2.type) {
4064
+ function Ie$1(e) {
4065
+ switch (e.type) {
4066
4066
  case "Json": {
4067
- const e = {};
4068
- for (const t of n2.data)
4069
- e[JSON.stringify(t.key)] = t.value;
4067
+ const n2 = {};
4068
+ for (const t of e.data)
4069
+ n2[JSON.stringify(t.key)] = t.value;
4070
4070
  return {
4071
4071
  type: "Json",
4072
- keyLength: n2.keyLength,
4073
- data: e
4072
+ keyLength: e.keyLength,
4073
+ data: n2
4074
4074
  };
4075
4075
  }
4076
4076
  case "JsonPartitioned": {
4077
- const e = {};
4078
- for (const t of n2.parts)
4079
- e[JSON.stringify(t.key)] = t.value;
4077
+ const n2 = {};
4078
+ for (const t of e.parts)
4079
+ n2[JSON.stringify(t.key)] = t.value;
4080
4080
  return {
4081
4081
  type: "JsonPartitioned",
4082
- partitionKeyLength: n2.partitionKeyLength,
4083
- parts: e
4082
+ partitionKeyLength: e.partitionKeyLength,
4083
+ parts: n2
4084
4084
  };
4085
4085
  }
4086
4086
  case "BinaryPartitioned": {
4087
- const e = {};
4088
- for (const t of n2.parts)
4089
- e[JSON.stringify(t.key)] = t.value;
4087
+ const n2 = {};
4088
+ for (const t of e.parts)
4089
+ n2[JSON.stringify(t.key)] = t.value;
4090
4090
  return {
4091
4091
  type: "BinaryPartitioned",
4092
- partitionKeyLength: n2.partitionKeyLength,
4093
- parts: e
4092
+ partitionKeyLength: e.partitionKeyLength,
4093
+ parts: n2
4094
4094
  };
4095
4095
  }
4096
4096
  }
4097
4097
  }
4098
- function Fn(n2) {
4098
+ function Me$1(e) {
4099
4099
  return {
4100
- columnId: n2.id,
4101
- spec: n2.spec
4100
+ columnId: e.id,
4101
+ spec: e.spec
4102
4102
  };
4103
4103
  }
4104
- function p$1(n2) {
4105
- const { type: e, name: t, domain: r } = n2, o = { type: e, name: t };
4104
+ function y(e) {
4105
+ const { type: n2, name: t, domain: r } = e, o = { type: n2, name: t };
4106
4106
  return r && Object.entries(r).length > 0 && Object.assign(o, { domain: r }), o;
4107
4107
  }
4108
- function J(n2) {
4109
- return n2.map(p$1);
4108
+ function C(e) {
4109
+ return e.map(y);
4110
4110
  }
4111
- function Rn(n2) {
4112
- return ke(p$1(n2));
4111
+ function _e$1(e) {
4112
+ return Re(y(e));
4113
4113
  }
4114
- function Y$1(n2, e) {
4115
- if (n2 === void 0) return e === void 0;
4116
- if (e === void 0) return true;
4117
- for (const t in e)
4118
- if (n2[t] !== e[t]) return false;
4114
+ function ee$1(e, n2) {
4115
+ if (e === void 0) return n2 === void 0;
4116
+ if (n2 === void 0) return true;
4117
+ for (const t in n2)
4118
+ if (e[t] !== n2[t]) return false;
4119
4119
  return true;
4120
4120
  }
4121
- function Z$1(n2, e) {
4122
- return n2.name === e.name && Y$1(n2.domain, e.domain);
4121
+ function ne$1(e, n2) {
4122
+ return e.name === n2.name && ee$1(e.domain, n2.domain);
4123
4123
  }
4124
- function Un(n2, e) {
4125
- return { ...n2, src: h(n2.src, e) };
4124
+ function qe$1(e, n2) {
4125
+ return { ...e, src: g(e.src, n2) };
4126
4126
  }
4127
- function h(n2, e) {
4128
- switch (n2.type) {
4127
+ function g(e, n2) {
4128
+ switch (e.type) {
4129
4129
  case "column":
4130
4130
  return {
4131
4131
  type: "column",
4132
- column: e(n2.column)
4132
+ column: n2(e.column)
4133
4133
  };
4134
4134
  case "slicedColumn":
4135
4135
  return {
4136
4136
  type: "slicedColumn",
4137
- column: e(n2.column),
4138
- newId: n2.newId,
4139
- axisFilters: n2.axisFilters
4137
+ column: n2(e.column),
4138
+ newId: e.newId,
4139
+ axisFilters: e.axisFilters
4140
4140
  };
4141
4141
  case "inlineColumn":
4142
- return n2;
4142
+ return e;
4143
4143
  case "inner":
4144
4144
  case "full":
4145
4145
  return {
4146
- type: n2.type,
4147
- entries: n2.entries.map((t) => h(t, e))
4146
+ type: e.type,
4147
+ entries: e.entries.map((t) => g(t, n2))
4148
4148
  };
4149
4149
  case "outer":
4150
4150
  return {
4151
4151
  type: "outer",
4152
- primary: h(n2.primary, e),
4153
- secondary: n2.secondary.map((t) => h(t, e))
4152
+ primary: g(e.primary, n2),
4153
+ secondary: e.secondary.map((t) => g(t, n2))
4154
4154
  };
4155
4155
  default:
4156
- w(n2);
4156
+ A(e);
4157
4157
  }
4158
4158
  }
4159
- function nn(n2) {
4160
- return ke(n2);
4159
+ function te(e) {
4160
+ return Re(e);
4161
4161
  }
4162
- function P(n2) {
4163
- return ke(p$1(n2));
4162
+ function P(e) {
4163
+ return Re(y(e));
4164
4164
  }
4165
- function k(n2, e) {
4166
- return JSON.stringify([n2, e]);
4165
+ function E(e, n2) {
4166
+ return JSON.stringify([e, n2]);
4167
4167
  }
4168
- class _n {
4168
+ class He {
4169
4169
  /**
4170
4170
  * Creates a new anchor context from a set of anchor column specifications
4171
4171
  * @param anchors Record of anchor column specifications indexed by anchor ID
4172
4172
  */
4173
- constructor(e) {
4173
+ constructor(n2) {
4174
4174
  l$1(this, "domains", /* @__PURE__ */ new Map());
4175
4175
  l$1(this, "axes", /* @__PURE__ */ new Map());
4176
4176
  l$1(this, "domainPacks", []);
4177
4177
  l$1(this, "domainPackToAnchor", /* @__PURE__ */ new Map());
4178
- this.anchors = e;
4179
- const t = Object.entries(e);
4178
+ this.anchors = n2;
4179
+ const t = Object.entries(n2);
4180
4180
  t.sort((r, o) => r[0].localeCompare(o[0]));
4181
4181
  for (const [r, o] of t) {
4182
- for (let s2 = 0; s2 < o.axesSpec.length; s2++) {
4183
- const a = o.axesSpec[s2], i = P(a);
4184
- this.axes.set(i, { anchor: r, idx: s2 });
4182
+ for (let i = 0; i < o.axesSpec.length; i++) {
4183
+ const a = o.axesSpec[i], s2 = P(a);
4184
+ this.axes.set(s2, { anchor: r, idx: i });
4185
4185
  }
4186
4186
  if (o.domain !== void 0) {
4187
- const s2 = Object.entries(o.domain);
4188
- s2.sort((a, i) => a[0].localeCompare(i[0])), this.domainPackToAnchor.set(JSON.stringify(s2), r), this.domainPacks.push(s2.map(([a]) => a));
4189
- for (const [a, i] of s2) {
4190
- const u2 = k(a, i);
4187
+ const i = Object.entries(o.domain);
4188
+ i.sort((a, s2) => a[0].localeCompare(s2[0])), this.domainPackToAnchor.set(JSON.stringify(i), r), this.domainPacks.push(i.map(([a]) => a));
4189
+ for (const [a, s2] of i) {
4190
+ const u2 = E(a, s2);
4191
4191
  this.domains.set(u2, r);
4192
4192
  }
4193
4193
  }
@@ -4196,57 +4196,57 @@
4196
4196
  /**
4197
4197
  * Implementation of derive method
4198
4198
  */
4199
- derive(e, t) {
4199
+ derive(n2, t) {
4200
4200
  const r = {
4201
- name: e.name,
4201
+ name: n2.name,
4202
4202
  axes: []
4203
4203
  };
4204
4204
  let o;
4205
- if (e.domain !== void 0)
4206
- n:
4205
+ if (n2.domain !== void 0)
4206
+ e:
4207
4207
  for (const a of this.domainPacks) {
4208
- const i = [];
4208
+ const s2 = [];
4209
4209
  for (const c2 of a) {
4210
- const m2 = e.domain[c2];
4211
- if (m2 !== void 0)
4212
- i.push([c2, m2]);
4210
+ const f = n2.domain[c2];
4211
+ if (f !== void 0)
4212
+ s2.push([c2, f]);
4213
4213
  else
4214
- break n;
4214
+ break e;
4215
4215
  }
4216
- const u2 = this.domainPackToAnchor.get(JSON.stringify(i));
4216
+ const u2 = this.domainPackToAnchor.get(JSON.stringify(s2));
4217
4217
  if (u2 !== void 0) {
4218
4218
  r.domainAnchor = u2, o = new Set(a);
4219
4219
  break;
4220
4220
  }
4221
4221
  }
4222
- for (const [a, i] of Object.entries(e.domain ?? {})) {
4222
+ for (const [a, s2] of Object.entries(n2.domain ?? {})) {
4223
4223
  if (o !== void 0 && o.has(a))
4224
4224
  continue;
4225
- const u2 = k(a, i), c2 = this.domains.get(u2);
4226
- r.domain ?? (r.domain = {}), r.domain[a] = c2 ? { anchor: c2 } : i;
4225
+ const u2 = E(a, s2), c2 = this.domains.get(u2);
4226
+ r.domain ?? (r.domain = {}), r.domain[a] = c2 ? { anchor: c2 } : s2;
4227
4227
  }
4228
- if (r.axes = e.axesSpec.map((a) => {
4229
- const i = P(a), u2 = this.axes.get(i);
4230
- return u2 === void 0 ? p$1(a) : u2;
4228
+ if (r.axes = n2.axesSpec.map((a) => {
4229
+ const s2 = P(a), u2 = this.axes.get(s2);
4230
+ return u2 === void 0 ? y(a) : u2;
4231
4231
  }), !t || t.length === 0)
4232
4232
  return r;
4233
- const s2 = [];
4233
+ const i = [];
4234
4234
  for (const a of t) {
4235
- const [i, u2] = a;
4236
- if (typeof i == "number") {
4237
- if (i < 0 || i >= e.axesSpec.length)
4238
- throw new Error(`Axis index ${i} is out of bounds (0-${e.axesSpec.length - 1})`);
4239
- s2.push([i, u2]);
4235
+ const [s2, u2] = a;
4236
+ if (typeof s2 == "number") {
4237
+ if (s2 < 0 || s2 >= n2.axesSpec.length)
4238
+ throw new Error(`Axis index ${s2} is out of bounds (0-${n2.axesSpec.length - 1})`);
4239
+ i.push([s2, u2]);
4240
4240
  } else {
4241
- const c2 = e.axesSpec.findIndex((m2) => m2.name === i);
4241
+ const c2 = n2.axesSpec.findIndex((f) => f.name === s2);
4242
4242
  if (c2 === -1)
4243
- throw new Error(`Axis with name "${i}" not found in the column specification`);
4244
- s2.push([c2, u2]);
4243
+ throw new Error(`Axis with name "${s2}" not found in the column specification`);
4244
+ i.push([c2, u2]);
4245
4245
  }
4246
4246
  }
4247
- return s2.sort((a, i) => a[0] - i[0]), {
4247
+ return i.sort((a, s2) => a[0] - s2[0]), {
4248
4248
  source: r,
4249
- axisFilters: s2
4249
+ axisFilters: i
4250
4250
  };
4251
4251
  }
4252
4252
  /**
@@ -4255,58 +4255,58 @@
4255
4255
  * @param axisFilters Optional axis filters to apply to the column
4256
4256
  * @returns A canonicalized string representation of the anchored column identifier
4257
4257
  */
4258
- deriveS(e, t) {
4259
- return nn(this.derive(e, t));
4258
+ deriveS(n2, t) {
4259
+ return te(this.derive(n2, t));
4260
4260
  }
4261
4261
  }
4262
- function Mn(n2, e, t) {
4263
- const r = { ...e }, o = (t == null ? void 0 : t.ignoreMissingDomains) ?? false;
4262
+ function We(e, n2, t) {
4263
+ const r = { ...n2 }, o = (t == null ? void 0 : t.ignoreMissingDomains) ?? false;
4264
4264
  if (r.domainAnchor !== void 0) {
4265
- const s2 = n2[r.domainAnchor];
4266
- if (!s2)
4265
+ const i = e[r.domainAnchor];
4266
+ if (!i)
4267
4267
  throw new Error(`Anchor "${r.domainAnchor}" not found`);
4268
- const a = s2.domain || {};
4268
+ const a = i.domain || {};
4269
4269
  r.domain = { ...a, ...r.domain }, delete r.domainAnchor;
4270
4270
  }
4271
4271
  if (r.domain) {
4272
- const s2 = {};
4273
- for (const [a, i] of Object.entries(r.domain))
4274
- if (typeof i == "string")
4275
- s2[a] = i;
4272
+ const i = {};
4273
+ for (const [a, s2] of Object.entries(r.domain))
4274
+ if (typeof s2 == "string")
4275
+ i[a] = s2;
4276
4276
  else {
4277
- const u2 = n2[i.anchor];
4277
+ const u2 = e[s2.anchor];
4278
4278
  if (!u2)
4279
- throw new Error(`Anchor "${i.anchor}" not found for domain key "${a}"`);
4279
+ throw new Error(`Anchor "${s2.anchor}" not found for domain key "${a}"`);
4280
4280
  if (!u2.domain || u2.domain[a] === void 0) {
4281
4281
  if (!o)
4282
- throw new Error(`Domain key "${a}" not found in anchor "${i.anchor}"`);
4282
+ throw new Error(`Domain key "${a}" not found in anchor "${s2.anchor}"`);
4283
4283
  continue;
4284
4284
  }
4285
- s2[a] = u2.domain[a];
4285
+ i[a] = u2.domain[a];
4286
4286
  }
4287
- r.domain = s2;
4287
+ r.domain = i;
4288
4288
  }
4289
- return r.axes && (r.axes = r.axes.map((s2) => en(n2, s2))), r;
4289
+ return r.axes && (r.axes = r.axes.map((i) => re(e, i))), r;
4290
4290
  }
4291
- function en(n2, e) {
4292
- if (!tn(e))
4293
- return e;
4294
- const t = e.anchor, r = n2[t];
4291
+ function re(e, n2) {
4292
+ if (!oe$1(n2))
4293
+ return n2;
4294
+ const t = n2.anchor, r = e[t];
4295
4295
  if (!r)
4296
4296
  throw new Error(`Anchor "${t}" not found for axis reference`);
4297
- if ("idx" in e) {
4298
- if (e.idx < 0 || e.idx >= r.axesSpec.length)
4299
- throw new Error(`Axis index ${e.idx} out of bounds for anchor "${t}"`);
4300
- return r.axesSpec[e.idx];
4301
- } else if ("name" in e) {
4302
- const o = r.axesSpec.filter((s2) => s2.name === e.name);
4297
+ if ("idx" in n2) {
4298
+ if (n2.idx < 0 || n2.idx >= r.axesSpec.length)
4299
+ throw new Error(`Axis index ${n2.idx} out of bounds for anchor "${t}"`);
4300
+ return r.axesSpec[n2.idx];
4301
+ } else if ("name" in n2) {
4302
+ const o = r.axesSpec.filter((i) => i.name === n2.name);
4303
4303
  if (o.length > 1)
4304
- throw new Error(`Multiple axes with name "${e.name}" found in anchor "${t}"`);
4304
+ throw new Error(`Multiple axes with name "${n2.name}" found in anchor "${t}"`);
4305
4305
  if (o.length === 0)
4306
- throw new Error(`Axis with name "${e.name}" not found in anchor "${t}"`);
4306
+ throw new Error(`Axis with name "${n2.name}" not found in anchor "${t}"`);
4307
4307
  return o[0];
4308
- } else if ("id" in e) {
4309
- const o = r.axesSpec.filter((s2) => Z$1(e.id, p$1(s2)));
4308
+ } else if ("id" in n2) {
4309
+ const o = r.axesSpec.filter((i) => ne$1(n2.id, y(i)));
4310
4310
  if (o.length > 1)
4311
4311
  throw new Error(`Multiple matching axes found for matcher in anchor "${t}"`);
4312
4312
  if (o.length === 0)
@@ -4315,33 +4315,33 @@
4315
4315
  }
4316
4316
  throw new Error("Unsupported axis reference type");
4317
4317
  }
4318
- function tn(n2) {
4319
- return typeof n2 == "object" && "anchor" in n2;
4318
+ function oe$1(e) {
4319
+ return typeof e == "object" && "anchor" in e;
4320
4320
  }
4321
- function f(n2) {
4322
- return n2.kind === "PColumn";
4321
+ function d(e) {
4322
+ return e.kind === "PColumn";
4323
4323
  }
4324
- function rn(n2) {
4325
- return f(n2.spec);
4324
+ function ie$1(e) {
4325
+ return d(e.spec);
4326
4326
  }
4327
- function qn(n2) {
4328
- if (!rn(n2)) throw new Error(`not a PColumn (kind = ${n2.spec.kind})`);
4329
- return n2;
4327
+ function Ye(e) {
4328
+ if (!ie$1(e)) throw new Error(`not a PColumn (kind = ${e.spec.kind})`);
4329
+ return e;
4330
4330
  }
4331
- function Wn(n2, e) {
4332
- return n2 === void 0 ? void 0 : {
4333
- ...n2,
4334
- data: e(n2.data)
4331
+ function Ze(e, n2) {
4332
+ return e === void 0 ? void 0 : {
4333
+ ...e,
4334
+ data: n2(e.data)
4335
4335
  };
4336
4336
  }
4337
- function Xn(n2) {
4338
- const e = /* @__PURE__ */ new Map(), t = (r) => {
4337
+ function en(e) {
4338
+ const n2 = /* @__PURE__ */ new Map(), t = (r) => {
4339
4339
  switch (r.type) {
4340
4340
  case "column":
4341
- e.set(r.column.id, r.column);
4341
+ n2.set(r.column.id, r.column);
4342
4342
  return;
4343
4343
  case "slicedColumn":
4344
- e.set(r.column.id, r.column);
4344
+ n2.set(r.column.id, r.column);
4345
4345
  return;
4346
4346
  case "inlineColumn":
4347
4347
  return;
@@ -4354,84 +4354,84 @@
4354
4354
  for (const o of r.secondary) t(o);
4355
4355
  return;
4356
4356
  default:
4357
- w(r);
4357
+ A(r);
4358
4358
  }
4359
4359
  };
4360
- return t(n2), [...e.values()];
4360
+ return t(e), [...n2.values()];
4361
4361
  }
4362
- function E$1(n2, e) {
4363
- if (n2.name !== void 0 && n2.name !== e.name)
4362
+ function S(e, n2) {
4363
+ if (e.name !== void 0 && e.name !== n2.name)
4364
4364
  return false;
4365
- if (n2.type !== void 0) {
4366
- if (Array.isArray(n2.type)) {
4367
- if (!n2.type.includes(e.type))
4365
+ if (e.type !== void 0) {
4366
+ if (Array.isArray(e.type)) {
4367
+ if (!e.type.includes(n2.type))
4368
4368
  return false;
4369
- } else if (n2.type !== e.type)
4369
+ } else if (e.type !== n2.type)
4370
4370
  return false;
4371
4371
  }
4372
- if (n2.domain !== void 0) {
4373
- const t = e.domain || {};
4374
- for (const [r, o] of Object.entries(n2.domain))
4372
+ if (e.domain !== void 0) {
4373
+ const t = n2.domain || {};
4374
+ for (const [r, o] of Object.entries(e.domain))
4375
4375
  if (t[r] !== o)
4376
4376
  return false;
4377
4377
  }
4378
4378
  return true;
4379
4379
  }
4380
- function N(n2, e) {
4381
- if (e.name !== void 0 && n2.name !== e.name || e.namePattern !== void 0 && !new RegExp(e.namePattern).test(n2.name))
4380
+ function v$1(e, n2) {
4381
+ if (n2.name !== void 0 && e.name !== n2.name || n2.namePattern !== void 0 && !new RegExp(n2.namePattern).test(e.name))
4382
4382
  return false;
4383
- if (e.type !== void 0) {
4384
- if (Array.isArray(e.type)) {
4385
- if (!e.type.includes(n2.valueType))
4383
+ if (n2.type !== void 0) {
4384
+ if (Array.isArray(n2.type)) {
4385
+ if (!n2.type.includes(e.valueType))
4386
4386
  return false;
4387
- } else if (e.type !== n2.valueType)
4387
+ } else if (n2.type !== e.valueType)
4388
4388
  return false;
4389
4389
  }
4390
- if (e.domain !== void 0) {
4391
- const t = n2.domain || {};
4392
- for (const [r, o] of Object.entries(e.domain))
4390
+ if (n2.domain !== void 0) {
4391
+ const t = e.domain || {};
4392
+ for (const [r, o] of Object.entries(n2.domain))
4393
4393
  if (t[r] !== o)
4394
4394
  return false;
4395
4395
  }
4396
- if (e.axes !== void 0) {
4397
- const t = n2.axesSpec.map(p$1);
4398
- if (e.partialAxesMatch) {
4399
- for (const r of e.axes)
4400
- if (!t.some((o) => E$1(r, o)))
4396
+ if (n2.axes !== void 0) {
4397
+ const t = e.axesSpec.map(y);
4398
+ if (n2.partialAxesMatch) {
4399
+ for (const r of n2.axes)
4400
+ if (!t.some((o) => S(r, o)))
4401
4401
  return false;
4402
4402
  } else {
4403
- if (t.length !== e.axes.length)
4403
+ if (t.length !== n2.axes.length)
4404
4404
  return false;
4405
- for (let r = 0; r < e.axes.length; r++)
4406
- if (!E$1(e.axes[r], t[r]))
4405
+ for (let r = 0; r < n2.axes.length; r++)
4406
+ if (!S(n2.axes[r], t[r]))
4407
4407
  return false;
4408
4408
  }
4409
4409
  }
4410
- if (e.annotations !== void 0) {
4411
- const t = n2.annotations || {};
4412
- for (const [r, o] of Object.entries(e.annotations))
4410
+ if (n2.annotations !== void 0) {
4411
+ const t = e.annotations || {};
4412
+ for (const [r, o] of Object.entries(n2.annotations))
4413
4413
  if (t[r] !== o)
4414
4414
  return false;
4415
4415
  }
4416
- if (e.annotationPatterns !== void 0) {
4417
- const t = n2.annotations || {};
4418
- for (const [r, o] of Object.entries(e.annotationPatterns)) {
4419
- const s2 = t[r];
4420
- if (s2 === void 0 || !new RegExp(o).test(s2))
4416
+ if (n2.annotationPatterns !== void 0) {
4417
+ const t = e.annotations || {};
4418
+ for (const [r, o] of Object.entries(n2.annotationPatterns)) {
4419
+ const i = t[r];
4420
+ if (i === void 0 || !new RegExp(o).test(i))
4421
4421
  return false;
4422
4422
  }
4423
4423
  }
4424
4424
  return true;
4425
4425
  }
4426
- function Gn(n2) {
4427
- return Array.isArray(n2) ? (e) => n2.some((t) => f(e) && N(e, t)) : (e) => f(e) && N(e, n2);
4426
+ function nn(e) {
4427
+ return Array.isArray(e) ? (n2) => e.some((t) => d(n2) && v$1(n2, t)) : (n2) => d(n2) && v$1(n2, e);
4428
4428
  }
4429
- function Qn(n2) {
4430
- const e = {
4431
- kind: n2.kind,
4432
- name: n2.name
4429
+ function tn(e) {
4430
+ const n2 = {
4431
+ kind: e.kind,
4432
+ name: e.name
4433
4433
  };
4434
- return n2.domain !== void 0 && (e.domain = n2.domain), f(n2) && (e.axesSpec = J(n2.axesSpec)), ke(e);
4434
+ return e.domain !== void 0 && (n2.domain = e.domain), d(e) && (n2.axesSpec = C(e.axesSpec)), Re(n2);
4435
4435
  }
4436
4436
  z$1.object({
4437
4437
  __isRef: z$1.literal(true).describe("Crucial marker for the block dependency tree reconstruction"),
@@ -4441,30 +4441,30 @@
4441
4441
  }).describe(
4442
4442
  "Universal reference type, allowing to set block connections. It is crucial that {@link __isRef} is present and equal to true, internal logic relies on this marker to build block dependency trees."
4443
4443
  ).readonly();
4444
- function ne(n2) {
4445
- return typeof n2 == "object" && n2 !== null && "__isRef" in n2 && n2.__isRef === true && "blockId" in n2 && "name" in n2;
4444
+ function sn(e) {
4445
+ return typeof e == "object" && e !== null && "__isRef" in e && e.__isRef === true && "blockId" in e && "name" in e;
4446
4446
  }
4447
- function te$1(n2, e = true) {
4448
- if (e)
4447
+ function un(e, n2 = true) {
4448
+ if (n2)
4449
4449
  return {
4450
- ...n2,
4450
+ ...e,
4451
4451
  requireEnrichments: true
4452
4452
  };
4453
4453
  {
4454
- const { requireEnrichments: t, ...r } = n2;
4454
+ const { requireEnrichments: t, ...r } = e;
4455
4455
  return r;
4456
4456
  }
4457
4457
  }
4458
- function oe$1(n2, e) {
4459
- return n2.ok ? { ok: true, value: e(n2.value) } : n2;
4458
+ function fn(e, n2) {
4459
+ return e.ok ? { ok: true, value: n2(e.value) } : e;
4460
4460
  }
4461
- const fn = 24;
4462
- z$1.string().length(fn).regex(/[ABCDEFGHIJKLMNOPQRSTUVWXYZ234567]/).brand("PlId");
4463
- function ue(n2) {
4464
- return ke(n2);
4461
+ const de$1 = 24;
4462
+ z$1.string().length(de$1).regex(/[ABCDEFGHIJKLMNOPQRSTUVWXYZ234567]/).brand("PlId");
4463
+ function mn(e) {
4464
+ return Re(e);
4465
4465
  }
4466
- function ce$1(n2) {
4467
- return JSON.parse(n2);
4466
+ function yn(e) {
4467
+ return JSON.parse(e);
4468
4468
  }
4469
4469
  var stringify = { exports: {} };
4470
4470
  var hasRequiredStringify;
@@ -4507,12 +4507,12 @@
4507
4507
  }), c = l.extend({
4508
4508
  cause: z$1.lazy(() => s).optional(),
4509
4509
  errors: z$1.lazy(() => s.array()).optional()
4510
- }), m$1 = z$1.object({
4510
+ }), m = z$1.object({
4511
4511
  type: z$1.literal("StandardError"),
4512
4512
  name: z$1.string(),
4513
4513
  message: z$1.string(),
4514
4514
  stack: z$1.string().optional()
4515
- }), p = m$1.extend({
4515
+ }), p = m.extend({
4516
4516
  cause: z$1.lazy(() => s).optional(),
4517
4517
  errors: z$1.lazy(() => s.array()).optional()
4518
4518
  }), s = z$1.union([p, c]);
@@ -4527,52 +4527,52 @@
4527
4527
  });
4528
4528
  var qe = Object.defineProperty;
4529
4529
  var ze = (t, e, n2) => e in t ? qe(t, e, { enumerable: true, configurable: true, writable: true, value: n2 }) : t[e] = n2;
4530
- var O = (t, e, n2) => ze(t, typeof e != "symbol" ? e + "" : e, n2);
4531
- function re(t) {
4530
+ var k = (t, e, n2) => ze(t, typeof e != "symbol" ? e + "" : e, n2);
4531
+ function ne(t) {
4532
4532
  return { type: "Immediate", value: t };
4533
4533
  }
4534
- function pt() {
4534
+ function ft() {
4535
4535
  return typeof globalThis.getPlatforma < "u" || typeof globalThis.platforma < "u";
4536
4536
  }
4537
- function De(t) {
4537
+ function Ke(t) {
4538
4538
  if (t && typeof globalThis.getPlatforma == "function")
4539
4539
  return globalThis.getPlatforma(t);
4540
4540
  if (typeof globalThis.platforma < "u") return globalThis.platforma;
4541
4541
  throw new Error("Can't get platforma instance.");
4542
4542
  }
4543
- function ft() {
4543
+ function ht() {
4544
4544
  if (typeof globalThis.cfgRenderCtx < "u") return globalThis.cfgRenderCtx;
4545
4545
  }
4546
- function m() {
4546
+ function v() {
4547
4547
  if (typeof globalThis.cfgRenderCtx < "u") return globalThis.cfgRenderCtx;
4548
4548
  throw new Error("Not in config rendering context");
4549
4549
  }
4550
- function H(t, e) {
4551
- const n2 = ft();
4550
+ function G(t, e) {
4551
+ const n2 = ht();
4552
4552
  if (n2 === void 0) return false;
4553
4553
  if (t in n2.callbackRegistry) throw new Error(`Callback with key ${t} already registered.`);
4554
4554
  return n2.callbackRegistry[t] = e, true;
4555
4555
  }
4556
- const ce = /* @__PURE__ */ new Map();
4557
- function ht(t, e) {
4558
- t in m().callbackRegistry || (m().callbackRegistry[t] = (n2) => {
4559
- for (const r of ce.get(t))
4556
+ const ue = /* @__PURE__ */ new Map();
4557
+ function gt(t, e) {
4558
+ t in v().callbackRegistry || (v().callbackRegistry[t] = (n2) => {
4559
+ for (const r of ue.get(t))
4560
4560
  r(n2);
4561
- }, ce.set(t, [])), ce.get(t).push(e);
4561
+ }, ue.set(t, [])), ue.get(t).push(e);
4562
4562
  }
4563
- class _ {
4563
+ class F {
4564
4564
  constructor(e, n2 = (r) => r) {
4565
- O(this, "isResolved", false);
4566
- O(this, "resolvedValue");
4567
- this.handle = e, this.postProcess = n2, ht(e, (r) => {
4565
+ k(this, "isResolved", false);
4566
+ k(this, "resolvedValue");
4567
+ this.handle = e, this.postProcess = n2, gt(e, (r) => {
4568
4568
  this.resolvedValue = n2(r), this.isResolved = true;
4569
4569
  });
4570
4570
  }
4571
4571
  map(e) {
4572
- return new _(this.handle, (n2) => e(this.postProcess(n2)));
4572
+ return new F(this.handle, (n2) => e(this.postProcess(n2)));
4573
4573
  }
4574
4574
  mapDefined(e) {
4575
- return new _(this.handle, (n2) => {
4575
+ return new F(this.handle, (n2) => {
4576
4576
  const r = this.postProcess(n2);
4577
4577
  return r ? e(r) : void 0;
4578
4578
  });
@@ -4581,10 +4581,10 @@
4581
4581
  return this.isResolved ? this.resolvedValue : { __awaited_futures__: [this.handle] };
4582
4582
  }
4583
4583
  }
4584
- function he(t, e) {
4584
+ function fe(t, e) {
4585
4585
  return t === void 0 ? void 0 : e(t);
4586
4586
  }
4587
- class E {
4587
+ class D {
4588
4588
  constructor(e, n2) {
4589
4589
  this.handle = e, this.resolvePath = n2;
4590
4590
  }
@@ -4623,47 +4623,47 @@
4623
4623
  ...this.resolvePath,
4624
4624
  ...n2.map((i) => typeof i == "string" ? i : i.field)
4625
4625
  ];
4626
- return he(
4627
- m().resolveWithCommon(this.handle, e, ...n2),
4628
- (i) => new E(i, r)
4626
+ return fe(
4627
+ v().resolveWithCommon(this.handle, e, ...n2),
4628
+ (i) => new D(i, r)
4629
4629
  );
4630
4630
  }
4631
4631
  get resourceType() {
4632
- return m().getResourceType(this.handle);
4632
+ return v().getResourceType(this.handle);
4633
4633
  }
4634
4634
  getInputsLocked() {
4635
- return m().getInputsLocked(this.handle);
4635
+ return v().getInputsLocked(this.handle);
4636
4636
  }
4637
4637
  getOutputsLocked() {
4638
- return m().getOutputsLocked(this.handle);
4638
+ return v().getOutputsLocked(this.handle);
4639
4639
  }
4640
4640
  getIsReadyOrError() {
4641
- return m().getIsReadyOrError(this.handle);
4641
+ return v().getIsReadyOrError(this.handle);
4642
4642
  }
4643
4643
  getIsFinal() {
4644
- return m().getIsFinal(this.handle);
4644
+ return v().getIsFinal(this.handle);
4645
4645
  }
4646
4646
  getError() {
4647
4647
  const e = [...this.resolvePath, "error"];
4648
- return he(
4649
- m().getError(this.handle),
4650
- (n2) => new E(n2, e)
4648
+ return fe(
4649
+ v().getError(this.handle),
4650
+ (n2) => new D(n2, e)
4651
4651
  );
4652
4652
  }
4653
4653
  listInputFields() {
4654
- return m().listInputFields(this.handle);
4654
+ return v().listInputFields(this.handle);
4655
4655
  }
4656
4656
  listOutputFields() {
4657
- return m().listOutputFields(this.handle);
4657
+ return v().listOutputFields(this.handle);
4658
4658
  }
4659
4659
  listDynamicFields() {
4660
- return m().listDynamicFields(this.handle);
4660
+ return v().listDynamicFields(this.handle);
4661
4661
  }
4662
4662
  getKeyValueBase64(e) {
4663
- return m().getKeyValueBase64(this.handle, e);
4663
+ return v().getKeyValueBase64(this.handle, e);
4664
4664
  }
4665
4665
  getKeyValueAsString(e) {
4666
- return m().getKeyValueAsString(this.handle, e);
4666
+ return v().getKeyValueAsString(this.handle, e);
4667
4667
  }
4668
4668
  getKeyValueAsJson(e) {
4669
4669
  const n2 = this.getKeyValueAsString(e);
@@ -4671,10 +4671,10 @@
4671
4671
  return JSON.parse(n2);
4672
4672
  }
4673
4673
  getDataBase64() {
4674
- return m().getDataBase64(this.handle);
4674
+ return v().getDataBase64(this.handle);
4675
4675
  }
4676
4676
  getDataAsString() {
4677
- return m().getDataAsString(this.handle);
4677
+ return v().getDataAsString(this.handle);
4678
4678
  }
4679
4679
  getDataAsJson() {
4680
4680
  const e = this.getDataAsString();
@@ -4687,7 +4687,7 @@
4687
4687
  getPColumns(e = false, n2 = "") {
4688
4688
  const r = this.parsePObjectCollection(e, n2);
4689
4689
  return r === void 0 ? void 0 : Object.entries(r).map(([, s2]) => {
4690
- if (!rn(s2)) throw new Error(`not a PColumn (kind = ${s2.spec.kind})`);
4690
+ if (!ie$1(s2)) throw new Error(`not a PColumn (kind = ${s2.spec.kind})`);
4691
4691
  return s2;
4692
4692
  });
4693
4693
  }
@@ -4695,7 +4695,7 @@
4695
4695
  *
4696
4696
  */
4697
4697
  parsePObjectCollection(e = false, n2 = "") {
4698
- const r = m().parsePObjectCollection(
4698
+ const r = v().parsePObjectCollection(
4699
4699
  this.handle,
4700
4700
  e,
4701
4701
  n2,
@@ -4705,19 +4705,19 @@
4705
4705
  const i = {};
4706
4706
  for (const [s2, o] of Object.entries(r)) {
4707
4707
  const a = [...this.resolvePath, s2];
4708
- i[s2] = Wn(o, (l2) => new E(l2, a));
4708
+ i[s2] = Ze(o, (l2) => new D(l2, a));
4709
4709
  }
4710
4710
  return i;
4711
4711
  }
4712
4712
  getFileContentAsBase64(e) {
4713
- return new _(m().getBlobContentAsBase64(this.handle, e));
4713
+ return new F(v().getBlobContentAsBase64(this.handle, e));
4714
4714
  }
4715
4715
  getFileContentAsString(e) {
4716
- return new _(m().getBlobContentAsString(this.handle, e));
4716
+ return new F(v().getBlobContentAsString(this.handle, e));
4717
4717
  }
4718
4718
  getFileContentAsJson(e) {
4719
- return new _(
4720
- m().getBlobContentAsString(this.handle, e)
4719
+ return new F(
4720
+ v().getBlobContentAsString(this.handle, e)
4721
4721
  ).mapDefined((n2) => JSON.parse(n2));
4722
4722
  }
4723
4723
  /**
@@ -4736,7 +4736,7 @@
4736
4736
  * @returns downloaded file handle
4737
4737
  */
4738
4738
  getFileHandle() {
4739
- return new _(m().getDownloadedBlobContentHandle(this.handle));
4739
+ return new F(v().getDownloadedBlobContentHandle(this.handle));
4740
4740
  }
4741
4741
  /**
4742
4742
  * @deprecated use getFileHandle
@@ -4748,7 +4748,7 @@
4748
4748
  * @returns downloaded file handle
4749
4749
  */
4750
4750
  getRemoteFileHandle() {
4751
- return new _(m().getOnDemandBlobContentHandle(this.handle));
4751
+ return new F(v().getOnDemandBlobContentHandle(this.handle));
4752
4752
  }
4753
4753
  /**
4754
4754
  * @deprecated use getRemoteFileHandle
@@ -4760,22 +4760,22 @@
4760
4760
  * @returns the url to the extracted folder
4761
4761
  */
4762
4762
  extractArchiveAndGetURL(e) {
4763
- return new _(m().extractArchiveAndGetURL(this.handle, e));
4763
+ return new F(v().extractArchiveAndGetURL(this.handle, e));
4764
4764
  }
4765
4765
  getImportProgress() {
4766
- return new _(m().getImportProgress(this.handle));
4766
+ return new F(v().getImportProgress(this.handle));
4767
4767
  }
4768
4768
  getLastLogs(e) {
4769
- return new _(m().getLastLogs(this.handle, e));
4769
+ return new F(v().getLastLogs(this.handle, e));
4770
4770
  }
4771
4771
  getProgressLog(e) {
4772
- return new _(m().getProgressLog(this.handle, e));
4772
+ return new F(v().getProgressLog(this.handle, e));
4773
4773
  }
4774
4774
  getProgressLogWithInfo(e) {
4775
- return new _(m().getProgressLogWithInfo(this.handle, e));
4775
+ return new F(v().getProgressLogWithInfo(this.handle, e));
4776
4776
  }
4777
4777
  getLogHandle() {
4778
- return new _(m().getLogHandle(this.handle));
4778
+ return new F(v().getLogHandle(this.handle));
4779
4779
  }
4780
4780
  allFieldsResolved(e = "Input") {
4781
4781
  switch (e) {
@@ -4801,135 +4801,135 @@
4801
4801
  let l2 = (r === "Input" ? this.listInputFields() : r === "Output" ? this.listOutputFields() : this.listDynamicFields()).map(
4802
4802
  (u2) => [u2, this.resolve({ field: u2, assertFieldType: r })]
4803
4803
  );
4804
- return s2 && (l2 = l2.filter((u2) => u2[1] !== void 0)), l2.map(([u2, c2]) => o(u2, c2));
4804
+ return s2 && (l2 = l2.filter((u2) => u2[1] !== void 0)), l2.map(([u2, h]) => o(u2, h));
4805
4805
  }
4806
4806
  }
4807
- const Re = "staging", Fe = "main";
4808
- const yt = "pl7.app/label", vt = "pl7.app/trace", bt = z$1.object({
4807
+ const Ne = "staging", Ve = "main";
4808
+ const bt = "pl7.app/label", vt = "pl7.app/trace", Ct = z$1.object({
4809
4809
  type: z$1.string(),
4810
4810
  importance: z$1.number().optional(),
4811
4811
  id: z$1.string().optional(),
4812
4812
  label: z$1.string()
4813
- }), wt = z$1.array(bt), At = 1e-3, xt = "__LABEL__", Pe = "__LABEL__@1";
4814
- function je(t, e, n2 = {}) {
4815
- const r = /* @__PURE__ */ new Map(), i = n2.forceTraceElements !== void 0 && n2.forceTraceElements.length > 0 ? new Set(n2.forceTraceElements) : void 0, s2 = /* @__PURE__ */ new Map(), o = t.map((f2) => {
4816
- var P2, R;
4817
- const w2 = e(f2);
4818
- let p2, g, b;
4819
- "spec" in w2 && typeof w2.spec == "object" ? (p2 = w2.spec, g = w2.prefixTrace, b = w2.suffixTrace) : p2 = w2;
4820
- const h2 = (P2 = p2.annotations) == null ? void 0 : P2[yt], I = (R = p2.annotations) == null ? void 0 : R[vt], x = (I ? wt.safeParse(JSON.parse(I)).data : void 0) ?? [], v = [
4821
- ...g ?? [],
4822
- ...x,
4823
- ...b ?? []
4813
+ }), St = z$1.array(Ct), wt = 1e-3, At = "__LABEL__", xe = "__LABEL__@1";
4814
+ function Je(t, e, n2 = {}) {
4815
+ const r = /* @__PURE__ */ new Map(), i = n2.forceTraceElements !== void 0 && n2.forceTraceElements.length > 0 ? new Set(n2.forceTraceElements) : void 0, s2 = /* @__PURE__ */ new Map(), o = t.map((d2) => {
4816
+ var c2, m2;
4817
+ const b = e(d2);
4818
+ let p2, y2, C2;
4819
+ "spec" in b && typeof b.spec == "object" ? (p2 = b.spec, y2 = b.prefixTrace, C2 = b.suffixTrace) : p2 = b;
4820
+ const E2 = (c2 = p2.annotations) == null ? void 0 : c2[bt], _2 = (m2 = p2.annotations) == null ? void 0 : m2[vt], w = (_2 ? St.safeParse(JSON.parse(_2)).data : void 0) ?? [], A2 = [
4821
+ ...y2 ?? [],
4822
+ ...w,
4823
+ ...C2 ?? []
4824
4824
  ];
4825
- if (h2 !== void 0) {
4826
- const k2 = { label: h2, type: xt, importance: -2 };
4827
- n2.addLabelAsSuffix ? v.push(k2) : v.splice(0, 0, k2);
4828
- }
4829
- const A = [], L = /* @__PURE__ */ new Map();
4830
- for (let k2 = v.length - 1; k2 >= 0; --k2) {
4831
- const { type: W } = v[k2], j2 = v[k2].importance ?? 0, $ = (L.get(W) ?? 0) + 1;
4832
- L.set(W, $);
4833
- const F = `${W}@${$}`;
4834
- s2.set(F, (s2.get(F) ?? 0) + 1), r.set(
4835
- F,
4825
+ if (E2 !== void 0) {
4826
+ const T = { label: E2, type: At, importance: -2 };
4827
+ n2.addLabelAsSuffix ? A2.push(T) : A2.splice(0, 0, T);
4828
+ }
4829
+ const S2 = [], I = /* @__PURE__ */ new Map();
4830
+ for (let T = A2.length - 1; T >= 0; --T) {
4831
+ const { type: U } = A2[T], V = A2[T].importance ?? 0, J = (I.get(U) ?? 0) + 1;
4832
+ I.set(U, J);
4833
+ const K = `${U}@${J}`;
4834
+ s2.set(K, (s2.get(K) ?? 0) + 1), r.set(
4835
+ K,
4836
4836
  Math.max(
4837
- r.get(F) ?? Number.NEGATIVE_INFINITY,
4838
- j2 - (v.length - k2) * At
4837
+ r.get(K) ?? Number.NEGATIVE_INFINITY,
4838
+ V - (A2.length - T) * wt
4839
4839
  )
4840
- ), A.push({ ...v[k2], fullType: F, occurrenceIndex: $ });
4840
+ ), S2.push({ ...A2[T], fullType: K, occurrenceIndex: J });
4841
4841
  }
4842
- return A.reverse(), {
4843
- value: f2,
4842
+ return S2.reverse(), {
4843
+ value: d2,
4844
4844
  spec: p2,
4845
- label: h2,
4846
- fullTrace: A
4845
+ label: E2,
4846
+ fullTrace: S2
4847
4847
  };
4848
4848
  }), a = [], l2 = [], u2 = [...r];
4849
- u2.sort(([, f2], [, w2]) => w2 - f2);
4850
- for (const [f2] of u2)
4851
- f2.endsWith("@1") || s2.get(f2) === t.length ? a.push(f2) : l2.push(f2);
4852
- const c2 = (f2, w2 = false) => {
4849
+ u2.sort(([, d2], [, b]) => b - d2);
4850
+ for (const [d2] of u2)
4851
+ d2.endsWith("@1") || s2.get(d2) === t.length ? a.push(d2) : l2.push(d2);
4852
+ const h = (d2, b = false) => {
4853
4853
  const p2 = [];
4854
- for (let g = 0; g < o.length; g++) {
4855
- const b = o[g], h2 = b.fullTrace.filter((v) => f2.has(v.fullType) || i && i.has(v.type));
4856
- if (h2.length === 0)
4857
- if (w2)
4854
+ for (let y2 = 0; y2 < o.length; y2++) {
4855
+ const C2 = o[y2], E2 = C2.fullTrace.filter((A2) => d2.has(A2.fullType) || i && i.has(A2.type));
4856
+ if (E2.length === 0)
4857
+ if (b)
4858
4858
  p2.push({
4859
4859
  label: "Unlabeled",
4860
- value: b.value
4860
+ value: C2.value
4861
4861
  });
4862
4862
  else return;
4863
- const I = h2.map((v) => v.label), x = n2.separator ?? " / ";
4863
+ const _2 = E2.map((A2) => A2.label), w = n2.separator ?? " / ";
4864
4864
  p2.push({
4865
- label: I.join(x),
4866
- value: b.value
4865
+ label: _2.join(w),
4866
+ value: C2.value
4867
4867
  });
4868
4868
  }
4869
4869
  return p2;
4870
4870
  };
4871
4871
  if (a.length === 0) {
4872
4872
  if (l2.length !== 0) throw new Error("Non-empty secondary types list while main types list is empty.");
4873
- return c2(new Set(Pe), true);
4874
- }
4875
- let d = 0, y = -1;
4876
- for (; d < a.length; ) {
4877
- const f2 = /* @__PURE__ */ new Set();
4878
- n2.includeNativeLabel && f2.add(Pe);
4879
- for (let p2 = 0; p2 < d; ++p2) f2.add(a[p2]);
4880
- y >= 0 && f2.add(a[y]);
4881
- const w2 = c2(f2);
4882
- if (w2 !== void 0 && new Set(w2.map((p2) => p2.label)).size === t.length) return w2;
4883
- y++, y >= a.length && (d++, y = d);
4884
- }
4885
- return c2(/* @__PURE__ */ new Set([...a, ...l2]), true);
4886
- }
4887
- const Z = "PColumnData/", se = Z + "ResourceMap", oe = Z + "Partitioned/ResourceMap", q = Z + "JsonPartitioned", B = Z + "BinaryPartitioned", Ve = Z + "Partitioned/", ae = Ve + "JsonPartitioned", z = Ve + "BinaryPartitioned";
4888
- const me = (t) => {
4873
+ return h(new Set(xe), true);
4874
+ }
4875
+ let f = 0, g2 = -1;
4876
+ for (; f < a.length; ) {
4877
+ const d2 = /* @__PURE__ */ new Set();
4878
+ n2.includeNativeLabel && d2.add(xe);
4879
+ for (let p2 = 0; p2 < f; ++p2) d2.add(a[p2]);
4880
+ g2 >= 0 && d2.add(a[g2]);
4881
+ const b = h(d2);
4882
+ if (b !== void 0 && new Set(b.map((p2) => p2.label)).size === t.length) return b;
4883
+ g2++, g2 >= a.length && (f++, g2 = f);
4884
+ }
4885
+ return h(/* @__PURE__ */ new Set([...a, ...l2]), true);
4886
+ }
4887
+ const Q = "PColumnData/", ie = Q + "ResourceMap", se = Q + "Partitioned/ResourceMap", H = Q + "JsonPartitioned", B = Q + "BinaryPartitioned", Me = Q + "Partitioned/", oe = Me + "JsonPartitioned", q = Me + "BinaryPartitioned";
4888
+ const ge = (t) => {
4889
4889
  if (t.endsWith(".index"))
4890
4890
  return { baseKey: t.substring(0, t.length - 6), type: "index" };
4891
4891
  if (t.endsWith(".values"))
4892
4892
  return { baseKey: t.substring(0, t.length - 7), type: "values" };
4893
4893
  throw new Error(`key must ends on .index/.values for binary p-column, got: ${t}`);
4894
4894
  };
4895
- function Ct(t) {
4895
+ function Pt(t) {
4896
4896
  if (!t) return;
4897
4897
  const e = t.resourceType.name, n2 = t.getDataAsJson(), r = [];
4898
4898
  let i = 0;
4899
4899
  switch (e) {
4900
- case se:
4900
+ case ie:
4901
4901
  i = n2.keyLength;
4902
4902
  break;
4903
- case oe:
4903
+ case se:
4904
4904
  i = n2.partitionKeyLength + n2.keyLength;
4905
4905
  break;
4906
- case q:
4906
+ case H:
4907
4907
  case B:
4908
4908
  i = n2.partitionKeyLength;
4909
4909
  break;
4910
- case z:
4911
- case ae:
4910
+ case q:
4911
+ case oe:
4912
4912
  i = n2.superPartitionKeyLength + n2.partitionKeyLength;
4913
4913
  break;
4914
4914
  }
4915
4915
  switch (e) {
4916
- case se:
4917
- case q:
4916
+ case ie:
4917
+ case H:
4918
4918
  case B:
4919
4919
  for (let s2 of t.listInputFields()) {
4920
- e === B && (s2 = me(s2).baseKey);
4920
+ e === B && (s2 = ge(s2).baseKey);
4921
4921
  const o = [...JSON.parse(s2)];
4922
4922
  r.push(o);
4923
4923
  }
4924
4924
  break;
4925
+ case se:
4926
+ case q:
4925
4927
  case oe:
4926
- case z:
4927
- case ae:
4928
4928
  for (const s2 of t.listInputFields()) {
4929
4929
  const o = [...JSON.parse(s2)], a = t.resolve({ field: s2, assertFieldType: "Input" });
4930
4930
  if (a !== void 0)
4931
4931
  for (let l2 of a.listInputFields()) {
4932
- e === z && (l2 = me(l2).baseKey);
4932
+ e === q && (l2 = ge(l2).baseKey);
4933
4933
  const u2 = [...o, ...JSON.parse(l2)];
4934
4934
  r.push(u2);
4935
4935
  }
@@ -4938,7 +4938,7 @@
4938
4938
  }
4939
4939
  return { data: r, keyLength: i };
4940
4940
  }
4941
- function Pt(t) {
4941
+ function xt(t) {
4942
4942
  if (t.type !== "JsonPartitioned" && t.type !== "BinaryPartitioned")
4943
4943
  throw new Error(`Splitting requires Partitioned DataInfoEntries, got ${t.type}`);
4944
4944
  const { parts: e, partitionKeyLength: n2 } = t, r = [];
@@ -4957,11 +4957,11 @@
4957
4957
  }
4958
4958
  return r.map((i) => Array.from(i.values()));
4959
4959
  }
4960
- function St(t) {
4960
+ function _t(t) {
4961
4961
  if (t === void 0) return;
4962
- if (K(t))
4963
- return Pt(t);
4964
- const e = Ct(t);
4962
+ if (_(t))
4963
+ return xt(t);
4964
+ const e = Pt(t);
4965
4965
  if (!e) return;
4966
4966
  const { data: n2, keyLength: r } = e, i = [];
4967
4967
  for (let s2 = 0; s2 < r; ++s2)
@@ -4974,16 +4974,16 @@
4974
4974
  }
4975
4975
  return i.map((s2) => Array.from(s2.values()));
4976
4976
  }
4977
- function ye(t, e = []) {
4977
+ function me(t, e = []) {
4978
4978
  if (t === void 0 || !t.getIsReadyOrError()) return;
4979
4979
  const n2 = t.resourceType.name, r = t.getDataAsJson();
4980
- if (e.length > 0 && (n2 === ae || n2 === z))
4980
+ if (e.length > 0 && (n2 === oe || n2 === q))
4981
4981
  throw new Error(`Unexpected nested super-partitioned resource: ${n2}`);
4982
4982
  switch (n2) {
4983
+ case ie:
4983
4984
  case se:
4984
- case oe:
4985
4985
  throw new Error(`Only data columns are supported, got: ${n2}`);
4986
- case q: {
4986
+ case H: {
4987
4987
  if (typeof (r == null ? void 0 : r.partitionKeyLength) != "number")
4988
4988
  throw new Error(`Missing partitionKeyLength in metadata for ${n2}`);
4989
4989
  const i = [];
@@ -5004,7 +5004,7 @@
5004
5004
  throw new Error(`Missing partitionKeyLength in metadata for ${n2}`);
5005
5005
  const i = [], s2 = /* @__PURE__ */ new Map();
5006
5006
  for (const o of t.listInputFields()) {
5007
- const a = me(o), l2 = t.resolve({ field: o, assertFieldType: "Input" });
5007
+ const a = ge(o), l2 = t.resolve({ field: o, assertFieldType: "Input" });
5008
5008
  if (l2 === void 0) return;
5009
5009
  let u2 = s2.get(a.baseKey);
5010
5010
  u2 || (u2 = {}, s2.set(a.baseKey, u2)), a.type === "index" ? u2.index = l2 : u2.values = l2;
@@ -5026,16 +5026,16 @@
5026
5026
  parts: i
5027
5027
  };
5028
5028
  }
5029
- case ae: {
5029
+ case oe: {
5030
5030
  if (typeof (r == null ? void 0 : r.superPartitionKeyLength) != "number" || typeof (r == null ? void 0 : r.partitionKeyLength) != "number")
5031
5031
  throw new Error(`Missing superPartitionKeyLength or partitionKeyLength in metadata for ${n2}`);
5032
5032
  const i = r.superPartitionKeyLength + r.partitionKeyLength, s2 = [];
5033
5033
  for (const o of t.listInputFields()) {
5034
5034
  const a = t.resolve({ field: o, assertFieldType: "Input" });
5035
5035
  if (a === void 0) return;
5036
- if (a.resourceType.name !== q)
5037
- throw new Error(`Expected ${q} inside ${n2}, but got ${a.resourceType.name}`);
5038
- const l2 = ye(a, JSON.parse(o));
5036
+ if (a.resourceType.name !== H)
5037
+ throw new Error(`Expected ${H} inside ${n2}, but got ${a.resourceType.name}`);
5038
+ const l2 = me(a, JSON.parse(o));
5039
5039
  if (l2 === void 0) return;
5040
5040
  if (l2.type !== "JsonPartitioned")
5041
5041
  throw new Error(`Unexpected inner result type for ${n2}: ${l2.type}`);
@@ -5047,7 +5047,7 @@
5047
5047
  parts: s2
5048
5048
  };
5049
5049
  }
5050
- case z: {
5050
+ case q: {
5051
5051
  if (typeof (r == null ? void 0 : r.superPartitionKeyLength) != "number" || typeof (r == null ? void 0 : r.partitionKeyLength) != "number")
5052
5052
  throw new Error(`Missing superPartitionKeyLength or partitionKeyLength in metadata for ${n2}`);
5053
5053
  const i = r.superPartitionKeyLength + r.partitionKeyLength, s2 = [];
@@ -5056,7 +5056,7 @@
5056
5056
  if (a === void 0) return;
5057
5057
  if (a.resourceType.name !== B)
5058
5058
  throw new Error(`Expected ${B} inside ${n2}, but got ${a.resourceType.name}`);
5059
- const l2 = ye(a, JSON.parse(o));
5059
+ const l2 = me(a, JSON.parse(o));
5060
5060
  if (l2 === void 0) return;
5061
5061
  if (l2.type !== "BinaryPartitioned")
5062
5062
  throw new Error(`Unexpected inner result type for ${n2}: ${l2.type}`);
@@ -5072,15 +5072,15 @@
5072
5072
  throw new Error(`Unknown resource type: ${n2}`);
5073
5073
  }
5074
5074
  }
5075
- function _t(t) {
5075
+ function It(t) {
5076
5076
  if (t !== void 0) {
5077
- if (K(t)) return t;
5078
- if (En(t)) return Cn(t);
5079
- if (t instanceof E) return ye(t);
5077
+ if (_(t)) return t;
5078
+ if (Oe(t)) return Ve$1(t);
5079
+ if (t instanceof D) return me(t);
5080
5080
  throw new Error(`Unexpected input type: ${typeof t}`);
5081
5081
  }
5082
5082
  }
5083
- function It(t, e) {
5083
+ function Tt(t, e) {
5084
5084
  const n2 = [...e].sort((s2, o) => o[0] - s2[0]);
5085
5085
  if (t.type === "JsonPartitioned" || t.type === "BinaryPartitioned") {
5086
5086
  const { partitionKeyLength: s2 } = t;
@@ -5146,19 +5146,19 @@
5146
5146
  const e = t[0];
5147
5147
  return typeof e == "object" && e !== null && "key" in e && "val" in e;
5148
5148
  }
5149
- class Tt {
5149
+ class Ft {
5150
5150
  constructor(e) {
5151
5151
  this.columns = e;
5152
5152
  }
5153
5153
  selectColumns(e) {
5154
- const n2 = typeof e == "function" ? e : Gn(e);
5154
+ const n2 = typeof e == "function" ? e : nn(e);
5155
5155
  return this.columns.filter((r) => n2(r.spec));
5156
5156
  }
5157
5157
  }
5158
5158
  function Et(t) {
5159
5159
  if (t)
5160
5160
  return t.map((e) => ({
5161
- type: `split:${Rn(e.axisId)}`,
5161
+ type: `split:${_e$1(e.axisId)}`,
5162
5162
  label: e.label,
5163
5163
  importance: 1e6
5164
5164
  // High importance for split filters in labels
@@ -5168,17 +5168,17 @@
5168
5168
  if (t)
5169
5169
  return t.map((e) => [e.axisIdx, e.value]);
5170
5170
  }
5171
- function Ot(t, e) {
5171
+ function Dt(t, e) {
5172
5172
  if (!e || e.length === 0) return t;
5173
5173
  const n2 = [...e].sort((r, i) => r[0] - i[0]);
5174
- return ke({ id: t, axisFilters: n2 });
5174
+ return Re({ id: t, axisFilters: n2 });
5175
5175
  }
5176
- function Se(t) {
5176
+ function _e(t) {
5177
5177
  if (!t || typeof t != "object") return false;
5178
5178
  const e = t, n2 = e.domain && typeof e.domain == "object" && Object.values(e.domain).some((i) => typeof i == "object" && i !== null && "anchor" in i), r = e.axes && Array.isArray(e.axes) && e.axes.some((i) => typeof i == "object" && i !== null && "anchor" in i);
5179
5179
  return !!e.domainAnchor || n2 || r;
5180
5180
  }
5181
- function Dt(t) {
5181
+ function Rt(t) {
5182
5182
  if (typeof t != "object" || !("axes" in t) || t.axes === void 0)
5183
5183
  return [];
5184
5184
  const e = t.axes.map((n2, r) => typeof n2 == "object" && "split" in n2 && n2.split === true ? r : -1).filter((n2) => n2 !== -1);
@@ -5186,11 +5186,11 @@
5186
5186
  throw new Error("Axis splitting is not supported when `partialAxesMatch` is defined.");
5187
5187
  return e.sort((n2, r) => n2 - r), e;
5188
5188
  }
5189
- class le {
5189
+ class ae {
5190
5190
  constructor() {
5191
- O(this, "defaultProviderStore", []);
5192
- O(this, "providers", [new Tt(this.defaultProviderStore)]);
5193
- O(this, "axisLabelProviders", []);
5191
+ k(this, "defaultProviderStore", []);
5192
+ k(this, "providers", [new Ft(this.defaultProviderStore)]);
5193
+ k(this, "axisLabelProviders", []);
5194
5194
  }
5195
5195
  addColumnProvider(e) {
5196
5196
  return this.providers.push(e), this;
@@ -5218,129 +5218,129 @@
5218
5218
  };
5219
5219
  let u2 = () => false;
5220
5220
  if (a) {
5221
- const p2 = (Array.isArray(a) ? a : [a]).map((g) => {
5222
- if (Se(g)) {
5221
+ const p2 = (Array.isArray(a) ? a : [a]).map((y2) => {
5222
+ if (_e(y2)) {
5223
5223
  if (!r)
5224
5224
  throw new Error("Anchored selectors in exclude require an AnchoredIdDeriver to be provided in options.");
5225
- return Gn(Mn(r.anchors, g, n2));
5225
+ return nn(We(r.anchors, y2, n2));
5226
5226
  } else
5227
- return Gn(g);
5227
+ return nn(y2);
5228
5228
  });
5229
- u2 = (g) => p2.some((b) => b(g));
5229
+ u2 = (y2) => p2.some((C2) => C2(y2));
5230
5230
  }
5231
- const c2 = typeof e == "function" ? [e] : Array.isArray(e) ? e : [e], d = [], y = /* @__PURE__ */ new Set();
5232
- for (const p2 of c2) {
5233
- const g = Se(p2);
5234
- let b;
5235
- if (g) {
5231
+ const h = typeof e == "function" ? [e] : Array.isArray(e) ? e : [e], f = [], g2 = /* @__PURE__ */ new Set();
5232
+ for (const p2 of h) {
5233
+ const y$1 = _e(p2);
5234
+ let C2;
5235
+ if (y$1) {
5236
5236
  if (!r)
5237
5237
  throw new Error("Anchored selectors require an AnchoredIdDeriver to be provided in options.");
5238
- b = Mn(r.anchors, p2, n2);
5238
+ C2 = We(r.anchors, p2, n2);
5239
5239
  } else
5240
- b = p2;
5241
- const h2 = /* @__PURE__ */ new Set(), I = [];
5242
- for (const A of this.providers) {
5243
- const L = A.selectColumns(b);
5244
- for (const P2 of L) {
5245
- if (u2(P2.spec)) continue;
5246
- if (h2.has(P2.id))
5247
- throw new Error(`Duplicate column id ${P2.id} in provider ${A.constructor.name}`);
5248
- const R = Qn(P2.spec);
5249
- y.has(R) || (h2.add(P2.id), y.add(R), I.push(P2));
5240
+ C2 = p2;
5241
+ const E2 = /* @__PURE__ */ new Set(), _2 = [];
5242
+ for (const S2 of this.providers) {
5243
+ const I = S2.selectColumns(C2);
5244
+ for (const c2 of I) {
5245
+ if (u2(c2.spec)) continue;
5246
+ if (E2.has(c2.id))
5247
+ throw new Error(`Duplicate column id ${c2.id} in provider ${S2.constructor.name}`);
5248
+ const m2 = tn(c2.spec);
5249
+ g2.has(m2) || (E2.add(c2.id), g2.add(m2), _2.push(c2));
5250
5250
  }
5251
5251
  }
5252
- if (I.length === 0) continue;
5253
- const x = Dt(p2), v = x.length > 0;
5254
- for (const A of I) {
5255
- if (!f(A.spec)) continue;
5256
- const L = A.spec;
5257
- if (v) {
5258
- if (Lt(A.data))
5259
- throw new Error(`Splitting is not supported for PColumns with PColumnValues data format. Column id: ${A.id}`);
5260
- const P2 = _t(A.data);
5261
- if (!P2) {
5252
+ if (_2.length === 0) continue;
5253
+ const w = Rt(p2), A2 = w.length > 0;
5254
+ for (const S2 of _2) {
5255
+ if (!d(S2.spec)) continue;
5256
+ const I = S2.spec;
5257
+ if (A2) {
5258
+ if (Lt(S2.data))
5259
+ throw new Error(`Splitting is not supported for PColumns with PColumnValues data format. Column id: ${S2.id}`);
5260
+ const c2 = It(S2.data);
5261
+ if (!c2) {
5262
5262
  if (s2) continue;
5263
5263
  return;
5264
5264
  }
5265
- if (!Sn(P2))
5266
- throw new Error(`Splitting requires Partitioned DataInfoEntries, but parsing resulted in ${P2.type} for column ${A.id}`);
5267
- const R = St(P2), k2 = x[x.length - 1];
5268
- if (k2 >= P2.partitionKeyLength)
5269
- throw new Error(`Not enough partition keys (${P2.partitionKeyLength}) for requested split axes (max index ${k2}) in column ${L.name}`);
5270
- const W = x.map((S) => this.findLabels(p$1(L.axesSpec[S]))), j2 = [], $ = (S, G) => {
5271
- if (G >= x.length) {
5272
- if (j2.push([...S]), j2.length > 1e4)
5265
+ if (!$e(c2))
5266
+ throw new Error(`Splitting requires Partitioned DataInfoEntries, but parsing resulted in ${c2.type} for column ${S2.id}`);
5267
+ const m2 = _t(c2), T = w[w.length - 1];
5268
+ if (T >= c2.partitionKeyLength)
5269
+ throw new Error(`Not enough partition keys (${c2.partitionKeyLength}) for requested split axes (max index ${T}) in column ${I.name}`);
5270
+ const U = w.map((L2) => this.findLabels(y(I.axesSpec[L2]))), V = [], J = (L2, W) => {
5271
+ if (W >= w.length) {
5272
+ if (V.push([...L2]), V.length > 1e4)
5273
5273
  throw new Error("Too many key combinations, aborting.");
5274
5274
  return;
5275
5275
  }
5276
- const V = x[G];
5277
- if (V >= R.length)
5278
- throw new Error(`Axis index ${V} out of bounds for unique keys array (length ${R.length}) during split key generation for column ${A.id}`);
5279
- const N2 = R[V];
5280
- if (!N2 || N2.length === 0) {
5281
- j2.length = 0;
5276
+ const j = w[W];
5277
+ if (j >= m2.length)
5278
+ throw new Error(`Axis index ${j} out of bounds for unique keys array (length ${m2.length}) during split key generation for column ${S2.id}`);
5279
+ const M = m2[j];
5280
+ if (!M || M.length === 0) {
5281
+ V.length = 0;
5282
5282
  return;
5283
5283
  }
5284
- for (const ee of N2)
5285
- S.push(ee), $(S, G + 1), S.pop();
5284
+ for (const Z of M)
5285
+ L2.push(Z), J(L2, W + 1), L2.pop();
5286
5286
  };
5287
- if ($([], 0), j2.length === 0)
5287
+ if (J([], 0), V.length === 0)
5288
5288
  continue;
5289
- const F = [...L.axesSpec], Be = x.map((S) => S);
5290
- for (let S = x.length - 1; S >= 0; S--)
5291
- F.splice(x[S], 1);
5292
- const We = { ...L, axesSpec: F };
5293
- for (const S of j2) {
5294
- const G = S.map((V, N2) => {
5295
- const ee = Be[N2], Ge = p$1(L.axesSpec[ee]), ue2 = W[N2], He = (ue2 == null ? void 0 : ue2[V]) ?? String(V);
5296
- return { axisIdx: ee, axisId: Ge, value: V, label: He };
5289
+ const K = [...I.axesSpec], Ue = w.map((L2) => L2);
5290
+ for (let L2 = w.length - 1; L2 >= 0; L2--)
5291
+ K.splice(w[L2], 1);
5292
+ const We2 = { ...I, axesSpec: K };
5293
+ for (const L2 of V) {
5294
+ const W = L2.map((j, M) => {
5295
+ const Z = Ue[M], Ge = y(I.axesSpec[Z]), le = U[M], He2 = (le == null ? void 0 : le[j]) ?? String(j);
5296
+ return { axisIdx: Z, axisId: Ge, value: j, label: He2 };
5297
5297
  });
5298
- d.push({
5298
+ f.push({
5299
5299
  type: "split",
5300
- originalColumn: A,
5301
- spec: L,
5302
- adjustedSpec: We,
5303
- dataEntries: P2,
5304
- axisFilters: G
5300
+ originalColumn: S2,
5301
+ spec: I,
5302
+ adjustedSpec: We2,
5303
+ dataEntries: c2,
5304
+ axisFilters: W
5305
5305
  });
5306
5306
  }
5307
5307
  } else
5308
- d.push({
5308
+ f.push({
5309
5309
  type: "direct",
5310
- originalColumn: A,
5311
- spec: L,
5312
- adjustedSpec: L
5310
+ originalColumn: S2,
5311
+ spec: I,
5312
+ adjustedSpec: I
5313
5313
  });
5314
5314
  }
5315
5315
  }
5316
- if (d.length === 0) return [];
5317
- const f$1 = je(
5318
- d,
5316
+ if (f.length === 0) return [];
5317
+ const d$1 = Je(
5318
+ f,
5319
5319
  (p2) => ({
5320
5320
  spec: p2.spec,
5321
5321
  suffixTrace: p2.type === "split" ? Et(p2.axisFilters) : void 0
5322
5322
  }),
5323
5323
  l2
5324
- ), w2 = [];
5325
- for (const { value: p2, label: g } of f$1) {
5326
- const { originalColumn: b, spec: h2 } = p2, I = p2.type === "split" ? p2.axisFilters : void 0, x = kt(I);
5327
- let v;
5328
- r ? v = r.deriveS(h2, x) : v = Ot(b.id, x);
5329
- let A = { ...p2.adjustedSpec };
5330
- o && (A = {
5331
- ...A,
5324
+ ), b = [];
5325
+ for (const { value: p2, label: y2 } of d$1) {
5326
+ const { originalColumn: C2, spec: E2 } = p2, _2 = p2.type === "split" ? p2.axisFilters : void 0, w = kt(_2);
5327
+ let A2;
5328
+ r ? A2 = r.deriveS(E2, w) : A2 = Dt(C2.id, w);
5329
+ let S2 = { ...p2.adjustedSpec };
5330
+ o && (S2 = {
5331
+ ...S2,
5332
5332
  annotations: {
5333
- ...A.annotations ?? {},
5334
- "pl7.app/label": g
5333
+ ...S2.annotations ?? {},
5334
+ "pl7.app/label": y2
5335
5335
  }
5336
- }), w2.push({
5337
- id: v,
5338
- spec: A,
5339
- data: () => p2.type === "split" ? Jn(It(p2.dataEntries, x)) : p2.originalColumn.data,
5340
- label: g
5336
+ }), b.push({
5337
+ id: A2,
5338
+ spec: S2,
5339
+ data: () => p2.type === "split" ? Ie$1(Tt(p2.dataEntries, w)) : p2.originalColumn.data,
5340
+ label: y2
5341
5341
  });
5342
5342
  }
5343
- return w2;
5343
+ return b;
5344
5344
  }
5345
5345
  getColumns(e, n2) {
5346
5346
  const r = this.getUniversalEntries(e, {
@@ -5365,19 +5365,19 @@
5365
5365
  return i;
5366
5366
  }
5367
5367
  }
5368
- function de(t, e) {
5368
+ function ce(t, e) {
5369
5369
  if (t === void 0) return e === void 0;
5370
5370
  if (e === void 0) return true;
5371
5371
  for (const n2 in e)
5372
5372
  if (t[n2] !== e[n2]) return false;
5373
5373
  return true;
5374
5374
  }
5375
- function _e(t) {
5376
- return Wn(t, (e) => e instanceof E ? e.handle : En(e) ? Nn(e, (n2) => n2.handle) : e);
5375
+ function Ie(t) {
5376
+ return Ze(t, (e) => e instanceof D ? e.handle : Oe(e) ? Ce(e, (n2) => n2.handle) : e);
5377
5377
  }
5378
- class Rt {
5378
+ class Ot {
5379
5379
  constructor() {
5380
- O(this, "ctx", m());
5380
+ k(this, "ctx", v());
5381
5381
  }
5382
5382
  /**
5383
5383
  * @deprecated use getOptions()
@@ -5386,28 +5386,28 @@
5386
5386
  return this.ctx.calculateOptions(e);
5387
5387
  }
5388
5388
  getOptions(e, n2) {
5389
- const r = typeof e == "function" ? e : Gn(e), i = this.getSpecs().entries.filter((a) => r(a.obj));
5389
+ const r = typeof e == "function" ? e : nn(e), i = this.getSpecs().entries.filter((a) => r(a.obj));
5390
5390
  let s2 = {}, o = false;
5391
- return typeof n2 < "u" && (typeof n2 == "function" ? s2 = n2 : typeof n2 == "object" && ("includeNativeLabel" in n2 || "separator" in n2 || "addLabelAsSuffix" in n2 ? s2 = n2 : (n2 = n2, s2 = n2.label ?? {}, o = n2.refsWithEnrichments ?? false))), typeof s2 == "object" ? je(i, (a) => a.obj, s2 ?? {}).map(({ value: { ref: a }, label: l2 }) => ({
5392
- ref: te$1(a, o),
5391
+ return typeof n2 < "u" && (typeof n2 == "function" ? s2 = n2 : typeof n2 == "object" && ("includeNativeLabel" in n2 || "separator" in n2 || "addLabelAsSuffix" in n2 ? s2 = n2 : (n2 = n2, s2 = n2.label ?? {}, o = n2.refsWithEnrichments ?? false))), typeof s2 == "object" ? Je(i, (a) => a.obj, s2 ?? {}).map(({ value: { ref: a }, label: l2 }) => ({
5392
+ ref: un(a, o),
5393
5393
  label: l2
5394
5394
  })) : i.map(({ ref: a, obj: l2 }) => ({
5395
- ref: te$1(a, o),
5395
+ ref: un(a, o),
5396
5396
  label: s2(l2, a)
5397
5397
  }));
5398
5398
  }
5399
5399
  resolveAnchorCtx(e) {
5400
- if (e instanceof _n) return e;
5400
+ if (e instanceof He) return e;
5401
5401
  const n2 = {};
5402
5402
  for (const [r, i] of Object.entries(e))
5403
- if (ne(i)) {
5403
+ if (sn(i)) {
5404
5404
  const s2 = this.getPColumnSpecByRef(i);
5405
5405
  if (!s2)
5406
5406
  return;
5407
5407
  n2[r] = s2;
5408
5408
  } else
5409
5409
  n2[r] = i;
5410
- return new _n(n2);
5410
+ return new He(n2);
5411
5411
  }
5412
5412
  /**
5413
5413
  * Returns columns that match the provided anchors and selectors. It applies axis filters and label derivation.
@@ -5420,7 +5420,7 @@
5420
5420
  getAnchoredPColumns(e, n2, r) {
5421
5421
  const i = this.resolveAnchorCtx(e);
5422
5422
  if (i)
5423
- return new le().addColumnProvider(this).addAxisLabelProvider(this).getColumns(n2, {
5423
+ return new ae().addColumnProvider(this).addAxisLabelProvider(this).getColumns(n2, {
5424
5424
  ...r,
5425
5425
  anchorCtx: i
5426
5426
  });
@@ -5457,7 +5457,7 @@
5457
5457
  getCanonicalOptions(e, n2, r) {
5458
5458
  const i = this.resolveAnchorCtx(e);
5459
5459
  if (!i) return;
5460
- const s2 = new le().addColumnProvider(this).addAxisLabelProvider(this).getUniversalEntries(n2, {
5460
+ const s2 = new ae().addColumnProvider(this).addAxisLabelProvider(this).getUniversalEntries(n2, {
5461
5461
  ...r,
5462
5462
  anchorCtx: i
5463
5463
  });
@@ -5481,7 +5481,7 @@
5481
5481
  ref: n2.ref,
5482
5482
  obj: {
5483
5483
  ...n2.obj,
5484
- data: new E(n2.obj.data, [n2.ref.blockId, n2.ref.name])
5484
+ data: new D(n2.obj.data, [n2.ref.blockId, n2.ref.name])
5485
5485
  }
5486
5486
  }))
5487
5487
  };
@@ -5500,9 +5500,9 @@
5500
5500
  ref: n2.ref,
5501
5501
  obj: {
5502
5502
  ...n2.obj,
5503
- data: oe$1(
5503
+ data: fn(
5504
5504
  n2.obj.data,
5505
- (r) => new E(r, [n2.ref.blockId, n2.ref.name])
5505
+ (r) => new D(r, [n2.ref.blockId, n2.ref.name])
5506
5506
  )
5507
5507
  }
5508
5508
  }))
@@ -5529,9 +5529,9 @@
5529
5529
  )) == null ? void 0 : r.obj;
5530
5530
  const n2 = this.ctx.getDataFromResultPoolByRef(e.blockId, e.name);
5531
5531
  if (n2)
5532
- return Wn(
5532
+ return Ze(
5533
5533
  n2,
5534
- (i) => new E(i, [e.blockId, e.name])
5534
+ (i) => new D(i, [e.blockId, e.name])
5535
5535
  );
5536
5536
  }
5537
5537
  /**
@@ -5542,7 +5542,7 @@
5542
5542
  getPColumnByRef(e) {
5543
5543
  const n2 = this.getDataByRef(e);
5544
5544
  if (n2)
5545
- return qn(n2);
5545
+ return Ye(n2);
5546
5546
  }
5547
5547
  /**
5548
5548
  * Returns spec associated with the ref ensuring that it is a p-column spec.
@@ -5552,7 +5552,7 @@
5552
5552
  getPColumnSpecByRef(e) {
5553
5553
  const n2 = this.getSpecByRef(e);
5554
5554
  if (n2) {
5555
- if (!f(n2)) throw new Error(`not a PColumn spec (kind = ${n2.kind})`);
5555
+ if (!d(n2)) throw new Error(`not a PColumn spec (kind = ${n2.kind})`);
5556
5556
  return n2;
5557
5557
  }
5558
5558
  }
@@ -5571,13 +5571,13 @@
5571
5571
  findDataWithCompatibleSpec(e) {
5572
5572
  const n2 = [];
5573
5573
  e: for (const r of this.getData().entries) {
5574
- if (!f(r.obj.spec))
5574
+ if (!d(r.obj.spec))
5575
5575
  continue;
5576
5576
  const i = r.obj.spec;
5577
- if (e.name === i.name && e.valueType === i.valueType && e.axesSpec.length === i.axesSpec.length && de(e.domain, i.domain)) {
5577
+ if (e.name === i.name && e.valueType === i.valueType && e.axesSpec.length === i.axesSpec.length && ce(e.domain, i.domain)) {
5578
5578
  for (let s2 = 0; s2 < e.axesSpec.length; ++s2) {
5579
5579
  const o = e.axesSpec[s2], a = i.axesSpec[s2];
5580
- if (o.name !== a.name || o.type !== a.type || !de(o.domain, a.domain))
5580
+ if (o.name !== a.name || o.type !== a.type || !ce(o.domain, a.domain))
5581
5581
  continue e;
5582
5582
  }
5583
5583
  n2.push(r.obj);
@@ -5592,9 +5592,9 @@
5592
5592
  findLabels(e) {
5593
5593
  const n2 = this.getData();
5594
5594
  for (const r of n2.entries) {
5595
- if (!rn(r.obj)) continue;
5595
+ if (!ie$1(r.obj)) continue;
5596
5596
  const i = r.obj.spec;
5597
- if (i.name === "pl7.app/label" && i.axesSpec.length === 1 && i.axesSpec[0].name === e.name && i.axesSpec[0].type === e.type && de(e.domain, i.axesSpec[0].domain)) {
5597
+ if (i.name === "pl7.app/label" && i.axesSpec.length === 1 && i.axesSpec[0].name === e.name && i.axesSpec[0].type === e.type && ce(e.domain, i.axesSpec[0].domain)) {
5598
5598
  if (r.obj.data.resourceType.name !== "PColumnData/Json")
5599
5599
  throw Error(`Expected JSON column for labels, got: ${r.obj.data.resourceType.name}`);
5600
5600
  return Object.fromEntries(
@@ -5613,13 +5613,13 @@
5613
5613
  * @returns An array of PColumn objects matching the selectors. Data is loaded on first access.
5614
5614
  */
5615
5615
  selectColumns(e) {
5616
- const n2 = typeof e == "function" ? e : Gn(e);
5617
- return this.getSpecs().entries.filter(({ obj: i }) => f(i) ? n2(i) : false).map(({ ref: i, obj: s2 }) => {
5616
+ const n2 = typeof e == "function" ? e : nn(e);
5617
+ return this.getSpecs().entries.filter(({ obj: i }) => d(i) ? n2(i) : false).map(({ ref: i, obj: s2 }) => {
5618
5618
  const o = s2;
5619
5619
  let a = null;
5620
5620
  const l2 = this;
5621
5621
  return {
5622
- id: ke(i),
5622
+ id: Re(i),
5623
5623
  spec: o,
5624
5624
  get data() {
5625
5625
  var u2;
@@ -5644,39 +5644,57 @@
5644
5644
  return r;
5645
5645
  }
5646
5646
  }
5647
- class te {
5647
+ class ee {
5648
5648
  constructor() {
5649
- O(this, "ctx");
5650
- O(this, "args");
5651
- O(this, "uiState");
5652
- O(this, "_activeArgsCache");
5653
- O(this, "resultPool", new Rt());
5654
- this.ctx = m(), this.args = JSON.parse(this.ctx.args), this.uiState = this.ctx.uiState !== void 0 ? JSON.parse(this.ctx.uiState) : {};
5649
+ k(this, "ctx");
5650
+ k(this, "_argsCache");
5651
+ k(this, "_uiStateCache");
5652
+ k(this, "_activeArgsCache");
5653
+ k(this, "resultPool", new Ot());
5654
+ this.ctx = v();
5655
+ }
5656
+ get args() {
5657
+ if (this._argsCache === void 0) {
5658
+ const e = this.ctx.args, n2 = typeof e == "function" ? e() : e;
5659
+ this._argsCache = { v: JSON.parse(n2) };
5660
+ }
5661
+ return this._argsCache.v;
5662
+ }
5663
+ get uiState() {
5664
+ if (this._uiStateCache === void 0) {
5665
+ const e = this.ctx.uiState, n2 = typeof e == "function" ? e() : e;
5666
+ this._uiStateCache = { v: n2 ? JSON.parse(n2) : {} };
5667
+ }
5668
+ return this._uiStateCache.v;
5655
5669
  }
5656
5670
  /**
5657
5671
  * Returns args snapshot the block was executed for (i.e. when "Run" button was pressed).
5658
5672
  * Returns undefined, if block was never executed or stopped mid-way execution, so that the result was cleared.
5659
5673
  * */
5660
5674
  get activeArgs() {
5661
- return this._activeArgsCache === void 0 && (this._activeArgsCache = {
5662
- v: this.ctx.activeArgs ? JSON.parse(this.ctx.activeArgs) : void 0
5663
- }), this._activeArgsCache.v;
5675
+ if (this._activeArgsCache === void 0) {
5676
+ const e = this.ctx.activeArgs, n2 = typeof e == "function" ? e() : e;
5677
+ this._activeArgsCache = {
5678
+ v: n2 ? JSON.parse(n2) : void 0
5679
+ };
5680
+ }
5681
+ return this._activeArgsCache.v;
5664
5682
  }
5665
5683
  // /** Can be used to determine features provided by the desktop instance. */
5666
5684
  // public get featureFlags() {
5667
5685
  // return this.ctx.featureFlags;
5668
5686
  // }
5669
5687
  getNamedAccessor(e) {
5670
- return he(
5688
+ return fe(
5671
5689
  this.ctx.getAccessorHandleByName(e),
5672
- (n2) => new E(n2, [e])
5690
+ (n2) => new D(n2, [e])
5673
5691
  );
5674
5692
  }
5675
5693
  get prerun() {
5676
- return this.getNamedAccessor(Re);
5694
+ return this.getNamedAccessor(Ne);
5677
5695
  }
5678
5696
  get outputs() {
5679
- return this.getNamedAccessor(Fe);
5697
+ return this.getNamedAccessor(Ve);
5680
5698
  }
5681
5699
  /**
5682
5700
  * Find labels data for a given axis id. It will search for a label column and return its data as a map.
@@ -5688,26 +5706,35 @@
5688
5706
  }
5689
5707
  verifyInlineAndExplicitColumnsSupport(e) {
5690
5708
  var i;
5691
- const n2 = e.some((s2) => !(s2.data instanceof E) || En(s2.data)), r = ((i = this.ctx.featureFlags) == null ? void 0 : i.inlineColumnsSupport) === true;
5709
+ const n2 = e.some((s2) => !(s2.data instanceof D) || Oe(s2.data)), r = ((i = this.ctx.featureFlags) == null ? void 0 : i.inlineColumnsSupport) === true;
5692
5710
  if (n2 && !r) throw Error("Inline or explicit columns not supported");
5693
5711
  }
5712
+ patchPTableDef(e) {
5713
+ var n2;
5714
+ return (n2 = this.ctx.featureFlags) != null && n2.pTablePartitionFiltersSupport ? e : {
5715
+ ...e,
5716
+ partitionFilters: [],
5717
+ filters: [...e.partitionFilters, ...e.filters]
5718
+ };
5719
+ }
5694
5720
  // TODO remove all non-PColumn fields
5695
5721
  createPFrame(e) {
5696
5722
  return this.verifyInlineAndExplicitColumnsSupport(e), this.ctx.createPFrame(
5697
- e.map((n2) => _e(n2))
5723
+ e.map((n2) => Ie(n2))
5698
5724
  );
5699
5725
  }
5700
5726
  createPTable(e) {
5701
5727
  let n2;
5702
- return "columns" in e ? n2 = {
5728
+ return "columns" in e ? n2 = this.patchPTableDef({
5703
5729
  src: {
5704
5730
  type: "full",
5705
5731
  entries: e.columns.map((r) => ({ type: "column", column: r }))
5706
5732
  },
5707
- filters: e.filters ?? [],
5733
+ partitionFilters: e.filters ?? [],
5734
+ filters: [],
5708
5735
  sorting: e.sorting ?? []
5709
- } : n2 = e, this.verifyInlineAndExplicitColumnsSupport(Xn(n2.src)), this.ctx.createPTable(
5710
- Un(n2, (r) => _e(r))
5736
+ }) : n2 = this.patchPTableDef(e), this.verifyInlineAndExplicitColumnsSupport(en(n2.src)), this.ctx.createPTable(
5737
+ qe$1(n2, (r) => Ie(r))
5711
5738
  );
5712
5739
  }
5713
5740
  /** @deprecated scheduled for removal from SDK */
@@ -5727,34 +5754,35 @@
5727
5754
  this.ctx.logError(e);
5728
5755
  }
5729
5756
  }
5730
- const Y = "1.34.8";
5731
- function Ft(t) {
5757
+ const z = "1.39.0";
5758
+ function Kt(t) {
5732
5759
  return t.__renderLambda === true;
5733
5760
  }
5734
- function pe(t) {
5761
+ function de(t) {
5735
5762
  if (t !== void 0)
5736
- return Ft(t) ? t.handle : t;
5763
+ return Kt(t) ? t.handle : t;
5737
5764
  }
5738
- class T {
5739
- constructor(e, n2, r, i, s2, o, a, l2) {
5740
- this._renderingMode = e, this._initialArgs = n2, this._initialUiState = r, this._outputs = i, this._inputsValid = s2, this._sections = o, this._title = a, this._enrichmentTargets = l2;
5765
+ const x = class x2 {
5766
+ constructor(e, n2, r, i, s2, o, a, l2, u2) {
5767
+ this._renderingMode = e, this._initialArgs = n2, this._initialUiState = r, this._outputs = i, this._inputsValid = s2, this._sections = o, this._title = a, this._enrichmentTargets = l2, this._featureFlags = u2;
5741
5768
  }
5742
5769
  static create(e = "Heavy") {
5743
- return new T(
5770
+ return new x2(
5744
5771
  e,
5745
5772
  void 0,
5746
5773
  {},
5747
5774
  {},
5748
- re(true),
5749
- re([]),
5775
+ ne(true),
5776
+ ne([]),
5777
+ void 0,
5750
5778
  void 0,
5751
- void 0
5779
+ { ...x2.INITIAL_BLOCK_FEATURE_FLAGS }
5752
5780
  );
5753
5781
  }
5754
5782
  output(e, n2, r = {}) {
5755
5783
  if (typeof n2 == "function") {
5756
5784
  const i = `output#${e}`;
5757
- return H(i, () => n2(new te())), new T(
5785
+ return G(i, () => n2(new ee())), new x2(
5758
5786
  this._renderingMode,
5759
5787
  this._initialArgs,
5760
5788
  this._initialUiState,
@@ -5769,10 +5797,11 @@
5769
5797
  this._inputsValid,
5770
5798
  this._sections,
5771
5799
  this._title,
5772
- this._enrichmentTargets
5800
+ this._enrichmentTargets,
5801
+ this._featureFlags
5773
5802
  );
5774
5803
  } else
5775
- return new T(
5804
+ return new x2(
5776
5805
  this._renderingMode,
5777
5806
  this._initialArgs,
5778
5807
  this._initialUiState,
@@ -5783,7 +5812,8 @@
5783
5812
  this._inputsValid,
5784
5813
  this._sections,
5785
5814
  this._title,
5786
- this._enrichmentTargets
5815
+ this._enrichmentTargets,
5816
+ this._featureFlags
5787
5817
  );
5788
5818
  }
5789
5819
  /** Shortcut for {@link output} with retentive flag set to true. */
@@ -5791,7 +5821,7 @@
5791
5821
  return this.output(e, n2, { retentive: true });
5792
5822
  }
5793
5823
  argsValid(e) {
5794
- return typeof e == "function" ? (H("inputsValid", () => e(new te())), new T(
5824
+ return typeof e == "function" ? (G("inputsValid", () => e(new ee())), new x2(
5795
5825
  this._renderingMode,
5796
5826
  this._initialArgs,
5797
5827
  this._initialUiState,
@@ -5802,8 +5832,9 @@
5802
5832
  },
5803
5833
  this._sections,
5804
5834
  this._title,
5805
- this._enrichmentTargets
5806
- )) : new T(
5835
+ this._enrichmentTargets,
5836
+ this._featureFlags
5837
+ )) : new x2(
5807
5838
  this._renderingMode,
5808
5839
  this._initialArgs,
5809
5840
  this._initialUiState,
@@ -5811,11 +5842,12 @@
5811
5842
  e,
5812
5843
  this._sections,
5813
5844
  this._title,
5814
- this._enrichmentTargets
5845
+ this._enrichmentTargets,
5846
+ this._featureFlags
5815
5847
  );
5816
5848
  }
5817
5849
  sections(e) {
5818
- return Array.isArray(e) ? this.sections(re(e)) : typeof e == "function" ? (H("sections", () => e(new te())), new T(
5850
+ return Array.isArray(e) ? this.sections(ne(e)) : typeof e == "function" ? (G("sections", () => e(new ee())), new x2(
5819
5851
  this._renderingMode,
5820
5852
  this._initialArgs,
5821
5853
  this._initialUiState,
@@ -5823,8 +5855,9 @@
5823
5855
  this._inputsValid,
5824
5856
  { __renderLambda: true, handle: "sections" },
5825
5857
  this._title,
5826
- this._enrichmentTargets
5827
- )) : new T(
5858
+ this._enrichmentTargets,
5859
+ this._featureFlags
5860
+ )) : new x2(
5828
5861
  this._renderingMode,
5829
5862
  this._initialArgs,
5830
5863
  this._initialUiState,
@@ -5832,12 +5865,13 @@
5832
5865
  this._inputsValid,
5833
5866
  e,
5834
5867
  this._title,
5835
- this._enrichmentTargets
5868
+ this._enrichmentTargets,
5869
+ this._featureFlags
5836
5870
  );
5837
5871
  }
5838
5872
  /** Sets a rendering function to derive block title, shown for the block in the left blocks-overview panel. */
5839
5873
  title(e) {
5840
- return H("title", () => e(new te())), new T(
5874
+ return G("title", () => e(new ee())), new x2(
5841
5875
  this._renderingMode,
5842
5876
  this._initialArgs,
5843
5877
  this._initialUiState,
@@ -5845,7 +5879,8 @@
5845
5879
  this._inputsValid,
5846
5880
  this._sections,
5847
5881
  { __renderLambda: true, handle: "title" },
5848
- this._enrichmentTargets
5882
+ this._enrichmentTargets,
5883
+ this._featureFlags
5849
5884
  );
5850
5885
  }
5851
5886
  /**
@@ -5853,7 +5888,7 @@
5853
5888
  * @deprecated use {@link withArgs}
5854
5889
  * */
5855
5890
  initialArgs(e) {
5856
- return new T(
5891
+ return new x2(
5857
5892
  this._renderingMode,
5858
5893
  e,
5859
5894
  this._initialUiState,
@@ -5861,12 +5896,13 @@
5861
5896
  this._inputsValid,
5862
5897
  this._sections,
5863
5898
  this._title,
5864
- this._enrichmentTargets
5899
+ this._enrichmentTargets,
5900
+ this._featureFlags
5865
5901
  );
5866
5902
  }
5867
5903
  /** Sets initial args for the block, this value must be specified. */
5868
5904
  withArgs(e) {
5869
- return new T(
5905
+ return new x2(
5870
5906
  this._renderingMode,
5871
5907
  e,
5872
5908
  this._initialUiState,
@@ -5874,12 +5910,13 @@
5874
5910
  this._inputsValid,
5875
5911
  this._sections,
5876
5912
  this._title,
5877
- this._enrichmentTargets
5913
+ this._enrichmentTargets,
5914
+ this._featureFlags
5878
5915
  );
5879
5916
  }
5880
5917
  /** Defines type and sets initial value for block UiState. */
5881
5918
  withUiState(e) {
5882
- return new T(
5919
+ return new x2(
5883
5920
  this._renderingMode,
5884
5921
  this._initialArgs,
5885
5922
  e,
@@ -5887,7 +5924,8 @@
5887
5924
  this._inputsValid,
5888
5925
  this._sections,
5889
5926
  this._title,
5890
- this._enrichmentTargets
5927
+ this._enrichmentTargets,
5928
+ this._featureFlags
5891
5929
  );
5892
5930
  }
5893
5931
  /**
@@ -5895,7 +5933,7 @@
5895
5933
  * Influences dependency graph construction.
5896
5934
  */
5897
5935
  enriches(e) {
5898
- return H("enrichmentTargets", e), new T(
5936
+ return G("enrichmentTargets", e), new x2(
5899
5937
  this._renderingMode,
5900
5938
  this._initialArgs,
5901
5939
  this._initialUiState,
@@ -5903,7 +5941,8 @@
5903
5941
  this._inputsValid,
5904
5942
  this._sections,
5905
5943
  this._title,
5906
- { __renderLambda: true, handle: "enrichmentTargets" }
5944
+ { __renderLambda: true, handle: "enrichmentTargets" },
5945
+ this._featureFlags
5907
5946
  );
5908
5947
  }
5909
5948
  /** Renders all provided block settings into a pre-configured platforma API
@@ -5913,7 +5952,7 @@
5913
5952
  if (this._initialArgs === void 0) throw new Error("Initial arguments not set.");
5914
5953
  const e = {
5915
5954
  v3: {
5916
- sdkVersion: Y,
5955
+ sdkVersion: z,
5917
5956
  renderingMode: this._renderingMode,
5918
5957
  initialArgs: this._initialArgs,
5919
5958
  initialUiState: this._initialUiState,
@@ -5921,70 +5960,103 @@
5921
5960
  sections: this._sections,
5922
5961
  title: this._title,
5923
5962
  outputs: this._outputs,
5924
- enrichmentTargets: this._enrichmentTargets
5963
+ enrichmentTargets: this._enrichmentTargets,
5964
+ featureFlags: this._featureFlags
5925
5965
  },
5926
5966
  // fields below are added to allow previous desktop versions read generated configs
5927
- sdkVersion: Y,
5967
+ sdkVersion: z,
5928
5968
  renderingMode: this._renderingMode,
5929
5969
  initialArgs: this._initialArgs,
5930
- inputsValid: pe(this._inputsValid),
5931
- sections: pe(this._sections),
5970
+ inputsValid: de(this._inputsValid),
5971
+ sections: de(this._sections),
5932
5972
  outputs: Object.fromEntries(
5933
- Object.entries(this._outputs).map(([n2, r]) => [n2, pe(r)])
5973
+ Object.entries(this._outputs).map(([n2, r]) => [n2, de(r)])
5934
5974
  )
5935
5975
  };
5936
- return pt() ? De({ sdkVersion: Y }) : { config: e };
5976
+ return ft() ? Ke({ sdkVersion: z }) : { config: e };
5937
5977
  }
5978
+ };
5979
+ k(x, "INITIAL_BLOCK_FEATURE_FLAGS", {
5980
+ supportsLazyState: true,
5981
+ requiresUIAPIVersion: 1,
5982
+ requiresModelAPIVersion: 1
5983
+ });
5984
+ let Te = x;
5985
+ function Be() {
5986
+ return {
5987
+ sourceId: null,
5988
+ hiddenColIds: null,
5989
+ partitionFilters: [],
5990
+ filters: [],
5991
+ sorting: []
5992
+ };
5993
+ }
5994
+ function Nt() {
5995
+ return {
5996
+ version: 3,
5997
+ stateCache: [],
5998
+ pTableParams: Be()
5999
+ };
5938
6000
  }
5939
- function ve(t) {
6001
+ function Vt(t) {
6002
+ return "version" in t ? (t.version === 2 && (t = {
6003
+ version: 3,
6004
+ stateCache: t.stateCache.map((e) => ({
6005
+ ...e,
6006
+ filtersState: []
6007
+ })),
6008
+ pTableParams: Be()
6009
+ }), t) : Nt();
6010
+ }
6011
+ function ye(t) {
5940
6012
  return t.axesSpec.length === 1 && t.name === "pl7.app/label";
5941
6013
  }
5942
- function Ne(t) {
5943
- return new le().addAxisLabelProvider(t).addColumnProvider(t).getColumns({
6014
+ function jt(t) {
6015
+ return new ae().addAxisLabelProvider(t).addColumnProvider(t).getColumns({
5944
6016
  name: "pl7.app/label",
5945
6017
  axes: [{}]
5946
6018
  // exactly one axis
5947
6019
  }, { dontWaitAllData: true });
5948
6020
  }
5949
- function Je(t, e) {
6021
+ function Le(t, e) {
5950
6022
  const n2 = [], r = [];
5951
6023
  for (const a of t)
5952
- ve(a.spec) ? n2.push(a) : r.push(a);
6024
+ ye(a.spec) ? n2.push(a) : r.push(a);
5953
6025
  const i = [];
5954
6026
  for (const a of r)
5955
6027
  for (const l2 of a.spec.axesSpec) {
5956
- const u2 = p$1(l2);
5957
- i.some((c2) => Z$1(c2, u2)) || i.push(u2);
6028
+ const u2 = y(l2);
6029
+ i.some((h) => ne$1(h, u2)) || i.push(u2);
5958
6030
  }
5959
6031
  for (const a of n2) {
5960
- const l2 = p$1(a.spec.axesSpec[0]), u2 = i.findIndex((c2) => Z$1(c2, l2));
6032
+ const l2 = y(a.spec.axesSpec[0]), u2 = i.findIndex((h) => ne$1(h, l2));
5961
6033
  u2 !== -1 && i.splice(u2, 1);
5962
6034
  }
5963
6035
  const s2 = (a, l2) => {
5964
6036
  let u2 = a.toString();
5965
6037
  if (l2)
5966
- for (const c2 in l2)
5967
- u2 += c2, u2 += l2[c2];
6038
+ for (const h in l2)
6039
+ u2 += h, u2 += l2[h];
5968
6040
  return u2;
5969
6041
  }, o = [];
5970
6042
  for (const a of e) {
5971
- const l2 = a.spec.axesSpec[0], u2 = p$1(l2), c2 = i.findIndex((d) => Z$1(d, u2));
5972
- if (c2 !== -1) {
5973
- const d = i[c2], y = Object.keys(d.domain ?? {}).length, f2 = Object.keys(l2.domain ?? {}).length;
5974
- y > f2 ? o.push({
5975
- id: s2(a.id, d.domain),
6043
+ const l2 = a.spec.axesSpec[0], u2 = y(l2), h = i.findIndex((f) => ne$1(f, u2));
6044
+ if (h !== -1) {
6045
+ const f = i[h], g2 = Object.keys(f.domain ?? {}).length, d2 = Object.keys(l2.domain ?? {}).length;
6046
+ g2 > d2 ? o.push({
6047
+ id: s2(a.id, f.domain),
5976
6048
  spec: {
5977
6049
  ...a.spec,
5978
- axesSpec: [{ ...d, annotations: l2.annotations }]
6050
+ axesSpec: [{ ...f, annotations: l2.annotations }]
5979
6051
  },
5980
6052
  data: a.data
5981
- }) : o.push(a), i.splice(c2, 1);
6053
+ }) : o.push(a), i.splice(h, 1);
5982
6054
  }
5983
6055
  }
5984
6056
  return o;
5985
6057
  }
5986
- function Me(t) {
5987
- const e = (i) => Array.isArray(i), n2 = (i) => i instanceof E, r = (i) => typeof i == "object" && "type" in i;
6058
+ function Jt(t) {
6059
+ const e = (i) => Array.isArray(i), n2 = (i) => i instanceof D, r = (i) => typeof i == "object" && "type" in i;
5988
6060
  return t.map((i) => i.data).every((i) => {
5989
6061
  if (e(i))
5990
6062
  return true;
@@ -6003,39 +6075,98 @@
6003
6075
  throw Error(`unsupported column data type: ${i}`);
6004
6076
  });
6005
6077
  }
6006
- function Ue(t, e, n2, r, i, s2) {
6007
- let o = t;
6008
- const a = [];
6009
- if (s2) {
6010
- o = [];
6011
- for (const l2 of t)
6012
- s2(l2.spec) ? o.push(l2) : a.push(l2);
6078
+ function Fe(t) {
6079
+ let e = t.columns;
6080
+ const n2 = [];
6081
+ if (t.coreColumnPredicate) {
6082
+ e = [];
6083
+ for (const r of t.columns)
6084
+ t.coreColumnPredicate(r.spec) ? e.push(r) : n2.push(r);
6013
6085
  }
6014
- return a.push(...e), {
6086
+ return n2.push(...t.labelColumns), {
6015
6087
  src: {
6016
6088
  type: "outer",
6017
6089
  primary: {
6018
- type: n2,
6019
- entries: o.map((l2) => ({ type: "column", column: l2 }))
6090
+ type: t.coreJoinType,
6091
+ entries: e.map((r) => ({ type: "column", column: r }))
6020
6092
  },
6021
- secondary: a.map((l2) => ({ type: "column", column: l2 }))
6093
+ secondary: n2.map((r) => ({ type: "column", column: r }))
6022
6094
  },
6023
- filters: r,
6024
- sorting: i
6095
+ partitionFilters: t.partitionFilters,
6096
+ filters: t.filters,
6097
+ sorting: t.sorting
6025
6098
  };
6026
6099
  }
6027
- function Dn(t, e, n2, r) {
6028
- var u2, c2;
6029
- Array.isArray(r) && (r = { filters: r });
6030
- const i = (r == null ? void 0 : r.coreJoinType) ?? "full", s2 = [...(r == null ? void 0 : r.filters) ?? [], ...((u2 = n2 == null ? void 0 : n2.pTableParams) == null ? void 0 : u2.filters) ?? []], o = ((c2 = n2 == null ? void 0 : n2.pTableParams) == null ? void 0 : c2.sorting) ?? [], a = Ne(t.resultPool);
6031
- if (!a) return;
6032
- const l2 = Je(e.map(Fn), a);
6033
- if (Me([...e, ...l2]))
6034
- return t.createPTable(
6035
- Ue(e, l2, i, s2, o, r == null ? void 0 : r.coreColumnPredicate)
6036
- );
6100
+ function Mt(t) {
6101
+ var e;
6102
+ return ((e = t.annotations) == null ? void 0 : e["pl7.app/table/visibility"]) === "hidden";
6037
6103
  }
6038
- const Vt = (t, e) => {
6104
+ function $t(t) {
6105
+ var e;
6106
+ return ((e = t.annotations) == null ? void 0 : e["pl7.app/table/visibility"]) === "optional";
6107
+ }
6108
+ function pe(t, e) {
6109
+ return [...new Map(t.map((n2) => [e(n2), n2])).values()];
6110
+ }
6111
+ function Nn(t, e, n2, r) {
6112
+ if (e.length === 0) return;
6113
+ const i = e.filter((c2) => !Mt(c2.spec)), s2 = Vt(n2), o = jt(t.resultPool);
6114
+ if (!o) return;
6115
+ const a = Le(i.map(Me$1), o), l2 = [...i, ...a], h = [
6116
+ ...pe(
6117
+ [...l2.flatMap((c2) => c2.spec.axesSpec.map((m2) => y(m2)))],
6118
+ (c2) => mn(c2)
6119
+ ).map((c2) => ({ type: "axis", id: c2 })),
6120
+ ...l2.map((c2) => ({ type: "column", id: c2.id }))
6121
+ ], f = new Set(h.map((c2) => mn(c2))), g2 = (c2) => f.has(mn(c2)), d2 = "full", b = s2.pTableParams.partitionFilters.filter((c2) => {
6122
+ const m2 = g2(c2.column);
6123
+ return m2 || t.logWarn(`Partition filter ${JSON.stringify(c2)} does not match provided columns, skipping`), m2;
6124
+ }), p2 = pe(
6125
+ [...[], ...s2.pTableParams.filters],
6126
+ (c2) => mn(c2.column)
6127
+ ).filter((c2) => {
6128
+ const m2 = g2(c2.column);
6129
+ return m2 || t.logWarn(`Filter ${JSON.stringify(c2)} does not match provided columns, skipping`), m2;
6130
+ }), y$1 = pe(
6131
+ [...[], ...s2.pTableParams.sorting],
6132
+ (c2) => mn(c2.column)
6133
+ ).filter((c2) => {
6134
+ const m2 = g2(c2.column);
6135
+ return m2 || t.logWarn(`Sorting ${JSON.stringify(c2)} does not match provided columns, skipping`), m2;
6136
+ }), C2 = Fe({
6137
+ columns: i,
6138
+ labelColumns: a,
6139
+ coreJoinType: d2,
6140
+ partitionFilters: b,
6141
+ filters: p2,
6142
+ sorting: y$1,
6143
+ coreColumnPredicate: void 0
6144
+ }), E2 = t.createPTable(C2), _2 = new Set((() => {
6145
+ const c2 = s2.pTableParams.hiddenColIds;
6146
+ return c2 || i.filter((m2) => $t(m2.spec)).map((m2) => m2.id);
6147
+ })());
6148
+ i.filter((c2) => {
6149
+ var m2;
6150
+ return ((m2 = c2.spec.annotations) == null ? void 0 : m2["pl7.app/isLinkerColumn"]) === "true";
6151
+ }).forEach((c2) => _2.delete(c2.id)), [...b.map((c2) => c2.column), ...p2.map((c2) => c2.column), ...y$1.map((c2) => c2.column)].filter((c2) => c2.type === "column").forEach((c2) => _2.delete(c2.id));
6152
+ const w = i.filter((c2) => !_2.has(c2.id)), A2 = Le(w.map(Me$1), o);
6153
+ if (!Jt([...w, ...A2])) return;
6154
+ const S2 = Fe({
6155
+ columns: w,
6156
+ labelColumns: A2,
6157
+ coreJoinType: d2,
6158
+ partitionFilters: b,
6159
+ filters: p2,
6160
+ sorting: y$1,
6161
+ coreColumnPredicate: void 0
6162
+ }), I = t.createPTable(S2);
6163
+ return {
6164
+ sourceId: s2.pTableParams.sourceId,
6165
+ fullTableHandle: E2,
6166
+ visibleTableHandle: I
6167
+ };
6168
+ }
6169
+ const Bt = (t, e) => {
6039
6170
  let n2 = t.toString();
6040
6171
  return e == null || e.forEach((r) => {
6041
6172
  if (r)
@@ -6043,7 +6174,7 @@
6043
6174
  n2 += i, n2 += s2;
6044
6175
  }), n2;
6045
6176
  };
6046
- function $t(t) {
6177
+ function Ut(t) {
6047
6178
  if (!t.length)
6048
6179
  return [];
6049
6180
  let e = [[]];
@@ -6054,16 +6185,16 @@
6054
6185
  }), e = r;
6055
6186
  }), e;
6056
6187
  }
6057
- function Nt(t) {
6188
+ function Wt(t) {
6058
6189
  var e;
6059
- return t.axesSpec.length === 2 && ((e = t.annotations) == null ? void 0 : e[Mt]) === "true";
6190
+ return t.axesSpec.length === 2 && ((e = t.annotations) == null ? void 0 : e[Ht]) === "true";
6060
6191
  }
6061
- const Jt = "pl7.app/graph/isVirtual", Ie = "pl7.app/label", Mt = "pl7.app/isLinkerColumn";
6062
- function Ut(t) {
6192
+ const Gt = "pl7.app/graph/isVirtual", Ee = "pl7.app/label", Ht = "pl7.app/isLinkerColumn";
6193
+ function qt(t) {
6063
6194
  var n2, r;
6064
6195
  const e = /* @__PURE__ */ new Map();
6065
6196
  for (const { spec: i } of t) {
6066
- const s2 = i.axesSpec.map(p$1).map(ue);
6197
+ const s2 = i.axesSpec.map(y).map(mn);
6067
6198
  s2.forEach((o) => {
6068
6199
  e.has(o) || e.set(o, /* @__PURE__ */ new Set());
6069
6200
  });
@@ -6075,147 +6206,163 @@
6075
6206
  }
6076
6207
  return e;
6077
6208
  }
6078
- function Bt(t, e) {
6079
- const n2 = Ut(t), r = [...n2.keys()].map(ce$1), i = [];
6209
+ function zt(t, e) {
6210
+ const n2 = qt(t), r = [...n2.keys()].map(yn), i = [];
6080
6211
  for (const l2 of e.values()) {
6081
- const u2 = r.find((c2) => Z$1(l2, c2));
6082
- u2 && i.push(ue(u2));
6212
+ const u2 = r.find((h) => ne$1(l2, h));
6213
+ u2 && i.push(mn(u2));
6083
6214
  }
6084
6215
  const s2 = new Set(i), o = /* @__PURE__ */ new Map();
6085
6216
  let a = [...i];
6086
6217
  for (; a.length; ) {
6087
6218
  const l2 = [];
6088
6219
  for (const u2 of a)
6089
- for (const c2 of n2.get(u2) ?? [])
6090
- s2.has(c2) || (l2.push(c2), s2.add(c2), o.set(c2, ce$1(c2)));
6220
+ for (const h of n2.get(u2) ?? [])
6221
+ s2.has(h) || (l2.push(h), s2.add(h), o.set(h, yn(h)));
6091
6222
  a = l2;
6092
6223
  }
6093
6224
  return o;
6094
6225
  }
6095
- function Wt(t, e) {
6226
+ function Yt(t, e) {
6096
6227
  const n2 = [];
6097
6228
  return e.forEach((r) => {
6098
- n2.push(...Gt(t, r));
6229
+ n2.push(...Xt(t, r));
6099
6230
  }), n2;
6100
6231
  }
6101
- function Gt(t, e) {
6102
- const n2 = e.spec.axesSpec.map(p$1);
6103
- if (n2.every((u2) => t.has(ue(u2))))
6232
+ function Xt(t, e) {
6233
+ const n2 = e.spec.axesSpec.map(y);
6234
+ if (n2.every((u2) => t.has(mn(u2))))
6104
6235
  return [e];
6105
6236
  const r = n2.map((u2) => {
6106
- const c2 = [];
6107
- for (const [d, y] of t)
6108
- Z$1(y, u2) && !Z$1(u2, y) && c2.push(y);
6109
- return c2;
6110
- }), i = $t(r), s2 = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set(), a = i.map((u2) => {
6111
- const c2 = /* @__PURE__ */ new Set();
6112
- return u2.map((d, y) => {
6113
- const f2 = e.spec.axesSpec[y].domain, w2 = d.domain;
6114
- return Object.entries(w2 ?? {}).forEach(([p2, g]) => {
6115
- if ((f2 == null ? void 0 : f2[p2]) === void 0) {
6116
- const b = JSON.stringify([p2, g]);
6117
- c2.add(b), s2.add(b);
6237
+ const h = [];
6238
+ for (const [f, g2] of t)
6239
+ ne$1(g2, u2) && !ne$1(u2, g2) && h.push(g2);
6240
+ return h;
6241
+ }), i = Ut(r), s2 = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set(), a = i.map((u2) => {
6242
+ const h = /* @__PURE__ */ new Set();
6243
+ return u2.map((f, g2) => {
6244
+ const d2 = e.spec.axesSpec[g2].domain, b = f.domain;
6245
+ return Object.entries(b ?? {}).forEach(([p2, y2]) => {
6246
+ if ((d2 == null ? void 0 : d2[p2]) === void 0) {
6247
+ const C2 = JSON.stringify([p2, y2]);
6248
+ h.add(C2), s2.add(C2);
6118
6249
  }
6119
6250
  }), {
6120
- ...d,
6121
- annotations: e.spec.axesSpec[y].annotations
6251
+ ...f,
6252
+ annotations: e.spec.axesSpec[g2].annotations
6122
6253
  };
6123
- }), c2;
6254
+ }), h;
6124
6255
  });
6125
6256
  [...s2].forEach((u2) => {
6126
- a.some((c2) => !c2.has(u2)) && o.add(u2);
6257
+ a.some((h) => !h.has(u2)) && o.add(u2);
6127
6258
  });
6128
- const l2 = i.map((u2, c2) => {
6259
+ const l2 = i.map((u2, h) => {
6129
6260
  var p2;
6130
- const d = Vt(e.id, u2.map((g) => g.domain)), y = ((p2 = e.spec.annotations) == null ? void 0 : p2[Ie]) ?? "", f2 = [...a[c2]].filter((g) => o.has(g)).sort().map((g) => {
6131
- var b;
6132
- return (b = JSON.parse(g)) == null ? void 0 : b[1];
6133
- }).join(" / "), w2 = {
6261
+ const f = Bt(e.id, u2.map((y2) => y2.domain)), g2 = ((p2 = e.spec.annotations) == null ? void 0 : p2[Ee]) ?? "", d2 = [...a[h]].filter((y2) => o.has(y2)).sort().map((y2) => {
6262
+ var C2;
6263
+ return (C2 = JSON.parse(y2)) == null ? void 0 : C2[1];
6264
+ }).join(" / "), b = {
6134
6265
  ...e.spec.annotations,
6135
- [Jt]: "true"
6266
+ [Gt]: "true"
6136
6267
  };
6137
- return (y || f2) && (w2[Ie] = y && f2 ? y + " / " + f2 : y + f2), {
6138
- id: d,
6268
+ return (g2 || d2) && (b[Ee] = g2 && d2 ? g2 + " / " + d2 : g2 + d2), {
6269
+ id: f,
6139
6270
  spec: {
6140
6271
  ...e.spec,
6141
- axesSpec: u2.map((g, b) => ({
6142
- ...g,
6143
- annotations: e.spec.axesSpec[b].annotations
6272
+ axesSpec: u2.map((y2, C2) => ({
6273
+ ...y2,
6274
+ annotations: e.spec.axesSpec[C2].annotations
6144
6275
  })),
6145
- annotations: w2
6276
+ annotations: b
6146
6277
  },
6147
6278
  data: e.data
6148
6279
  };
6149
6280
  });
6150
6281
  return [e, ...l2];
6151
6282
  }
6152
- function Kn(t, e) {
6283
+ function jn(t, e) {
6153
6284
  if (!e) return;
6154
- const n2 = new le();
6285
+ const n2 = new ae();
6155
6286
  n2.addColumnProvider(t.resultPool), n2.addColumns(e);
6156
6287
  const r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map();
6157
- for (const d of e)
6158
- for (const y of d.spec.axesSpec) {
6159
- const f2 = p$1(y);
6160
- r.set(ue(f2), f2), i.set(ue(f2), f2);
6161
- }
6162
- const s2 = n2.getColumns((d) => Nt(d)) ?? [], o = Bt(s2, r);
6163
- for (const d of o)
6164
- r.set(...d), i.set(...d);
6165
- const a = (n2.getColumns([...r.values()].map((d) => ({
6166
- axes: [d],
6167
- partialAxesMatch: true
6168
- })), { dontWaitAllData: true, overrideLabelAnnotation: false }) ?? []).filter((d) => !ve(d.spec));
6169
- for (const d of a)
6170
- for (const y of d.spec.axesSpec) {
6171
- const f2 = p$1(y);
6172
- i.set(ue(f2), f2);
6173
- }
6174
- const l2 = (n2.getColumns([...i.values()].map((d) => ({
6175
- axes: [d],
6176
- partialAxesMatch: true
6177
- })), { dontWaitAllData: true, overrideLabelAnnotation: false }) ?? []).filter((d) => ve(d.spec)), u2 = [...a, ...l2], c2 = Wt(r, u2);
6178
- if (!c2.some(
6179
- (d) => d.data instanceof E && !d.data.getIsReadyOrError()
6288
+ for (const f of e)
6289
+ for (const g2 of f.spec.axesSpec) {
6290
+ const d2 = y(g2);
6291
+ r.set(mn(d2), d2), i.set(mn(d2), d2);
6292
+ }
6293
+ const s2 = n2.getColumns((f) => Wt(f)) ?? [], o = zt(s2, r);
6294
+ for (const f of o)
6295
+ r.set(...f), i.set(...f);
6296
+ const a = (n2.getColumns((f) => f.axesSpec.some((g2) => {
6297
+ const d2 = y(g2);
6298
+ for (const b of r.values())
6299
+ if (ne$1(b, d2))
6300
+ return true;
6301
+ return false;
6302
+ }), { dontWaitAllData: true, overrideLabelAnnotation: false }) ?? []).filter((f) => !ye(f.spec));
6303
+ for (const f of a)
6304
+ for (const g2 of f.spec.axesSpec) {
6305
+ const d2 = y(g2);
6306
+ i.set(mn(d2), d2);
6307
+ }
6308
+ const l2 = (n2.getColumns((f) => f.axesSpec.some((g2) => {
6309
+ const d2 = y(g2);
6310
+ for (const b of i.values())
6311
+ if (ne$1(b, d2))
6312
+ return true;
6313
+ return false;
6314
+ }), { dontWaitAllData: true, overrideLabelAnnotation: false }) ?? []).filter((f) => ye(f.spec)), u2 = [...a, ...l2], h = Yt(r, u2);
6315
+ if (!h.some(
6316
+ (f) => f.data instanceof D && !f.data.getIsReadyOrError()
6180
6317
  ))
6181
- return t.createPFrame(c2);
6318
+ return t.createPFrame(h);
6182
6319
  }
6183
- const model = T.create().withArgs({
6320
+ const model = Te.create().withArgs({
6184
6321
  metrics: [
6185
6322
  {
6323
+ id: "observed",
6186
6324
  type: "observed",
6187
6325
  downsampling: {
6188
6326
  type: "hypergeometric",
6189
6327
  valueChooser: "auto"
6190
- }
6328
+ },
6329
+ isExpanded: false
6191
6330
  },
6192
6331
  {
6332
+ id: "shannonWiener",
6193
6333
  type: "shannonWiener",
6194
6334
  downsampling: {
6195
6335
  type: "hypergeometric",
6196
6336
  valueChooser: "auto"
6197
- }
6337
+ },
6338
+ isExpanded: false
6198
6339
  },
6199
6340
  {
6341
+ id: "chao1",
6200
6342
  type: "chao1",
6201
6343
  downsampling: {
6202
6344
  type: "hypergeometric",
6203
6345
  valueChooser: "auto"
6204
- }
6346
+ },
6347
+ isExpanded: false
6205
6348
  },
6206
6349
  {
6350
+ id: "gini",
6207
6351
  type: "gini",
6208
6352
  downsampling: {
6209
6353
  type: "hypergeometric",
6210
6354
  valueChooser: "auto"
6211
- }
6355
+ },
6356
+ isExpanded: false
6212
6357
  },
6213
6358
  {
6359
+ id: "d50",
6214
6360
  type: "d50",
6215
6361
  downsampling: {
6216
6362
  type: "hypergeometric",
6217
6363
  valueChooser: "auto"
6218
- }
6364
+ },
6365
+ isExpanded: false
6219
6366
  }
6220
6367
  ]
6221
6368
  }).withUiState({
@@ -6225,13 +6372,7 @@
6225
6372
  template: "bar",
6226
6373
  currentTab: null
6227
6374
  },
6228
- tableState: {
6229
- gridState: {},
6230
- pTableParams: {
6231
- sorting: [],
6232
- filters: []
6233
- }
6234
- }
6375
+ tableState: Nt()
6235
6376
  }).argsValid((ctx) => ctx.args.abundanceRef !== void 0).output(
6236
6377
  "abundanceOptions",
6237
6378
  (ctx) => ctx.resultPool.getOptions([
@@ -6253,14 +6394,14 @@
6253
6394
  if (pCols === void 0) {
6254
6395
  return void 0;
6255
6396
  }
6256
- return Dn(ctx, pCols, (_c = ctx.uiState) == null ? void 0 : _c.tableState);
6397
+ return Nn(ctx, pCols, (_c = ctx.uiState) == null ? void 0 : _c.tableState);
6257
6398
  }).output("pf", (ctx) => {
6258
6399
  var _a, _b;
6259
6400
  const pCols = (_b = (_a = ctx.outputs) == null ? void 0 : _a.resolve("pf")) == null ? void 0 : _b.getPColumns();
6260
6401
  if (pCols === void 0) {
6261
6402
  return void 0;
6262
6403
  }
6263
- return Kn(ctx, pCols);
6404
+ return jn(ctx, pCols);
6264
6405
  }).output("pcols", (ctx) => {
6265
6406
  var _a, _b;
6266
6407
  const pCols = (_b = (_a = ctx.outputs) == null ? void 0 : _a.resolve("pf")) == null ? void 0 : _b.getPColumns();