industrial-model 0.11.3 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/cognite/adapter.ts","../../src/calculator/datapoints-retrieval.ts","../../src/calculator/formula-expression/ast.ts","../../src/calculator/formula-expression/exceptions.ts","../../src/calculator/formula-expression/compiler.ts","../../src/calculator/formula-expression/evaluator.ts","../../src/calculator/formula-expression/runtime.ts","../../src/calculator/formula-expression/core.ts","../../src/calculator/calculator.ts"],"names":["requestIndex","COMPARE_OPS"],"mappings":"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","file":"index.js","sourcesContent":["import type { CogniteClient } from \"@cognite/sdk\";\nimport type { CognitePort } from \"./port\";\nimport type {\n CogniteDatapointDeleteItem,\n CogniteDatapointInsertItem,\n CogniteDatapointLatestItem,\n CogniteDatapointResponse,\n CogniteDatapointResultItem,\n CogniteDatapointRetrieveOptions,\n CogniteFileDownloadUrl,\n CogniteFileUploadInfo,\n CogniteFileUploadResult,\n DataModelId,\n DataModelRetrieveOptions,\n InstancesAggregateRequest,\n InstancesAggregateResponse,\n InstancesApplyRequest,\n InstancesApplyResponse,\n InstancesQueryRequest,\n InstancesQueryResponse,\n InstancesSearchRequest,\n InstancesSearchResponse,\n ViewDefinition,\n} from \"./types\";\n\nexport function createCogniteAdapter(client: CogniteClient): CognitePort {\n return new CogniteSdkAdapter(client);\n}\n\nclass CogniteSdkAdapter implements CognitePort {\n constructor(private readonly client: CogniteClient) {}\n\n async retrieveDataModels(ids: DataModelId[], options?: DataModelRetrieveOptions) {\n const response = await this.client.dataModels.retrieve(ids, options);\n return {\n items: response.items.map((item) => ({\n createdTime: item.createdTime,\n views: (item.views ?? []) as ViewDefinition[],\n })),\n };\n }\n\n async retrieveViews(\n ids: Array<{ space: string; externalId: string; version: string }>,\n ): Promise<{ items: ViewDefinition[] }> {\n const cleanIds = ids.map(({ space, externalId, version }) => ({ space, externalId, version }));\n const response = await this.client.views.retrieve(cleanIds);\n return { items: response.items as ViewDefinition[] };\n }\n\n async queryInstances(request: InstancesQueryRequest): Promise<InstancesQueryResponse> {\n const response = await this.client.instances.query(\n request as Parameters<CogniteClient[\"instances\"][\"query\"]>[0],\n );\n return {\n items: response.items as unknown as InstancesQueryResponse[\"items\"],\n nextCursor: response.nextCursor,\n };\n }\n\n async searchInstances(request: InstancesSearchRequest): Promise<InstancesSearchResponse> {\n const search = (\n this.client.instances as unknown as {\n search: (request: InstancesSearchRequest) => Promise<{ items: unknown[] }>;\n }\n ).search;\n const response = await search(request);\n return {\n items: response.items as unknown as InstancesSearchResponse[\"items\"],\n };\n }\n\n async aggregateInstances(\n request: InstancesAggregateRequest,\n ): Promise<InstancesAggregateResponse> {\n const response = await this.client.instances.aggregate(\n request as Parameters<CogniteClient[\"instances\"][\"aggregate\"]>[0],\n );\n return {\n items: response.items as unknown as InstancesAggregateResponse[\"items\"],\n };\n }\n\n async applyInstances(request: InstancesApplyRequest): Promise<InstancesApplyResponse> {\n const apply = (\n this.client.instances as unknown as {\n apply: (request: InstancesApplyRequest) => Promise<{ items: unknown[] }>;\n }\n ).apply;\n const response = await apply(request);\n return {\n items: response.items as unknown as InstancesApplyResponse[\"items\"],\n };\n }\n\n async retrieveDatapoints(\n options: CogniteDatapointRetrieveOptions,\n ): Promise<{ items: CogniteDatapointResultItem[] }> {\n const { items, ...rest } = options;\n const sdkItems = items.map(({ space, externalId, ...itemRest }) => ({\n ...itemRest,\n instanceId: { space, externalId },\n }));\n const response = await this.client.datapoints.retrieve({\n ...rest,\n items: sdkItems,\n } as Parameters<typeof this.client.datapoints.retrieve>[0]);\n return { items: (response as unknown as CogniteDatapointResponse[]).map(mapDatapointResult) };\n }\n\n async retrieveLatestDatapoints(\n items: CogniteDatapointLatestItem[],\n options?: { ignoreUnknownIds?: boolean },\n ): Promise<{ items: CogniteDatapointResultItem[] }> {\n const sdkItems = items.map(({ space, externalId, before }) => ({\n instanceId: { space, externalId },\n ...(before !== undefined ? { before } : {}),\n }));\n const response = await this.client.datapoints.retrieveLatest(\n sdkItems as Parameters<typeof this.client.datapoints.retrieveLatest>[0],\n options,\n );\n return { items: (response as unknown as CogniteDatapointResponse[]).map(mapDatapointResult) };\n }\n\n async insertDatapoints(items: CogniteDatapointInsertItem[]): Promise<void> {\n const sdkItems = items.map(({ space, externalId, datapoints }) => ({\n instanceId: { space, externalId },\n datapoints,\n }));\n await this.client.datapoints.insert(\n sdkItems as Parameters<typeof this.client.datapoints.insert>[0],\n );\n }\n\n async deleteDatapoints(items: CogniteDatapointDeleteItem[]): Promise<void> {\n const sdkItems = items.map(({ space, externalId, inclusiveBegin, exclusiveEnd }) => ({\n instanceId: { space, externalId },\n inclusiveBegin,\n ...(exclusiveEnd !== undefined ? { exclusiveEnd } : {}),\n }));\n await this.client.datapoints.delete(\n sdkItems as Parameters<typeof this.client.datapoints.delete>[0],\n );\n }\n\n async uploadFile(\n fileInfo: CogniteFileUploadInfo,\n content?: unknown,\n ): Promise<CogniteFileUploadResult> {\n const { instanceId, ...rest } = fileInfo;\n const response = await this.client.files.upload(\n { ...rest, instanceId } as Parameters<typeof this.client.files.upload>[0],\n content as Parameters<typeof this.client.files.upload>[1],\n false,\n content !== undefined,\n );\n return mapFileResult(response as SdkFileInfo);\n }\n\n async getFileDownloadUrls(\n ids: Array<{ instanceId: { space: string; externalId: string } }>,\n ): Promise<CogniteFileDownloadUrl[]> {\n const response = await this.client.files.getDownloadUrls(\n ids as Parameters<typeof this.client.files.getDownloadUrls>[0],\n );\n return (\n response as Array<{\n instanceId?: { space?: string; externalId?: string };\n downloadUrl: string;\n }>\n ).map((item) => ({\n ...(item.instanceId !== undefined ? { instanceId: item.instanceId } : {}),\n downloadUrl: item.downloadUrl,\n }));\n }\n}\n\ntype SdkFileInfo = {\n instanceId?: { space?: string; externalId?: string };\n name: string;\n uploaded: boolean;\n uploadedTime?: Date;\n createdTime: Date;\n lastUpdatedTime: Date;\n mimeType?: string;\n directory?: string;\n source?: string;\n uploadUrl?: string;\n};\n\nfunction mapFileResult(item: SdkFileInfo): CogniteFileUploadResult {\n return {\n ...(item.instanceId !== undefined ? { instanceId: item.instanceId } : {}),\n name: item.name,\n uploaded: item.uploaded,\n createdTime: item.createdTime,\n lastUpdatedTime: item.lastUpdatedTime,\n ...(item.uploadedTime !== undefined ? { uploadedTime: item.uploadedTime } : {}),\n ...(item.mimeType !== undefined ? { mimeType: item.mimeType } : {}),\n ...(item.directory !== undefined ? { directory: item.directory } : {}),\n ...(item.source !== undefined ? { source: item.source } : {}),\n ...(item.uploadUrl !== undefined ? { uploadUrl: item.uploadUrl } : {}),\n };\n}\n\nfunction mapDatapointResult(item: CogniteDatapointResponse): CogniteDatapointResultItem {\n return {\n ...(item.instanceId?.space !== undefined ? { space: item.instanceId.space } : {}),\n ...(item.instanceId?.externalId !== undefined\n ? { externalId: item.instanceId.externalId }\n : {}),\n isString: item.isString ?? false,\n ...(item.unit !== undefined ? { unit: item.unit } : {}),\n datapoints: item.datapoints ?? [],\n ...(item.nextCursor !== undefined ? { nextCursor: item.nextCursor } : {}),\n };\n}\n","import type {\n CogniteAggregateDatapoint,\n CogniteDatapointResultItem,\n CogniteDatapointRetrieveItem,\n CogniteDatapointRetrieveOptions,\n CogniteNumericDatapoint,\n CognitePort,\n} from \"../cognite\";\nimport type { DatapointAggregate } from \"../types\";\nimport type { CalculatorParameter, DataPoint } from \"./models\";\n\ntype BuiltRequests = {\n requests: CogniteDatapointRetrieveItem[];\n /** For each parameter (by index), the index of the request that serves it. */\n indexMapping: number[];\n};\n\n/**\n * Retrieves and de-duplicates the datapoints needed by a set of calculator\n * parameters. Parameters that share a time series (and granularity, for\n * aggregates) are folded into a single Cognite request; aggregate requests\n * accumulate every aggregate their parameters ask for.\n */\nexport class DatapointsRetriever {\n constructor(private readonly cognite: CognitePort) {}\n\n async retrieveDatapoints(\n parameters: CalculatorParameter[],\n start: Date,\n end: Date,\n ): Promise<DataPoint[][]> {\n const { requests, indexMapping } = this.buildRequests(parameters);\n\n if (requests.length === 0) {\n return parameters.map(() => []);\n }\n\n const options: CogniteDatapointRetrieveOptions = { items: requests, start, end };\n const raw = await this.cognite.retrieveDatapoints(options);\n\n return parameters.map((parameter, index) => {\n const requestIndex = indexMapping[index] as number;\n const item = raw.items[requestIndex];\n if (item === undefined) {\n throw new Error(`missing datapoints response for parameter '${parameter.alias}'`);\n }\n return parseDatapoints(item, parameter);\n });\n }\n\n private buildRequests(parameters: CalculatorParameter[]): BuiltRequests {\n const rawRequestIndex = new Map<string, number>();\n const aggregateRequestIndex = new Map<string, number>();\n const requests: CogniteDatapointRetrieveItem[] = [];\n const indexMapping: number[] = new Array(parameters.length);\n\n parameters.forEach((parameter, index) => {\n const { space, externalId } = parameter.timeSeries;\n const tsKey = `${space}:${externalId}`;\n\n if (parameter.aggregateType === undefined) {\n let requestIndex = rawRequestIndex.get(tsKey);\n if (requestIndex === undefined) {\n requestIndex = requests.length;\n rawRequestIndex.set(tsKey, requestIndex);\n requests.push({ space, externalId });\n }\n indexMapping[index] = requestIndex;\n return;\n }\n\n if (parameter.granularity === undefined) {\n throw new Error(\n `Missing granularity for '${parameter.alias}' with aggregate '${parameter.aggregateType}'`,\n );\n }\n\n const aggregateKey = `${tsKey}|${parameter.granularity}`;\n let requestIndex = aggregateRequestIndex.get(aggregateKey);\n if (requestIndex === undefined) {\n requestIndex = requests.length;\n aggregateRequestIndex.set(aggregateKey, requestIndex);\n requests.push({\n space,\n externalId,\n aggregates: [parameter.aggregateType],\n granularity: parameter.granularity,\n });\n } else {\n const entry = requests[requestIndex] as CogniteDatapointRetrieveItem;\n const aggregates = entry.aggregates as DatapointAggregate[];\n if (!aggregates.includes(parameter.aggregateType)) {\n aggregates.push(parameter.aggregateType);\n }\n }\n indexMapping[index] = requestIndex;\n });\n\n return { requests, indexMapping };\n }\n}\n\nfunction parseDatapoints(\n item: CogniteDatapointResultItem,\n parameter: CalculatorParameter,\n): DataPoint[] {\n if (item.isString) {\n throw new Error(\"expected numeric datapoints, got string\");\n }\n\n const result: DataPoint[] = [];\n for (const datapoint of item.datapoints) {\n const value = readValue(datapoint, parameter.aggregateType);\n if (value === undefined || value === null) {\n continue;\n }\n result.push({ timestamp: datapoint.timestamp, value });\n }\n return result;\n}\n\nfunction readValue(\n datapoint: CogniteNumericDatapoint,\n aggregateType: DatapointAggregate | undefined,\n): number | undefined {\n if (aggregateType === undefined) {\n return (datapoint as { value?: number }).value;\n }\n return (datapoint as CogniteAggregateDatapoint)[aggregateType];\n}\n","/** Binary arithmetic operators supported by the formula grammar. */\nexport type BinaryOp = \"add\" | \"sub\" | \"mul\" | \"div\" | \"pow\" | \"mod\";\n\n/** Unary arithmetic operators supported by the formula grammar. */\nexport type UnaryOp = \"pos\" | \"neg\";\n\n/** Comparison operators supported by the formula grammar. */\nexport type CompareOp = \"eq\" | \"ne\" | \"lt\" | \"le\" | \"gt\" | \"ge\";\n\n/** Boolean operators supported by the formula grammar. */\nexport type BoolOpKind = \"and\" | \"or\";\n\nexport type NameNode = { readonly kind: \"name\"; readonly id: string };\nexport type ConstantNode = { readonly kind: \"constant\"; readonly value: number };\nexport type BinOpNode = {\n readonly kind: \"binop\";\n readonly op: BinaryOp;\n readonly left: ExprNode;\n readonly right: ExprNode;\n};\nexport type UnaryOpNode = {\n readonly kind: \"unaryop\";\n readonly op: UnaryOp;\n readonly operand: ExprNode;\n};\nexport type CompareNode = {\n readonly kind: \"compare\";\n readonly left: ExprNode;\n readonly ops: readonly CompareOp[];\n readonly comparators: readonly ExprNode[];\n};\nexport type BoolOpNode = {\n readonly kind: \"boolop\";\n readonly op: BoolOpKind;\n readonly values: readonly ExprNode[];\n};\nexport type IfExpNode = {\n readonly kind: \"ifexp\";\n readonly test: ExprNode;\n readonly body: ExprNode;\n readonly orelse: ExprNode;\n};\n\n/** Any node of a compiled formula expression tree. */\nexport type ExprNode =\n | NameNode\n | ConstantNode\n | BinOpNode\n | UnaryOpNode\n | CompareNode\n | BoolOpNode\n | IfExpNode;\n\n/** Nodes that make an expression require element-by-element evaluation. */\nexport type ConditionalNode = CompareNode | BoolOpNode | IfExpNode;\n\nexport function isConditionalNode(node: ExprNode): node is ConditionalNode {\n return node.kind === \"compare\" || node.kind === \"boolop\" || node.kind === \"ifexp\";\n}\n","/**\n * Structural formula problems (bad syntax, unknown identifiers, missing\n * parameters, mismatched lengths, non-numeric values) are reported as a\n * subclass of {@link FormulaError}.\n *\n * Value-dependent arithmetic failures (division/modulo by zero, overflowing\n * exponentiation) are intentionally *not* {@link FormulaError}s: they mirror\n * the native errors raised by the Python implementation and extend\n * {@link ArithmeticError} instead.\n */\n\n/** Base error for every structural formula problem. */\nexport class FormulaError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"FormulaError\";\n }\n}\n\n/** Raised when formula syntax or operations are not supported. */\nexport class InvalidFormulaError extends FormulaError {\n constructor(message: string) {\n super(message);\n this.name = \"InvalidFormulaError\";\n }\n}\n\n/** Raised when a formula references parameters that were not provided. */\nexport class MissingParameterError extends FormulaError {\n readonly missing: readonly string[];\n\n constructor(missing: string[]) {\n super(`missing formula parameter(s): ${missing.join(\", \")}`);\n this.name = \"MissingParameterError\";\n this.missing = [...missing];\n }\n}\n\n/** Raised when a parameter value is not a valid numeric sequence. */\nexport class ParameterError extends FormulaError {\n constructor(message: string) {\n super(message);\n this.name = \"ParameterError\";\n }\n}\n\n/** Raised when referenced parameters do not all share the same length. */\nexport class ParameterLengthError extends ParameterError {\n readonly lengths: Readonly<Record<string, number>>;\n\n constructor(lengths: Record<string, number>) {\n const detail = Object.entries(lengths)\n .map(([name, length]) => `'${name}' has ${length}`)\n .join(\", \");\n super(`parameter length mismatch: ${detail}`);\n this.name = \"ParameterLengthError\";\n this.lengths = { ...lengths };\n }\n}\n\n/**\n * Base for value-dependent arithmetic failures. Mirrors Python's built-in\n * ``ArithmeticError`` and is deliberately separate from {@link FormulaError}.\n */\nexport class ArithmeticError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"ArithmeticError\";\n }\n}\n\n/** Raised when a division or modulo has a zero divisor. */\nexport class ZeroDivisionError extends ArithmeticError {\n constructor(message: string) {\n super(message);\n this.name = \"ZeroDivisionError\";\n }\n}\n\n/** Raised when an exponentiation overflows the floating-point range. */\nexport class OverflowError extends ArithmeticError {\n constructor(message: string) {\n super(message);\n this.name = \"OverflowError\";\n }\n}\n","import type { BinaryOp, BoolOpKind, CompareOp, ExprNode, UnaryOp } from \"./ast\";\nimport { isConditionalNode } from \"./ast\";\nimport { InvalidFormulaError } from \"./exceptions\";\n\nconst PLACEHOLDER_RE = /\\{([A-Za-z_][A-Za-z0-9_]*)\\}/g;\nconst UNRESOLVED_BRACE_RE = /[{}]/;\nconst SAFE_NAME_PREFIX = \"__formula_expression_param_\";\nconst CACHE_MAX_SIZE = 1024;\n\n/** A parsed, validated formula ready to be evaluated over parameter series. */\nexport type CompiledFormula = {\n /** The whitespace-normalized formula text. */\n readonly raw: string;\n /** The formula text after placeholders were replaced with safe identifiers. */\n readonly expression: string;\n /** The validated expression tree. */\n readonly tree: ExprNode;\n /** Original parameter names in first-appearance order. */\n readonly variables: readonly string[];\n /** Mapping of original parameter name to its safe identifier. */\n readonly nameMap: ReadonlyMap<string, string>;\n /** Whether the formula needs element-by-element (short-circuiting) evaluation. */\n readonly hasConditional: boolean;\n};\n\nconst cache = new Map<string, CompiledFormula>();\n\n/**\n * Normalize the formula text, then compile it (memoized by normalized text).\n *\n * The public entry point mirrors the Python ``compile_formula`` helper: it\n * exposes {@link clearCache} so callers can inspect or reset the compilation\n * cache.\n */\nexport function compileFormula(formula: string): CompiledFormula {\n const normalized = normalizeFormulaText(formula);\n\n const cached = cache.get(normalized);\n if (cached !== undefined) {\n return cached;\n }\n\n const compiled = compileNormalized(normalized);\n\n if (cache.size >= CACHE_MAX_SIZE) {\n const oldest = cache.keys().next().value;\n if (oldest !== undefined) {\n cache.delete(oldest);\n }\n }\n cache.set(normalized, compiled);\n return compiled;\n}\n\n/** Clear the memoized formula compilation cache. */\nexport function clearCache(): void {\n cache.clear();\n}\n\nfunction normalizeFormulaText(formula: string): string {\n if (typeof formula !== \"string\") {\n throw new TypeError(\"formula must be a string\");\n }\n const trimmed = formula.trim();\n if (trimmed === \"\") {\n return \"\";\n }\n return trimmed.split(/\\s+/).join(\" \");\n}\n\nfunction compileNormalized(raw: string): CompiledFormula {\n if (raw === \"\") {\n throw new InvalidFormulaError(\"formula must not be empty\");\n }\n\n const variables: string[] = [];\n const nameMap = new Map<string, string>();\n const expression = replacePlaceholders(raw, variables, nameMap);\n\n if (variables.length === 0) {\n throw new InvalidFormulaError(\"formula must reference at least one parameter\");\n }\n\n if (UNRESOLVED_BRACE_RE.test(expression)) {\n throw new InvalidFormulaError(\"formula contains invalid placeholder syntax\");\n }\n\n const tree = parse(expression);\n validateTree(tree, new Set(nameMap.values()));\n const hasConditional = treeHasConditional(tree);\n\n return { raw, expression, tree, variables, nameMap, hasConditional };\n}\n\nfunction replacePlaceholders(\n formula: string,\n variables: string[],\n nameMap: Map<string, string>,\n): string {\n return formula.replace(PLACEHOLDER_RE, (_match, name: string) => {\n let safe = nameMap.get(name);\n if (safe === undefined) {\n safe = `${SAFE_NAME_PREFIX}${nameMap.size}`;\n nameMap.set(name, safe);\n variables.push(name);\n }\n return safe;\n });\n}\n\nfunction validateTree(tree: ExprNode, allowedNames: ReadonlySet<string>): void {\n walk(tree, (node) => {\n if (node.kind === \"name\" && !allowedNames.has(node.id)) {\n throw new InvalidFormulaError(`unknown formula identifier: ${node.id}`);\n }\n });\n}\n\nfunction treeHasConditional(tree: ExprNode): boolean {\n let found = false;\n walk(tree, (node) => {\n if (isConditionalNode(node)) {\n found = true;\n }\n });\n return found;\n}\n\nfunction walk(node: ExprNode, visit: (node: ExprNode) => void): void {\n visit(node);\n switch (node.kind) {\n case \"binop\":\n walk(node.left, visit);\n walk(node.right, visit);\n break;\n case \"unaryop\":\n walk(node.operand, visit);\n break;\n case \"compare\":\n walk(node.left, visit);\n for (const comparator of node.comparators) {\n walk(comparator, visit);\n }\n break;\n case \"boolop\":\n for (const value of node.values) {\n walk(value, visit);\n }\n break;\n case \"ifexp\":\n walk(node.test, visit);\n walk(node.body, visit);\n walk(node.orelse, visit);\n break;\n default:\n break;\n }\n}\n\n// ─── Tokenizer ─────────────────────────────────────────────────────────────\n\ntype Token =\n | { readonly type: \"number\"; readonly value: number }\n | { readonly type: \"name\"; readonly value: string }\n | { readonly type: \"op\"; readonly value: string };\n\nconst NUMBER_RE = /(?:\\d+\\.?\\d*|\\.\\d+)(?:[eE][+-]?\\d+)?/y;\nconst IDENT_RE = /[A-Za-z_][A-Za-z0-9_]*/y;\nconst TWO_CHAR_OPS = new Set([\"**\", \"==\", \"!=\", \"<=\", \">=\"]);\nconst ONE_CHAR_OPS = new Set([\"+\", \"-\", \"*\", \"/\", \"%\", \"(\", \")\", \"<\", \">\"]);\n\nfunction tokenize(expression: string): Token[] {\n const tokens: Token[] = [];\n let index = 0;\n\n while (index < expression.length) {\n const char = expression[index];\n\n if (char === \" \") {\n index += 1;\n continue;\n }\n\n if (isDigit(char) || (char === \".\" && isDigit(expression[index + 1]))) {\n NUMBER_RE.lastIndex = index;\n const match = NUMBER_RE.exec(expression);\n if (match === null) {\n throw new InvalidFormulaError(\"invalid formula syntax: malformed number\");\n }\n tokens.push({ type: \"number\", value: Number(match[0]) });\n index = NUMBER_RE.lastIndex;\n continue;\n }\n\n if (isIdentStart(char)) {\n IDENT_RE.lastIndex = index;\n const match = IDENT_RE.exec(expression);\n // isIdentStart guarantees a match here.\n const value = (match as RegExpExecArray)[0];\n tokens.push({ type: \"name\", value });\n index = IDENT_RE.lastIndex;\n continue;\n }\n\n const twoChar = expression.slice(index, index + 2);\n if (TWO_CHAR_OPS.has(twoChar)) {\n tokens.push({ type: \"op\", value: twoChar });\n index += 2;\n continue;\n }\n\n if (char !== undefined && ONE_CHAR_OPS.has(char)) {\n tokens.push({ type: \"op\", value: char });\n index += 1;\n continue;\n }\n\n throw new InvalidFormulaError(`invalid formula syntax: unexpected character '${char}'`);\n }\n\n return tokens;\n}\n\nfunction isDigit(char: string | undefined): boolean {\n return char !== undefined && char >= \"0\" && char <= \"9\";\n}\n\nfunction isIdentStart(char: string | undefined): boolean {\n if (char === undefined) {\n return false;\n }\n return char === \"_\" || (char >= \"a\" && char <= \"z\") || (char >= \"A\" && char <= \"Z\");\n}\n\n// ─── Parser ────────────────────────────────────────────────────────────────\n\nconst KEYWORDS = new Set([\"and\", \"or\", \"if\", \"else\"]);\nconst CONSTANT_KEYWORDS = new Set([\"True\", \"False\", \"None\"]);\n\nconst COMPARE_OPS: Record<string, CompareOp> = {\n \"==\": \"eq\",\n \"!=\": \"ne\",\n \"<\": \"lt\",\n \"<=\": \"le\",\n \">\": \"gt\",\n \">=\": \"ge\",\n};\n\n/** Parse a placeholder-substituted expression into a validated tree. */\nfunction parse(expression: string): ExprNode {\n const tokens = tokenize(expression);\n const parser = new Parser(tokens);\n const tree = parser.parseExpression();\n parser.expectEnd();\n return tree;\n}\n\nclass Parser {\n private position = 0;\n\n constructor(private readonly tokens: readonly Token[]) {}\n\n parseExpression(): ExprNode {\n return this.parseConditional();\n }\n\n expectEnd(): void {\n if (this.position < this.tokens.length) {\n throw new InvalidFormulaError(\"invalid formula syntax: unexpected trailing tokens\");\n }\n }\n\n private parseConditional(): ExprNode {\n const body = this.parseOr();\n if (this.matchKeyword(\"if\")) {\n const test = this.parseOr();\n this.expectKeyword(\"else\");\n const orelse = this.parseConditional();\n return { kind: \"ifexp\", test, body, orelse };\n }\n return body;\n }\n\n private parseOr(): ExprNode {\n const values = [this.parseAnd()];\n while (this.matchKeyword(\"or\")) {\n values.push(this.parseAnd());\n }\n return values.length === 1 ? (values[0] as ExprNode) : { kind: \"boolop\", op: \"or\", values };\n }\n\n private parseAnd(): ExprNode {\n const values = [this.parseComparison()];\n while (this.matchKeyword(\"and\")) {\n values.push(this.parseComparison());\n }\n const op: BoolOpKind = \"and\";\n return values.length === 1 ? (values[0] as ExprNode) : { kind: \"boolop\", op, values };\n }\n\n private parseComparison(): ExprNode {\n const left = this.parseAdditive();\n const ops: CompareOp[] = [];\n const comparators: ExprNode[] = [];\n while (true) {\n const op = this.peekCompareOp();\n if (op === undefined) {\n break;\n }\n this.position += 1;\n ops.push(op);\n comparators.push(this.parseAdditive());\n }\n return ops.length === 0 ? left : { kind: \"compare\", left, ops, comparators };\n }\n\n private parseAdditive(): ExprNode {\n let node = this.parseMultiplicative();\n while (true) {\n const op = this.peekOp();\n if (op === \"+\" || op === \"-\") {\n this.position += 1;\n const right = this.parseMultiplicative();\n node = { kind: \"binop\", op: op === \"+\" ? \"add\" : \"sub\", left: node, right };\n continue;\n }\n break;\n }\n return node;\n }\n\n private parseMultiplicative(): ExprNode {\n let node = this.parseUnary();\n while (true) {\n const op = this.peekOp();\n if (op === \"*\" || op === \"/\" || op === \"%\") {\n this.position += 1;\n const right = this.parseUnary();\n const kind: BinaryOp = op === \"*\" ? \"mul\" : op === \"/\" ? \"div\" : \"mod\";\n node = { kind: \"binop\", op: kind, left: node, right };\n continue;\n }\n break;\n }\n return node;\n }\n\n private parseUnary(): ExprNode {\n const op = this.peekOp();\n if (op === \"+\" || op === \"-\") {\n this.position += 1;\n const operand = this.parseUnary();\n const kind: UnaryOp = op === \"+\" ? \"pos\" : \"neg\";\n return { kind: \"unaryop\", op: kind, operand };\n }\n return this.parsePower();\n }\n\n private parsePower(): ExprNode {\n const base = this.parseAtom();\n if (this.peekOp() === \"**\") {\n this.position += 1;\n // Right operand is a unary expression so ``2 ** -1`` is accepted and\n // ``**`` remains right-associative.\n const exponent = this.parseUnary();\n return { kind: \"binop\", op: \"pow\", left: base, right: exponent };\n }\n return base;\n }\n\n private parseAtom(): ExprNode {\n const token = this.tokens[this.position];\n if (token === undefined) {\n throw new InvalidFormulaError(\"invalid formula syntax: unexpected end of expression\");\n }\n\n if (token.type === \"number\") {\n this.position += 1;\n return { kind: \"constant\", value: token.value };\n }\n\n if (token.type === \"name\") {\n if (CONSTANT_KEYWORDS.has(token.value)) {\n throw new InvalidFormulaError(\"only numeric constants are supported\");\n }\n if (KEYWORDS.has(token.value)) {\n throw new InvalidFormulaError(\n `invalid formula syntax: unexpected keyword '${token.value}'`,\n );\n }\n this.position += 1;\n return { kind: \"name\", id: token.value };\n }\n\n if (token.value === \"(\") {\n this.position += 1;\n const inner = this.parseExpression();\n this.expectOp(\")\");\n return inner;\n }\n\n throw new InvalidFormulaError(`invalid formula syntax: unexpected token '${token.value}'`);\n }\n\n private peekOp(): string | undefined {\n const token = this.tokens[this.position];\n return token !== undefined && token.type === \"op\" ? token.value : undefined;\n }\n\n private peekCompareOp(): CompareOp | undefined {\n const op = this.peekOp();\n return op !== undefined ? COMPARE_OPS[op] : undefined;\n }\n\n private matchKeyword(keyword: string): boolean {\n const token = this.tokens[this.position];\n if (token !== undefined && token.type === \"name\" && token.value === keyword) {\n this.position += 1;\n return true;\n }\n return false;\n }\n\n private expectKeyword(keyword: string): void {\n if (!this.matchKeyword(keyword)) {\n throw new InvalidFormulaError(`invalid formula syntax: expected '${keyword}'`);\n }\n }\n\n private expectOp(op: string): void {\n if (this.peekOp() !== op) {\n throw new InvalidFormulaError(`invalid formula syntax: expected '${op}'`);\n }\n this.position += 1;\n }\n}\n","import type { BinaryOp, CompareOp, ExprNode, UnaryOp } from \"./ast\";\nimport { OverflowError, ZeroDivisionError } from \"./exceptions\";\n\n/** Environment mapping safe identifiers to their aligned numeric series. */\nexport type Environment = Record<string, readonly number[]>;\n\n/**\n * A value is either a scalar (broadcast across the whole series) or an\n * already-materialized per-element sequence. Keeping constants as scalars\n * avoids allocating length-N arrays for them and skips the element-wise zip\n * whenever one side of an operation is constant.\n */\ntype Value = number | readonly number[];\n\nconst UNARY_OPS: Record<UnaryOp, (value: number) => number> = {\n pos: (value) => value,\n neg: (value) => -value,\n};\n\nconst BINARY_OPS: Record<BinaryOp, (left: number, right: number) => number> = {\n add: (left, right) => left + right,\n sub: (left, right) => left - right,\n mul: (left, right) => left * right,\n div: (left, right) => {\n if (right === 0) {\n throw new ZeroDivisionError(\"float division by zero\");\n }\n return left / right;\n },\n mod: pythonMod,\n pow: safePow,\n};\n\nconst COMPARE_OPS: Record<CompareOp, (left: number, right: number) => boolean> = {\n eq: (left, right) => left === right,\n ne: (left, right) => left !== right,\n lt: (left, right) => left < right,\n le: (left, right) => left <= right,\n gt: (left, right) => left > right,\n ge: (left, right) => left >= right,\n};\n\n/** Python's ``%`` follows the sign of the divisor, unlike JavaScript's ``%``. */\nfunction pythonMod(left: number, right: number): number {\n if (right === 0) {\n throw new ZeroDivisionError(\"float modulo\");\n }\n return left - Math.floor(left / right) * right;\n}\n\n/**\n * Exponentiate in float space. Mirrors the Python implementation's error\n * semantics: raising ``0`` to a negative power and overflowing results are\n * surfaced as arithmetic errors rather than silently producing infinities.\n */\nfunction safePow(base: number, exponent: number): number {\n if (base === 0 && exponent < 0) {\n throw new ZeroDivisionError(\"0.0 cannot be raised to a negative power\");\n }\n const result = base ** exponent;\n if (!Number.isFinite(result) && Number.isFinite(base) && Number.isFinite(exponent)) {\n throw new OverflowError(\"(34, 'Numerical result out of range')\");\n }\n return result;\n}\n\n/** Python truthiness for floats: only exactly ``0`` is falsy (``NaN`` is truthy). */\nfunction isTruthy(value: number): boolean {\n return value !== 0;\n}\n\nexport function evaluateTree(\n tree: ExprNode,\n environment: Environment,\n length: number,\n hasConditional: boolean,\n): number[] {\n if (hasConditional) {\n // ``if``/``else`` branches (and their guards) must only run for the\n // elements that select them, so evaluate index-by-index.\n const result: number[] = new Array(length);\n for (let index = 0; index < length; index += 1) {\n result[index] = evaluateNodeAt(tree, environment, index);\n }\n return result;\n }\n\n const value = evaluateNode(tree, environment);\n if (Array.isArray(value)) {\n return value as number[];\n }\n // The compiler guarantees at least one parameter, so a scalar result only\n // happens for degenerate trees; broadcast it to the series length.\n return new Array(length).fill(value as number);\n}\n\nfunction evaluateNode(node: ExprNode, environment: Environment): Value {\n switch (node.kind) {\n case \"name\": {\n const series = environment[node.id];\n // The runtime guarantees every referenced name is present.\n return series as readonly number[];\n }\n case \"constant\":\n return node.value;\n case \"binop\": {\n const left = evaluateNode(node.left, environment);\n const right = evaluateNode(node.right, environment);\n return applyBinary(BINARY_OPS[node.op], left, right);\n }\n case \"unaryop\": {\n const operand = evaluateNode(node.operand, environment);\n const op = UNARY_OPS[node.op];\n return Array.isArray(operand) ? operand.map(op) : op(operand as number);\n }\n default:\n // Conditional nodes never reach the vectorized path.\n throw new TypeError(`unsupported formula element: ${node.kind}`);\n }\n}\n\nfunction applyBinary(\n op: (left: number, right: number) => number,\n left: Value,\n right: Value,\n): Value {\n if (Array.isArray(left)) {\n if (Array.isArray(right)) {\n const result: number[] = new Array(left.length);\n for (let index = 0; index < left.length; index += 1) {\n result[index] = op(left[index] as number, right[index] as number);\n }\n return result;\n }\n const scalar = right as number;\n return left.map((value) => op(value, scalar));\n }\n const scalarLeft = left as number;\n if (Array.isArray(right)) {\n return right.map((value) => op(scalarLeft, value));\n }\n return op(scalarLeft, right as number);\n}\n\nfunction evaluateNodeAt(node: ExprNode, environment: Environment, index: number): number {\n switch (node.kind) {\n case \"name\": {\n const series = environment[node.id] as readonly number[];\n return series[index] as number;\n }\n case \"constant\":\n return node.value;\n case \"binop\": {\n const left = evaluateNodeAt(node.left, environment, index);\n const right = evaluateNodeAt(node.right, environment, index);\n return BINARY_OPS[node.op](left, right);\n }\n case \"unaryop\":\n return UNARY_OPS[node.op](evaluateNodeAt(node.operand, environment, index));\n case \"compare\": {\n let left = evaluateNodeAt(node.left, environment, index);\n for (let i = 0; i < node.ops.length; i += 1) {\n const right = evaluateNodeAt(node.comparators[i] as ExprNode, environment, index);\n if (!COMPARE_OPS[node.ops[i] as CompareOp](left, right)) {\n return 0;\n }\n left = right;\n }\n return 1;\n }\n case \"boolop\": {\n if (node.op === \"and\") {\n for (const value of node.values) {\n if (!isTruthy(evaluateNodeAt(value, environment, index))) {\n return 0;\n }\n }\n return 1;\n }\n for (const value of node.values) {\n if (isTruthy(evaluateNodeAt(value, environment, index))) {\n return 1;\n }\n }\n return 0;\n }\n case \"ifexp\": {\n const test = evaluateNodeAt(node.test, environment, index);\n const branch = isTruthy(test) ? node.body : node.orelse;\n return evaluateNodeAt(branch, environment, index);\n }\n default:\n throw new TypeError(\"unsupported formula element\");\n }\n}\n","import type { CompiledFormula } from \"./compiler\";\nimport type { Environment } from \"./evaluator\";\nimport { evaluateTree } from \"./evaluator\";\nimport { MissingParameterError, ParameterError, ParameterLengthError } from \"./exceptions\";\nimport type { EvaluationResult, Parameters } from \"./types\";\n\nexport function evaluateCompiled(\n formula: CompiledFormula,\n parameters: Parameters,\n): EvaluationResult {\n const missing = formula.variables.filter((name) => !Object.hasOwn(parameters, name));\n if (missing.length > 0) {\n throw new MissingParameterError(missing);\n }\n\n const environment: Environment = {};\n const lengthsByName: Record<string, number> = {};\n for (const [originalName, safeName] of formula.nameMap) {\n const series = normalizeParameter(originalName, parameters[originalName]);\n environment[safeName] = series;\n lengthsByName[originalName] = series.length;\n }\n\n const lengths = Object.values(lengthsByName);\n if (new Set(lengths).size !== 1) {\n throw new ParameterLengthError(lengthsByName);\n }\n\n const length = lengths[0] as number;\n if (length === 0) {\n // Every referenced parameter resolved to an empty series, so there is\n // nothing to compute over: return an empty result rather than erroring.\n return [];\n }\n\n return evaluateTree(formula.tree, environment, length, formula.hasConditional);\n}\n\nfunction normalizeParameter(name: string, value: unknown): number[] {\n if (!Array.isArray(value)) {\n throw new ParameterError(`parameter '${name}' must be a numeric sequence`);\n }\n\n const normalized: number[] = new Array(value.length);\n for (let index = 0; index < value.length; index += 1) {\n const item = value[index];\n if (typeof item !== \"number\") {\n throw new ParameterError(`parameter '${name}' must be a numeric sequence`);\n }\n normalized[index] = item;\n }\n return normalized;\n}\n","import { compileFormula } from \"./compiler\";\nimport { evaluateCompiled } from \"./runtime\";\nimport type { EvaluationResult, Parameters } from \"./types\";\n\n/**\n * Evaluate a formula over aligned numeric parameter sequences.\n *\n * Placeholders are written as ``{name}`` and each resolves to the matching\n * entry in `parameters`. The following operators are supported:\n *\n * - arithmetic: ``+`` ``-`` ``*`` ``/`` ``**`` ``%`` (binary) and ``+`` ``-`` (unary)\n * - comparisons: ``==`` ``!=`` ``<`` ``<=`` ``>`` ``>=``\n * - boolean: ``and`` ``or``\n * - conditional: ``{A} / {B} if {B} != 0 else 0``\n *\n * Structural problems (bad syntax, unknown identifiers, missing parameters,\n * mismatched lengths, non-numeric values) throw a subclass of `FormulaError`.\n *\n * When every referenced parameter is an empty sequence the result is an empty\n * array — there is nothing to compute over, so this is treated as a valid\n * (empty) result rather than an error. A *mix* of empty and non-empty\n * parameters is still a length mismatch and throws `ParameterLengthError`.\n *\n * Arithmetic failures that depend on the parameter *values* are surfaced as\n * arithmetic errors (subclasses of `ArithmeticError`) rather than\n * `FormulaError`: dividing or taking a modulo by zero throws\n * `ZeroDivisionError` and an overflowing exponentiation throws `OverflowError`.\n *\n * Conditional expressions, comparisons and boolean operators are evaluated\n * element-by-element: for each series element only the selected branch is\n * evaluated, so a division-by-zero (or other value-dependent failure) in the\n * branch that is *not* selected for a given element never throws.\n */\nexport function evaluate(formula: string, parameters: Parameters = {}): EvaluationResult {\n return evaluateCompiled(compileFormula(formula), parameters);\n}\n","import type { CogniteClient } from \"@cognite/sdk\";\nimport { type CognitePort, createCogniteAdapter } from \"../cognite\";\nimport { DatapointsRetriever } from \"./datapoints-retrieval\";\nimport { compileFormula, evaluate } from \"./formula-expression\";\nimport type { CalculationResult, CalculatorQuery, DataPoint } from \"./models\";\n\n/**\n * Evaluates formula-based calculations over Cognite time series datapoints.\n *\n * Each {@link CalculatorQuery} pairs a formula with the parameters its\n * placeholders resolve to. The calculator fetches the required datapoints\n * (de-duplicating shared time series), aligns them by position and evaluates\n * the formula element-by-element.\n */\nexport class Calculator {\n private readonly retriever: DatapointsRetriever;\n\n constructor(cognite: CogniteClient | CognitePort) {\n const port = isCognitePort(cognite) ? cognite : createCogniteAdapter(cognite);\n this.retriever = new DatapointsRetriever(port);\n }\n\n /** Evaluate a single query over the given time range. */\n async calculate(query: CalculatorQuery, start: Date, end: Date): Promise<CalculationResult> {\n const [result] = await this.calculateMultiples([query], start, end);\n // calculateMultiples returns one result per query, so this is always set.\n return result as CalculationResult;\n }\n\n /**\n * Evaluate several queries over the given time range, retrieving every\n * parameter's datapoints in a single de-duplicated round trip.\n */\n async calculateMultiples(\n queries: CalculatorQuery[],\n start: Date,\n end: Date,\n ): Promise<CalculationResult[]> {\n const parameters = queries.flatMap((query) => query.parameters);\n const datapoints = await this.retriever.retrieveDatapoints(parameters, start, end);\n\n const results: CalculationResult[] = [];\n let offset = 0;\n for (const query of queries) {\n const slice = datapoints.slice(offset, offset + query.parameters.length);\n offset += query.parameters.length;\n results.push(calculate(query, slice));\n }\n return results;\n }\n}\n\nfunction calculate(query: CalculatorQuery, datapoints: DataPoint[][]): CalculationResult {\n const valuesMap: Record<string, number[]> = {};\n const seriesByAlias = new Map<string, DataPoint[]>();\n query.parameters.forEach((parameter, index) => {\n const series = datapoints[index] ?? [];\n valuesMap[parameter.alias] = series.map((point) => point.value);\n seriesByAlias.set(parameter.alias, series);\n });\n\n const values = evaluate(query.formula, valuesMap);\n\n // Timestamps must come from a parameter the formula actually references:\n // `evaluate` only guarantees equal lengths across referenced parameters, so\n // an unreferenced parameter's series (e.g. a different granularity or one\n // with data gaps) can have a different length and would misalign results.\n const [firstVariable] = compileFormula(query.formula).variables;\n const timestampSeries = seriesByAlias.get(firstVariable as string) ?? [];\n\n return {\n query,\n datapoints: timestampSeries.map((point, index) => ({\n timestamp: point.timestamp,\n value: values[index] as number,\n })),\n };\n}\n\nfunction isCognitePort(value: CogniteClient | CognitePort): value is CognitePort {\n return typeof (value as CognitePort).retrieveDatapoints === \"function\";\n}\n"]}
@@ -6,12 +6,12 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
7
  var __getProtoOf = Object.getPrototypeOf;
