@platforma-open/milaboratories.mixcr-clonotyping-2 2.23.8 → 2.23.10

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/index.js CHANGED
@@ -1,34 +1,12 @@
1
- //#region \0rolldown/runtime.js
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
11
- key = keys[i];
12
- if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
13
- get: ((k) => from[k]).bind(null, key),
14
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
- });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
20
- value: mod,
21
- enumerable: true
22
- }) : target, mod));
23
- //#endregion
24
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/plugin_handle.js
1
+ import { r as __toESM, t as __commonJSMin } from "./rolldown-runtime-B-1-B7_t.js";
2
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/plugin_handle.js
25
3
  const PLUGIN_OUTPUT_PREFIX = "plugin-output#";
26
4
  /** Construct the output key for a plugin output in the block outputs map. */
27
5
  function pluginOutputKey(handle, outputKey) {
28
6
  return `${PLUGIN_OUTPUT_PREFIX}${handle}#${outputKey}`;
29
7
  }
30
8
  //#endregion
31
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/block_storage.js
9
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/block_storage.js
32
10
  /**
33
11
  * Discriminator key for BlockStorage format detection.
34
12
  * This unique hash-based key identifies data as BlockStorage vs legacy formats.
@@ -3837,7 +3815,7 @@ objectType({
3837
3815
  content: stringType()
3838
3816
  });
3839
3817
  //#endregion
3840
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/bmodel/block_kind_ref.js
3818
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/bmodel/block_kind_ref.js
3841
3819
  /**
3842
3820
  * Compose a {@link BlockKindReference} from a kind's `name`/`version`.
3843
3821
  *
@@ -3853,7 +3831,7 @@ objectType({
3853
3831
  to: numberType().min(1)
3854
3832
  });
3855
3833
  //#endregion
3856
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/util.js
3834
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/util.js
3857
3835
  function assertNever(x) {
3858
3836
  throw new Error("Unexpected object: " + x);
3859
3837
  }
@@ -3865,13 +3843,13 @@ function uniqueBy(array, makeId) {
3865
3843
  return [...new Map(array.map((e) => [makeId(e), e])).values()];
3866
3844
  }
3867
3845
  //#endregion
3868
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/drivers/ls.js
3846
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/ls.js
3869
3847
  const indexPrefix = "index://index/";
3870
3848
  function isImportFileHandleIndex(handle) {
3871
3849
  return handle.startsWith(indexPrefix);
3872
3850
  }
3873
3851
  //#endregion
3874
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/data_info.js
3852
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/data_info.js
3875
3853
  /**
3876
3854
  * Type guard function that checks if the given value is a valid DataInfo.
3877
3855
  *
@@ -4062,7 +4040,7 @@ function entriesToDataInfo(dataInfoEntries) {
4062
4040
  }
4063
4041
  }
4064
4042
  //#endregion
4065
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/errors.js
4043
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/errors.js
4066
4044
  var ServiceError = class extends Error {
4067
4045
  name = "ServiceError";
4068
4046
  };
@@ -4086,7 +4064,7 @@ function ensureError(value) {
4086
4064
  return new Error(stringifyValue(value));
4087
4065
  }
4088
4066
  //#endregion
4089
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/json.js
4067
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/json.js
4090
4068
  var import_canonicalize = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
4091
4069
  module.exports = function serialize(object) {
4092
4070
  if (typeof object === "number" && isNaN(object)) throw new Error("NaN is not allowed");
@@ -4119,7 +4097,7 @@ function parseJsonSafely(value, fallback) {
4119
4097
  }
4120
4098
  }
4121
4099
  //#endregion
4122
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js
4100
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/spec.js
4123
4101
  function readMetadata(metadata, key) {
4124
4102
  return metadata?.[key];
4125
4103
  }
@@ -4141,6 +4119,36 @@ function readMetadataJson(metadata, metadataJson, key) {
4141
4119
  return;
4142
4120
  }
4143
4121
  }
4122
+ /**
4123
+ * Domain keys whose value is the id of a block, rather than a qualifier of the data.
4124
+ *
4125
+ * Applying a template repoints these at the blocks of the project being built: an axis a block
4126
+ * produced names that block in its domain, so an axis left naming the exported-from project
4127
+ * resolves to nothing. Listing the keys is what makes that safe — a template's entry ids are
4128
+ * arbitrary non-empty strings, so a hand-written template may name an entry `closest`, and a
4129
+ * qualifier that happens to read `closest` must not be mistaken for a reference to it.
4130
+ *
4131
+ * A key absent from here is simply left alone, which is the behaviour from before relocation
4132
+ * reached domains at all. Adding one is therefore safe; omitting one costs only that a template
4133
+ * carrying it applies still pointing at the project it came from.
4134
+ */
4135
+ const BlockScopedDomain = /* @__PURE__ */ new Set([
4136
+ "pl7.app/blockId",
4137
+ "pl7.app/block",
4138
+ "pl7.app/redefined-by",
4139
+ "pl7.app/annotationRunId",
4140
+ "pl7.app/clonotypeAnnotationRunId",
4141
+ "pl7.app/clustering/blockId",
4142
+ "pl7.app/umap/blockId",
4143
+ "pl7.app/peptide/extractionRunId",
4144
+ "pl7.app/repertoire/extractionRunId",
4145
+ "pl7.app/antibodyVariantDesigner/designRunId",
4146
+ "pl7.app/vdj/clonotypingRunId",
4147
+ "pl7.app/vdj/clustering/blockId",
4148
+ "pl7.app/vdj/integration/blockId",
4149
+ "pl7.app/vdj/spatiotemporalAnalysis/blockId",
4150
+ "pl7.app/vdj/libraryId"
4151
+ ]);
4144
4152
  const Annotation = {
4145
4153
  AxisNature: "pl7.app/axisNature",
4146
4154
  Alphabet: "pl7.app/alphabet",
@@ -4158,6 +4166,7 @@ const Annotation = {
4158
4166
  IsDenseAxis: "pl7.app/graph/isDenseAxis",
4159
4167
  IsVirtual: "pl7.app/graph/isVirtual",
4160
4168
  Palette: "pl7.app/graph/palette",
4169
+ Shape: "pl7.app/graph/shape",
4161
4170
  Thresholds: "pl7.app/graph/thresholds",
4162
4171
  TreatAbsentValuesAs: "pl7.app/graph/treatAbsentValuesAs"
4163
4172
  },
@@ -4213,9 +4222,14 @@ const AnnotationJson = {
4213
4222
  [Annotation.Graph.Axis.SymmetricRange]: booleanType(),
4214
4223
  [Annotation.Graph.IsDenseAxis]: booleanType(),
4215
4224
  [Annotation.Graph.Palette]: objectType({
4216
- mapping: recordType(numberType()),
4217
- name: stringType()
4225
+ name: stringType(),
4226
+ mapping: recordType(coerce.number()).optional(),
4227
+ midPoint: numberType().optional(),
4228
+ min: numberType().optional(),
4229
+ max: numberType().optional(),
4230
+ log: booleanType().optional()
4218
4231
  }),
4232
+ [Annotation.Graph.Shape]: objectType({ mapping: recordType(stringType()) }),
4219
4233
  [Annotation.Graph.Thresholds]: arrayType(objectType({
4220
4234
  columnId: objectType({
4221
4235
  valueType: ValueTypeSchema,
@@ -4408,7 +4422,7 @@ function matchAxisId(query, target) {
4408
4422
  return query.name === target.name && matchDomain$1(query.domain, target.domain) && matchDomain$1(query.contextDomain, target.contextDomain);
4409
4423
  }
4410
4424
  //#endregion
4411
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/query/utils.js
4425
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/query/utils.js
4412
4426
  const BOOLEAN_TYPES = /* @__PURE__ */ new Set([
4413
4427
  "numericComparison",
4414
4428
  "stringEquals",
@@ -4513,7 +4527,7 @@ function collectSpecQueryColumns(query) {
4513
4527
  return result;
4514
4528
  }
4515
4529
  //#endregion
4516
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/table_calculate.js
4530
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/table_calculate.js
4517
4531
  function mapPTableDef(def, cb) {
4518
4532
  return {
4519
4533
  ...def,
@@ -4556,7 +4570,7 @@ function mapJoinEntry(entry, cb) {
4556
4570
  }
4557
4571
  }
4558
4572
  //#endregion
4559
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/table_common.js
4573
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/table_common.js
4560
4574
  function getPTableColumnId(spec) {
4561
4575
  switch (spec.type) {
4562
4576
  case "axis": return {
@@ -4570,7 +4584,7 @@ function getPTableColumnId(spec) {
4570
4584
  }
4571
4585
  }
4572
4586
  //#endregion
4573
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/filtered_column.js
4587
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/filtered_column.js
4574
4588
  function stringifyColumnFilteredId(key) {
4575
4589
  return canonicalizeJson(createColumnFilteredKey(key));
4576
4590
  }
@@ -4603,7 +4617,7 @@ function applyAxisFilters(spec, axisFilters) {
4603
4617
  };
4604
4618
  }
4605
4619
  //#endregion
4606
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/pool/spec.js
4620
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/pool/spec.js
4607
4621
  function isPObjectId(value) {
4608
4622
  if (typeof value !== "string") return false;
4609
4623
  return isPObjectKey(parseJsonSafely(value));
@@ -4725,7 +4739,7 @@ function throwError(v) {
4725
4739
  else throw v;
4726
4740
  }
4727
4741
  //#endregion
4728
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/discovered_column.js
4742
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/discovered_column.js
4729
4743
  function isColumnDiscoveredKey(obj) {
4730
4744
  return typeof obj === "object" && obj !== null && "__isDiscovered" in obj;
4731
4745
  }
@@ -4789,7 +4803,7 @@ function isString(value) {
4789
4803
  return typeof value === "string";
4790
4804
  }
4791
4805
  //#endregion
4792
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/ids.js
4806
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/ids.js
4793
4807
  /**
4794
4808
  * Canonically serializes a column key to a branded string id. Accepts both
4795
4809
  * the new {@link ColumnUniversalKey} and the deprecated {@link UniversalPColumnId}
@@ -4963,7 +4977,7 @@ function extractPObjectId(id) {
4963
4977
  throw new Error(`extractPObjectId: unrecognized column id structure: ${JSON.stringify(id)}`);
4964
4978
  }
4965
4979
  //#endregion
4966
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/overridden.js
4980
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/overridden.js
4967
4981
  function isColumnOverriddenKey(obj) {
4968
4982
  return typeof obj === "object" && obj !== null && "__isOverridden" in obj;
4969
4983
  }
@@ -5085,7 +5099,7 @@ function mergeRecord(a, b) {
5085
5099
  };
5086
5100
  }
5087
5101
  //#endregion
5088
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/anchored.js
5102
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/anchored.js
5089
5103
  function axisKey(axis) {
5090
5104
  return (0, import_canonicalize.default)(getAxisId(axis));
5091
5105
  }
@@ -5331,7 +5345,7 @@ function isAnchorAxisRef(value) {
5331
5345
  return typeof value === "object" && "anchor" in value;
5332
5346
  }
5333
5347
  //#endregion
5334
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/selectors.js
5348
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/selectors.js
5335
5349
  /**
5336
5350
  * Determines if an axis ID matches an axis selector.
5337
5351
  *
@@ -5412,7 +5426,7 @@ function legacyColumnSelectorsToPredicate(predicateOrSelectors) {
5412
5426
  else return (spec) => isPColumnSpec(spec) && matchPColumn(spec, predicateOrSelectors);
5413
5427
  }
5414
5428
  //#endregion
5415
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/native_id.js
5429
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/spec/native_id.js
5416
5430
  function deriveNativeId(spec) {
5417
5431
  const result = {
5418
5432
  kind: spec.kind,
@@ -5424,7 +5438,7 @@ function deriveNativeId(spec) {
5424
5438
  return (0, import_canonicalize.default)(result);
5425
5439
  }
5426
5440
  //#endregion
5427
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/linker_columns.js
5441
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/drivers/pframe/linker_columns.js
5428
5442
  var LinkerMap = class LinkerMap {
5429
5443
  /** Graph of linkers connected by axes (single or grouped by parents) */
5430
5444
  data;
@@ -5602,7 +5616,7 @@ var LinkerMap = class LinkerMap {
5602
5616
  }
5603
5617
  };
5604
5618
  //#endregion
5605
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/flags/block_flags.js
5619
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/flags/block_flags.js
5606
5620
  /**
5607
5621
  * Required PFrames version. Bump this in lockstep with the `@milaboratories/pframes-rs-*`
5608
5622
  * version in `pnpm-workspace.yaml` so blocks built against the new SDK refuse to load on
@@ -5611,7 +5625,7 @@ var LinkerMap = class LinkerMap {
5611
5625
  const REQUIRES_PFRAMES_VERSION = 1001031;
5612
5626
  stringType().length(24).regex(/[ABCDEFGHIJKLMNOPQRSTUVWXYZ234567]/);
5613
5627
  //#endregion
5614
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/ref.js
5628
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/ref.js
5615
5629
  const PlRef = objectType({
5616
5630
  __isRef: literalType(true).describe("Crucial marker for the block dependency tree reconstruction"),
5617
5631
  blockId: stringType().describe("Upstream block id"),
@@ -5647,7 +5661,7 @@ function withEnrichments(ref, requireEnrichments = true) {
5647
5661
  }
5648
5662
  }
5649
5663
  //#endregion
5650
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/value_or_error.js
5664
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/value_or_error.js
5651
5665
  function mapValueInVOE(voe, cb) {
5652
5666
  return voe.ok ? {
5653
5667
  ok: true,
@@ -5655,7 +5669,7 @@ function mapValueInVOE(voe, cb) {
5655
5669
  } : voe;
5656
5670
  }
5657
5671
  //#endregion
5658
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/resource_types.js
5672
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/resource_types.js
5659
5673
  /** Well-known resource type names used across the platform. */
5660
5674
  const ResourceTypeName = {
5661
5675
  StreamManager: "StreamManager",
@@ -5699,7 +5713,7 @@ const ResourceTypeName = {
5699
5713
  SharedEnvelope: "SharedEnvelope"
5700
5714
  };
5701
5715
  //#endregion
5702
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/services/service_types.js
5716
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/services/service_types.js
5703
5717
  const SERVICE_ID_PATTERN = /^[a-zA-Z][a-zA-Z0-9]*$/;
5704
5718
  const { service, isNodeService, isWasmService, isMainService, getServiceKind, getServiceModelMethods, getServiceUiMethods } = (() => {
5705
5719
  const typeMap = /* @__PURE__ */ new Map();
@@ -5738,7 +5752,7 @@ const { service, isNodeService, isWasmService, isMainService, getServiceKind, ge
5738
5752
  };
5739
5753
  })();
5740
5754
  //#endregion
5741
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/services/service_declarations.js
5755
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/services/service_declarations.js
5742
5756
  const Services = {
5743
5757
  PFrameSpec: service()({
5744
5758
  type: "wasm",
@@ -5832,7 +5846,7 @@ function resolveRequiredServices(flags) {
5832
5846
  }
5833
5847
  Object.fromEntries(Object.keys(Services).map((key) => [`requires${key}`, true]));
5834
5848
  //#endregion
5835
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/services/service_injectors.js
5849
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/services/service_injectors.js
5836
5850
  function buildMethodMap(pick) {
5837
5851
  const result = {};
5838
5852
  for (const id of Object.values(Services)) result[id] = [...pick(id)];
@@ -5841,7 +5855,7 @@ function buildMethodMap(pick) {
5841
5855
  buildMethodMap(getServiceUiMethods);
5842
5856
  buildMethodMap(getServiceModelMethods);
5843
5857
  //#endregion
5844
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/columns/accessor_traversal.js
5858
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/columns/accessor_traversal.js
5845
5859
  /** Resource types that hold column collections — DFS stops here and collects. */
5846
5860
  const COLLECT_TYPES = [ResourceTypeName.PFrame];
5847
5861
  /** Resource types DFS descends through when looking for PFrames. */
@@ -5949,7 +5963,7 @@ function indexPoolBlock(block) {
5949
5963
  return result;
5950
5964
  }
5951
5965
  //#endregion
5952
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/columns/column_registry.js
5966
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/columns/column_registry.js
5953
5967
  /**
5954
5968
  * Id-index over a set of {@link ColumnEntriesProvider}s. Sole job:
5955
5969
  * {@link PObjectId} → {@link LeafEntry}. Generic over the accessor flavour, so
@@ -5986,7 +6000,7 @@ var ColumnRegistry = class {
5986
6000
  }
5987
6001
  };
5988
6002
  //#endregion
5989
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/columns/dedup.js
6003
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/columns/dedup.js
5990
6004
  /**
5991
6005
  * Two-track dedup over an item stream keyed by `ColumnUniversalId`:
5992
6006
  *
@@ -6027,7 +6041,7 @@ function dedupColumns(items, getId, getSpec) {
6027
6041
  return out;
6028
6042
  }
6029
6043
  //#endregion
6030
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/columns/providers.js
6044
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/columns/providers.js
6031
6045
  /**
6032
6046
  * Generic entries provider over a single accessor root. Walks `<root>` once
6033
6047
  * from the supplied `rootPath`, builds an id → {@link LeafEntry} map and
@@ -6084,7 +6098,7 @@ var ResultPoolEntriesProvider = class {
6084
6098
  }
6085
6099
  };
6086
6100
  //#endregion
6087
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/template/template_ref_form.js
6101
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/template/template_ref_form.js
6088
6102
  /**
6089
6103
  * Whether `value` is a reference in the readable spelling.
6090
6104
  *
@@ -6153,7 +6167,7 @@ function expandTemplatePlRef(ref) {
6153
6167
  };
6154
6168
  }
6155
6169
  //#endregion
6156
- //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.48.0/node_modules/@milaboratories/pl-model-common/dist/template/template_relocate.js
6170
+ //#region ../node_modules/.pnpm/@milaboratories+pl-model-common@1.51.0/node_modules/@milaboratories/pl-model-common/dist/template/template_relocate.js
6157
6171
  /**
6158
6172
  * Point every column identifier in a block's params at the blocks of the project being built.
6159
6173
  *
@@ -6169,8 +6183,13 @@ function expandTemplatePlRef(ref) {
6169
6183
  *
6170
6184
  * Rewriting is structural, never textual: an identifier is taken apart, its `blockId` fields
6171
6185
  * are replaced, and it is rebuilt canonically. That is what keeps a value that merely *looks*
6172
- * like an id — a `domain` entry, an axis filter — from being rewritten along with it, and
6173
- * what re-sorts a qualifications map whose keys are identifiers.
6186
+ * like an id — an axis filter, a domain this package can see belongs to an identifier it
6187
+ * knows — from being rewritten along with it, and what re-sorts a qualifications map whose
6188
+ * keys are identifiers.
6189
+ *
6190
+ * A domain reached on its own is the exception, and `relocateDomain` below says why: an axis is
6191
+ * qualified by the block that produced it. Only the domain keys known to name a block are
6192
+ * repointed — matching an entry id is not on its own evidence of a reference.
6174
6193
  *
6175
6194
  * An id the map does not mention is left as it is. That is the ordering rule doing its work:
6176
6195
  * a caller building the map as it creates blocks passes only the entries already created, so
@@ -6188,13 +6207,27 @@ function relocateBlockIds(params, blockIds) {
6188
6207
  if (typeof node === "string") return remapColumnIdBlockIds(node, remapBlockId);
6189
6208
  if (isColumnUniversalKey(node)) return remapColumnIdBlockIds(node, remapBlockId);
6190
6209
  if (Array.isArray(node)) return node.map(walk);
6191
- if (typeof node === "object" && node !== null) return Object.fromEntries(Object.entries(node).map(([key, value]) => [remapColumnIdBlockIds(key, remapBlockId), walk(value)]));
6210
+ if (typeof node === "object" && node !== null) return Object.fromEntries(Object.entries(node).map(([key, value]) => [remapColumnIdBlockIds(key, remapBlockId), key === "domain" && isPlainObject(value) ? relocateDomain(value) : walk(value)]));
6192
6211
  return node;
6193
6212
  };
6213
+ /**
6214
+ * The block-naming entries of a domain, repointed at the project being built: an axis a block
6215
+ * produced names that block in its domain, so those are references like any other.
6216
+ *
6217
+ * Only the keys {@link BlockScopedDomain} lists, because a template's entry ids are arbitrary
6218
+ * non-empty strings — a hand-written template may name an entry `closest`, and a qualifier
6219
+ * reading `closest` is not a reference to it. Matching the map is not on its own enough to
6220
+ * tell one from the other; the key is.
6221
+ *
6222
+ * Reached only from the generic object case — inside an identifier this package recognizes a
6223
+ * domain is spec data and stays as it is, which is what keeps an overridden column's
6224
+ * `specOverrides.domain` untouched.
6225
+ */
6226
+ const relocateDomain = (domain) => Object.fromEntries(Object.entries(domain).map(([key, value]) => [key, typeof value === "string" && BlockScopedDomain.has(key) ? remapBlockId(value) : walk(value)]));
6194
6227
  return walk(params);
6195
6228
  }
6196
6229
  //#endregion
6197
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/block_migrations.js
6230
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/block_migrations.js
6198
6231
  /** Create a DataVersioned wrapper with correct shape */
6199
6232
  function makeVersionedData(version, data) {
6200
6233
  return {
@@ -6772,7 +6805,7 @@ var DataModel = class DataModel {
6772
6805
  }
6773
6806
  };
6774
6807
  //#endregion
6775
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/internal.js
6808
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/internal.js
6776
6809
  /** Utility code helping to identify whether the code is running in actual UI environment */
6777
6810
  function isInUI() {
6778
6811
  return typeof globalThis.getPlatforma !== "undefined" || typeof globalThis.platforma !== "undefined";
@@ -6842,7 +6875,7 @@ function registerFutureAwait(handle, onResolve) {
6842
6875
  futureResolves.get(handle).push(onResolve);
6843
6876
  }
6844
6877
  //#endregion
6845
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/block_storage_facade.js
6878
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/block_storage_facade.js
6846
6879
  /**
6847
6880
  * All facade callback names as constants.
6848
6881
  * These are the source of truth - the interface is derived from these.
@@ -6880,7 +6913,23 @@ function registerFacadeCallbacks(callbacks) {
6880
6913
  for (const key of Object.values(BlockStorageFacadeCallbacks)) tryRegisterCallback(key, callbacks[key]);
6881
6914
  }
6882
6915
  //#endregion
6883
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/render/future.js
6916
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/services/block_services.js
6917
+ /**
6918
+ * Services required by all V3 blocks by default.
6919
+ * Edit this when a new service should be available to all blocks.
6920
+ *
6921
+ * Standalone module to avoid circular dependencies between block_model.ts
6922
+ * and service type resolution.
6923
+ */
6924
+ const BLOCK_SERVICE_FLAGS = {
6925
+ requiresPFrameSpec: true,
6926
+ requiresPFrame: true,
6927
+ requiresDialog: true,
6928
+ requiresColumnsCollection: true
6929
+ };
6930
+ resolveRequiredServices(BLOCK_SERVICE_FLAGS);
6931
+ //#endregion
6932
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/render/future.js
6884
6933
  var FutureRef = class FutureRef {
6885
6934
  handle;
6886
6935
  postProcess;
@@ -6908,7 +6957,7 @@ var FutureRef = class FutureRef {
6908
6957
  }
6909
6958
  };
6910
6959
  //#endregion
6911
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/render/accessor.js
6960
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/render/accessor.js
6912
6961
  function ifDef(value, cb) {
6913
6962
  return value === void 0 ? void 0 : cb(value);
6914
6963
  }
@@ -7158,11 +7207,11 @@ var TreeNodeAccessor = class TreeNodeAccessor {
7158
7207
  }
7159
7208
  };
7160
7209
  //#endregion
7161
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/render/internal.js
7210
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/render/internal.js
7162
7211
  const MainAccessorName = "main";
7163
7212
  const StagingAccessorName = "staging";
7164
7213
  //#endregion
7165
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/render/util/axis_filtering.js
7214
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/render/util/axis_filtering.js
7166
7215
  function filterDataInfoEntries(dataInfoEntries, axisFilters) {
7167
7216
  const sortedFilters = [...axisFilters].sort((a, b) => b[0] - a[0]);
7168
7217
  const { type } = dataInfoEntries;
@@ -7226,7 +7275,7 @@ function filterDataInfoEntries(dataInfoEntries, axisFilters) {
7226
7275
  }
7227
7276
  }
7228
7277
  //#endregion
7229
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/labels/linked_column_postfix.js
7278
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/labels/linked_column_postfix.js
7230
7279
  /**
7231
7280
  * Structural postfix derivation for linked columns (phase 2 of `deriveDistinctLabels`).
7232
7281
  *
@@ -7409,7 +7458,7 @@ function derivePostfixes(entries, format = defaultLinkerFormatter) {
7409
7458
  });
7410
7459
  }
7411
7460
  //#endregion
7412
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/labels/derive_distinct_labels.js
7461
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/labels/derive_distinct_labels.js
7413
7462
  const DISTANCE_PENALTY = .001;
7414
7463
  const LABEL_TYPE = "__LABEL__";
7415
7464
  const LABEL_TYPE_FULL = "__LABEL__@1";
@@ -7697,7 +7746,7 @@ function repairBareByPresence(labels, minimized, records, stats, forcedSet, forc
7697
7746
  return patched;
7698
7747
  }
7699
7748
  //#endregion
7700
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/render/util/label.js
7749
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/render/util/label.js
7701
7750
  /** @deprecated Use deriveDistinctLabels */
7702
7751
  function deriveLabels(values, getSpec, options = {}) {
7703
7752
  return deriveDistinctLabels(values.map(getSpec), options).map((label, i) => ({
@@ -7706,7 +7755,7 @@ function deriveLabels(values, getSpec, options = {}) {
7706
7755
  }));
7707
7756
  }
7708
7757
  //#endregion
7709
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/render/util/pcolumn_data.js
7758
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/render/util/pcolumn_data.js
7710
7759
  const RT_RESOURCE_MAP = "PColumnData/ResourceMap";
7711
7760
  const RT_RESOURCE_MAP_PARTITIONED = "PColumnData/Partitioned/ResourceMap";
7712
7761
  const RT_JSON_PARTITIONED = "PColumnData/JsonPartitioned";
@@ -8049,7 +8098,7 @@ function allPColumnsReady(columns) {
8049
8098
  return columns.every(isPColumnReady);
8050
8099
  }
8051
8100
  //#endregion
8052
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/render/util/column_collection.js
8101
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/render/util/column_collection.js
8053
8102
  function isPColumnValues(value) {
8054
8103
  if (!Array.isArray(value)) return false;
8055
8104
  if (value.length === 0) return true;
@@ -8327,23 +8376,7 @@ var PColumnCollection = class {
8327
8376
  }
8328
8377
  };
8329
8378
  //#endregion
8330
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/services/block_services.js
8331
- /**
8332
- * Services required by all V3 blocks by default.
8333
- * Edit this when a new service should be available to all blocks.
8334
- *
8335
- * Standalone module to avoid circular dependencies between block_model.ts
8336
- * and service type resolution.
8337
- */
8338
- const BLOCK_SERVICE_FLAGS = {
8339
- requiresPFrameSpec: true,
8340
- requiresPFrame: true,
8341
- requiresDialog: true,
8342
- requiresColumnsCollection: true
8343
- };
8344
- resolveRequiredServices(BLOCK_SERVICE_FLAGS);
8345
- //#endregion
8346
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/services/service_bridge.js
8379
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/services/service_bridge.js
8347
8380
  /**
8348
8381
  * Builds a ServiceProxy from a ServiceDispatch.
8349
8382
  * Each service method call is forwarded to dispatch.callServiceMethod.
@@ -8352,7 +8385,7 @@ function createServiceProxy(dispatch) {
8352
8385
  return ((serviceId) => Object.freeze(Object.fromEntries(dispatch.getServiceMethods(serviceId).map((method) => [method, (...args) => dispatch.callServiceMethod(serviceId, method, ...args)]))));
8353
8386
  }
8354
8387
  //#endregion
8355
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/services/get_services.js
8388
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/services/get_services.js
8356
8389
  const cachedServices = /* @__PURE__ */ new WeakMap();
8357
8390
  function getService(name, deps) {
8358
8391
  const ctx = deps?.ctx ?? getCfgRenderCtx();
@@ -8366,7 +8399,7 @@ function getService(name, deps) {
8366
8399
  })();
8367
8400
  }
8368
8401
  //#endregion
8369
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/render/util/pframe_upgraders.js
8402
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/render/util/pframe_upgraders.js
8370
8403
  function patchInSetFilters(filters) {
8371
8404
  const inSetToOrEqual = (predicate) => {
8372
8405
  if (predicate.operator !== "InSet") return predicate;
@@ -8404,7 +8437,7 @@ function patchInSetFilters(filters) {
8404
8437
  return filters.map((filter) => mapFilter(filter, inSetToOrEqual));
8405
8438
  }
8406
8439
  //#endregion
8407
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/render/api.js
8440
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/render/api.js
8408
8441
  /**
8409
8442
  * Helper function to match domain objects
8410
8443
  * @param query Optional domain to match against
@@ -8853,27 +8886,27 @@ var PluginRenderCtx = class extends RenderCtxBase {
8853
8886
  }
8854
8887
  };
8855
8888
  //#endregion
8856
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/version.js
8857
- const PlatformaSDKVersion = "1.82.0";
8889
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/plugin_model.js
8890
+ /** Internal plugin↔block handshake. `Symbol.for` (not `Symbol`) so it stays
8891
+ * identical across multiple `@platforma-sdk/model` copies in one process. */
8892
+ const CREATE_PLUGIN_MODEL = Symbol.for("@platforma-sdk/model:createPluginModel");
8858
8893
  //#endregion
8859
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/bconfig/types.js
8894
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/version.js
8895
+ const PlatformaSDKVersion = "1.84.1";
8896
+ //#endregion
8897
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/bconfig/types.js
8860
8898
  function isConfigLambda(cfgOrFh) {
8861
8899
  return cfgOrFh.__renderLambda === true;
8862
8900
  }
8863
8901
  //#endregion
8864
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/bconfig/normalization.js
8902
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/bconfig/normalization.js
8865
8903
  function downgradeCfgOrLambda(data) {
8866
8904
  if (data === void 0) return void 0;
8867
8905
  if (isConfigLambda(data)) return data.handle;
8868
8906
  return data;
8869
8907
  }
8870
8908
  //#endregion
8871
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/plugin_model.js
8872
- /** Internal plugin↔block handshake. `Symbol.for` (not `Symbol`) so it stays
8873
- * identical across multiple `@platforma-sdk/model` copies in one process. */
8874
- const CREATE_PLUGIN_MODEL = Symbol.for("@platforma-sdk/model:createPluginModel");
8875
- //#endregion
8876
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/block_storage_callbacks.js
8909
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/block_storage_callbacks.js
8877
8910
  /**
8878
8911
  * BlockStorage Callback Implementations - wired to facade callbacks in BlockModelV3.done().
8879
8912
  *
@@ -9227,7 +9260,7 @@ function deriveTemplateParamsFromStorage(storageJson, deriveTemplateParams) {
9227
9260
  }
9228
9261
  }
9229
9262
  //#endregion
9230
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/block_model.js
9263
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/block_model.js
9231
9264
  /**
9232
9265
  * Merges two feature flag objects with type-aware logic:
9233
9266
  * - `supports*` (boolean): OR — `true` if either side is `true`
@@ -9593,7 +9626,7 @@ var BlockModelV3 = class BlockModelV3 {
9593
9626
  }
9594
9627
  };
9595
9628
  //#endregion
9596
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/column_recipes/leaf_rebrand.js
9629
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/columns/column_recipes/leaf_rebrand.js
9597
9630
  /**
9598
9631
  * Replace every column leaf whose id equals `fromId` with `toId`, leaving
9599
9632
  * other column refs (linkers, sub-anchors) intact. Wrapper recipes
@@ -10811,7 +10844,7 @@ var LRUCache = class LRUCache {
10811
10844
  }
10812
10845
  };
10813
10846
  //#endregion
10814
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/column_providers/providers.js
10847
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/columns/column_providers/providers.js
10815
10848
  /**
10816
10849
  * Unified memoised factory dispatching to the right provider flavour by the
10817
10850
  * source shape:
@@ -10900,7 +10933,7 @@ function hashRawPool(rawPool) {
10900
10933
  return rawPool.map((b) => `${b.blockId}\x1f${b.prodCtx ?? ""}\x1f${b.stagingCtx ?? ""}\x1f${b.prodIncomplete ? 1 : 0}\x1f${b.stagingIncomplete ? 1 : 0}`).join("");
10901
10934
  }
10902
10935
  //#endregion
10903
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/column_providers/index.js
10936
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/columns/column_providers/index.js
10904
10937
  /**
10905
10938
  * Build the default set of ColumnsProviders for the ambient render ctx:
10906
10939
  * - `AccessorColumnsProvider` over `outputs` (if present)
@@ -10935,7 +10968,7 @@ function isColumnProvider(source) {
10935
10968
  return typeof p.getColumns === "function" && typeof p.isFinal === "function";
10936
10969
  }
10937
10970
  //#endregion
10938
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/data_column.js
10971
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/columns/data_column.js
10939
10972
  /**
10940
10973
  * Thrown by leaf-recipe factories when the requested column is provably
10941
10974
  * absent in the active render ctx — i.e. every relevant accessor reports
@@ -11175,7 +11208,7 @@ function memoizeByEntry(fn) {
11175
11208
  };
11176
11209
  }
11177
11210
  //#endregion
11178
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/column_recipes/column_overrided_recipe.js
11211
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/columns/column_recipes/column_overrided_recipe.js
11179
11212
  /**
11180
11213
  * Recipe wrapper that overlays {@link SpecOverrides} on top of any other
11181
11214
  * recipe. The id is `ColumnOverriddenKey { source: inner.id, specOverrides }`.
@@ -11313,7 +11346,7 @@ var DataColumnOverriddenRecipe = class extends ColumnOverriddenRecipe {
11313
11346
  }
11314
11347
  };
11315
11348
  //#endregion
11316
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/column_recipes/column_filtered_recipe.js
11349
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/columns/column_recipes/column_filtered_recipe.js
11317
11350
  /**
11318
11351
  * Recipe wrapper that fixes the values of selected axes of an inner recipe
11319
11352
  * (axis slicing). The id is `FilteredPColumnId { source: inner.id,
@@ -11439,7 +11472,7 @@ function toAxisSelector(axis) {
11439
11472
  return selector;
11440
11473
  }
11441
11474
  //#endregion
11442
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/column_recipes/index.js
11475
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/columns/column_recipes/index.js
11443
11476
  /**
11444
11477
  * Build a `ColumnRecipe` from a stringified id. Dispatches to the matching
11445
11478
  * concrete recipe variant based on the id's encoding and recurses on
@@ -11490,7 +11523,7 @@ function ColumnRecipeGetStatus(id, opts = {}) {
11490
11523
  }
11491
11524
  const ColumnRecipe = Object.assign(ColumnRecipeBuild, { getStatus: ColumnRecipeGetStatus });
11492
11525
  //#endregion
11493
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/column_recipes/column_discovered_recipe.js
11526
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/columns/column_recipes/column_discovered_recipe.js
11494
11527
  /**
11495
11528
  * Recipe for columns identified by a {@link ColumnDiscoveredKey}: a base
11496
11529
  * column + a `path` of linkers + qualifications.
@@ -11661,7 +11694,7 @@ function referencedUniIdsOf(key) {
11661
11694
  return /* @__PURE__ */ new Set([key.column, ...(key.path ?? []).map((item) => item.column)]);
11662
11695
  }
11663
11696
  //#endregion
11664
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/column.js
11697
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/columns/column.js
11665
11698
  /**
11666
11699
  * Unified entry point — routes between the two top-level dispatchers:
11667
11700
  * - string id (`PObjectId` / `ColumnUniversalId`) → {@link ColumnRecipe}
@@ -11675,7 +11708,7 @@ function Column(source, opts) {
11675
11708
  return DataColumn(source, opts);
11676
11709
  }
11677
11710
  //#endregion
11678
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/columns_collection.js
11711
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/columns/columns_collection.js
11679
11712
  /**
11680
11713
  * Build a {@link ColumnsCollection} from sandbox-side source descriptors.
11681
11714
  * Resolves the `columnsCollection` driver (either from `deps.driver` or via
@@ -11784,7 +11817,7 @@ function defaultCtxSources(ctx) {
11784
11817
  return [...currentBlockSources(ctx), { kind: "result_pool" }];
11785
11818
  }
11786
11819
  //#endregion
11787
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/utils.js
11820
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/columns/utils.js
11788
11821
  /**
11789
11822
  * PObjectIds of every non-hit column referenced by `recipe.getQuery()`,
11790
11823
  * deduped in traversal order. The hit column is
@@ -11915,7 +11948,7 @@ function hasSingleDataColumn(recipe) {
11915
11948
  return recipe.getReferencedIds().length === 1;
11916
11949
  }
11917
11950
  //#endregion
11918
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/filters/traverse.js
11951
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/filters/traverse.js
11919
11952
  /**
11920
11953
  * Recursively traverses a FilterSpec tree bottom-up, applying visitor callbacks.
11921
11954
  *
@@ -11954,7 +11987,7 @@ function collectFilterSpecColumns(filter) {
11954
11987
  });
11955
11988
  }
11956
11989
  //#endregion
11957
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/filters/converters/filterToQuery.js
11990
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/filters/converters/filterToQuery.js
11958
11991
  /** Converts a QueryColumnId object into a SpecQueryExpression reference. */
11959
11992
  function resolveColumnRef(col) {
11960
11993
  return col.type === "axis" ? {
@@ -12282,7 +12315,7 @@ function isEmpty(value) {
12282
12315
  return true;
12283
12316
  }
12284
12317
  //#endregion
12285
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/filters/distill.js
12318
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/filters/distill.js
12286
12319
  /**
12287
12320
  * Strips non-FilterSpec metadata (whitelist approach) and removes
12288
12321
  * unfilled leaves (type is undefined or any required field is undefined).
@@ -12387,7 +12420,7 @@ const REQUIRED_KEYS_BY_TYPE = {
12387
12420
  greaterThanColumnOrEqual: ["column", "rhs"]
12388
12421
  };
12389
12422
  //#endregion
12390
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/components/PlDataTable/state-migration.js
12423
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/components/PlDataTable/state-migration.js
12391
12424
  /** Upgrade PlDataTableStateV2 to the latest version */
12392
12425
  function upgradePlDataTableStateV2(state) {
12393
12426
  if (!state) return createPlDataTableStateV2();
@@ -12745,7 +12778,7 @@ function parseLegacyLeafColumn(s) {
12745
12778
  return parsed;
12746
12779
  }
12747
12780
  //#endregion
12748
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/utils.js
12781
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/utils.js
12749
12782
  /** Adapt a {@link ColumnRecipe} to the plain {@link RuleColumn} shape. */
12750
12783
  function toRuleColumn(col) {
12751
12784
  return {
@@ -12843,7 +12876,7 @@ function deriveAllLabels(options) {
12843
12876
  })), deriveLabelsOptions).reduce((acc, label, index) => (acc[columns[index].id] = label, acc), {});
12844
12877
  }
12845
12878
  //#endregion
12846
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/createPTableDefV3.js
12879
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/createPTableDefV3.js
12847
12880
  /**
12848
12881
  * Assemble a ptable def directly from recipes. Each secondary recipe is its own
12849
12882
  * outer-joined subtree: `getQuery()` encodes its linker chain, and its
@@ -12907,8 +12940,8 @@ function columnToJoinEntry(col, qualifications) {
12907
12940
  };
12908
12941
  }
12909
12942
  //#endregion
12910
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/components/PlDataTable/columnResolver.js
12911
- function createColumnResolver(columns, deps) {
12943
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/components/PlDataTable/columnResolver.js
12944
+ function createColumnResolver(columns) {
12912
12945
  const axisIds = [];
12913
12946
  for (const c of columns) for (const ax of c.getSpec().axesSpec) axisIds.push(getAxisId(ax));
12914
12947
  const byFullId = /* @__PURE__ */ new Map();
@@ -12916,9 +12949,7 @@ function createColumnResolver(columns, deps) {
12916
12949
  for (const c of columns) {
12917
12950
  byFullId.set(c.id, c);
12918
12951
  const pid = extractPObjectId(c.id);
12919
- const existing = byPObjectId.get(pid);
12920
- if (existing === void 0) byPObjectId.set(pid, c);
12921
- else if (existing.id !== c.id) deps?.warn?.(`Ambiguous PObjectId ${pid}: recipe ids ${existing.id} and ${c.id} both match — keeping first.`);
12952
+ if (!byPObjectId.has(pid)) byPObjectId.set(pid, c);
12922
12953
  }
12923
12954
  return (ref) => {
12924
12955
  if (ref.type === "axis") return axisIds.some((a) => matchAxisId(ref.id, a)) ? ref : void 0;
@@ -12931,7 +12962,7 @@ function createColumnResolver(columns, deps) {
12931
12962
  };
12932
12963
  }
12933
12964
  //#endregion
12934
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/discoverColumns.js
12965
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/discoverColumns.js
12935
12966
  /**
12936
12967
  * Discover columns from sources/anchors and split them into primary
12937
12968
  * (direct anchor hits — zero-hop, query is a bare column) and secondary
@@ -12977,7 +13008,7 @@ function discoverLabelColumns(ctx, primary) {
12977
13008
  }).getColumns();
12978
13009
  }
12979
13010
  //#endregion
12980
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.js
13011
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.84.1/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.js
12981
13012
  function createPlDataTableV3(ctx, options) {
12982
13013
  const state = upgradePlDataTableStateV2(options.tableState);
12983
13014
  const primaryJoinType = options.primaryJoinType ?? "full";
@@ -13005,7 +13036,7 @@ function createPlDataTableV3(ctx, options) {
13005
13036
  ...primary,
13006
13037
  ...direct,
13007
13038
  ...linked.flatMap((lc) => [...collectLinkerColumns(lc), lc])
13008
- ], { warn: ctx.logWarn.bind(ctx) });
13039
+ ]);
13009
13040
  const remapedDefaultFilters = remapFilterColumnIds(options.filters, resolver);
13010
13041
  const filters = filterFilters(concatFilters(state.pTableParams.filters, state.pTableParams.defaultFilters ?? remapedDefaultFilters), resolver);
13011
13042
  const sorting = filterSorting(resolveSorting(state.pTableParams.sorting, remapSortingColumnIds(options.sorting, resolver)), resolver);