@platforma-open/milaboratories.top-antibodies 4.3.3 → 4.3.5

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.83.9/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.83.9/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.
@@ -6236,7 +6214,7 @@ function relocateBlockIds(params, blockIds) {
6236
6214
  return walk(params);
6237
6215
  }
6238
6216
  //#endregion
6239
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/block_migrations.js
6217
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/block_migrations.js
6240
6218
  /** Create a DataVersioned wrapper with correct shape */
6241
6219
  function makeVersionedData(version, data) {
6242
6220
  return {
@@ -6814,7 +6792,7 @@ var DataModel = class DataModel {
6814
6792
  }
6815
6793
  };
6816
6794
  //#endregion
6817
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/internal.js
6795
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/internal.js
6818
6796
  /** Utility code helping to identify whether the code is running in actual UI environment */
6819
6797
  function isInUI() {
6820
6798
  return typeof globalThis.getPlatforma !== "undefined" || typeof globalThis.platforma !== "undefined";
@@ -6884,7 +6862,7 @@ function registerFutureAwait(handle, onResolve) {
6884
6862
  futureResolves.get(handle).push(onResolve);
6885
6863
  }
6886
6864
  //#endregion
6887
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/block_storage_facade.js
6865
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/block_storage_facade.js
6888
6866
  /**
6889
6867
  * All facade callback names as constants.
6890
6868
  * These are the source of truth - the interface is derived from these.
@@ -6922,7 +6900,23 @@ function registerFacadeCallbacks(callbacks) {
6922
6900
  for (const key of Object.values(BlockStorageFacadeCallbacks)) tryRegisterCallback(key, callbacks[key]);
6923
6901
  }
6924
6902
  //#endregion
6925
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/render/future.js
6903
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/services/block_services.js
6904
+ /**
6905
+ * Services required by all V3 blocks by default.
6906
+ * Edit this when a new service should be available to all blocks.
6907
+ *
6908
+ * Standalone module to avoid circular dependencies between block_model.ts
6909
+ * and service type resolution.
6910
+ */
6911
+ const BLOCK_SERVICE_FLAGS = {
6912
+ requiresPFrameSpec: true,
6913
+ requiresPFrame: true,
6914
+ requiresDialog: true,
6915
+ requiresColumnsCollection: true
6916
+ };
6917
+ resolveRequiredServices(BLOCK_SERVICE_FLAGS);
6918
+ //#endregion
6919
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/render/future.js
6926
6920
  var FutureRef = class FutureRef {
6927
6921
  handle;
6928
6922
  postProcess;
@@ -6950,7 +6944,7 @@ var FutureRef = class FutureRef {
6950
6944
  }
6951
6945
  };
6952
6946
  //#endregion
6953
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/render/accessor.js
6947
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/render/accessor.js
6954
6948
  function ifDef(value, cb) {
6955
6949
  return value === void 0 ? void 0 : cb(value);
6956
6950
  }
@@ -7200,11 +7194,11 @@ var TreeNodeAccessor = class TreeNodeAccessor {
7200
7194
  }
7201
7195
  };
7202
7196
  //#endregion
7203
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/render/internal.js
7197
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/render/internal.js
7204
7198
  const MainAccessorName = "main";
7205
7199
  const StagingAccessorName = "staging";
7206
7200
  //#endregion
7207
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/render/util/axis_filtering.js
7201
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/render/util/axis_filtering.js
7208
7202
  function filterDataInfoEntries(dataInfoEntries, axisFilters) {
7209
7203
  const sortedFilters = [...axisFilters].sort((a, b) => b[0] - a[0]);
7210
7204
  const { type } = dataInfoEntries;
@@ -7268,7 +7262,7 @@ function filterDataInfoEntries(dataInfoEntries, axisFilters) {
7268
7262
  }
7269
7263
  }
7270
7264
  //#endregion
7271
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/labels/linked_column_postfix.js
7265
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/labels/linked_column_postfix.js
7272
7266
  /**
7273
7267
  * Structural postfix derivation for linked columns (phase 2 of `deriveDistinctLabels`).
7274
7268
  *
@@ -7451,7 +7445,7 @@ function derivePostfixes(entries, format = defaultLinkerFormatter) {
7451
7445
  });
7452
7446
  }
7453
7447
  //#endregion
7454
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/labels/derive_distinct_labels.js
7448
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/labels/derive_distinct_labels.js
7455
7449
  const DISTANCE_PENALTY = .001;
7456
7450
  const LABEL_TYPE = "__LABEL__";
7457
7451
  const LABEL_TYPE_FULL = "__LABEL__@1";
@@ -7739,7 +7733,7 @@ function repairBareByPresence(labels, minimized, records, stats, forcedSet, forc
7739
7733
  return patched;
7740
7734
  }
7741
7735
  //#endregion
7742
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/render/util/label.js
7736
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/render/util/label.js
7743
7737
  /** @deprecated Use deriveDistinctLabels */
7744
7738
  function deriveLabels(values, getSpec, options = {}) {
7745
7739
  return deriveDistinctLabels(values.map(getSpec), options).map((label, i) => ({
@@ -7748,7 +7742,7 @@ function deriveLabels(values, getSpec, options = {}) {
7748
7742
  }));
7749
7743
  }
7750
7744
  //#endregion
7751
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/render/util/pcolumn_data.js
7745
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/render/util/pcolumn_data.js
7752
7746
  const RT_RESOURCE_MAP = "PColumnData/ResourceMap";
7753
7747
  const RT_RESOURCE_MAP_PARTITIONED = "PColumnData/Partitioned/ResourceMap";
7754
7748
  const RT_JSON_PARTITIONED = "PColumnData/JsonPartitioned";
@@ -8046,7 +8040,7 @@ function allPColumnsReady(columns) {
8046
8040
  return columns.every(isPColumnReady);
8047
8041
  }
8048
8042
  //#endregion
8049
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/render/util/column_collection.js
8043
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/render/util/column_collection.js
8050
8044
  function isPColumnValues(value) {
8051
8045
  if (!Array.isArray(value)) return false;
8052
8046
  if (value.length === 0) return true;
@@ -8324,23 +8318,7 @@ var PColumnCollection = class {
8324
8318
  }
8325
8319
  };
8326
8320
  //#endregion
8327
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/services/block_services.js
8328
- /**
8329
- * Services required by all V3 blocks by default.
8330
- * Edit this when a new service should be available to all blocks.
8331
- *
8332
- * Standalone module to avoid circular dependencies between block_model.ts
8333
- * and service type resolution.
8334
- */
8335
- const BLOCK_SERVICE_FLAGS = {
8336
- requiresPFrameSpec: true,
8337
- requiresPFrame: true,
8338
- requiresDialog: true,
8339
- requiresColumnsCollection: true
8340
- };
8341
- resolveRequiredServices(BLOCK_SERVICE_FLAGS);
8342
- //#endregion
8343
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/services/service_bridge.js
8321
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/services/service_bridge.js
8344
8322
  /**
8345
8323
  * Builds a ServiceProxy from a ServiceDispatch.
8346
8324
  * Each service method call is forwarded to dispatch.callServiceMethod.
@@ -8349,7 +8327,7 @@ function createServiceProxy(dispatch) {
8349
8327
  return ((serviceId) => Object.freeze(Object.fromEntries(dispatch.getServiceMethods(serviceId).map((method) => [method, (...args) => dispatch.callServiceMethod(serviceId, method, ...args)]))));
8350
8328
  }
8351
8329
  //#endregion
8352
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/services/get_services.js
8330
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/services/get_services.js
8353
8331
  const cachedServices = /* @__PURE__ */ new WeakMap();
8354
8332
  function getService(name, deps) {
8355
8333
  const ctx = deps?.ctx ?? getCfgRenderCtx();
@@ -8363,7 +8341,7 @@ function getService(name, deps) {
8363
8341
  })();
8364
8342
  }
8365
8343
  //#endregion
8366
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/render/util/pframe_upgraders.js
8344
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/render/util/pframe_upgraders.js
8367
8345
  function patchInSetFilters(filters) {
8368
8346
  const inSetToOrEqual = (predicate) => {
8369
8347
  if (predicate.operator !== "InSet") return predicate;
@@ -8401,7 +8379,7 @@ function patchInSetFilters(filters) {
8401
8379
  return filters.map((filter) => mapFilter(filter, inSetToOrEqual));
8402
8380
  }
8403
8381
  //#endregion
8404
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/render/api.js
8382
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/render/api.js
8405
8383
  /**
8406
8384
  * Helper function to match domain objects
8407
8385
  * @param query Optional domain to match against
@@ -8850,27 +8828,27 @@ var PluginRenderCtx = class extends RenderCtxBase {
8850
8828
  }
8851
8829
  };
8852
8830
  //#endregion
8853
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/version.js
8854
- const PlatformaSDKVersion = "1.82.0";
8831
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/plugin_model.js
8832
+ /** Internal plugin↔block handshake. `Symbol.for` (not `Symbol`) so it stays
8833
+ * identical across multiple `@platforma-sdk/model` copies in one process. */
8834
+ const CREATE_PLUGIN_MODEL = Symbol.for("@platforma-sdk/model:createPluginModel");
8835
+ //#endregion
8836
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/version.js
8837
+ const PlatformaSDKVersion = "1.83.9";
8855
8838
  //#endregion
8856
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/bconfig/types.js
8839
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/bconfig/types.js
8857
8840
  function isConfigLambda(cfgOrFh) {
8858
8841
  return cfgOrFh.__renderLambda === true;
8859
8842
  }
8860
8843
  //#endregion
8861
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/bconfig/normalization.js
8844
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/bconfig/normalization.js
8862
8845
  function downgradeCfgOrLambda(data) {
8863
8846
  if (data === void 0) return void 0;
8864
8847
  if (isConfigLambda(data)) return data.handle;
8865
8848
  return data;
8866
8849
  }
8867
8850
  //#endregion
8868
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/plugin_model.js
8869
- /** Internal plugin↔block handshake. `Symbol.for` (not `Symbol`) so it stays
8870
- * identical across multiple `@platforma-sdk/model` copies in one process. */
8871
- const CREATE_PLUGIN_MODEL = Symbol.for("@platforma-sdk/model:createPluginModel");
8872
- //#endregion
8873
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/block_storage_callbacks.js
8851
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/block_storage_callbacks.js
8874
8852
  /**
8875
8853
  * BlockStorage Callback Implementations - wired to facade callbacks in BlockModelV3.done().
8876
8854
  *
@@ -9224,7 +9202,7 @@ function deriveTemplateParamsFromStorage(storageJson, deriveTemplateParams) {
9224
9202
  }
9225
9203
  }
9226
9204
  //#endregion
9227
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/block_model.js
9205
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/block_model.js
9228
9206
  /**
9229
9207
  * Merges two feature flag objects with type-aware logic:
9230
9208
  * - `supports*` (boolean): OR — `true` if either side is `true`
@@ -9590,7 +9568,7 @@ var BlockModelV3 = class BlockModelV3 {
9590
9568
  }
9591
9569
  };
9592
9570
  //#endregion
9593
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/pframe_utils/axes.js
9571
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/pframe_utils/axes.js
9594
9572
  /** Create id for column copy with added keys in axes domains */
9595
9573
  const colId = (id, domains, contextDomains) => {
9596
9574
  let wid = id.toString();
@@ -9696,7 +9674,7 @@ function getAdditionalColumnsForColumn(blockAxes, column) {
9696
9674
  })];
9697
9675
  }
9698
9676
  //#endregion
9699
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/column_recipes/leaf_rebrand.js
9677
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/columns/column_recipes/leaf_rebrand.js
9700
9678
  /**
9701
9679
  * Replace every column leaf whose id equals `fromId` with `toId`, leaving
9702
9680
  * other column refs (linkers, sub-anchors) intact. Wrapper recipes
@@ -10894,7 +10872,7 @@ var LRUCache = class LRUCache {
10894
10872
  }
10895
10873
  };
10896
10874
  //#endregion
10897
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/column_providers/providers.js
10875
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/columns/column_providers/providers.js
10898
10876
  /**
10899
10877
  * Unified memoised factory dispatching to the right provider flavour by the
10900
10878
  * source shape:
@@ -10983,7 +10961,7 @@ function hashRawPool(rawPool) {
10983
10961
  return rawPool.map((b) => `${b.blockId}\x1f${b.prodCtx ?? ""}\x1f${b.stagingCtx ?? ""}\x1f${b.prodIncomplete ? 1 : 0}\x1f${b.stagingIncomplete ? 1 : 0}`).join("");
10984
10962
  }
10985
10963
  //#endregion
10986
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/column_providers/index.js
10964
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/columns/column_providers/index.js
10987
10965
  /**
10988
10966
  * Build the default set of ColumnsProviders for the ambient render ctx:
10989
10967
  * - `AccessorColumnsProvider` over `outputs` (if present)
@@ -11018,7 +10996,7 @@ function isColumnProvider(source) {
11018
10996
  return typeof p.getColumns === "function" && typeof p.isFinal === "function";
11019
10997
  }
11020
10998
  //#endregion
11021
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/data_column.js
10999
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/columns/data_column.js
11022
11000
  /**
11023
11001
  * Thrown by leaf-recipe factories when the requested column is provably
11024
11002
  * absent in the active render ctx — i.e. every relevant accessor reports
@@ -11258,7 +11236,7 @@ function memoizeByEntry(fn) {
11258
11236
  };
11259
11237
  }
11260
11238
  //#endregion
11261
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/column_recipes/column_overrided_recipe.js
11239
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/columns/column_recipes/column_overrided_recipe.js
11262
11240
  /**
11263
11241
  * Recipe wrapper that overlays {@link SpecOverrides} on top of any other
11264
11242
  * recipe. The id is `ColumnOverriddenKey { source: inner.id, specOverrides }`.
@@ -11396,7 +11374,7 @@ var DataColumnOverriddenRecipe = class extends ColumnOverriddenRecipe {
11396
11374
  }
11397
11375
  };
11398
11376
  //#endregion
11399
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/column_recipes/column_filtered_recipe.js
11377
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/columns/column_recipes/column_filtered_recipe.js
11400
11378
  /**
11401
11379
  * Recipe wrapper that fixes the values of selected axes of an inner recipe
11402
11380
  * (axis slicing). The id is `FilteredPColumnId { source: inner.id,
@@ -11522,7 +11500,7 @@ function toAxisSelector(axis) {
11522
11500
  return selector;
11523
11501
  }
11524
11502
  //#endregion
11525
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/column_recipes/index.js
11503
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/columns/column_recipes/index.js
11526
11504
  /**
11527
11505
  * Build a `ColumnRecipe` from a stringified id. Dispatches to the matching
11528
11506
  * concrete recipe variant based on the id's encoding and recurses on
@@ -11573,7 +11551,7 @@ function ColumnRecipeGetStatus(id, opts = {}) {
11573
11551
  }
11574
11552
  const ColumnRecipe = Object.assign(ColumnRecipeBuild, { getStatus: ColumnRecipeGetStatus });
11575
11553
  //#endregion
11576
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/column_recipes/column_discovered_recipe.js
11554
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/columns/column_recipes/column_discovered_recipe.js
11577
11555
  /**
11578
11556
  * Recipe for columns identified by a {@link ColumnDiscoveredKey}: a base
11579
11557
  * column + a `path` of linkers + qualifications.
@@ -11744,7 +11722,7 @@ function referencedUniIdsOf(key) {
11744
11722
  return /* @__PURE__ */ new Set([key.column, ...(key.path ?? []).map((item) => item.column)]);
11745
11723
  }
11746
11724
  //#endregion
11747
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/column.js
11725
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/columns/column.js
11748
11726
  /**
11749
11727
  * Unified entry point — routes between the two top-level dispatchers:
11750
11728
  * - string id (`PObjectId` / `ColumnUniversalId`) → {@link ColumnRecipe}
@@ -11758,7 +11736,7 @@ function Column(source, opts) {
11758
11736
  return DataColumn(source, opts);
11759
11737
  }
11760
11738
  //#endregion
11761
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/columns_collection.js
11739
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/columns/columns_collection.js
11762
11740
  /**
11763
11741
  * Build a {@link ColumnsCollection} from sandbox-side source descriptors.
11764
11742
  * Resolves the `columnsCollection` driver (either from `deps.driver` or via
@@ -11867,7 +11845,7 @@ function defaultCtxSources(ctx) {
11867
11845
  return [...currentBlockSources(ctx), { kind: "result_pool" }];
11868
11846
  }
11869
11847
  //#endregion
11870
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/columns/utils.js
11848
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/columns/utils.js
11871
11849
  /**
11872
11850
  * PObjectIds of every non-hit column referenced by `recipe.getQuery()`,
11873
11851
  * deduped in traversal order. The hit column is
@@ -11998,7 +11976,7 @@ function hasSingleDataColumn(recipe) {
11998
11976
  return recipe.getReferencedIds().length === 1;
11999
11977
  }
12000
11978
  //#endregion
12001
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/pframe_utils/columns.js
11979
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/pframe_utils/columns.js
12002
11980
  function getAllRelatedColumns(ctx, predicate) {
12003
11981
  const columns = new PColumnCollection();
12004
11982
  columns.addColumnProvider(ctx.resultPool);
@@ -12074,7 +12052,7 @@ function discoverIntegrableColumnIds(ctx, rootColumns) {
12074
12052
  }
12075
12053
  }
12076
12054
  //#endregion
12077
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/components/PFrameForGraphs.js
12055
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/components/PFrameForGraphs.js
12078
12056
  function isHiddenFromGraphColumn(column) {
12079
12057
  return !!readAnnotationJson(column, Annotation.HideDataFromGraphs);
12080
12058
  }
@@ -12103,7 +12081,7 @@ function createPFrameForGraphs(ctx, blockColumns) {
12103
12081
  }));
12104
12082
  }
12105
12083
  //#endregion
12106
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/components/PlDatasetSelector/dataset_selection.js
12084
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/components/PlDatasetSelector/dataset_selection.js
12107
12085
  function isDatasetSelection(value) {
12108
12086
  return typeof value === "object" && value !== null && value.__isDatasetSelection === "v1" && "primary" in value;
12109
12087
  }
@@ -12119,7 +12097,7 @@ function createDatasetSelection(primary, enrichments) {
12119
12097
  };
12120
12098
  }
12121
12099
  //#endregion
12122
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/components/PlDatasetSelector/filter_discovery.js
12100
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/components/PlDatasetSelector/filter_discovery.js
12123
12101
  /**
12124
12102
  * Matches columns annotated `pl7.app/isSubset: "true"` whose axes ⊆ anchor axes.
12125
12103
  *
@@ -12171,7 +12149,7 @@ function buildRefMap(entries) {
12171
12149
  return new Map(entries.map((e) => [(0, import_canonicalize.default)(e.ref), e.ref]));
12172
12150
  }
12173
12151
  //#endregion
12174
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/components/PlDatasetSelector/enrichment_discovery.js
12152
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/components/PlDatasetSelector/enrichment_discovery.js
12175
12153
  /**
12176
12154
  * Linker-reached hits attached to the anchor primary. Drops zero-hop variants
12177
12155
  * (filters / the primary itself) and structural hits (subset, linker, label
@@ -12231,7 +12209,7 @@ function enrichmentVariantsToRefs(variants, labelOptions) {
12231
12209
  });
12232
12210
  }
12233
12211
  //#endregion
12234
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/components/PlDatasetSelector/build_dataset_options.js
12212
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/components/PlDatasetSelector/build_dataset_options.js
12235
12213
  function toPredicate(opt) {
12236
12214
  if (opt === void 0) return () => true;
12237
12215
  return typeof opt === "function" ? opt : multiColumnSelectorsToPredicate(opt);
@@ -12281,7 +12259,7 @@ function buildDatasetOptions(ctx, opts) {
12281
12259
  });
12282
12260
  }
12283
12261
  //#endregion
12284
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/filters/traverse.js
12262
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/filters/traverse.js
12285
12263
  /**
12286
12264
  * Recursively traverses a FilterSpec tree bottom-up, applying visitor callbacks.
12287
12265
  *
@@ -12320,7 +12298,7 @@ function collectFilterSpecColumns(filter) {
12320
12298
  });
12321
12299
  }
12322
12300
  //#endregion
12323
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/filters/converters/filterToQuery.js
12301
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/filters/converters/filterToQuery.js
12324
12302
  /** Converts a QueryColumnId object into a SpecQueryExpression reference. */