8
8
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __typeError = (msg) => {
10
- throw TypeError(msg);
11
- };
12
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
9
  var __commonJS = (cb, mod) => function __require() {
14
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
+ try {
11
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
12
+ } catch (e) {
13
+ throw mod = 0, e;
14
+ }
15
15
  };
16
16
  var __copyProps = (to, from, except, desc) => {
17
17
  if (from && typeof from === "object" || typeof from === "function") {
@@ -29,12 +29,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
29
29
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
30
30
  mod
31
31
  ));
32
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
33
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
34
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
35
- var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
36
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
37
- var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
38
32
 
39
33
  // node_modules/commander/lib/error.js
40
34
  var require_error = __commonJS({
@@ -3517,12 +3511,10 @@ var require_lib = __commonJS({
3517
3511
  "node_modules/mute-stream/lib/index.js"(exports2, module2) {
3518
3512
  "use strict";
3519
3513
  var Stream = require("stream");
3520
- var _isTTY, _MuteStream_instances, destSrc_fn, proxy_fn;
3521
3514
  var MuteStream2 = class extends Stream {
3515
+ #isTTY = null;
3522
3516
  constructor(opts = {}) {
3523
3517
  super(opts);
3524
- __privateAdd(this, _MuteStream_instances);
3525
- __privateAdd(this, _isTTY, null);
3526
3518
  this.writable = this.readable = true;
3527
3519
  this.muted = false;
3528
3520
  this.on("pipe", this._onpipe);
@@ -3530,21 +3522,38 @@ var require_lib = __commonJS({
3530
3522
  this._prompt = opts.prompt || null;
3531
3523
  this._hadControl = false;
3532
3524
  }
3525
+ #destSrc(key, def) {
3526
+ if (this._dest) {
3527
+ return this._dest[key];
3528
+ }
3529
+ if (this._src) {
3530
+ return this._src[key];
3531
+ }
3532
+ return def;
3533
+ }
3534
+ #proxy(method, ...args) {
3535
+ if (typeof this._dest?.[method] === "function") {
3536
+ this._dest[method](...args);
3537
+ }
3538
+ if (typeof this._src?.[method] === "function") {
3539
+ this._src[method](...args);
3540
+ }
3541
+ }
3533
3542
  get isTTY() {
3534
- if (__privateGet(this, _isTTY) !== null) {
3535
- return __privateGet(this, _isTTY);
3543
+ if (this.#isTTY !== null) {
3544
+ return this.#isTTY;
3536
3545
  }
3537
- return __privateMethod(this, _MuteStream_instances, destSrc_fn).call(this, "isTTY", false);
3546
+ return this.#destSrc("isTTY", false);
3538
3547
  }
3539
3548
  // basically just get replace the getter/setter with a regular value
3540
3549
  set isTTY(val) {
3541
- __privateSet(this, _isTTY, val);
3550
+ this.#isTTY = val;
3542
3551
  }
3543
3552
  get rows() {
3544
- return __privateMethod(this, _MuteStream_instances, destSrc_fn).call(this, "rows");
3553
+ return this.#destSrc("rows");
3545
3554
  }
3546
3555
  get columns() {
3547
- return __privateMethod(this, _MuteStream_instances, destSrc_fn).call(this, "columns");
3556
+ return this.#destSrc("columns");
3548
3557
  }
3549
3558
  mute() {
3550
3559
  this.muted = true;
@@ -3607,32 +3616,13 @@ var require_lib = __commonJS({
3607
3616
  this.emit("end");
3608
3617
  }
3609
3618
  destroy(...args) {
3610
- return __privateMethod(this, _MuteStream_instances, proxy_fn).call(this, "destroy", ...args);
3619
+ return this.#proxy("destroy", ...args);
3611
3620
  }
3612
3621
  destroySoon(...args) {
3613
- return __privateMethod(this, _MuteStream_instances, proxy_fn).call(this, "destroySoon", ...args);
3622
+ return this.#proxy("destroySoon", ...args);
3614
3623
  }
3615
3624
  close(...args) {
3616
- return __privateMethod(this, _MuteStream_instances, proxy_fn).call(this, "close", ...args);
3617
- }
3618
- };
3619
- _isTTY = new WeakMap();
3620
- _MuteStream_instances = new WeakSet();
3621
- destSrc_fn = function(key, def) {
3622
- if (this._dest) {
3623
- return this._dest[key];
3624
- }
3625
- if (this._src) {
3626
- return this._src[key];
3627
- }
3628
- return def;
3629
- };
3630
- proxy_fn = function(method, ...args) {
3631
- if (typeof this._dest?.[method] === "function") {
3632
- this._dest[method](...args);
3633
- }
3634
- if (typeof this._src?.[method] === "function") {
3635
- this._src[method](...args);
3625
+ return this.#proxy("close", ...args);
3636
3626
  }
3637
3627
  };
3638
3628
  module2.exports = MuteStream2;
@@ -214422,37 +214412,25 @@ var isEnterKey = (key) => key.name === "enter" || key.name === "return";
214422
214412
 
214423
214413
  // node_modules/@inquirer/core/dist/lib/errors.js
214424
214414
  var AbortPromptError = class extends Error {
214415
+ name = "AbortPromptError";
214416
+ message = "Prompt was aborted";
214425
214417
  constructor(options) {
214426
214418
  super();
214427
- __publicField(this, "name", "AbortPromptError");
214428
- __publicField(this, "message", "Prompt was aborted");
214429
214419
  this.cause = options?.cause;
214430
214420
  }
214431
214421
  };
214432
214422
  var CancelPromptError = class extends Error {
214433
- constructor() {
214434
- super(...arguments);
214435
- __publicField(this, "name", "CancelPromptError");
214436
- __publicField(this, "message", "Prompt was canceled");
214437
- }
214423
+ name = "CancelPromptError";
214424
+ message = "Prompt was canceled";
214438
214425
  };
214439
214426
  var ExitPromptError = class extends Error {
214440
- constructor() {
214441
- super(...arguments);
214442
- __publicField(this, "name", "ExitPromptError");
214443
- }
214427
+ name = "ExitPromptError";
214444
214428
  };
214445
214429
  var HookError = class extends Error {
214446
- constructor() {
214447
- super(...arguments);
214448
- __publicField(this, "name", "HookError");
214449
- }
214430
+ name = "HookError";
214450
214431
  };
214451
214432
  var ValidationError = class extends Error {
214452
- constructor() {
214453
- super(...arguments);
214454
- __publicField(this, "name", "ValidationError");
214455
- }
214433
+ name = "ValidationError";
214456
214434
  };
214457
214435
 
214458
214436
  // node_modules/@inquirer/core/dist/lib/use-state.js
@@ -215481,17 +215459,17 @@ var kExitEmitter = /* @__PURE__ */ Symbol.for("signal-exit emitter");
215481
215459
  var global2 = globalThis;
215482
215460
  var ObjectDefineProperty = Object.defineProperty.bind(Object);
215483
215461
  var Emitter = class {
215462
+ emitted = {
215463
+ afterExit: false,
215464
+ exit: false
215465
+ };
215466
+ listeners = {
215467
+ afterExit: [],
215468
+ exit: []
215469
+ };
215470
+ count = 0;
215471
+ id = Math.random();
215484
215472
  constructor() {
215485
- __publicField(this, "emitted", {
215486
- afterExit: false,
215487
- exit: false
215488
- });
215489
- __publicField(this, "listeners", {
215490
- afterExit: [],
215491
- exit: []
215492
- });
215493
- __publicField(this, "count", 0);
215494
- __publicField(this, "id", Math.random());
215495
215473
  if (global2[kExitEmitter]) {
215496
215474
  return global2[kExitEmitter];
215497
215475
  }
@@ -215557,129 +215535,119 @@ var SignalExitFallback = class extends SignalExitBase {
215557
215535
  unload() {
215558
215536
  }
215559
215537
  };
215560
- var _hupSig, _emitter, _process, _originalProcessEmit, _originalProcessReallyExit, _sigListeners, _loaded, _SignalExit_instances, processReallyExit_fn, processEmit_fn;
215561
215538
  var SignalExit = class extends SignalExitBase {
215539
+ // "SIGHUP" throws an `ENOSYS` error on Windows,
215540
+ // so use a supported signal instead
215541
+ /* c8 ignore start */
215542
+ #hupSig = process3.platform === "win32" ? "SIGINT" : "SIGHUP";
215543
+ /* c8 ignore stop */
215544
+ #emitter = new Emitter();
215545
+ #process;
215546
+ #originalProcessEmit;
215547
+ #originalProcessReallyExit;
215548
+ #sigListeners = {};
215549
+ #loaded = false;
215562
215550
  constructor(process4) {
215563
215551
  super();
215564
- __privateAdd(this, _SignalExit_instances);
215565
- // "SIGHUP" throws an `ENOSYS` error on Windows,
215566
- // so use a supported signal instead
215567
- /* c8 ignore start */
215568
- __privateAdd(this, _hupSig, process3.platform === "win32" ? "SIGINT" : "SIGHUP");
215569
- /* c8 ignore stop */
215570
- __privateAdd(this, _emitter, new Emitter());
215571
- __privateAdd(this, _process);
215572
- __privateAdd(this, _originalProcessEmit);
215573
- __privateAdd(this, _originalProcessReallyExit);
215574
- __privateAdd(this, _sigListeners, {});
215575
- __privateAdd(this, _loaded, false);
215576
- __privateSet(this, _process, process4);
215577
- __privateSet(this, _sigListeners, {});
215552
+ this.#process = process4;
215553
+ this.#sigListeners = {};
215578
215554
  for (const sig of signals) {
215579
- __privateGet(this, _sigListeners)[sig] = () => {
215580
- const listeners = __privateGet(this, _process).listeners(sig);
215581
- let { count } = __privateGet(this, _emitter);
215555
+ this.#sigListeners[sig] = () => {
215556
+ const listeners = this.#process.listeners(sig);
215557
+ let { count } = this.#emitter;
215582
215558
  const p = process4;
215583
215559
  if (typeof p.__signal_exit_emitter__ === "object" && typeof p.__signal_exit_emitter__.count === "number") {
215584
215560
  count += p.__signal_exit_emitter__.count;
215585
215561
  }
215586
215562
  if (listeners.length === count) {
215587
215563
  this.unload();
215588
- const ret = __privateGet(this, _emitter).emit("exit", null, sig);
215589
- const s = sig === "SIGHUP" ? __privateGet(this, _hupSig) : sig;
215564
+ const ret = this.#emitter.emit("exit", null, sig);
215565
+ const s = sig === "SIGHUP" ? this.#hupSig : sig;
215590
215566
  if (!ret)
215591
215567
  process4.kill(process4.pid, s);
215592
215568
  }
215593
215569
  };
215594
215570
  }
215595
- __privateSet(this, _originalProcessReallyExit, process4.reallyExit);
215596
- __privateSet(this, _originalProcessEmit, process4.emit);
215571
+ this.#originalProcessReallyExit = process4.reallyExit;
215572
+ this.#originalProcessEmit = process4.emit;
215597
215573
  }
215598
215574
  onExit(cb, opts) {
215599
- if (!processOk(__privateGet(this, _process))) {
215575
+ if (!processOk(this.#process)) {
215600
215576
  return () => {
215601
215577
  };
215602
215578
  }
215603
- if (__privateGet(this, _loaded) === false) {
215579
+ if (this.#loaded === false) {
215604
215580
  this.load();
215605
215581
  }
215606
215582
  const ev = opts?.alwaysLast ? "afterExit" : "exit";
215607
- __privateGet(this, _emitter).on(ev, cb);
215583
+ this.#emitter.on(ev, cb);
215608
215584
  return () => {
215609
- __privateGet(this, _emitter).removeListener(ev, cb);
215610
- if (__privateGet(this, _emitter).listeners["exit"].length === 0 && __privateGet(this, _emitter).listeners["afterExit"].length === 0) {
215585
+ this.#emitter.removeListener(ev, cb);
215586
+ if (this.#emitter.listeners["exit"].length === 0 && this.#emitter.listeners["afterExit"].length === 0) {
215611
215587
  this.unload();
215612
215588
  }
215613
215589
  };
215614
215590
  }
215615
215591
  load() {
215616
- if (__privateGet(this, _loaded)) {
215592
+ if (this.#loaded) {
215617
215593
  return;
215618
215594
  }
215619
- __privateSet(this, _loaded, true);
215620
- __privateGet(this, _emitter).count += 1;
215595
+ this.#loaded = true;
215596
+ this.#emitter.count += 1;
215621
215597
  for (const sig of signals) {
215622
215598
  try {
215623
- const fn = __privateGet(this, _sigListeners)[sig];
215599
+ const fn = this.#sigListeners[sig];
215624
215600
  if (fn)
215625
- __privateGet(this, _process).on(sig, fn);
215601
+ this.#process.on(sig, fn);
215626
215602
  } catch (_) {
215627
215603
  }
215628
215604
  }
215629
- __privateGet(this, _process).emit = (ev, ...a) => {
215630
- return __privateMethod(this, _SignalExit_instances, processEmit_fn).call(this, ev, ...a);
215605
+ this.#process.emit = (ev, ...a) => {
215606
+ return this.#processEmit(ev, ...a);
215631
215607
  };
215632
- __privateGet(this, _process).reallyExit = (code) => {
215633
- return __privateMethod(this, _SignalExit_instances, processReallyExit_fn).call(this, code);
215608
+ this.#process.reallyExit = (code) => {
215609
+ return this.#processReallyExit(code);
215634
215610
  };
215635
215611
  }
215636
215612
  unload() {
215637
- if (!__privateGet(this, _loaded)) {
215613
+ if (!this.#loaded) {
215638
215614
  return;
215639
215615
  }
215640
- __privateSet(this, _loaded, false);
215616
+ this.#loaded = false;
215641
215617
  signals.forEach((sig) => {
215642
- const listener = __privateGet(this, _sigListeners)[sig];
215618
+ const listener = this.#sigListeners[sig];
215643
215619
  if (!listener) {
215644
215620
  throw new Error("Listener not defined for signal: " + sig);
215645
215621
  }
215646
215622
  try {
215647
- __privateGet(this, _process).removeListener(sig, listener);
215623
+ this.#process.removeListener(sig, listener);
215648
215624
  } catch (_) {
215649
215625
  }
215650
215626
  });
215651
- __privateGet(this, _process).emit = __privateGet(this, _originalProcessEmit);
215652
- __privateGet(this, _process).reallyExit = __privateGet(this, _originalProcessReallyExit);
215653
- __privateGet(this, _emitter).count -= 1;
215627
+ this.#process.emit = this.#originalProcessEmit;
215628
+ this.#process.reallyExit = this.#originalProcessReallyExit;
215629
+ this.#emitter.count -= 1;
215654
215630
  }
215655
- };
215656
- _hupSig = new WeakMap();
215657
- _emitter = new WeakMap();
215658
- _process = new WeakMap();
215659
- _originalProcessEmit = new WeakMap();
215660
- _originalProcessReallyExit = new WeakMap();
215661
- _sigListeners = new WeakMap();
215662
- _loaded = new WeakMap();
215663
- _SignalExit_instances = new WeakSet();
215664
- processReallyExit_fn = function(code) {
215665
- if (!processOk(__privateGet(this, _process))) {
215666
- return 0;
215631
+ #processReallyExit(code) {
215632
+ if (!processOk(this.#process)) {
215633
+ return 0;
215634
+ }
215635
+ this.#process.exitCode = code || 0;
215636
+ this.#emitter.emit("exit", this.#process.exitCode, null);
215637
+ return this.#originalProcessReallyExit.call(this.#process, this.#process.exitCode);
215667
215638
  }
215668
- __privateGet(this, _process).exitCode = code || 0;
215669
- __privateGet(this, _emitter).emit("exit", __privateGet(this, _process).exitCode, null);
215670
- return __privateGet(this, _originalProcessReallyExit).call(__privateGet(this, _process), __privateGet(this, _process).exitCode);
215671
- };
215672
- processEmit_fn = function(ev, ...args) {
215673
- const og = __privateGet(this, _originalProcessEmit);
215674
- if (ev === "exit" && processOk(__privateGet(this, _process))) {
215675
- if (typeof args[0] === "number") {
215676
- __privateGet(this, _process).exitCode = args[0];
215639
+ #processEmit(ev, ...args) {
215640
+ const og = this.#originalProcessEmit;
215641
+ if (ev === "exit" && processOk(this.#process)) {
215642
+ if (typeof args[0] === "number") {
215643
+ this.#process.exitCode = args[0];
215644
+ }
215645
+ const ret = og.call(this.#process, ev, ...args);
215646
+ this.#emitter.emit("exit", this.#process.exitCode, null);
215647
+ return ret;
215648
+ } else {
215649
+ return og.call(this.#process, ev, ...args);
215677
215650
  }
215678
- const ret = og.call(__privateGet(this, _process), ev, ...args);
215679
- __privateGet(this, _emitter).emit("exit", __privateGet(this, _process).exitCode, null);
215680
- return ret;
215681
- } else {
215682
- return og.call(__privateGet(this, _process), ev, ...args);
215683
215651
  }
215684
215652
  };
215685
215653
  var process3 = globalThis.process;
@@ -215735,12 +215703,12 @@ var eraseLines = (lines) => lines > 0 ? (eraseLine + cursorUp(1)).repeat(lines -
215735
215703
  var height = (content) => content.split("\n").length;
215736
215704
  var lastLine = (content) => content.split("\n").pop() ?? "";
215737
215705
  var ScreenManager = class {
215706
+ // These variables are keeping information to allow correct prompt re-rendering
215707
+ height = 0;
215708
+ extraLinesUnderPrompt = 0;
215709
+ cursorPos;
215710
+ rl;
215738
215711
  constructor(rl) {
215739
- // These variables are keeping information to allow correct prompt re-rendering
215740
- __publicField(this, "height", 0);
215741
- __publicField(this, "extraLinesUnderPrompt", 0);
215742
- __publicField(this, "cursorPos");
215743
- __publicField(this, "rl");
215744
215712
  this.rl = rl;
215745
215713
  this.cursorPos = rl.getCursorPos();
215746
215714
  }
@@ -215922,9 +215890,9 @@ function createPrompt(view) {
215922
215890
  // node_modules/@inquirer/core/dist/lib/Separator.js
215923
215891
  var import_node_util3 = require("util");
215924
215892
  var Separator = class {
215893
+ separator = (0, import_node_util3.styleText)("dim", Array.from({ length: 15 }).join(dist_default.line));
215894
+ type = "separator";
215925
215895
  constructor(separator) {
215926
- __publicField(this, "separator", (0, import_node_util3.styleText)("dim", Array.from({ length: 15 }).join(dist_default.line)));
215927
- __publicField(this, "type", "separator");
215928
215896
  if (separator) {
215929
215897
  this.separator = separator;
215930
215898
  }
@@ -216425,6 +216393,7 @@ var CogniteSdkAdapter = class {
216425
216393
  constructor(client) {
216426
216394
  this.client = client;
216427
216395
  }
216396
+ client;
216428
216397
  async retrieveDataModels(ids, options) {
216429
216398
  const response = await this.client.dataModels.retrieve(ids, options);
216430
216399
  return {
@@ -216578,8 +216547,10 @@ var ViewMapper = class {
216578
216547
  constructor(cognite, dataModelId) {
216579
216548
  this.cognite = cognite;
216580
216549
  this.dataModelId = dataModelId;
216581
- this.cachePromise = null;
216582
216550
  }
216551
+ cognite;
216552
+ dataModelId;
216553
+ cachePromise = null;
216583
216554
  async getView(externalId) {
216584
216555
  const views = await this.loadViews();
216585
216556
  const view = views.get(externalId);
@@ -217672,7 +217643,7 @@ var generateCommand = new Command("generate").description("Generate TypeScript t
217672
217643
  dataModelVersion: dataModel.version,
217673
217644
  clientName: options.clientName,
217674
217645
  outputPath: options.outputPath,
217675
- packageVersion: "0.11.3"
217646
+ packageVersion: "0.12.0"
217676
217647
  });
217677
217648
  console.log(
217678
217649
  `
@@ -217713,7 +217684,7 @@ Error loading JSON types file: ${error instanceof Error ? error.message : error}
217713
217684
  });
217714
217685
 
217715
217686
  // src/cli/index.ts
217716
- var program2 = new Command().name("industrial-model").description("Code generator for Cognite Data Fusion data models").version("0.11.3");
217687
+ var program2 = new Command().name("industrial-model").description("Code generator for Cognite Data Fusion data models").version("0.12.0");
217717
217688
  program2.addCommand(generateCommand);
217718
217689
  program2.parse();
217719
217690
  /*! Bundled license information: