@platforma-sdk/model 1.34.8 → 1.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"PFrameForGraphs.d.ts","sourceRoot":"","sources":["../../src/components/PFrameForGraphs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,iBAAiB,EACjB,OAAO,EACP,WAAW,EACX,YAAY,EAEb,MAAM,iCAAiC,CAAC;AAMzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAkCjE,yCAAyC;AACzC,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,WAEjD;AAED,eAAO,MAAM,iBAAiB,4BAA4B,CAAC;AAC3D,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,wBAAwB,2BAA2B,CAAC;AAEjE,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9F,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,oBAmBjF;AAED,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,EAC9C,SAAS,EAAE,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAChD,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CA4BxC;AACD,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,mCAMxG;AAwFD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,CAAC,EACxC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,YAAY,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,GAAG,SAAS,GACxD,YAAY,GAAG,SAAS,CAiE1B"}
1
+ {"version":3,"file":"PFrameForGraphs.d.ts","sourceRoot":"","sources":["../../src/components/PFrameForGraphs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,iBAAiB,EACjB,OAAO,EACP,WAAW,EACX,YAAY,EAEb,MAAM,iCAAiC,CAAC;AAMzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAkCjE,yCAAyC;AACzC,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,WAEjD;AAED,eAAO,MAAM,iBAAiB,4BAA4B,CAAC;AAC3D,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,wBAAwB,2BAA2B,CAAC;AAEjE,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9F,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,oBAmBjF;AAED,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,EAC9C,SAAS,EAAE,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAChD,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CA4BxC;AACD,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,mCAMxG;AAwFD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,CAAC,EACxC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,YAAY,EAAE,OAAO,CAAC,oBAAoB,CAAC,EAAE,GAAG,SAAS,GACxD,YAAY,GAAG,SAAS,CAyE1B"}
@@ -1,26 +1,19 @@
1
- import { AxisSpec, CanonicalizedJson, DataInfo, JoinEntry, PColumn, PColumnIdAndSpec, PColumnSpec, PColumnValues, PTableColumnSpec, PTableHandle, PTableRecordFilter, PTableSorting, PTableValue } from '@milaboratories/pl-model-common';
1
+ import { AxisId, AxisSpec, CanonicalizedJson, DataInfo, ListOptionBase, PColumn, PColumnIdAndSpec, PColumnSpec, PColumnValues, PObjectId, PTableColumnSpec, PTableHandle, PTableRecordFilter, PTableSorting, PTableValue } from '@milaboratories/pl-model-common';
2
2
  import { AxisLabelProvider, ColumnProvider, PColumnDataUniversal, RenderCtx, TreeNodeAccessor } from '../render';
3
3
  /** Canonicalized PTableColumnSpec JSON string */
4
4
  export type PTableColumnSpecJson = CanonicalizedJson<PTableColumnSpec>;
5
- /** Encode `PTableColumnId` as canonicalized JSON string */
6
- export declare function stringifyPTableColumnSpec(spec: PTableColumnSpec): PTableColumnSpecJson;
7
- /** Data table state */
8
- export type PlDataTableGridState = {
9
- /**
10
- * Hash of the specs for now, but in the future it will be a stable id of the source
11
- */
12
- sourceId?: string;
5
+ export type PlDataTableGridStateCore = {
13
6
  /** Includes column ordering */
14
7
  columnOrder?: {
15
8
  /** All colIds in order */
16
- orderedColIds: string[];
9
+ orderedColIds: PTableColumnSpecJson[];
17
10
  };
18
11
  /** Includes current sort columns and direction */
19
12
  sort?: {
20
13
  /** Sorted columns and directions in order */
21
14
  sortModel: {
22
15
  /** Column Id to apply the sort to. */
23
- colId: string;
16
+ colId: PTableColumnSpecJson;
24
17
  /** Sort direction */
25
18
  sort: 'asc' | 'desc';
26
19
  }[];
@@ -30,30 +23,35 @@ export type PlDataTableGridState = {
30
23
  /** All colIds which were hidden */
31
24
  hiddenColIds: PTableColumnSpecJson[];
32
25
  };
33
- /** current sheet selections */
34
- sheets?: Record<string, string | number>;
35
26
  };
36
27
  /** TODO: refactor to use sheets in the grid state */
37
- export type PlDataTableGridStateWithoutSheets = Omit<PlDataTableGridState, 'sheets'>;
28
+ export type PlDataTableGridStateWithoutSheets = PlDataTableGridStateCore & {
29
+ /** DataSource identifier for state management */
30
+ sourceId?: string;
31
+ };
32
+ /** Data table state */
33
+ export type PlDataTableGridState = PlDataTableGridStateWithoutSheets & {
34
+ /** current sheet selections */
35
+ sheets?: Record<CanonicalizedJson<AxisId>, string | number>;
36
+ };
38
37
  export type PlDataTableSheet = {
39
38
  /** spec of the axis to use */
40
39
  axis: AxisSpec;
41
- /** options to show in the filter tan */
42
- options: {
43
- /** value of the option (should be one of the values in the axis or column) */
44
- value: string | number;
45
- /** corresponding label */
46
- label: string;
47
- }[];
40
+ /** options to show in the filter dropdown */
41
+ options: ListOptionBase<string | number>[];
48
42
  /** default (selected) value */
49
43
  defaultValue?: string | number;
50
44
  };
45
+ export type PlDataTableSheetState = {
46
+ /** id of the axis */
47
+ axisId: AxisId;
48
+ /** selected value */
49
+ value: string | number;
50
+ };
51
51
  /**
52
52
  * Params used to get p-table handle from the driver
53
53
  */
54
54
  export type PTableParams = {
55
- /** For sourceType: 'pframe' the join is original one, enriched with label columns */
56
- join?: JoinEntry<PColumnIdAndSpec>;
57
55
  sorting?: PTableSorting[];
58
56
  filters?: PTableRecordFilter[];
59
57
  };
@@ -64,6 +62,32 @@ export type PlDataTableState = {
64
62
  gridState: PlDataTableGridState;
65
63
  pTableParams?: PTableParams;
66
64
  };
65
+ /**
66
+ * PlDataTableV2 persisted state
67
+ */
68
+ export type PlDataTableStateV2 = PlDataTableState | PlDataTableStateV2Normalized;
69
+ export type PlDataTableStateV2CacheEntry = {
70
+ /** DataSource identifier for state management */
71
+ sourceId: string;
72
+ /** Internal ag-grid state */
73
+ gridState: PlDataTableGridStateCore;
74
+ /** Sheets state */
75
+ sheetsState: PlDataTableSheetState[];
76
+ };
77
+ export type PTableParamsV2 = {
78
+ sorting: PTableSorting[];
79
+ filters: PTableRecordFilter[];
80
+ hiddenColIds: PObjectId[] | null;
81
+ };
82
+ export type PlDataTableStateV2Normalized = {
83
+ version: 2;
84
+ stateCache: PlDataTableStateV2CacheEntry[];
85
+ pTableParams: PTableParamsV2;
86
+ };
87
+ /** Create default PlDataTableStateV2 */
88
+ export declare function createPlDataTableStateV2(): PlDataTableStateV2Normalized;
89
+ /** Upgrade PlDataTableStateV2 to the latest version */
90
+ export declare function upgradePlDataTableStateV2(state: PlDataTableStateV2): PlDataTableStateV2Normalized;
67
91
  /** PlTableFilters filter entry */
68
92
  export type PlTableFilterIsNotNA = {
69
93
  /** Predicate type */
@@ -235,8 +259,10 @@ export type PlTableFiltersModel = {
235
259
  filters?: PTableRecordFilter[];
236
260
  };
237
261
  export type CreatePlDataTableOps = {
238
- /** Table filters, should contain */
262
+ /** Filters for columns and non-partitioned axes */
239
263
  filters?: PTableRecordFilter[];
264
+ /** Sorting to columns hidden from user */
265
+ sorting?: PTableSorting[];
240
266
  /**
241
267
  * Selects columns for which will be inner-joined to the table.
242
268
  *
@@ -278,10 +304,10 @@ export declare function createPlDataTable<A, U>(ctx: RenderCtx<A, U>, columns: P
278
304
  export declare function createPlDataTable<A, U>(ctx: RenderCtx<A, U>, columns: PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>[], tableState: PlDataTableState | undefined, filters: PTableRecordFilter[]): PTableHandle | undefined;
279
305
  /** PlAgDataTable model */
280
306
  export type PlDataTableModel = {
281
- /** p-table specification (full, including hidden columns) */
282
- tableSpec: PTableColumnSpec[];
283
- /** p-table handle (integration of visible columns data) */
284
- tableHandle: PTableHandle;
307
+ /** p-table including all columns, used to show the full specification of the table */
308
+ fullTableHandle: PTableHandle;
309
+ /** p-table including only visible columns, used to get the data */
310
+ visibleTableHandle: PTableHandle;
285
311
  };
286
312
  /**
287
313
  * @deprecated Used only in PlAgDataTable v1 that is no longer maintained.
@@ -296,6 +322,11 @@ export declare function isColumnHidden(spec: {
296
322
  export declare function isColumnOptional(spec: {
297
323
  annotations?: Record<string, string>;
298
324
  }): boolean;
325
+ /**
326
+ * Return unique entries of the array by the provided id
327
+ * For each id, the last entry is kept
328
+ */
329
+ export declare function uniqueBy<T>(array: T[], makeId: (entry: T) => string): T[];
299
330
  /**
300
331
  * Create p-table spec and handle given ui table state
301
332
  *
@@ -304,7 +335,7 @@ export declare function isColumnOptional(spec: {
304
335
  * @param tableState table ui state
305
336
  * @returns PlAgDataTableV2 table source
306
337
  */
307
- export declare function createPlDataTableV2<A, U>(ctx: RenderCtx<A, U>, inputColumns: PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>[], mainColumnPredicate: (spec: PColumnSpec) => boolean, tableState: PlDataTableState | undefined, ops?: CreatePlDataTableOps): PlDataTableModel | undefined;
338
+ export declare function createPlDataTableV2<A, U>(ctx: RenderCtx<A, U>, inputColumns: PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>[], tableState: PlDataTableStateV2 | undefined, ops?: CreatePlDataTableOps): PlDataTableModel | undefined;
308
339
  /** Create sheet entries for PlDataTable */
309
340
  export declare function createPlDataTableSheet<A, U>(ctx: RenderCtx<A, U>, axis: AxisSpec, values: (string | number)[]): PlDataTableSheet;
310
341
  //# sourceMappingURL=PlDataTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlDataTable.d.ts","sourceRoot":"","sources":["../../src/components/PlDataTable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlDataTable.d.ts","sourceRoot":"","sources":["../../src/components/PlDataTable.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var it=Object.defineProperty;var st=(t,e,n)=>e in t?it(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var D=(t,e,n)=>st(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@milaboratories/pl-model-common"),xe=require("canonicalize"),$=require("zod"),Ae=require("@milaboratories/pl-error-like");class Ie extends Error{constructor(e,n){super(`${e.length}${n?"+":""} errors, first error: `+e[0].message),this.errors=e,this.moreErrors=n}}function Se(t){if(!t.ok)throw new Ie(t.errors,t.moreErrors);return t.value}function ot(t){return new Proxy(t,{get(e,n){return Se(e[n])}})}function x(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t===null?Y(t):t}function W(t){return{type:"GetFromCtx",variable:t}}function at(t){return{type:"Isolate",cfg:t}}const lt=W("$args"),ut=W("$it"),ct=W("$prod"),dt=W("$staging"),pt=W("$ui");function Y(t){return{type:"Immediate",value:t}}function ge(t){const e={};for(const[n,r]of Object.entries(t))e[n]=x(r);return{type:"MakeObject",template:e}}function ft(...t){const e=[];for(const n of t)e.push(x(n));return{type:"MakeArray",template:e}}function Q(t,e){return{type:"GetJsonField",source:x(t),field:x(e)}}function ht(t,e,n="$it"){return{type:"MapRecordValues",source:t,mapping:e,itVar:n}}function gt(t,e,n="$it"){return{type:"MapArrayValues",source:t,mapping:e,itVar:n}}function mt(t){return{type:"Flatten",source:t}}function yt(t){return{type:"IsEmpty",arg:t}}function bt(t){return{type:"Not",operand:t}}function vt(t,e){return{type:"And",operand1:t,operand2:e}}function At(t,e){return{type:"Or",operand1:t,operand2:e}}function Pt(t,e){return{type:"GetResourceField",source:x(t),field:x(e)}}function Ct(){return function(t){return{type:"GetResourceValueAsJson",source:x(t)}}}function wt(t,e,n="$it"){return{type:"MapResourceFields",source:t,mapping:e,itVar:n}}function xt(t,e){return{type:"GetBlobContent",range:e,source:x(t)}}function It(t,e){return{type:"GetBlobContentAsString",range:e,source:x(t)}}function St(){return function(t,e){return{type:"GetBlobContentAsJson",range:e,source:x(t)}}}function Tt(t){return{type:"GetDownloadedBlobContent",source:x(t)}}function _t(t){return{type:"GetOnDemandBlobContent",source:x(t)}}function Lt(t,e){return{type:"ExtractArchiveAndGetURL",format:e,source:x(t)}}function Et(t){return{type:"GetImportProgress",source:x(t)}}function Ot(t,e){return{type:"GetLastLogs",source:x(t),lines:e}}function Rt(t,e){return{type:"GetProgressLog",source:x(t),patternToSearch:e}}function Dt(t,e){return{type:"GetProgressLogWithInfo",source:x(t),patternToSearch:e}}function kt(t){return{type:"GetLogHandle",source:x(t)}}function Ft(){return typeof globalThis.getPlatforma<"u"||typeof globalThis.platforma<"u"}function Te(t){if(t&&typeof globalThis.getPlatforma=="function")return globalThis.getPlatforma(t);if(typeof globalThis.platforma<"u")return globalThis.platforma;throw new Error("Can't get platforma instance.")}function jt(){if(typeof globalThis.cfgRenderCtx<"u")return globalThis.cfgRenderCtx}function y(){if(typeof globalThis.cfgRenderCtx<"u")return globalThis.cfgRenderCtx;throw new Error("Not in config rendering context")}function H(t,e){const n=jt();if(n===void 0)return!1;if(t in n.callbackRegistry)throw new Error(`Callback with key ${t} already registered.`);return n.callbackRegistry[t]=e,!0}const ce=new Map;function Nt(t,e){t in y().callbackRegistry||(y().callbackRegistry[t]=n=>{for(const r of ce.get(t))r(n)},ce.set(t,[])),ce.get(t).push(e)}class S{constructor(e,n=r=>r){D(this,"isResolved",!1);D(this,"resolvedValue");this.handle=e,this.postProcess=n,Nt(e,r=>{this.resolvedValue=n(r),this.isResolved=!0})}map(e){return new S(this.handle,n=>e(this.postProcess(n)))}mapDefined(e){return new S(this.handle,n=>{const r=this.postProcess(n);return r?e(r):void 0})}toJSON(){return this.isResolved?this.resolvedValue:{__awaited_futures__:[this.handle]}}}function oe(t,e){return t===void 0?void 0:e(t)}class L{constructor(e,n){this.handle=e,this.resolvePath=n}resolve(...e){const n=e.map(r=>({assertFieldType:"Input",...typeof r=="string"?{field:r}:r}));return this.resolveWithCommon({},...n)}resolveOutput(...e){const n=e.map(r=>({assertFieldType:"Output",...typeof r=="string"?{field:r}:r}));return this.resolveWithCommon({},...n)}resolveInput(...e){const n=e.map(r=>({assertFieldType:"Input",...typeof r=="string"?{field:r}:r}));return this.resolveWithCommon({},...n)}resolveAny(...e){return this.resolveWithCommon({},...e)}resolveWithCommon(e,...n){const r=[...this.resolvePath,...n.map(i=>typeof i=="string"?i:i.field)];return oe(y().resolveWithCommon(this.handle,e,...n),i=>new L(i,r))}get resourceType(){return y().getResourceType(this.handle)}getInputsLocked(){return y().getInputsLocked(this.handle)}getOutputsLocked(){return y().getOutputsLocked(this.handle)}getIsReadyOrError(){return y().getIsReadyOrError(this.handle)}getIsFinal(){return y().getIsFinal(this.handle)}getError(){const e=[...this.resolvePath,"error"];return oe(y().getError(this.handle),n=>new L(n,e))}listInputFields(){return y().listInputFields(this.handle)}listOutputFields(){return y().listOutputFields(this.handle)}listDynamicFields(){return y().listDynamicFields(this.handle)}getKeyValueBase64(e){return y().getKeyValueBase64(this.handle,e)}getKeyValueAsString(e){return y().getKeyValueAsString(this.handle,e)}getKeyValueAsJson(e){const n=this.getKeyValueAsString(e);if(n==null)throw new Error("Resource has no content.");return JSON.parse(n)}getDataBase64(){return y().getDataBase64(this.handle)}getDataAsString(){return y().getDataAsString(this.handle)}getDataAsJson(){const e=this.getDataAsString();if(e==null)throw new Error("Resource has no content.");return JSON.parse(e)}getPColumns(e=!1,n=""){const r=this.parsePObjectCollection(e,n);return r===void 0?void 0:Object.entries(r).map(([,s])=>{if(!c.isPColumn(s))throw new Error(`not a PColumn (kind = ${s.spec.kind})`);return s})}parsePObjectCollection(e=!1,n=""){const r=y().parsePObjectCollection(this.handle,e,n,...this.resolvePath);if(r===void 0)return;const i={};for(const[s,o]of Object.entries(r)){const a=[...this.resolvePath,s];i[s]=c.mapPObjectData(o,l=>new L(l,a))}return i}getFileContentAsBase64(e){return new S(y().getBlobContentAsBase64(this.handle,e))}getFileContentAsString(e){return new S(y().getBlobContentAsString(this.handle,e))}getFileContentAsJson(e){return new S(y().getBlobContentAsString(this.handle,e)).mapDefined(n=>JSON.parse(n))}getBlobContentAsBase64(){return this.getFileContentAsBase64()}getBlobContentAsString(){return this.getFileContentAsString()}getFileHandle(){return new S(y().getDownloadedBlobContentHandle(this.handle))}getDownloadedBlobHandle(){return this.getFileHandle()}getRemoteFileHandle(){return new S(y().getOnDemandBlobContentHandle(this.handle))}getOnDemandBlobHandle(){return this.getRemoteFileHandle()}extractArchiveAndGetURL(e){return new S(y().extractArchiveAndGetURL(this.handle,e))}getImportProgress(){return new S(y().getImportProgress(this.handle))}getLastLogs(e){return new S(y().getLastLogs(this.handle,e))}getProgressLog(e){return new S(y().getProgressLog(this.handle,e))}getProgressLogWithInfo(e){return new S(y().getProgressLogWithInfo(this.handle,e))}getLogHandle(){return new S(y().getLogHandle(this.handle))}allFieldsResolved(e="Input"){switch(e){case"Input":return this.getInputsLocked()&&this.listInputFields().every(n=>this.resolve({field:n,assertFieldType:"Input"})!==void 0);case"Output":return this.getOutputsLocked()&&this.listOutputFields().every(n=>this.resolve({field:n,assertFieldType:"Output"})!==void 0)}}mapFields(e,n){const{fieldType:r,requireLocked:i,skipUnresolved:s}={fieldType:"Input",requireLocked:!0,skipUnresolved:!1,...n},o=e;if(i&&(r==="Input"&&!this.getInputsLocked()||r==="Output"&&!this.getOutputsLocked()))return;let l=(r==="Input"?this.listInputFields():r==="Output"?this.listOutputFields():this.listDynamicFields()).map(u=>[u,this.resolve({field:u,assertFieldType:r})]);return s&&(l=l.filter(u=>u[1]!==void 0)),l.map(([u,d])=>o(u,d))}}const _e="staging",Le="main",Vt={explicitColumnsSupport:!0,inlineColumnsSupport:!0,activeArgs:!0};function Ee(t){return typeof t=="object"&&t!==null&&"__awaited_futures__"in t}function pe(t,e,n){if(e.has(n))return;if(e.add(n),typeof n==="object")if(Ee(n))n.__awaited_futures__.forEach(i=>t.add(i));else if(Array.isArray(n))for(const i of n)pe(t,e,i);else for(const[,i]of Object.entries(n))i!==n&&pe(t,e,i)}function Kt(t){const e=new Set;return pe(e,new Set,t),e}const Jt=Object.freeze(Object.defineProperty({__proto__:null,GlobalCfgRenderCtxFeatureFlags:Vt,MainAccessorName:Le,StagingAccessorName:_e,getAllFutureAwaits:Kt,isFutureAwait:Ee},Symbol.toStringTag,{value:"Module"})),Oe="pl7.app/label",Re="pl7.app/trace",De=$.z.object({type:$.z.string(),importance:$.z.number().optional(),id:$.z.string().optional(),label:$.z.string()}),ke=$.z.array(De),Mt=.001,$t="__LABEL__",Pe="__LABEL__@1";function me(t,e,n={}){const r=new Map,i=n.forceTraceElements!==void 0&&n.forceTraceElements.length>0?new Set(n.forceTraceElements):void 0,s=new Map,o=t.map(h=>{var I,k;const P=e(h);let f,m,A;"spec"in P&&typeof P.spec=="object"?(f=P.spec,m=P.prefixTrace,A=P.suffixTrace):f=P;const g=(I=f.annotations)==null?void 0:I[Oe],E=(k=f.annotations)==null?void 0:k[Re],w=(E?ke.safeParse(JSON.parse(E)).data:void 0)??[],v=[...m??[],...w,...A??[]];if(g!==void 0){const R={label:g,type:$t,importance:-2};n.addLabelAsSuffix?v.push(R):v.splice(0,0,R)}const C=[],O=new Map;for(let R=v.length-1;R>=0;--R){const{type:G}=v[R],j=v[R].importance??0,K=(O.get(G)??0)+1;O.set(G,K);const F=`${G}@${K}`;s.set(F,(s.get(F)??0)+1),r.set(F,Math.max(r.get(F)??Number.NEGATIVE_INFINITY,j-(v.length-R)*Mt)),C.push({...v[R],fullType:F,occurrenceIndex:K})}return C.reverse(),{value:h,spec:f,label:g,fullTrace:C}}),a=[],l=[],u=[...r];u.sort(([,h],[,P])=>P-h);for(const[h]of u)h.endsWith("@1")||s.get(h)===t.length?a.push(h):l.push(h);const d=(h,P=!1)=>{const f=[];for(let m=0;m<o.length;m++){const A=o[m],g=A.fullTrace.filter(v=>h.has(v.fullType)||i&&i.has(v.type));if(g.length===0)if(P)f.push({label:"Unlabeled",value:A.value});else return;const E=g.map(v=>v.label),w=n.separator??" / ";f.push({label:E.join(w),value:A.value})}return f};if(a.length===0){if(l.length!==0)throw new Error("Non-empty secondary types list while main types list is empty.");return d(new Set(Pe),!0)}let p=0,b=-1;for(;p<a.length;){const h=new Set;n.includeNativeLabel&&h.add(Pe);for(let f=0;f<p;++f)h.add(a[f]);b>=0&&h.add(a[b]);const P=d(h);if(P!==void 0&&new Set(P.map(f=>f.label)).size===t.length)return P;b++,b>=a.length&&(p++,b=p)}return d(new Set([...a,...l]),!0)}const re="PColumnData/",Z=re+"ResourceMap",ee=re+"Partitioned/ResourceMap",U=re+"JsonPartitioned",V=re+"BinaryPartitioned",Fe=re+"Partitioned/",te=Fe+"JsonPartitioned",B=Fe+"BinaryPartitioned";function je(t,e,n,r=[],i){if(t===void 0)return!1;switch(t.resourceType.name){case Z:{let s=t.getInputsLocked();for(const o of t.listInputFields()){const a=t.resolve({field:o,assertFieldType:"Input"}),l=[...r,...JSON.parse(o)],u=a===void 0?void 0:e(a);u===void 0&&(s=!1),(u!==void 0||i)&&n.push({key:l,value:u})}return s}case ee:{let s=t.getInputsLocked();for(const o of t.listInputFields()){const a=t.resolve({field:o,assertFieldType:"Input"});if(a===void 0)s=!1;else{const l=[...r,...JSON.parse(o)],u=je(a,e,n,l,i);s=s&&u}}return s}default:throw new Error(`Unknown resource type: ${t.resourceType.name}`)}}function Ut(t,e,n=!1){const r=[];return{isComplete:je(t,e,r,[],n),data:r}}const fe=t=>{if(t.endsWith(".index"))return{baseKey:t.substring(0,t.length-6),type:"index"};if(t.endsWith(".values"))return{baseKey:t.substring(0,t.length-7),type:"values"};throw new Error(`key must ends on .index/.values for binary p-column, got: ${t}`)};function Ne(t){if(!t)return;const e=t.resourceType.name,n=t.getDataAsJson(),r=[];let i=0;switch(e){case Z:i=n.keyLength;break;case ee:i=n.partitionKeyLength+n.keyLength;break;case U:case V:i=n.partitionKeyLength;break;case B:case te:i=n.superPartitionKeyLength+n.partitionKeyLength;break}switch(e){case Z:case U:case V:for(let s of t.listInputFields()){e===V&&(s=fe(s).baseKey);const o=[...JSON.parse(s)];r.push(o)}break;case ee:case B:case te:for(const s of t.listInputFields()){const o=[...JSON.parse(s)],a=t.resolve({field:s,assertFieldType:"Input"});if(a!==void 0)for(let l of a.listInputFields()){e===B&&(l=fe(l).baseKey);const u=[...o,...JSON.parse(l)];r.push(u)}}break}return{data:r,keyLength:i}}function Bt(t){if(t.type!=="JsonPartitioned"&&t.type!=="BinaryPartitioned")throw new Error(`Splitting requires Partitioned DataInfoEntries, got ${t.type}`);const{parts:e,partitionKeyLength:n}=t,r=[];for(let i=0;i<n;++i)r.push(new Set);for(const i of e){const s=i.key;if(s.length!==n)throw new Error(`Key length (${s.length}) does not match partition length (${n}) for key: ${JSON.stringify(s)}`);for(let o=0;o<n;++o)r[o].add(s[o])}return r.map(i=>Array.from(i.values()))}function Ve(t){if(t===void 0)return;if(c.isDataInfoEntries(t))return Bt(t);const e=Ne(t);if(!e)return;const{data:n,keyLength:r}=e,i=[];for(let s=0;s<r;++s)i.push(new Set);for(const s of n){if(s.length!==r)throw new Error("key length does not match partition length");for(let o=0;o<r;++o)i[o].add(s[o])}return i.map(s=>Array.from(s.values()))}function ae(t,e=[]){if(t===void 0||!t.getIsReadyOrError())return;const n=t.resourceType.name,r=t.getDataAsJson();if(e.length>0&&(n===te||n===B))throw new Error(`Unexpected nested super-partitioned resource: ${n}`);switch(n){case Z:case ee:throw new Error(`Only data columns are supported, got: ${n}`);case U:{if(typeof(r==null?void 0:r.partitionKeyLength)!="number")throw new Error(`Missing partitionKeyLength in metadata for ${n}`);const i=[];for(const s of t.listInputFields()){const o=t.resolve({field:s,assertFieldType:"Input"});if(o===void 0)return;const a=[...e,...JSON.parse(s)];i.push({key:a,value:o})}return{type:"JsonPartitioned",partitionKeyLength:r.partitionKeyLength,parts:i}}case V:{if(typeof(r==null?void 0:r.partitionKeyLength)!="number")throw new Error(`Missing partitionKeyLength in metadata for ${n}`);const i=[],s=new Map;for(const o of t.listInputFields()){const a=fe(o),l=t.resolve({field:o,assertFieldType:"Input"});if(l===void 0)return;let u=s.get(a.baseKey);u||(u={},s.set(a.baseKey,u)),a.type==="index"?u.index=l:u.values=l}for(const[o,a]of s.entries()){if(!a.index||!a.values)return;const l=[...e,...JSON.parse(o)];i.push({key:l,value:{index:a.index,values:a.values}})}return{type:"BinaryPartitioned",partitionKeyLength:r.partitionKeyLength,parts:i}}case te:{if(typeof(r==null?void 0:r.superPartitionKeyLength)!="number"||typeof(r==null?void 0:r.partitionKeyLength)!="number")throw new Error(`Missing superPartitionKeyLength or partitionKeyLength in metadata for ${n}`);const i=r.superPartitionKeyLength+r.partitionKeyLength,s=[];for(const o of t.listInputFields()){const a=t.resolve({field:o,assertFieldType:"Input"});if(a===void 0)return;if(a.resourceType.name!==U)throw new Error(`Expected ${U} inside ${n}, but got ${a.resourceType.name}`);const l=ae(a,JSON.parse(o));if(l===void 0)return;if(l.type!=="JsonPartitioned")throw new Error(`Unexpected inner result type for ${n}: ${l.type}`);s.push(...l.parts)}return{type:"JsonPartitioned",partitionKeyLength:i,parts:s}}case B:{if(typeof(r==null?void 0:r.superPartitionKeyLength)!="number"||typeof(r==null?void 0:r.partitionKeyLength)!="number")throw new Error(`Missing superPartitionKeyLength or partitionKeyLength in metadata for ${n}`);const i=r.superPartitionKeyLength+r.partitionKeyLength,s=[];for(const o of t.listInputFields()){const a=t.resolve({field:o,assertFieldType:"Input"});if(a===void 0)return;if(a.resourceType.name!==V)throw new Error(`Expected ${V} inside ${n}, but got ${a.resourceType.name}`);const l=ae(a,JSON.parse(o));if(l===void 0)return;if(l.type!=="BinaryPartitioned")throw new Error(`Unexpected inner result type for ${n}: ${l.type}`);s.push(...l.parts)}return{type:"BinaryPartitioned",partitionKeyLength:i,parts:s}}default:throw new Error(`Unknown resource type: ${n}`)}}function Ke(t){if(t!==void 0){if(c.isDataInfoEntries(t))return t;if(c.isDataInfo(t))return c.dataInfoToEntries(t);if(t instanceof L)return ae(t);throw new Error(`Unexpected input type: ${typeof t}`)}}function Je(t,e){const n=[...e].sort((s,o)=>o[0]-s[0]);if(t.type==="JsonPartitioned"||t.type==="BinaryPartitioned"){const{partitionKeyLength:s}=t;for(const[o]of e)if(o>=s)throw new Error(`Can't filter on non-partitioned axis ${o}. Must be >= ${s}`)}else if(t.type==="Json"){const{keyLength:s}=t;for(const[o]of e)if(o>=s)throw new Error(`Can't filter on non-data axis ${o}. Must be >= ${s}`)}const r=s=>{for(const[o,a]of n)if(s[o]!==a)return!1;return!0},i=s=>{const o=[...s];for(const[a]of n)o.splice(a,1);return o};switch(t.type){case"Json":{const s=t.data.filter(o=>r(o.key)).map(o=>({key:i(o.key),value:o.value}));return{type:"Json",keyLength:t.keyLength-e.length,data:s}}case"JsonPartitioned":{const s=t.parts.filter(o=>r(o.key)).map(o=>({key:i(o.key),value:o.value}));return{type:"JsonPartitioned",partitionKeyLength:t.partitionKeyLength-e.length,parts:s}}case"BinaryPartitioned":{const s=t.parts.filter(o=>r(o.key)).map(o=>({key:i(o.key),value:o.value}));return{type:"BinaryPartitioned",partitionKeyLength:t.partitionKeyLength-e.length,parts:s}}}}function Wt(t){if(!Array.isArray(t))return!1;if(t.length===0)return!0;const e=t[0];return typeof e=="object"&&e!==null&&"key"in e&&"val"in e}class Gt{constructor(e){this.columns=e}selectColumns(e){const n=typeof e=="function"?e:c.selectorsToPredicate(e);return this.columns.filter(r=>n(r.spec))}}function zt(t){if(t)return t.map(e=>({type:`split:${c.canonicalizeAxisId(e.axisId)}`,label:e.label,importance:1e6}))}function Ht(t){if(t)return t.map(e=>[e.axisIdx,e.value])}function qt(t,e){if(!e||e.length===0)return t;const n=[...e].sort((r,i)=>r[0]-i[0]);return xe({id:t,axisFilters:n})}function Ce(t){if(!t||typeof t!="object")return!1;const e=t,n=e.domain&&typeof e.domain=="object"&&Object.values(e.domain).some(i=>typeof i=="object"&&i!==null&&"anchor"in i),r=e.axes&&Array.isArray(e.axes)&&e.axes.some(i=>typeof i=="object"&&i!==null&&"anchor"in i);return!!e.domainAnchor||n||r}function Yt(t){if(typeof t!="object"||!("axes"in t)||t.axes===void 0)return[];const e=t.axes.map((n,r)=>typeof n=="object"&&"split"in n&&n.split===!0?r:-1).filter(n=>n!==-1);if(e.length>0&&t.partialAxesMatch!==void 0)throw new Error("Axis splitting is not supported when `partialAxesMatch` is defined.");return e.sort((n,r)=>n-r),e}class ne{constructor(){D(this,"defaultProviderStore",[]);D(this,"providers",[new Gt(this.defaultProviderStore)]);D(this,"axisLabelProviders",[])}addColumnProvider(e){return this.providers.push(e),this}addAxisLabelProvider(e){return this.axisLabelProviders.push(e),this}addColumns(e){return this.defaultProviderStore.push(...e),this}addColumn(e){return this.defaultProviderStore.push(e),this}findLabels(e){for(const n of this.axisLabelProviders){const r=n.findLabels(e);if(r)return r}}getUniversalEntries(e,n){const{anchorCtx:r,labelOps:i,dontWaitAllData:s=!1,overrideLabelAnnotation:o=!1,exclude:a}=n??{},l={...o&&(i==null?void 0:i.includeNativeLabel)!==!1?{includeNativeLabel:!0}:{},...i??{}};let u=()=>!1;if(a){const f=(Array.isArray(a)?a:[a]).map(m=>{if(Ce(m)){if(!r)throw new Error("Anchored selectors in exclude require an AnchoredIdDeriver to be provided in options.");return c.selectorsToPredicate(c.resolveAnchors(r.anchors,m,n))}else return c.selectorsToPredicate(m)});u=m=>f.some(A=>A(m))}const d=typeof e=="function"?[e]:Array.isArray(e)?e:[e],p=[],b=new Set;for(const f of d){const m=Ce(f);let A;if(m){if(!r)throw new Error("Anchored selectors require an AnchoredIdDeriver to be provided in options.");A=c.resolveAnchors(r.anchors,f,n)}else A=f;const g=new Set,E=[];for(const C of this.providers){const O=C.selectColumns(A);for(const I of O){if(u(I.spec))continue;if(g.has(I.id))throw new Error(`Duplicate column id ${I.id} in provider ${C.constructor.name}`);const k=c.deriveNativeId(I.spec);b.has(k)||(g.add(I.id),b.add(k),E.push(I))}}if(E.length===0)continue;const w=Yt(f),v=w.length>0;for(const C of E){if(!c.isPColumnSpec(C.spec))continue;const O=C.spec;if(v){if(Wt(C.data))throw new Error(`Splitting is not supported for PColumns with PColumnValues data format. Column id: ${C.id}`);const I=Ke(C.data);if(!I){if(s)continue;return}if(!c.isPartitionedDataInfoEntries(I))throw new Error(`Splitting requires Partitioned DataInfoEntries, but parsing resulted in ${I.type} for column ${C.id}`);const k=Ve(I),R=w[w.length-1];if(R>=I.partitionKeyLength)throw new Error(`Not enough partition keys (${I.partitionKeyLength}) for requested split axes (max index ${R}) in column ${O.name}`);const G=w.map(T=>this.findLabels(c.getAxisId(O.axesSpec[T]))),j=[],K=(T,z)=>{if(z>=w.length){if(j.push([...T]),j.length>1e4)throw new Error("Too many key combinations, aborting.");return}const N=w[z];if(N>=k.length)throw new Error(`Axis index ${N} out of bounds for unique keys array (length ${k.length}) during split key generation for column ${C.id}`);const J=k[N];if(!J||J.length===0){j.length=0;return}for(const ie of J)T.push(ie),K(T,z+1),T.pop()};if(K([],0),j.length===0)continue;const F=[...O.axesSpec],et=w.map(T=>T);for(let T=w.length-1;T>=0;T--)F.splice(w[T],1);const tt={...O,axesSpec:F};for(const T of j){const z=T.map((N,J)=>{const ie=et[J],nt=c.getAxisId(O.axesSpec[ie]),ue=G[J],rt=(ue==null?void 0:ue[N])??String(N);return{axisIdx:ie,axisId:nt,value:N,label:rt}});p.push({type:"split",originalColumn:C,spec:O,adjustedSpec:tt,dataEntries:I,axisFilters:z})}}else p.push({type:"direct",originalColumn:C,spec:O,adjustedSpec:O})}}if(p.length===0)return[];const h=me(p,f=>({spec:f.spec,suffixTrace:f.type==="split"?zt(f.axisFilters):void 0}),l),P=[];for(const{value:f,label:m}of h){const{originalColumn:A,spec:g}=f,E=f.type==="split"?f.axisFilters:void 0,w=Ht(E);let v;r?v=r.deriveS(g,w):v=qt(A.id,w);let C={...f.adjustedSpec};o&&(C={...C,annotations:{...C.annotations??{},"pl7.app/label":m}}),P.push({id:v,spec:C,data:()=>f.type==="split"?c.entriesToDataInfo(Je(f.dataEntries,w)):f.originalColumn.data,label:m})}return P}getColumns(e,n){const r=this.getUniversalEntries(e,{overrideLabelAnnotation:!0,...n??{}});if(!r)return;const i=[];for(const s of r){const o=s.data();if(!o){if(n!=null&&n.dontWaitAllData)continue;return}i.push({id:s.id,spec:s.spec,data:o})}return i}}function de(t,e){if(t===void 0)return e===void 0;if(e===void 0)return!0;for(const n in e)if(t[n]!==e[n])return!1;return!0}function we(t){return c.mapPObjectData(t,e=>e instanceof L?e.handle:c.isDataInfo(e)?c.mapDataInfo(e,n=>n.handle):e)}class Me{constructor(){D(this,"ctx",y())}calculateOptions(e){return this.ctx.calculateOptions(e)}getOptions(e,n){const r=typeof e=="function"?e:c.selectorsToPredicate(e),i=this.getSpecs().entries.filter(a=>r(a.obj));let s={},o=!1;return typeof n<"u"&&(typeof n=="function"?s=n:typeof n=="object"&&("includeNativeLabel"in n||"separator"in n||"addLabelAsSuffix"in n?s=n:(n=n,s=n.label??{},o=n.refsWithEnrichments??!1))),typeof s=="object"?me(i,a=>a.obj,s??{}).map(({value:{ref:a},label:l})=>({ref:c.withEnrichments(a,o),label:l})):i.map(({ref:a,obj:l})=>({ref:c.withEnrichments(a,o),label:s(l,a)}))}resolveAnchorCtx(e){if(e instanceof c.AnchoredIdDeriver)return e;const n={};for(const[r,i]of Object.entries(e))if(c.isPlRef(i)){const s=this.getPColumnSpecByRef(i);if(!s)return;n[r]=s}else n[r]=i;return new c.AnchoredIdDeriver(n)}getAnchoredPColumns(e,n,r){const i=this.resolveAnchorCtx(e);if(i)return new ne().addColumnProvider(this).addAxisLabelProvider(this).getColumns(n,{...r,anchorCtx:i})}getCanonicalOptions(e,n,r){const i=this.resolveAnchorCtx(e);if(!i)return;const s=new ne().addColumnProvider(this).addAxisLabelProvider(this).getUniversalEntries(n,{...r,anchorCtx:i});if(s)return s.map(o=>({value:o.id,label:o.label}))}getDataFromResultPool(){return this.getData()}getData(){const e=this.ctx.getDataFromResultPool();return{isComplete:e.isComplete,entries:e.entries.map(n=>({ref:n.ref,obj:{...n.obj,data:new L(n.obj.data,[n.ref.blockId,n.ref.name])}}))}}getDataWithErrorsFromResultPool(){return this.getDataWithErrors()}getDataWithErrors(){const e=this.ctx.getDataWithErrorsFromResultPool();return{isComplete:e.isComplete,entries:e.entries.map(n=>({ref:n.ref,obj:{...n.obj,data:c.mapValueInVOE(n.obj.data,r=>new L(r,[n.ref.blockId,n.ref.name]))}}))}}getSpecsFromResultPool(){return this.getSpecs()}getSpecs(){return this.ctx.getSpecsFromResultPool()}getDataByRef(e){var r;if(typeof this.ctx.getDataFromResultPoolByRef>"u")return(r=this.getData().entries.find(i=>i.ref.blockId===e.blockId&&i.ref.name===e.name))==null?void 0:r.obj;const n=this.ctx.getDataFromResultPoolByRef(e.blockId,e.name);if(n)return c.mapPObjectData(n,i=>new L(i,[e.blockId,e.name]))}getPColumnByRef(e){const n=this.getDataByRef(e);if(n)return c.ensurePColumn(n)}getPColumnSpecByRef(e){const n=this.getSpecByRef(e);if(n){if(!c.isPColumnSpec(n))throw new Error(`not a PColumn spec (kind = ${n.kind})`);return n}}getSpecByRef(e){return this.ctx.getSpecFromResultPoolByRef(e.blockId,e.name)}findDataWithCompatibleSpec(e){const n=[];e:for(const r of this.getData().entries){if(!c.isPColumnSpec(r.obj.spec))continue;const i=r.obj.spec;if(e.name===i.name&&e.valueType===i.valueType&&e.axesSpec.length===i.axesSpec.length&&de(e.domain,i.domain)){for(let s=0;s<e.axesSpec.length;++s){const o=e.axesSpec[s],a=i.axesSpec[s];if(o.name!==a.name||o.type!==a.type||!de(o.domain,a.domain))continue e}n.push(r.obj)}}return n}findLabels(e){const n=this.getData();for(const r of n.entries){if(!c.isPColumn(r.obj))continue;const i=r.obj.spec;if(i.name==="pl7.app/label"&&i.axesSpec.length===1&&i.axesSpec[0].name===e.name&&i.axesSpec[0].type===e.type&&de(e.domain,i.axesSpec[0].domain)){if(r.obj.data.resourceType.name!=="PColumnData/Json")throw Error(`Expected JSON column for labels, got: ${r.obj.data.resourceType.name}`);return Object.fromEntries(Object.entries(r.obj.data.getDataAsJson().data).map(o=>[JSON.parse(o[0])[0],o[1]]))}}}selectColumns(e){const n=typeof e=="function"?e:c.selectorsToPredicate(e);return this.getSpecs().entries.filter(({obj:i})=>c.isPColumnSpec(i)?n(i):!1).map(({ref:i,obj:s})=>{const o=s;let a=null;const l=this;return{id:xe(i),spec:o,get data(){var u;return a!==null||(a=(u=l.getPColumnByRef(i))==null?void 0:u.data),a}}})}findLabelsForColumnAxis(e,n){var s;const r=this.findLabels(e.axesSpec[n]);if(!r)return;const i=(s=e.annotations)==null?void 0:s["pl7.app/axisKeys/"+n];if(i!==void 0){const o=JSON.parse(i);return Object.fromEntries(o.map(a=>[a,r[a]??"Unlabelled"]))}else return r}}class q{constructor(){D(this,"ctx");D(this,"args");D(this,"uiState");D(this,"_activeArgsCache");D(this,"resultPool",new Me);this.ctx=y(),this.args=JSON.parse(this.ctx.args),this.uiState=this.ctx.uiState!==void 0?JSON.parse(this.ctx.uiState):{}}get activeArgs(){return this._activeArgsCache===void 0&&(this._activeArgsCache={v:this.ctx.activeArgs?JSON.parse(this.ctx.activeArgs):void 0}),this._activeArgsCache.v}getNamedAccessor(e){return oe(this.ctx.getAccessorHandleByName(e),n=>new L(n,[e]))}get prerun(){return this.getNamedAccessor(_e)}get outputs(){return this.getNamedAccessor(Le)}findLabels(e){return this.resultPool.findLabels(e)}verifyInlineAndExplicitColumnsSupport(e){var i;const n=e.some(s=>!(s.data instanceof L)||c.isDataInfo(s.data)),r=((i=this.ctx.featureFlags)==null?void 0:i.inlineColumnsSupport)===!0;if(n&&!r)throw Error("Inline or explicit columns not supported")}createPFrame(e){return this.verifyInlineAndExplicitColumnsSupport(e),this.ctx.createPFrame(e.map(n=>we(n)))}createPTable(e){let n;return"columns"in e?n={src:{type:"full",entries:e.columns.map(r=>({type:"column",column:r}))},filters:e.filters??[],sorting:e.sorting??[]}:n=e,this.verifyInlineAndExplicitColumnsSupport(c.extractAllColumns(n.src)),this.ctx.createPTable(c.mapPTableDef(n,r=>we(r)))}getBlockLabel(e){return this.ctx.getBlockLabel(e)}getCurrentUnstableMarker(){return this.ctx.getCurrentUnstableMarker()}logInfo(e){this.ctx.logInfo(e)}logWarn(e){this.ctx.logWarn(e)}logError(e){this.ctx.logError(e)}}const X="1.34.8";function $e(t){return t.__renderLambda===!0}function se(t){if(t!==void 0)return $e(t)?t.handle:t}function M(t){if(t!==void 0)return typeof t=="string"?{__renderLambda:!0,handle:t,retentive:!1}:t}function Xt(t){if(t.v3!==void 0){const{initialArgs:e,initialUiState:n,inputsValid:r,outputs:i,renderingMode:s,sdkVersion:o,sections:a,title:l,enrichmentTargets:u}=t.v3,{code:d}=t;return{initialArgs:e,initialUiState:n,inputsValid:r,outputs:i,renderingMode:s,sdkVersion:o,sections:a,title:l,code:d,enrichmentTargets:u}}else if(t.inputsValid!==void 0){const{sdkVersion:e,renderingMode:n,outputs:r,inputsValid:i,sections:s,initialArgs:o,code:a}=t,l=Object.keys(t);if(e===void 0||n===void 0||r===void 0||i===void 0||s===void 0||o===void 0)throw new Error(`Malformed config v2. SDK version ${e}; Fields = ${l.join(", ")}`);return{sdkVersion:e,renderingMode:n,initialArgs:o,outputs:Object.fromEntries(Object.entries(r).map(([u,d])=>[u,M(d)])),inputsValid:M(i),sections:M(s),initialUiState:void 0,code:a}}else if(t.renderingMode!==void 0){const{sdkVersion:e,canRun:n,renderingMode:r,outputs:i,sections:s,initialArgs:o,code:a}=t,l=Object.keys(t);if(r===void 0||i===void 0||n===void 0||s===void 0||o===void 0)throw new Error(`Malformed config v1. SDK version ${e}; Fields = ${l.join(", ")}`);return{sdkVersion:e??"unknown",renderingMode:r,initialArgs:o,outputs:Object.fromEntries(Object.entries(i).map(([u,d])=>[u,M(d)])),inputsValid:M(n),sections:M(s),initialUiState:void 0,code:a}}else{const{sdkVersion:e}=t,n=Object.keys(t);throw new Error(`Config format not supported: SDK = ${e}; Fields = ${n.join(", ")}`)}}class _{constructor(e,n,r,i,s,o,a,l){this._renderingMode=e,this._initialArgs=n,this._initialUiState=r,this._outputs=i,this._inputsValid=s,this._sections=o,this._title=a,this._enrichmentTargets=l}static create(e="Heavy"){return new _(e,void 0,{},{},Y(!0),Y([]),void 0,void 0)}output(e,n,r={}){if(typeof n=="function"){const i=`output#${e}`;return H(i,()=>n(new q)),new _(this._renderingMode,this._initialArgs,this._initialUiState,{...this._outputs,[e]:{__renderLambda:!0,handle:i,...r}},this._inputsValid,this._sections,this._title,this._enrichmentTargets)}else return new _(this._renderingMode,this._initialArgs,this._initialUiState,{...this._outputs,[e]:n},this._inputsValid,this._sections,this._title,this._enrichmentTargets)}retentiveOutput(e,n){return this.output(e,n,{retentive:!0})}argsValid(e){return typeof e=="function"?(H("inputsValid",()=>e(new q)),new _(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,{__renderLambda:!0,handle:"inputsValid"},this._sections,this._title,this._enrichmentTargets)):new _(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,e,this._sections,this._title,this._enrichmentTargets)}sections(e){return Array.isArray(e)?this.sections(Y(e)):typeof e=="function"?(H("sections",()=>e(new q)),new _(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,{__renderLambda:!0,handle:"sections"},this._title,this._enrichmentTargets)):new _(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,e,this._title,this._enrichmentTargets)}title(e){return H("title",()=>e(new q)),new _(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,this._sections,{__renderLambda:!0,handle:"title"},this._enrichmentTargets)}initialArgs(e){return new _(this._renderingMode,e,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title,this._enrichmentTargets)}withArgs(e){return new _(this._renderingMode,e,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title,this._enrichmentTargets)}withUiState(e){return new _(this._renderingMode,this._initialArgs,e,this._outputs,this._inputsValid,this._sections,this._title,this._enrichmentTargets)}enriches(e){return H("enrichmentTargets",e),new _(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title,{__renderLambda:!0,handle:"enrichmentTargets"})}done(){if(this._initialArgs===void 0)throw new Error("Initial arguments not set.");const e={v3:{sdkVersion:X,renderingMode:this._renderingMode,initialArgs:this._initialArgs,initialUiState:this._initialUiState,inputsValid:this._inputsValid,sections:this._sections,title:this._title,outputs:this._outputs,enrichmentTargets:this._enrichmentTargets},sdkVersion:X,renderingMode:this._renderingMode,initialArgs:this._initialArgs,inputsValid:se(this._inputsValid),sections:se(this._sections),outputs:Object.fromEntries(Object.entries(this._outputs).map(([n,r])=>[n,se(r)]))};return Ft()?Te({sdkVersion:X}):{config:e}}}function Qt(t){const e=t.type;switch(e){case"axis":return c.canonicalizeJson(t);case"column":return c.canonicalizeJson(t);default:throw Error(`unsupported column type: ${e}`)}}function le(t){return t.axesSpec.length===1&&t.name==="pl7.app/label"}function ye(t){return new ne().addAxisLabelProvider(t).addColumnProvider(t).getColumns({name:"pl7.app/label",axes:[{}]},{dontWaitAllData:!0})}function be(t,e){const n=[],r=[];for(const a of t)le(a.spec)?n.push(a):r.push(a);const i=[];for(const a of r)for(const l of a.spec.axesSpec){const u=c.getAxisId(l);i.some(d=>c.matchAxisId(d,u))||i.push(u)}for(const a of n){const l=c.getAxisId(a.spec.axesSpec[0]),u=i.findIndex(d=>c.matchAxisId(d,l));u!==-1&&i.splice(u,1)}const s=(a,l)=>{let u=a.toString();if(l)for(const d in l)u+=d,u+=l[d];return u},o=[];for(const a of e){const l=a.spec.axesSpec[0],u=c.getAxisId(l),d=i.findIndex(p=>c.matchAxisId(p,u));if(d!==-1){const p=i[d],b=Object.keys(p.domain??{}).length,h=Object.keys(l.domain??{}).length;b>h?o.push({id:s(a.id,p.domain),spec:{...a.spec,axesSpec:[{...p,annotations:l.annotations}]},data:a.data}):o.push(a),i.splice(d,1)}}return o}function ve(t){const e=i=>Array.isArray(i),n=i=>i instanceof L,r=i=>typeof i=="object"&&"type"in i;return t.map(i=>i.data).every(i=>{if(e(i))return!0;if(n(i))return i.getIsReadyOrError();if(r(i))switch(i.type){case"Json":return!0;case"JsonPartitioned":return Object.values(i.parts).every(o=>o.getIsReadyOrError());case"BinaryPartitioned":return Object.values(i.parts).every(o=>o.index.getIsReadyOrError()&&o.values.getIsReadyOrError())}else throw Error(`unsupported column data type: ${i}`)})}function Ue(t,e,n,r,i,s){let o=t;const a=[];if(s){o=[];for(const l of t)s(l.spec)?o.push(l):a.push(l)}return a.push(...e),{src:{type:"outer",primary:{type:n,entries:o.map(l=>({type:"column",column:l}))},secondary:a.map(l=>({type:"column",column:l}))},filters:r,sorting:i}}function Zt(t,e,n,r){var u,d;Array.isArray(r)&&(r={filters:r});const i=(r==null?void 0:r.coreJoinType)??"full",s=[...(r==null?void 0:r.filters)??[],...((u=n==null?void 0:n.pTableParams)==null?void 0:u.filters)??[]],o=((d=n==null?void 0:n.pTableParams)==null?void 0:d.sorting)??[],a=ye(t.resultPool);if(!a)return;const l=be(e.map(c.getColumnIdAndSpec),a);if(ve([...e,...l]))return t.createPTable(Ue(e,l,i,s,o,r==null?void 0:r.coreColumnPredicate))}function Be(t){var e;return((e=t.annotations)==null?void 0:e["pl7.app/table/visibility"])==="hidden"}function We(t){var e;return((e=t.annotations)==null?void 0:e["pl7.app/table/visibility"])==="optional"}function en(t,e,n,r,i){var m,A;const s=(i==null?void 0:i.coreJoinType)??"full",o=[...(i==null?void 0:i.filters)??[],...((m=r==null?void 0:r.pTableParams)==null?void 0:m.filters)??[]],a=((A=r==null?void 0:r.pTableParams)==null?void 0:A.sorting)??[],l=e.filter(g=>!Be(g.spec)),u=l.find(g=>n(g.spec));if(!u)return;const d=ye(t.resultPool);if(!d)return;const p=new Set((()=>{var E,w;if(s==="inner")return[];const g=(w=(E=r==null?void 0:r.gridState.columnVisibility)==null?void 0:E.hiddenColIds)==null?void 0:w.map(c.parseJson).filter(v=>v.type==="column").map(v=>v.id);return g||l.filter(v=>We(v.spec)).map(v=>v.id)})());p.delete(u.id),[...o.map(g=>g.column),...a.map(g=>g.column)].filter(g=>g.type==="column").map(g=>p.delete(g.id));const b=l.filter(g=>!p.has(g.id)),h=be(b.map(c.getColumnIdAndSpec),d),P=[...u.spec.axesSpec.map(g=>({type:"axis",id:c.getAxisId(g),spec:g})),...[...l,...h].map(g=>({type:"column",id:g.id,spec:g.spec}))];if(!ve([...b,...h]))return;const f=t.createPTable(Ue(l,h,s,o,a,i==null?void 0:i.coreColumnPredicate));return{tableSpec:P,tableHandle:f}}function tn(t,e,n){const r=t.resultPool.findLabels(e);return{axis:e,options:n.map(i=>({value:i,label:(r==null?void 0:r[i])??i.toString()})),defaultValue:n[0]}}const nn=(t,e)=>{let n=t.toString();return e==null||e.forEach(r=>{if(r)for(const[i,s]of Object.entries(r))n+=i,n+=s}),n};function rn(t){if(!t.length)return[];let e=[[]];return t.forEach(n=>{const r=[];n.forEach(i=>{r.push(...e.map(s=>[...s,i]))}),e=r}),e}function Ge(t){var e;return t.axesSpec.length===2&&((e=t.annotations)==null?void 0:e[He])==="true"}const ze="pl7.app/graph/isVirtual",he="pl7.app/label",He="pl7.app/isLinkerColumn";function qe(t){var n,r;const e=new Map;for(const{spec:i}of t){const s=i.axesSpec.map(c.getAxisId).map(c.canonicalizeJson);s.forEach(o=>{e.has(o)||e.set(o,new Set)});for(let o=0;o<s.length-1;o++)for(let a=o+1;a<s.length;a++){const l=s[o],u=s[a];(n=e.get(l))==null||n.add(u),(r=e.get(u))==null||r.add(l)}}return e}function Ye(t,e){const n=qe(t),r=[...n.keys()].map(c.parseJson),i=[];for(const l of e.values()){const u=r.find(d=>c.matchAxisId(l,d));u&&i.push(c.canonicalizeJson(u))}const s=new Set(i),o=new Map;let a=[...i];for(;a.length;){const l=[];for(const u of a)for(const d of n.get(u)??[])s.has(d)||(l.push(d),s.add(d),o.set(d,c.parseJson(d)));a=l}return o}function Xe(t,e){const n=[];return e.forEach(r=>{n.push(...sn(t,r))}),n}function sn(t,e){const n=e.spec.axesSpec.map(c.getAxisId);if(n.every(u=>t.has(c.canonicalizeJson(u))))return[e];const r=n.map(u=>{const d=[];for(const[p,b]of t)c.matchAxisId(b,u)&&!c.matchAxisId(u,b)&&d.push(b);return d}),i=rn(r),s=new Set,o=new Set,a=i.map(u=>{const d=new Set;return u.map((p,b)=>{const h=e.spec.axesSpec[b].domain,P=p.domain;return Object.entries(P??{}).forEach(([f,m])=>{if((h==null?void 0:h[f])===void 0){const A=JSON.stringify([f,m]);d.add(A),s.add(A)}}),{...p,annotations:e.spec.axesSpec[b].annotations}}),d});[...s].forEach(u=>{a.some(d=>!d.has(u))&&o.add(u)});const l=i.map((u,d)=>{var f;const p=nn(e.id,u.map(m=>m.domain)),b=((f=e.spec.annotations)==null?void 0:f[he])??"",h=[...a[d]].filter(m=>o.has(m)).sort().map(m=>{var A;return(A=JSON.parse(m))==null?void 0:A[1]}).join(" / "),P={...e.spec.annotations,[ze]:"true"};return(b||h)&&(P[he]=b&&h?b+" / "+h:b+h),{id:p,spec:{...e.spec,axesSpec:u.map((m,A)=>({...m,annotations:e.spec.axesSpec[A].annotations})),annotations:P},data:e.data}});return[e,...l]}function on(t,e){if(!e)return;const n=new ne;n.addColumnProvider(t.resultPool),n.addColumns(e);const r=new Map,i=new Map;for(const p of e)for(const b of p.spec.axesSpec){const h=c.getAxisId(b);r.set(c.canonicalizeJson(h),h),i.set(c.canonicalizeJson(h),h)}const s=n.getColumns(p=>Ge(p))??[],o=Ye(s,r);for(const p of o)r.set(...p),i.set(...p);const a=(n.getColumns([...r.values()].map(p=>({axes:[p],partialAxesMatch:!0})),{dontWaitAllData:!0,overrideLabelAnnotation:!1})??[]).filter(p=>!le(p.spec));for(const p of a)for(const b of p.spec.axesSpec){const h=c.getAxisId(b);i.set(c.canonicalizeJson(h),h)}const l=(n.getColumns([...i.values()].map(p=>({axes:[p],partialAxesMatch:!0})),{dontWaitAllData:!0,overrideLabelAnnotation:!1})??[]).filter(p=>le(p.spec)),u=[...a,...l],d=Xe(r,u);if(!d.some(p=>p.data instanceof L&&!p.data.getIsReadyOrError()))return t.createPFrame(d)}function an({selection:t,columnId:e=c.uniquePlId(),label:n="Selection marker",domain:r}){if(!(t!=null&&t.axesSpec.length))return;const i=t.selectedKeys.filter(s=>s.every(o=>!c.isPTableAbsent(o))).map(s=>({key:s,val:1}));if(i.length)return{id:e,spec:{kind:"PColumn",valueType:"Int",name:"pl7.app/table/row-selection",axesSpec:t.axesSpec,...r&&Object.keys(r).length&&{domain:r},annotations:{"pl7.app/label":n,"pl7.app/discreteValues":"[1]"}},data:i}}function ln(t){return t===c.PTableNA?(console.error("Axis value can never be N/A"),""):t}class un{constructor(e){this.handle=e}async findColumns(e){return await platforma.pFrameDriver.findColumns(this.handle,e)}async getColumnSpec(e){return await platforma.pFrameDriver.getColumnSpec(this.handle,e)}async listColumns(){return await platforma.pFrameDriver.listColumns(this.handle)}async calculateTableData(e,n){return await platforma.pFrameDriver.calculateTableData(this.handle,e,n)}async getUniqueValues(e){return await platforma.pFrameDriver.getUniqueValues(this.handle,e)}}function Qe(t){return ge({__isRef:!0,blockId:Q(t,"blockId"),name:Q(t,"name")})}function cn(t){return ge({ref:Qe(Q(t,"ref")),label:Q(t,"label")})}const dn={sdkVersion:X};function Ze(){return Te({sdkVersion:X})}function pn(t){try{return Ze()}catch{return t}}function fn(t){if(typeof globalThis.getEnvironmentValue=="function")return globalThis.getEnvironmentValue(t)}exports.Args=lt;exports.BlockModel=_;exports.CurrentSdkInfo=dn;exports.FutureRef=S;exports.IS_VIRTUAL_COLUMN=ze;exports.It=ut;exports.JsRenderInternal=Jt;exports.LABEL_ANNOTATION=he;exports.LINKER_COLUMN_ANNOTATION=He;exports.MainOutputs=ct;exports.OutputError=Ie;exports.PAnnotationLabel=Oe;exports.PAnnotationTrace=Re;exports.PColumnCollection=ne;exports.PFrameImpl=un;exports.RT_BINARY_PARTITIONED=V;exports.RT_BINARY_SUPER_PARTITIONED=B;exports.RT_JSON_PARTITIONED=U;exports.RT_JSON_SUPER_PARTITIONED=te;exports.RT_RESOURCE_MAP=Z;exports.RT_RESOURCE_MAP_PARTITIONED=ee;exports.RenderCtx=q;exports.ResultPool=Me;exports.StagingOutputs=dt;exports.Trace=ke;exports.TraceEntry=De;exports.TreeNodeAccessor=L;exports.UiState=pt;exports.allColumnsComputed=ve;exports.and=vt;exports.convertOrParsePColumnData=Ke;exports.createPFrameForGraphs=on;exports.createPlDataTable=Zt;exports.createPlDataTableSheet=tn;exports.createPlDataTableV2=en;exports.createRowSelectionColumn=an;exports.deriveLabels=me;exports.downgradeCfgOrLambda=se;exports.enrichCompatible=Xe;exports.extractArchiveAndGetURL=Lt;exports.extractConfig=Xt;exports.filterDataInfoEntries=Je;exports.flatten=mt;exports.fromPlOption=cn;exports.fromPlRef=Qe;exports.getAllLabelColumns=ye;exports.getAvailableWithLinkersAxes=Ye;exports.getBlobContent=xt;exports.getBlobContentAsJson=St;exports.getBlobContentAsString=It;exports.getDownloadedBlobContent=Tt;exports.getEnvironmentValue=fn;exports.getFromCfg=W;exports.getImmediate=Y;exports.getImportProgress=Et;exports.getJsonField=Q;exports.getLastLogs=Ot;exports.getLinkerColumnsMap=qe;exports.getLogHandle=kt;exports.getMatchingLabelColumns=be;exports.getOnDemandBlobContent=_t;exports.getPartitionKeysList=Ne;exports.getPlatformaOrDefault=pn;exports.getProgressLog=Rt;exports.getProgressLogWithInfo=Dt;exports.getRawPlatformaInstance=Ze;exports.getResourceField=Pt;exports.getResourceValueAsJson=Ct;exports.getUniquePartitionKeys=Ve;exports.ifDef=oe;exports.isColumnHidden=Be;exports.isColumnOptional=We;exports.isConfigLambda=$e;exports.isEmpty=yt;exports.isLabelColumn=le;exports.isLinkerColumn=Ge;exports.isolate=at;exports.makeArray=ft;exports.makeObject=ge;exports.mapArrayValues=gt;exports.mapPTableValueToAxisKey=ln;exports.mapRecordValues=ht;exports.mapResourceFields=wt;exports.not=bt;exports.or=At;exports.parsePColumnData=ae;exports.parseResourceMap=Ut;exports.readOutput=Se;exports.stringifyPTableColumnSpec=Qt;exports.wrapOutputs=ot;Object.keys(c).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>c[t]})});Object.keys(Ae).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>Ae[t]})});
1
+ "use strict";var at=Object.defineProperty;var lt=(t,e,n)=>e in t?at(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var D=(t,e,n)=>lt(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@milaboratories/pl-model-common"),Te=require("canonicalize"),$=require("zod"),we=require("@milaboratories/pl-error-like");class _e extends Error{constructor(e,n){super(`${e.length}${n?"+":""} errors, first error: `+e[0].message),this.errors=e,this.moreErrors=n}}function Le(t){if(!t.ok)throw new _e(t.errors,t.moreErrors);return t.value}function ut(t){return new Proxy(t,{get(e,n){return Le(e[n])}})}function S(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t===null?Y(t):t}function W(t){return{type:"GetFromCtx",variable:t}}function ct(t){return{type:"Isolate",cfg:t}}const dt=W("$args"),pt=W("$it"),ft=W("$prod"),ht=W("$staging"),gt=W("$ui");function Y(t){return{type:"Immediate",value:t}}function be(t){const e={};for(const[n,r]of Object.entries(t))e[n]=S(r);return{type:"MakeObject",template:e}}function mt(...t){const e=[];for(const n of t)e.push(S(n));return{type:"MakeArray",template:e}}function Q(t,e){return{type:"GetJsonField",source:S(t),field:S(e)}}function yt(t,e,n="$it"){return{type:"MapRecordValues",source:t,mapping:e,itVar:n}}function bt(t,e,n="$it"){return{type:"MapArrayValues",source:t,mapping:e,itVar:n}}function vt(t){return{type:"Flatten",source:t}}function At(t){return{type:"IsEmpty",arg:t}}function Pt(t){return{type:"Not",operand:t}}function Ct(t,e){return{type:"And",operand1:t,operand2:e}}function wt(t,e){return{type:"Or",operand1:t,operand2:e}}function xt(t,e){return{type:"GetResourceField",source:S(t),field:S(e)}}function St(){return function(t){return{type:"GetResourceValueAsJson",source:S(t)}}}function It(t,e,n="$it"){return{type:"MapResourceFields",source:t,mapping:e,itVar:n}}function Tt(t,e){return{type:"GetBlobContent",range:e,source:S(t)}}function _t(t,e){return{type:"GetBlobContentAsString",range:e,source:S(t)}}function Lt(){return function(t,e){return{type:"GetBlobContentAsJson",range:e,source:S(t)}}}function Et(t){return{type:"GetDownloadedBlobContent",source:S(t)}}function Ot(t){return{type:"GetOnDemandBlobContent",source:S(t)}}function Rt(t,e){return{type:"ExtractArchiveAndGetURL",format:e,source:S(t)}}function Dt(t){return{type:"GetImportProgress",source:S(t)}}function kt(t,e){return{type:"GetLastLogs",source:S(t),lines:e}}function Ft(t,e){return{type:"GetProgressLog",source:S(t),patternToSearch:e}}function Nt(t,e){return{type:"GetProgressLogWithInfo",source:S(t),patternToSearch:e}}function jt(t){return{type:"GetLogHandle",source:S(t)}}function Vt(){return typeof globalThis.getPlatforma<"u"||typeof globalThis.platforma<"u"}function Ee(t){if(t&&typeof globalThis.getPlatforma=="function")return globalThis.getPlatforma(t);if(typeof globalThis.platforma<"u")return globalThis.platforma;throw new Error("Can't get platforma instance.")}function Kt(){if(typeof globalThis.cfgRenderCtx<"u")return globalThis.cfgRenderCtx}function b(){if(typeof globalThis.cfgRenderCtx<"u")return globalThis.cfgRenderCtx;throw new Error("Not in config rendering context")}function H(t,e){const n=Kt();if(n===void 0)return!1;if(t in n.callbackRegistry)throw new Error(`Callback with key ${t} already registered.`);return n.callbackRegistry[t]=e,!0}const pe=new Map;function Jt(t,e){t in b().callbackRegistry||(b().callbackRegistry[t]=n=>{for(const r of pe.get(t))r(n)},pe.set(t,[])),pe.get(t).push(e)}class T{constructor(e,n=r=>r){D(this,"isResolved",!1);D(this,"resolvedValue");this.handle=e,this.postProcess=n,Jt(e,r=>{this.resolvedValue=n(r),this.isResolved=!0})}map(e){return new T(this.handle,n=>e(this.postProcess(n)))}mapDefined(e){return new T(this.handle,n=>{const r=this.postProcess(n);return r?e(r):void 0})}toJSON(){return this.isResolved?this.resolvedValue:{__awaited_futures__:[this.handle]}}}function ae(t,e){return t===void 0?void 0:e(t)}class E{constructor(e,n){this.handle=e,this.resolvePath=n}resolve(...e){const n=e.map(r=>({assertFieldType:"Input",...typeof r=="string"?{field:r}:r}));return this.resolveWithCommon({},...n)}resolveOutput(...e){const n=e.map(r=>({assertFieldType:"Output",...typeof r=="string"?{field:r}:r}));return this.resolveWithCommon({},...n)}resolveInput(...e){const n=e.map(r=>({assertFieldType:"Input",...typeof r=="string"?{field:r}:r}));return this.resolveWithCommon({},...n)}resolveAny(...e){return this.resolveWithCommon({},...e)}resolveWithCommon(e,...n){const r=[...this.resolvePath,...n.map(i=>typeof i=="string"?i:i.field)];return ae(b().resolveWithCommon(this.handle,e,...n),i=>new E(i,r))}get resourceType(){return b().getResourceType(this.handle)}getInputsLocked(){return b().getInputsLocked(this.handle)}getOutputsLocked(){return b().getOutputsLocked(this.handle)}getIsReadyOrError(){return b().getIsReadyOrError(this.handle)}getIsFinal(){return b().getIsFinal(this.handle)}getError(){const e=[...this.resolvePath,"error"];return ae(b().getError(this.handle),n=>new E(n,e))}listInputFields(){return b().listInputFields(this.handle)}listOutputFields(){return b().listOutputFields(this.handle)}listDynamicFields(){return b().listDynamicFields(this.handle)}getKeyValueBase64(e){return b().getKeyValueBase64(this.handle,e)}getKeyValueAsString(e){return b().getKeyValueAsString(this.handle,e)}getKeyValueAsJson(e){const n=this.getKeyValueAsString(e);if(n==null)throw new Error("Resource has no content.");return JSON.parse(n)}getDataBase64(){return b().getDataBase64(this.handle)}getDataAsString(){return b().getDataAsString(this.handle)}getDataAsJson(){const e=this.getDataAsString();if(e==null)throw new Error("Resource has no content.");return JSON.parse(e)}getPColumns(e=!1,n=""){const r=this.parsePObjectCollection(e,n);return r===void 0?void 0:Object.entries(r).map(([,s])=>{if(!c.isPColumn(s))throw new Error(`not a PColumn (kind = ${s.spec.kind})`);return s})}parsePObjectCollection(e=!1,n=""){const r=b().parsePObjectCollection(this.handle,e,n,...this.resolvePath);if(r===void 0)return;const i={};for(const[s,o]of Object.entries(r)){const a=[...this.resolvePath,s];i[s]=c.mapPObjectData(o,l=>new E(l,a))}return i}getFileContentAsBase64(e){return new T(b().getBlobContentAsBase64(this.handle,e))}getFileContentAsString(e){return new T(b().getBlobContentAsString(this.handle,e))}getFileContentAsJson(e){return new T(b().getBlobContentAsString(this.handle,e)).mapDefined(n=>JSON.parse(n))}getBlobContentAsBase64(){return this.getFileContentAsBase64()}getBlobContentAsString(){return this.getFileContentAsString()}getFileHandle(){return new T(b().getDownloadedBlobContentHandle(this.handle))}getDownloadedBlobHandle(){return this.getFileHandle()}getRemoteFileHandle(){return new T(b().getOnDemandBlobContentHandle(this.handle))}getOnDemandBlobHandle(){return this.getRemoteFileHandle()}extractArchiveAndGetURL(e){return new T(b().extractArchiveAndGetURL(this.handle,e))}getImportProgress(){return new T(b().getImportProgress(this.handle))}getLastLogs(e){return new T(b().getLastLogs(this.handle,e))}getProgressLog(e){return new T(b().getProgressLog(this.handle,e))}getProgressLogWithInfo(e){return new T(b().getProgressLogWithInfo(this.handle,e))}getLogHandle(){return new T(b().getLogHandle(this.handle))}allFieldsResolved(e="Input"){switch(e){case"Input":return this.getInputsLocked()&&this.listInputFields().every(n=>this.resolve({field:n,assertFieldType:"Input"})!==void 0);case"Output":return this.getOutputsLocked()&&this.listOutputFields().every(n=>this.resolve({field:n,assertFieldType:"Output"})!==void 0)}}mapFields(e,n){const{fieldType:r,requireLocked:i,skipUnresolved:s}={fieldType:"Input",requireLocked:!0,skipUnresolved:!1,...n},o=e;if(i&&(r==="Input"&&!this.getInputsLocked()||r==="Output"&&!this.getOutputsLocked()))return;let l=(r==="Input"?this.listInputFields():r==="Output"?this.listOutputFields():this.listDynamicFields()).map(u=>[u,this.resolve({field:u,assertFieldType:r})]);return s&&(l=l.filter(u=>u[1]!==void 0)),l.map(([u,d])=>o(u,d))}}const Oe="staging",Re="main",Mt={explicitColumnsSupport:!0,inlineColumnsSupport:!0,activeArgs:!0};function De(t){return typeof t=="object"&&t!==null&&"__awaited_futures__"in t}function he(t,e,n){if(e.has(n))return;if(e.add(n),typeof n==="object")if(De(n))n.__awaited_futures__.forEach(i=>t.add(i));else if(Array.isArray(n))for(const i of n)he(t,e,i);else for(const[,i]of Object.entries(n))i!==n&&he(t,e,i)}function $t(t){const e=new Set;return he(e,new Set,t),e}const Ut=Object.freeze(Object.defineProperty({__proto__:null,GlobalCfgRenderCtxFeatureFlags:Mt,MainAccessorName:Re,StagingAccessorName:Oe,getAllFutureAwaits:$t,isFutureAwait:De},Symbol.toStringTag,{value:"Module"})),ke="pl7.app/label",Fe="pl7.app/trace",Ne=$.z.object({type:$.z.string(),importance:$.z.number().optional(),id:$.z.string().optional(),label:$.z.string()}),je=$.z.array(Ne),Bt=.001,Wt="__LABEL__",xe="__LABEL__@1";function ve(t,e,n={}){const r=new Map,i=n.forceTraceElements!==void 0&&n.forceTraceElements.length>0?new Set(n.forceTraceElements):void 0,s=new Map,o=t.map(f=>{var I,k;const y=e(f);let h,v,A;"spec"in y&&typeof y.spec=="object"?(h=y.spec,v=y.prefixTrace,A=y.suffixTrace):h=y;const m=(I=h.annotations)==null?void 0:I[ke],w=(k=h.annotations)==null?void 0:k[Fe],C=(w?je.safeParse(JSON.parse(w)).data:void 0)??[],x=[...v??[],...C,...A??[]];if(m!==void 0){const R={label:m,type:Wt,importance:-2};n.addLabelAsSuffix?x.push(R):x.splice(0,0,R)}const P=[],O=new Map;for(let R=x.length-1;R>=0;--R){const{type:z}=x[R],N=x[R].importance??0,K=(O.get(z)??0)+1;O.set(z,K);const F=`${z}@${K}`;s.set(F,(s.get(F)??0)+1),r.set(F,Math.max(r.get(F)??Number.NEGATIVE_INFINITY,N-(x.length-R)*Bt)),P.push({...x[R],fullType:F,occurrenceIndex:K})}return P.reverse(),{value:f,spec:h,label:m,fullTrace:P}}),a=[],l=[],u=[...r];u.sort(([,f],[,y])=>y-f);for(const[f]of u)f.endsWith("@1")||s.get(f)===t.length?a.push(f):l.push(f);const d=(f,y=!1)=>{const h=[];for(let v=0;v<o.length;v++){const A=o[v],m=A.fullTrace.filter(x=>f.has(x.fullType)||i&&i.has(x.type));if(m.length===0)if(y)h.push({label:"Unlabeled",value:A.value});else return;const w=m.map(x=>x.label),C=n.separator??" / ";h.push({label:w.join(C),value:A.value})}return h};if(a.length===0){if(l.length!==0)throw new Error("Non-empty secondary types list while main types list is empty.");return d(new Set(xe),!0)}let p=0,g=-1;for(;p<a.length;){const f=new Set;n.includeNativeLabel&&f.add(xe);for(let h=0;h<p;++h)f.add(a[h]);g>=0&&f.add(a[g]);const y=d(f);if(y!==void 0&&new Set(y.map(h=>h.label)).size===t.length)return y;g++,g>=a.length&&(p++,g=p)}return d(new Set([...a,...l]),!0)}const ie="PColumnData/",Z=ie+"ResourceMap",ee=ie+"Partitioned/ResourceMap",U=ie+"JsonPartitioned",V=ie+"BinaryPartitioned",Ve=ie+"Partitioned/",te=Ve+"JsonPartitioned",B=Ve+"BinaryPartitioned";function Ke(t,e,n,r=[],i){if(t===void 0)return!1;switch(t.resourceType.name){case Z:{let s=t.getInputsLocked();for(const o of t.listInputFields()){const a=t.resolve({field:o,assertFieldType:"Input"}),l=[...r,...JSON.parse(o)],u=a===void 0?void 0:e(a);u===void 0&&(s=!1),(u!==void 0||i)&&n.push({key:l,value:u})}return s}case ee:{let s=t.getInputsLocked();for(const o of t.listInputFields()){const a=t.resolve({field:o,assertFieldType:"Input"});if(a===void 0)s=!1;else{const l=[...r,...JSON.parse(o)],u=Ke(a,e,n,l,i);s=s&&u}}return s}default:throw new Error(`Unknown resource type: ${t.resourceType.name}`)}}function zt(t,e,n=!1){const r=[];return{isComplete:Ke(t,e,r,[],n),data:r}}const ge=t=>{if(t.endsWith(".index"))return{baseKey:t.substring(0,t.length-6),type:"index"};if(t.endsWith(".values"))return{baseKey:t.substring(0,t.length-7),type:"values"};throw new Error(`key must ends on .index/.values for binary p-column, got: ${t}`)};function Je(t){if(!t)return;const e=t.resourceType.name,n=t.getDataAsJson(),r=[];let i=0;switch(e){case Z:i=n.keyLength;break;case ee:i=n.partitionKeyLength+n.keyLength;break;case U:case V:i=n.partitionKeyLength;break;case B:case te:i=n.superPartitionKeyLength+n.partitionKeyLength;break}switch(e){case Z:case U:case V:for(let s of t.listInputFields()){e===V&&(s=ge(s).baseKey);const o=[...JSON.parse(s)];r.push(o)}break;case ee:case B:case te:for(const s of t.listInputFields()){const o=[...JSON.parse(s)],a=t.resolve({field:s,assertFieldType:"Input"});if(a!==void 0)for(let l of a.listInputFields()){e===B&&(l=ge(l).baseKey);const u=[...o,...JSON.parse(l)];r.push(u)}}break}return{data:r,keyLength:i}}function Gt(t){if(t.type!=="JsonPartitioned"&&t.type!=="BinaryPartitioned")throw new Error(`Splitting requires Partitioned DataInfoEntries, got ${t.type}`);const{parts:e,partitionKeyLength:n}=t,r=[];for(let i=0;i<n;++i)r.push(new Set);for(const i of e){const s=i.key;if(s.length!==n)throw new Error(`Key length (${s.length}) does not match partition length (${n}) for key: ${JSON.stringify(s)}`);for(let o=0;o<n;++o)r[o].add(s[o])}return r.map(i=>Array.from(i.values()))}function Me(t){if(t===void 0)return;if(c.isDataInfoEntries(t))return Gt(t);const e=Je(t);if(!e)return;const{data:n,keyLength:r}=e,i=[];for(let s=0;s<r;++s)i.push(new Set);for(const s of n){if(s.length!==r)throw new Error("key length does not match partition length");for(let o=0;o<r;++o)i[o].add(s[o])}return i.map(s=>Array.from(s.values()))}function le(t,e=[]){if(t===void 0||!t.getIsReadyOrError())return;const n=t.resourceType.name,r=t.getDataAsJson();if(e.length>0&&(n===te||n===B))throw new Error(`Unexpected nested super-partitioned resource: ${n}`);switch(n){case Z:case ee:throw new Error(`Only data columns are supported, got: ${n}`);case U:{if(typeof(r==null?void 0:r.partitionKeyLength)!="number")throw new Error(`Missing partitionKeyLength in metadata for ${n}`);const i=[];for(const s of t.listInputFields()){const o=t.resolve({field:s,assertFieldType:"Input"});if(o===void 0)return;const a=[...e,...JSON.parse(s)];i.push({key:a,value:o})}return{type:"JsonPartitioned",partitionKeyLength:r.partitionKeyLength,parts:i}}case V:{if(typeof(r==null?void 0:r.partitionKeyLength)!="number")throw new Error(`Missing partitionKeyLength in metadata for ${n}`);const i=[],s=new Map;for(const o of t.listInputFields()){const a=ge(o),l=t.resolve({field:o,assertFieldType:"Input"});if(l===void 0)return;let u=s.get(a.baseKey);u||(u={},s.set(a.baseKey,u)),a.type==="index"?u.index=l:u.values=l}for(const[o,a]of s.entries()){if(!a.index||!a.values)return;const l=[...e,...JSON.parse(o)];i.push({key:l,value:{index:a.index,values:a.values}})}return{type:"BinaryPartitioned",partitionKeyLength:r.partitionKeyLength,parts:i}}case te:{if(typeof(r==null?void 0:r.superPartitionKeyLength)!="number"||typeof(r==null?void 0:r.partitionKeyLength)!="number")throw new Error(`Missing superPartitionKeyLength or partitionKeyLength in metadata for ${n}`);const i=r.superPartitionKeyLength+r.partitionKeyLength,s=[];for(const o of t.listInputFields()){const a=t.resolve({field:o,assertFieldType:"Input"});if(a===void 0)return;if(a.resourceType.name!==U)throw new Error(`Expected ${U} inside ${n}, but got ${a.resourceType.name}`);const l=le(a,JSON.parse(o));if(l===void 0)return;if(l.type!=="JsonPartitioned")throw new Error(`Unexpected inner result type for ${n}: ${l.type}`);s.push(...l.parts)}return{type:"JsonPartitioned",partitionKeyLength:i,parts:s}}case B:{if(typeof(r==null?void 0:r.superPartitionKeyLength)!="number"||typeof(r==null?void 0:r.partitionKeyLength)!="number")throw new Error(`Missing superPartitionKeyLength or partitionKeyLength in metadata for ${n}`);const i=r.superPartitionKeyLength+r.partitionKeyLength,s=[];for(const o of t.listInputFields()){const a=t.resolve({field:o,assertFieldType:"Input"});if(a===void 0)return;if(a.resourceType.name!==V)throw new Error(`Expected ${V} inside ${n}, but got ${a.resourceType.name}`);const l=le(a,JSON.parse(o));if(l===void 0)return;if(l.type!=="BinaryPartitioned")throw new Error(`Unexpected inner result type for ${n}: ${l.type}`);s.push(...l.parts)}return{type:"BinaryPartitioned",partitionKeyLength:i,parts:s}}default:throw new Error(`Unknown resource type: ${n}`)}}function $e(t){if(t!==void 0){if(c.isDataInfoEntries(t))return t;if(c.isDataInfo(t))return c.dataInfoToEntries(t);if(t instanceof E)return le(t);throw new Error(`Unexpected input type: ${typeof t}`)}}function Ue(t,e){const n=[...e].sort((s,o)=>o[0]-s[0]);if(t.type==="JsonPartitioned"||t.type==="BinaryPartitioned"){const{partitionKeyLength:s}=t;for(const[o]of e)if(o>=s)throw new Error(`Can't filter on non-partitioned axis ${o}. Must be >= ${s}`)}else if(t.type==="Json"){const{keyLength:s}=t;for(const[o]of e)if(o>=s)throw new Error(`Can't filter on non-data axis ${o}. Must be >= ${s}`)}const r=s=>{for(const[o,a]of n)if(s[o]!==a)return!1;return!0},i=s=>{const o=[...s];for(const[a]of n)o.splice(a,1);return o};switch(t.type){case"Json":{const s=t.data.filter(o=>r(o.key)).map(o=>({key:i(o.key),value:o.value}));return{type:"Json",keyLength:t.keyLength-e.length,data:s}}case"JsonPartitioned":{const s=t.parts.filter(o=>r(o.key)).map(o=>({key:i(o.key),value:o.value}));return{type:"JsonPartitioned",partitionKeyLength:t.partitionKeyLength-e.length,parts:s}}case"BinaryPartitioned":{const s=t.parts.filter(o=>r(o.key)).map(o=>({key:i(o.key),value:o.value}));return{type:"BinaryPartitioned",partitionKeyLength:t.partitionKeyLength-e.length,parts:s}}}}function Ht(t){if(!Array.isArray(t))return!1;if(t.length===0)return!0;const e=t[0];return typeof e=="object"&&e!==null&&"key"in e&&"val"in e}class qt{constructor(e){this.columns=e}selectColumns(e){const n=typeof e=="function"?e:c.selectorsToPredicate(e);return this.columns.filter(r=>n(r.spec))}}function Yt(t){if(t)return t.map(e=>({type:`split:${c.canonicalizeAxisId(e.axisId)}`,label:e.label,importance:1e6}))}function Xt(t){if(t)return t.map(e=>[e.axisIdx,e.value])}function Qt(t,e){if(!e||e.length===0)return t;const n=[...e].sort((r,i)=>r[0]-i[0]);return Te({id:t,axisFilters:n})}function Se(t){if(!t||typeof t!="object")return!1;const e=t,n=e.domain&&typeof e.domain=="object"&&Object.values(e.domain).some(i=>typeof i=="object"&&i!==null&&"anchor"in i),r=e.axes&&Array.isArray(e.axes)&&e.axes.some(i=>typeof i=="object"&&i!==null&&"anchor"in i);return!!e.domainAnchor||n||r}function Zt(t){if(typeof t!="object"||!("axes"in t)||t.axes===void 0)return[];const e=t.axes.map((n,r)=>typeof n=="object"&&"split"in n&&n.split===!0?r:-1).filter(n=>n!==-1);if(e.length>0&&t.partialAxesMatch!==void 0)throw new Error("Axis splitting is not supported when `partialAxesMatch` is defined.");return e.sort((n,r)=>n-r),e}class ne{constructor(){D(this,"defaultProviderStore",[]);D(this,"providers",[new qt(this.defaultProviderStore)]);D(this,"axisLabelProviders",[])}addColumnProvider(e){return this.providers.push(e),this}addAxisLabelProvider(e){return this.axisLabelProviders.push(e),this}addColumns(e){return this.defaultProviderStore.push(...e),this}addColumn(e){return this.defaultProviderStore.push(e),this}findLabels(e){for(const n of this.axisLabelProviders){const r=n.findLabels(e);if(r)return r}}getUniversalEntries(e,n){const{anchorCtx:r,labelOps:i,dontWaitAllData:s=!1,overrideLabelAnnotation:o=!1,exclude:a}=n??{},l={...o&&(i==null?void 0:i.includeNativeLabel)!==!1?{includeNativeLabel:!0}:{},...i??{}};let u=()=>!1;if(a){const h=(Array.isArray(a)?a:[a]).map(v=>{if(Se(v)){if(!r)throw new Error("Anchored selectors in exclude require an AnchoredIdDeriver to be provided in options.");return c.selectorsToPredicate(c.resolveAnchors(r.anchors,v,n))}else return c.selectorsToPredicate(v)});u=v=>h.some(A=>A(v))}const d=typeof e=="function"?[e]:Array.isArray(e)?e:[e],p=[],g=new Set;for(const h of d){const v=Se(h);let A;if(v){if(!r)throw new Error("Anchored selectors require an AnchoredIdDeriver to be provided in options.");A=c.resolveAnchors(r.anchors,h,n)}else A=h;const m=new Set,w=[];for(const P of this.providers){const O=P.selectColumns(A);for(const I of O){if(u(I.spec))continue;if(m.has(I.id))throw new Error(`Duplicate column id ${I.id} in provider ${P.constructor.name}`);const k=c.deriveNativeId(I.spec);g.has(k)||(m.add(I.id),g.add(k),w.push(I))}}if(w.length===0)continue;const C=Zt(h),x=C.length>0;for(const P of w){if(!c.isPColumnSpec(P.spec))continue;const O=P.spec;if(x){if(Ht(P.data))throw new Error(`Splitting is not supported for PColumns with PColumnValues data format. Column id: ${P.id}`);const I=$e(P.data);if(!I){if(s)continue;return}if(!c.isPartitionedDataInfoEntries(I))throw new Error(`Splitting requires Partitioned DataInfoEntries, but parsing resulted in ${I.type} for column ${P.id}`);const k=Me(I),R=C[C.length-1];if(R>=I.partitionKeyLength)throw new Error(`Not enough partition keys (${I.partitionKeyLength}) for requested split axes (max index ${R}) in column ${O.name}`);const z=C.map(_=>this.findLabels(c.getAxisId(O.axesSpec[_]))),N=[],K=(_,G)=>{if(G>=C.length){if(N.push([..._]),N.length>1e4)throw new Error("Too many key combinations, aborting.");return}const j=C[G];if(j>=k.length)throw new Error(`Axis index ${j} out of bounds for unique keys array (length ${k.length}) during split key generation for column ${P.id}`);const J=k[j];if(!J||J.length===0){N.length=0;return}for(const se of J)_.push(se),K(_,G+1),_.pop()};if(K([],0),N.length===0)continue;const F=[...O.axesSpec],rt=C.map(_=>_);for(let _=C.length-1;_>=0;_--)F.splice(C[_],1);const it={...O,axesSpec:F};for(const _ of N){const G=_.map((j,J)=>{const se=rt[J],st=c.getAxisId(O.axesSpec[se]),de=z[J],ot=(de==null?void 0:de[j])??String(j);return{axisIdx:se,axisId:st,value:j,label:ot}});p.push({type:"split",originalColumn:P,spec:O,adjustedSpec:it,dataEntries:I,axisFilters:G})}}else p.push({type:"direct",originalColumn:P,spec:O,adjustedSpec:O})}}if(p.length===0)return[];const f=ve(p,h=>({spec:h.spec,suffixTrace:h.type==="split"?Yt(h.axisFilters):void 0}),l),y=[];for(const{value:h,label:v}of f){const{originalColumn:A,spec:m}=h,w=h.type==="split"?h.axisFilters:void 0,C=Xt(w);let x;r?x=r.deriveS(m,C):x=Qt(A.id,C);let P={...h.adjustedSpec};o&&(P={...P,annotations:{...P.annotations??{},"pl7.app/label":v}}),y.push({id:x,spec:P,data:()=>h.type==="split"?c.entriesToDataInfo(Ue(h.dataEntries,C)):h.originalColumn.data,label:v})}return y}getColumns(e,n){const r=this.getUniversalEntries(e,{overrideLabelAnnotation:!0,...n??{}});if(!r)return;const i=[];for(const s of r){const o=s.data();if(!o){if(n!=null&&n.dontWaitAllData)continue;return}i.push({id:s.id,spec:s.spec,data:o})}return i}}function fe(t,e){if(t===void 0)return e===void 0;if(e===void 0)return!0;for(const n in e)if(t[n]!==e[n])return!1;return!0}function Ie(t){return c.mapPObjectData(t,e=>e instanceof E?e.handle:c.isDataInfo(e)?c.mapDataInfo(e,n=>n.handle):e)}class Be{constructor(){D(this,"ctx",b())}calculateOptions(e){return this.ctx.calculateOptions(e)}getOptions(e,n){const r=typeof e=="function"?e:c.selectorsToPredicate(e),i=this.getSpecs().entries.filter(a=>r(a.obj));let s={},o=!1;return typeof n<"u"&&(typeof n=="function"?s=n:typeof n=="object"&&("includeNativeLabel"in n||"separator"in n||"addLabelAsSuffix"in n?s=n:(n=n,s=n.label??{},o=n.refsWithEnrichments??!1))),typeof s=="object"?ve(i,a=>a.obj,s??{}).map(({value:{ref:a},label:l})=>({ref:c.withEnrichments(a,o),label:l})):i.map(({ref:a,obj:l})=>({ref:c.withEnrichments(a,o),label:s(l,a)}))}resolveAnchorCtx(e){if(e instanceof c.AnchoredIdDeriver)return e;const n={};for(const[r,i]of Object.entries(e))if(c.isPlRef(i)){const s=this.getPColumnSpecByRef(i);if(!s)return;n[r]=s}else n[r]=i;return new c.AnchoredIdDeriver(n)}getAnchoredPColumns(e,n,r){const i=this.resolveAnchorCtx(e);if(i)return new ne().addColumnProvider(this).addAxisLabelProvider(this).getColumns(n,{...r,anchorCtx:i})}getCanonicalOptions(e,n,r){const i=this.resolveAnchorCtx(e);if(!i)return;const s=new ne().addColumnProvider(this).addAxisLabelProvider(this).getUniversalEntries(n,{...r,anchorCtx:i});if(s)return s.map(o=>({value:o.id,label:o.label}))}getDataFromResultPool(){return this.getData()}getData(){const e=this.ctx.getDataFromResultPool();return{isComplete:e.isComplete,entries:e.entries.map(n=>({ref:n.ref,obj:{...n.obj,data:new E(n.obj.data,[n.ref.blockId,n.ref.name])}}))}}getDataWithErrorsFromResultPool(){return this.getDataWithErrors()}getDataWithErrors(){const e=this.ctx.getDataWithErrorsFromResultPool();return{isComplete:e.isComplete,entries:e.entries.map(n=>({ref:n.ref,obj:{...n.obj,data:c.mapValueInVOE(n.obj.data,r=>new E(r,[n.ref.blockId,n.ref.name]))}}))}}getSpecsFromResultPool(){return this.getSpecs()}getSpecs(){return this.ctx.getSpecsFromResultPool()}getDataByRef(e){var r;if(typeof this.ctx.getDataFromResultPoolByRef>"u")return(r=this.getData().entries.find(i=>i.ref.blockId===e.blockId&&i.ref.name===e.name))==null?void 0:r.obj;const n=this.ctx.getDataFromResultPoolByRef(e.blockId,e.name);if(n)return c.mapPObjectData(n,i=>new E(i,[e.blockId,e.name]))}getPColumnByRef(e){const n=this.getDataByRef(e);if(n)return c.ensurePColumn(n)}getPColumnSpecByRef(e){const n=this.getSpecByRef(e);if(n){if(!c.isPColumnSpec(n))throw new Error(`not a PColumn spec (kind = ${n.kind})`);return n}}getSpecByRef(e){return this.ctx.getSpecFromResultPoolByRef(e.blockId,e.name)}findDataWithCompatibleSpec(e){const n=[];e:for(const r of this.getData().entries){if(!c.isPColumnSpec(r.obj.spec))continue;const i=r.obj.spec;if(e.name===i.name&&e.valueType===i.valueType&&e.axesSpec.length===i.axesSpec.length&&fe(e.domain,i.domain)){for(let s=0;s<e.axesSpec.length;++s){const o=e.axesSpec[s],a=i.axesSpec[s];if(o.name!==a.name||o.type!==a.type||!fe(o.domain,a.domain))continue e}n.push(r.obj)}}return n}findLabels(e){const n=this.getData();for(const r of n.entries){if(!c.isPColumn(r.obj))continue;const i=r.obj.spec;if(i.name==="pl7.app/label"&&i.axesSpec.length===1&&i.axesSpec[0].name===e.name&&i.axesSpec[0].type===e.type&&fe(e.domain,i.axesSpec[0].domain)){if(r.obj.data.resourceType.name!=="PColumnData/Json")throw Error(`Expected JSON column for labels, got: ${r.obj.data.resourceType.name}`);return Object.fromEntries(Object.entries(r.obj.data.getDataAsJson().data).map(o=>[JSON.parse(o[0])[0],o[1]]))}}}selectColumns(e){const n=typeof e=="function"?e:c.selectorsToPredicate(e);return this.getSpecs().entries.filter(({obj:i})=>c.isPColumnSpec(i)?n(i):!1).map(({ref:i,obj:s})=>{const o=s;let a=null;const l=this;return{id:Te(i),spec:o,get data(){var u;return a!==null||(a=(u=l.getPColumnByRef(i))==null?void 0:u.data),a}}})}findLabelsForColumnAxis(e,n){var s;const r=this.findLabels(e.axesSpec[n]);if(!r)return;const i=(s=e.annotations)==null?void 0:s["pl7.app/axisKeys/"+n];if(i!==void 0){const o=JSON.parse(i);return Object.fromEntries(o.map(a=>[a,r[a]??"Unlabelled"]))}else return r}}class q{constructor(){D(this,"ctx");D(this,"args");D(this,"uiState");D(this,"_activeArgsCache");D(this,"resultPool",new Be);this.ctx=b(),this.args=JSON.parse(this.ctx.args),this.uiState=this.ctx.uiState!==void 0?JSON.parse(this.ctx.uiState):{}}get activeArgs(){return this._activeArgsCache===void 0&&(this._activeArgsCache={v:this.ctx.activeArgs?JSON.parse(this.ctx.activeArgs):void 0}),this._activeArgsCache.v}getNamedAccessor(e){return ae(this.ctx.getAccessorHandleByName(e),n=>new E(n,[e]))}get prerun(){return this.getNamedAccessor(Oe)}get outputs(){return this.getNamedAccessor(Re)}findLabels(e){return this.resultPool.findLabels(e)}verifyInlineAndExplicitColumnsSupport(e){var i;const n=e.some(s=>!(s.data instanceof E)||c.isDataInfo(s.data)),r=((i=this.ctx.featureFlags)==null?void 0:i.inlineColumnsSupport)===!0;if(n&&!r)throw Error("Inline or explicit columns not supported")}createPFrame(e){return this.verifyInlineAndExplicitColumnsSupport(e),this.ctx.createPFrame(e.map(n=>Ie(n)))}createPTable(e){let n;return"columns"in e?n={src:{type:"full",entries:e.columns.map(r=>({type:"column",column:r}))},filters:e.filters??[],sorting:e.sorting??[]}:n=e,this.verifyInlineAndExplicitColumnsSupport(c.extractAllColumns(n.src)),this.ctx.createPTable(c.mapPTableDef(n,r=>Ie(r)))}getBlockLabel(e){return this.ctx.getBlockLabel(e)}getCurrentUnstableMarker(){return this.ctx.getCurrentUnstableMarker()}logInfo(e){this.ctx.logInfo(e)}logWarn(e){this.ctx.logWarn(e)}logError(e){this.ctx.logError(e)}}const X="1.37.0";function We(t){return t.__renderLambda===!0}function oe(t){if(t!==void 0)return We(t)?t.handle:t}function M(t){if(t!==void 0)return typeof t=="string"?{__renderLambda:!0,handle:t,retentive:!1}:t}function en(t){if(t.v3!==void 0){const{initialArgs:e,initialUiState:n,inputsValid:r,outputs:i,renderingMode:s,sdkVersion:o,sections:a,title:l,enrichmentTargets:u}=t.v3,{code:d}=t;return{initialArgs:e,initialUiState:n,inputsValid:r,outputs:i,renderingMode:s,sdkVersion:o,sections:a,title:l,code:d,enrichmentTargets:u}}else if(t.inputsValid!==void 0){const{sdkVersion:e,renderingMode:n,outputs:r,inputsValid:i,sections:s,initialArgs:o,code:a}=t,l=Object.keys(t);if(e===void 0||n===void 0||r===void 0||i===void 0||s===void 0||o===void 0)throw new Error(`Malformed config v2. SDK version ${e}; Fields = ${l.join(", ")}`);return{sdkVersion:e,renderingMode:n,initialArgs:o,outputs:Object.fromEntries(Object.entries(r).map(([u,d])=>[u,M(d)])),inputsValid:M(i),sections:M(s),initialUiState:void 0,code:a}}else if(t.renderingMode!==void 0){const{sdkVersion:e,canRun:n,renderingMode:r,outputs:i,sections:s,initialArgs:o,code:a}=t,l=Object.keys(t);if(r===void 0||i===void 0||n===void 0||s===void 0||o===void 0)throw new Error(`Malformed config v1. SDK version ${e}; Fields = ${l.join(", ")}`);return{sdkVersion:e??"unknown",renderingMode:r,initialArgs:o,outputs:Object.fromEntries(Object.entries(i).map(([u,d])=>[u,M(d)])),inputsValid:M(n),sections:M(s),initialUiState:void 0,code:a}}else{const{sdkVersion:e}=t,n=Object.keys(t);throw new Error(`Config format not supported: SDK = ${e}; Fields = ${n.join(", ")}`)}}class L{constructor(e,n,r,i,s,o,a,l){this._renderingMode=e,this._initialArgs=n,this._initialUiState=r,this._outputs=i,this._inputsValid=s,this._sections=o,this._title=a,this._enrichmentTargets=l}static create(e="Heavy"){return new L(e,void 0,{},{},Y(!0),Y([]),void 0,void 0)}output(e,n,r={}){if(typeof n=="function"){const i=`output#${e}`;return H(i,()=>n(new q)),new L(this._renderingMode,this._initialArgs,this._initialUiState,{...this._outputs,[e]:{__renderLambda:!0,handle:i,...r}},this._inputsValid,this._sections,this._title,this._enrichmentTargets)}else return new L(this._renderingMode,this._initialArgs,this._initialUiState,{...this._outputs,[e]:n},this._inputsValid,this._sections,this._title,this._enrichmentTargets)}retentiveOutput(e,n){return this.output(e,n,{retentive:!0})}argsValid(e){return typeof e=="function"?(H("inputsValid",()=>e(new q)),new L(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,{__renderLambda:!0,handle:"inputsValid"},this._sections,this._title,this._enrichmentTargets)):new L(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,e,this._sections,this._title,this._enrichmentTargets)}sections(e){return Array.isArray(e)?this.sections(Y(e)):typeof e=="function"?(H("sections",()=>e(new q)),new L(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,{__renderLambda:!0,handle:"sections"},this._title,this._enrichmentTargets)):new L(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,e,this._title,this._enrichmentTargets)}title(e){return H("title",()=>e(new q)),new L(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,this._sections,{__renderLambda:!0,handle:"title"},this._enrichmentTargets)}initialArgs(e){return new L(this._renderingMode,e,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title,this._enrichmentTargets)}withArgs(e){return new L(this._renderingMode,e,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title,this._enrichmentTargets)}withUiState(e){return new L(this._renderingMode,this._initialArgs,e,this._outputs,this._inputsValid,this._sections,this._title,this._enrichmentTargets)}enriches(e){return H("enrichmentTargets",e),new L(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title,{__renderLambda:!0,handle:"enrichmentTargets"})}done(){if(this._initialArgs===void 0)throw new Error("Initial arguments not set.");const e={v3:{sdkVersion:X,renderingMode:this._renderingMode,initialArgs:this._initialArgs,initialUiState:this._initialUiState,inputsValid:this._inputsValid,sections:this._sections,title:this._title,outputs:this._outputs,enrichmentTargets:this._enrichmentTargets},sdkVersion:X,renderingMode:this._renderingMode,initialArgs:this._initialArgs,inputsValid:oe(this._inputsValid),sections:oe(this._sections),outputs:Object.fromEntries(Object.entries(this._outputs).map(([n,r])=>[n,oe(r)]))};return Vt()?Ee({sdkVersion:X}):{config:e}}}function Ae(){return{version:2,stateCache:[],pTableParams:{sorting:[],filters:[],hiddenColIds:null}}}function ze(t){return"version"in t?t:Ae()}function ue(t){return t.axesSpec.length===1&&t.name==="pl7.app/label"}function Pe(t){return new ne().addAxisLabelProvider(t).addColumnProvider(t).getColumns({name:"pl7.app/label",axes:[{}]},{dontWaitAllData:!0})}function ce(t,e){const n=[],r=[];for(const a of t)ue(a.spec)?n.push(a):r.push(a);const i=[];for(const a of r)for(const l of a.spec.axesSpec){const u=c.getAxisId(l);i.some(d=>c.matchAxisId(d,u))||i.push(u)}for(const a of n){const l=c.getAxisId(a.spec.axesSpec[0]),u=i.findIndex(d=>c.matchAxisId(d,l));u!==-1&&i.splice(u,1)}const s=(a,l)=>{let u=a.toString();if(l)for(const d in l)u+=d,u+=l[d];return u},o=[];for(const a of e){const l=a.spec.axesSpec[0],u=c.getAxisId(l),d=i.findIndex(p=>c.matchAxisId(p,u));if(d!==-1){const p=i[d],g=Object.keys(p.domain??{}).length,f=Object.keys(l.domain??{}).length;g>f?o.push({id:s(a.id,p.domain),spec:{...a.spec,axesSpec:[{...p,annotations:l.annotations}]},data:a.data}):o.push(a),i.splice(d,1)}}return o}function Ce(t){const e=i=>Array.isArray(i),n=i=>i instanceof E,r=i=>typeof i=="object"&&"type"in i;return t.map(i=>i.data).every(i=>{if(e(i))return!0;if(n(i))return i.getIsReadyOrError();if(r(i))switch(i.type){case"Json":return!0;case"JsonPartitioned":return Object.values(i.parts).every(o=>o.getIsReadyOrError());case"BinaryPartitioned":return Object.values(i.parts).every(o=>o.index.getIsReadyOrError()&&o.values.getIsReadyOrError())}else throw Error(`unsupported column data type: ${i}`)})}function me(t,e,n,r,i,s){let o=t;const a=[];if(s){o=[];for(const l of t)s(l.spec)?o.push(l):a.push(l)}return a.push(...e),{src:{type:"outer",primary:{type:n,entries:o.map(l=>({type:"column",column:l}))},secondary:a.map(l=>({type:"column",column:l}))},filters:r,sorting:i}}function tn(t,e,n,r){var u,d;Array.isArray(r)&&(r={filters:r});const i=(r==null?void 0:r.coreJoinType)??"full",s=re([...(r==null?void 0:r.filters)??[],...((u=n==null?void 0:n.pTableParams)==null?void 0:u.filters)??[]],p=>c.canonicalizeJson(p.column)),o=re([...(r==null?void 0:r.sorting)??[],...((d=n==null?void 0:n.pTableParams)==null?void 0:d.sorting)??[]],p=>c.canonicalizeJson(p.column)),a=Pe(t.resultPool);if(!a)return;const l=ce(e.map(c.getColumnIdAndSpec),a);if(Ce([...e,...l]))return t.createPTable(me(e,l,i,s,o,r==null?void 0:r.coreColumnPredicate))}function Ge(t){var e;return((e=t.annotations)==null?void 0:e["pl7.app/table/visibility"])==="hidden"}function He(t){var e;return((e=t.annotations)==null?void 0:e["pl7.app/table/visibility"])==="optional"}function re(t,e){return[...new Map(t.map(n=>[e(n),n])).values()]}function nn(t,e,n,r){const i=ze(n??Ae()),s=(r==null?void 0:r.coreJoinType)??"full",o=re([...(r==null?void 0:r.filters)??[],...i.pTableParams.filters],m=>c.canonicalizeJson(m.column)),a=re([...(r==null?void 0:r.sorting)??[],...i.pTableParams.sorting],m=>c.canonicalizeJson(m.column)),l=e.filter(m=>!Ge(m.spec)),u=Pe(t.resultPool);if(!u)return;const d=ce(l.map(c.getColumnIdAndSpec),u),p=me(l,d,s,o,a,r==null?void 0:r.coreColumnPredicate),g=t.createPTable(p),f=new Set((()=>{if(s==="inner")return[];const m=i.pTableParams.hiddenColIds;return m||l.filter(w=>He(w.spec)).map(w=>w.id)})());r!=null&&r.coreColumnPredicate&&l.flatMap(w=>{var C;return(C=r==null?void 0:r.coreColumnPredicate)!=null&&C.call(r,w.spec)?[w.id]:[]}).forEach(w=>f.delete(w)),[...o.map(m=>m.column),...a.map(m=>m.column)].filter(m=>m.type==="column").map(m=>f.delete(m.id));const y=l.filter(m=>!f.has(m.id)),h=ce(y.map(c.getColumnIdAndSpec),u);if(!Ce([...y,...h]))return;const v=me(y,h,s,o,a,r==null?void 0:r.coreColumnPredicate),A=t.createPTable(v);return{fullTableHandle:g,visibleTableHandle:A}}function rn(t,e,n){const r=t.resultPool.findLabels(e);return{axis:e,options:n.map(i=>({value:i,label:(r==null?void 0:r[i])??i.toString()})),defaultValue:n[0]}}const sn=(t,e)=>{let n=t.toString();return e==null||e.forEach(r=>{if(r)for(const[i,s]of Object.entries(r))n+=i,n+=s}),n};function on(t){if(!t.length)return[];let e=[[]];return t.forEach(n=>{const r=[];n.forEach(i=>{r.push(...e.map(s=>[...s,i]))}),e=r}),e}function qe(t){var e;return t.axesSpec.length===2&&((e=t.annotations)==null?void 0:e[Xe])==="true"}const Ye="pl7.app/graph/isVirtual",ye="pl7.app/label",Xe="pl7.app/isLinkerColumn";function Qe(t){var n,r;const e=new Map;for(const{spec:i}of t){const s=i.axesSpec.map(c.getAxisId).map(c.canonicalizeJson);s.forEach(o=>{e.has(o)||e.set(o,new Set)});for(let o=0;o<s.length-1;o++)for(let a=o+1;a<s.length;a++){const l=s[o],u=s[a];(n=e.get(l))==null||n.add(u),(r=e.get(u))==null||r.add(l)}}return e}function Ze(t,e){const n=Qe(t),r=[...n.keys()].map(c.parseJson),i=[];for(const l of e.values()){const u=r.find(d=>c.matchAxisId(l,d));u&&i.push(c.canonicalizeJson(u))}const s=new Set(i),o=new Map;let a=[...i];for(;a.length;){const l=[];for(const u of a)for(const d of n.get(u)??[])s.has(d)||(l.push(d),s.add(d),o.set(d,c.parseJson(d)));a=l}return o}function et(t,e){const n=[];return e.forEach(r=>{n.push(...an(t,r))}),n}function an(t,e){const n=e.spec.axesSpec.map(c.getAxisId);if(n.every(u=>t.has(c.canonicalizeJson(u))))return[e];const r=n.map(u=>{const d=[];for(const[p,g]of t)c.matchAxisId(g,u)&&!c.matchAxisId(u,g)&&d.push(g);return d}),i=on(r),s=new Set,o=new Set,a=i.map(u=>{const d=new Set;return u.map((p,g)=>{const f=e.spec.axesSpec[g].domain,y=p.domain;return Object.entries(y??{}).forEach(([h,v])=>{if((f==null?void 0:f[h])===void 0){const A=JSON.stringify([h,v]);d.add(A),s.add(A)}}),{...p,annotations:e.spec.axesSpec[g].annotations}}),d});[...s].forEach(u=>{a.some(d=>!d.has(u))&&o.add(u)});const l=i.map((u,d)=>{var h;const p=sn(e.id,u.map(v=>v.domain)),g=((h=e.spec.annotations)==null?void 0:h[ye])??"",f=[...a[d]].filter(v=>o.has(v)).sort().map(v=>{var A;return(A=JSON.parse(v))==null?void 0:A[1]}).join(" / "),y={...e.spec.annotations,[Ye]:"true"};return(g||f)&&(y[ye]=g&&f?g+" / "+f:g+f),{id:p,spec:{...e.spec,axesSpec:u.map((v,A)=>({...v,annotations:e.spec.axesSpec[A].annotations})),annotations:y},data:e.data}});return[e,...l]}function ln(t,e){if(!e)return;const n=new ne;n.addColumnProvider(t.resultPool),n.addColumns(e);const r=new Map,i=new Map;for(const p of e)for(const g of p.spec.axesSpec){const f=c.getAxisId(g);r.set(c.canonicalizeJson(f),f),i.set(c.canonicalizeJson(f),f)}const s=n.getColumns(p=>qe(p))??[],o=Ze(s,r);for(const p of o)r.set(...p),i.set(...p);const a=(n.getColumns(p=>p.axesSpec.some(g=>{const f=c.getAxisId(g);for(const y of r.values())if(c.matchAxisId(y,f))return!0;return!1}),{dontWaitAllData:!0,overrideLabelAnnotation:!1})??[]).filter(p=>!ue(p.spec));for(const p of a)for(const g of p.spec.axesSpec){const f=c.getAxisId(g);i.set(c.canonicalizeJson(f),f)}const l=(n.getColumns(p=>p.axesSpec.some(g=>{const f=c.getAxisId(g);for(const y of i.values())if(c.matchAxisId(y,f))return!0;return!1}),{dontWaitAllData:!0,overrideLabelAnnotation:!1})??[]).filter(p=>ue(p.spec)),u=[...a,...l],d=et(r,u);if(!d.some(p=>p.data instanceof E&&!p.data.getIsReadyOrError()))return t.createPFrame(d)}function un({selection:t,columnId:e=c.uniquePlId(),label:n="Selection marker",domain:r}){if(!(t!=null&&t.axesSpec.length))return;const i=t.selectedKeys.filter(s=>s.every(o=>!c.isPTableAbsent(o))).map(s=>({key:s,val:1}));if(i.length)return{id:e,spec:{kind:"PColumn",valueType:"Int",name:"pl7.app/table/row-selection",axesSpec:t.axesSpec,...r&&Object.keys(r).length&&{domain:r},annotations:{"pl7.app/label":n,"pl7.app/discreteValues":"[1]"}},data:i}}function cn(t){return t===c.PTableNA?(console.error("Axis value can never be N/A"),""):t}class dn{constructor(e){this.handle=e}async findColumns(e){return await platforma.pFrameDriver.findColumns(this.handle,e)}async getColumnSpec(e){return await platforma.pFrameDriver.getColumnSpec(this.handle,e)}async listColumns(){return await platforma.pFrameDriver.listColumns(this.handle)}async calculateTableData(e,n){return await platforma.pFrameDriver.calculateTableData(this.handle,e,n)}async getUniqueValues(e){return await platforma.pFrameDriver.getUniqueValues(this.handle,e)}}function tt(t){return be({__isRef:!0,blockId:Q(t,"blockId"),name:Q(t,"name")})}function pn(t){return be({ref:tt(Q(t,"ref")),label:Q(t,"label")})}const fn={sdkVersion:X};function nt(){return Ee({sdkVersion:X})}function hn(t){try{return nt()}catch{return t}}function gn(t){if(typeof globalThis.getEnvironmentValue=="function")return globalThis.getEnvironmentValue(t)}exports.Args=dt;exports.BlockModel=L;exports.CurrentSdkInfo=fn;exports.FutureRef=T;exports.IS_VIRTUAL_COLUMN=Ye;exports.It=pt;exports.JsRenderInternal=Ut;exports.LABEL_ANNOTATION=ye;exports.LINKER_COLUMN_ANNOTATION=Xe;exports.MainOutputs=ft;exports.OutputError=_e;exports.PAnnotationLabel=ke;exports.PAnnotationTrace=Fe;exports.PColumnCollection=ne;exports.PFrameImpl=dn;exports.RT_BINARY_PARTITIONED=V;exports.RT_BINARY_SUPER_PARTITIONED=B;exports.RT_JSON_PARTITIONED=U;exports.RT_JSON_SUPER_PARTITIONED=te;exports.RT_RESOURCE_MAP=Z;exports.RT_RESOURCE_MAP_PARTITIONED=ee;exports.RenderCtx=q;exports.ResultPool=Be;exports.StagingOutputs=ht;exports.Trace=je;exports.TraceEntry=Ne;exports.TreeNodeAccessor=E;exports.UiState=gt;exports.allColumnsComputed=Ce;exports.and=Ct;exports.convertOrParsePColumnData=$e;exports.createPFrameForGraphs=ln;exports.createPlDataTable=tn;exports.createPlDataTableSheet=rn;exports.createPlDataTableStateV2=Ae;exports.createPlDataTableV2=nn;exports.createRowSelectionColumn=un;exports.deriveLabels=ve;exports.downgradeCfgOrLambda=oe;exports.enrichCompatible=et;exports.extractArchiveAndGetURL=Rt;exports.extractConfig=en;exports.filterDataInfoEntries=Ue;exports.flatten=vt;exports.fromPlOption=pn;exports.fromPlRef=tt;exports.getAllLabelColumns=Pe;exports.getAvailableWithLinkersAxes=Ze;exports.getBlobContent=Tt;exports.getBlobContentAsJson=Lt;exports.getBlobContentAsString=_t;exports.getDownloadedBlobContent=Et;exports.getEnvironmentValue=gn;exports.getFromCfg=W;exports.getImmediate=Y;exports.getImportProgress=Dt;exports.getJsonField=Q;exports.getLastLogs=kt;exports.getLinkerColumnsMap=Qe;exports.getLogHandle=jt;exports.getMatchingLabelColumns=ce;exports.getOnDemandBlobContent=Ot;exports.getPartitionKeysList=Je;exports.getPlatformaOrDefault=hn;exports.getProgressLog=Ft;exports.getProgressLogWithInfo=Nt;exports.getRawPlatformaInstance=nt;exports.getResourceField=xt;exports.getResourceValueAsJson=St;exports.getUniquePartitionKeys=Me;exports.ifDef=ae;exports.isColumnHidden=Ge;exports.isColumnOptional=He;exports.isConfigLambda=We;exports.isEmpty=At;exports.isLabelColumn=ue;exports.isLinkerColumn=qe;exports.isolate=ct;exports.makeArray=mt;exports.makeObject=be;exports.mapArrayValues=bt;exports.mapPTableValueToAxisKey=cn;exports.mapRecordValues=yt;exports.mapResourceFields=It;exports.not=Pt;exports.or=wt;exports.parsePColumnData=le;exports.parseResourceMap=zt;exports.readOutput=Le;exports.uniqueBy=re;exports.upgradePlDataTableStateV2=ze;exports.wrapOutputs=ut;Object.keys(c).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>c[t]})});Object.keys(we).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>we[t]})});
2
2
  //# sourceMappingURL=index.js.map