@platforma-sdk/model 1.37.14 → 1.38.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,4 +1,4 @@
1
- import { AxisId, AxisSpec, CanonicalizedJson, DataInfo, ListOptionBase, PColumn, PColumnIdAndSpec, PColumnSpec, PColumnValues, PObjectId, PTableColumnSpec, PTableHandle, PTableRecordFilter, PTableSorting, PTableValue } from '@milaboratories/pl-model-common';
1
+ import { AxisId, AxisSpec, CanonicalizedJson, DataInfo, ListOptionBase, PColumn, PColumnIdAndSpec, PColumnSpec, PColumnValues, PObjectId, PTableColumnId, PTableColumnSpec, PTableHandle, PTableRecordFilter, PTableSorting } 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>;
@@ -24,16 +24,6 @@ export type PlDataTableGridStateCore = {
24
24
  hiddenColIds: PTableColumnSpecJson[];
25
25
  };
26
26
  };
27
- /** TODO: refactor to use sheets in the grid state */
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
- };
37
27
  export type PlDataTableSheet = {
38
28
  /** spec of the axis to use */
39
29
  axis: AxisSpec;
@@ -48,24 +38,31 @@ export type PlDataTableSheetState = {
48
38
  /** selected value */
49
39
  value: string | number;
50
40
  };
51
- /**
52
- * Params used to get p-table handle from the driver
53
- */
54
- export type PTableParams = {
55
- sorting?: PTableSorting[];
56
- filters?: PTableRecordFilter[];
57
- };
58
- /**
59
- * PlDataTable persisted state
60
- */
61
- export type PlDataTableState = {
62
- gridState: PlDataTableGridState;
63
- pTableParams?: PTableParams;
64
- };
65
41
  /**
66
42
  * PlDataTableV2 persisted state
67
43
  */
68
- export type PlDataTableStateV2 = PlDataTableState | PlDataTableStateV2Normalized;
44
+ export type PlDataTableStateV2 = {
45
+ gridState: PlDataTableGridStateCore & {
46
+ sourceId?: string;
47
+ sheets?: Record<CanonicalizedJson<AxisId>, string | number>;
48
+ };
49
+ pTableParams?: {
50
+ sorting?: PTableSorting[];
51
+ filters?: PTableRecordFilter[];
52
+ };
53
+ } | {
54
+ version: 2;
55
+ stateCache: {
56
+ sourceId: string;
57
+ gridState: PlDataTableGridStateCore;
58
+ sheetsState: PlDataTableSheetState[];
59
+ }[];
60
+ pTableParams: {
61
+ hiddenColIds: PObjectId[] | null;
62
+ filters: PTableRecordFilter[];
63
+ sorting: PTableSorting[];
64
+ };
65
+ } | PlDataTableStateV2Normalized;
69
66
  export type PlDataTableStateV2CacheEntry = {
70
67
  /** DataSource identifier for state management */
71
68
  sourceId: string;
@@ -73,21 +70,43 @@ export type PlDataTableStateV2CacheEntry = {
73
70
  gridState: PlDataTableGridStateCore;
74
71
  /** Sheets state */
75
72
  sheetsState: PlDataTableSheetState[];
73
+ /** Filters state */
74
+ filtersState: PlDataTableFilterState[];
76
75
  };
77
76
  export type PTableParamsV2 = {
78
- sorting: PTableSorting[];
79
- filters: PTableRecordFilter[];
77
+ sourceId: null;
78
+ hiddenColIds: null;
79
+ partitionFilters: [];
80
+ filters: [];
81
+ sorting: [];
82
+ } | {
83
+ sourceId: string;
80
84
  hiddenColIds: PObjectId[] | null;
85
+ partitionFilters: PTableRecordFilter[];
86
+ filters: PTableRecordFilter[];
87
+ sorting: PTableSorting[];
81
88
  };
82
89
  export type PlDataTableStateV2Normalized = {
83
- version: 2;
90
+ /** Version for upgrades */
91
+ version: 3;
92
+ /** Internal states, LRU cache for 5 sourceId-s */
84
93
  stateCache: PlDataTableStateV2CacheEntry[];
94
+ /** PTable params derived from the cache state for the current sourceId */
85
95
  pTableParams: PTableParamsV2;
86
96
  };
97
+ export declare function makeDefaultPTableParams(): PTableParamsV2;
87
98
  /** Create default PlDataTableStateV2 */
88
99
  export declare function createPlDataTableStateV2(): PlDataTableStateV2Normalized;
89
100
  /** Upgrade PlDataTableStateV2 to the latest version */
90
101
  export declare function upgradePlDataTableStateV2(state: PlDataTableStateV2): PlDataTableStateV2Normalized;
102
+ export type PlDataTableFilterState = {
103
+ id: PTableColumnId;
104
+ alphabetic: boolean;
105
+ filter: null | {
106
+ value: PlTableFilter;
107
+ disabled: boolean;
108
+ };
109
+ };
91
110
  /** PlTableFilters filter entry */
92
111
  export type PlTableFilterIsNotNA = {
93
112
  /** Predicate type */
@@ -235,29 +254,6 @@ export type PlTableFilterStringType = PlTableFilterString['type'];
235
254
  export type PlTableFilter = PlTableFilterNumber | PlTableFilterString;
236
255
  /** All types of PlTableFilters filter entries */
237
256
  export type PlTableFilterType = PlTableFilter['type'];
238
- /** Internal grid column identifier */
239
- export type PlTableFilterColumnId = string;
240
- /** PlTableFiltersState entry */
241
- export type PlTableFiltersStateEntry = {
242
- /** Column identifier */
243
- columnId: PlTableFilterColumnId;
244
- /** Active filter */
245
- filter: PlTableFilter;
246
- /** Flag to temporarily disable filter */
247
- disabled: boolean;
248
- };
249
- /** PlTableFiltersModel state */
250
- export type PlTableFiltersState = PlTableFiltersStateEntry[];
251
- /** PlTableFilters model */
252
- export type PlTableFiltersModel = {
253
- /** Internal PlTableFilters component state, do not change! */
254
- state?: PlTableFiltersState;
255
- /** Internal PlTableFilters component state, do not change!
256
- * Defaults filters applied to the table */
257
- defaultsApplied?: boolean;
258
- /** Resulting filters which should be used in Join */
259
- filters?: PTableRecordFilter[];
260
- };
261
257
  export type CreatePlDataTableOps = {
262
258
  /** Filters for columns and non-partitioned axes */
263
259
  filters?: PTableRecordFilter[];
@@ -290,30 +286,15 @@ export declare function getAllLabelColumns(resultPool: AxisLabelProvider & Colum
290
286
  export declare function getMatchingLabelColumns(columns: PColumnIdAndSpec[], allLabelColumns: PColumn<PColumnDataUniversal>[]): PColumn<PColumnDataUniversal>[];
291
287
  /** Check if all columns are computed */
292
288
  export declare function allColumnsComputed(columns: PColumn<PColumnValues | TreeNodeAccessor | DataInfo<TreeNodeAccessor>>[]): boolean;
293
- /**
294
- * Create p-table handle given ui table state
295
- *
296
- * @param ctx context
297
- * @param columns column list
298
- * @param tableState table ui state
299
- * @returns PlAgDataTable table source
300
- */
301
- export declare function createPlDataTable<A, U>(ctx: RenderCtx<A, U>, columns: PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>[], tableState: PlDataTableState | undefined): PTableHandle | undefined;
302
- export declare function createPlDataTable<A, U>(ctx: RenderCtx<A, U>, columns: PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>[], tableState: PlDataTableState | undefined, ops: CreatePlDataTableOps): PTableHandle | undefined;
303
- /** @deprecated use method with extended ops as the last argument */
304
- export declare function createPlDataTable<A, U>(ctx: RenderCtx<A, U>, columns: PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>[], tableState: PlDataTableState | undefined, filters: PTableRecordFilter[]): PTableHandle | undefined;
305
289
  /** PlAgDataTable model */
306
290
  export type PlDataTableModel = {
291
+ /** DataSource identifier for state management */
292
+ sourceId: string | null;
307
293
  /** p-table including all columns, used to show the full specification of the table */
308
294
  fullTableHandle: PTableHandle;
309
295
  /** p-table including only visible columns, used to get the data */
310
296
  visibleTableHandle: PTableHandle;
311
297
  };
312
- /**
313
- * @deprecated Used only in PlAgDataTable v1 that is no longer maintained.
314
- * Please migrate to v2.
315
- */
316
- export type PTableRowKey = PTableValue[];
317
298
  /** Check if column should be omitted from the table */
318
299
  export declare function isColumnHidden(spec: {
319
300
  annotations?: Record<string, string>;
@@ -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 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 g=(I=h.annotations)==null?void 0:I[ke],P=(k=h.annotations)==null?void 0:k[Fe],w=(P?je.safeParse(JSON.parse(P)).data:void 0)??[],x=[...v??[],...w,...A??[]];if(g!==void 0){const R={label:g,type:Wt,importance:-2};n.addLabelAsSuffix?x.push(R):x.splice(0,0,R)}const C=[],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)),C.push({...x[R],fullType:F,occurrenceIndex:K})}return C.reverse(),{value:f,spec:h,label:g,fullTrace:C}}),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],g=A.fullTrace.filter(x=>f.has(x.fullType)||i&&i.has(x.type));if(g.length===0)if(y)h.push({label:"Unlabeled",value:A.value});else return;const P=g.map(x=>x.label),w=n.separator??" / ";h.push({label:P.join(w),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,m=-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]);m>=0&&f.add(a[m]);const y=d(f);if(y!==void 0&&new Set(y.map(h=>h.label)).size===t.length)return y;m++,m>=a.length&&(p++,m=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=[],m=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 g=new Set,P=[];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);m.has(k)||(g.add(I.id),m.add(k),P.push(I))}}if(P.length===0)continue;const w=Zt(h),x=w.length>0;for(const C of P){if(!c.isPColumnSpec(C.spec))continue;const O=C.spec;if(x){if(Ht(C.data))throw new Error(`Splitting is not supported for PColumns with PColumnValues data format. Column id: ${C.id}`);const I=$e(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=Me(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 z=w.map(_=>this.findLabels(c.getAxisId(O.axesSpec[_]))),N=[],K=(_,G)=>{if(G>=w.length){if(N.push([..._]),N.length>1e4)throw new Error("Too many key combinations, aborting.");return}const j=w[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 ${C.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=w.map(_=>_);for(let _=w.length-1;_>=0;_--)F.splice(w[_],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:C,spec:O,adjustedSpec:it,dataEntries:I,axisFilters:G})}}else p.push({type:"direct",originalColumn:C,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:g}=h,P=h.type==="split"?h.axisFilters:void 0,w=Xt(P);let x;r?x=r.deriveS(g,w):x=Qt(A.id,w);let C={...h.adjustedSpec};o&&(C={...C,annotations:{...C.annotations??{},"pl7.app/label":v}}),y.push({id:x,spec:C,data:()=>h.type==="split"?c.entriesToDataInfo(Ue(h.dataEntries,w)):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.14";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],m=Object.keys(p.domain??{}).length,f=Object.keys(l.domain??{}).length;m>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){if(e.length===0)return;const i=ze(n??Ae()),s=(r==null?void 0:r.coreJoinType)??"full",o=re([...(r==null?void 0:r.filters)??[],...i.pTableParams.filters],g=>c.canonicalizeJson(g.column)),a=re([...(r==null?void 0:r.sorting)??[],...i.pTableParams.sorting],g=>c.canonicalizeJson(g.column)),l=e.filter(g=>!Ge(g.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),m=t.createPTable(p),f=new Set((()=>{if(s==="inner")return[];const g=i.pTableParams.hiddenColIds;return g||l.filter(P=>He(P.spec)).map(P=>P.id)})());l.filter(g=>{var P;return((P=g.spec.annotations)==null?void 0:P["pl7.app/isLinkerColumn"])==="true"}).forEach(g=>f.delete(g.id)),r!=null&&r.coreColumnPredicate&&l.flatMap(P=>{var w;return(w=r==null?void 0:r.coreColumnPredicate)!=null&&w.call(r,P.spec)?[P.id]:[]}).forEach(P=>f.delete(P)),[...o.map(g=>g.column),...a.map(g=>g.column)].filter(g=>g.type==="column").forEach(g=>f.delete(g.id));const y=l.filter(g=>!f.has(g.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:m,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,m]of t)c.matchAxisId(m,u)&&!c.matchAxisId(u,m)&&d.push(m);return d}),i=on(r),s=new Set,o=new Set,a=i.map(u=>{const d=new Set;return u.map((p,m)=>{const f=e.spec.axesSpec[m].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[m].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)),m=((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(m||f)&&(y[ye]=m&&f?m+" / "+f:m+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 m of p.spec.axesSpec){const f=c.getAxisId(m);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(m=>{const f=c.getAxisId(m);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 m of p.spec.axesSpec){const f=c.getAxisId(m);i.set(c.canonicalizeJson(f),f)}const l=(n.getColumns(p=>p.axesSpec.some(m=>{const f=c.getAxisId(m);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]})});
1
+ "use strict";var lt=Object.defineProperty;var ut=(t,e,n)=>e in t?lt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var F=(t,e,n)=>ut(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=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 Te(t){if(!t.ok)throw new Ie(t.errors,t.moreErrors);return t.value}function ct(t){return new Proxy(t,{get(e,n){return Te(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 dt(t){return{type:"Isolate",cfg:t}}const pt=W("$args"),ft=W("$it"),ht=W("$prod"),gt=W("$staging"),mt=W("$ui");function Y(t){return{type:"Immediate",value:t}}function ye(t){const e={};for(const[n,r]of Object.entries(t))e[n]=x(r);return{type:"MakeObject",template:e}}function yt(...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 bt(t,e,n="$it"){return{type:"MapRecordValues",source:t,mapping:e,itVar:n}}function vt(t,e,n="$it"){return{type:"MapArrayValues",source:t,mapping:e,itVar:n}}function At(t){return{type:"Flatten",source:t}}function Pt(t){return{type:"IsEmpty",arg:t}}function Ct(t){return{type:"Not",operand:t}}function St(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:x(t),field:x(e)}}function It(){return function(t){return{type:"GetResourceValueAsJson",source:x(t)}}}function Tt(t,e,n="$it"){return{type:"MapResourceFields",source:t,mapping:e,itVar:n}}function _t(t,e){return{type:"GetBlobContent",range:e,source:x(t)}}function Lt(t,e){return{type:"GetBlobContentAsString",range:e,source:x(t)}}function Et(){return function(t,e){return{type:"GetBlobContentAsJson",range:e,source:x(t)}}}function Ot(t){return{type:"GetDownloadedBlobContent",source:x(t)}}function Rt(t){return{type:"GetOnDemandBlobContent",source:x(t)}}function Dt(t,e){return{type:"ExtractArchiveAndGetURL",format:e,source:x(t)}}function Ft(t){return{type:"GetImportProgress",source:x(t)}}function kt(t,e){return{type:"GetLastLogs",source:x(t),lines:e}}function Nt(t,e){return{type:"GetProgressLog",source:x(t),patternToSearch:e}}function Vt(t,e){return{type:"GetProgressLogWithInfo",source:x(t),patternToSearch:e}}function jt(t){return{type:"GetLogHandle",source:x(t)}}function Jt(){return typeof globalThis.getPlatforma<"u"||typeof globalThis.platforma<"u"}function _e(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 A(){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 de=new Map;function Mt(t,e){t in A().callbackRegistry||(A().callbackRegistry[t]=n=>{for(const r of de.get(t))r(n)},de.set(t,[])),de.get(t).push(e)}class L{constructor(e,n=r=>r){F(this,"isResolved",!1);F(this,"resolvedValue");this.handle=e,this.postProcess=n,Mt(e,r=>{this.resolvedValue=n(r),this.isResolved=!0})}map(e){return new L(this.handle,n=>e(this.postProcess(n)))}mapDefined(e){return new L(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 R{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(A().resolveWithCommon(this.handle,e,...n),i=>new R(i,r))}get resourceType(){return A().getResourceType(this.handle)}getInputsLocked(){return A().getInputsLocked(this.handle)}getOutputsLocked(){return A().getOutputsLocked(this.handle)}getIsReadyOrError(){return A().getIsReadyOrError(this.handle)}getIsFinal(){return A().getIsFinal(this.handle)}getError(){const e=[...this.resolvePath,"error"];return ae(A().getError(this.handle),n=>new R(n,e))}listInputFields(){return A().listInputFields(this.handle)}listOutputFields(){return A().listOutputFields(this.handle)}listDynamicFields(){return A().listDynamicFields(this.handle)}getKeyValueBase64(e){return A().getKeyValueBase64(this.handle,e)}getKeyValueAsString(e){return A().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 A().getDataBase64(this.handle)}getDataAsString(){return A().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(!u.isPColumn(s))throw new Error(`not a PColumn (kind = ${s.spec.kind})`);return s})}parsePObjectCollection(e=!1,n=""){const r=A().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]=u.mapPObjectData(o,l=>new R(l,a))}return i}getFileContentAsBase64(e){return new L(A().getBlobContentAsBase64(this.handle,e))}getFileContentAsString(e){return new L(A().getBlobContentAsString(this.handle,e))}getFileContentAsJson(e){return new L(A().getBlobContentAsString(this.handle,e)).mapDefined(n=>JSON.parse(n))}getBlobContentAsBase64(){return this.getFileContentAsBase64()}getBlobContentAsString(){return this.getFileContentAsString()}getFileHandle(){return new L(A().getDownloadedBlobContentHandle(this.handle))}getDownloadedBlobHandle(){return this.getFileHandle()}getRemoteFileHandle(){return new L(A().getOnDemandBlobContentHandle(this.handle))}getOnDemandBlobHandle(){return this.getRemoteFileHandle()}extractArchiveAndGetURL(e){return new L(A().extractArchiveAndGetURL(this.handle,e))}getImportProgress(){return new L(A().getImportProgress(this.handle))}getLastLogs(e){return new L(A().getLastLogs(this.handle,e))}getProgressLog(e){return new L(A().getProgressLog(this.handle,e))}getProgressLogWithInfo(e){return new L(A().getProgressLogWithInfo(this.handle,e))}getLogHandle(){return new L(A().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(c=>[c,this.resolve({field:c,assertFieldType:r})]);return s&&(l=l.filter(c=>c[1]!==void 0)),l.map(([c,p])=>o(c,p))}}const Le="staging",Ee="main",$t={explicitColumnsSupport:!0,inlineColumnsSupport:!0,activeArgs:!0,pTablePartitionFiltersSupport:!0};function Oe(t){return typeof t=="object"&&t!==null&&"__awaited_futures__"in t}function fe(t,e,n){if(e.has(n))return;if(e.add(n),typeof n==="object")if(Oe(n))n.__awaited_futures__.forEach(i=>t.add(i));else if(Array.isArray(n))for(const i of n)fe(t,e,i);else for(const[,i]of Object.entries(n))i!==n&&fe(t,e,i)}function Ut(t){const e=new Set;return fe(e,new Set,t),e}const Bt=Object.freeze(Object.defineProperty({__proto__:null,GlobalCfgRenderCtxFeatureFlags:$t,MainAccessorName:Ee,StagingAccessorName:Le,getAllFutureAwaits:Ut,isFutureAwait:Oe},Symbol.toStringTag,{value:"Module"})),Re="pl7.app/label",De="pl7.app/trace",Fe=$.z.object({type:$.z.string(),importance:$.z.number().optional(),id:$.z.string().optional(),label:$.z.string()}),ke=$.z.array(Fe),Wt=.001,zt="__LABEL__",Pe="__LABEL__@1";function be(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 d,y;const v=e(f);let h,b,P;"spec"in v&&typeof v.spec=="object"?(h=v.spec,b=v.prefixTrace,P=v.suffixTrace):h=v;const D=(d=h.annotations)==null?void 0:d[Re],I=(y=h.annotations)==null?void 0:y[De],S=(I?ke.safeParse(JSON.parse(I)).data:void 0)??[],w=[...b??[],...S,...P??[]];if(D!==void 0){const _={label:D,type:zt,importance:-2};n.addLabelAsSuffix?w.push(_):w.splice(0,0,_)}const C=[],T=new Map;for(let _=w.length-1;_>=0;--_){const{type:z}=w[_],N=w[_].importance??0,J=(T.get(z)??0)+1;T.set(z,J);const k=`${z}@${J}`;s.set(k,(s.get(k)??0)+1),r.set(k,Math.max(r.get(k)??Number.NEGATIVE_INFINITY,N-(w.length-_)*Wt)),C.push({...w[_],fullType:k,occurrenceIndex:J})}return C.reverse(),{value:f,spec:h,label:D,fullTrace:C}}),a=[],l=[],c=[...r];c.sort(([,f],[,v])=>v-f);for(const[f]of c)f.endsWith("@1")||s.get(f)===t.length?a.push(f):l.push(f);const p=(f,v=!1)=>{const h=[];for(let b=0;b<o.length;b++){const P=o[b],D=P.fullTrace.filter(w=>f.has(w.fullType)||i&&i.has(w.type));if(D.length===0)if(v)h.push({label:"Unlabeled",value:P.value});else return;const I=D.map(w=>w.label),S=n.separator??" / ";h.push({label:I.join(S),value:P.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 p(new Set(Pe),!0)}let g=0,m=-1;for(;g<a.length;){const f=new Set;n.includeNativeLabel&&f.add(Pe);for(let h=0;h<g;++h)f.add(a[h]);m>=0&&f.add(a[m]);const v=p(f);if(v!==void 0&&new Set(v.map(h=>h.label)).size===t.length)return v;m++,m>=a.length&&(g++,m=g)}return p(new Set([...a,...l]),!0)}const re="PColumnData/",Z=re+"ResourceMap",ee=re+"Partitioned/ResourceMap",U=re+"JsonPartitioned",j=re+"BinaryPartitioned",Ne=re+"Partitioned/",te=Ne+"JsonPartitioned",B=Ne+"BinaryPartitioned";function Ve(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)],c=a===void 0?void 0:e(a);c===void 0&&(s=!1),(c!==void 0||i)&&n.push({key:l,value:c})}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)],c=Ve(a,e,n,l,i);s=s&&c}}return s}default:throw new Error(`Unknown resource type: ${t.resourceType.name}`)}}function Gt(t,e,n=!1){const r=[];return{isComplete:Ve(t,e,r,[],n),data:r}}const he=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 j:i=n.partitionKeyLength;break;case B:case te:i=n.superPartitionKeyLength+n.partitionKeyLength;break}switch(e){case Z:case U:case j:for(let s of t.listInputFields()){e===j&&(s=he(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=he(l).baseKey);const c=[...o,...JSON.parse(l)];r.push(c)}}break}return{data:r,keyLength:i}}function Ht(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 Je(t){if(t===void 0)return;if(u.isDataInfoEntries(t))return Ht(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 j:{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=he(o),l=t.resolve({field:o,assertFieldType:"Input"});if(l===void 0)return;let c=s.get(a.baseKey);c||(c={},s.set(a.baseKey,c)),a.type==="index"?c.index=l:c.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!==j)throw new Error(`Expected ${j} 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 Ke(t){if(t!==void 0){if(u.isDataInfoEntries(t))return t;if(u.isDataInfo(t))return u.dataInfoToEntries(t);if(t instanceof R)return le(t);throw new Error(`Unexpected input type: ${typeof t}`)}}function Me(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 qt(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 Yt{constructor(e){this.columns=e}selectColumns(e){const n=typeof e=="function"?e:u.selectorsToPredicate(e);return this.columns.filter(r=>n(r.spec))}}function Xt(t){if(t)return t.map(e=>({type:`split:${u.canonicalizeAxisId(e.axisId)}`,label:e.label,importance:1e6}))}function Qt(t){if(t)return t.map(e=>[e.axisIdx,e.value])}function Zt(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 en(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(){F(this,"defaultProviderStore",[]);F(this,"providers",[new Yt(this.defaultProviderStore)]);F(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 c=()=>!1;if(a){const h=(Array.isArray(a)?a:[a]).map(b=>{if(Ce(b)){if(!r)throw new Error("Anchored selectors in exclude require an AnchoredIdDeriver to be provided in options.");return u.selectorsToPredicate(u.resolveAnchors(r.anchors,b,n))}else return u.selectorsToPredicate(b)});c=b=>h.some(P=>P(b))}const p=typeof e=="function"?[e]:Array.isArray(e)?e:[e],g=[],m=new Set;for(const h of p){const b=Ce(h);let P;if(b){if(!r)throw new Error("Anchored selectors require an AnchoredIdDeriver to be provided in options.");P=u.resolveAnchors(r.anchors,h,n)}else P=h;const D=new Set,I=[];for(const C of this.providers){const T=C.selectColumns(P);for(const d of T){if(c(d.spec))continue;if(D.has(d.id))throw new Error(`Duplicate column id ${d.id} in provider ${C.constructor.name}`);const y=u.deriveNativeId(d.spec);m.has(y)||(D.add(d.id),m.add(y),I.push(d))}}if(I.length===0)continue;const S=en(h),w=S.length>0;for(const C of I){if(!u.isPColumnSpec(C.spec))continue;const T=C.spec;if(w){if(qt(C.data))throw new Error(`Splitting is not supported for PColumns with PColumnValues data format. Column id: ${C.id}`);const d=Ke(C.data);if(!d){if(s)continue;return}if(!u.isPartitionedDataInfoEntries(d))throw new Error(`Splitting requires Partitioned DataInfoEntries, but parsing resulted in ${d.type} for column ${C.id}`);const y=Je(d),_=S[S.length-1];if(_>=d.partitionKeyLength)throw new Error(`Not enough partition keys (${d.partitionKeyLength}) for requested split axes (max index ${_}) in column ${T.name}`);const z=S.map(E=>this.findLabels(u.getAxisId(T.axesSpec[E]))),N=[],J=(E,G)=>{if(G>=S.length){if(N.push([...E]),N.length>1e4)throw new Error("Too many key combinations, aborting.");return}const V=S[G];if(V>=y.length)throw new Error(`Axis index ${V} out of bounds for unique keys array (length ${y.length}) during split key generation for column ${C.id}`);const K=y[V];if(!K||K.length===0){N.length=0;return}for(const ie of K)E.push(ie),J(E,G+1),E.pop()};if(J([],0),N.length===0)continue;const k=[...T.axesSpec],it=S.map(E=>E);for(let E=S.length-1;E>=0;E--)k.splice(S[E],1);const st={...T,axesSpec:k};for(const E of N){const G=E.map((V,K)=>{const ie=it[K],ot=u.getAxisId(T.axesSpec[ie]),ce=z[K],at=(ce==null?void 0:ce[V])??String(V);return{axisIdx:ie,axisId:ot,value:V,label:at}});g.push({type:"split",originalColumn:C,spec:T,adjustedSpec:st,dataEntries:d,axisFilters:G})}}else g.push({type:"direct",originalColumn:C,spec:T,adjustedSpec:T})}}if(g.length===0)return[];const f=be(g,h=>({spec:h.spec,suffixTrace:h.type==="split"?Xt(h.axisFilters):void 0}),l),v=[];for(const{value:h,label:b}of f){const{originalColumn:P,spec:D}=h,I=h.type==="split"?h.axisFilters:void 0,S=Qt(I);let w;r?w=r.deriveS(D,S):w=Zt(P.id,S);let C={...h.adjustedSpec};o&&(C={...C,annotations:{...C.annotations??{},"pl7.app/label":b}}),v.push({id:w,spec:C,data:()=>h.type==="split"?u.entriesToDataInfo(Me(h.dataEntries,S)):h.originalColumn.data,label:b})}return v}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 pe(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 Se(t){return u.mapPObjectData(t,e=>e instanceof R?e.handle:u.isDataInfo(e)?u.mapDataInfo(e,n=>n.handle):e)}class $e{constructor(){F(this,"ctx",A())}calculateOptions(e){return this.ctx.calculateOptions(e)}getOptions(e,n){const r=typeof e=="function"?e:u.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"?be(i,a=>a.obj,s??{}).map(({value:{ref:a},label:l})=>({ref:u.withEnrichments(a,o),label:l})):i.map(({ref:a,obj:l})=>({ref:u.withEnrichments(a,o),label:s(l,a)}))}resolveAnchorCtx(e){if(e instanceof u.AnchoredIdDeriver)return e;const n={};for(const[r,i]of Object.entries(e))if(u.isPlRef(i)){const s=this.getPColumnSpecByRef(i);if(!s)return;n[r]=s}else n[r]=i;return new u.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 R(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:u.mapValueInVOE(n.obj.data,r=>new R(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 u.mapPObjectData(n,i=>new R(i,[e.blockId,e.name]))}getPColumnByRef(e){const n=this.getDataByRef(e);if(n)return u.ensurePColumn(n)}getPColumnSpecByRef(e){const n=this.getSpecByRef(e);if(n){if(!u.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(!u.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&&pe(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||!pe(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(!u.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&&pe(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:u.selectorsToPredicate(e);return this.getSpecs().entries.filter(({obj:i})=>u.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 c;return a!==null||(a=(c=l.getPColumnByRef(i))==null?void 0:c.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(){F(this,"ctx");F(this,"args");F(this,"uiState");F(this,"_activeArgsCache");F(this,"resultPool",new $e);this.ctx=A(),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 R(n,[e]))}get prerun(){return this.getNamedAccessor(Le)}get outputs(){return this.getNamedAccessor(Ee)}findLabels(e){return this.resultPool.findLabels(e)}verifyInlineAndExplicitColumnsSupport(e){var i;const n=e.some(s=>!(s.data instanceof R)||u.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")}patchPTableDef(e){var n;return(n=this.ctx.featureFlags)!=null&&n.pTablePartitionFiltersSupport?e:{...e,partitionFilters:[],filters:[...e.partitionFilters,...e.filters]}}createPFrame(e){return this.verifyInlineAndExplicitColumnsSupport(e),this.ctx.createPFrame(e.map(n=>Se(n)))}createPTable(e){let n;return"columns"in e?n=this.patchPTableDef({src:{type:"full",entries:e.columns.map(r=>({type:"column",column:r}))},partitionFilters:e.filters??[],filters:[],sorting:e.sorting??[]}):n=this.patchPTableDef(e),this.verifyInlineAndExplicitColumnsSupport(u.extractAllColumns(n.src)),this.ctx.createPTable(u.mapPTableDef(n,r=>Se(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.38.0";function Ue(t){return t.__renderLambda===!0}function se(t){if(t!==void 0)return Ue(t)?t.handle:t}function M(t){if(t!==void 0)return typeof t=="string"?{__renderLambda:!0,handle:t,retentive:!1}:t}function tn(t){if(t.v3!==void 0){const{initialArgs:e,initialUiState:n,inputsValid:r,outputs:i,renderingMode:s,sdkVersion:o,sections:a,title:l,enrichmentTargets:c}=t.v3,{code:p}=t;return{initialArgs:e,initialUiState:n,inputsValid:r,outputs:i,renderingMode:s,sdkVersion:o,sections:a,title:l,code:p,enrichmentTargets:c}}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(([c,p])=>[c,M(p)])),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(([c,p])=>[c,M(p)])),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 O{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 O(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 O(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 O(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 O(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,{__renderLambda:!0,handle:"inputsValid"},this._sections,this._title,this._enrichmentTargets)):new O(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 O(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,{__renderLambda:!0,handle:"sections"},this._title,this._enrichmentTargets)):new O(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,e,this._title,this._enrichmentTargets)}title(e){return H("title",()=>e(new q)),new O(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,this._sections,{__renderLambda:!0,handle:"title"},this._enrichmentTargets)}initialArgs(e){return new O(this._renderingMode,e,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title,this._enrichmentTargets)}withArgs(e){return new O(this._renderingMode,e,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title,this._enrichmentTargets)}withUiState(e){return new O(this._renderingMode,this._initialArgs,e,this._outputs,this._inputsValid,this._sections,this._title,this._enrichmentTargets)}enriches(e){return H("enrichmentTargets",e),new O(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 Jt()?_e({sdkVersion:X}):{config:e}}}function ve(){return{sourceId:null,hiddenColIds:null,partitionFilters:[],filters:[],sorting:[]}}function Be(){return{version:3,stateCache:[],pTableParams:ve()}}function We(t){return"version"in t?(t.version===2&&(t={version:3,stateCache:t.stateCache.map(e=>({...e,filtersState:[]})),pTableParams:ve()}),t):Be()}function ue(t){return t.axesSpec.length===1&&t.name==="pl7.app/label"}function ze(t){return new ne().addAxisLabelProvider(t).addColumnProvider(t).getColumns({name:"pl7.app/label",axes:[{}]},{dontWaitAllData:!0})}function ge(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 c=u.getAxisId(l);i.some(p=>u.matchAxisId(p,c))||i.push(c)}for(const a of n){const l=u.getAxisId(a.spec.axesSpec[0]),c=i.findIndex(p=>u.matchAxisId(p,l));c!==-1&&i.splice(c,1)}const s=(a,l)=>{let c=a.toString();if(l)for(const p in l)c+=p,c+=l[p];return c},o=[];for(const a of e){const l=a.spec.axesSpec[0],c=u.getAxisId(l),p=i.findIndex(g=>u.matchAxisId(g,c));if(p!==-1){const g=i[p],m=Object.keys(g.domain??{}).length,f=Object.keys(l.domain??{}).length;m>f?o.push({id:s(a.id,g.domain),spec:{...a.spec,axesSpec:[{...g,annotations:l.annotations}]},data:a.data}):o.push(a),i.splice(p,1)}}return o}function Ge(t){const e=i=>Array.isArray(i),n=i=>i instanceof R,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 we(t){let e=t.columns;const n=[];if(t.coreColumnPredicate){e=[];for(const r of t.columns)t.coreColumnPredicate(r.spec)?e.push(r):n.push(r)}return n.push(...t.labelColumns),{src:{type:"outer",primary:{type:t.coreJoinType,entries:e.map(r=>({type:"column",column:r}))},secondary:n.map(r=>({type:"column",column:r}))},partitionFilters:t.partitionFilters,filters:t.filters,sorting:t.sorting}}function He(t){var e;return((e=t.annotations)==null?void 0:e["pl7.app/table/visibility"])==="hidden"}function qe(t){var e;return((e=t.annotations)==null?void 0:e["pl7.app/table/visibility"])==="optional"}function oe(t,e){return[...new Map(t.map(n=>[e(n),n])).values()]}function nn(t,e,n,r){if(e.length===0)return;const i=e.filter(d=>!He(d.spec)),s=We(n),o=ze(t.resultPool);if(!o)return;const a=ge(i.map(u.getColumnIdAndSpec),o),l=[...i,...a],p=[...oe([...l.flatMap(d=>d.spec.axesSpec.map(y=>u.getAxisId(y)))],d=>u.canonicalizeJson(d)).map(d=>({type:"axis",id:d})),...l.map(d=>({type:"column",id:d.id}))],g=new Set(p.map(d=>u.canonicalizeJson(d))),m=d=>g.has(u.canonicalizeJson(d)),f=(r==null?void 0:r.coreJoinType)??"full",v=s.pTableParams.partitionFilters.filter(d=>{const y=m(d.column);return y||t.logWarn(`Partition filter ${JSON.stringify(d)} does not match provided columns, skipping`),y}),h=oe([...(r==null?void 0:r.filters)??[],...s.pTableParams.filters],d=>u.canonicalizeJson(d.column)).filter(d=>{const y=m(d.column);return y||t.logWarn(`Filter ${JSON.stringify(d)} does not match provided columns, skipping`),y}),b=oe([...(r==null?void 0:r.sorting)??[],...s.pTableParams.sorting],d=>u.canonicalizeJson(d.column)).filter(d=>{const y=m(d.column);return y||t.logWarn(`Sorting ${JSON.stringify(d)} does not match provided columns, skipping`),y}),P=we({columns:i,labelColumns:a,coreJoinType:f,partitionFilters:v,filters:h,sorting:b,coreColumnPredicate:r==null?void 0:r.coreColumnPredicate}),D=t.createPTable(P),I=new Set((()=>{if(f==="inner")return[];const d=s.pTableParams.hiddenColIds;return d||i.filter(y=>qe(y.spec)).map(y=>y.id)})());i.filter(d=>{var y;return((y=d.spec.annotations)==null?void 0:y["pl7.app/isLinkerColumn"])==="true"}).forEach(d=>I.delete(d.id)),r!=null&&r.coreColumnPredicate&&i.flatMap(y=>{var _;return(_=r==null?void 0:r.coreColumnPredicate)!=null&&_.call(r,y.spec)?[y.id]:[]}).forEach(y=>I.delete(y)),[...v.map(d=>d.column),...h.map(d=>d.column),...b.map(d=>d.column)].filter(d=>d.type==="column").forEach(d=>I.delete(d.id));const S=i.filter(d=>!I.has(d.id)),w=ge(S.map(u.getColumnIdAndSpec),o);if(!Ge([...S,...w]))return;const C=we({columns:S,labelColumns:w,coreJoinType:f,partitionFilters:v,filters:h,sorting:b,coreColumnPredicate:r==null?void 0:r.coreColumnPredicate}),T=t.createPTable(C);return{sourceId:s.pTableParams.sourceId,fullTableHandle:D,visibleTableHandle:T}}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 Ye(t){var e;return t.axesSpec.length===2&&((e=t.annotations)==null?void 0:e[Qe])==="true"}const Xe="pl7.app/graph/isVirtual",me="pl7.app/label",Qe="pl7.app/isLinkerColumn";function Ze(t){var n,r;const e=new Map;for(const{spec:i}of t){const s=i.axesSpec.map(u.getAxisId).map(u.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],c=s[a];(n=e.get(l))==null||n.add(c),(r=e.get(c))==null||r.add(l)}}return e}function et(t,e){const n=Ze(t),r=[...n.keys()].map(u.parseJson),i=[];for(const l of e.values()){const c=r.find(p=>u.matchAxisId(l,p));c&&i.push(u.canonicalizeJson(c))}const s=new Set(i),o=new Map;let a=[...i];for(;a.length;){const l=[];for(const c of a)for(const p of n.get(c)??[])s.has(p)||(l.push(p),s.add(p),o.set(p,u.parseJson(p)));a=l}return o}function tt(t,e){const n=[];return e.forEach(r=>{n.push(...an(t,r))}),n}function an(t,e){const n=e.spec.axesSpec.map(u.getAxisId);if(n.every(c=>t.has(u.canonicalizeJson(c))))return[e];const r=n.map(c=>{const p=[];for(const[g,m]of t)u.matchAxisId(m,c)&&!u.matchAxisId(c,m)&&p.push(m);return p}),i=on(r),s=new Set,o=new Set,a=i.map(c=>{const p=new Set;return c.map((g,m)=>{const f=e.spec.axesSpec[m].domain,v=g.domain;return Object.entries(v??{}).forEach(([h,b])=>{if((f==null?void 0:f[h])===void 0){const P=JSON.stringify([h,b]);p.add(P),s.add(P)}}),{...g,annotations:e.spec.axesSpec[m].annotations}}),p});[...s].forEach(c=>{a.some(p=>!p.has(c))&&o.add(c)});const l=i.map((c,p)=>{var h;const g=sn(e.id,c.map(b=>b.domain)),m=((h=e.spec.annotations)==null?void 0:h[me])??"",f=[...a[p]].filter(b=>o.has(b)).sort().map(b=>{var P;return(P=JSON.parse(b))==null?void 0:P[1]}).join(" / "),v={...e.spec.annotations,[Xe]:"true"};return(m||f)&&(v[me]=m&&f?m+" / "+f:m+f),{id:g,spec:{...e.spec,axesSpec:c.map((b,P)=>({...b,annotations:e.spec.axesSpec[P].annotations})),annotations:v},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 g of e)for(const m of g.spec.axesSpec){const f=u.getAxisId(m);r.set(u.canonicalizeJson(f),f),i.set(u.canonicalizeJson(f),f)}const s=n.getColumns(g=>Ye(g))??[],o=et(s,r);for(const g of o)r.set(...g),i.set(...g);const a=(n.getColumns(g=>g.axesSpec.some(m=>{const f=u.getAxisId(m);for(const v of r.values())if(u.matchAxisId(v,f))return!0;return!1}),{dontWaitAllData:!0,overrideLabelAnnotation:!1})??[]).filter(g=>!ue(g.spec));for(const g of a)for(const m of g.spec.axesSpec){const f=u.getAxisId(m);i.set(u.canonicalizeJson(f),f)}const l=(n.getColumns(g=>g.axesSpec.some(m=>{const f=u.getAxisId(m);for(const v of i.values())if(u.matchAxisId(v,f))return!0;return!1}),{dontWaitAllData:!0,overrideLabelAnnotation:!1})??[]).filter(g=>ue(g.spec)),c=[...a,...l],p=tt(r,c);if(!p.some(g=>g.data instanceof R&&!g.data.getIsReadyOrError()))return t.createPFrame(p)}function un({selection:t,columnId:e=u.uniquePlId(),label:n="Selection marker",domain:r}){if(!(t!=null&&t.axesSpec.length))return;const i=t.selectedKeys.filter(s=>s.every(o=>!u.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===u.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 nt(t){return ye({__isRef:!0,blockId:Q(t,"blockId"),name:Q(t,"name")})}function pn(t){return ye({ref:nt(Q(t,"ref")),label:Q(t,"label")})}const fn={sdkVersion:X};function rt(){return _e({sdkVersion:X})}function hn(t){try{return rt()}catch{return t}}function gn(t){if(typeof globalThis.getEnvironmentValue=="function")return globalThis.getEnvironmentValue(t)}exports.Args=pt;exports.BlockModel=O;exports.CurrentSdkInfo=fn;exports.FutureRef=L;exports.IS_VIRTUAL_COLUMN=Xe;exports.It=ft;exports.JsRenderInternal=Bt;exports.LABEL_ANNOTATION=me;exports.LINKER_COLUMN_ANNOTATION=Qe;exports.MainOutputs=ht;exports.OutputError=Ie;exports.PAnnotationLabel=Re;exports.PAnnotationTrace=De;exports.PColumnCollection=ne;exports.PFrameImpl=dn;exports.RT_BINARY_PARTITIONED=j;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=$e;exports.StagingOutputs=gt;exports.Trace=ke;exports.TraceEntry=Fe;exports.TreeNodeAccessor=R;exports.UiState=mt;exports.allColumnsComputed=Ge;exports.and=St;exports.convertOrParsePColumnData=Ke;exports.createPFrameForGraphs=ln;exports.createPlDataTableSheet=rn;exports.createPlDataTableStateV2=Be;exports.createPlDataTableV2=nn;exports.createRowSelectionColumn=un;exports.deriveLabels=be;exports.downgradeCfgOrLambda=se;exports.enrichCompatible=tt;exports.extractArchiveAndGetURL=Dt;exports.extractConfig=tn;exports.filterDataInfoEntries=Me;exports.flatten=At;exports.fromPlOption=pn;exports.fromPlRef=nt;exports.getAllLabelColumns=ze;exports.getAvailableWithLinkersAxes=et;exports.getBlobContent=_t;exports.getBlobContentAsJson=Et;exports.getBlobContentAsString=Lt;exports.getDownloadedBlobContent=Ot;exports.getEnvironmentValue=gn;exports.getFromCfg=W;exports.getImmediate=Y;exports.getImportProgress=Ft;exports.getJsonField=Q;exports.getLastLogs=kt;exports.getLinkerColumnsMap=Ze;exports.getLogHandle=jt;exports.getMatchingLabelColumns=ge;exports.getOnDemandBlobContent=Rt;exports.getPartitionKeysList=je;exports.getPlatformaOrDefault=hn;exports.getProgressLog=Nt;exports.getProgressLogWithInfo=Vt;exports.getRawPlatformaInstance=rt;exports.getResourceField=xt;exports.getResourceValueAsJson=It;exports.getUniquePartitionKeys=Je;exports.ifDef=ae;exports.isColumnHidden=He;exports.isColumnOptional=qe;exports.isConfigLambda=Ue;exports.isEmpty=Pt;exports.isLabelColumn=ue;exports.isLinkerColumn=Ye;exports.isolate=dt;exports.makeArray=yt;exports.makeDefaultPTableParams=ve;exports.makeObject=ye;exports.mapArrayValues=vt;exports.mapPTableValueToAxisKey=cn;exports.mapRecordValues=bt;exports.mapResourceFields=Tt;exports.not=Ct;exports.or=wt;exports.parsePColumnData=le;exports.parseResourceMap=Gt;exports.readOutput=Te;exports.uniqueBy=oe;exports.upgradePlDataTableStateV2=We;exports.wrapOutputs=ct;Object.keys(u).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>u[t]})});Object.keys(Ae).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>Ae[t]})});
2
2
  //# sourceMappingURL=index.js.map