12325
12303
  function resolveColumnRef(col) {
12326
12304
  return col.type === "axis" ? {
@@ -12658,7 +12636,7 @@ function isNumber(value) {
12658
12636
  return typeof value === "number" || value instanceof Number;
12659
12637
  }
12660
12638
  //#endregion
12661
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/filters/distill.js
12639
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/filters/distill.js
12662
12640
  /**
12663
12641
  * Strips non-FilterSpec metadata (whitelist approach) and removes
12664
12642
  * unfilled leaves (type is undefined or any required field is undefined).
@@ -12763,7 +12741,7 @@ const REQUIRED_KEYS_BY_TYPE = {
12763
12741
  greaterThanColumnOrEqual: ["column", "rhs"]
12764
12742
  };
12765
12743
  //#endregion
12766
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/components/PlDataTable/state-migration.js
12744
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/components/PlDataTable/state-migration.js
12767
12745
  /** Upgrade PlDataTableStateV2 to the latest version */
12768
12746
  function upgradePlDataTableStateV2(state) {
12769
12747
  if (!state) return createPlDataTableStateV2();
@@ -13121,7 +13099,7 @@ function parseLegacyLeafColumn(s) {
13121
13099
  return parsed;
13122
13100
  }
13123
13101
  //#endregion
13124
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/utils.js
13102
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/utils.js
13125
13103
  /** Adapt a {@link ColumnRecipe} to the plain {@link RuleColumn} shape. */
13126
13104
  function toRuleColumn(col) {
13127
13105
  return {
@@ -13219,7 +13197,7 @@ function deriveAllLabels(options) {
13219
13197
  })), deriveLabelsOptions).reduce((acc, label, index) => (acc[columns[index].id] = label, acc), {});
13220
13198
  }
13221
13199
  //#endregion
13222
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/createPTableDefV3.js
13200
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/createPTableDefV3.js
13223
13201
  /**
13224
13202
  * Assemble a ptable def directly from recipes. Each secondary recipe is its own
13225
13203
  * outer-joined subtree: `getQuery()` encodes its linker chain, and its
@@ -13283,8 +13261,8 @@ function columnToJoinEntry(col, qualifications) {
13283
13261
  };
13284
13262
  }
13285
13263
  //#endregion
13286
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/components/PlDataTable/columnResolver.js
13287
- function createColumnResolver(columns, deps) {
13264
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/components/PlDataTable/columnResolver.js
13265
+ function createColumnResolver(columns) {
13288
13266
  const axisIds = [];
13289
13267
  for (const c of columns) for (const ax of c.getSpec().axesSpec) axisIds.push(getAxisId(ax));
13290
13268
  const byFullId = /* @__PURE__ */ new Map();
@@ -13292,9 +13270,7 @@ function createColumnResolver(columns, deps) {
13292
13270
  for (const c of columns) {
13293
13271
  byFullId.set(c.id, c);
13294
13272
  const pid = extractPObjectId(c.id);
13295
- const existing = byPObjectId.get(pid);
13296
- if (existing === void 0) byPObjectId.set(pid, c);
13297
- else if (existing.id !== c.id) deps?.warn?.(`Ambiguous PObjectId ${pid}: recipe ids ${existing.id} and ${c.id} both match — keeping first.`);
13273
+ if (!byPObjectId.has(pid)) byPObjectId.set(pid, c);
13298
13274
  }
13299
13275
  return (ref) => {
13300
13276
  if (ref.type === "axis") return axisIds.some((a) => matchAxisId(ref.id, a)) ? ref : void 0;
@@ -13307,7 +13283,7 @@ function createColumnResolver(columns, deps) {
13307
13283
  };
13308
13284
  }
13309
13285
  //#endregion
13310
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/discoverColumns.js
13286
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/discoverColumns.js
13311
13287
  /**
13312
13288
  * Discover columns from sources/anchors and split them into primary
13313
13289
  * (direct anchor hits — zero-hop, query is a bare column) and secondary
@@ -13353,7 +13329,7 @@ function discoverLabelColumns(ctx, primary) {
13353
13329
  }).getColumns();
13354
13330
  }
13355
13331
  //#endregion
13356
- //#region ../node_modules/.pnpm/@platforma-sdk+model@1.82.0/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.js
13332
+ //#region ../node_modules/.pnpm/@platforma-sdk+model@1.83.9/node_modules/@platforma-sdk/model/dist/components/PlDataTable/createPlDataTable/createPlDataTableV3.js
13357
13333
  function createPlDataTableV3(ctx, options) {
13358
13334
  const state = upgradePlDataTableStateV2(options.tableState);
13359
13335
  const primaryJoinType = options.primaryJoinType ?? "full";
@@ -13381,7 +13357,7 @@ function createPlDataTableV3(ctx, options) {
13381
13357
  ...primary,
13382
13358
  ...direct,
13383
13359
  ...linked.flatMap((lc) => [...collectLinkerColumns(lc), lc])
13384
- ], { warn: ctx.logWarn.bind(ctx) });
13360
+ ]);
13385
13361
  const remapedDefaultFilters = remapFilterColumnIds(options.filters, resolver);
13386
13362
  const filters = filterFilters(concatFilters(state.pTableParams.filters, state.pTableParams.defaultFilters ?? remapedDefaultFilters), resolver);
13387
13363
  const sorting = filterSorting(resolveSorting(state.pTableParams.sorting, remapSortingColumnIds(options.sorting, resolver)), resolver);
@@ -13828,9 +13804,25 @@ function isDatasetScopingSubset(spec) {
13828
13804
  */
13829
13805
  function isPresenceOnlyColumn(spec, anchorSpec) {
13830
13806
  if (spec.annotations?.[Annotation.IsSubset] !== "true") return false;
13807
+ return isOnAnchorAxes(spec, anchorSpec);
13808
+ }
13809
+ /**
13810
+ * True when every axis of the column is one of the anchor's axes. Axis identity is name,
13811
+ * type, domain and context-domain.
13812
+ *
13813
+ * A column reached through a linker carries an axis the anchor does not have and reads
13814
+ * as not on the anchor's axes.
13815
+ */
13816
+ function isOnAnchorAxes(spec, anchorSpec) {
13831
13817
  const anchorAxes = new Set(anchorSpec.axesSpec.map(canonicalizeAxisId));
13832
13818
  return spec.axesSpec.every((axis) => anchorAxes.has(canonicalizeAxisId(axis)));
13833
13819
  }
13820
+ /** Traversal scope shared by every anchored discovery in the model: filter and ranking
13821
+ * options, defaults, the MSA frame and the results table. */
13822
+ const ANCHORED_DISCOVERY = {
13823
+ mode: "enrichment",
13824
+ maxHops: 4
13825
+ };
13834
13826
  /** JS post-filter for the residual predicates that {@link discoveryExcludeSelectors}
13835
13827
  * can't express host-side: File value type (`File` is not a matchable `ValueType`)
13836
13828
  * and columns produced by a lead-selection block (last-trace-step check on parsed
@@ -13939,11 +13931,13 @@ function buildCollection(inputAnchor) {
13939
13931
  const sampleAxisName = anchorSpec.axesSpec[0].name;
13940
13932
  const allMatches = dedupByLeafId(collection.discover({
13941
13933
  anchors: { main: anchorSpec },
13942
- mode: "related",
13943
- maxHops: 2,
13934
+ ...ANCHORED_DISCOVERY,
13944
13935
  exclude: discoveryExcludeSelectors(sampleAxisName)
13945
13936
  }).getColumns()).filter(isSelectableMatch);
13946
- const scores = allMatches.filter((c) => c.getSpec().annotations?.[Annotation.IsScore] === "true");
13937
+ const scores = allMatches.filter((c) => {
13938
+ const spec = c.getSpec();
13939
+ return spec.annotations?.[Annotation.IsScore] === "true" && isOnAnchorAxes(spec, anchorSpec);
13940
+ });
13947
13941
  const defaultFilters = computeDefaultFilters(scores, inputAnchor);
13948
13942
  return {
13949
13943
  collection,
@@ -14648,6 +14642,7 @@ const platforma$1 = BlockModelV3.create({
14648
14642
  if (!result) return void 0;
14649
14643
  const filterableMatches = dedupByLeafId(result.collection.discover({
14650
14644
  anchors: { main: result.anchorSpec },
14645
+ ...ANCHORED_DISCOVERY,
14651
14646
  exclude: discoveryExcludeSelectors(result.sampleAxisName)
14652
14647
  }).getColumns()).filter(isSelectableMatch);
14653
14648
  const labels = deriveDistinctLabels(filterableMatches.map((c) => c.getSpec()), { includeNativeLabel: true });
@@ -14676,6 +14671,7 @@ const platforma$1 = BlockModelV3.create({
14676
14671
  const rankedColumnIds = new Set(ctx.data.rankingOrder.flatMap((r) => r.value ? [r.value.column] : []));
14677
14672
  const rankableMatches = dedupByLeafId(result.collection.discover({
14678
14673
  anchors: { main: result.anchorSpec },
14674
+ ...ANCHORED_DISCOVERY,
14679
14675
  exclude: [...discoveryExcludeSelectors(result.sampleAxisName), { type: "String" }]
14680
14676
  }).getColumns()).filter((c) => isRankableMatch(c, result.anchorSpec, rankedColumnIds));
14681
14677
  const labels = deriveDistinctLabels(rankableMatches.map((c) => c.getSpec()), { includeNativeLabel: true });
@@ -14706,6 +14702,7 @@ const platforma$1 = BlockModelV3.create({
14706
14702
  if (!anchorClonotypeAxisName) return void 0;
14707
14703
  const msaIds = result.collection.discover({
14708
14704
  anchors: { main: result.anchorSpec },
14705
+ ...ANCHORED_DISCOVERY,
14709
14706
  include: {
14710
14707
  axes: [{ name: exactMatch(anchorClonotypeAxisName) }],
14711
14708
  partialAxesMatch: true
@@ -14766,7 +14763,10 @@ const platforma$1 = BlockModelV3.create({
14766
14763
  if (!leadSelectionCol) return void 0;
14767
14764
  const leadSelectionSpec = leadSelectionCol.getSpec();
14768
14765
  if (!leadSelectionSpec.axesSpec.some((axis) => JSON.stringify(axis) === JSON.stringify(anchorSpec.axesSpec[1]))) return void 0;
14769
- const poolDiscovered = ColumnsCollection().discover({ anchors: { main: leadSelectionSpec } }).getColumns().filter((c) => {
14766
+ const poolDiscovered = ColumnsCollection().discover({
14767
+ anchors: { main: leadSelectionSpec },
14768
+ ...ANCHORED_DISCOVERY
14769
+ }).getColumns().filter((c) => {
14770
14770
  return !isProducedByLeadSelection(c.getSpec());
14771
14771
  });
14772
14772
  const primaryColumns = poolDiscovered.filter((c) => c.id === leadSelectionCol.id);