@platforma-sdk/model 1.40.1 → 1.40.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters_ui.d.ts","sourceRoot":"","sources":["../../../src/components/PlAnnotations/filters_ui.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './filter';
2
+ export * from './filters_ui';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PlAnnotations/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { PColumnSpec } from '@milaboratories/pl-model-common';
2
+ export type SimplifiedPColumnSpec = Pick<PColumnSpec, 'valueType' | 'annotations'>;
3
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/PlAnnotations/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,CAAC,CAAC"}
@@ -2,4 +2,5 @@ export * from './PFrameForGraphs';
2
2
  export * from './PlDataTable';
3
3
  export * from './PlMultiSequenceAlignment';
4
4
  export * from './PlSelectionModel';
5
+ export * from './PlAnnotations';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var dt=Object.defineProperty;var pt=(t,e,n)=>e in t?dt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var D=(t,e,n)=>pt(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("@milaboratories/pl-model-common"),Le=require("canonicalize"),j=require("zod"),Ie=require("@milaboratories/pl-error-like");class Ee extends Error{constructor(e,n){super(`${e.length}${n?"+":""} errors, first error: `+e[0].message),this.errors=e,this.moreErrors=n}}function Fe(t){if(!t.ok)throw new Ee(t.errors,t.moreErrors);return t.value}function ft(t){return new Proxy(t,{get(e,n){return Fe(e[n])}})}function x(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t===null?X(t):t}function W(t){return{type:"GetFromCtx",variable:t}}function ht(t){return{type:"Isolate",cfg:t}}const gt=W("$args"),mt=W("$it"),yt=W("$prod"),bt=W("$staging"),vt=W("$ui");function X(t){return{type:"Immediate",value:t}}function Ce(t){const e={};for(const[n,r]of Object.entries(t))e[n]=x(r);return{type:"MakeObject",template:e}}function At(...t){const e=[];for(const n of t)e.push(x(n));return{type:"MakeArray",template:e}}function Z(t,e){return{type:"GetJsonField",source:x(t),field:x(e)}}function Ct(t,e,n="$it"){return{type:"MapRecordValues",source:t,mapping:e,itVar:n}}function Pt(t,e,n="$it"){return{type:"MapArrayValues",source:t,mapping:e,itVar:n}}function St(t){return{type:"Flatten",source:t}}function It(t){return{type:"IsEmpty",arg:t}}function xt(t){return{type:"Not",operand:t}}function wt(t,e){return{type:"And",operand1:t,operand2:e}}function _t(t,e){return{type:"Or",operand1:t,operand2:e}}function Tt(t,e){return{type:"GetResourceField",source:x(t),field:x(e)}}function Lt(){return function(t){return{type:"GetResourceValueAsJson",source:x(t)}}}function Et(t,e,n="$it"){return{type:"MapResourceFields",source:t,mapping:e,itVar:n}}function Ft(t,e){return{type:"GetBlobContent",range:e,source:x(t)}}function Ot(t,e){return{type:"GetBlobContentAsString",range:e,source:x(t)}}function Rt(){return function(t,e){return{type:"GetBlobContentAsJson",range:e,source:x(t)}}}function Dt(t){return{type:"GetDownloadedBlobContent",source:x(t)}}function kt(t){return{type:"GetOnDemandBlobContent",source:x(t)}}function Nt(t,e){return{type:"ExtractArchiveAndGetURL",format:e,source:x(t)}}function Jt(t){return{type:"GetImportProgress",source:x(t)}}function Kt(t,e){return{type:"GetLastLogs",source:x(t),lines:e}}function Vt(t,e){return{type:"GetProgressLog",source:x(t),patternToSearch:e}}function Mt(t,e){return{type:"GetProgressLogWithInfo",source:x(t),patternToSearch:e}}function jt(t){return{type:"GetLogHandle",source:x(t)}}function Bt(){return typeof globalThis.getPlatforma<"u"||typeof globalThis.platforma<"u"}function Oe(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 $t(){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=$t();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 Ut(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 E{constructor(e,n=r=>r){D(this,"isResolved",!1);D(this,"resolvedValue");this.handle=e,this.postProcess=n,Ut(e,r=>{this.resolvedValue=n(r),this.isResolved=!0})}map(e){return new E(this.handle,n=>e(this.postProcess(n)))}mapDefined(e){return new E(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 O{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 O(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 O(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(!l.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]=l.mapPObjectData(o,u=>new O(u,a))}return i}getFileContentAsBase64(e){return new E(A().getBlobContentAsBase64(this.handle,e))}getFileContentAsString(e){return new E(A().getBlobContentAsString(this.handle,e))}getFileContentAsJson(e){return new E(A().getBlobContentAsString(this.handle,e)).mapDefined(n=>JSON.parse(n))}getBlobContentAsBase64(){return this.getFileContentAsBase64()}getBlobContentAsString(){return this.getFileContentAsString()}getFileHandle(){return new E(A().getDownloadedBlobContentHandle(this.handle))}getDownloadedBlobHandle(){return this.getFileHandle()}getRemoteFileHandle(){return new E(A().getOnDemandBlobContentHandle(this.handle))}getOnDemandBlobHandle(){return this.getRemoteFileHandle()}extractArchiveAndGetURL(e){return new E(A().extractArchiveAndGetURL(this.handle,e))}getImportProgress(){return new E(A().getImportProgress(this.handle))}getLastLogs(e){return new E(A().getLastLogs(this.handle,e))}getProgressLog(e){return new E(A().getProgressLog(this.handle,e))}getProgressLogWithInfo(e){return new E(A().getProgressLogWithInfo(this.handle,e))}getLogHandle(){return new E(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 u=(r==="Input"?this.listInputFields():r==="Output"?this.listOutputFields():this.listDynamicFields()).map(c=>[c,this.resolve({field:c,assertFieldType:r})]);return s&&(u=u.filter(c=>c[1]!==void 0)),u.map(([c,g])=>o(c,g))}}const Re="staging",De="main",Wt={explicitColumnsSupport:!0,inlineColumnsSupport:!0,activeArgs:!0,pTablePartitionFiltersSupport:!0,pFrameInSetFilterSupport:!0};function ke(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(ke(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 zt(t){const e=new Set;return fe(e,new Set,t),e}const Gt=Object.freeze(Object.defineProperty({__proto__:null,GlobalCfgRenderCtxFeatureFlags:Wt,MainAccessorName:De,StagingAccessorName:Re,getAllFutureAwaits:zt,isFutureAwait:ke},Symbol.toStringTag,{value:"Module"})),Ne="pl7.app/label",Je="pl7.app/trace",Ke=j.z.object({type:j.z.string(),importance:j.z.number().optional(),id:j.z.string().optional(),label:j.z.string()}),Ve=j.z.array(Ke),Ht=.001,qt="__LABEL__",xe="__LABEL__@1";function Pe(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,v;const b=e(f);let p,y,C;"spec"in b&&typeof b.spec=="object"?(p=b.spec,y=b.prefixTrace,C=b.suffixTrace):p=b;const R=(d=p.annotations)==null?void 0:d[Ne],_=(v=p.annotations)==null?void 0:v[Je],S=(_?Ve.safeParse(JSON.parse(_)).data:void 0)??[],I=[...y??[],...S,...C??[]];if(R!==void 0){const L={label:R,type:qt,importance:-2};n.addLabelAsSuffix?I.push(L):I.splice(0,0,L)}const P=[],T=new Map;for(let L=I.length-1;L>=0;--L){const{type:z}=I[L],N=I[L].importance??0,V=(T.get(z)??0)+1;T.set(z,V);const k=`${z}@${V}`;s.set(k,(s.get(k)??0)+1),r.set(k,Math.max(r.get(k)??Number.NEGATIVE_INFINITY,N-(I.length-L)*Ht)),P.push({...I[L],fullType:k,occurrenceIndex:V})}return P.reverse(),{value:f,spec:p,label:R,fullTrace:P}}),a=[],u=[],c=[...r];c.sort(([,f],[,b])=>b-f);for(const[f]of c)f.endsWith("@1")||s.get(f)===t.length?a.push(f):u.push(f);const g=(f,b=!1)=>{const p=[];for(let y=0;y<o.length;y++){const C=o[y],R=C.fullTrace.filter(I=>f.has(I.fullType)||i&&i.has(I.type));if(R.length===0)if(b)p.push({label:"Unlabeled",value:C.value});else return;const _=R.map(I=>I.label),S=n.separator??" / ";p.push({label:_.join(S),value:C.value})}return p};if(a.length===0){if(u.length!==0)throw new Error("Non-empty secondary types list while main types list is empty.");return g(new Set(xe),!0)}let h=0,m=-1;for(;h<a.length;){const f=new Set;n.includeNativeLabel&&f.add(xe);for(let p=0;p<h;++p)f.add(a[p]);m>=0&&f.add(a[m]);const b=g(f);if(b!==void 0&&new Set(b.map(p=>p.label)).size===t.length)return b;m++,m>=a.length&&(h++,m=h)}return g(new Set([...a,...u]),!0)}const re="PColumnData/",ee=re+"ResourceMap",te=re+"Partitioned/ResourceMap",B=re+"JsonPartitioned",K=re+"BinaryPartitioned",Me=re+"Partitioned/",ne=Me+"JsonPartitioned",$=Me+"BinaryPartitioned";function je(t,e,n,r=[],i){if(t===void 0)return!1;switch(t.resourceType.name){case ee:{let s=t.getInputsLocked();for(const o of t.listInputFields()){const a=t.resolve({field:o,assertFieldType:"Input"}),u=[...r,...JSON.parse(o)],c=a===void 0?void 0:e(a);c===void 0&&(s=!1),(c!==void 0||i)&&n.push({key:u,value:c})}return s}case te:{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 u=[...r,...JSON.parse(o)],c=je(a,e,n,u,i);s=s&&c}}return s}default:throw new Error(`Unknown resource type: ${t.resourceType.name}`)}}function Yt(t,e,n=!1){const r=[];return{isComplete:je(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 Be(t){if(!t)return;const e=t.resourceType.name,n=t.getDataAsJson(),r=[];let i=0;switch(e){case ee:i=n.keyLength;break;case te:i=n.partitionKeyLength+n.keyLength;break;case B:case K:i=n.partitionKeyLength;break;case $:case ne:i=n.superPartitionKeyLength+n.partitionKeyLength;break}switch(e){case ee:case B:case K:for(let s of t.listInputFields()){e===K&&(s=he(s).baseKey);const o=[...JSON.parse(s)];r.push(o)}break;case te:case $:case ne:for(const s of t.listInputFields()){const o=[...JSON.parse(s)],a=t.resolve({field:s,assertFieldType:"Input"});if(a!==void 0)for(let u of a.listInputFields()){e===$&&(u=he(u).baseKey);const c=[...o,...JSON.parse(u)];r.push(c)}}break}return{data:r,keyLength:i}}function Xt(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 $e(t){if(t===void 0)return;if(l.isDataInfoEntries(t))return Xt(t);const e=Be(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===ne||n===$))throw new Error(`Unexpected nested super-partitioned resource: ${n}`);switch(n){case ee:case te:throw new Error(`Only data columns are supported, got: ${n}`);case B:{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 K:{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),u=t.resolve({field:o,assertFieldType:"Input"});if(u===void 0)return;let c=s.get(a.baseKey);c||(c={},s.set(a.baseKey,c)),a.type==="index"?c.index=u:c.values=u}for(const[o,a]of s.entries()){if(!a.index||!a.values)return;const u=[...e,...JSON.parse(o)];i.push({key:u,value:{index:a.index,values:a.values}})}return{type:"BinaryPartitioned",partitionKeyLength:r.partitionKeyLength,parts:i}}case ne:{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!==B)throw new Error(`Expected ${B} inside ${n}, but got ${a.resourceType.name}`);const u=le(a,JSON.parse(o));if(u===void 0)return;if(u.type!=="JsonPartitioned")throw new Error(`Unexpected inner result type for ${n}: ${u.type}`);s.push(...u.parts)}return{type:"JsonPartitioned",partitionKeyLength:i,parts:s}}case $:{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!==K)throw new Error(`Expected ${K} inside ${n}, but got ${a.resourceType.name}`);const u=le(a,JSON.parse(o));if(u===void 0)return;if(u.type!=="BinaryPartitioned")throw new Error(`Unexpected inner result type for ${n}: ${u.type}`);s.push(...u.parts)}return{type:"BinaryPartitioned",partitionKeyLength:i,parts:s}}default:throw new Error(`Unknown resource type: ${n}`)}}function Ue(t){if(t!==void 0){if(l.isDataInfoEntries(t))return t;if(l.isDataInfo(t))return l.dataInfoToEntries(t);if(t instanceof O)return le(t);throw new Error(`Unexpected input type: ${typeof t}`)}}function We(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 Zt{constructor(e){this.columns=e}selectColumns(e){const n=typeof e=="function"?e:l.selectorsToPredicate(e);return this.columns.filter(r=>n(r.spec))}}function en(t){if(t)return t.map(e=>({type:`split:${l.canonicalizeAxisId(e.axisId)}`,label:e.label,importance:1e6}))}function tn(t){if(t)return t.map(e=>[e.axisIdx,e.value])}function nn(t,e){if(!e||e.length===0)return t;const n=[...e].sort((r,i)=>r[0]-i[0]);return Le({id:t,axisFilters:n})}function we(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 rn(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 U{constructor(){D(this,"defaultProviderStore",[]);D(this,"providers",[new Zt(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??{},u={...o&&(i==null?void 0:i.includeNativeLabel)!==!1?{includeNativeLabel:!0}:{},...i??{}};let c=()=>!1;if(a){const p=(Array.isArray(a)?a:[a]).map(y=>{if(we(y)){if(!r)throw new Error("Anchored selectors in exclude require an AnchoredIdDeriver to be provided in options.");return l.selectorsToPredicate(l.resolveAnchors(r.anchors,y,n))}else return l.selectorsToPredicate(y)});c=y=>p.some(C=>C(y))}const g=typeof e=="function"?[e]:Array.isArray(e)?e:[e],h=[],m=new Set;for(const p of g){const y=we(p);let C;if(y){if(!r)throw new Error("Anchored selectors require an AnchoredIdDeriver to be provided in options.");C=l.resolveAnchors(r.anchors,p,n)}else C=p;const R=new Set,_=[];for(const P of this.providers){const T=P.selectColumns(C);for(const d of T){if(c(d.spec))continue;if(R.has(d.id))throw new Error(`Duplicate column id ${d.id} in provider ${P.constructor.name}`);const v=l.deriveNativeId(d.spec);m.has(v)||(R.add(d.id),m.add(v),_.push(d))}}if(_.length===0)continue;const S=rn(p),I=S.length>0;for(const P of _){if(!l.isPColumnSpec(P.spec))continue;const T=P.spec;if(I){if(Qt(P.data))throw new Error(`Splitting is not supported for PColumns with PColumnValues data format. Column id: ${P.id}`);const d=Ue(P.data);if(!d){if(s)continue;return}if(!l.isPartitionedDataInfoEntries(d))throw new Error(`Splitting requires Partitioned DataInfoEntries, but parsing resulted in ${d.type} for column ${P.id}`);const v=$e(d),L=S[S.length-1];if(L>=d.partitionKeyLength)throw new Error(`Not enough partition keys (${d.partitionKeyLength}) for requested split axes (max index ${L}) in column ${T.name}`);const z=S.map(F=>this.findLabels(l.getAxisId(T.axesSpec[F]))),N=[],V=(F,G)=>{if(G>=S.length){if(N.push([...F]),N.length>1e4)throw new Error("Too many key combinations, aborting.");return}const J=S[G];if(J>=v.length)throw new Error(`Axis index ${J} out of bounds for unique keys array (length ${v.length}) during split key generation for column ${P.id}`);const M=v[J];if(!M||M.length===0){N.length=0;return}for(const ie of M)F.push(ie),V(F,G+1),F.pop()};if(V([],0),N.length===0)continue;const k=[...T.axesSpec],at=S.map(F=>F);for(let F=S.length-1;F>=0;F--)k.splice(S[F],1);const lt={...T,axesSpec:k};for(const F of N){const G=F.map((J,M)=>{const ie=at[M],ut=l.getAxisId(T.axesSpec[ie]),ce=z[M],ct=(ce==null?void 0:ce[J])??String(J);return{axisIdx:ie,axisId:ut,value:J,label:ct}});h.push({type:"split",originalColumn:P,spec:T,adjustedSpec:lt,dataEntries:d,axisFilters:G})}}else h.push({type:"direct",originalColumn:P,spec:T,adjustedSpec:T})}}if(h.length===0)return[];const f=Pe(h,p=>({spec:p.spec,suffixTrace:p.type==="split"?en(p.axisFilters):void 0}),u),b=[];for(const{value:p,label:y}of f){const{originalColumn:C,spec:R}=p,_=p.type==="split"?p.axisFilters:void 0,S=tn(_);let I;r?I=r.deriveS(R,S):I=nn(C.id,S);let P={...p.adjustedSpec};o&&(P={...P,annotations:{...P.annotations??{},"pl7.app/label":y}}),b.push({id:I,spec:P,data:()=>p.type==="split"?l.entriesToDataInfo(We(p.dataEntries,S)):p.originalColumn.data,label:y})}return b}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 ge(t){const e=i=>i.operator!=="InSet"?i:{operator:"Or",operands:i.references.map(s=>({operator:"Equal",reference:s}))},n=(i,s)=>{switch(i.operator){case"And":return{...i,operands:i.operands.map(a=>n(a,s))};case"Or":return{...i,operands:i.operands.map(a=>n(a,s))};case"Not":return{...i,operand:n(i.operand,s)};default:return s(i)}},r=(i,s)=>({...i,predicate:n(i.predicate,s)});return t.map(i=>r(i,e))}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 _e(t){return l.mapPObjectData(t,e=>e instanceof O?e.handle:l.isDataInfo(e)?l.mapDataInfo(e,n=>n.handle):e)}class ze{constructor(){D(this,"ctx",A())}calculateOptions(e){return this.ctx.calculateOptions(e)}getOptions(e,n){const r=typeof e=="function"?e:l.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"?Pe(i,a=>a.obj,s??{}).map(({value:{ref:a},label:u})=>({ref:l.withEnrichments(a,o),label:u})):i.map(({ref:a,obj:u})=>({ref:l.withEnrichments(a,o),label:s(u,a)}))}resolveAnchorCtx(e){if(e instanceof l.AnchoredIdDeriver)return e;const n={};for(const[r,i]of Object.entries(e))if(l.isPlRef(i)){const s=this.getPColumnSpecByRef(i);if(!s)return;n[r]=s}else n[r]=i;return new l.AnchoredIdDeriver(n)}getAnchoredPColumns(e,n,r){const i=this.resolveAnchorCtx(e);if(i)return new U().addColumnProvider(this).addAxisLabelProvider(this).getColumns(n,{...r,anchorCtx:i})}getCanonicalOptions(e,n,r){const i=this.resolveAnchorCtx(e);if(!i)return;const s=new U().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 O(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:l.mapValueInVOE(n.obj.data,r=>new O(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 l.mapPObjectData(n,i=>new O(i,[e.blockId,e.name]))}getPColumnByRef(e){const n=this.getDataByRef(e);if(n)return l.ensurePColumn(n)}getPColumnSpecByRef(e){const n=this.getSpecByRef(e);if(n){if(!l.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(!l.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(!l.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:l.selectorsToPredicate(e);return this.getSpecs().entries.filter(({obj:i})=>l.isPColumnSpec(i)?n(i):!1).map(({ref:i,obj:s})=>{const o=s;let a=null;const u=this;return{id:Le(i),spec:o,get data(){var c;return a!==null||(a=(c=u.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(){D(this,"ctx");D(this,"_argsCache");D(this,"_uiStateCache");D(this,"_activeArgsCache");D(this,"resultPool",new ze);this.ctx=A()}get args(){if(this._argsCache===void 0){const e=this.ctx.args,n=typeof e=="function"?e():e;this._argsCache={v:JSON.parse(n)}}return this._argsCache.v}get uiState(){if(this._uiStateCache===void 0){const e=this.ctx.uiState,n=typeof e=="function"?e():e;this._uiStateCache={v:n?JSON.parse(n):{}}}return this._uiStateCache.v}get activeArgs(){if(this._activeArgsCache===void 0){const e=this.ctx.activeArgs,n=typeof e=="function"?e():e;this._activeArgsCache={v:n?JSON.parse(n):void 0}}return this._activeArgsCache.v}getNamedAccessor(e){return ae(this.ctx.getAccessorHandleByName(e),n=>new O(n,[e]))}get prerun(){return this.getNamedAccessor(Re)}get outputs(){return this.getNamedAccessor(De)}findLabels(e){return this.resultPool.findLabels(e)}verifyInlineAndExplicitColumnsSupport(e){var i;const n=e.some(s=>!(s.data instanceof O)||l.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,r;return(n=this.ctx.featureFlags)!=null&&n.pTablePartitionFiltersSupport||(e={...e,partitionFilters:[],filters:[...e.partitionFilters,...e.filters]}),(r=this.ctx.featureFlags)!=null&&r.pFrameInSetFilterSupport||(e={...e,partitionFilters:ge(e.partitionFilters),filters:ge(e.filters)}),e}createPFrame(e){return this.verifyInlineAndExplicitColumnsSupport(e),this.ctx.createPFrame(e.map(n=>_e(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(l.extractAllColumns(n.src)),this.ctx.createPTable(l.mapPTableDef(n,r=>_e(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 Q="1.40.1";function Ge(t){return t.__renderLambda===!0}function se(t){if(t!==void 0)return Ge(t)?t.handle:t}function sn(t){return l.extractConfigGeneric(t)}const w=class w{constructor(e,n,r,i,s,o,a,u,c){this._renderingMode=e,this._initialArgs=n,this._initialUiState=r,this._outputs=i,this._inputsValid=s,this._sections=o,this._title=a,this._enrichmentTargets=u,this._featureFlags=c}static create(e="Heavy"){return new w(e,void 0,{},{},X(!0),X([]),void 0,void 0,{...w.INITIAL_BLOCK_FEATURE_FLAGS})}output(e,n,r={}){if(typeof n=="function"){const i=`output#${e}`;return H(i,()=>n(new q)),new w(this._renderingMode,this._initialArgs,this._initialUiState,{...this._outputs,[e]:{__renderLambda:!0,handle:i,...r}},this._inputsValid,this._sections,this._title,this._enrichmentTargets,this._featureFlags)}else return new w(this._renderingMode,this._initialArgs,this._initialUiState,{...this._outputs,[e]:n},this._inputsValid,this._sections,this._title,this._enrichmentTargets,this._featureFlags)}retentiveOutput(e,n){return this.output(e,n,{retentive:!0})}argsValid(e){return typeof e=="function"?(H("inputsValid",()=>e(new q)),new w(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,{__renderLambda:!0,handle:"inputsValid"},this._sections,this._title,this._enrichmentTargets,this._featureFlags)):new w(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,e,this._sections,this._title,this._enrichmentTargets,this._featureFlags)}sections(e){return Array.isArray(e)?this.sections(X(e)):typeof e=="function"?(H("sections",()=>e(new q)),new w(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,{__renderLambda:!0,handle:"sections"},this._title,this._enrichmentTargets,this._featureFlags)):new w(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,e,this._title,this._enrichmentTargets,this._featureFlags)}title(e){return H("title",()=>e(new q)),new w(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,this._sections,{__renderLambda:!0,handle:"title"},this._enrichmentTargets,this._featureFlags)}initialArgs(e){return new w(this._renderingMode,e,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title,this._enrichmentTargets,this._featureFlags)}withArgs(e){return new w(this._renderingMode,e,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title,this._enrichmentTargets,this._featureFlags)}withUiState(e){return new w(this._renderingMode,this._initialArgs,e,this._outputs,this._inputsValid,this._sections,this._title,this._enrichmentTargets,this._featureFlags)}enriches(e){return H("enrichmentTargets",e),new w(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title,{__renderLambda:!0,handle:"enrichmentTargets"},this._featureFlags)}done(){if(this._initialArgs===void 0)throw new Error("Initial arguments not set.");const e={v3:{sdkVersion:Q,renderingMode:this._renderingMode,initialArgs:this._initialArgs,initialUiState:this._initialUiState,inputsValid:this._inputsValid,sections:this._sections,title:this._title,outputs:this._outputs,enrichmentTargets:this._enrichmentTargets,featureFlags:this._featureFlags},sdkVersion:Q,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 Bt()?Oe({sdkVersion:Q}):{config:e}}};D(w,"INITIAL_BLOCK_FEATURE_FLAGS",{supportsLazyState:!0,requiresUIAPIVersion:1,requiresModelAPIVersion:1});let me=w;function Se(){return{sourceId:null,hiddenColIds:null,partitionFilters:[],filters:[],sorting:[]}}function ye(){return{version:4,stateCache:[],pTableParams:Se()}}function He(t){return"version"in t||(t=ye()),t.version===2&&(t={version:3,stateCache:t.stateCache.map(e=>({...e,filtersState:[]})),pTableParams:Se()}),t.version===3&&(t=ye()),t}function ue(t){return t.axesSpec.length===1&&t.name==="pl7.app/label"}function qe(t){return new U().addAxisLabelProvider(t).addColumnProvider(t).getColumns({name:"pl7.app/label",axes:[{}]},{dontWaitAllData:!0})}function be(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 u of a.spec.axesSpec){const c=l.getAxisId(u);i.some(g=>l.matchAxisId(g,c))||i.push(c)}for(const a of n){const u=l.getAxisId(a.spec.axesSpec[0]),c=i.findIndex(g=>l.matchAxisId(g,u));c!==-1&&i.splice(c,1)}const s=(a,u)=>{let c=a.toString();if(u)for(const g in u)c+=g,c+=u[g];return c},o=[];for(const a of e){const u=a.spec.axesSpec[0],c=l.getAxisId(u),g=i.findIndex(h=>l.matchAxisId(h,c));if(g!==-1){const h=i[g],m=Object.keys(h.domain??{}).length,f=Object.keys(u.domain??{}).length;m>f?o.push({id:s(a.id,h.domain),spec:{...a.spec,axesSpec:[{...h,annotations:u.annotations}]},data:a.data}):o.push(a),i.splice(g,1)}}return o}function Ye(t){const e=i=>Array.isArray(i),n=i=>i instanceof O,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 Te(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 Xe(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 on(t,e,n,r){if(e.length===0)return;const i=e.filter(d=>!Xe(d.spec)),s=He(n),o=qe(t.resultPool);if(!o)return;const a=be(i.map(l.getColumnIdAndSpec),o),u=[...i,...a],g=[...oe([...u.flatMap(d=>d.spec.axesSpec.map(v=>l.getAxisId(v)))],d=>l.canonicalizeJson(d)).map(d=>({type:"axis",id:d})),...u.map(d=>({type:"column",id:d.id}))],h=new Set(g.map(d=>l.canonicalizeJson(d))),m=d=>h.has(l.canonicalizeJson(d)),f=(r==null?void 0:r.coreJoinType)??"full",b=s.pTableParams.partitionFilters.filter(d=>{const v=m(d.column);return v||t.logWarn(`Partition filter ${JSON.stringify(d)} does not match provided columns, skipping`),v}),p=oe([...(r==null?void 0:r.filters)??[],...s.pTableParams.filters],d=>l.canonicalizeJson(d.column)).filter(d=>{const v=m(d.column);return v||t.logWarn(`Filter ${JSON.stringify(d)} does not match provided columns, skipping`),v}),y=oe([...(r==null?void 0:r.sorting)??[],...s.pTableParams.sorting],d=>l.canonicalizeJson(d.column)).filter(d=>{const v=m(d.column);return v||t.logWarn(`Sorting ${JSON.stringify(d)} does not match provided columns, skipping`),v}),C=Te({columns:i,labelColumns:a,coreJoinType:f,partitionFilters:b,filters:p,sorting:y,coreColumnPredicate:r==null?void 0:r.coreColumnPredicate}),R=t.createPTable(C),_=new Set((()=>{if(f==="inner")return[];const d=s.pTableParams.hiddenColIds;return d||i.filter(v=>Qe(v.spec)).map(v=>v.id)})());i.filter(d=>{var v;return((v=d.spec.annotations)==null?void 0:v["pl7.app/isLinkerColumn"])==="true"}).forEach(d=>_.delete(d.id)),r!=null&&r.coreColumnPredicate&&i.flatMap(v=>{var L;return(L=r==null?void 0:r.coreColumnPredicate)!=null&&L.call(r,v.spec)?[v.id]:[]}).forEach(v=>_.delete(v)),[...b.map(d=>d.column),...p.map(d=>d.column),...y.map(d=>d.column)].filter(d=>d.type==="column").forEach(d=>_.delete(d.id));const S=i.filter(d=>!_.has(d.id)),I=be(S.map(l.getColumnIdAndSpec),o);if(!Ye([...S,...I]))return;const P=Te({columns:S,labelColumns:I,coreJoinType:f,partitionFilters:b,filters:p,sorting:y,coreColumnPredicate:r==null?void 0:r.coreColumnPredicate}),T=t.createPTable(P);return{sourceId:s.pTableParams.sourceId,fullTableHandle:R,visibleTableHandle:T}}function an(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 ln=(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 un(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 Ze(t){var e;return t.axesSpec.length===2&&((e=t.annotations)==null?void 0:e[tt])==="true"}const et="pl7.app/graph/isVirtual",ve="pl7.app/label",tt="pl7.app/isLinkerColumn";function nt(t){var n,r;const e=new Map;for(const{spec:i}of t){const s=i.axesSpec.map(l.getAxisId).map(l.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 u=s[o],c=s[a];(n=e.get(u))==null||n.add(c),(r=e.get(c))==null||r.add(u)}}return e}function rt(t,e){const n=nt(t),r=[...n.keys()].map(l.parseJson),i=[];for(const u of e.values()){const c=r.find(g=>l.matchAxisId(u,g));c&&i.push(l.canonicalizeJson(c))}const s=new Set(i),o=new Map;let a=[...i];for(;a.length;){const u=[];for(const c of a)for(const g of n.get(c)??[])s.has(g)||(u.push(g),s.add(g),o.set(g,l.parseJson(g)));a=u}return o}function Ae(t,e){const n=[];return e.forEach(r=>{n.push(...cn(t,r))}),n}function cn(t,e){const n=e.spec.axesSpec.map(l.getAxisId);if(n.every(c=>t.has(l.canonicalizeJson(c))))return[e];const r=n.map(c=>{const g=[];for(const[h,m]of t)l.matchAxisId(m,c)&&!l.matchAxisId(c,m)&&g.push(m);return g}),i=un(r),s=new Set,o=new Set,a=i.map(c=>{const g=new Set;return c.map((h,m)=>{const f=e.spec.axesSpec[m].domain,b=h.domain;return Object.entries(b??{}).forEach(([p,y])=>{if((f==null?void 0:f[p])===void 0){const C=JSON.stringify([p,y]);g.add(C),s.add(C)}}),{...h,annotations:e.spec.axesSpec[m].annotations}}),g});[...s].forEach(c=>{a.some(g=>!g.has(c))&&o.add(c)});const u=i.map((c,g)=>{var p;const h=ln(e.id,c.map(y=>y.domain)),m=((p=e.spec.annotations)==null?void 0:p[ve])??"",f=[...a[g]].filter(y=>o.has(y)).sort().map(y=>{var C;return(C=JSON.parse(y))==null?void 0:C[1]}).join(" / "),b={...e.spec.annotations,[et]:"true"};return(m||f)&&(b[ve]=m&&f?m+" / "+f:m+f),{id:h,spec:{...e.spec,axesSpec:c.map((y,C)=>({...y,annotations:e.spec.axesSpec[C].annotations})),annotations:b},data:e.data}});return[e,...u]}function it(t){let e=!0;return t.data instanceof O?e=e&&t.data.getIsReadyOrError():l.isDataInfo(t.data)&&l.visitDataInfo(t.data,n=>{e=e&&n.getIsReadyOrError()}),e}function Y(t){return t.every(it)}function dn(t,e){if(!e){const h=new U;h.addColumnProvider(t.resultPool);const m=h.getColumns(()=>!0,{dontWaitAllData:!0,overrideLabelAnnotation:!1})??[];if(!Y(m))return;const f=new Map(m.flatMap(p=>p.spec.axesSpec).map(p=>{const y=l.getAxisId(p);return[l.canonicalizeJson(y),y]})),b=Ae(f,m);return t.createPFrame(b)}if(!Y(e))return;const n=new U;n.addColumnProvider(t.resultPool),n.addColumns(e);const r=new Map,i=new Map;for(const h of e)for(const m of h.spec.axesSpec){const f=l.getAxisId(m);r.set(l.canonicalizeJson(f),f),i.set(l.canonicalizeJson(f),f)}const s=n.getColumns(h=>Ze(h))??[],o=rt(s,r);for(const h of o)r.set(...h),i.set(...h);const a=(n.getColumns(h=>h.axesSpec.some(m=>{const f=l.getAxisId(m);for(const b of r.values())if(l.matchAxisId(b,f))return!0;return!1}),{dontWaitAllData:!0,overrideLabelAnnotation:!1})??[]).filter(h=>!ue(h.spec));if(!Y(a))return;for(const h of a)for(const m of h.spec.axesSpec){const f=l.getAxisId(m);i.set(l.canonicalizeJson(f),f)}const u=(n.getColumns(h=>h.axesSpec.some(m=>{const f=l.getAxisId(m);for(const b of i.values())if(l.matchAxisId(b,f))return!0;return!1}),{dontWaitAllData:!0,overrideLabelAnnotation:!1})??[]).filter(h=>ue(h.spec));if(!Y(u))return;const c=[...a,...u],g=Ae(r,c);return t.createPFrame(g)}function pn({selection:t,columnId:e=l.uniquePlId(),label:n="Selection marker",domain:r}){if(!(t!=null&&t.axesSpec.length))return;const i=t.selectedKeys.filter(s=>s.every(o=>!l.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 fn(t){return t===l.PTableNA?(console.error("Axis value can never be N/A"),""):t}class hn{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){var r;return(r=cfgRenderCtx.featureFlags)!=null&&r.pFrameInSetFilterSupport||(e={...e,filters:ge(e.filters)}),await platforma.pFrameDriver.calculateTableData(this.handle,e,n)}async getUniqueValues(e){return await platforma.pFrameDriver.getUniqueValues(this.handle,e)}}function st(t){return Ce({__isRef:!0,blockId:Z(t,"blockId"),name:Z(t,"name")})}function gn(t){return Ce({ref:st(Z(t,"ref")),label:Z(t,"label")})}const mn={sdkVersion:Q};function ot(){return Oe({sdkVersion:Q})}function yn(t){try{return ot()}catch{return t}}function bn(t){if(typeof globalThis.getEnvironmentValue=="function")return globalThis.getEnvironmentValue(t)}exports.Args=gt;exports.BlockModel=me;exports.CurrentSdkInfo=mn;exports.FutureRef=E;exports.IS_VIRTUAL_COLUMN=et;exports.It=mt;exports.JsRenderInternal=Gt;exports.LABEL_ANNOTATION=ve;exports.LINKER_COLUMN_ANNOTATION=tt;exports.MainOutputs=yt;exports.OutputError=Ee;exports.PAnnotationLabel=Ne;exports.PAnnotationTrace=Je;exports.PColumnCollection=U;exports.PFrameImpl=hn;exports.RT_BINARY_PARTITIONED=K;exports.RT_BINARY_SUPER_PARTITIONED=$;exports.RT_JSON_PARTITIONED=B;exports.RT_JSON_SUPER_PARTITIONED=ne;exports.RT_RESOURCE_MAP=ee;exports.RT_RESOURCE_MAP_PARTITIONED=te;exports.RenderCtx=q;exports.ResultPool=ze;exports.StagingOutputs=bt;exports.Trace=Ve;exports.TraceEntry=Ke;exports.TreeNodeAccessor=O;exports.UiState=vt;exports.allColumnsComputed=Ye;exports.allColumnsReady=Y;exports.and=wt;exports.convertOrParsePColumnData=Ue;exports.createPFrameForGraphs=dn;exports.createPlDataTableSheet=an;exports.createPlDataTableStateV2=ye;exports.createPlDataTableV2=on;exports.createRowSelectionColumn=pn;exports.deriveLabels=Pe;exports.downgradeCfgOrLambda=se;exports.enrichCompatible=Ae;exports.extractArchiveAndGetURL=Nt;exports.extractConfig=sn;exports.filterDataInfoEntries=We;exports.flatten=St;exports.fromPlOption=gn;exports.fromPlRef=st;exports.getAllLabelColumns=qe;exports.getAvailableWithLinkersAxes=rt;exports.getBlobContent=Ft;exports.getBlobContentAsJson=Rt;exports.getBlobContentAsString=Ot;exports.getDownloadedBlobContent=Dt;exports.getEnvironmentValue=bn;exports.getFromCfg=W;exports.getImmediate=X;exports.getImportProgress=Jt;exports.getJsonField=Z;exports.getLastLogs=Kt;exports.getLinkerColumnsMap=nt;exports.getLogHandle=jt;exports.getMatchingLabelColumns=be;exports.getOnDemandBlobContent=kt;exports.getPartitionKeysList=Be;exports.getPlatformaOrDefault=yn;exports.getProgressLog=Vt;exports.getProgressLogWithInfo=Mt;exports.getRawPlatformaInstance=ot;exports.getResourceField=Tt;exports.getResourceValueAsJson=Lt;exports.getUniquePartitionKeys=$e;exports.ifDef=ae;exports.isColumnHidden=Xe;exports.isColumnOptional=Qe;exports.isColumnReady=it;exports.isConfigLambda=Ge;exports.isEmpty=It;exports.isLabelColumn=ue;exports.isLinkerColumn=Ze;exports.isolate=ht;exports.makeArray=At;exports.makeDefaultPTableParams=Se;exports.makeObject=Ce;exports.mapArrayValues=Pt;exports.mapPTableValueToAxisKey=fn;exports.mapRecordValues=Ct;exports.mapResourceFields=Et;exports.not=xt;exports.or=_t;exports.parsePColumnData=le;exports.parseResourceMap=Yt;exports.readOutput=Fe;exports.uniqueBy=oe;exports.upgradePlDataTableStateV2=He;exports.wrapOutputs=ft;Object.keys(l).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>l[t]})});Object.keys(Ie).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>Ie[t]})});
1
+ "use strict";var yt=Object.defineProperty;var bt=(t,e,n)=>e in t?yt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var D=(t,e,n)=>bt(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("@milaboratories/pl-model-common"),De=require("canonicalize"),j=require("zod"),_e=require("@milaboratories/pl-error-like");class Ve extends Error{constructor(e,n){super(`${e.length}${n?"+":""} errors, first error: `+e[0].message),this.errors=e,this.moreErrors=n}}function Ne(t){if(!t.ok)throw new Ve(t.errors,t.moreErrors);return t.value}function vt(t){return new Proxy(t,{get(e,n){return Ne(e[n])}})}function I(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t===null?Q(t):t}function W(t){return{type:"GetFromCtx",variable:t}}function Ct(t){return{type:"Isolate",cfg:t}}const Tt=W("$args"),Pt=W("$it"),At=W("$prod"),St=W("$staging"),It=W("$ui");function Q(t){return{type:"Immediate",value:t}}function Ie(t){const e={};for(const[n,r]of Object.entries(t))e[n]=I(r);return{type:"MakeObject",template:e}}function xt(...t){const e=[];for(const n of t)e.push(I(n));return{type:"MakeArray",template:e}}function ee(t,e){return{type:"GetJsonField",source:I(t),field:I(e)}}function wt(t,e,n="$it"){return{type:"MapRecordValues",source:t,mapping:e,itVar:n}}function Ft(t,e,n="$it"){return{type:"MapArrayValues",source:t,mapping:e,itVar:n}}function _t(t){return{type:"Flatten",source:t}}function Lt(t){return{type:"IsEmpty",arg:t}}function Et(t){return{type:"Not",operand:t}}function Ot(t,e){return{type:"And",operand1:t,operand2:e}}function Rt(t,e){return{type:"Or",operand1:t,operand2:e}}function Dt(t,e){return{type:"GetResourceField",source:I(t),field:I(e)}}function Vt(){return function(t){return{type:"GetResourceValueAsJson",source:I(t)}}}function Nt(t,e,n="$it"){return{type:"MapResourceFields",source:t,mapping:e,itVar:n}}function kt(t,e){return{type:"GetBlobContent",range:e,source:I(t)}}function Ut(t,e){return{type:"GetBlobContentAsString",range:e,source:I(t)}}function Mt(){return function(t,e){return{type:"GetBlobContentAsJson",range:e,source:I(t)}}}function Jt(t){return{type:"GetDownloadedBlobContent",source:I(t)}}function Kt(t){return{type:"GetOnDemandBlobContent",source:I(t)}}function jt(t,e){return{type:"ExtractArchiveAndGetURL",format:e,source:I(t)}}function Bt(t){return{type:"GetImportProgress",source:I(t)}}function qt(t,e){return{type:"GetLastLogs",source:I(t),lines:e}}function $t(t,e){return{type:"GetProgressLog",source:I(t),patternToSearch:e}}function Wt(t,e){return{type:"GetProgressLogWithInfo",source:I(t),patternToSearch:e}}function Gt(t){return{type:"GetLogHandle",source:I(t)}}function zt(){return typeof globalThis.getPlatforma<"u"||typeof globalThis.platforma<"u"}function ke(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 Ht(){if(typeof globalThis.cfgRenderCtx<"u")return globalThis.cfgRenderCtx}function C(){if(typeof globalThis.cfgRenderCtx<"u")return globalThis.cfgRenderCtx;throw new Error("Not in config rendering context")}function H(t,e){const n=Ht();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 he=new Map;function Xt(t,e){t in C().callbackRegistry||(C().callbackRegistry[t]=n=>{for(const r of he.get(t))r(n)},he.set(t,[])),he.get(t).push(e)}class L{constructor(e,n=r=>r){D(this,"isResolved",!1);D(this,"resolvedValue");this.handle=e,this.postProcess=n,Xt(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 ue(t,e){return t===void 0?void 0:e(t)}class O{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 ue(C().resolveWithCommon(this.handle,e,...n),i=>new O(i,r))}get resourceType(){return C().getResourceType(this.handle)}getInputsLocked(){return C().getInputsLocked(this.handle)}getOutputsLocked(){return C().getOutputsLocked(this.handle)}getIsReadyOrError(){return C().getIsReadyOrError(this.handle)}getIsFinal(){return C().getIsFinal(this.handle)}getError(){const e=[...this.resolvePath,"error"];return ue(C().getError(this.handle),n=>new O(n,e))}listInputFields(){return C().listInputFields(this.handle)}listOutputFields(){return C().listOutputFields(this.handle)}listDynamicFields(){return C().listDynamicFields(this.handle)}getKeyValueBase64(e){return C().getKeyValueBase64(this.handle,e)}getKeyValueAsString(e){return C().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 C().getDataBase64(this.handle)}getDataAsString(){return C().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(([,o])=>{if(!l.isPColumn(o))throw new Error(`not a PColumn (kind = ${o.spec.kind})`);return o})}parsePObjectCollection(e=!1,n=""){const r=C().parsePObjectCollection(this.handle,e,n,...this.resolvePath);if(r===void 0)return;const i={};for(const[o,s]of Object.entries(r)){const a=[...this.resolvePath,o];i[o]=l.mapPObjectData(s,u=>new O(u,a))}return i}getFileContentAsBase64(e){return new L(C().getBlobContentAsBase64(this.handle,e))}getFileContentAsString(e){return new L(C().getBlobContentAsString(this.handle,e))}getFileContentAsJson(e){return new L(C().getBlobContentAsString(this.handle,e)).mapDefined(n=>JSON.parse(n))}getBlobContentAsBase64(){return this.getFileContentAsBase64()}getBlobContentAsString(){return this.getFileContentAsString()}getFileHandle(){return new L(C().getDownloadedBlobContentHandle(this.handle))}getDownloadedBlobHandle(){return this.getFileHandle()}getRemoteFileHandle(){return new L(C().getOnDemandBlobContentHandle(this.handle))}getOnDemandBlobHandle(){return this.getRemoteFileHandle()}extractArchiveAndGetURL(e){return new L(C().extractArchiveAndGetURL(this.handle,e))}getImportProgress(){return new L(C().getImportProgress(this.handle))}getLastLogs(e){return new L(C().getLastLogs(this.handle,e))}getProgressLog(e){return new L(C().getProgressLog(this.handle,e))}getProgressLogWithInfo(e){return new L(C().getProgressLogWithInfo(this.handle,e))}getLogHandle(){return new L(C().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:o}={fieldType:"Input",requireLocked:!0,skipUnresolved:!1,...n},s=e;if(i&&(r==="Input"&&!this.getInputsLocked()||r==="Output"&&!this.getOutputsLocked()))return;let u=(r==="Input"?this.listInputFields():r==="Output"?this.listOutputFields():this.listDynamicFields()).map(c=>[c,this.resolve({field:c,assertFieldType:r})]);return o&&(u=u.filter(c=>c[1]!==void 0)),u.map(([c,m])=>s(c,m))}}const Ue="staging",Me="main",Yt={explicitColumnsSupport:!0,inlineColumnsSupport:!0,activeArgs:!0,pTablePartitionFiltersSupport:!0,pFrameInSetFilterSupport:!0};function Je(t){return typeof t=="object"&&t!==null&&"__awaited_futures__"in t}function ge(t,e,n){if(e.has(n))return;if(e.add(n),typeof n==="object")if(Je(n))n.__awaited_futures__.forEach(i=>t.add(i));else if(Array.isArray(n))for(const i of n)ge(t,e,i);else for(const[,i]of Object.entries(n))i!==n&&ge(t,e,i)}function Qt(t){const e=new Set;return ge(e,new Set,t),e}const Zt=Object.freeze(Object.defineProperty({__proto__:null,GlobalCfgRenderCtxFeatureFlags:Yt,MainAccessorName:Me,StagingAccessorName:Ue,getAllFutureAwaits:Qt,isFutureAwait:Je},Symbol.toStringTag,{value:"Module"})),Ke="pl7.app/label",je="pl7.app/trace",Be=j.z.object({type:j.z.string(),importance:j.z.number().optional(),id:j.z.string().optional(),label:j.z.string()}),qe=j.z.array(Be),en=.001,tn="__LABEL__",Le="__LABEL__@1";function xe(t,e,n={}){const r=new Map,i=n.forceTraceElements!==void 0&&n.forceTraceElements.length>0?new Set(n.forceTraceElements):void 0,o=new Map,s=t.map(f=>{var p,v;const b=e(f);let d,y,T;"spec"in b&&typeof b.spec=="object"?(d=b.spec,y=b.prefixTrace,T=b.suffixTrace):d=b;const R=(p=d.annotations)==null?void 0:p[Ke],w=(v=d.annotations)==null?void 0:v[je],A=(w?qe.safeParse(JSON.parse(w)).data:void 0)??[],S=[...y??[],...A,...T??[]];if(R!==void 0){const _={label:R,type:tn,importance:-2};n.addLabelAsSuffix?S.push(_):S.splice(0,0,_)}const P=[],F=new Map;for(let _=S.length-1;_>=0;--_){const{type:G}=S[_],k=S[_].importance??0,J=(F.get(G)??0)+1;F.set(G,J);const N=`${G}@${J}`;o.set(N,(o.get(N)??0)+1),r.set(N,Math.max(r.get(N)??Number.NEGATIVE_INFINITY,k-(S.length-_)*en)),P.push({...S[_],fullType:N,occurrenceIndex:J})}return P.reverse(),{value:f,spec:d,label:R,fullTrace:P}}),a=[],u=[],c=[...r];c.sort(([,f],[,b])=>b-f);for(const[f]of c)f.endsWith("@1")||o.get(f)===t.length?a.push(f):u.push(f);const m=(f,b=!1)=>{const d=[];for(let y=0;y<s.length;y++){const T=s[y],R=T.fullTrace.filter(S=>f.has(S.fullType)||i&&i.has(S.type));if(R.length===0)if(b)d.push({label:"Unlabeled",value:T.value});else return;const w=R.map(S=>S.label),A=n.separator??" / ";d.push({label:w.join(A),value:T.value})}return d};if(a.length===0){if(u.length!==0)throw new Error("Non-empty secondary types list while main types list is empty.");return m(new Set(Le),!0)}let h=0,g=-1;for(;h<a.length;){const f=new Set;n.includeNativeLabel&&f.add(Le);for(let d=0;d<h;++d)f.add(a[d]);g>=0&&f.add(a[g]);const b=m(f);if(b!==void 0&&new Set(b.map(d=>d.label)).size===t.length)return b;g++,g>=a.length&&(h++,g=h)}return m(new Set([...a,...u]),!0)}const ie="PColumnData/",te=ie+"ResourceMap",ne=ie+"Partitioned/ResourceMap",B=ie+"JsonPartitioned",M=ie+"BinaryPartitioned",$e=ie+"Partitioned/",re=$e+"JsonPartitioned",q=$e+"BinaryPartitioned";function We(t,e,n,r=[],i){if(t===void 0)return!1;switch(t.resourceType.name){case te:{let o=t.getInputsLocked();for(const s of t.listInputFields()){const a=t.resolve({field:s,assertFieldType:"Input"}),u=[...r,...JSON.parse(s)],c=a===void 0?void 0:e(a);c===void 0&&(o=!1),(c!==void 0||i)&&n.push({key:u,value:c})}return o}case ne:{let o=t.getInputsLocked();for(const s of t.listInputFields()){const a=t.resolve({field:s,assertFieldType:"Input"});if(a===void 0)o=!1;else{const u=[...r,...JSON.parse(s)],c=We(a,e,n,u,i);o=o&&c}}return o}default:throw new Error(`Unknown resource type: ${t.resourceType.name}`)}}function nn(t,e,n=!1){const r=[];return{isComplete:We(t,e,r,[],n),data:r}}const ye=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 Ge(t){if(!t)return;const e=t.resourceType.name,n=t.getDataAsJson(),r=[];let i=0;switch(e){case te:i=n.keyLength;break;case ne:i=n.partitionKeyLength+n.keyLength;break;case B:case M:i=n.partitionKeyLength;break;case q:case re:i=n.superPartitionKeyLength+n.partitionKeyLength;break}switch(e){case te:case B:case M:for(let o of t.listInputFields()){e===M&&(o=ye(o).baseKey);const s=[...JSON.parse(o)];r.push(s)}break;case ne:case q:case re:for(const o of t.listInputFields()){const s=[...JSON.parse(o)],a=t.resolve({field:o,assertFieldType:"Input"});if(a!==void 0)for(let u of a.listInputFields()){e===q&&(u=ye(u).baseKey);const c=[...s,...JSON.parse(u)];r.push(c)}}break}return{data:r,keyLength:i}}function rn(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 o=i.key;if(o.length!==n)throw new Error(`Key length (${o.length}) does not match partition length (${n}) for key: ${JSON.stringify(o)}`);for(let s=0;s<n;++s)r[s].add(o[s])}return r.map(i=>Array.from(i.values()))}function ze(t){if(t===void 0)return;if(l.isDataInfoEntries(t))return rn(t);const e=Ge(t);if(!e)return;const{data:n,keyLength:r}=e,i=[];for(let o=0;o<r;++o)i.push(new Set);for(const o of n){if(o.length!==r)throw new Error("key length does not match partition length");for(let s=0;s<r;++s)i[s].add(o[s])}return i.map(o=>Array.from(o.values()))}function ce(t,e=[]){if(t===void 0||!t.getIsReadyOrError())return;const n=t.resourceType.name,r=t.getDataAsJson();if(e.length>0&&(n===re||n===q))throw new Error(`Unexpected nested super-partitioned resource: ${n}`);switch(n){case te:case ne:throw new Error(`Only data columns are supported, got: ${n}`);case B:{if(typeof(r==null?void 0:r.partitionKeyLength)!="number")throw new Error(`Missing partitionKeyLength in metadata for ${n}`);const i=[];for(const o of t.listInputFields()){const s=t.resolve({field:o,assertFieldType:"Input"});if(s===void 0)return;const a=[...e,...JSON.parse(o)];i.push({key:a,value:s})}return{type:"JsonPartitioned",partitionKeyLength:r.partitionKeyLength,parts:i}}case M:{if(typeof(r==null?void 0:r.partitionKeyLength)!="number")throw new Error(`Missing partitionKeyLength in metadata for ${n}`);const i=[],o=new Map;for(const s of t.listInputFields()){const a=ye(s),u=t.resolve({field:s,assertFieldType:"Input"});if(u===void 0)return;let c=o.get(a.baseKey);c||(c={},o.set(a.baseKey,c)),a.type==="index"?c.index=u:c.values=u}for(const[s,a]of o.entries()){if(!a.index||!a.values)return;const u=[...e,...JSON.parse(s)];i.push({key:u,value:{index:a.index,values:a.values}})}return{type:"BinaryPartitioned",partitionKeyLength:r.partitionKeyLength,parts:i}}case re:{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,o=[];for(const s of t.listInputFields()){const a=t.resolve({field:s,assertFieldType:"Input"});if(a===void 0)return;if(a.resourceType.name!==B)throw new Error(`Expected ${B} inside ${n}, but got ${a.resourceType.name}`);const u=ce(a,JSON.parse(s));if(u===void 0)return;if(u.type!=="JsonPartitioned")throw new Error(`Unexpected inner result type for ${n}: ${u.type}`);o.push(...u.parts)}return{type:"JsonPartitioned",partitionKeyLength:i,parts:o}}case q:{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,o=[];for(const s of t.listInputFields()){const a=t.resolve({field:s,assertFieldType:"Input"});if(a===void 0)return;if(a.resourceType.name!==M)throw new Error(`Expected ${M} inside ${n}, but got ${a.resourceType.name}`);const u=ce(a,JSON.parse(s));if(u===void 0)return;if(u.type!=="BinaryPartitioned")throw new Error(`Unexpected inner result type for ${n}: ${u.type}`);o.push(...u.parts)}return{type:"BinaryPartitioned",partitionKeyLength:i,parts:o}}default:throw new Error(`Unknown resource type: ${n}`)}}function He(t){if(t!==void 0){if(l.isDataInfoEntries(t))return t;if(l.isDataInfo(t))return l.dataInfoToEntries(t);if(t instanceof O)return ce(t);throw new Error(`Unexpected input type: ${typeof t}`)}}function Xe(t,e){const n=[...e].sort((o,s)=>s[0]-o[0]);if(t.type==="JsonPartitioned"||t.type==="BinaryPartitioned"){const{partitionKeyLength:o}=t;for(const[s]of e)if(s>=o)throw new Error(`Can't filter on non-partitioned axis ${s}. Must be >= ${o}`)}else if(t.type==="Json"){const{keyLength:o}=t;for(const[s]of e)if(s>=o)throw new Error(`Can't filter on non-data axis ${s}. Must be >= ${o}`)}const r=o=>{for(const[s,a]of n)if(o[s]!==a)return!1;return!0},i=o=>{const s=[...o];for(const[a]of n)s.splice(a,1);return s};switch(t.type){case"Json":{const o=t.data.filter(s=>r(s.key)).map(s=>({key:i(s.key),value:s.value}));return{type:"Json",keyLength:t.keyLength-e.length,data:o}}case"JsonPartitioned":{const o=t.parts.filter(s=>r(s.key)).map(s=>({key:i(s.key),value:s.value}));return{type:"JsonPartitioned",partitionKeyLength:t.partitionKeyLength-e.length,parts:o}}case"BinaryPartitioned":{const o=t.parts.filter(s=>r(s.key)).map(s=>({key:i(s.key),value:s.value}));return{type:"BinaryPartitioned",partitionKeyLength:t.partitionKeyLength-e.length,parts:o}}}}function on(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 sn{constructor(e){this.columns=e}selectColumns(e){const n=typeof e=="function"?e:l.selectorsToPredicate(e);return this.columns.filter(r=>n(r.spec))}}function an(t){if(t)return t.map(e=>({type:`split:${l.canonicalizeAxisId(e.axisId)}`,label:e.label,importance:1e6}))}function ln(t){if(t)return t.map(e=>[e.axisIdx,e.value])}function un(t,e){if(!e||e.length===0)return t;const n=[...e].sort((r,i)=>r[0]-i[0]);return De({id:t,axisFilters:n})}function Ee(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 cn(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 ${constructor(){D(this,"defaultProviderStore",[]);D(this,"providers",[new sn(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:o=!1,overrideLabelAnnotation:s=!1,exclude:a}=n??{},u={...s&&(i==null?void 0:i.includeNativeLabel)!==!1?{includeNativeLabel:!0}:{},...i??{}};let c=()=>!1;if(a){const d=(Array.isArray(a)?a:[a]).map(y=>{if(Ee(y)){if(!r)throw new Error("Anchored selectors in exclude require an AnchoredIdDeriver to be provided in options.");return l.selectorsToPredicate(l.resolveAnchors(r.anchors,y,n))}else return l.selectorsToPredicate(y)});c=y=>d.some(T=>T(y))}const m=typeof e=="function"?[e]:Array.isArray(e)?e:[e],h=[],g=new Set;for(const d of m){const y=Ee(d);let T;if(y){if(!r)throw new Error("Anchored selectors require an AnchoredIdDeriver to be provided in options.");T=l.resolveAnchors(r.anchors,d,n)}else T=d;const R=new Set,w=[];for(const P of this.providers){const F=P.selectColumns(T);for(const p of F){if(c(p.spec))continue;if(R.has(p.id))throw new Error(`Duplicate column id ${p.id} in provider ${P.constructor.name}`);const v=l.deriveNativeId(p.spec);g.has(v)||(R.add(p.id),g.add(v),w.push(p))}}if(w.length===0)continue;const A=cn(d),S=A.length>0;for(const P of w){if(!l.isPColumnSpec(P.spec))continue;const F=P.spec;if(S){if(on(P.data))throw new Error(`Splitting is not supported for PColumns with PColumnValues data format. Column id: ${P.id}`);const p=He(P.data);if(!p){if(o)continue;return}if(!l.isPartitionedDataInfoEntries(p))throw new Error(`Splitting requires Partitioned DataInfoEntries, but parsing resulted in ${p.type} for column ${P.id}`);const v=ze(p),_=A[A.length-1];if(_>=p.partitionKeyLength)throw new Error(`Not enough partition keys (${p.partitionKeyLength}) for requested split axes (max index ${_}) in column ${F.name}`);const G=A.map(E=>this.findLabels(l.getAxisId(F.axesSpec[E]))),k=[],J=(E,z)=>{if(z>=A.length){if(k.push([...E]),k.length>1e4)throw new Error("Too many key combinations, aborting.");return}const U=A[z];if(U>=v.length)throw new Error(`Axis index ${U} out of bounds for unique keys array (length ${v.length}) during split key generation for column ${P.id}`);const K=v[U];if(!K||K.length===0){k.length=0;return}for(const oe of K)E.push(oe),J(E,z+1),E.pop()};if(J([],0),k.length===0)continue;const N=[...F.axesSpec],ft=A.map(E=>E);for(let E=A.length-1;E>=0;E--)N.splice(A[E],1);const ht={...F,axesSpec:N};for(const E of k){const z=E.map((U,K)=>{const oe=ft[K],mt=l.getAxisId(F.axesSpec[oe]),fe=G[K],gt=(fe==null?void 0:fe[U])??String(U);return{axisIdx:oe,axisId:mt,value:U,label:gt}});h.push({type:"split",originalColumn:P,spec:F,adjustedSpec:ht,dataEntries:p,axisFilters:z})}}else h.push({type:"direct",originalColumn:P,spec:F,adjustedSpec:F})}}if(h.length===0)return[];const f=xe(h,d=>({spec:d.spec,suffixTrace:d.type==="split"?an(d.axisFilters):void 0}),u),b=[];for(const{value:d,label:y}of f){const{originalColumn:T,spec:R}=d,w=d.type==="split"?d.axisFilters:void 0,A=ln(w);let S;r?S=r.deriveS(R,A):S=un(T.id,A);let P={...d.adjustedSpec};s&&(P={...P,annotations:{...P.annotations??{},"pl7.app/label":y}}),b.push({id:S,spec:P,data:()=>d.type==="split"?l.entriesToDataInfo(Xe(d.dataEntries,A)):d.originalColumn.data,label:y})}return b}getColumns(e,n){const r=this.getUniversalEntries(e,{overrideLabelAnnotation:!0,...n??{}});if(!r)return;const i=[];for(const o of r){const s=o.data();if(!s){if(n!=null&&n.dontWaitAllData)continue;return}i.push({id:o.id,spec:o.spec,data:s})}return i}}function be(t){const e=i=>i.operator!=="InSet"?i:{operator:"Or",operands:i.references.map(o=>({operator:"Equal",reference:o}))},n=(i,o)=>{switch(i.operator){case"And":return{...i,operands:i.operands.map(a=>n(a,o))};case"Or":return{...i,operands:i.operands.map(a=>n(a,o))};case"Not":return{...i,operand:n(i.operand,o)};default:return o(i)}},r=(i,o)=>({...i,predicate:n(i.predicate,o)});return t.map(i=>r(i,e))}function me(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 Oe(t){return l.mapPObjectData(t,e=>e instanceof O?e.handle:l.isDataInfo(e)?l.mapDataInfo(e,n=>n.handle):e)}class Ye{constructor(){D(this,"ctx",C())}calculateOptions(e){return this.ctx.calculateOptions(e)}getOptions(e,n){const r=typeof e=="function"?e:l.selectorsToPredicate(e),i=this.getSpecs().entries.filter(a=>r(a.obj));let o={},s=!1;return typeof n<"u"&&(typeof n=="function"?o=n:typeof n=="object"&&("includeNativeLabel"in n||"separator"in n||"addLabelAsSuffix"in n?o=n:(n=n,o=n.label??{},s=n.refsWithEnrichments??!1))),typeof o=="object"?xe(i,a=>a.obj,o??{}).map(({value:{ref:a},label:u})=>({ref:l.withEnrichments(a,s),label:u})):i.map(({ref:a,obj:u})=>({ref:l.withEnrichments(a,s),label:o(u,a)}))}resolveAnchorCtx(e){if(e instanceof l.AnchoredIdDeriver)return e;const n={};for(const[r,i]of Object.entries(e))if(l.isPlRef(i)){const o=this.getPColumnSpecByRef(i);if(!o)return;n[r]=o}else n[r]=i;return new l.AnchoredIdDeriver(n)}getAnchoredPColumns(e,n,r){const i=this.resolveAnchorCtx(e);if(i)return new $().addColumnProvider(this).addAxisLabelProvider(this).getColumns(n,{...r,anchorCtx:i})}getCanonicalOptions(e,n,r){const i=this.resolveAnchorCtx(e);if(!i)return;const o=new $().addColumnProvider(this).addAxisLabelProvider(this).getUniversalEntries(n,{...r,anchorCtx:i});if(o)return o.map(s=>({value:s.id,label:s.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 O(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:l.mapValueInVOE(n.obj.data,r=>new O(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 l.mapPObjectData(n,i=>new O(i,[e.blockId,e.name]))}getPColumnByRef(e){const n=this.getDataByRef(e);if(n)return l.ensurePColumn(n)}getPColumnSpecByRef(e){const n=this.getSpecByRef(e);if(n){if(!l.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(!l.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&&me(e.domain,i.domain)){for(let o=0;o<e.axesSpec.length;++o){const s=e.axesSpec[o],a=i.axesSpec[o];if(s.name!==a.name||s.type!==a.type||!me(s.domain,a.domain))continue e}n.push(r.obj)}}return n}findLabels(e){const n=this.getData();for(const r of n.entries){if(!l.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&&me(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(s=>[JSON.parse(s[0])[0],s[1]]))}}}selectColumns(e){const n=typeof e=="function"?e:l.selectorsToPredicate(e);return this.getSpecs().entries.filter(({obj:i})=>l.isPColumnSpec(i)?n(i):!1).map(({ref:i,obj:o})=>{const s=o;let a=null;const u=this;return{id:De(i),spec:s,get data(){var c;return a!==null||(a=(c=u.getPColumnByRef(i))==null?void 0:c.data),a}}})}findLabelsForColumnAxis(e,n){var o;const r=this.findLabels(e.axesSpec[n]);if(!r)return;const i=(o=e.annotations)==null?void 0:o["pl7.app/axisKeys/"+n];if(i!==void 0){const s=JSON.parse(i);return Object.fromEntries(s.map(a=>[a,r[a]??"Unlabelled"]))}else return r}}class X{constructor(){D(this,"ctx");D(this,"_argsCache");D(this,"_uiStateCache");D(this,"_activeArgsCache");D(this,"resultPool",new Ye);this.ctx=C()}get args(){if(this._argsCache===void 0){const e=this.ctx.args,n=typeof e=="function"?e():e;this._argsCache={v:JSON.parse(n)}}return this._argsCache.v}get uiState(){if(this._uiStateCache===void 0){const e=this.ctx.uiState,n=typeof e=="function"?e():e;this._uiStateCache={v:n?JSON.parse(n):{}}}return this._uiStateCache.v}get activeArgs(){if(this._activeArgsCache===void 0){const e=this.ctx.activeArgs,n=typeof e=="function"?e():e;this._activeArgsCache={v:n?JSON.parse(n):void 0}}return this._activeArgsCache.v}getNamedAccessor(e){return ue(this.ctx.getAccessorHandleByName(e),n=>new O(n,[e]))}get prerun(){return this.getNamedAccessor(Ue)}get outputs(){return this.getNamedAccessor(Me)}findLabels(e){return this.resultPool.findLabels(e)}verifyInlineAndExplicitColumnsSupport(e){var i;const n=e.some(o=>!(o.data instanceof O)||l.isDataInfo(o.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,r;return(n=this.ctx.featureFlags)!=null&&n.pTablePartitionFiltersSupport||(e={...e,partitionFilters:[],filters:[...e.partitionFilters,...e.filters]}),(r=this.ctx.featureFlags)!=null&&r.pFrameInSetFilterSupport||(e={...e,partitionFilters:be(e.partitionFilters),filters:be(e.filters)}),e}createPFrame(e){return this.verifyInlineAndExplicitColumnsSupport(e),this.ctx.createPFrame(e.map(n=>Oe(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(l.extractAllColumns(n.src)),this.ctx.createPTable(l.mapPTableDef(n,r=>Oe(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 Z="1.40.5";function Qe(t){return t.__renderLambda===!0}function ae(t){if(t!==void 0)return Qe(t)?t.handle:t}function pn(t){return l.extractConfigGeneric(t)}const x=class x{constructor(e,n,r,i,o,s,a,u,c){this._renderingMode=e,this._initialArgs=n,this._initialUiState=r,this._outputs=i,this._inputsValid=o,this._sections=s,this._title=a,this._enrichmentTargets=u,this._featureFlags=c}static create(e="Heavy"){return new x(e,void 0,{},{},Q(!0),Q([]),void 0,void 0,{...x.INITIAL_BLOCK_FEATURE_FLAGS})}output(e,n,r={}){if(typeof n=="function"){const i=`output#${e}`;return H(i,()=>n(new X)),new x(this._renderingMode,this._initialArgs,this._initialUiState,{...this._outputs,[e]:{__renderLambda:!0,handle:i,...r}},this._inputsValid,this._sections,this._title,this._enrichmentTargets,this._featureFlags)}else return new x(this._renderingMode,this._initialArgs,this._initialUiState,{...this._outputs,[e]:n},this._inputsValid,this._sections,this._title,this._enrichmentTargets,this._featureFlags)}retentiveOutput(e,n){return this.output(e,n,{retentive:!0})}argsValid(e){return typeof e=="function"?(H("inputsValid",()=>e(new X)),new x(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,{__renderLambda:!0,handle:"inputsValid"},this._sections,this._title,this._enrichmentTargets,this._featureFlags)):new x(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,e,this._sections,this._title,this._enrichmentTargets,this._featureFlags)}sections(e){return Array.isArray(e)?this.sections(Q(e)):typeof e=="function"?(H("sections",()=>e(new X)),new x(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,{__renderLambda:!0,handle:"sections"},this._title,this._enrichmentTargets,this._featureFlags)):new x(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,e,this._title,this._enrichmentTargets,this._featureFlags)}title(e){return H("title",()=>e(new X)),new x(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,this._sections,{__renderLambda:!0,handle:"title"},this._enrichmentTargets,this._featureFlags)}initialArgs(e){return new x(this._renderingMode,e,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title,this._enrichmentTargets,this._featureFlags)}withArgs(e){return new x(this._renderingMode,e,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title,this._enrichmentTargets,this._featureFlags)}withUiState(e){return new x(this._renderingMode,this._initialArgs,e,this._outputs,this._inputsValid,this._sections,this._title,this._enrichmentTargets,this._featureFlags)}enriches(e){return H("enrichmentTargets",e),new x(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title,{__renderLambda:!0,handle:"enrichmentTargets"},this._featureFlags)}done(){if(this._initialArgs===void 0)throw new Error("Initial arguments not set.");const e={v3:{sdkVersion:Z,renderingMode:this._renderingMode,initialArgs:this._initialArgs,initialUiState:this._initialUiState,inputsValid:this._inputsValid,sections:this._sections,title:this._title,outputs:this._outputs,enrichmentTargets:this._enrichmentTargets,featureFlags:this._featureFlags},sdkVersion:Z,renderingMode:this._renderingMode,initialArgs:this._initialArgs,inputsValid:ae(this._inputsValid),sections:ae(this._sections),outputs:Object.fromEntries(Object.entries(this._outputs).map(([n,r])=>[n,ae(r)]))};return zt()?ke({sdkVersion:Z}):{config:e}}};D(x,"INITIAL_BLOCK_FEATURE_FLAGS",{supportsLazyState:!0,requiresUIAPIVersion:1,requiresModelAPIVersion:1});let ve=x;function we(){return{sourceId:null,hiddenColIds:null,partitionFilters:[],filters:[],sorting:[]}}function Ce(){return{version:4,stateCache:[],pTableParams:we()}}function Ze(t){return"version"in t||(t=Ce()),t.version===2&&(t={version:3,stateCache:t.stateCache.map(e=>({...e,filtersState:[]})),pTableParams:we()}),t.version===3&&(t=Ce()),t}function pe(t){return t.axesSpec.length===1&&t.name==="pl7.app/label"}function et(t){return new $().addAxisLabelProvider(t).addColumnProvider(t).getColumns({name:"pl7.app/label",axes:[{}]},{dontWaitAllData:!0})}function Te(t,e){const n=[],r=[];for(const a of t)pe(a.spec)?n.push(a):r.push(a);const i=[];for(const a of r)for(const u of a.spec.axesSpec){const c=l.getAxisId(u);i.some(m=>l.matchAxisId(m,c))||i.push(c)}for(const a of n){const u=l.getAxisId(a.spec.axesSpec[0]),c=i.findIndex(m=>l.matchAxisId(m,u));c!==-1&&i.splice(c,1)}const o=(a,u)=>{let c=a.toString();if(u)for(const m in u)c+=m,c+=u[m];return c},s=[];for(const a of e){const u=a.spec.axesSpec[0],c=l.getAxisId(u),m=i.findIndex(h=>l.matchAxisId(h,c));if(m!==-1){const h=i[m],g=Object.keys(h.domain??{}).length,f=Object.keys(u.domain??{}).length;g>f?s.push({id:o(a.id,h.domain),spec:{...a.spec,axesSpec:[{...h,annotations:u.annotations}]},data:a.data}):s.push(a),i.splice(m,1)}}return s}function tt(t){const e=i=>Array.isArray(i),n=i=>i instanceof O,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(s=>s.getIsReadyOrError());case"BinaryPartitioned":return Object.values(i.parts).every(s=>s.index.getIsReadyOrError()&&s.values.getIsReadyOrError())}else throw Error(`unsupported column data type: ${i}`)})}function Re(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 nt(t){var e;return((e=t.annotations)==null?void 0:e["pl7.app/table/visibility"])==="hidden"}function rt(t){var e;return((e=t.annotations)==null?void 0:e["pl7.app/table/visibility"])==="optional"}function le(t,e){return[...new Map(t.map(n=>[e(n),n])).values()]}function dn(t,e,n,r){if(e.length===0)return;const i=e.filter(p=>!nt(p.spec)),o=Ze(n),s=et(t.resultPool);if(!s)return;const a=Te(i.map(l.getColumnIdAndSpec),s),u=[...i,...a],m=[...le([...u.flatMap(p=>p.spec.axesSpec.map(v=>l.getAxisId(v)))],p=>l.canonicalizeJson(p)).map(p=>({type:"axis",id:p})),...u.map(p=>({type:"column",id:p.id}))],h=new Set(m.map(p=>l.canonicalizeJson(p))),g=p=>h.has(l.canonicalizeJson(p)),f=(r==null?void 0:r.coreJoinType)??"full",b=o.pTableParams.partitionFilters.filter(p=>{const v=g(p.column);return v||t.logWarn(`Partition filter ${JSON.stringify(p)} does not match provided columns, skipping`),v}),d=le([...(r==null?void 0:r.filters)??[],...o.pTableParams.filters],p=>l.canonicalizeJson(p.column)).filter(p=>{const v=g(p.column);return v||t.logWarn(`Filter ${JSON.stringify(p)} does not match provided columns, skipping`),v}),y=le([...(r==null?void 0:r.sorting)??[],...o.pTableParams.sorting],p=>l.canonicalizeJson(p.column)).filter(p=>{const v=g(p.column);return v||t.logWarn(`Sorting ${JSON.stringify(p)} does not match provided columns, skipping`),v}),T=Re({columns:i,labelColumns:a,coreJoinType:f,partitionFilters:b,filters:d,sorting:y,coreColumnPredicate:r==null?void 0:r.coreColumnPredicate}),R=t.createPTable(T),w=new Set((()=>{if(f==="inner")return[];const p=o.pTableParams.hiddenColIds;return p||i.filter(v=>rt(v.spec)).map(v=>v.id)})());i.filter(p=>{var v;return((v=p.spec.annotations)==null?void 0:v["pl7.app/isLinkerColumn"])==="true"}).forEach(p=>w.delete(p.id)),r!=null&&r.coreColumnPredicate&&i.flatMap(v=>{var _;return(_=r==null?void 0:r.coreColumnPredicate)!=null&&_.call(r,v.spec)?[v.id]:[]}).forEach(v=>w.delete(v)),[...b.map(p=>p.column),...d.map(p=>p.column),...y.map(p=>p.column)].filter(p=>p.type==="column").forEach(p=>w.delete(p.id));const A=i.filter(p=>!w.has(p.id)),S=Te(A.map(l.getColumnIdAndSpec),s);if(!tt([...A,...S]))return;const P=Re({columns:A,labelColumns:S,coreJoinType:f,partitionFilters:b,filters:d,sorting:y,coreColumnPredicate:r==null?void 0:r.coreColumnPredicate}),F=t.createPTable(P);return{sourceId:o.pTableParams.sourceId,fullTableHandle:R,visibleTableHandle:F}}function fn(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 hn=(t,e)=>{let n=t.toString();return e==null||e.forEach(r=>{if(r)for(const[i,o]of Object.entries(r))n+=i,n+=o}),n};function mn(t){if(!t.length)return[];let e=[[]];return t.forEach(n=>{const r=[];n.forEach(i=>{r.push(...e.map(o=>[...o,i]))}),e=r}),e}function it(t){var e;return t.axesSpec.length===2&&((e=t.annotations)==null?void 0:e[st])==="true"}const ot="pl7.app/graph/isVirtual",Pe="pl7.app/label",st="pl7.app/isLinkerColumn";function at(t){var n,r;const e=new Map;for(const{spec:i}of t){const o=i.axesSpec.map(l.getAxisId).map(l.canonicalizeJson);o.forEach(s=>{e.has(s)||e.set(s,new Set)});for(let s=0;s<o.length-1;s++)for(let a=s+1;a<o.length;a++){const u=o[s],c=o[a];(n=e.get(u))==null||n.add(c),(r=e.get(c))==null||r.add(u)}}return e}function lt(t,e){const n=at(t),r=[...n.keys()].map(l.parseJson),i=[];for(const u of e.values()){const c=r.find(m=>l.matchAxisId(u,m));c&&i.push(l.canonicalizeJson(c))}const o=new Set(i),s=new Map;let a=[...i];for(;a.length;){const u=[];for(const c of a)for(const m of n.get(c)??[])o.has(m)||(u.push(m),o.add(m),s.set(m,l.parseJson(m)));a=u}return s}function Ae(t,e){const n=[];return e.forEach(r=>{n.push(...gn(t,r))}),n}function gn(t,e){const n=e.spec.axesSpec.map(l.getAxisId);if(n.every(c=>t.has(l.canonicalizeJson(c))))return[e];const r=n.map(c=>{const m=[];for(const[h,g]of t)l.matchAxisId(g,c)&&!l.matchAxisId(c,g)&&m.push(g);return m}),i=mn(r),o=new Set,s=new Set,a=i.map(c=>{const m=new Set;return c.map((h,g)=>{const f=e.spec.axesSpec[g].domain,b=h.domain;return Object.entries(b??{}).forEach(([d,y])=>{if((f==null?void 0:f[d])===void 0){const T=JSON.stringify([d,y]);m.add(T),o.add(T)}}),{...h,annotations:e.spec.axesSpec[g].annotations}}),m});[...o].forEach(c=>{a.some(m=>!m.has(c))&&s.add(c)});const u=i.map((c,m)=>{var d;const h=hn(e.id,c.map(y=>y.domain)),g=((d=e.spec.annotations)==null?void 0:d[Pe])??"",f=[...a[m]].filter(y=>s.has(y)).sort().map(y=>{var T;return(T=JSON.parse(y))==null?void 0:T[1]}).join(" / "),b={...e.spec.annotations,[ot]:"true"};return(g||f)&&(b[Pe]=g&&f?g+" / "+f:g+f),{id:h,spec:{...e.spec,axesSpec:c.map((y,T)=>({...y,annotations:e.spec.axesSpec[T].annotations})),annotations:b},data:e.data}});return[e,...u]}function ut(t){let e=!0;return t.data instanceof O?e=e&&t.data.getIsReadyOrError():l.isDataInfo(t.data)&&l.visitDataInfo(t.data,n=>{e=e&&n.getIsReadyOrError()}),e}function Y(t){return t.every(ut)}function yn(t,e){if(!e){const h=new $;h.addColumnProvider(t.resultPool);const g=h.getColumns(()=>!0,{dontWaitAllData:!0,overrideLabelAnnotation:!1})??[];if(!Y(g))return;const f=new Map(g.flatMap(d=>d.spec.axesSpec).map(d=>{const y=l.getAxisId(d);return[l.canonicalizeJson(y),y]})),b=Ae(f,g);return t.createPFrame(b)}if(!Y(e))return;const n=new $;n.addColumnProvider(t.resultPool),n.addColumns(e);const r=new Map,i=new Map;for(const h of e)for(const g of h.spec.axesSpec){const f=l.getAxisId(g);r.set(l.canonicalizeJson(f),f),i.set(l.canonicalizeJson(f),f)}const o=n.getColumns(h=>it(h))??[],s=lt(o,r);for(const h of s)r.set(...h),i.set(...h);const a=(n.getColumns(h=>h.axesSpec.some(g=>{const f=l.getAxisId(g);for(const b of r.values())if(l.matchAxisId(b,f))return!0;return!1}),{dontWaitAllData:!0,overrideLabelAnnotation:!1})??[]).filter(h=>!pe(h.spec));if(!Y(a))return;for(const h of a)for(const g of h.spec.axesSpec){const f=l.getAxisId(g);i.set(l.canonicalizeJson(f),f)}const u=(n.getColumns(h=>h.axesSpec.some(g=>{const f=l.getAxisId(g);for(const b of i.values())if(l.matchAxisId(b,f))return!0;return!1}),{dontWaitAllData:!0,overrideLabelAnnotation:!1})??[]).filter(h=>pe(h.spec));if(!Y(u))return;const c=[...a,...u],m=Ae(r,c);return t.createPFrame(m)}function bn({selection:t,columnId:e=l.uniquePlId(),label:n="Selection marker",domain:r}){if(!(t!=null&&t.axesSpec.length))return;const i=t.selectedKeys.filter(o=>o.every(s=>!l.isPTableAbsent(s))).map(o=>({key:o,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 vn(t){return t===l.PTableNA?(console.error("Axis value can never be N/A"),""):t}function ct(t){throw new Error("Unexpected object: "+t)}function V(t){return t.valueType==="Int"||t.valueType==="Long"||t.valueType==="Float"||t.valueType==="Double"}function se(t){return t.valueType==="String"}const Fe={lessThan:{label:"Col < X (Less Than)",form:{column:{label:"Column",fieldType:"SUniversalPColumnId",defaultValue:()=>{}},type:{label:"Predicate",fieldType:"FilterUiType",defaultValue:()=>"lessThan"},x:{label:"X",fieldType:"number",defaultValue:()=>0}},supportedFor:V},greaterThan:{label:"Col > X (Greater Than)",form:{column:{label:"Column",fieldType:"SUniversalPColumnId",defaultValue:()=>{}},type:{label:"Predicate",fieldType:"FilterUiType",defaultValue:()=>"greaterThan"},x:{label:"X",fieldType:"number",defaultValue:()=>0}},supportedFor:V},lessThanOrEqual:{label:"Col ≤ X (Less Than or Equal)",form:{column:{label:"Column",fieldType:"SUniversalPColumnId",defaultValue:()=>{}},type:{label:"Predicate",fieldType:"FilterUiType",defaultValue:()=>"lessThanOrEqual"},x:{label:"X",fieldType:"number",defaultValue:()=>0}},supportedFor:V},greaterThanOrEqual:{label:"Col ≥ X (Greater Than or Equal)",form:{column:{label:"Column",fieldType:"SUniversalPColumnId",defaultValue:()=>{}},type:{label:"Predicate",fieldType:"FilterUiType",defaultValue:()=>"greaterThanOrEqual"},x:{label:"X",fieldType:"number",defaultValue:()=>0}},supportedFor:V},lessThanColumn:{label:"Col₁ < Col₂ (Compare Columns)",form:{column:{label:"Col₁",fieldType:"SUniversalPColumnId",defaultValue:()=>{}},type:{label:"Predicate",fieldType:"FilterUiType",defaultValue:()=>"lessThanColumn"},rhs:{label:"Col₂",fieldType:"SUniversalPColumnId",defaultValue:()=>{}},minDiff:{label:"Margin (positive)",fieldType:"number?",defaultValue:()=>{}}},supportedFor:(t,e)=>V(t)&&(e===void 0||V(e))},lessThanColumnOrEqual:{label:"Col₁ ≤ Col₂ (Compare Columns)",form:{column:{label:"Col₁",fieldType:"SUniversalPColumnId",defaultValue:()=>{}},type:{label:"Predicate",fieldType:"FilterUiType",defaultValue:()=>"lessThanColumnOrEqual"},rhs:{label:"Col₂",fieldType:"SUniversalPColumnId",defaultValue:()=>{}},minDiff:{label:"Margin (positive)",fieldType:"number?",defaultValue:()=>{}}},supportedFor:(t,e)=>V(t)&&(e===void 0||V(e))},topN:{label:"Top N",form:{column:{label:"Rank By Column",fieldType:"SUniversalPColumnId",defaultValue:()=>{}},type:{label:"Predicate",fieldType:"FilterUiType",defaultValue:()=>"topN"},n:{label:"N",fieldType:"number",defaultValue:()=>10}},supportedFor:V},bottomN:{label:"Bottom N",form:{column:{label:"Rank By Column",fieldType:"SUniversalPColumnId",defaultValue:()=>{}},type:{label:"Predicate",fieldType:"FilterUiType",defaultValue:()=>"bottomN"},n:{label:"N",fieldType:"number",defaultValue:()=>10}},supportedFor:V},patternContainSubsequence:{label:"Col ~ Seq (Contain Subsequence)",form:{column:{label:"Column",fieldType:"SUniversalPColumnId",defaultValue:()=>{}},type:{label:"Predicate",fieldType:"FilterUiType",defaultValue:()=>"patternContainSubsequence"},value:{label:"Seq",fieldType:"string",defaultValue:()=>""}},supportedFor:se},patternNotContainSubsequence:{label:"Col ≁ Seq (Not Contain Subsequence)",form:{column:{label:"Column",fieldType:"SUniversalPColumnId",defaultValue:()=>{}},type:{label:"Predicate",fieldType:"FilterUiType",defaultValue:()=>"patternNotContainSubsequence"},value:{label:"Seq",fieldType:"string",defaultValue:()=>""}},supportedFor:se},patternEquals:{label:"Col = Seq (Equals)",form:{column:{label:"Column",fieldType:"SUniversalPColumnId",defaultValue:()=>{}},type:{label:"Predicate",fieldType:"FilterUiType",defaultValue:()=>"patternEquals"},value:{label:"Seq",fieldType:"string",defaultValue:()=>""}},supportedFor:se},patternNotEquals:{label:"Col ≠ Seq (Not Equal)",form:{column:{label:"Column",fieldType:"SUniversalPColumnId",defaultValue:()=>{}},type:{label:"Predicate",fieldType:"FilterUiType",defaultValue:()=>"patternNotEquals"},value:{label:"Seq",fieldType:"string",defaultValue:()=>""}},supportedFor:se},isNA:{label:"Is NA",form:{column:{label:"Column",fieldType:"SUniversalPColumnId",defaultValue:()=>{}},type:{label:"Predicate",fieldType:"FilterUiType",defaultValue:()=>"isNA"}},supportedFor:()=>!0},isNotNA:{label:"Is Not NA",form:{column:{label:"Column",fieldType:"SUniversalPColumnId",defaultValue:()=>{}},type:{label:"Predicate",fieldType:"FilterUiType",defaultValue:()=>"isNotNA"}},supportedFor:()=>!0},or:{label:"Or",form:{type:{fieldType:"FilterUiType",label:"Predicate",defaultValue:()=>"or"},filters:{fieldType:"unknown[]",label:"Filters",defaultValue:()=>[]}},supportedFor:()=>!1},and:{label:"And",form:{type:{fieldType:"FilterUiType",label:"Predicate",defaultValue:()=>"and"},filters:{fieldType:"unknown[]",label:"Filters",defaultValue:()=>[]}},supportedFor:()=>!1},not:{label:"Not",form:{type:{fieldType:"FilterUiType",label:"Predicate",defaultValue:()=>"not"},filter:{fieldType:"form",label:"Filter",defaultValue:()=>{}}},supportedFor:()=>!1}};function Cn(t){return t?Object.entries(Fe).filter(([e,n])=>n.supportedFor(t)).map(([e,n])=>({label:n.label,value:e})):[]}function Tn(t){return Fe[t]}function de(t){if(t.type==="or")return{type:"or",filters:Se(t.filters)};if(t.type==="and")return{type:"and",filters:Se(t.filters)};if(t.type==="not")return{type:"not",filter:de(t.filter)};if(t.type==="isNA")return{type:"isNA",column:t.column};if(t.type==="isNotNA")return{type:"not",filter:{type:"isNA",column:t.column}};if(t.type==="patternEquals")return{type:"pattern",column:t.column,predicate:{type:"equals",value:t.value}};if(t.type==="patternNotEquals")return{type:"not",filter:{type:"pattern",column:t.column,predicate:{type:"equals",value:t.value}}};if(t.type==="patternContainSubsequence")return{type:"pattern",column:t.column,predicate:{type:"containSubsequence",value:t.value}};if(t.type==="patternNotContainSubsequence")return{type:"not",filter:{type:"pattern",column:t.column,predicate:{type:"containSubsequence",value:t.value}}};if(t.type==="topN")return{type:"numericalComparison",lhs:{transformer:"rank",column:t.column,descending:!0},rhs:t.n,allowEqual:!0};if(t.type==="bottomN")return{type:"numericalComparison",lhs:{transformer:"rank",column:t.column},rhs:t.n,allowEqual:!0};if(t.type==="lessThan")return{type:"numericalComparison",lhs:t.column,rhs:t.x};if(t.type==="greaterThan")return{type:"numericalComparison",rhs:t.column,lhs:t.x};if(t.type==="greaterThanOrEqual")return{type:"numericalComparison",rhs:t.column,lhs:t.x,allowEqual:!0};if(t.type==="lessThanOrEqual")return{type:"numericalComparison",lhs:t.column,rhs:t.x,allowEqual:!0};if(t.type==="lessThanColumn")return{type:"numericalComparison",lhs:t.column,rhs:t.rhs,minDiff:t.minDiff,allowEqual:void 0};if(t.type==="lessThanColumnOrEqual")return{type:"numericalComparison",lhs:t.column,rhs:t.rhs,minDiff:t.minDiff,allowEqual:!0};if(t.type===void 0)throw new Error("Filter type is undefined, this should not happen");ct(t)}function Se(t){return t.filter(e=>e.type!==void 0).map(de)}function Pn(t){return{title:t.title,mode:t.mode,steps:t.steps.filter(e=>e.filter.type==null?!1:e.filter.type==="or"||e.filter.type==="and"?e.filter.filters.length>0:!1).map(e=>({label:e.label.trim(),filter:de(e.filter)}))}}class An{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){var r;return(r=cfgRenderCtx.featureFlags)!=null&&r.pFrameInSetFilterSupport||(e={...e,filters:be(e.filters)}),await platforma.pFrameDriver.calculateTableData(this.handle,e,n)}async getUniqueValues(e){return await platforma.pFrameDriver.getUniqueValues(this.handle,e)}}function pt(t){return Ie({__isRef:!0,blockId:ee(t,"blockId"),name:ee(t,"name")})}function Sn(t){return Ie({ref:pt(ee(t,"ref")),label:ee(t,"label")})}const In={sdkVersion:Z};function dt(){return ke({sdkVersion:Z})}function xn(t){try{return dt()}catch{return t}}function wn(t){if(typeof globalThis.getEnvironmentValue=="function")return globalThis.getEnvironmentValue(t)}exports.Args=Tt;exports.BlockModel=ve;exports.CurrentSdkInfo=In;exports.FutureRef=L;exports.IS_VIRTUAL_COLUMN=ot;exports.It=Pt;exports.JsRenderInternal=Zt;exports.LABEL_ANNOTATION=Pe;exports.LINKER_COLUMN_ANNOTATION=st;exports.MainOutputs=At;exports.OutputError=Ve;exports.PAnnotationLabel=Ke;exports.PAnnotationTrace=je;exports.PColumnCollection=$;exports.PFrameImpl=An;exports.RT_BINARY_PARTITIONED=M;exports.RT_BINARY_SUPER_PARTITIONED=q;exports.RT_JSON_PARTITIONED=B;exports.RT_JSON_SUPER_PARTITIONED=re;exports.RT_RESOURCE_MAP=te;exports.RT_RESOURCE_MAP_PARTITIONED=ne;exports.RenderCtx=X;exports.ResultPool=Ye;exports.StagingOutputs=St;exports.Trace=qe;exports.TraceEntry=Be;exports.TreeNodeAccessor=O;exports.UiState=It;exports.allColumnsComputed=tt;exports.allColumnsReady=Y;exports.and=Ot;exports.compileAnnotationScript=Pn;exports.compileFilter=de;exports.compileFilters=Se;exports.convertOrParsePColumnData=He;exports.createPFrameForGraphs=yn;exports.createPlDataTableSheet=fn;exports.createPlDataTableStateV2=Ce;exports.createPlDataTableV2=dn;exports.createRowSelectionColumn=bn;exports.deriveLabels=xe;exports.downgradeCfgOrLambda=ae;exports.enrichCompatible=Ae;exports.extractArchiveAndGetURL=jt;exports.extractConfig=pn;exports.filterDataInfoEntries=Xe;exports.filterUiMetadata=Fe;exports.flatten=_t;exports.fromPlOption=Sn;exports.fromPlRef=pt;exports.getAllLabelColumns=et;exports.getAvailableWithLinkersAxes=lt;exports.getBlobContent=kt;exports.getBlobContentAsJson=Mt;exports.getBlobContentAsString=Ut;exports.getDownloadedBlobContent=Jt;exports.getEnvironmentValue=wn;exports.getFilterUiMetadata=Tn;exports.getFilterUiTypeOptions=Cn;exports.getFromCfg=W;exports.getImmediate=Q;exports.getImportProgress=Bt;exports.getJsonField=ee;exports.getLastLogs=qt;exports.getLinkerColumnsMap=at;exports.getLogHandle=Gt;exports.getMatchingLabelColumns=Te;exports.getOnDemandBlobContent=Kt;exports.getPartitionKeysList=Ge;exports.getPlatformaOrDefault=xn;exports.getProgressLog=$t;exports.getProgressLogWithInfo=Wt;exports.getRawPlatformaInstance=dt;exports.getResourceField=Dt;exports.getResourceValueAsJson=Vt;exports.getUniquePartitionKeys=ze;exports.ifDef=ue;exports.isColumnHidden=nt;exports.isColumnOptional=rt;exports.isColumnReady=ut;exports.isConfigLambda=Qe;exports.isEmpty=Lt;exports.isLabelColumn=pe;exports.isLinkerColumn=it;exports.isolate=Ct;exports.makeArray=xt;exports.makeDefaultPTableParams=we;exports.makeObject=Ie;exports.mapArrayValues=Ft;exports.mapPTableValueToAxisKey=vn;exports.mapRecordValues=wt;exports.mapResourceFields=Nt;exports.not=Et;exports.or=Rt;exports.parsePColumnData=ce;exports.parseResourceMap=nn;exports.readOutput=Ne;exports.uniqueBy=le;exports.unreachable=ct;exports.upgradePlDataTableStateV2=Ze;exports.wrapOutputs=vt;Object.keys(l).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>l[t]})});Object.keys(_e).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>_e[t]})});
2
2
  //# sourceMappingURL=index.js.map