@platforma-sdk/model 1.29.2 → 1.29.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,13 @@
1
- import { AxisSpec, DataInfo, JoinEntry, PColumn, PColumnIdAndSpec, PColumnSpec, PColumnValues, PTableHandle, PTableRecordFilter, PTableSorting } from '@milaboratories/pl-model-common';
2
- import { RenderCtx, TreeNodeAccessor } from '../render';
1
+ import { AxisSpec, DataInfo, JoinEntry, PColumn, PColumnIdAndSpec, PColumnSpec, PColumnValues, PTableColumnSpec, PTableHandle, PTableRecordFilter, PTableSorting } from '@milaboratories/pl-model-common';
2
+ import { AxisLabelProvider, ColumnProvider, RenderCtx, TreeNodeAccessor } from '../render';
3
+ /** Canonicalized PTableColumnSpec JSON string */
4
+ export type PTableColumnSpecJson = string & {
5
+ __json_canonicalized: PTableColumnSpec;
6
+ };
7
+ /** Encode `PTableColumnId` as canonicalized JSON string */
8
+ export declare function strinfigyPTableColumnId(spec: PTableColumnSpec): PTableColumnSpecJson;
9
+ /** Parse `PTableColumnId` from JSON string */
10
+ export declare function parsePTableColumnId(str: PTableColumnSpecJson): PTableColumnSpec;
3
11
  /** Data table state */
4
12
  export type PlDataTableGridState = {
5
13
  /**
@@ -24,7 +32,7 @@ export type PlDataTableGridState = {
24
32
  /** Includes column visibility */
25
33
  columnVisibility?: {
26
34
  /** All colIds which were hidden */
27
- hiddenColIds: string[];
35
+ hiddenColIds: PTableColumnSpecJson[];
28
36
  };
29
37
  /** current sheet selections */
30
38
  sheets?: Record<string, string | number>;
@@ -249,18 +257,46 @@ export type CreatePlDataTableOps = {
249
257
  */
250
258
  coreJoinType?: 'inner' | 'full';
251
259
  };
260
+ /** Check if column is a label column */
261
+ export declare function isLabelColumn(column: PColumnSpec): boolean;
262
+ /** Get all label columns from the result pool */
263
+ export declare function getAllLabelColumns(resultPool: AxisLabelProvider & ColumnProvider): PColumn<TreeNodeAccessor | DataInfo<TreeNodeAccessor>>[] | undefined;
264
+ /** Get label columns matching the provided columns from the result pool */
265
+ export declare function getMatchingLabelColumns(columns: PColumnIdAndSpec[], allLabelColumns: PColumn<TreeNodeAccessor | DataInfo<TreeNodeAccessor>>[]): PColumn<TreeNodeAccessor | DataInfo<TreeNodeAccessor>>[];
266
+ /** Check if all columns are computed */
267
+ export declare function allColumnsComputed(columns: PColumn<PColumnValues | TreeNodeAccessor | DataInfo<TreeNodeAccessor>>[]): boolean;
252
268
  /**
253
269
  * Create p-table handle given ui table state
254
270
  *
255
271
  * @param ctx context
256
272
  * @param columns column list
257
273
  * @param tableState table ui state
258
- * @returns
274
+ * @returns PlAgDataTable table source
259
275
  */
260
276
  export declare function createPlDataTable<A, U>(ctx: RenderCtx<A, U>, columns: PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>[], tableState: PlDataTableState | undefined): PTableHandle | undefined;
261
277
  export declare function createPlDataTable<A, U>(ctx: RenderCtx<A, U>, columns: PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>[], tableState: PlDataTableState | undefined, ops: CreatePlDataTableOps): PTableHandle | undefined;
262
278
  /** @deprecated use method with extended ops as the last argument */
263
279
  export declare function createPlDataTable<A, U>(ctx: RenderCtx<A, U>, columns: PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>[], tableState: PlDataTableState | undefined, filters: PTableRecordFilter[]): PTableHandle | undefined;
280
+ /** PlAgDataTable model */
281
+ export type PlDataTableModel = {
282
+ /** p-table specification (full, including hidden columns) */
283
+ tableSpec: PTableColumnSpec[];
284
+ /** p-table handle (integration of visible columns data) */
285
+ tableHandle: PTableHandle;
286
+ };
287
+ /** Check if column is hidden by default */
288
+ export declare function isColumnOptional(spec: {
289
+ annotations?: Record<string, string>;
290
+ }): boolean;
291
+ /**
292
+ * Create p-table spec and handle given ui table state
293
+ *
294
+ * @param ctx context
295
+ * @param columns column list
296
+ * @param tableState table ui state
297
+ * @returns PlAgDataTableV2 table source
298
+ */
299
+ export declare function createPlDataTableV2<A, U>(ctx: RenderCtx<A, U>, columns: PColumn<TreeNodeAccessor | PColumnValues | DataInfo<TreeNodeAccessor>>[], mainColumnPredicate: (spec: PColumnSpec) => boolean, tableState: PlDataTableState | undefined, ops?: CreatePlDataTableOps): PlDataTableModel | undefined;
264
300
  /** Create sheet entries for PlDataTable */
265
301
  export declare function createPlDataTableSheet<A, U>(ctx: RenderCtx<A, U>, axis: AxisSpec, values: (string | number)[]): PlDataTableSheet;
266
302
  //# sourceMappingURL=PlDataTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlDataTable.d.ts","sourceRoot":"","sources":["../../src/components/PlDataTable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,aAAa,EAEb,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACd,MAAM,iCAAiC,CAAC;AAMzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,uBAAuB;AACvB,MAAM,MAAM,oBAAoB,GAAG;IAEjC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,WAAW,CAAC,EAAE;QACZ,0BAA0B;QAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,kDAAkD;IAClD,IAAI,CAAC,EAAE;QACL,6CAA6C;QAC7C,SAAS,EAAE;YACT,sCAAsC;YACtC,KAAK,EAAE,MAAM,CAAC;YACd,qBAAqB;YACrB,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;SACtB,EAAE,CAAC;KACL,CAAC;IACF,iCAAiC;IACjC,gBAAgB,CAAC,EAAE;QACjB,mCAAmC;QACnC,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;IACF,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CAC1C,CAAC;AAEF,qDAAqD;AACrD,MAAM,MAAM,iCAAiC,GAAG,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;AAErF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,8BAA8B;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,wCAAwC;IACxC,OAAO,EAAE;QACP,8EAA8E;QAC9E,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;QACvB,0BAA0B;QAC1B,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,qFAAqF;IACrF,IAAI,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAE7B,SAAS,EAAE,oBAAoB,CAAC;IAEhC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,kCAAkC;AAClC,MAAM,MAAM,oBAAoB,GAAG;IACjC,qBAAqB;IACrB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,kCAAkC;AAClC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,GAAG,iBAAiB,CAAC;AAE3E,0CAA0C;AAC1C,MAAM,MAAM,yBAAyB,GAAG;IACtC,qBAAqB;IACrB,IAAI,EAAE,eAAe,CAAC;IACtB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,0CAA0C;AAC1C,MAAM,MAAM,4BAA4B,GAAG;IACzC,qBAAqB;IACrB,IAAI,EAAE,kBAAkB,CAAC;IACzB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,0CAA0C;AAC1C,MAAM,MAAM,8BAA8B,GAAG;IAC3C,qBAAqB;IACrB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,0CAA0C;AAC1C,MAAM,MAAM,uCAAuC,GAAG;IACpD,qBAAqB;IACrB,IAAI,EAAE,6BAA6B,CAAC;IACpC,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,0CAA0C;AAC1C,MAAM,MAAM,2BAA2B,GAAG;IACxC,qBAAqB;IACrB,IAAI,EAAE,iBAAiB,CAAC;IACxB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,0CAA0C;AAC1C,MAAM,MAAM,oCAAoC,GAAG;IACjD,qBAAqB;IACrB,IAAI,EAAE,0BAA0B,CAAC;IACjC,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,0CAA0C;AAC1C,MAAM,MAAM,0BAA0B,GAAG;IACvC,qBAAqB;IACrB,IAAI,EAAE,gBAAgB,CAAC;IACvB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,iBAAiB,EAAE,OAAO,CAAC;IAC3B,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,mBAAmB,GAC3B,mBAAmB,GACnB,yBAAyB,GACzB,4BAA4B,GAC5B,8BAA8B,GAC9B,uCAAuC,GACvC,2BAA2B,GAC3B,oCAAoC,GACpC,0BAA0B,CAAC;AAC/B,yDAAyD;AACzD,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAElE,yCAAyC;AACzC,MAAM,MAAM,yBAAyB,GAAG;IACtC,qBAAqB;IACrB,IAAI,EAAE,eAAe,CAAC;IACtB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,4BAA4B,GAAG;IACzC,qBAAqB;IACrB,IAAI,EAAE,kBAAkB,CAAC;IACzB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,2BAA2B,GAAG;IACxC,qBAAqB;IACrB,IAAI,EAAE,iBAAiB,CAAC;IACxB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,iCAAiC,GAAG;IAC9C,qBAAqB;IACrB,IAAI,EAAE,uBAAuB,CAAC;IAC9B,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,0BAA0B,GAAG;IACvC,qBAAqB;IACrB,IAAI,EAAE,gBAAgB,CAAC;IACvB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,+BAA+B,GAAG;IAC5C,qBAAqB;IACrB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,qCAAqC,GAAG;IAClD,qBAAqB;IACrB,IAAI,EAAE,2BAA2B,CAAC;IAClC,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,mBAAmB,GAC3B,mBAAmB,GACnB,yBAAyB,GACzB,4BAA4B,GAC5B,2BAA2B,GAC3B,iCAAiC,GACjC,0BAA0B,GAC1B,+BAA+B,GAC/B,qCAAqC,CAAC;AAC1C,wDAAwD;AACxD,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAElE,wCAAwC;AACxC,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AACtE,iDAAiD;AACjD,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAEtD,sCAAsC;AACtC,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAE3C,gCAAgC;AAChC,MAAM,MAAM,wBAAwB,GAAG;IACrC,wBAAwB;IACxB,QAAQ,EAAE,qBAAqB,CAAC;IAChC,oBAAoB;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,yCAAyC;IACzC,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,EAAE,CAAC;AAE7D,2BAA2B;AAC3B,MAAM,MAAM,mBAAmB,GAAG;IAChC,8DAA8D;IAC9D,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,qDAAqD;IACrD,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,oCAAoC;IACpC,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAE/B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;IAErD;;;;;;;;;;OAUG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACjC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EACpC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,OAAO,EAAE,OAAO,CAAC,gBAAgB,GAAG,aAAa,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,EACjF,UAAU,EAAE,gBAAgB,GAAG,SAAS,GACvC,YAAY,GAAG,SAAS,CAAC;AAC5B,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EACpC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,OAAO,EAAE,OAAO,CAAC,gBAAgB,GAAG,aAAa,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,EACjF,UAAU,EAAE,gBAAgB,GAAG,SAAS,EACxC,GAAG,EAAE,oBAAoB,GACxB,YAAY,GAAG,SAAS,CAAC;AAC5B,oEAAoE;AACpE,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EACpC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,OAAO,EAAE,OAAO,CAAC,gBAAgB,GAAG,aAAa,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,EACjF,UAAU,EAAE,gBAAgB,GAAG,SAAS,EACxC,OAAO,EAAE,kBAAkB,EAAE,GAC5B,YAAY,GAAG,SAAS,CAAC;AA6F5B,2CAA2C;AAC3C,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,CAAC,EACzC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAC1B,gBAAgB,CAUlB"}
1
+ {"version":3,"file":"PlDataTable.d.ts","sourceRoot":"","sources":["../../src/components/PlDataTable.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var We=Object.defineProperty;var qe=(t,e,n)=>e in t?We(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var R=(t,e,n)=>qe(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("@milaboratories/pl-model-common"),be=require("canonicalize"),K=require("zod"),ge=require("@milaboratories/pl-error-like");class Ae extends Error{constructor(e,n){super(`${e.length}${n?"+":""} errors, first error: `+e[0].message),this.errors=e,this.moreErrors=n}}function Pe(t){if(!t.ok)throw new Ae(t.errors,t.moreErrors);return t.value}function He(t){return new Proxy(t,{get(e,n){return Pe(e[n])}})}function x(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t===null?W(t):t}function U(t){return{type:"GetFromCtx",variable:t}}function ze(t){return{type:"Isolate",cfg:t}}const Ye=U("$args"),Xe=U("$it"),Qe=U("$prod"),Ze=U("$staging"),et=U("$ui");function W(t){return{type:"Immediate",value:t}}function fe(t){const e={};for(const[n,r]of Object.entries(t))e[n]=x(r);return{type:"MakeObject",template:e}}function tt(...t){const e=[];for(const n of t)e.push(x(n));return{type:"MakeArray",template:e}}function H(t,e){return{type:"GetJsonField",source:x(t),field:x(e)}}function nt(t,e,n="$it"){return{type:"MapRecordValues",source:t,mapping:e,itVar:n}}function rt(t,e,n="$it"){return{type:"MapArrayValues",source:t,mapping:e,itVar:n}}function it(t){return{type:"Flatten",source:t}}function st(t){return{type:"IsEmpty",arg:t}}function ot(t){return{type:"Not",operand:t}}function at(t,e){return{type:"And",operand1:t,operand2:e}}function lt(t,e){return{type:"Or",operand1:t,operand2:e}}function ut(t,e){return{type:"GetResourceField",source:x(t),field:x(e)}}function ct(){return function(t){return{type:"GetResourceValueAsJson",source:x(t)}}}function dt(t,e,n="$it"){return{type:"MapResourceFields",source:t,mapping:e,itVar:n}}function pt(t){return{type:"GetBlobContent",source:x(t)}}function ft(t){return{type:"GetBlobContentAsString",source:x(t)}}function ht(){return function(t){return{type:"GetBlobContentAsJson",source:x(t)}}}function gt(t){return{type:"GetDownloadedBlobContent",source:x(t)}}function mt(t){return{type:"GetOnDemandBlobContent",source:x(t)}}function yt(t,e){return{type:"ExtractArchiveAndGetURL",format:e,source:x(t)}}function vt(t){return{type:"GetImportProgress",source:x(t)}}function bt(t,e){return{type:"GetLastLogs",source:x(t),lines:e}}function At(t,e){return{type:"GetProgressLog",source:x(t),patternToSearch:e}}function Pt(t,e){return{type:"GetProgressLogWithInfo",source:x(t),patternToSearch:e}}function wt(t){return{type:"GetLogHandle",source:x(t)}}function St(){return typeof globalThis.getPlatforma<"u"||typeof globalThis.platforma<"u"}function we(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 xt(){if(typeof globalThis.cfgRenderCtx<"u")return globalThis.cfgRenderCtx}function y(){if(typeof globalThis.cfgRenderCtx<"u")return globalThis.cfgRenderCtx;throw new Error("Not in config rendering context")}function te(t,e){const n=xt();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 ae=new Map;function It(t,e){t in y().callbackRegistry||(y().callbackRegistry[t]=n=>{for(const r of ae.get(t))r(n)},ae.set(t,[])),ae.get(t).push(e)}class C{constructor(e,n=r=>r){R(this,"isResolved",!1);R(this,"resolvedValue");this.handle=e,this.postProcess=n,It(e,r=>{this.resolvedValue=n(r),this.isResolved=!0})}map(e){return new C(this.handle,n=>e(this.postProcess(n)))}mapDefined(e){return new C(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 re(t,e){return t===void 0?void 0:e(t)}class _{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 re(y().resolveWithCommon(this.handle,e,...n),i=>new _(i,r))}get resourceType(){return y().getResourceType(this.handle)}getInputsLocked(){return y().getInputsLocked(this.handle)}getOutputsLocked(){return y().getOutputsLocked(this.handle)}getIsReadyOrError(){return y().getIsReadyOrError(this.handle)}getIsFinal(){return y().getIsFinal(this.handle)}getError(){const e=[...this.resolvePath,"error"];return re(y().getError(this.handle),n=>new _(n,e))}listInputFields(){return y().listInputFields(this.handle)}listOutputFields(){return y().listOutputFields(this.handle)}listDynamicFields(){return y().listDynamicFields(this.handle)}getKeyValueBase64(e){return y().getKeyValueBase64(this.handle,e)}getKeyValueAsString(e){return y().getKeyValueAsString(this.handle,e)}getKeyValueAsJson(e){const n=this.getKeyValueAsString(e);if(n==null)throw new Error("Resource has no content.");return JSON.parse(n)}getDataBase64(){return y().getDataBase64(this.handle)}getDataAsString(){return y().getDataAsString(this.handle)}getDataAsJson(){const e=this.getDataAsString();if(e==null)throw new Error("Resource has no content.");return JSON.parse(e)}getPColumns(e=!1,n=""){const r=this.parsePObjectCollection(e,n);return r===void 0?void 0:Object.entries(r).map(([,s])=>{if(!u.isPColumn(s))throw new Error(`not a PColumn (kind = ${s.spec.kind})`);return s})}parsePObjectCollection(e=!1,n=""){const r=y().parsePObjectCollection(this.handle,e,n,...this.resolvePath);if(r===void 0)return;const i={};for(const[s,o]of Object.entries(r)){const a=[...this.resolvePath,s];i[s]=u.mapPObjectData(o,l=>new _(l,a))}return i}getFileContentAsBase64(){return new C(y().getBlobContentAsBase64(this.handle))}getFileContentAsString(){return new C(y().getBlobContentAsString(this.handle))}getFileContentAsJson(){return new C(y().getBlobContentAsString(this.handle)).mapDefined(e=>JSON.parse(e))}getBlobContentAsBase64(){return this.getFileContentAsBase64()}getBlobContentAsString(){return this.getFileContentAsString()}getFileHandle(){return new C(y().getDownloadedBlobContentHandle(this.handle))}getDownloadedBlobHandle(){return this.getFileHandle()}getRemoteFileHandle(){return new C(y().getOnDemandBlobContentHandle(this.handle))}getOnDemandBlobHandle(){return this.getRemoteFileHandle()}extractArchiveAndGetURL(e){return new C(y().extractArchiveAndGetURL(this.handle,e))}getImportProgress(){return new C(y().getImportProgress(this.handle))}getLastLogs(e){return new C(y().getLastLogs(this.handle,e))}getProgressLog(e){return new C(y().getProgressLog(this.handle,e))}getProgressLogWithInfo(e){return new C(y().getProgressLogWithInfo(this.handle,e))}getLogHandle(){return new C(y().getLogHandle(this.handle))}allFieldsResolved(e="Input"){switch(e){case"Input":return this.getInputsLocked()&&this.listInputFields().every(n=>this.resolve({field:n,assertFieldType:"Input"})!==void 0);case"Output":return this.getOutputsLocked()&&this.listOutputFields().every(n=>this.resolve({field:n,assertFieldType:"Output"})!==void 0)}}mapFields(e,n){const{fieldType:r,requireLocked:i,skipUnresolved:s}={fieldType:"Input",requireLocked:!0,skipUnresolved:!1,...n},o=e;if(i&&(r==="Input"&&!this.getInputsLocked()||r==="Output"&&!this.getOutputsLocked()))return;let l=(r==="Input"?this.listInputFields():r==="Output"?this.listOutputFields():this.listDynamicFields()).map(c=>[c,this.resolve({field:c,assertFieldType:r})]);return s&&(l=l.filter(c=>c[1]!==void 0)),l.map(([c,S])=>o(c,S))}}const Se="staging",xe="main",Ct={explicitColumnsSupport:!0,inlineColumnsSupport:!0,activeArgs:!0};function Ie(t){return typeof t=="object"&&t!==null&&"__awaited_futures__"in t}function ue(t,e,n){if(e.has(n))return;if(e.add(n),typeof n==="object")if(Ie(n))n.__awaited_futures__.forEach(i=>t.add(i));else if(Array.isArray(n))for(const i of n)ue(t,e,i);else for(const[,i]of Object.entries(n))i!==n&&ue(t,e,i)}function _t(t){const e=new Set;return ue(e,new Set,t),e}const Lt=Object.freeze(Object.defineProperty({__proto__:null,GlobalCfgRenderCtxFeatureFlags:Ct,MainAccessorName:xe,StagingAccessorName:Se,getAllFutureAwaits:_t,isFutureAwait:Ie},Symbol.toStringTag,{value:"Module"})),Ce="pl7.app/label",_e="pl7.app/trace",Le=K.z.object({type:K.z.string(),importance:K.z.number().optional(),id:K.z.string().optional(),label:K.z.string()}),Te=K.z.array(Le),Tt=.001,Rt="__LABEL__",me="__LABEL__@1";function he(t,e,n={}){const r=new Map,i=new Map,s=t.map(p=>{var Z,O;const d=e(p);let g,w,v;"spec"in d&&typeof d.spec=="object"?(g=d.spec,w=d.prefixTrace,v=d.suffixTrace):g=d;const b=(Z=g.annotations)==null?void 0:Z[Ce],m=(O=g.annotations)==null?void 0:O[_e],I=(m?Te.safeParse(JSON.parse(m)).data:void 0)??[],A=[...w??[],...I,...v??[]];if(b){const T={label:b,type:Rt,importance:-2};n.addLabelAsSuffix?A.push(T):A.splice(0,0,T)}const E=[],J=new Map;for(let T=A.length-1;T>=0;--T){const{type:k}=A[T],se=A[T].importance??0,B=(J.get(k)??0)+1;J.set(k,B);const P=`${k}@${B}`;i.set(P,(i.get(P)??0)+1),r.set(P,Math.max(r.get(P)??Number.NEGATIVE_INFINITY,se-(A.length-T)*Tt)),E.push({...A[T],fullType:P,occurenceIndex:B})}return E.reverse(),{value:p,spec:g,label:b,fullTrace:E}}),o=[],a=[],l=[...r];l.sort(([,p],[,d])=>d-p);for(const[p]of l)p.endsWith("@1")||i.get(p)===t.length?o.push(p):a.push(p);const c=p=>{const d=[];for(let g=0;g<s.length;g++){const w=s[g],v=w.fullTrace.filter(I=>p.has(I.fullType));if(v.length===0)return;const b=v.map(I=>I.label),m=n.separator??" / ";d.push({label:b.join(m),value:w.value})}return d};if(o.length===0){if(a.length!==0)throw new Error("Assertion error.");const p=c(new Set(me));if(p===void 0)throw new Error("Assertion error.");return p}let S=0,f=0;for(;S<o.length;){const p=new Set;n.includeNativeLabel&&p.add(me);for(let g=0;g<S;++g)p.add(o[g]);p.add(o[f]);const d=c(p);if(d!==void 0&&new Set(d.map(g=>g.label)).size===t.length)return d;f++,f>=o.length&&(S++,f=S)}const h=c(new Set([...o,...a]));if(h===void 0)throw new Error("Assertion error.");return h}const Q="PColumnData/",z=Q+"ResourceMap",Y=Q+"Partitioned/ResourceMap",N=Q+"JsonPartitioned",F=Q+"BinaryPartitioned",Re=Q+"Partitioned/",X=Re+"JsonPartitioned",$=Re+"BinaryPartitioned";function Oe(t,e,n,r=[],i){if(t===void 0)return!1;switch(t.resourceType.name){case z:{let s=t.getInputsLocked();for(const o of t.listInputFields()){const a=t.resolve({field:o,assertFieldType:"Input"}),l=[...r,...JSON.parse(o)],c=a===void 0?void 0:e(a);c===void 0&&(s=!1),(c!==void 0||i)&&n.push({key:l,value:c})}return s}case Y:{let s=t.getInputsLocked();for(const o of t.listInputFields()){const a=t.resolve({field:o,assertFieldType:"Input"});if(a===void 0)s=!1;else{const l=[...r,...JSON.parse(o)],c=Oe(a,e,n,l,i);s=s&&c}}return s}default:throw new Error(`Unknown resource type: ${t.resourceType.name}`)}}function Ot(t,e,n=!1){const r=[];return{isComplete:Oe(t,e,r,[],n),data:r}}const ce=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 Ee(t){if(!t)return;const e=t.resourceType.name,n=t.getDataAsJson(),r=[];let i=0;switch(e){case z:i=n.keyLength;break;case Y:i=n.partitionKeyLength+n.keyLength;break;case N:case F:i=n.partitionKeyLength;break;case $:case X:i=n.superPartitionKeyLength+n.partitionKeyLength;break}switch(e){case z:case N:case F:for(let s of t.listInputFields()){e===F&&(s=ce(s).baseKey);const o=[...JSON.parse(s)];r.push(o)}break;case Y:case $:case X:for(const s of t.listInputFields()){const o=[...JSON.parse(s)],a=t.resolve({field:s,assertFieldType:"Input"});if(a!==void 0)for(let l of a.listInputFields()){e===$&&(l=ce(l).baseKey);const c=[...o,...JSON.parse(l)];r.push(c)}}break}return{data:r,keyLength:i}}function Et(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 De(t){if(t===void 0)return;if(u.isDataInfoEntries(t))return Et(t);const e=Ee(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 ie(t,e=[]){if(t===void 0||!t.getIsReadyOrError())return;const n=t.resourceType.name,r=t.getDataAsJson();if(e.length>0&&(n===X||n===$))throw new Error(`Unexpected nested super-partitioned resource: ${n}`);switch(n){case z:case Y:throw new Error(`Only data columns are supported, got: ${n}`);case N:{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 F:{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=ce(o),l=t.resolve({field:o,assertFieldType:"Input"});if(l===void 0)return;let c=s.get(a.baseKey);c||(c={},s.set(a.baseKey,c)),a.type==="index"?c.index=l:c.values=l}for(const[o,a]of s.entries()){if(!a.index||!a.values)return;const l=[...e,...JSON.parse(o)];i.push({key:l,value:{index:a.index,values:a.values}})}return{type:"BinaryPartitioned",partitionKeyLength:r.partitionKeyLength,parts:i}}case X:{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!==N)throw new Error(`Expected ${N} inside ${n}, but got ${a.resourceType.name}`);const l=ie(a,JSON.parse(o));if(l===void 0)return;if(l.type!=="JsonPartitioned")throw new Error(`Unexpected inner result type for ${n}: ${l.type}`);s.push(...l.parts)}return{type:"JsonPartitioned",partitionKeyLength:i,parts:s}}case $:{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!==F)throw new Error(`Expected ${F} inside ${n}, but got ${a.resourceType.name}`);const l=ie(a,JSON.parse(o));if(l===void 0)return;if(l.type!=="BinaryPartitioned")throw new Error(`Unexpected inner result type for ${n}: ${l.type}`);s.push(...l.parts)}return{type:"BinaryPartitioned",partitionKeyLength:i,parts:s}}default:throw new Error(`Unknown resource type: ${n}`)}}function Fe(t){if(t!==void 0){if(u.isDataInfoEntries(t))return t;if(u.isDataInfo(t))return u.dataInfoToEntries(t);if(t instanceof _)return ie(t);throw new Error(`Unexpected input type: ${typeof t}`)}}function ke(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}}}}class Dt{constructor(e){this.columns=e}selectColumns(e){const n=typeof e=="function"?e:u.selectorsToPredicate(e);return this.columns.filter(r=>n(r.spec))}}function Ft(t){if(t)return t.map(e=>({type:`split:${u.canonicalizeAxisId(e.axisId)}`,label:e.label,importance:1e6}))}function kt(t){if(t)return t.map(e=>[e.axisIdx,e.value])}function jt(t,e){if(!e||e.length===0)return t;const n=[...e].sort((r,i)=>r[0]-i[0]);return be({id:t,axisFilters:n})}function Vt(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 Kt(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 de{constructor(){R(this,"defaultProviderStore",[]);R(this,"providers",[new Dt(this.defaultProviderStore)]);R(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}=n??{},a={...o&&(i==null?void 0:i.includeNativeLabel)!==!1?{includeNativeLabel:!0}:{},...i??{}},l=typeof e=="function"?[e]:Array.isArray(e)?e:[e],c=[];for(const h of l){const p=Vt(h);let d;if(p){if(!r)throw new Error("Anchored selectors require an AnchoredIdDeriver to be provided in options.");d=u.resolveAnchors(r.anchors,h,n)}else d=h;const g=new Set,w=[];for(const m of this.providers){const I=m.selectColumns(d);for(const A of I){if(g.has(A.id))throw new Error(`Duplicate column id ${A.id} in provider ${m.constructor.name}`);g.add(A.id),w.push(A)}}if(w.length===0)continue;const v=Kt(h),b=v.length>0;for(const m of w){if(!u.isPColumnSpec(m.spec))continue;const I=m.spec;if(b){const A=Fe(m.data);if(!A){if(s)continue;return}if(!u.isPartitionedDataInfoEntries(A))throw new Error(`Splitting requires Partitioned DataInfoEntries, but parsing resulted in ${A.type} for column ${m.id}`);const E=De(A),J=v[v.length-1];if(J>=A.partitionKeyLength)throw new Error(`Not enough partition keys (${A.partitionKeyLength}) for requested split axes (max index ${J}) in column ${I.name}`);const Z=v.map(P=>this.findLabels(u.getAxisId(I.axesSpec[P]))),O=[],T=(P,M)=>{if(M>=v.length){if(O.push([...P]),O.length>1e4)throw new Error("Too many key combinations, aborting.");return}const D=v[M];if(D>=E.length)throw new Error(`Axis index ${D} out of bounds for unique keys array (length ${E.length}) during split key generation for column ${m.id}`);const j=E[D];if(!j||j.length===0){O.length=0;return}for(const ee of j)P.push(ee),T(P,M+1),P.pop()};if(T([],0),O.length===0)continue;const k=[...I.axesSpec],se=v.map(P=>P);for(let P=v.length-1;P>=0;P--)k.splice(v[P],1);const B={...I,axesSpec:k};for(const P of O){const M=P.map((D,j)=>{const ee=se[j],Me=u.getAxisId(I.axesSpec[ee]),oe=Z[j],Ge=(oe==null?void 0:oe[D])??String(D);return{axisIdx:ee,axisId:Me,value:D,label:Ge}});c.push({type:"split",originalColumn:m,spec:I,adjustedSpec:B,dataEntries:A,axisFilters:M})}}else c.push({type:"direct",originalColumn:m,spec:I,adjustedSpec:I})}}if(c.length===0)return[];const S=he(c,h=>({spec:h.spec,suffixTrace:h.type==="split"?Ft(h.axisFilters):void 0}),a),f=[];for(const{value:h,label:p}of S){const{originalColumn:d,spec:g}=h,w=h.type==="split"?h.axisFilters:void 0,v=kt(w);let b;r?b=r.deriveS(g,v):b=jt(d.id,v);let m={...h.adjustedSpec};o&&(m={...m,annotations:{...m.annotations??{},"pl7.app/label":p}}),f.push({id:b,spec:m,data:()=>h.type==="split"?u.entriesToDataInfo(ke(h.dataEntries,v)):h.originalColumn.data,label:p})}return f}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 le(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 ye(t){return u.mapPObjectData(t,e=>e instanceof _?e.handle:u.isDataInfo(e)?u.mapDataInfo(e,n=>n.handle):e)}class je{constructor(){R(this,"ctx",y())}calculateOptions(e){return this.ctx.calculateOptions(e)}getOptions(e,n){const r=typeof e=="function"?e:u.selectorsToPredicate(e),i=this.getSpecs().entries.filter(s=>r(s.obj));return typeof n=="object"||typeof n>"u"?he(i,s=>s.obj,n??{}).map(({value:{ref:s},label:o})=>({ref:s,label:o})):i.map(s=>({ref:s.ref,label:n(s.obj,s.ref)}))}resolveAnchorCtx(e){if(e instanceof u.AnchoredIdDeriver)return e;const n={};for(const[r,i]of Object.entries(e))if(u.isPlRef(i)){const s=this.getPColumnSpecByRef(i);if(!s)return;n[r]=s}else n[r]=i;return new u.AnchoredIdDeriver(n)}getAnchoredPColumns(e,n,r){const i=this.resolveAnchorCtx(e);if(i)return new de().addColumnProvider(this).addAxisLabelProvider(this).getColumns(n,{...r,anchorCtx:i})}getCanonicalOptions(e,n,r){const i=this.resolveAnchorCtx(e);if(!i)return;const s=new de().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 _(n.obj.data,[n.ref.blockId,n.ref.name])}}))}}getDataWithErrorsFromResultPool(){return this.getDataWithErrors()}getDataWithErrors(){const e=this.ctx.getDataWithErrorsFromResultPool();return{isComplete:e.isComplete,entries:e.entries.map(n=>({ref:n.ref,obj:{...n.obj,data:u.mapValueInVOE(n.obj.data,r=>new _(r,[n.ref.blockId,n.ref.name]))}}))}}getSpecsFromResultPool(){return this.getSpecs()}getSpecs(){return this.ctx.getSpecsFromResultPool()}getDataByRef(e){var r;if(typeof this.ctx.getDataFromResultPoolByRef>"u")return(r=this.getData().entries.find(i=>i.ref.blockId===e.blockId&&i.ref.name===e.name))==null?void 0:r.obj;const n=this.ctx.getDataFromResultPoolByRef(e.blockId,e.name);if(n)return u.mapPObjectData(n,i=>new _(i,[e.blockId,e.name]))}getPColumnByRef(e){const n=this.getDataByRef(e);if(n)return u.ensurePColumn(n)}getPColumnSpecByRef(e){const n=this.getSpecByRef(e);if(n){if(!u.isPColumnSpec(n))throw new Error(`not a PColumn spec (kind = ${n.kind})`);return n}}getSpecByRef(e){return this.ctx.getSpecFromResultPoolByRef(e.blockId,e.name)}findDataWithCompatibleSpec(e){const n=[];e:for(const r of this.getData().entries){if(!u.isPColumnSpec(r.obj.spec))continue;const i=r.obj.spec;if(e.name===i.name&&e.valueType===i.valueType&&e.axesSpec.length===i.axesSpec.length&&le(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||!le(o.domain,a.domain))continue e}n.push(r.obj)}}return n}findLabels(e){const n=this.getData();for(const r of n.entries){if(!u.isPColumn(r.obj))continue;const i=r.obj.spec;if(i.name==="pl7.app/label"&&i.axesSpec.length===1&&i.axesSpec[0].name===e.name&&i.axesSpec[0].type===e.type&&le(e.domain,i.axesSpec[0].domain)){if(r.obj.data.resourceType.name!=="PColumnData/Json")throw Error(`Expected JSON column for labels, got: ${r.obj.data.resourceType.name}`);return Object.fromEntries(Object.entries(r.obj.data.getDataAsJson().data).map(o=>[JSON.parse(o[0])[0],o[1]]))}}}selectColumns(e){const n=typeof e=="function"?e:u.selectorsToPredicate(e);return this.getSpecs().entries.filter(({obj:i})=>u.isPColumnSpec(i)?n(i):!1).map(({ref:i,obj:s})=>{const o=s;let a=null;const l=this;return{id:be(i),spec:o,get data(){var c;return a!==null||(a=(c=l.getPColumnByRef(i))==null?void 0:c.data),a}}})}findLabelsForColumnAxis(e,n){var s;const r=this.findLabels(e.axesSpec[n]);if(!r)return;const i=(s=e.annotations)==null?void 0:s["pl7.app/axisKeys/"+n];if(i!==void 0){const o=JSON.parse(i);return Object.fromEntries(o.map(a=>[a,r[a]??"Unlabelled"]))}else return r}}class G{constructor(){R(this,"ctx");R(this,"args");R(this,"uiState");R(this,"_activeArgsCache");R(this,"resultPool",new je);this.ctx=y(),this.args=JSON.parse(this.ctx.args),this.uiState=this.ctx.uiState!==void 0?JSON.parse(this.ctx.uiState):{}}get activeArgs(){return this._activeArgsCache===void 0&&(this._activeArgsCache={v:this.ctx.activeArgs?JSON.parse(this.ctx.activeArgs):void 0}),this._activeArgsCache.v}getNamedAccessor(e){return re(this.ctx.getAccessorHandleByName(e),n=>new _(n,[e]))}get prerun(){return this.getNamedAccessor(Se)}get outputs(){return this.getNamedAccessor(xe)}findLabels(e){return this.resultPool.findLabels(e)}verifyInlineAndExplicitColumnsSupport(e){var i;const n=e.some(s=>!(s.data instanceof _)||u.isDataInfo(s.data)),r=((i=this.ctx.featureFlags)==null?void 0:i.inlineColumnsSupport)===!0;if(n&&!r)throw Error("Inline or explicit columns not supported")}createPFrame(e){return this.verifyInlineAndExplicitColumnsSupport(e),this.ctx.createPFrame(e.map(n=>ye(n)))}createPTable(e){let n;return"columns"in e?n={src:{type:"full",entries:e.columns.map(r=>({type:"column",column:r}))},filters:e.filters??[],sorting:e.sorting??[]}:n=e,this.verifyInlineAndExplicitColumnsSupport(u.extractAllColumns(n.src)),this.ctx.createPTable(u.mapPTableDef(n,r=>ye(r)))}getBlockLabel(e){return this.ctx.getBlockLabel(e)}getCurrentUnstableMarker(){if(!(typeof this.ctx.getCurrentUnstableMarker>"u"))return this.ctx.getCurrentUnstableMarker()}}const q="1.29.2";function Ve(t){return t.__renderLambda===!0}function ne(t){if(t!==void 0)return Ve(t)?t.handle:t}function V(t){if(t!==void 0)return typeof t=="string"?{__renderLambda:!0,handle:t,retentive:!1}:t}function Nt(t){if(t.v3!==void 0){const{initialArgs:e,initialUiState:n,inputsValid:r,outputs:i,renderingMode:s,sdkVersion:o,sections:a,title:l}=t.v3,{code:c}=t;return{initialArgs:e,initialUiState:n,inputsValid:r,outputs:i,renderingMode:s,sdkVersion:o,sections:a,title:l,code:c}}else if(t.inputsValid!==void 0){const{sdkVersion:e,renderingMode:n,outputs:r,inputsValid:i,sections:s,initialArgs:o,code:a}=t,l=Object.keys(t);if(e===void 0||n===void 0||r===void 0||i===void 0||s===void 0||o===void 0)throw new Error(`Malformed config v2. SDK version ${e}; Fields = ${l.join(", ")}`);return{sdkVersion:e,renderingMode:n,initialArgs:o,outputs:Object.fromEntries(Object.entries(r).map(([c,S])=>[c,V(S)])),inputsValid:V(i),sections:V(s),initialUiState:void 0,code:a}}else if(t.renderingMode!==void 0){const{sdkVersion:e,canRun:n,renderingMode:r,outputs:i,sections:s,initialArgs:o,code:a}=t,l=Object.keys(t);if(r===void 0||i===void 0||n===void 0||s===void 0||o===void 0)throw new Error(`Malformed config v1. SDK version ${e}; Fields = ${l.join(", ")}`);return{sdkVersion:e??"unknown",renderingMode:r,initialArgs:o,outputs:Object.fromEntries(Object.entries(i).map(([c,S])=>[c,V(S)])),inputsValid:V(n),sections:V(s),initialUiState:void 0,code:a}}else{const{sdkVersion:e}=t,n=Object.keys(t);throw new Error(`Config format not supported: SDK = ${e}; Fields = ${n.join(", ")}`)}}class L{constructor(e,n,r,i,s,o,a){this._renderingMode=e,this._initialArgs=n,this._initialUiState=r,this._outputs=i,this._inputsValid=s,this._sections=o,this._title=a}static create(e="Heavy"){return new L(e,void 0,{},{},W(!0),W([]),void 0)}output(e,n,r={}){if(typeof n=="function"){const i=`output#${e}`;return te(i,()=>n(new G)),new L(this._renderingMode,this._initialArgs,this._initialUiState,{...this._outputs,[e]:{__renderLambda:!0,handle:i,...r}},this._inputsValid,this._sections,this._title)}else return new L(this._renderingMode,this._initialArgs,this._initialUiState,{...this._outputs,[e]:n},this._inputsValid,this._sections,this._title)}retentiveOutput(e,n){return this.output(e,n,{retentive:!0})}argsValid(e){return typeof e=="function"?(te("inputsValid",()=>e(new G)),new L(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,{__renderLambda:!0,handle:"inputsValid"},this._sections,this._title)):new L(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,e,this._sections,this._title)}sections(e){return Array.isArray(e)?this.sections(W(e)):typeof e=="function"?(te("sections",()=>e(new G)),new L(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,{__renderLambda:!0,handle:"sections"},this._title)):new L(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,e,this._title)}title(e){return te("title",()=>e(new G)),new L(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,this._sections,{__renderLambda:!0,handle:"title"})}initialArgs(e){return new L(this._renderingMode,e,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title)}withArgs(e){return new L(this._renderingMode,e,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title)}withUiState(e){return new L(this._renderingMode,this._initialArgs,e,this._outputs,this._inputsValid,this._sections,this._title)}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},sdkVersion:q,renderingMode:this._renderingMode,initialArgs:this._initialArgs,inputsValid:ne(this._inputsValid),sections:ne(this._sections),outputs:Object.fromEntries(Object.entries(this._outputs).map(([n,r])=>[n,ne(r)]))};return St()?we({sdkVersion:q}):{config:e}}}function $t(t,e,n,r){var c,S;Array.isArray(r)&&(r={filters:r});const i=t.resultPool.getData().entries.map(f=>f.obj).filter(u.isPColumn).filter(f=>f.spec.name==="pl7.app/label"&&f.spec.axesSpec.length===1),s=(f,h)=>{let p=f.toString();if(h)for(const d in h)p+=d,p+=h[d];return p},o=new Map;for(const f of e)for(const h of f.spec.axesSpec){const p=u.getAxisId(h);for(const d of i){const g=d.spec.axesSpec[0],w=u.getAxisId(d.spec.axesSpec[0]);if(u.matchAxisId(p,w)){const v=Object.keys(p.domain??{}).length,b=Object.keys(w.domain??{}).length;if(v>b){const m=s(d.id,p.domain);o.set(m,{id:m,spec:{...d.spec,axesSpec:[{...p,annotations:g.annotations}]},data:d.data})}else o.set(s(d.id),d)}}}if([...e,...o.values()].some(f=>f.data instanceof _&&!f.data.getIsReadyOrError()))return;let a=e;const l=[];if(r!=null&&r.coreColumnPredicate){a=[];for(const f of e)r.coreColumnPredicate(f.spec)?a.push(f):l.push(f)}return l.push(...o.values()),t.createPTable({src:{type:"outer",primary:{type:(r==null?void 0:r.coreJoinType)??"full",entries:a.map(f=>({type:"column",column:f}))},secondary:l.map(f=>({type:"column",column:f}))},filters:[...(r==null?void 0:r.filters)??[],...((c=n==null?void 0:n.pTableParams)==null?void 0:c.filters)??[]],sorting:((S=n==null?void 0:n.pTableParams)==null?void 0:S.sorting)??[]})}function Ut(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 Jt=(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 Bt(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 Mt(t,e){const n=t.spec.axesSpec.map(u.getAxisId);return e.spec.axesSpec.map(u.getAxisId).every(i=>n.some(s=>u.matchAxisId(s,i)&&u.matchAxisId(i,s)))}function Ke(t,e){const n=t.spec.axesSpec.map(u.getAxisId);return e.spec.axesSpec.map(u.getAxisId).every(i=>n.some(s=>u.matchAxisId(s,i)))}const Ne="pl7.app/graph/isVirtual",pe="pl7.app/label";function ve(t,e){const n=t.spec.axesSpec.map(u.getAxisId),r=e.spec.axesSpec.map(u.getAxisId);if(Mt(t,e))return[];if(!Ke(t,e))return[];const o=r.map(f=>n.filter(h=>u.matchAxisId(h,f))),a=Bt(o),l=new Set,c=new Set,S=a.map(f=>{const h=new Set;return f.map((p,d)=>{const g=e.spec.axesSpec[d].domain,w=p.domain;return Object.entries(w??{}).forEach(([v,b])=>{if((g==null?void 0:g[v])===void 0){const m=JSON.stringify([v,b]);h.add(m),l.add(m)}}),{...p,annotations:e.spec.axesSpec[d].annotations}}),h});return[...l].forEach(f=>{S.some(h=>!h.has(f))&&c.add(f)}),a.map((f,h)=>{var v;const p=Jt(e.id,f.map(b=>b.domain)),d=((v=e.spec.annotations)==null?void 0:v[pe])??"",g=[...S[h]].filter(b=>c.has(b)).sort().map(b=>{var m;return(m=JSON.parse(b))==null?void 0:m[1]}).join(" / "),w={...e.spec.annotations,[Ne]:"true"};return(d||g)&&(w[pe]=d&&g?d+" / "+g:d+g),{id:p,spec:{...e.spec,axesSpec:f.map((b,m)=>({...b,annotations:e.spec.axesSpec[m].annotations})),annotations:w},data:e.data}})}function $e(t){const e=[];for(let n=0;n<t.length;n++)for(let r=n+1;r<t.length;r++){const i=t[n],s=t[r];e.push(...ve(i,s),...ve(s,i))}return e}function Ue(t,e){const n=[...t];for(const r of e)for(const i of t){if(i.id===r.id)break;if(Ke(i,r)){n.push(r);break}}return n}const Gt=["Int","Long","Float","Double","String","Bytes"];function Wt(t,e){if(e===void 0)return;const n=t.resultPool.getData().entries.map(s=>s.obj).filter(u.isPColumn).filter(s=>Gt.includes(s.spec.valueType)),r=Ue(e,n),i=[...r,...$e(r)];if(!i.some(s=>s.data instanceof _&&!s.data.getIsReadyOrError()))return t.createPFrame(i)}class qt{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){return await platforma.pFrameDriver.calculateTableData(this.handle,e)}async getUniqueValues(e){return await platforma.pFrameDriver.getUniqueValues(this.handle,e)}}function Je(t){return fe({__isRef:!0,blockId:H(t,"blockId"),name:H(t,"name")})}function Ht(t){return fe({ref:Je(H(t,"ref")),label:H(t,"label")})}const zt={sdkVersion:q};function Be(){return we({sdkVersion:q})}function Yt(t){try{return Be()}catch{return t}}function Xt(t){if(typeof globalThis.getEnvironmentValue=="function")return globalThis.getEnvironmentValue(t)}exports.Args=Ye;exports.BlockModel=L;exports.CurrentSdkInfo=zt;exports.FutureRef=C;exports.IS_VIRTUAL_COLUMN=Ne;exports.It=Xe;exports.JsRenderInternal=Lt;exports.LABEL_ANNOTATION=pe;exports.MainOutputs=Qe;exports.OutputError=Ae;exports.PAnnotationLabel=Ce;exports.PAnnotationTrace=_e;exports.PColumnCollection=de;exports.PFrameImpl=qt;exports.RT_BINARY_PARTITIONED=F;exports.RT_BINARY_SUPER_PARTITIONED=$;exports.RT_JSON_PARTITIONED=N;exports.RT_JSON_SUPER_PARTITIONED=X;exports.RT_RESOURCE_MAP=z;exports.RT_RESOURCE_MAP_PARTITIONED=Y;exports.RenderCtx=G;exports.ResultPool=je;exports.StagingOutputs=Ze;exports.Trace=Te;exports.TraceEntry=Le;exports.TreeNodeAccessor=_;exports.UiState=et;exports.and=at;exports.convertOrParsePColumnData=Fe;exports.createPFrameForGraphs=Wt;exports.createPlDataTable=$t;exports.createPlDataTableSheet=Ut;exports.deriveLabels=he;exports.downgradeCfgOrLambda=ne;exports.enrichColumnsWithCompatible=Ue;exports.extractArchiveAndGetURL=yt;exports.extractConfig=Nt;exports.filterDataInfoEntries=ke;exports.flatten=it;exports.fromPlOption=Ht;exports.fromPlRef=Je;exports.getAdditionalColumns=$e;exports.getBlobContent=pt;exports.getBlobContentAsJson=ht;exports.getBlobContentAsString=ft;exports.getDownloadedBlobContent=gt;exports.getEnvironmentValue=Xt;exports.getFromCfg=U;exports.getImmediate=W;exports.getImportProgress=vt;exports.getJsonField=H;exports.getLastLogs=bt;exports.getLogHandle=wt;exports.getOnDemandBlobContent=mt;exports.getPartitionKeysList=Ee;exports.getPlatformaOrDefault=Yt;exports.getProgressLog=At;exports.getProgressLogWithInfo=Pt;exports.getRawPlatformaInstance=Be;exports.getResourceField=ut;exports.getResourceValueAsJson=ct;exports.getUniquePartitionKeys=De;exports.ifDef=re;exports.isConfigLambda=Ve;exports.isEmpty=st;exports.isolate=ze;exports.makeArray=tt;exports.makeObject=fe;exports.mapArrayValues=rt;exports.mapRecordValues=nt;exports.mapResourceFields=dt;exports.not=ot;exports.or=lt;exports.parsePColumnData=ie;exports.parseResourceMap=Ot;exports.readOutput=Pe;exports.wrapOutputs=He;Object.keys(u).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>u[t]})});Object.keys(ge).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>ge[t]})});
1
+ "use strict";var Qe=Object.defineProperty;var Ze=(t,e,n)=>e in t?Qe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var O=(t,e,n)=>Ze(t,typeof e!="symbol"?e+"":e,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@milaboratories/pl-model-common"),fe=require("canonicalize"),K=require("zod"),ve=require("@milaboratories/pl-error-like");class we extends Error{constructor(e,n){super(`${e.length}${n?"+":""} errors, first error: `+e[0].message),this.errors=e,this.moreErrors=n}}function Ie(t){if(!t.ok)throw new we(t.errors,t.moreErrors);return t.value}function et(t){return new Proxy(t,{get(e,n){return Ie(e[n])}})}function x(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"||t===null?G(t):t}function $(t){return{type:"GetFromCtx",variable:t}}function tt(t){return{type:"Isolate",cfg:t}}const nt=$("$args"),rt=$("$it"),it=$("$prod"),st=$("$staging"),ot=$("$ui");function G(t){return{type:"Immediate",value:t}}function he(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 q(t,e){return{type:"GetJsonField",source:x(t),field:x(e)}}function lt(t,e,n="$it"){return{type:"MapRecordValues",source:t,mapping:e,itVar:n}}function ut(t,e,n="$it"){return{type:"MapArrayValues",source:t,mapping:e,itVar:n}}function ct(t){return{type:"Flatten",source:t}}function dt(t){return{type:"IsEmpty",arg:t}}function pt(t){return{type:"Not",operand:t}}function ft(t,e){return{type:"And",operand1:t,operand2:e}}function ht(t,e){return{type:"Or",operand1:t,operand2:e}}function gt(t,e){return{type:"GetResourceField",source:x(t),field:x(e)}}function mt(){return function(t){return{type:"GetResourceValueAsJson",source:x(t)}}}function yt(t,e,n="$it"){return{type:"MapResourceFields",source:t,mapping:e,itVar:n}}function bt(t){return{type:"GetBlobContent",source:x(t)}}function vt(t){return{type:"GetBlobContentAsString",source:x(t)}}function At(){return function(t){return{type:"GetBlobContentAsJson",source:x(t)}}}function Pt(t){return{type:"GetDownloadedBlobContent",source:x(t)}}function Ct(t){return{type:"GetOnDemandBlobContent",source:x(t)}}function wt(t,e){return{type:"ExtractArchiveAndGetURL",format:e,source:x(t)}}function It(t){return{type:"GetImportProgress",source:x(t)}}function xt(t,e){return{type:"GetLastLogs",source:x(t),lines:e}}function St(t,e){return{type:"GetProgressLog",source:x(t),patternToSearch:e}}function _t(t,e){return{type:"GetProgressLogWithInfo",source:x(t),patternToSearch:e}}function Lt(t){return{type:"GetLogHandle",source:x(t)}}function Tt(){return typeof globalThis.getPlatforma<"u"||typeof globalThis.platforma<"u"}function xe(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 Ot(){if(typeof globalThis.cfgRenderCtx<"u")return globalThis.cfgRenderCtx}function y(){if(typeof globalThis.cfgRenderCtx<"u")return globalThis.cfgRenderCtx;throw new Error("Not in config rendering context")}function te(t,e){const n=Ot();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 le=new Map;function Rt(t,e){t in y().callbackRegistry||(y().callbackRegistry[t]=n=>{for(const r of le.get(t))r(n)},le.set(t,[])),le.get(t).push(e)}class S{constructor(e,n=r=>r){O(this,"isResolved",!1);O(this,"resolvedValue");this.handle=e,this.postProcess=n,Rt(e,r=>{this.resolvedValue=n(r),this.isResolved=!0})}map(e){return new S(this.handle,n=>e(this.postProcess(n)))}mapDefined(e){return new S(this.handle,n=>{const r=this.postProcess(n);return r?e(r):void 0})}toJSON(){return this.isResolved?this.resolvedValue:{__awaited_futures__:[this.handle]}}}function re(t,e){return t===void 0?void 0:e(t)}class _{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 re(y().resolveWithCommon(this.handle,e,...n),i=>new _(i,r))}get resourceType(){return y().getResourceType(this.handle)}getInputsLocked(){return y().getInputsLocked(this.handle)}getOutputsLocked(){return y().getOutputsLocked(this.handle)}getIsReadyOrError(){return y().getIsReadyOrError(this.handle)}getIsFinal(){return y().getIsFinal(this.handle)}getError(){const e=[...this.resolvePath,"error"];return re(y().getError(this.handle),n=>new _(n,e))}listInputFields(){return y().listInputFields(this.handle)}listOutputFields(){return y().listOutputFields(this.handle)}listDynamicFields(){return y().listDynamicFields(this.handle)}getKeyValueBase64(e){return y().getKeyValueBase64(this.handle,e)}getKeyValueAsString(e){return y().getKeyValueAsString(this.handle,e)}getKeyValueAsJson(e){const n=this.getKeyValueAsString(e);if(n==null)throw new Error("Resource has no content.");return JSON.parse(n)}getDataBase64(){return y().getDataBase64(this.handle)}getDataAsString(){return y().getDataAsString(this.handle)}getDataAsJson(){const e=this.getDataAsString();if(e==null)throw new Error("Resource has no content.");return JSON.parse(e)}getPColumns(e=!1,n=""){const r=this.parsePObjectCollection(e,n);return r===void 0?void 0:Object.entries(r).map(([,s])=>{if(!c.isPColumn(s))throw new Error(`not a PColumn (kind = ${s.spec.kind})`);return s})}parsePObjectCollection(e=!1,n=""){const r=y().parsePObjectCollection(this.handle,e,n,...this.resolvePath);if(r===void 0)return;const i={};for(const[s,o]of Object.entries(r)){const a=[...this.resolvePath,s];i[s]=c.mapPObjectData(o,l=>new _(l,a))}return i}getFileContentAsBase64(){return new S(y().getBlobContentAsBase64(this.handle))}getFileContentAsString(){return new S(y().getBlobContentAsString(this.handle))}getFileContentAsJson(){return new S(y().getBlobContentAsString(this.handle)).mapDefined(e=>JSON.parse(e))}getBlobContentAsBase64(){return this.getFileContentAsBase64()}getBlobContentAsString(){return this.getFileContentAsString()}getFileHandle(){return new S(y().getDownloadedBlobContentHandle(this.handle))}getDownloadedBlobHandle(){return this.getFileHandle()}getRemoteFileHandle(){return new S(y().getOnDemandBlobContentHandle(this.handle))}getOnDemandBlobHandle(){return this.getRemoteFileHandle()}extractArchiveAndGetURL(e){return new S(y().extractArchiveAndGetURL(this.handle,e))}getImportProgress(){return new S(y().getImportProgress(this.handle))}getLastLogs(e){return new S(y().getLastLogs(this.handle,e))}getProgressLog(e){return new S(y().getProgressLog(this.handle,e))}getProgressLogWithInfo(e){return new S(y().getProgressLogWithInfo(this.handle,e))}getLogHandle(){return new S(y().getLogHandle(this.handle))}allFieldsResolved(e="Input"){switch(e){case"Input":return this.getInputsLocked()&&this.listInputFields().every(n=>this.resolve({field:n,assertFieldType:"Input"})!==void 0);case"Output":return this.getOutputsLocked()&&this.listOutputFields().every(n=>this.resolve({field:n,assertFieldType:"Output"})!==void 0)}}mapFields(e,n){const{fieldType:r,requireLocked:i,skipUnresolved:s}={fieldType:"Input",requireLocked:!0,skipUnresolved:!1,...n},o=e;if(i&&(r==="Input"&&!this.getInputsLocked()||r==="Output"&&!this.getOutputsLocked()))return;let l=(r==="Input"?this.listInputFields():r==="Output"?this.listOutputFields():this.listDynamicFields()).map(u=>[u,this.resolve({field:u,assertFieldType:r})]);return s&&(l=l.filter(u=>u[1]!==void 0)),l.map(([u,P])=>o(u,P))}}const Se="staging",_e="main",Et={explicitColumnsSupport:!0,inlineColumnsSupport:!0,activeArgs:!0};function Le(t){return typeof t=="object"&&t!==null&&"__awaited_futures__"in t}function ce(t,e,n){if(e.has(n))return;if(e.add(n),typeof n==="object")if(Le(n))n.__awaited_futures__.forEach(i=>t.add(i));else if(Array.isArray(n))for(const i of n)ce(t,e,i);else for(const[,i]of Object.entries(n))i!==n&&ce(t,e,i)}function Dt(t){const e=new Set;return ce(e,new Set,t),e}const Ft=Object.freeze(Object.defineProperty({__proto__:null,GlobalCfgRenderCtxFeatureFlags:Et,MainAccessorName:_e,StagingAccessorName:Se,getAllFutureAwaits:Dt,isFutureAwait:Le},Symbol.toStringTag,{value:"Module"})),Te="pl7.app/label",Oe="pl7.app/trace",Re=K.z.object({type:K.z.string(),importance:K.z.number().optional(),id:K.z.string().optional(),label:K.z.string()}),Ee=K.z.array(Re),kt=.001,jt="__LABEL__",Ae="__LABEL__@1";function ge(t,e,n={}){const r=new Map,i=new Map,s=t.map(f=>{var Z,R;const g=e(f);let h,I,d;"spec"in g&&typeof g.spec=="object"?(h=g.spec,I=g.prefixTrace,d=g.suffixTrace):h=g;const b=(Z=h.annotations)==null?void 0:Z[Te],m=(R=h.annotations)==null?void 0:R[Oe],v=(m?Ee.safeParse(JSON.parse(m)).data:void 0)??[],C=[...I??[],...v,...d??[]];if(b){const T={label:b,type:jt,importance:-2};n.addLabelAsSuffix?C.push(T):C.splice(0,0,T)}const E=[],U=new Map;for(let T=C.length-1;T>=0;--T){const{type:k}=C[T],oe=C[T].importance??0,B=(U.get(k)??0)+1;U.set(k,B);const w=`${k}@${B}`;i.set(w,(i.get(w)??0)+1),r.set(w,Math.max(r.get(w)??Number.NEGATIVE_INFINITY,oe-(C.length-T)*kt)),E.push({...C[T],fullType:w,occurenceIndex:B})}return E.reverse(),{value:f,spec:h,label:b,fullTrace:E}}),o=[],a=[],l=[...r];l.sort(([,f],[,g])=>g-f);for(const[f]of l)f.endsWith("@1")||i.get(f)===t.length?o.push(f):a.push(f);const u=f=>{const g=[];for(let h=0;h<s.length;h++){const I=s[h],d=I.fullTrace.filter(v=>f.has(v.fullType));if(d.length===0)return;const b=d.map(v=>v.label),m=n.separator??" / ";g.push({label:b.join(m),value:I.value})}return g};if(o.length===0){if(a.length!==0)throw new Error("Assertion error.");const f=u(new Set(Ae));if(f===void 0)throw new Error("Assertion error.");return f}let P=0,A=0;for(;P<o.length;){const f=new Set;n.includeNativeLabel&&f.add(Ae);for(let h=0;h<P;++h)f.add(o[h]);f.add(o[A]);const g=u(f);if(g!==void 0&&new Set(g.map(h=>h.label)).size===t.length)return g;A++,A>=o.length&&(P++,A=P)}const p=u(new Set([...o,...a]));if(p===void 0)throw new Error("Assertion error.");return p}const Q="PColumnData/",z=Q+"ResourceMap",Y=Q+"Partitioned/ResourceMap",N=Q+"JsonPartitioned",F=Q+"BinaryPartitioned",De=Q+"Partitioned/",X=De+"JsonPartitioned",J=De+"BinaryPartitioned";function Fe(t,e,n,r=[],i){if(t===void 0)return!1;switch(t.resourceType.name){case z:{let s=t.getInputsLocked();for(const o of t.listInputFields()){const a=t.resolve({field:o,assertFieldType:"Input"}),l=[...r,...JSON.parse(o)],u=a===void 0?void 0:e(a);u===void 0&&(s=!1),(u!==void 0||i)&&n.push({key:l,value:u})}return s}case Y:{let s=t.getInputsLocked();for(const o of t.listInputFields()){const a=t.resolve({field:o,assertFieldType:"Input"});if(a===void 0)s=!1;else{const l=[...r,...JSON.parse(o)],u=Fe(a,e,n,l,i);s=s&&u}}return s}default:throw new Error(`Unknown resource type: ${t.resourceType.name}`)}}function Vt(t,e,n=!1){const r=[];return{isComplete:Fe(t,e,r,[],n),data:r}}const de=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 ke(t){if(!t)return;const e=t.resourceType.name,n=t.getDataAsJson(),r=[];let i=0;switch(e){case z:i=n.keyLength;break;case Y:i=n.partitionKeyLength+n.keyLength;break;case N:case F:i=n.partitionKeyLength;break;case J:case X:i=n.superPartitionKeyLength+n.partitionKeyLength;break}switch(e){case z:case N:case F:for(let s of t.listInputFields()){e===F&&(s=de(s).baseKey);const o=[...JSON.parse(s)];r.push(o)}break;case Y:case J:case X:for(const s of t.listInputFields()){const o=[...JSON.parse(s)],a=t.resolve({field:s,assertFieldType:"Input"});if(a!==void 0)for(let l of a.listInputFields()){e===J&&(l=de(l).baseKey);const u=[...o,...JSON.parse(l)];r.push(u)}}break}return{data:r,keyLength:i}}function Kt(t){if(t.type!=="JsonPartitioned"&&t.type!=="BinaryPartitioned")throw new Error(`Splitting requires Partitioned DataInfoEntries, got ${t.type}`);const{parts:e,partitionKeyLength:n}=t,r=[];for(let i=0;i<n;++i)r.push(new Set);for(const i of e){const s=i.key;if(s.length!==n)throw new Error(`Key length (${s.length}) does not match partition length (${n}) for key: ${JSON.stringify(s)}`);for(let o=0;o<n;++o)r[o].add(s[o])}return r.map(i=>Array.from(i.values()))}function je(t){if(t===void 0)return;if(c.isDataInfoEntries(t))return Kt(t);const e=ke(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 ie(t,e=[]){if(t===void 0||!t.getIsReadyOrError())return;const n=t.resourceType.name,r=t.getDataAsJson();if(e.length>0&&(n===X||n===J))throw new Error(`Unexpected nested super-partitioned resource: ${n}`);switch(n){case z:case Y:throw new Error(`Only data columns are supported, got: ${n}`);case N:{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 F:{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=de(o),l=t.resolve({field:o,assertFieldType:"Input"});if(l===void 0)return;let u=s.get(a.baseKey);u||(u={},s.set(a.baseKey,u)),a.type==="index"?u.index=l:u.values=l}for(const[o,a]of s.entries()){if(!a.index||!a.values)return;const l=[...e,...JSON.parse(o)];i.push({key:l,value:{index:a.index,values:a.values}})}return{type:"BinaryPartitioned",partitionKeyLength:r.partitionKeyLength,parts:i}}case X:{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!==N)throw new Error(`Expected ${N} inside ${n}, but got ${a.resourceType.name}`);const l=ie(a,JSON.parse(o));if(l===void 0)return;if(l.type!=="JsonPartitioned")throw new Error(`Unexpected inner result type for ${n}: ${l.type}`);s.push(...l.parts)}return{type:"JsonPartitioned",partitionKeyLength:i,parts:s}}case J:{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!==F)throw new Error(`Expected ${F} inside ${n}, but got ${a.resourceType.name}`);const l=ie(a,JSON.parse(o));if(l===void 0)return;if(l.type!=="BinaryPartitioned")throw new Error(`Unexpected inner result type for ${n}: ${l.type}`);s.push(...l.parts)}return{type:"BinaryPartitioned",partitionKeyLength:i,parts:s}}default:throw new Error(`Unknown resource type: ${n}`)}}function Ve(t){if(t!==void 0){if(c.isDataInfoEntries(t))return t;if(c.isDataInfo(t))return c.dataInfoToEntries(t);if(t instanceof _)return ie(t);throw new Error(`Unexpected input type: ${typeof t}`)}}function Ke(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}}}}class Nt{constructor(e){this.columns=e}selectColumns(e){const n=typeof e=="function"?e:c.selectorsToPredicate(e);return this.columns.filter(r=>n(r.spec))}}function Jt(t){if(t)return t.map(e=>({type:`split:${c.canonicalizeAxisId(e.axisId)}`,label:e.label,importance:1e6}))}function $t(t){if(t)return t.map(e=>[e.axisIdx,e.value])}function Ut(t,e){if(!e||e.length===0)return t;const n=[...e].sort((r,i)=>r[0]-i[0]);return fe({id:t,axisFilters:n})}function Bt(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 Mt(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 se{constructor(){O(this,"defaultProviderStore",[]);O(this,"providers",[new Nt(this.defaultProviderStore)]);O(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}=n??{},a={...o&&(i==null?void 0:i.includeNativeLabel)!==!1?{includeNativeLabel:!0}:{},...i??{}},l=typeof e=="function"?[e]:Array.isArray(e)?e:[e],u=[];for(const p of l){const f=Bt(p);let g;if(f){if(!r)throw new Error("Anchored selectors require an AnchoredIdDeriver to be provided in options.");g=c.resolveAnchors(r.anchors,p,n)}else g=p;const h=new Set,I=[];for(const m of this.providers){const v=m.selectColumns(g);for(const C of v){if(h.has(C.id))throw new Error(`Duplicate column id ${C.id} in provider ${m.constructor.name}`);h.add(C.id),I.push(C)}}if(I.length===0)continue;const d=Mt(p),b=d.length>0;for(const m of I){if(!c.isPColumnSpec(m.spec))continue;const v=m.spec;if(b){const C=Ve(m.data);if(!C){if(s)continue;return}if(!c.isPartitionedDataInfoEntries(C))throw new Error(`Splitting requires Partitioned DataInfoEntries, but parsing resulted in ${C.type} for column ${m.id}`);const E=je(C),U=d[d.length-1];if(U>=C.partitionKeyLength)throw new Error(`Not enough partition keys (${C.partitionKeyLength}) for requested split axes (max index ${U}) in column ${v.name}`);const Z=d.map(w=>this.findLabels(c.getAxisId(v.axesSpec[w]))),R=[],T=(w,M)=>{if(M>=d.length){if(R.push([...w]),R.length>1e4)throw new Error("Too many key combinations, aborting.");return}const D=d[M];if(D>=E.length)throw new Error(`Axis index ${D} out of bounds for unique keys array (length ${E.length}) during split key generation for column ${m.id}`);const j=E[D];if(!j||j.length===0){R.length=0;return}for(const ee of j)w.push(ee),T(w,M+1),w.pop()};if(T([],0),R.length===0)continue;const k=[...v.axesSpec],oe=d.map(w=>w);for(let w=d.length-1;w>=0;w--)k.splice(d[w],1);const B={...v,axesSpec:k};for(const w of R){const M=w.map((D,j)=>{const ee=oe[j],Ye=c.getAxisId(v.axesSpec[ee]),ae=Z[j],Xe=(ae==null?void 0:ae[D])??String(D);return{axisIdx:ee,axisId:Ye,value:D,label:Xe}});u.push({type:"split",originalColumn:m,spec:v,adjustedSpec:B,dataEntries:C,axisFilters:M})}}else u.push({type:"direct",originalColumn:m,spec:v,adjustedSpec:v})}}if(u.length===0)return[];const P=ge(u,p=>({spec:p.spec,suffixTrace:p.type==="split"?Jt(p.axisFilters):void 0}),a),A=[];for(const{value:p,label:f}of P){const{originalColumn:g,spec:h}=p,I=p.type==="split"?p.axisFilters:void 0,d=$t(I);let b;r?b=r.deriveS(h,d):b=Ut(g.id,d);let m={...p.adjustedSpec};o&&(m={...m,annotations:{...m.annotations??{},"pl7.app/label":f}}),A.push({id:b,spec:m,data:()=>p.type==="split"?c.entriesToDataInfo(Ke(p.dataEntries,d)):p.originalColumn.data,label:f})}return A}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 ue(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 Pe(t){return c.mapPObjectData(t,e=>e instanceof _?e.handle:c.isDataInfo(e)?c.mapDataInfo(e,n=>n.handle):e)}class Ne{constructor(){O(this,"ctx",y())}calculateOptions(e){return this.ctx.calculateOptions(e)}getOptions(e,n){const r=typeof e=="function"?e:c.selectorsToPredicate(e),i=this.getSpecs().entries.filter(s=>r(s.obj));return typeof n=="object"||typeof n>"u"?ge(i,s=>s.obj,n??{}).map(({value:{ref:s},label:o})=>({ref:s,label:o})):i.map(s=>({ref:s.ref,label:n(s.obj,s.ref)}))}resolveAnchorCtx(e){if(e instanceof c.AnchoredIdDeriver)return e;const n={};for(const[r,i]of Object.entries(e))if(c.isPlRef(i)){const s=this.getPColumnSpecByRef(i);if(!s)return;n[r]=s}else n[r]=i;return new c.AnchoredIdDeriver(n)}getAnchoredPColumns(e,n,r){const i=this.resolveAnchorCtx(e);if(i)return new se().addColumnProvider(this).addAxisLabelProvider(this).getColumns(n,{...r,anchorCtx:i})}getCanonicalOptions(e,n,r){const i=this.resolveAnchorCtx(e);if(!i)return;const s=new se().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 _(n.obj.data,[n.ref.blockId,n.ref.name])}}))}}getDataWithErrorsFromResultPool(){return this.getDataWithErrors()}getDataWithErrors(){const e=this.ctx.getDataWithErrorsFromResultPool();return{isComplete:e.isComplete,entries:e.entries.map(n=>({ref:n.ref,obj:{...n.obj,data:c.mapValueInVOE(n.obj.data,r=>new _(r,[n.ref.blockId,n.ref.name]))}}))}}getSpecsFromResultPool(){return this.getSpecs()}getSpecs(){return this.ctx.getSpecsFromResultPool()}getDataByRef(e){var r;if(typeof this.ctx.getDataFromResultPoolByRef>"u")return(r=this.getData().entries.find(i=>i.ref.blockId===e.blockId&&i.ref.name===e.name))==null?void 0:r.obj;const n=this.ctx.getDataFromResultPoolByRef(e.blockId,e.name);if(n)return c.mapPObjectData(n,i=>new _(i,[e.blockId,e.name]))}getPColumnByRef(e){const n=this.getDataByRef(e);if(n)return c.ensurePColumn(n)}getPColumnSpecByRef(e){const n=this.getSpecByRef(e);if(n){if(!c.isPColumnSpec(n))throw new Error(`not a PColumn spec (kind = ${n.kind})`);return n}}getSpecByRef(e){return this.ctx.getSpecFromResultPoolByRef(e.blockId,e.name)}findDataWithCompatibleSpec(e){const n=[];e:for(const r of this.getData().entries){if(!c.isPColumnSpec(r.obj.spec))continue;const i=r.obj.spec;if(e.name===i.name&&e.valueType===i.valueType&&e.axesSpec.length===i.axesSpec.length&&ue(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||!ue(o.domain,a.domain))continue e}n.push(r.obj)}}return n}findLabels(e){const n=this.getData();for(const r of n.entries){if(!c.isPColumn(r.obj))continue;const i=r.obj.spec;if(i.name==="pl7.app/label"&&i.axesSpec.length===1&&i.axesSpec[0].name===e.name&&i.axesSpec[0].type===e.type&&ue(e.domain,i.axesSpec[0].domain)){if(r.obj.data.resourceType.name!=="PColumnData/Json")throw Error(`Expected JSON column for labels, got: ${r.obj.data.resourceType.name}`);return Object.fromEntries(Object.entries(r.obj.data.getDataAsJson().data).map(o=>[JSON.parse(o[0])[0],o[1]]))}}}selectColumns(e){const n=typeof e=="function"?e:c.selectorsToPredicate(e);return this.getSpecs().entries.filter(({obj:i})=>c.isPColumnSpec(i)?n(i):!1).map(({ref:i,obj:s})=>{const o=s;let a=null;const l=this;return{id:fe(i),spec:o,get data(){var u;return a!==null||(a=(u=l.getPColumnByRef(i))==null?void 0:u.data),a}}})}findLabelsForColumnAxis(e,n){var s;const r=this.findLabels(e.axesSpec[n]);if(!r)return;const i=(s=e.annotations)==null?void 0:s["pl7.app/axisKeys/"+n];if(i!==void 0){const o=JSON.parse(i);return Object.fromEntries(o.map(a=>[a,r[a]??"Unlabelled"]))}else return r}}class W{constructor(){O(this,"ctx");O(this,"args");O(this,"uiState");O(this,"_activeArgsCache");O(this,"resultPool",new Ne);this.ctx=y(),this.args=JSON.parse(this.ctx.args),this.uiState=this.ctx.uiState!==void 0?JSON.parse(this.ctx.uiState):{}}get activeArgs(){return this._activeArgsCache===void 0&&(this._activeArgsCache={v:this.ctx.activeArgs?JSON.parse(this.ctx.activeArgs):void 0}),this._activeArgsCache.v}getNamedAccessor(e){return re(this.ctx.getAccessorHandleByName(e),n=>new _(n,[e]))}get prerun(){return this.getNamedAccessor(Se)}get outputs(){return this.getNamedAccessor(_e)}findLabels(e){return this.resultPool.findLabels(e)}verifyInlineAndExplicitColumnsSupport(e){var i;const n=e.some(s=>!(s.data instanceof _)||c.isDataInfo(s.data)),r=((i=this.ctx.featureFlags)==null?void 0:i.inlineColumnsSupport)===!0;if(n&&!r)throw Error("Inline or explicit columns not supported")}createPFrame(e){return this.verifyInlineAndExplicitColumnsSupport(e),this.ctx.createPFrame(e.map(n=>Pe(n)))}createPTable(e){let n;return"columns"in e?n={src:{type:"full",entries:e.columns.map(r=>({type:"column",column:r}))},filters:e.filters??[],sorting:e.sorting??[]}:n=e,this.verifyInlineAndExplicitColumnsSupport(c.extractAllColumns(n.src)),this.ctx.createPTable(c.mapPTableDef(n,r=>Pe(r)))}getBlockLabel(e){return this.ctx.getBlockLabel(e)}getCurrentUnstableMarker(){if(!(typeof this.ctx.getCurrentUnstableMarker>"u"))return this.ctx.getCurrentUnstableMarker()}}const H="1.29.12";function Je(t){return t.__renderLambda===!0}function ne(t){if(t!==void 0)return Je(t)?t.handle:t}function V(t){if(t!==void 0)return typeof t=="string"?{__renderLambda:!0,handle:t,retentive:!1}:t}function Wt(t){if(t.v3!==void 0){const{initialArgs:e,initialUiState:n,inputsValid:r,outputs:i,renderingMode:s,sdkVersion:o,sections:a,title:l}=t.v3,{code:u}=t;return{initialArgs:e,initialUiState:n,inputsValid:r,outputs:i,renderingMode:s,sdkVersion:o,sections:a,title:l,code:u}}else if(t.inputsValid!==void 0){const{sdkVersion:e,renderingMode:n,outputs:r,inputsValid:i,sections:s,initialArgs:o,code:a}=t,l=Object.keys(t);if(e===void 0||n===void 0||r===void 0||i===void 0||s===void 0||o===void 0)throw new Error(`Malformed config v2. SDK version ${e}; Fields = ${l.join(", ")}`);return{sdkVersion:e,renderingMode:n,initialArgs:o,outputs:Object.fromEntries(Object.entries(r).map(([u,P])=>[u,V(P)])),inputsValid:V(i),sections:V(s),initialUiState:void 0,code:a}}else if(t.renderingMode!==void 0){const{sdkVersion:e,canRun:n,renderingMode:r,outputs:i,sections:s,initialArgs:o,code:a}=t,l=Object.keys(t);if(r===void 0||i===void 0||n===void 0||s===void 0||o===void 0)throw new Error(`Malformed config v1. SDK version ${e}; Fields = ${l.join(", ")}`);return{sdkVersion:e??"unknown",renderingMode:r,initialArgs:o,outputs:Object.fromEntries(Object.entries(i).map(([u,P])=>[u,V(P)])),inputsValid:V(n),sections:V(s),initialUiState:void 0,code:a}}else{const{sdkVersion:e}=t,n=Object.keys(t);throw new Error(`Config format not supported: SDK = ${e}; Fields = ${n.join(", ")}`)}}class L{constructor(e,n,r,i,s,o,a){this._renderingMode=e,this._initialArgs=n,this._initialUiState=r,this._outputs=i,this._inputsValid=s,this._sections=o,this._title=a}static create(e="Heavy"){return new L(e,void 0,{},{},G(!0),G([]),void 0)}output(e,n,r={}){if(typeof n=="function"){const i=`output#${e}`;return te(i,()=>n(new W)),new L(this._renderingMode,this._initialArgs,this._initialUiState,{...this._outputs,[e]:{__renderLambda:!0,handle:i,...r}},this._inputsValid,this._sections,this._title)}else return new L(this._renderingMode,this._initialArgs,this._initialUiState,{...this._outputs,[e]:n},this._inputsValid,this._sections,this._title)}retentiveOutput(e,n){return this.output(e,n,{retentive:!0})}argsValid(e){return typeof e=="function"?(te("inputsValid",()=>e(new W)),new L(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,{__renderLambda:!0,handle:"inputsValid"},this._sections,this._title)):new L(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,e,this._sections,this._title)}sections(e){return Array.isArray(e)?this.sections(G(e)):typeof e=="function"?(te("sections",()=>e(new W)),new L(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,{__renderLambda:!0,handle:"sections"},this._title)):new L(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,e,this._title)}title(e){return te("title",()=>e(new W)),new L(this._renderingMode,this._initialArgs,this._initialUiState,this._outputs,this._inputsValid,this._sections,{__renderLambda:!0,handle:"title"})}initialArgs(e){return new L(this._renderingMode,e,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title)}withArgs(e){return new L(this._renderingMode,e,this._initialUiState,this._outputs,this._inputsValid,this._sections,this._title)}withUiState(e){return new L(this._renderingMode,this._initialArgs,e,this._outputs,this._inputsValid,this._sections,this._title)}done(){if(this._initialArgs===void 0)throw new Error("Initial arguments not set.");const e={v3:{sdkVersion:H,renderingMode:this._renderingMode,initialArgs:this._initialArgs,initialUiState:this._initialUiState,inputsValid:this._inputsValid,sections:this._sections,title:this._title,outputs:this._outputs},sdkVersion:H,renderingMode:this._renderingMode,initialArgs:this._initialArgs,inputsValid:ne(this._inputsValid),sections:ne(this._sections),outputs:Object.fromEntries(Object.entries(this._outputs).map(([n,r])=>[n,ne(r)]))};return Tt()?xe({sdkVersion:H}):{config:e}}}function Gt(t){return fe(t)}function $e(t){return JSON.parse(t)}function Ht(t){return t.axesSpec.length===1&&t.name==="pl7.app/label"}function me(t){return new se().addAxisLabelProvider(t).addColumnProvider(t).getColumns({name:"pl7.app/label",axes:[{}]},{dontWaitAllData:!0})}function ye(t,e){const n=(i,s)=>{let o=i.toString();if(s)for(const a in s)o+=a,o+=s[a];return o},r=new Map;for(const i of t)for(const s of i.spec.axesSpec){const o=c.getAxisId(s);for(const a of e){const l=a.spec.axesSpec[0],u=c.getAxisId(a.spec.axesSpec[0]);if(c.matchAxisId(o,u)){const P=Object.keys(o.domain??{}).length,A=Object.keys(u.domain??{}).length;if(P>A){const p=n(a.id,o.domain);r.set(p,{id:p,spec:{...a.spec,axesSpec:[{...o,annotations:l.annotations}]},data:a.data})}else r.set(n(a.id),a)}}}return[...r.values()]}function be(t){const e=i=>Array.isArray(i),n=i=>i instanceof _,r=i=>typeof i=="object"&&"type"in i;return t.map(i=>i.data).every(i=>{if(e(i))return!0;if(n(i))return i.getIsReadyOrError();if(r(i))switch(i.type){case"Json":return!0;case"JsonPartitioned":return Object.values(i.parts).every(o=>o.getIsReadyOrError());case"BinaryPartitioned":return Object.values(i.parts).every(o=>o.index.getIsReadyOrError()&&o.values.getIsReadyOrError())}else throw Error(`unsupported column data type: ${i}`)})}function Ue(t,e,n,r,i,s){let o=t;const a=[];if(s){o=[];for(const l of t)s(l.spec)?o.push(l):a.push(l)}return a.push(...e),{src:{type:"outer",primary:{type:n,entries:o.map(l=>({type:"column",column:l}))},secondary:a.map(l=>({type:"column",column:l}))},filters:r,sorting:i}}function qt(t,e,n,r){var u,P;Array.isArray(r)&&(r={filters:r});const i=(r==null?void 0:r.coreJoinType)??"full",s=[...(r==null?void 0:r.filters)??[],...((u=n==null?void 0:n.pTableParams)==null?void 0:u.filters)??[]],o=((P=n==null?void 0:n.pTableParams)==null?void 0:P.sorting)??[],a=me(t.resultPool);if(!a)return;const l=ye(e.map(c.getColumnIdAndSpec),a);if(be([...e,...l]))return t.createPTable(Ue(e,l,i,s,o,r==null?void 0:r.coreColumnPredicate))}function Be(t){var e;return((e=t.annotations)==null?void 0:e["pl7.app/table/visibility"])==="optional"}function zt(t,e,n,r,i){var h,I;const s=(i==null?void 0:i.coreJoinType)??"full",o=[...(i==null?void 0:i.filters)??[],...((h=r==null?void 0:r.pTableParams)==null?void 0:h.filters)??[]],a=((I=r==null?void 0:r.pTableParams)==null?void 0:I.sorting)??[],l=e.find(d=>n(d.spec));if(!l)return;const u=me(t.resultPool);if(!u)return;const P=[...l.spec.axesSpec.map(d=>({type:"axis",id:c.getAxisId(d),spec:d})),...[...e,...u].map(d=>({type:"column",id:d.id,spec:d.spec}))],A=new Set((()=>{var b,m;if(s==="inner")return[];const d=(m=(b=r==null?void 0:r.gridState.columnVisibility)==null?void 0:b.hiddenColIds)==null?void 0:m.map($e).filter(v=>v.type==="column").map(v=>v.id);return d||e.filter(v=>Be(v.spec)).map(v=>v.id)})());A.delete(l.id),[...o.map(d=>d.column),...a.map(d=>d.column)].filter(d=>d.type==="column").map(d=>A.delete(d.id));const p=e.filter(d=>!A.has(d.id)),f=ye(p.map(c.getColumnIdAndSpec),u);if(!be([...p,...f]))return;const g=t.createPTable(Ue(e,f,s,o,a,i==null?void 0:i.coreColumnPredicate));return{tableSpec:P,tableHandle:g}}function Yt(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 Xt=(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 Qt(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 Zt(t,e){const n=t.spec.axesSpec.map(c.getAxisId);return e.spec.axesSpec.map(c.getAxisId).every(i=>n.some(s=>c.matchAxisId(s,i)&&c.matchAxisId(i,s)))}function Me(t,e){const n=t.spec.axesSpec.map(c.getAxisId);return e.spec.axesSpec.map(c.getAxisId).every(i=>n.some(s=>c.matchAxisId(s,i)))}const We="pl7.app/graph/isVirtual",pe="pl7.app/label";function Ce(t,e){const n=t.spec.axesSpec.map(c.getAxisId),r=e.spec.axesSpec.map(c.getAxisId);if(Zt(t,e))return[];if(!Me(t,e))return[];const o=r.map(A=>n.filter(p=>c.matchAxisId(p,A))),a=Qt(o),l=new Set,u=new Set,P=a.map(A=>{const p=new Set;return A.map((f,g)=>{const h=e.spec.axesSpec[g].domain,I=f.domain;return Object.entries(I??{}).forEach(([d,b])=>{if((h==null?void 0:h[d])===void 0){const m=JSON.stringify([d,b]);p.add(m),l.add(m)}}),{...f,annotations:e.spec.axesSpec[g].annotations}}),p});return[...l].forEach(A=>{P.some(p=>!p.has(A))&&u.add(A)}),a.map((A,p)=>{var d;const f=Xt(e.id,A.map(b=>b.domain)),g=((d=e.spec.annotations)==null?void 0:d[pe])??"",h=[...P[p]].filter(b=>u.has(b)).sort().map(b=>{var m;return(m=JSON.parse(b))==null?void 0:m[1]}).join(" / "),I={...e.spec.annotations,[We]:"true"};return(g||h)&&(I[pe]=g&&h?g+" / "+h:g+h),{id:f,spec:{...e.spec,axesSpec:A.map((b,m)=>({...b,annotations:e.spec.axesSpec[m].annotations})),annotations:I},data:e.data}})}function Ge(t){const e=[];for(let n=0;n<t.length;n++)for(let r=n+1;r<t.length;r++){const i=t[n],s=t[r];e.push(...Ce(i,s),...Ce(s,i))}return e}function He(t,e){const n=[...t];for(const r of e)for(const i of t){if(i.id===r.id)break;if(Me(i,r)){n.push(r);break}}return n}const en=["Int","Long","Float","Double","String","Bytes"];function tn(t,e){if(e===void 0)return;const n=t.resultPool.getData().entries.map(s=>s.obj).filter(c.isPColumn).filter(s=>en.includes(s.spec.valueType)),r=He(e,n),i=[...r,...Ge(r)];if(!i.some(s=>s.data instanceof _&&!s.data.getIsReadyOrError()))return t.createPFrame(i)}class nn{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){return await platforma.pFrameDriver.calculateTableData(this.handle,e)}async getUniqueValues(e){return await platforma.pFrameDriver.getUniqueValues(this.handle,e)}}function qe(t){return he({__isRef:!0,blockId:q(t,"blockId"),name:q(t,"name")})}function rn(t){return he({ref:qe(q(t,"ref")),label:q(t,"label")})}const sn={sdkVersion:H};function ze(){return xe({sdkVersion:H})}function on(t){try{return ze()}catch{return t}}function an(t){if(typeof globalThis.getEnvironmentValue=="function")return globalThis.getEnvironmentValue(t)}exports.Args=nt;exports.BlockModel=L;exports.CurrentSdkInfo=sn;exports.FutureRef=S;exports.IS_VIRTUAL_COLUMN=We;exports.It=rt;exports.JsRenderInternal=Ft;exports.LABEL_ANNOTATION=pe;exports.MainOutputs=it;exports.OutputError=we;exports.PAnnotationLabel=Te;exports.PAnnotationTrace=Oe;exports.PColumnCollection=se;exports.PFrameImpl=nn;exports.RT_BINARY_PARTITIONED=F;exports.RT_BINARY_SUPER_PARTITIONED=J;exports.RT_JSON_PARTITIONED=N;exports.RT_JSON_SUPER_PARTITIONED=X;exports.RT_RESOURCE_MAP=z;exports.RT_RESOURCE_MAP_PARTITIONED=Y;exports.RenderCtx=W;exports.ResultPool=Ne;exports.StagingOutputs=st;exports.Trace=Ee;exports.TraceEntry=Re;exports.TreeNodeAccessor=_;exports.UiState=ot;exports.allColumnsComputed=be;exports.and=ft;exports.convertOrParsePColumnData=Ve;exports.createPFrameForGraphs=tn;exports.createPlDataTable=qt;exports.createPlDataTableSheet=Yt;exports.createPlDataTableV2=zt;exports.deriveLabels=ge;exports.downgradeCfgOrLambda=ne;exports.enrichColumnsWithCompatible=He;exports.extractArchiveAndGetURL=wt;exports.extractConfig=Wt;exports.filterDataInfoEntries=Ke;exports.flatten=ct;exports.fromPlOption=rn;exports.fromPlRef=qe;exports.getAdditionalColumns=Ge;exports.getAllLabelColumns=me;exports.getBlobContent=bt;exports.getBlobContentAsJson=At;exports.getBlobContentAsString=vt;exports.getDownloadedBlobContent=Pt;exports.getEnvironmentValue=an;exports.getFromCfg=$;exports.getImmediate=G;exports.getImportProgress=It;exports.getJsonField=q;exports.getLastLogs=xt;exports.getLogHandle=Lt;exports.getMatchingLabelColumns=ye;exports.getOnDemandBlobContent=Ct;exports.getPartitionKeysList=ke;exports.getPlatformaOrDefault=on;exports.getProgressLog=St;exports.getProgressLogWithInfo=_t;exports.getRawPlatformaInstance=ze;exports.getResourceField=gt;exports.getResourceValueAsJson=mt;exports.getUniquePartitionKeys=je;exports.ifDef=re;exports.isColumnOptional=Be;exports.isConfigLambda=Je;exports.isEmpty=dt;exports.isLabelColumn=Ht;exports.isolate=tt;exports.makeArray=at;exports.makeObject=he;exports.mapArrayValues=ut;exports.mapRecordValues=lt;exports.mapResourceFields=yt;exports.not=pt;exports.or=ht;exports.parsePColumnData=ie;exports.parsePTableColumnId=$e;exports.parseResourceMap=Vt;exports.readOutput=Ie;exports.strinfigyPTableColumnId=Gt;exports.wrapOutputs=et;Object.keys(c).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>c[t]})});Object.keys(ve).forEach(t=>{t!=="default"&&!Object.prototype.hasOwnProperty.call(exports,t)&&Object.defineProperty(exports,t,{enumerable:!0,get:()=>ve[t]})});
2
2
  //# sourceMappingURL=index.js.map