@uipath/maestro-sdk 1.202.0-preview.142 → 1.202.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.
package/dist/index.js CHANGED
@@ -5201,2019 +5201,1496 @@ var init_js_yaml = __esm(() => {
5201
5201
  } = yaml);
5202
5202
  });
5203
5203
 
5204
- // ../../node_modules/@jmespath-community/jmespath/dist/index.mjs
5205
- var exports_dist = {};
5206
- __export(exports_dist, {
5207
- Scope: () => Scope,
5208
- TYPE_ANY: () => TYPE_ANY,
5209
- TYPE_ARRAY: () => TYPE_ARRAY,
5210
- TYPE_ARRAY_ARRAY: () => TYPE_ARRAY_ARRAY,
5211
- TYPE_ARRAY_NUMBER: () => TYPE_ARRAY_NUMBER,
5212
- TYPE_ARRAY_OBJECT: () => TYPE_ARRAY_OBJECT,
5213
- TYPE_ARRAY_STRING: () => TYPE_ARRAY_STRING,
5214
- TYPE_BOOLEAN: () => TYPE_BOOLEAN,
5215
- TYPE_EXPREF: () => TYPE_EXPREF,
5216
- TYPE_NULL: () => TYPE_NULL,
5217
- TYPE_NUMBER: () => TYPE_NUMBER,
5218
- TYPE_OBJECT: () => TYPE_OBJECT,
5219
- TYPE_STRING: () => TYPE_STRING,
5220
- TreeInterpreter: () => TreeInterpreter2,
5221
- clearCustomFunctions: () => clearCustomFunctions,
5222
- compile: () => compile,
5223
- default: () => jmespath,
5224
- getCustomFunctions: () => getCustomFunctions,
5225
- getRegisteredFunctions: () => getRegisteredFunctions,
5226
- isRegistered: () => isRegistered,
5227
- jmespath: () => jmespath,
5228
- register: () => register,
5229
- registerFunction: () => registerFunction,
5230
- search: () => search,
5231
- tokenize: () => tokenize,
5232
- unregisterFunction: () => unregisterFunction
5233
- });
5234
- function compile(expression, options) {
5235
- const nodeTree = Parser_default.parse(expression, options);
5236
- return nodeTree;
5237
- }
5238
- function tokenize(expression, options) {
5239
- return Lexer_default.tokenize(expression, options);
5240
- }
5241
- function search(data, expression, options) {
5242
- const nodeTree = Parser_default.parse(expression, options);
5243
- return TreeInterpreter_default.search(nodeTree, data);
5244
- }
5245
- function Scope() {
5246
- return new ScopeChain;
5247
- }
5248
- var isObject = (obj) => {
5249
- return obj !== null && Object.prototype.toString.call(obj) === "[object Object]";
5250
- }, strictDeepEqual = (first, second) => {
5251
- if (first === second) {
5252
- return true;
5253
- }
5254
- if (typeof first !== typeof second) {
5255
- return false;
5256
- }
5257
- if (Array.isArray(first) && Array.isArray(second)) {
5258
- if (first.length !== second.length) {
5259
- return false;
5260
- }
5261
- for (let i = 0;i < first.length; i += 1) {
5262
- if (!strictDeepEqual(first[i], second[i])) {
5263
- return false;
5264
- }
5265
- }
5266
- return true;
5267
- }
5268
- if (isObject(first) && isObject(second)) {
5269
- const firstEntries = Object.entries(first);
5270
- const secondKeys = new Set(Object.keys(second));
5271
- if (firstEntries.length !== secondKeys.size) {
5272
- return false;
5273
- }
5274
- for (const [key, value] of firstEntries) {
5275
- if (!strictDeepEqual(value, second[key])) {
5204
+ // ../../node_modules/jmespath/jmespath.js
5205
+ var require_jmespath = __commonJS(function(exports) {
5206
+ (function(exports2) {
5207
+ function isArray(obj) {
5208
+ if (obj !== null) {
5209
+ return Object.prototype.toString.call(obj) === "[object Array]";
5210
+ } else {
5276
5211
  return false;
5277
5212
  }
5278
- secondKeys.delete(key);
5279
- }
5280
- return secondKeys.size === 0;
5281
- }
5282
- return false;
5283
- }, isFalse = (obj) => {
5284
- if (obj === null || obj === undefined || obj === false) {
5285
- return true;
5286
- }
5287
- if (typeof obj === "string") {
5288
- return obj === "";
5289
- }
5290
- if (typeof obj === "object") {
5291
- if (Array.isArray(obj)) {
5292
- return obj.length === 0;
5293
5213
  }
5294
- if (obj === null) {
5295
- return true;
5296
- }
5297
- return Object.keys(obj).length === 0;
5298
- }
5299
- return false;
5300
- }, isAlpha = (ch) => {
5301
- return ch >= "a" && ch <= "z" || ch >= "A" && ch <= "Z" || ch === "_";
5302
- }, isNum = (ch) => {
5303
- return ch >= "0" && ch <= "9" || ch === "-";
5304
- }, isAlphaNum = (ch) => {
5305
- return ch >= "a" && ch <= "z" || ch >= "A" && ch <= "Z" || ch >= "0" && ch <= "9" || ch === "_";
5306
- }, ensureInteger = (value) => {
5307
- if (!(typeof value === "number") || Math.floor(value) !== value) {
5308
- throw new Error("invalid-value: expecting an integer.");
5309
- }
5310
- return value;
5311
- }, ensurePositiveInteger = (value) => {
5312
- if (!(typeof value === "number") || value < 0 || Math.floor(value) !== value) {
5313
- throw new Error("invalid-value: expecting a non-negative integer.");
5314
- }
5315
- return value;
5316
- }, ensureNumbers = (...operands) => {
5317
- for (let i = 0;i < operands.length; i++) {
5318
- if (operands[i] === null || operands[i] === undefined) {
5319
- throw new Error("not-a-number: undefined");
5320
- }
5321
- if (typeof operands[i] !== "number") {
5322
- throw new Error("not-a-number");
5323
- }
5324
- }
5325
- }, notZero = (n) => {
5326
- n = +n;
5327
- if (!n) {
5328
- throw new Error("not-a-number: divide by zero");
5329
- }
5330
- return n;
5331
- }, add = (left, right) => {
5332
- ensureNumbers(left, right);
5333
- const result = left + right;
5334
- return result;
5335
- }, sub = (left, right) => {
5336
- ensureNumbers(left, right);
5337
- const result = left - right;
5338
- return result;
5339
- }, mul = (left, right) => {
5340
- ensureNumbers(left, right);
5341
- const result = left * right;
5342
- return result;
5343
- }, divide = (left, right) => {
5344
- ensureNumbers(left, right);
5345
- const result = left / notZero(right);
5346
- return result;
5347
- }, div = (left, right) => {
5348
- ensureNumbers(left, right);
5349
- const result = Math.floor(left / notZero(right));
5350
- return result;
5351
- }, mod = (left, right) => {
5352
- ensureNumbers(left, right);
5353
- const result = left % right;
5354
- return result;
5355
- }, findFirst2 = (subject, sub2, start, end) => {
5356
- if (!subject || !sub2) {
5357
- return null;
5358
- }
5359
- start = Math.max(ensureInteger(start = start || 0), 0);
5360
- end = Math.min(ensureInteger(end = end || subject.length), subject.length);
5361
- const offset = subject.slice(start, end).indexOf(sub2);
5362
- return offset === -1 ? null : offset + start;
5363
- }, findLast = (subject, sub2, start, end) => {
5364
- if (!subject || !sub2) {
5365
- return null;
5366
- }
5367
- start = Math.max(ensureInteger(start = start || 0), 0);
5368
- end = Math.min(ensureInteger(end = end || subject.length), subject.length);
5369
- const offset = subject.slice(start, end).lastIndexOf(sub2);
5370
- const result = offset === -1 ? null : offset + start;
5371
- return result;
5372
- }, lower = (subject) => subject.toLowerCase(), ensurePadFuncParams = (name, width, padding) => {
5373
- padding = padding || " ";
5374
- if (padding.length > 1) {
5375
- throw new Error(`invalid value, ${name} expects its 'pad' parameter to be a valid string with a single codepoint`);
5376
- }
5377
- ensurePositiveInteger(width);
5378
- return padding;
5379
- }, padLeft = (subject, width, padding) => {
5380
- padding = ensurePadFuncParams("pad_left", width, padding);
5381
- return subject && subject.padStart(width, padding) || "";
5382
- }, padRight = (subject, width, padding) => {
5383
- padding = ensurePadFuncParams("pad_right", width, padding);
5384
- return subject && subject.padEnd(width, padding) || "";
5385
- }, replace = (subject, string, by, count) => {
5386
- if (count === 0) {
5387
- return subject;
5388
- }
5389
- if (!count) {
5390
- return subject.split(string).join(by);
5391
- }
5392
- ensurePositiveInteger(count);
5393
- [...Array(count).keys()].map(() => subject = subject.replace(string, by));
5394
- return subject;
5395
- }, split = (subject, search2, count) => {
5396
- if (subject.length == 0 && search2.length === 0) {
5397
- return [];
5398
- }
5399
- if (count === null || count === undefined) {
5400
- return subject.split(search2);
5401
- }
5402
- ensurePositiveInteger(count);
5403
- if (count === 0) {
5404
- return [subject];
5405
- }
5406
- const split2 = subject.split(search2);
5407
- return [...split2.slice(0, count), split2.slice(count).join(search2)];
5408
- }, trim = (subject, chars) => {
5409
- return trimLeft(trimRight(subject, chars), chars);
5410
- }, trimLeft = (subject, chars) => {
5411
- return trimImpl(subject, (list) => new RegExp(`^[${list}]*(.*?)`), chars);
5412
- }, trimRight = (subject, chars) => {
5413
- return trimImpl(subject, (list) => new RegExp(`(.*?)[${list}]*$`), chars);
5414
- }, trimImpl = (subject, regExper, chars) => {
5415
- const pattern = chars ? chars.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&") : "\\s…";
5416
- return subject.replace(regExper(pattern), "$1");
5417
- }, upper = (subject) => subject.toUpperCase(), basicTokens, operatorStartToken, skipChars, StreamLexer = class {
5418
- _current = 0;
5419
- _enable_legacy_literals = false;
5420
- tokenize(stream, options) {
5421
- const tokens = [];
5422
- this._current = 0;
5423
- this._enable_legacy_literals = options?.enable_legacy_literals || false;
5424
- let start;
5425
- let identifier;
5426
- let token;
5427
- while (this._current < stream.length) {
5428
- if (isAlpha(stream[this._current])) {
5429
- start = this._current;
5430
- identifier = this.consumeUnquotedIdentifier(stream);
5431
- tokens.push({
5432
- start,
5433
- type: "UnquotedIdentifier",
5434
- value: identifier
5435
- });
5436
- } else if (basicTokens[stream[this._current]] !== undefined) {
5437
- tokens.push({
5438
- start: this._current,
5439
- type: basicTokens[stream[this._current]],
5440
- value: stream[this._current]
5441
- });
5442
- this._current += 1;
5443
- } else if (stream[this._current] === "$") {
5444
- start = this._current;
5445
- if (this._current + 1 < stream.length && isAlpha(stream[this._current + 1])) {
5446
- this._current += 1;
5447
- identifier = this.consumeUnquotedIdentifier(stream);
5448
- tokens.push({
5449
- start,
5450
- type: "Variable",
5451
- value: identifier
5452
- });
5453
- } else {
5454
- tokens.push({
5455
- start,
5456
- type: "Root",
5457
- value: stream[this._current]
5458
- });
5459
- this._current += 1;
5460
- }
5461
- } else if (stream[this._current] === "-") {
5462
- if (this._current + 1 < stream.length && isNum(stream[this._current + 1])) {
5463
- const token2 = this.consumeNumber(stream);
5464
- token2 && tokens.push(token2);
5465
- } else {
5466
- const token2 = {
5467
- start: this._current,
5468
- type: "Minus",
5469
- value: "-"
5470
- };
5471
- tokens.push(token2);
5472
- this._current += 1;
5473
- }
5474
- } else if (isNum(stream[this._current])) {
5475
- token = this.consumeNumber(stream);
5476
- tokens.push(token);
5477
- } else if (stream[this._current] === "[") {
5478
- token = this.consumeLBracket(stream);
5479
- tokens.push(token);
5480
- } else if (stream[this._current] === '"') {
5481
- start = this._current;
5482
- identifier = this.consumeQuotedIdentifier(stream);
5483
- tokens.push({
5484
- start,
5485
- type: "QuotedIdentifier",
5486
- value: identifier
5487
- });
5488
- } else if (stream[this._current] === `'`) {
5489
- start = this._current;
5490
- identifier = this.consumeRawStringLiteral(stream);
5491
- tokens.push({
5492
- start,
5493
- type: "Literal",
5494
- value: identifier
5495
- });
5496
- } else if (stream[this._current] === "`") {
5497
- start = this._current;
5498
- const literal = this.consumeLiteral(stream);
5499
- tokens.push({
5500
- start,
5501
- type: "Literal",
5502
- value: literal
5503
- });
5504
- } else if (operatorStartToken[stream[this._current]] !== undefined) {
5505
- token = this.consumeOperator(stream);
5506
- token && tokens.push(token);
5507
- } else if (skipChars[stream[this._current]] !== undefined) {
5508
- this._current += 1;
5214
+ function isObject(obj) {
5215
+ if (obj !== null) {
5216
+ return Object.prototype.toString.call(obj) === "[object Object]";
5509
5217
  } else {
5510
- const error = new Error(`Syntax error: unknown character: ${stream[this._current]}`);
5511
- error.name = "LexerError";
5512
- throw error;
5218
+ return false;
5513
5219
  }
5514
5220
  }
5515
- return tokens;
5516
- }
5517
- consumeUnquotedIdentifier(stream) {
5518
- const start = this._current;
5519
- this._current += 1;
5520
- while (this._current < stream.length && isAlphaNum(stream[this._current])) {
5521
- this._current += 1;
5522
- }
5523
- return stream.slice(start, this._current);
5524
- }
5525
- consumeQuotedIdentifier(stream) {
5526
- const start = this._current;
5527
- this._current += 1;
5528
- const maxLength = stream.length;
5529
- while (stream[this._current] !== '"' && this._current < maxLength) {
5530
- let current = this._current;
5531
- if (stream[current] === "\\" && (stream[current + 1] === "\\" || stream[current + 1] === '"')) {
5532
- current += 2;
5533
- } else {
5534
- current += 1;
5221
+ function strictDeepEqual(first, second) {
5222
+ if (first === second) {
5223
+ return true;
5535
5224
  }
5536
- this._current = current;
5537
- }
5538
- this._current += 1;
5539
- const [value, ok] = this.parseJSON(stream.slice(start, this._current));
5540
- if (!ok) {
5541
- const error = new Error(`syntax: unexpected end of JSON input`);
5542
- error.name = "LexerError";
5543
- throw error;
5544
- }
5545
- return value;
5546
- }
5547
- consumeRawStringLiteral(stream) {
5548
- const start = this._current;
5549
- this._current += 1;
5550
- const maxLength = stream.length;
5551
- while (stream[this._current] !== `'` && this._current < maxLength) {
5552
- let current = this._current;
5553
- if (stream[current] === "\\" && (stream[current + 1] === "\\" || stream[current + 1] === `'`)) {
5554
- current += 2;
5555
- } else {
5556
- current += 1;
5557
- }
5558
- this._current = current;
5559
- }
5560
- this._current += 1;
5561
- const literal = stream.slice(start + 1, this._current - 1);
5562
- return replace(replace(literal, `\\\\`, `\\`), `\\'`, `'`);
5563
- }
5564
- consumeNumber(stream) {
5565
- const start = this._current;
5566
- this._current += 1;
5567
- const maxLength = stream.length;
5568
- while (isNum(stream[this._current]) && this._current < maxLength) {
5569
- this._current += 1;
5570
- }
5571
- const value = parseInt(stream.slice(start, this._current), 10);
5572
- return { start, value, type: "Number" };
5573
- }
5574
- consumeLBracket(stream) {
5575
- const start = this._current;
5576
- this._current += 1;
5577
- if (stream[this._current] === "?") {
5578
- this._current += 1;
5579
- return { start, type: "Filter", value: "[?" };
5580
- }
5581
- if (stream[this._current] === "]") {
5582
- this._current += 1;
5583
- return { start, type: "Flatten", value: "[]" };
5584
- }
5585
- return { start, type: "Lbracket", value: "[" };
5586
- }
5587
- consumeOrElse(stream, peek, token, orElse) {
5588
- const start = this._current;
5589
- this._current += 1;
5590
- if (this._current < stream.length && stream[this._current] === peek) {
5591
- this._current += 1;
5592
- return {
5593
- start,
5594
- type: orElse,
5595
- value: stream.slice(start, this._current)
5596
- };
5597
- }
5598
- return { start, type: token, value: stream[start] };
5599
- }
5600
- consumeOperator(stream) {
5601
- const start = this._current;
5602
- const startingChar = stream[start];
5603
- switch (startingChar) {
5604
- case "!":
5605
- return this.consumeOrElse(stream, "=", "Not", "NE");
5606
- case "<":
5607
- return this.consumeOrElse(stream, "=", "LT", "LTE");
5608
- case ">":
5609
- return this.consumeOrElse(stream, "=", "GT", "GTE");
5610
- case "=":
5611
- return this.consumeOrElse(stream, "=", "Assign", "EQ");
5612
- case "&":
5613
- return this.consumeOrElse(stream, "&", "Expref", "And");
5614
- case "|":
5615
- return this.consumeOrElse(stream, "|", "Pipe", "Or");
5616
- case "/":
5617
- return this.consumeOrElse(stream, "/", "Divide", "Div");
5618
- }
5619
- }
5620
- consumeLiteral(stream) {
5621
- this._current += 1;
5622
- const start = this._current;
5623
- const maxLength = stream.length;
5624
- while (stream[this._current] !== "`" && this._current < maxLength) {
5625
- let current = this._current;
5626
- if (stream[current] === "\\" && (stream[current + 1] === "\\" || stream[current + 1] === "`")) {
5627
- current += 2;
5628
- } else {
5629
- current += 1;
5225
+ var firstType = Object.prototype.toString.call(first);
5226
+ if (firstType !== Object.prototype.toString.call(second)) {
5227
+ return false;
5630
5228
  }
5631
- this._current = current;
5632
- }
5633
- let literalString = stream.slice(start, this._current).trimStart();
5634
- literalString = literalString.replace("\\`", "`");
5635
- let literal = null;
5636
- let ok = false;
5637
- if (this.looksLikeJSON(literalString)) {
5638
- [literal, ok] = this.parseJSON(literalString);
5639
- }
5640
- if (!ok && this._enable_legacy_literals) {
5641
- [literal, ok] = this.parseJSON(`"${literalString}"`);
5642
- }
5643
- if (!ok) {
5644
- const error = new Error(`Syntax error: unexpected end of JSON input or invalid format for a JSON literal: ${stream[this._current]}`);
5645
- error.name = "LexerError";
5646
- throw error;
5647
- }
5648
- this._current += 1;
5649
- return literal;
5650
- }
5651
- looksLikeJSON(literalString) {
5652
- const startingChars = '[{"';
5653
- const jsonLiterals = ["true", "false", "null"];
5654
- const numberLooking = "-0123456789";
5655
- if (literalString === "") {
5656
- return false;
5657
- }
5658
- if (startingChars.includes(literalString[0])) {
5659
- return true;
5660
- }
5661
- if (jsonLiterals.includes(literalString)) {
5662
- return true;
5663
- }
5664
- if (numberLooking.includes(literalString[0])) {
5665
- const [_, ok] = this.parseJSON(literalString);
5666
- return ok;
5667
- }
5668
- return false;
5669
- }
5670
- parseJSON(text) {
5671
- try {
5672
- const json2 = JSON.parse(text);
5673
- return [json2, true];
5674
- } catch {
5675
- return [null, false];
5676
- }
5677
- }
5678
- }, Lexer, Lexer_default, bindingPower, TokenParser = class _TokenParser {
5679
- index = 0;
5680
- tokens = [];
5681
- parse(expression, options) {
5682
- this.loadTokens(expression, options || { enable_legacy_literals: false });
5683
- this.index = 0;
5684
- const ast = this.expression(0);
5685
- if (this.lookahead(0) !== "EOF") {
5686
- const token = this.lookaheadToken(0);
5687
- this.errorToken(token, `Syntax error: unexpected token type: ${token.type}, value: ${token.value}`);
5688
- }
5689
- return ast;
5690
- }
5691
- loadTokens(expression, options) {
5692
- this.tokens = Lexer_default.tokenize(expression, options);
5693
- this.tokens.push({ type: "EOF", value: "", start: expression.length });
5694
- }
5695
- expression(rbp) {
5696
- const leftToken = this.lookaheadToken(0);
5697
- this.advance();
5698
- let left = this.nud(leftToken);
5699
- let currentTokenType = this.lookahead(0);
5700
- while (rbp < bindingPower[currentTokenType]) {
5701
- this.advance();
5702
- left = this.led(currentTokenType, left);
5703
- currentTokenType = this.lookahead(0);
5704
- }
5705
- return left;
5706
- }
5707
- lookahead(offset) {
5708
- return this.tokens[this.index + offset].type;
5709
- }
5710
- lookaheadToken(offset) {
5711
- return this.tokens[this.index + offset];
5712
- }
5713
- advance() {
5714
- this.index += 1;
5715
- }
5716
- nud(token) {
5717
- switch (token.type) {
5718
- case "Variable":
5719
- return { type: "Variable", name: token.value };
5720
- case "Literal":
5721
- return { type: "Literal", value: token.value };
5722
- case "UnquotedIdentifier": {
5723
- if (_TokenParser.isKeyword(token, "let") && this.lookahead(0) === "Variable") {
5724
- return this.parseLetExpression();
5725
- } else {
5726
- return { type: "Field", name: token.value };
5229
+ if (isArray(first) === true) {
5230
+ if (first.length !== second.length) {
5231
+ return false;
5727
5232
  }
5728
- }
5729
- case "QuotedIdentifier":
5730
- if (this.lookahead(0) === "Lparen") {
5731
- throw new Error("Syntax error: quoted identifier not allowed for function names.");
5732
- } else {
5733
- return { type: "Field", name: token.value };
5233
+ for (var i = 0;i < first.length; i++) {
5234
+ if (strictDeepEqual(first[i], second[i]) === false) {
5235
+ return false;
5236
+ }
5734
5237
  }
5735
- case "Not": {
5736
- const child = this.expression(bindingPower.Not);
5737
- return { type: "NotExpression", child };
5738
- }
5739
- case "Minus": {
5740
- const child = this.expression(bindingPower.Minus);
5741
- return {
5742
- type: "Unary",
5743
- operator: token.type,
5744
- operand: child
5745
- };
5746
- }
5747
- case "Plus": {
5748
- const child = this.expression(bindingPower.Plus);
5749
- return {
5750
- type: "Unary",
5751
- operator: token.type,
5752
- operand: child
5753
- };
5238
+ return true;
5754
5239
  }
5755
- case "Star": {
5756
- const left = { type: "Identity" };
5757
- return { type: "ValueProjection", left, right: this.parseProjectionRHS(bindingPower.Star) };
5758
- }
5759
- case "Filter":
5760
- return this.led(token.type, { type: "Identity" });
5761
- case "Lbrace":
5762
- return this.parseMultiselectHash();
5763
- case "Flatten": {
5764
- const left = {
5765
- type: "Flatten",
5766
- child: { type: "Identity" }
5767
- };
5768
- const right = this.parseProjectionRHS(bindingPower.Flatten);
5769
- return { type: "Projection", left, right };
5770
- }
5771
- case "Lbracket": {
5772
- if (this.lookahead(0) === "Number" || this.lookahead(0) === "Colon") {
5773
- const right = this.parseIndexExpression();
5774
- return this.projectIfSlice({ type: "Identity" }, right);
5775
- }
5776
- if (this.lookahead(0) === "Star" && this.lookahead(1) === "Rbracket") {
5777
- this.advance();
5778
- this.advance();
5779
- const right = this.parseProjectionRHS(bindingPower.Star);
5780
- return {
5781
- left: { type: "Identity" },
5782
- right,
5783
- type: "Projection"
5784
- };
5240
+ if (isObject(first) === true) {
5241
+ var keysSeen = {};
5242
+ for (var key in first) {
5243
+ if (hasOwnProperty.call(first, key)) {
5244
+ if (strictDeepEqual(first[key], second[key]) === false) {
5245
+ return false;
5246
+ }
5247
+ keysSeen[key] = true;
5248
+ }
5785
5249
  }
5786
- return this.parseMultiselectList();
5787
- }
5788
- case "Current":
5789
- return { type: "Current" };
5790
- case "Root":
5791
- return { type: "Root" };
5792
- case "Expref": {
5793
- const child = this.expression(bindingPower.Expref);
5794
- return { type: "ExpressionReference", child };
5250
+ for (var key2 in second) {
5251
+ if (hasOwnProperty.call(second, key2)) {
5252
+ if (keysSeen[key2] !== true) {
5253
+ return false;
5254
+ }
5255
+ }
5256
+ }
5257
+ return true;
5795
5258
  }
5796
- case "Lparen": {
5797
- const expression = this.expression(0);
5798
- this.match("Rparen");
5799
- return expression;
5259
+ return false;
5260
+ }
5261
+ function isFalse(obj) {
5262
+ if (obj === "" || obj === false || obj === null) {
5263
+ return true;
5264
+ } else if (isArray(obj) && obj.length === 0) {
5265
+ return true;
5266
+ } else if (isObject(obj)) {
5267
+ for (var key in obj) {
5268
+ if (obj.hasOwnProperty(key)) {
5269
+ return false;
5270
+ }
5271
+ }
5272
+ return true;
5273
+ } else {
5274
+ return false;
5800
5275
  }
5801
- default:
5802
- this.errorToken(token);
5803
5276
  }
5804
- }
5805
- led(tokenName, left) {
5806
- switch (tokenName) {
5807
- case "Question": {
5808
- const trueExpr = this.expression(0);
5809
- this.match("Colon");
5810
- const falseExpr = this.expression(0);
5811
- return {
5812
- type: "Ternary",
5813
- condition: left,
5814
- trueExpr,
5815
- falseExpr
5816
- };
5277
+ function objValues(obj) {
5278
+ var keys = Object.keys(obj);
5279
+ var values = [];
5280
+ for (var i = 0;i < keys.length; i++) {
5281
+ values.push(obj[keys[i]]);
5817
5282
  }
5818
- case "Dot": {
5819
- const rbp = bindingPower.Dot;
5820
- if (this.lookahead(0) !== "Star") {
5821
- const right2 = this.parseDotRHS(rbp);
5822
- return { type: "Subexpression", left, right: right2 };
5823
- }
5824
- this.advance();
5825
- const right = this.parseProjectionRHS(rbp);
5826
- return { type: "ValueProjection", left, right };
5827
- }
5828
- case "Pipe": {
5829
- const right = this.expression(bindingPower.Pipe);
5830
- return { type: "Pipe", left, right };
5831
- }
5832
- case "Or": {
5833
- const right = this.expression(bindingPower.Or);
5834
- return { type: "OrExpression", left, right };
5835
- }
5836
- case "And": {
5837
- const right = this.expression(bindingPower.And);
5838
- return { type: "AndExpression", left, right };
5839
- }
5840
- case "Lparen": {
5841
- if (left.type !== "Field") {
5842
- throw new Error("Syntax error: expected a Field node");
5843
- }
5844
- const name = left.name;
5845
- const args = this.parseCommaSeparatedExpressionsUntilToken("Rparen");
5846
- const node = { name, type: "Function", children: args };
5847
- return node;
5848
- }
5849
- case "Filter": {
5850
- const condition = this.expression(0);
5851
- this.match("Rbracket");
5852
- const right = this.lookahead(0) === "Flatten" ? { type: "Identity" } : this.parseProjectionRHS(bindingPower.Filter);
5853
- return { type: "FilterProjection", left, right, condition };
5854
- }
5855
- case "Flatten": {
5856
- const leftNode = { type: "Flatten", child: left };
5857
- const right = this.parseProjectionRHS(bindingPower.Flatten);
5858
- return { type: "Projection", left: leftNode, right };
5859
- }
5860
- case "Assign": {
5861
- const leftNode = left;
5862
- const right = this.expression(0);
5863
- return {
5864
- type: "Binding",
5865
- variable: leftNode.name,
5866
- reference: right
5867
- };
5283
+ return values;
5284
+ }
5285
+ function merge2(a, b) {
5286
+ var merged = {};
5287
+ for (var key in a) {
5288
+ merged[key] = a[key];
5868
5289
  }
5869
- case "EQ":
5870
- case "NE":
5871
- case "GT":
5872
- case "GTE":
5873
- case "LT":
5874
- case "LTE":
5875
- return this.parseComparator(left, tokenName);
5876
- case "Plus":
5877
- case "Minus":
5878
- case "Multiply":
5879
- case "Star":
5880
- case "Divide":
5881
- case "Modulo":
5882
- case "Div":
5883
- return this.parseArithmetic(left, tokenName);
5884
- case "Lbracket": {
5885
- const token = this.lookaheadToken(0);
5886
- if (token.type === "Number" || token.type === "Colon") {
5887
- const right2 = this.parseIndexExpression();
5888
- return this.projectIfSlice(left, right2);
5889
- }
5890
- this.match("Star");
5891
- this.match("Rbracket");
5892
- const right = this.parseProjectionRHS(bindingPower.Star);
5893
- return { type: "Projection", left, right };
5290
+ for (var key2 in b) {
5291
+ merged[key2] = b[key2];
5894
5292
  }
5895
- default:
5896
- return this.errorToken(this.lookaheadToken(0));
5293
+ return merged;
5897
5294
  }
5898
- }
5899
- static isKeyword(token, keyword) {
5900
- return token.type === "UnquotedIdentifier" && token.value === keyword;
5901
- }
5902
- match(tokenType) {
5903
- if (this.lookahead(0) === tokenType) {
5904
- this.advance();
5905
- return;
5295
+ var trimLeft;
5296
+ if (typeof String.prototype.trimLeft === "function") {
5297
+ trimLeft = function(str2) {
5298
+ return str2.trimLeft();
5299
+ };
5906
5300
  } else {
5907
- const token = this.lookaheadToken(0);
5908
- this.errorToken(token, `Syntax error: expected ${tokenType}, got: ${token.type}`);
5909
- }
5910
- }
5911
- errorToken(token, message = "") {
5912
- const error = new Error(message || `Syntax error: invalid token (${token.type}): "${token.value}"`);
5913
- error.name = "ParserError";
5914
- throw error;
5915
- }
5916
- parseIndexExpression() {
5917
- if (this.lookahead(0) === "Colon" || this.lookahead(1) === "Colon") {
5918
- return this.parseSliceExpression();
5919
- }
5920
- const value = Number(this.lookaheadToken(0).value);
5921
- this.advance();
5922
- this.match("Rbracket");
5923
- return { type: "Index", value };
5924
- }
5925
- projectIfSlice(left, right) {
5926
- const indexExpr = {
5927
- type: "IndexExpression",
5928
- left,
5929
- right
5930
- };
5931
- if (right.type === "Slice") {
5932
- return {
5933
- left: indexExpr,
5934
- right: this.parseProjectionRHS(bindingPower.Star),
5935
- type: "Projection"
5301
+ trimLeft = function(str2) {
5302
+ return str2.match(/^\s*(.*)/)[1];
5936
5303
  };
5937
5304
  }
5938
- return indexExpr;
5939
- }
5940
- parseSliceExpression() {
5941
- const parts = [null, null, null];
5942
- let index = 0;
5943
- let current = this.lookaheadToken(0);
5944
- while (current.type != "Rbracket" && index < 3) {
5945
- if (current.type === "Colon") {
5946
- index++;
5947
- if (index === 3) {
5948
- this.errorToken(this.lookaheadToken(0), "Syntax error, too many colons in slice expression");
5949
- }
5950
- this.advance();
5951
- } else if (current.type === "Number") {
5952
- const part = this.lookaheadToken(0).value;
5953
- parts[index] = part;
5954
- this.advance();
5955
- } else {
5956
- const next = this.lookaheadToken(0);
5957
- this.errorToken(next, `Syntax error, unexpected token: ${next.value}(${next.type})`);
5958
- }
5959
- current = this.lookaheadToken(0);
5960
- }
5961
- this.match("Rbracket");
5962
- const [start, stop, step] = parts;
5963
- return { type: "Slice", start, stop, step };
5964
- }
5965
- parseLetExpression() {
5966
- const separated = this.parseCommaSeparatedExpressionsUntilKeyword("in");
5967
- const expression = this.expression(0);
5968
- const bindings = separated.map((binding) => binding);
5969
- return {
5970
- type: "LetExpression",
5971
- bindings,
5972
- expression
5973
- };
5974
- }
5975
- parseCommaSeparatedExpressionsUntilKeyword(keyword) {
5976
- return this.parseCommaSeparatedExpressionsUntil(() => {
5977
- return _TokenParser.isKeyword(this.lookaheadToken(0), keyword);
5978
- }, () => {
5979
- this.advance();
5980
- });
5981
- }
5982
- parseCommaSeparatedExpressionsUntilToken(token) {
5983
- return this.parseCommaSeparatedExpressionsUntil(() => {
5984
- return this.lookahead(0) === token;
5985
- }, () => {
5986
- return this.match(token);
5987
- });
5988
- }
5989
- parseCommaSeparatedExpressionsUntil(isEndToken, matchEndToken) {
5990
- const args = [];
5991
- let expression;
5992
- while (!isEndToken()) {
5993
- expression = this.expression(0);
5994
- if (this.lookahead(0) === "Comma") {
5995
- this.match("Comma");
5996
- }
5997
- args.push(expression);
5998
- }
5999
- matchEndToken();
6000
- return args;
6001
- }
6002
- parseComparator(left, comparator) {
6003
- const right = this.expression(bindingPower[comparator]);
6004
- return { type: "Comparator", name: comparator, left, right };
6005
- }
6006
- parseArithmetic(left, operator) {
6007
- const right = this.expression(bindingPower[operator]);
6008
- return { type: "Arithmetic", operator, left, right };
6009
- }
6010
- parseDotRHS(rbp) {
6011
- const lookahead = this.lookahead(0);
6012
- const exprTokens = ["UnquotedIdentifier", "QuotedIdentifier", "Star"];
6013
- if (exprTokens.includes(lookahead)) {
6014
- return this.expression(rbp);
6015
- }
6016
- if (lookahead === "Lbracket") {
6017
- this.match("Lbracket");
6018
- return this.parseMultiselectList();
6019
- }
6020
- if (lookahead === "Lbrace") {
6021
- this.match("Lbrace");
6022
- return this.parseMultiselectHash();
6023
- }
6024
- const token = this.lookaheadToken(0);
6025
- this.errorToken(token, `Syntax error, unexpected token: ${token.value}(${token.type})`);
6026
- }
6027
- parseProjectionRHS(rbp) {
6028
- if (bindingPower[this.lookahead(0)] < 10) {
6029
- return { type: "Identity" };
6030
- }
6031
- if (this.lookahead(0) === "Lbracket") {
6032
- return this.expression(rbp);
6033
- }
6034
- if (this.lookahead(0) === "Filter") {
6035
- return this.expression(rbp);
6036
- }
6037
- if (this.lookahead(0) === "Dot") {
6038
- this.match("Dot");
6039
- return this.parseDotRHS(rbp);
6040
- }
6041
- const token = this.lookaheadToken(0);
6042
- this.errorToken(token, `Syntax error, unexpected token: ${token.value}(${token.type})`);
6043
- }
6044
- parseMultiselectList() {
6045
- const expressions = [];
6046
- while (this.lookahead(0) !== "Rbracket") {
6047
- const expression = this.expression(0);
6048
- expressions.push(expression);
6049
- if (this.lookahead(0) === "Comma") {
6050
- this.match("Comma");
6051
- if (this.lookahead(0) === "Rbracket") {
6052
- throw new Error("Syntax error: unexpected token Rbracket");
5305
+ var TYPE_NUMBER = 0;
5306
+ var TYPE_ANY = 1;
5307
+ var TYPE_STRING = 2;
5308
+ var TYPE_ARRAY = 3;
5309
+ var TYPE_OBJECT = 4;
5310
+ var TYPE_BOOLEAN = 5;
5311
+ var TYPE_EXPREF = 6;
5312
+ var TYPE_NULL = 7;
5313
+ var TYPE_ARRAY_NUMBER = 8;
5314
+ var TYPE_ARRAY_STRING = 9;
5315
+ var TYPE_NAME_TABLE = {
5316
+ 0: "number",
5317
+ 1: "any",
5318
+ 2: "string",
5319
+ 3: "array",
5320
+ 4: "object",
5321
+ 5: "boolean",
5322
+ 6: "expression",
5323
+ 7: "null",
5324
+ 8: "Array<number>",
5325
+ 9: "Array<string>"
5326
+ };
5327
+ var TOK_EOF = "EOF";
5328
+ var TOK_UNQUOTEDIDENTIFIER = "UnquotedIdentifier";
5329
+ var TOK_QUOTEDIDENTIFIER = "QuotedIdentifier";
5330
+ var TOK_RBRACKET = "Rbracket";
5331
+ var TOK_RPAREN = "Rparen";
5332
+ var TOK_COMMA = "Comma";
5333
+ var TOK_COLON = "Colon";
5334
+ var TOK_RBRACE = "Rbrace";
5335
+ var TOK_NUMBER = "Number";
5336
+ var TOK_CURRENT = "Current";
5337
+ var TOK_EXPREF = "Expref";
5338
+ var TOK_PIPE = "Pipe";
5339
+ var TOK_OR = "Or";
5340
+ var TOK_AND = "And";
5341
+ var TOK_EQ = "EQ";
5342
+ var TOK_GT = "GT";
5343
+ var TOK_LT = "LT";
5344
+ var TOK_GTE = "GTE";
5345
+ var TOK_LTE = "LTE";
5346
+ var TOK_NE = "NE";
5347
+ var TOK_FLATTEN = "Flatten";
5348
+ var TOK_STAR = "Star";
5349
+ var TOK_FILTER = "Filter";
5350
+ var TOK_DOT = "Dot";
5351
+ var TOK_NOT = "Not";
5352
+ var TOK_LBRACE = "Lbrace";
5353
+ var TOK_LBRACKET = "Lbracket";
5354
+ var TOK_LPAREN = "Lparen";
5355
+ var TOK_LITERAL = "Literal";
5356
+ var basicTokens = {
5357
+ ".": TOK_DOT,
5358
+ "*": TOK_STAR,
5359
+ ",": TOK_COMMA,
5360
+ ":": TOK_COLON,
5361
+ "{": TOK_LBRACE,
5362
+ "}": TOK_RBRACE,
5363
+ "]": TOK_RBRACKET,
5364
+ "(": TOK_LPAREN,
5365
+ ")": TOK_RPAREN,
5366
+ "@": TOK_CURRENT
5367
+ };
5368
+ var operatorStartToken = {
5369
+ "<": true,
5370
+ ">": true,
5371
+ "=": true,
5372
+ "!": true
5373
+ };
5374
+ var skipChars = {
5375
+ " ": true,
5376
+ "\t": true,
5377
+ "\n": true
5378
+ };
5379
+ function isAlpha(ch) {
5380
+ return ch >= "a" && ch <= "z" || ch >= "A" && ch <= "Z" || ch === "_";
5381
+ }
5382
+ function isNum(ch) {
5383
+ return ch >= "0" && ch <= "9" || ch === "-";
5384
+ }
5385
+ function isAlphaNum(ch) {
5386
+ return ch >= "a" && ch <= "z" || ch >= "A" && ch <= "Z" || ch >= "0" && ch <= "9" || ch === "_";
5387
+ }
5388
+ function Lexer() {}
5389
+ Lexer.prototype = {
5390
+ tokenize: function(stream) {
5391
+ var tokens = [];
5392
+ this._current = 0;
5393
+ var start;
5394
+ var identifier;
5395
+ var token;
5396
+ while (this._current < stream.length) {
5397
+ if (isAlpha(stream[this._current])) {
5398
+ start = this._current;
5399
+ identifier = this._consumeUnquotedIdentifier(stream);
5400
+ tokens.push({
5401
+ type: TOK_UNQUOTEDIDENTIFIER,
5402
+ value: identifier,
5403
+ start
5404
+ });
5405
+ } else if (basicTokens[stream[this._current]] !== undefined) {
5406
+ tokens.push({
5407
+ type: basicTokens[stream[this._current]],
5408
+ value: stream[this._current],
5409
+ start: this._current
5410
+ });
5411
+ this._current++;
5412
+ } else if (isNum(stream[this._current])) {
5413
+ token = this._consumeNumber(stream);
5414
+ tokens.push(token);
5415
+ } else if (stream[this._current] === "[") {
5416
+ token = this._consumeLBracket(stream);
5417
+ tokens.push(token);
5418
+ } else if (stream[this._current] === '"') {
5419
+ start = this._current;
5420
+ identifier = this._consumeQuotedIdentifier(stream);
5421
+ tokens.push({
5422
+ type: TOK_QUOTEDIDENTIFIER,
5423
+ value: identifier,
5424
+ start
5425
+ });
5426
+ } else if (stream[this._current] === "'") {
5427
+ start = this._current;
5428
+ identifier = this._consumeRawStringLiteral(stream);
5429
+ tokens.push({
5430
+ type: TOK_LITERAL,
5431
+ value: identifier,
5432
+ start
5433
+ });
5434
+ } else if (stream[this._current] === "`") {
5435
+ start = this._current;
5436
+ var literal = this._consumeLiteral(stream);
5437
+ tokens.push({
5438
+ type: TOK_LITERAL,
5439
+ value: literal,
5440
+ start
5441
+ });
5442
+ } else if (operatorStartToken[stream[this._current]] !== undefined) {
5443
+ tokens.push(this._consumeOperator(stream));
5444
+ } else if (skipChars[stream[this._current]] !== undefined) {
5445
+ this._current++;
5446
+ } else if (stream[this._current] === "&") {
5447
+ start = this._current;
5448
+ this._current++;
5449
+ if (stream[this._current] === "&") {
5450
+ this._current++;
5451
+ tokens.push({ type: TOK_AND, value: "&&", start });
5452
+ } else {
5453
+ tokens.push({ type: TOK_EXPREF, value: "&", start });
5454
+ }
5455
+ } else if (stream[this._current] === "|") {
5456
+ start = this._current;
5457
+ this._current++;
5458
+ if (stream[this._current] === "|") {
5459
+ this._current++;
5460
+ tokens.push({ type: TOK_OR, value: "||", start });
5461
+ } else {
5462
+ tokens.push({ type: TOK_PIPE, value: "|", start });
5463
+ }
5464
+ } else {
5465
+ var error = new Error("Unknown character:" + stream[this._current]);
5466
+ error.name = "LexerError";
5467
+ throw error;
5468
+ }
6053
5469
  }
6054
- }
6055
- }
6056
- this.match("Rbracket");
6057
- return { type: "MultiSelectList", children: expressions };
6058
- }
6059
- parseMultiselectHash() {
6060
- const pairs2 = [];
6061
- const identifierTypes = ["UnquotedIdentifier", "QuotedIdentifier"];
6062
- let keyToken;
6063
- let keyName;
6064
- let value;
6065
- for (;; ) {
6066
- keyToken = this.lookaheadToken(0);
6067
- if (!identifierTypes.includes(keyToken.type)) {
6068
- throw new Error(`Syntax error: expecting an identifier token, got: ${keyToken.type}`);
6069
- }
6070
- keyName = keyToken.value;
6071
- this.advance();
6072
- this.match("Colon");
6073
- value = this.expression(0);
6074
- pairs2.push({ value, type: "KeyValuePair", name: keyName });
6075
- if (this.lookahead(0) === "Comma") {
6076
- this.match("Comma");
6077
- } else if (this.lookahead(0) === "Rbrace") {
6078
- this.match("Rbrace");
6079
- break;
6080
- }
6081
- }
6082
- return { type: "MultiSelectHash", children: pairs2 };
6083
- }
6084
- }, Parser, Parser_default, Text = class _Text {
6085
- _text;
6086
- constructor(text) {
6087
- this._text = text;
6088
- }
6089
- get string() {
6090
- return this._text;
6091
- }
6092
- get length() {
6093
- return this.codePoints.length;
6094
- }
6095
- compareTo(other) {
6096
- return _Text.compare(this, new _Text(other));
6097
- }
6098
- static get comparer() {
6099
- const stringComparer = (left, right) => {
6100
- return new _Text(left).compareTo(right);
6101
- };
6102
- return stringComparer;
6103
- }
6104
- static compare(left, right) {
6105
- const leftCp = left.codePoints;
6106
- const rightCp = right.codePoints;
6107
- for (let index = 0;index < Math.min(leftCp.length, rightCp.length); index++) {
6108
- if (leftCp[index] === rightCp[index]) {
6109
- continue;
6110
- }
6111
- return leftCp[index] - rightCp[index] > 0 ? 1 : -1;
6112
- }
6113
- return leftCp.length - rightCp.length > 0 ? 1 : -1;
6114
- }
6115
- reverse() {
6116
- return String.fromCodePoint(...this.codePoints.reverse());
6117
- }
6118
- get codePoints() {
6119
- const array = [...this._text].map((s) => s.codePointAt(0));
6120
- return array;
6121
- }
6122
- }, createMathFunction = (mathFn) => ([value]) => mathFn(value), createStringFunction = (stringFn) => ([subject]) => stringFn(subject), createObjectFunction = (objFn) => ([obj]) => objFn(obj), Runtime = class {
6123
- _interpreter;
6124
- _functionTable;
6125
- _customFunctions = /* @__PURE__ */ new Set;
6126
- TYPE_NAME_TABLE = Object.freeze({
6127
- [0]: "number",
6128
- [1]: "any",
6129
- [2]: "string",
6130
- [3]: "array",
6131
- [4]: "object",
6132
- [5]: "boolean",
6133
- [6]: "expression",
6134
- [7]: "null",
6135
- [8]: "Array<number>",
6136
- [10]: "Array<object>",
6137
- [9]: "Array<string>",
6138
- [11]: "Array<Array<any>>"
6139
- });
6140
- constructor(interpreter) {
6141
- this._interpreter = interpreter;
6142
- this._functionTable = this.buildFunctionTable();
6143
- }
6144
- buildFunctionTable() {
6145
- return {
6146
- abs: { _func: createMathFunction(Math.abs), _signature: [{ types: [0] }] },
6147
- ceil: { _func: createMathFunction(Math.ceil), _signature: [{ types: [0] }] },
6148
- floor: { _func: createMathFunction(Math.floor), _signature: [{ types: [0] }] },
6149
- lower: { _func: createStringFunction(lower), _signature: [{ types: [2] }] },
6150
- upper: { _func: createStringFunction(upper), _signature: [{ types: [2] }] },
6151
- keys: { _func: createObjectFunction(Object.keys), _signature: [{ types: [4] }] },
6152
- values: { _func: createObjectFunction(Object.values), _signature: [{ types: [4] }] },
6153
- avg: { _func: this.functionAvg, _signature: [{ types: [8] }] },
6154
- contains: {
6155
- _func: this.functionContains,
6156
- _signature: [
6157
- { types: [2, 3] },
6158
- { types: [1] }
6159
- ]
5470
+ return tokens;
6160
5471
  },
6161
- ends_with: {
6162
- _func: this.functionEndsWith,
6163
- _signature: [{ types: [2] }, { types: [2] }]
6164
- },
6165
- find_first: {
6166
- _func: this.functionFindFirst,
6167
- _signature: [
6168
- { types: [2] },
6169
- { types: [2] },
6170
- { types: [0], optional: true },
6171
- { types: [0], optional: true }
6172
- ]
5472
+ _consumeUnquotedIdentifier: function(stream) {
5473
+ var start = this._current;
5474
+ this._current++;
5475
+ while (this._current < stream.length && isAlphaNum(stream[this._current])) {
5476
+ this._current++;
5477
+ }
5478
+ return stream.slice(start, this._current);
5479
+ },
5480
+ _consumeQuotedIdentifier: function(stream) {
5481
+ var start = this._current;
5482
+ this._current++;
5483
+ var maxLength = stream.length;
5484
+ while (stream[this._current] !== '"' && this._current < maxLength) {
5485
+ var current = this._current;
5486
+ if (stream[current] === "\\" && (stream[current + 1] === "\\" || stream[current + 1] === '"')) {
5487
+ current += 2;
5488
+ } else {
5489
+ current++;
5490
+ }
5491
+ this._current = current;
5492
+ }
5493
+ this._current++;
5494
+ return JSON.parse(stream.slice(start, this._current));
6173
5495
  },
6174
- find_last: {
6175
- _func: this.functionFindLast,
6176
- _signature: [
6177
- { types: [2] },
6178
- { types: [2] },
6179
- { types: [0], optional: true },
6180
- { types: [0], optional: true }
6181
- ]
5496
+ _consumeRawStringLiteral: function(stream) {
5497
+ var start = this._current;
5498
+ this._current++;
5499
+ var maxLength = stream.length;
5500
+ while (stream[this._current] !== "'" && this._current < maxLength) {
5501
+ var current = this._current;
5502
+ if (stream[current] === "\\" && (stream[current + 1] === "\\" || stream[current + 1] === "'")) {
5503
+ current += 2;
5504
+ } else {
5505
+ current++;
5506
+ }
5507
+ this._current = current;
5508
+ }
5509
+ this._current++;
5510
+ var literal = stream.slice(start + 1, this._current - 1);
5511
+ return literal.replace("\\'", "'");
5512
+ },
5513
+ _consumeNumber: function(stream) {
5514
+ var start = this._current;
5515
+ this._current++;
5516
+ var maxLength = stream.length;
5517
+ while (isNum(stream[this._current]) && this._current < maxLength) {
5518
+ this._current++;
5519
+ }
5520
+ var value = parseInt(stream.slice(start, this._current));
5521
+ return { type: TOK_NUMBER, value, start };
5522
+ },
5523
+ _consumeLBracket: function(stream) {
5524
+ var start = this._current;
5525
+ this._current++;
5526
+ if (stream[this._current] === "?") {
5527
+ this._current++;
5528
+ return { type: TOK_FILTER, value: "[?", start };
5529
+ } else if (stream[this._current] === "]") {
5530
+ this._current++;
5531
+ return { type: TOK_FLATTEN, value: "[]", start };
5532
+ } else {
5533
+ return { type: TOK_LBRACKET, value: "[", start };
5534
+ }
6182
5535
  },
6183
- from_items: { _func: this.functionFromItems, _signature: [{ types: [11] }] },
6184
- group_by: {
6185
- _func: this.functionGroupBy,
6186
- _signature: [{ types: [3] }, { types: [6] }]
6187
- },
6188
- items: { _func: this.functionItems, _signature: [{ types: [4] }] },
6189
- join: {
6190
- _func: this.functionJoin,
6191
- _signature: [{ types: [2] }, { types: [9] }]
6192
- },
6193
- length: {
6194
- _func: this.functionLength,
6195
- _signature: [{ types: [2, 3, 4] }]
6196
- },
6197
- map: {
6198
- _func: this.functionMap,
6199
- _signature: [{ types: [6] }, { types: [3] }]
6200
- },
6201
- max: {
6202
- _func: this.functionMax,
6203
- _signature: [{ types: [8, 9] }]
6204
- },
6205
- max_by: {
6206
- _func: this.functionMaxBy,
6207
- _signature: [{ types: [3] }, { types: [6] }]
6208
- },
6209
- merge: { _func: this.functionMerge, _signature: [{ types: [4], variadic: true }] },
6210
- min: {
6211
- _func: this.functionMin,
6212
- _signature: [{ types: [8, 9] }]
6213
- },
6214
- min_by: {
6215
- _func: this.functionMinBy,
6216
- _signature: [{ types: [3] }, { types: [6] }]
6217
- },
6218
- not_null: { _func: this.functionNotNull, _signature: [{ types: [1], variadic: true }] },
6219
- pad_left: {
6220
- _func: this.functionPadLeft,
6221
- _signature: [
6222
- { types: [2] },
6223
- { types: [0] },
6224
- { types: [2], optional: true }
6225
- ]
5536
+ _consumeOperator: function(stream) {
5537
+ var start = this._current;
5538
+ var startingChar = stream[start];
5539
+ this._current++;
5540
+ if (startingChar === "!") {
5541
+ if (stream[this._current] === "=") {
5542
+ this._current++;
5543
+ return { type: TOK_NE, value: "!=", start };
5544
+ } else {
5545
+ return { type: TOK_NOT, value: "!", start };
5546
+ }
5547
+ } else if (startingChar === "<") {
5548
+ if (stream[this._current] === "=") {
5549
+ this._current++;
5550
+ return { type: TOK_LTE, value: "<=", start };
5551
+ } else {
5552
+ return { type: TOK_LT, value: "<", start };
5553
+ }
5554
+ } else if (startingChar === ">") {
5555
+ if (stream[this._current] === "=") {
5556
+ this._current++;
5557
+ return { type: TOK_GTE, value: ">=", start };
5558
+ } else {
5559
+ return { type: TOK_GT, value: ">", start };
5560
+ }
5561
+ } else if (startingChar === "=") {
5562
+ if (stream[this._current] === "=") {
5563
+ this._current++;
5564
+ return { type: TOK_EQ, value: "==", start };
5565
+ }
5566
+ }
6226
5567
  },
6227
- pad_right: {
6228
- _func: this.functionPadRight,
6229
- _signature: [
6230
- { types: [2] },
6231
- { types: [0] },
6232
- { types: [2], optional: true }
6233
- ]
5568
+ _consumeLiteral: function(stream) {
5569
+ this._current++;
5570
+ var start = this._current;
5571
+ var maxLength = stream.length;
5572
+ var literal;
5573
+ while (stream[this._current] !== "`" && this._current < maxLength) {
5574
+ var current = this._current;
5575
+ if (stream[current] === "\\" && (stream[current + 1] === "\\" || stream[current + 1] === "`")) {
5576
+ current += 2;
5577
+ } else {
5578
+ current++;
5579
+ }
5580
+ this._current = current;
5581
+ }
5582
+ var literalString = trimLeft(stream.slice(start, this._current));
5583
+ literalString = literalString.replace("\\`", "`");
5584
+ if (this._looksLikeJSON(literalString)) {
5585
+ literal = JSON.parse(literalString);
5586
+ } else {
5587
+ literal = JSON.parse('"' + literalString + '"');
5588
+ }
5589
+ this._current++;
5590
+ return literal;
6234
5591
  },
6235
- replace: {
6236
- _func: this.functionReplace,
6237
- _signature: [
6238
- { types: [2] },
6239
- { types: [2] },
6240
- { types: [2] },
6241
- { types: [0], optional: true }
6242
- ]
5592
+ _looksLikeJSON: function(literalString) {
5593
+ var startingChars = '[{"';
5594
+ var jsonLiterals = ["true", "false", "null"];
5595
+ var numberLooking = "-0123456789";
5596
+ if (literalString === "") {
5597
+ return false;
5598
+ } else if (startingChars.indexOf(literalString[0]) >= 0) {
5599
+ return true;
5600
+ } else if (jsonLiterals.indexOf(literalString) >= 0) {
5601
+ return true;
5602
+ } else if (numberLooking.indexOf(literalString[0]) >= 0) {
5603
+ try {
5604
+ JSON.parse(literalString);
5605
+ return true;
5606
+ } catch (ex) {
5607
+ return false;
5608
+ }
5609
+ } else {
5610
+ return false;
5611
+ }
5612
+ }
5613
+ };
5614
+ var bindingPower = {};
5615
+ bindingPower[TOK_EOF] = 0;
5616
+ bindingPower[TOK_UNQUOTEDIDENTIFIER] = 0;
5617
+ bindingPower[TOK_QUOTEDIDENTIFIER] = 0;
5618
+ bindingPower[TOK_RBRACKET] = 0;
5619
+ bindingPower[TOK_RPAREN] = 0;
5620
+ bindingPower[TOK_COMMA] = 0;
5621
+ bindingPower[TOK_RBRACE] = 0;
5622
+ bindingPower[TOK_NUMBER] = 0;
5623
+ bindingPower[TOK_CURRENT] = 0;
5624
+ bindingPower[TOK_EXPREF] = 0;
5625
+ bindingPower[TOK_PIPE] = 1;
5626
+ bindingPower[TOK_OR] = 2;
5627
+ bindingPower[TOK_AND] = 3;
5628
+ bindingPower[TOK_EQ] = 5;
5629
+ bindingPower[TOK_GT] = 5;
5630
+ bindingPower[TOK_LT] = 5;
5631
+ bindingPower[TOK_GTE] = 5;
5632
+ bindingPower[TOK_LTE] = 5;
5633
+ bindingPower[TOK_NE] = 5;
5634
+ bindingPower[TOK_FLATTEN] = 9;
5635
+ bindingPower[TOK_STAR] = 20;
5636
+ bindingPower[TOK_FILTER] = 21;
5637
+ bindingPower[TOK_DOT] = 40;
5638
+ bindingPower[TOK_NOT] = 45;
5639
+ bindingPower[TOK_LBRACE] = 50;
5640
+ bindingPower[TOK_LBRACKET] = 55;
5641
+ bindingPower[TOK_LPAREN] = 60;
5642
+ function Parser() {}
5643
+ Parser.prototype = {
5644
+ parse: function(expression) {
5645
+ this._loadTokens(expression);
5646
+ this.index = 0;
5647
+ var ast = this.expression(0);
5648
+ if (this._lookahead(0) !== TOK_EOF) {
5649
+ var t = this._lookaheadToken(0);
5650
+ var error = new Error("Unexpected token type: " + t.type + ", value: " + t.value);
5651
+ error.name = "ParserError";
5652
+ throw error;
5653
+ }
5654
+ return ast;
6243
5655
  },
6244
- reverse: {
6245
- _func: this.functionReverse,
6246
- _signature: [{ types: [2, 3] }]
5656
+ _loadTokens: function(expression) {
5657
+ var lexer = new Lexer;
5658
+ var tokens = lexer.tokenize(expression);
5659
+ tokens.push({ type: TOK_EOF, value: "", start: expression.length });
5660
+ this.tokens = tokens;
6247
5661
  },
6248
- sort: {
6249
- _func: this.functionSort,
6250
- _signature: [{ types: [9, 8] }]
5662
+ expression: function(rbp) {
5663
+ var leftToken = this._lookaheadToken(0);
5664
+ this._advance();
5665
+ var left = this.nud(leftToken);
5666
+ var currentToken = this._lookahead(0);
5667
+ while (rbp < bindingPower[currentToken]) {
5668
+ this._advance();
5669
+ left = this.led(currentToken, left);
5670
+ currentToken = this._lookahead(0);
5671
+ }
5672
+ return left;
6251
5673
  },
6252
- sort_by: {
6253
- _func: this.functionSortBy,
6254
- _signature: [{ types: [3] }, { types: [6] }]
5674
+ _lookahead: function(number) {
5675
+ return this.tokens[this.index + number].type;
6255
5676
  },
6256
- split: {
6257
- _func: this.functionSplit,
6258
- _signature: [
6259
- { types: [2] },
6260
- { types: [2] },
6261
- { types: [0], optional: true }
6262
- ]
5677
+ _lookaheadToken: function(number) {
5678
+ return this.tokens[this.index + number];
6263
5679
  },
6264
- starts_with: {
6265
- _func: this.functionStartsWith,
6266
- _signature: [{ types: [2] }, { types: [2] }]
5680
+ _advance: function() {
5681
+ this.index++;
6267
5682
  },
6268
- sum: { _func: this.functionSum, _signature: [{ types: [8] }] },
6269
- to_array: { _func: this.functionToArray, _signature: [{ types: [1] }] },
6270
- to_number: { _func: this.functionToNumber, _signature: [{ types: [1] }] },
6271
- to_string: { _func: this.functionToString, _signature: [{ types: [1] }] },
6272
- trim: {
6273
- _func: this.functionTrim,
6274
- _signature: [{ types: [2] }, { types: [2], optional: true }]
5683
+ nud: function(token) {
5684
+ var left;
5685
+ var right;
5686
+ var expression;
5687
+ switch (token.type) {
5688
+ case TOK_LITERAL:
5689
+ return { type: "Literal", value: token.value };
5690
+ case TOK_UNQUOTEDIDENTIFIER:
5691
+ return { type: "Field", name: token.value };
5692
+ case TOK_QUOTEDIDENTIFIER:
5693
+ var node = { type: "Field", name: token.value };
5694
+ if (this._lookahead(0) === TOK_LPAREN) {
5695
+ throw new Error("Quoted identifier not allowed for function names.");
5696
+ }
5697
+ return node;
5698
+ case TOK_NOT:
5699
+ right = this.expression(bindingPower.Not);
5700
+ return { type: "NotExpression", children: [right] };
5701
+ case TOK_STAR:
5702
+ left = { type: "Identity" };
5703
+ right = null;
5704
+ if (this._lookahead(0) === TOK_RBRACKET) {
5705
+ right = { type: "Identity" };
5706
+ } else {
5707
+ right = this._parseProjectionRHS(bindingPower.Star);
5708
+ }
5709
+ return { type: "ValueProjection", children: [left, right] };
5710
+ case TOK_FILTER:
5711
+ return this.led(token.type, { type: "Identity" });
5712
+ case TOK_LBRACE:
5713
+ return this._parseMultiselectHash();
5714
+ case TOK_FLATTEN:
5715
+ left = { type: TOK_FLATTEN, children: [{ type: "Identity" }] };
5716
+ right = this._parseProjectionRHS(bindingPower.Flatten);
5717
+ return { type: "Projection", children: [left, right] };
5718
+ case TOK_LBRACKET:
5719
+ if (this._lookahead(0) === TOK_NUMBER || this._lookahead(0) === TOK_COLON) {
5720
+ right = this._parseIndexExpression();
5721
+ return this._projectIfSlice({ type: "Identity" }, right);
5722
+ } else if (this._lookahead(0) === TOK_STAR && this._lookahead(1) === TOK_RBRACKET) {
5723
+ this._advance();
5724
+ this._advance();
5725
+ right = this._parseProjectionRHS(bindingPower.Star);
5726
+ return {
5727
+ type: "Projection",
5728
+ children: [{ type: "Identity" }, right]
5729
+ };
5730
+ }
5731
+ return this._parseMultiselectList();
5732
+ case TOK_CURRENT:
5733
+ return { type: TOK_CURRENT };
5734
+ case TOK_EXPREF:
5735
+ expression = this.expression(bindingPower.Expref);
5736
+ return { type: "ExpressionReference", children: [expression] };
5737
+ case TOK_LPAREN:
5738
+ var args = [];
5739
+ while (this._lookahead(0) !== TOK_RPAREN) {
5740
+ if (this._lookahead(0) === TOK_CURRENT) {
5741
+ expression = { type: TOK_CURRENT };
5742
+ this._advance();
5743
+ } else {
5744
+ expression = this.expression(0);
5745
+ }
5746
+ args.push(expression);
5747
+ }
5748
+ this._match(TOK_RPAREN);
5749
+ return args[0];
5750
+ default:
5751
+ this._errorToken(token);
5752
+ }
5753
+ },
5754
+ led: function(tokenName, left) {
5755
+ var right;
5756
+ switch (tokenName) {
5757
+ case TOK_DOT:
5758
+ var rbp = bindingPower.Dot;
5759
+ if (this._lookahead(0) !== TOK_STAR) {
5760
+ right = this._parseDotRHS(rbp);
5761
+ return { type: "Subexpression", children: [left, right] };
5762
+ }
5763
+ this._advance();
5764
+ right = this._parseProjectionRHS(rbp);
5765
+ return { type: "ValueProjection", children: [left, right] };
5766
+ case TOK_PIPE:
5767
+ right = this.expression(bindingPower.Pipe);
5768
+ return { type: TOK_PIPE, children: [left, right] };
5769
+ case TOK_OR:
5770
+ right = this.expression(bindingPower.Or);
5771
+ return { type: "OrExpression", children: [left, right] };
5772
+ case TOK_AND:
5773
+ right = this.expression(bindingPower.And);
5774
+ return { type: "AndExpression", children: [left, right] };
5775
+ case TOK_LPAREN:
5776
+ var name = left.name;
5777
+ var args = [];
5778
+ var expression, node;
5779
+ while (this._lookahead(0) !== TOK_RPAREN) {
5780
+ if (this._lookahead(0) === TOK_CURRENT) {
5781
+ expression = { type: TOK_CURRENT };
5782
+ this._advance();
5783
+ } else {
5784
+ expression = this.expression(0);
5785
+ }
5786
+ if (this._lookahead(0) === TOK_COMMA) {
5787
+ this._match(TOK_COMMA);
5788
+ }
5789
+ args.push(expression);
5790
+ }
5791
+ this._match(TOK_RPAREN);
5792
+ node = { type: "Function", name, children: args };
5793
+ return node;
5794
+ case TOK_FILTER:
5795
+ var condition = this.expression(0);
5796
+ this._match(TOK_RBRACKET);
5797
+ if (this._lookahead(0) === TOK_FLATTEN) {
5798
+ right = { type: "Identity" };
5799
+ } else {
5800
+ right = this._parseProjectionRHS(bindingPower.Filter);
5801
+ }
5802
+ return { type: "FilterProjection", children: [left, right, condition] };
5803
+ case TOK_FLATTEN:
5804
+ var leftNode = { type: TOK_FLATTEN, children: [left] };
5805
+ var rightNode = this._parseProjectionRHS(bindingPower.Flatten);
5806
+ return { type: "Projection", children: [leftNode, rightNode] };
5807
+ case TOK_EQ:
5808
+ case TOK_NE:
5809
+ case TOK_GT:
5810
+ case TOK_GTE:
5811
+ case TOK_LT:
5812
+ case TOK_LTE:
5813
+ return this._parseComparator(left, tokenName);
5814
+ case TOK_LBRACKET:
5815
+ var token = this._lookaheadToken(0);
5816
+ if (token.type === TOK_NUMBER || token.type === TOK_COLON) {
5817
+ right = this._parseIndexExpression();
5818
+ return this._projectIfSlice(left, right);
5819
+ }
5820
+ this._match(TOK_STAR);
5821
+ this._match(TOK_RBRACKET);
5822
+ right = this._parseProjectionRHS(bindingPower.Star);
5823
+ return { type: "Projection", children: [left, right] };
5824
+ default:
5825
+ this._errorToken(this._lookaheadToken(0));
5826
+ }
6275
5827
  },
6276
- trim_left: {
6277
- _func: this.functionTrimLeft,
6278
- _signature: [{ types: [2] }, { types: [2], optional: true }]
5828
+ _match: function(tokenType) {
5829
+ if (this._lookahead(0) === tokenType) {
5830
+ this._advance();
5831
+ } else {
5832
+ var t = this._lookaheadToken(0);
5833
+ var error = new Error("Expected " + tokenType + ", got: " + t.type);
5834
+ error.name = "ParserError";
5835
+ throw error;
5836
+ }
6279
5837
  },
6280
- trim_right: {
6281
- _func: this.functionTrimRight,
6282
- _signature: [{ types: [2] }, { types: [2], optional: true }]
5838
+ _errorToken: function(token) {
5839
+ var error = new Error("Invalid token (" + token.type + '): "' + token.value + '"');
5840
+ error.name = "ParserError";
5841
+ throw error;
6283
5842
  },
6284
- type: { _func: this.functionType, _signature: [{ types: [1] }] },
6285
- zip: { _func: this.functionZip, _signature: [{ types: [3], variadic: true }] }
6286
- };
6287
- }
6288
- registerFunction(name, customFunction, signature, options) {
6289
- const result = this._registerInternal(name, customFunction, signature, options);
6290
- if (!result.success) {
6291
- throw new Error(result.message);
6292
- }
6293
- }
6294
- _registerInternal(name, customFunction, signature, options = {}) {
6295
- if (!name || typeof name !== "string" || name.trim() === "") {
6296
- return {
6297
- success: false,
6298
- reason: "invalid-name",
6299
- message: "Function name must be a non-empty string"
6300
- };
6301
- }
6302
- try {
6303
- this.validateInputSignatures(name, signature);
6304
- } catch (error) {
6305
- return {
6306
- success: false,
6307
- reason: "invalid-signature",
6308
- message: error instanceof Error ? error.message : "Invalid function signature"
6309
- };
6310
- }
6311
- const { override = false, warn = false } = options;
6312
- const exists = name in this._functionTable;
6313
- if (exists && !override) {
6314
- return {
6315
- success: false,
6316
- reason: "already-exists",
6317
- message: `Function already defined: ${name}(). Use { override: true } to replace it.`
6318
- };
6319
- }
6320
- if (exists && override && warn) {
6321
- console.warn(`Warning: Overriding existing function: ${name}()`);
6322
- }
6323
- this._functionTable[name] = {
6324
- _func: customFunction.bind(this),
6325
- _signature: signature
6326
- };
6327
- this._customFunctions.add(name);
6328
- const message = exists ? `Function ${name}() overridden successfully` : `Function ${name}() registered successfully`;
6329
- return { success: true, message };
6330
- }
6331
- register(name, customFunction, signature, options = {}) {
6332
- return this._registerInternal(name, customFunction, signature, options);
6333
- }
6334
- unregister(name) {
6335
- if (!this._customFunctions.has(name)) {
6336
- return false;
6337
- }
6338
- delete this._functionTable[name];
6339
- this._customFunctions.delete(name);
6340
- return true;
6341
- }
6342
- isRegistered(name) {
6343
- return name in this._functionTable;
6344
- }
6345
- getRegistered() {
6346
- return Object.keys(this._functionTable);
6347
- }
6348
- getCustomFunctions() {
6349
- return Array.from(this._customFunctions);
6350
- }
6351
- clearCustomFunctions() {
6352
- for (const name of this._customFunctions) {
6353
- delete this._functionTable[name];
6354
- }
6355
- this._customFunctions.clear();
6356
- }
6357
- callFunction(name, resolvedArgs) {
6358
- const functionEntry = this._functionTable[name];
6359
- if (functionEntry === undefined) {
6360
- throw new Error(`Unknown function: ${name}()`);
6361
- }
6362
- this.validateArgs(name, resolvedArgs, functionEntry._signature);
6363
- return functionEntry._func.call(this, resolvedArgs);
6364
- }
6365
- validateInputSignatures(name, signature) {
6366
- for (let i = 0;i < signature.length; i += 1) {
6367
- if ("variadic" in signature[i] && i !== signature.length - 1) {
6368
- throw new Error(`Invalid arity: ${name}() 'variadic' argument ${i + 1} must occur last`);
6369
- }
6370
- }
6371
- }
6372
- validateArgs(name, args, signature) {
6373
- this.validateInputSignatures(name, signature);
6374
- this.validateArity(name, args, signature);
6375
- this.validateTypes(name, args, signature);
6376
- }
6377
- validateArity(name, args, signature) {
6378
- const numberOfRequiredArgs = signature.filter((argSignature) => !(argSignature.optional ?? false)).length;
6379
- const lastArgIsVariadic = signature[signature.length - 1]?.variadic ?? false;
6380
- const tooFewArgs = args.length < numberOfRequiredArgs;
6381
- const tooManyArgs = args.length > signature.length;
6382
- if (lastArgIsVariadic && tooFewArgs || !lastArgIsVariadic && (tooFewArgs || tooManyArgs)) {
6383
- const tooFewModifier = tooFewArgs && (!lastArgIsVariadic && numberOfRequiredArgs > 1 || lastArgIsVariadic) ? "at least " : "";
6384
- const pluralized = signature.length > 1;
6385
- throw new Error(`Invalid arity: ${name}() takes ${tooFewModifier}${numberOfRequiredArgs} argument${pluralized && "s" || ""} but received ${args.length}`);
6386
- }
6387
- }
6388
- validateTypes(name, args, signature) {
6389
- for (let i = 0;i < signature.length; i += 1) {
6390
- const currentSpec = signature[i].types;
6391
- const actualType = this.getTypeName(args[i]);
6392
- if (actualType === undefined) {
6393
- continue;
6394
- }
6395
- const typeMatched = currentSpec.some((expectedType) => this.typeMatches(actualType, expectedType, args[i]));
6396
- if (!typeMatched) {
6397
- const expected = currentSpec.map((typeId) => this.TYPE_NAME_TABLE[typeId]).join(" | ");
6398
- throw new Error(`Invalid type: ${name}() expected argument ${i + 1} to be type (${expected}) but received type ${this.TYPE_NAME_TABLE[actualType]} instead.`);
6399
- }
6400
- }
6401
- }
6402
- typeMatches(actual, expected, argValue) {
6403
- if (expected === 1) {
6404
- return true;
6405
- }
6406
- if (expected === 9 || expected === 8 || expected === 10 || expected === 11 || expected === 3) {
6407
- if (expected === 3) {
6408
- return actual === 3;
6409
- }
6410
- if (actual === 3) {
6411
- let subtype;
6412
- if (expected === 8) {
6413
- subtype = 0;
6414
- } else if (expected === 10) {
6415
- subtype = 4;
6416
- } else if (expected === 9) {
6417
- subtype = 2;
6418
- } else if (expected === 11) {
6419
- subtype = 3;
6420
- }
6421
- const array = argValue;
6422
- for (let i = 0;i < array.length; i += 1) {
6423
- const typeName = this.getTypeName(array[i]);
6424
- if (typeName !== undefined && subtype !== undefined && !this.typeMatches(typeName, subtype, array[i])) {
6425
- return false;
5843
+ _parseIndexExpression: function() {
5844
+ if (this._lookahead(0) === TOK_COLON || this._lookahead(1) === TOK_COLON) {
5845
+ return this._parseSliceExpression();
5846
+ } else {
5847
+ var node = {
5848
+ type: "Index",
5849
+ value: this._lookaheadToken(0).value
5850
+ };
5851
+ this._advance();
5852
+ this._match(TOK_RBRACKET);
5853
+ return node;
5854
+ }
5855
+ },
5856
+ _projectIfSlice: function(left, right) {
5857
+ var indexExpr = { type: "IndexExpression", children: [left, right] };
5858
+ if (right.type === "Slice") {
5859
+ return {
5860
+ type: "Projection",
5861
+ children: [indexExpr, this._parseProjectionRHS(bindingPower.Star)]
5862
+ };
5863
+ } else {
5864
+ return indexExpr;
5865
+ }
5866
+ },
5867
+ _parseSliceExpression: function() {
5868
+ var parts = [null, null, null];
5869
+ var index = 0;
5870
+ var currentToken = this._lookahead(0);
5871
+ while (currentToken !== TOK_RBRACKET && index < 3) {
5872
+ if (currentToken === TOK_COLON) {
5873
+ index++;
5874
+ this._advance();
5875
+ } else if (currentToken === TOK_NUMBER) {
5876
+ parts[index] = this._lookaheadToken(0).value;
5877
+ this._advance();
5878
+ } else {
5879
+ var t = this._lookahead(0);
5880
+ var error = new Error("Syntax error, unexpected token: " + t.value + "(" + t.type + ")");
5881
+ error.name = "Parsererror";
5882
+ throw error;
6426
5883
  }
5884
+ currentToken = this._lookahead(0);
6427
5885
  }
6428
- return true;
6429
- }
6430
- } else {
6431
- return actual === expected;
6432
- }
6433
- return false;
6434
- }
6435
- getTypeName(obj) {
6436
- if (obj === null) {
6437
- return 7;
6438
- }
6439
- if (typeof obj === "string") {
6440
- return 2;
6441
- }
6442
- if (typeof obj === "number") {
6443
- return 0;
6444
- }
6445
- if (typeof obj === "boolean") {
6446
- return 5;
6447
- }
6448
- if (Array.isArray(obj)) {
6449
- return 3;
6450
- }
6451
- if (typeof obj === "object") {
6452
- if (obj.expref) {
6453
- return 6;
6454
- }
6455
- return 4;
6456
- }
6457
- return;
6458
- }
6459
- createKeyFunction(exprefNode, allowedTypes) {
6460
- const interpreter = this._interpreter;
6461
- const keyFunc = (x) => {
6462
- const current = interpreter.visit(exprefNode, x);
6463
- if (!allowedTypes.includes(this.getTypeName(current))) {
6464
- const msg = `Invalid type: expected one of (${allowedTypes.map((t) => this.TYPE_NAME_TABLE[t]).join(" | ")}), received ${this.TYPE_NAME_TABLE[this.getTypeName(current)]}`;
6465
- throw new Error(msg);
6466
- }
6467
- return current;
6468
- };
6469
- return keyFunc;
6470
- }
6471
- functionAvg = ([inputArray]) => {
6472
- if (!inputArray || inputArray.length == 0) {
6473
- return null;
6474
- }
6475
- let sum = 0;
6476
- for (let i = 0;i < inputArray.length; i += 1) {
6477
- sum += inputArray[i];
6478
- }
6479
- return sum / inputArray.length;
6480
- };
6481
- functionContains = ([
6482
- searchable,
6483
- searchValue
6484
- ]) => {
6485
- if (Array.isArray(searchable)) {
6486
- const array = searchable;
6487
- return array.includes(searchValue);
6488
- }
6489
- if (typeof searchable === "string") {
6490
- const text = searchable;
6491
- if (typeof searchValue === "string") {
6492
- return text.includes(searchValue);
6493
- }
6494
- }
6495
- return null;
6496
- };
6497
- functionEndsWith = (resolvedArgs) => {
6498
- const [searchStr, suffix] = resolvedArgs;
6499
- return searchStr.includes(suffix, searchStr.length - suffix.length);
6500
- };
6501
- functionFindFirst = this.createFindFunction(findFirst2);
6502
- functionFindLast = this.createFindFunction(findLast);
6503
- createFindFunction(findFn) {
6504
- return (resolvedArgs) => {
6505
- const subject = resolvedArgs[0];
6506
- const search2 = resolvedArgs[1];
6507
- const start = resolvedArgs.length > 2 ? resolvedArgs[2] : undefined;
6508
- const end = resolvedArgs.length > 3 ? resolvedArgs[3] : undefined;
6509
- return findFn(subject, search2, start, end);
6510
- };
6511
- }
6512
- functionFromItems = ([array]) => {
6513
- array.map((pair) => {
6514
- if (pair.length != 2 || typeof pair[0] !== "string") {
6515
- throw new Error("invalid value, each array must contain two elements, a pair of string and value");
6516
- }
6517
- });
6518
- return Object.fromEntries(array);
6519
- };
6520
- functionGroupBy = ([array, exprefNode]) => {
6521
- const keyFunction = this.createKeyFunction(exprefNode, [2]);
6522
- return array.reduce((acc, cur) => {
6523
- const k = keyFunction(cur ?? {});
6524
- const target = acc[k] = acc[k] || [];
6525
- target.push(cur);
6526
- return acc;
6527
- }, {});
6528
- };
6529
- functionItems = ([inputValue]) => {
6530
- return Object.entries(inputValue);
6531
- };
6532
- functionJoin = (resolvedArgs) => {
6533
- const [joinChar, listJoin] = resolvedArgs;
6534
- return listJoin.join(joinChar);
6535
- };
6536
- functionLength = ([inputValue]) => {
6537
- if (typeof inputValue === "string") {
6538
- return new Text(inputValue).length;
6539
- }
6540
- if (Array.isArray(inputValue)) {
6541
- return inputValue.length;
6542
- }
6543
- return Object.keys(inputValue).length;
6544
- };
6545
- functionMap = ([exprefNode, elements]) => {
6546
- if (!this._interpreter) {
6547
- return [];
6548
- }
6549
- const mapped = [];
6550
- const interpreter = this._interpreter;
6551
- for (let i = 0;i < elements.length; i += 1) {
6552
- mapped.push(interpreter.visit(exprefNode, elements[i]));
6553
- }
6554
- return mapped;
6555
- };
6556
- functionMax = ([inputValue]) => {
6557
- if (!inputValue.length) {
6558
- return null;
6559
- }
6560
- const typeName = this.getTypeName(inputValue[0]);
6561
- if (typeName === 0) {
6562
- return Math.max(...inputValue);
6563
- }
6564
- const elements = inputValue;
6565
- let maxElement = elements[0];
6566
- for (let i = 1;i < elements.length; i += 1) {
6567
- if (maxElement.localeCompare(elements[i]) < 0) {
6568
- maxElement = elements[i];
6569
- }
6570
- }
6571
- return maxElement;
6572
- };
6573
- functionMaxBy = (resolvedArgs) => {
6574
- const exprefNode = resolvedArgs[1];
6575
- const resolvedArray = resolvedArgs[0];
6576
- const keyFunction = this.createKeyFunction(exprefNode, [0, 2]);
6577
- let maxNumber = -Infinity;
6578
- let maxRecord;
6579
- let current;
6580
- for (let i = 0;i < resolvedArray.length; i += 1) {
6581
- current = keyFunction && keyFunction(resolvedArray[i]);
6582
- if (current !== undefined && current > maxNumber) {
6583
- maxNumber = current;
6584
- maxRecord = resolvedArray[i];
6585
- }
6586
- }
6587
- return maxRecord || null;
6588
- };
6589
- functionMerge = (resolvedArgs) => {
6590
- let merged = {};
6591
- for (let i = 0;i < resolvedArgs.length; i += 1) {
6592
- const current = resolvedArgs[i];
6593
- merged = Object.assign(merged, current);
6594
- }
6595
- return merged;
6596
- };
6597
- functionMin = ([inputValue]) => {
6598
- if (!inputValue.length) {
6599
- return null;
6600
- }
6601
- const typeName = this.getTypeName(inputValue[0]);
6602
- if (typeName === 0) {
6603
- return Math.min(...inputValue);
6604
- }
6605
- const elements = inputValue;
6606
- let minElement = elements[0];
6607
- for (let i = 1;i < elements.length; i += 1) {
6608
- if (elements[i].localeCompare(minElement) < 0) {
6609
- minElement = elements[i];
6610
- }
6611
- }
6612
- return minElement;
6613
- };
6614
- functionMinBy = (resolvedArgs) => {
6615
- const exprefNode = resolvedArgs[1];
6616
- const resolvedArray = resolvedArgs[0];
6617
- const keyFunction = this.createKeyFunction(exprefNode, [0, 2]);
6618
- let minNumber = Infinity;
6619
- let minRecord;
6620
- let current;
6621
- for (let i = 0;i < resolvedArray.length; i += 1) {
6622
- current = keyFunction && keyFunction(resolvedArray[i]);
6623
- if (current !== undefined && current < minNumber) {
6624
- minNumber = current;
6625
- minRecord = resolvedArray[i];
6626
- }
6627
- }
6628
- return minRecord || null;
6629
- };
6630
- functionNotNull = (resolvedArgs) => {
6631
- for (let i = 0;i < resolvedArgs.length; i += 1) {
6632
- if (this.getTypeName(resolvedArgs[i]) !== 7) {
6633
- return resolvedArgs[i];
6634
- }
6635
- }
6636
- return null;
6637
- };
6638
- functionPadLeft = this.createPadFunction(padLeft);
6639
- functionPadRight = this.createPadFunction(padRight);
6640
- createPadFunction(padFn) {
6641
- return (resolvedArgs) => {
6642
- const subject = resolvedArgs[0];
6643
- const width = resolvedArgs[1];
6644
- const padding = resolvedArgs.length > 2 ? resolvedArgs[2] : undefined;
6645
- return padFn(subject, width, padding);
6646
- };
6647
- }
6648
- functionReplace = (resolvedArgs) => {
6649
- const subject = resolvedArgs[0];
6650
- const string = resolvedArgs[1];
6651
- const by = resolvedArgs[2];
6652
- return replace(subject, string, by, resolvedArgs.length > 3 ? resolvedArgs[3] : undefined);
6653
- };
6654
- functionSplit = (resolvedArgs) => {
6655
- const subject = resolvedArgs[0];
6656
- const search2 = resolvedArgs[1];
6657
- return split(subject, search2, resolvedArgs.length > 2 ? resolvedArgs[2] : undefined);
6658
- };
6659
- functionReverse = ([inputValue]) => {
6660
- const typeName = this.getTypeName(inputValue);
6661
- if (typeName === 2) {
6662
- return new Text(inputValue).reverse();
6663
- }
6664
- const reversedArray = inputValue.slice(0);
6665
- reversedArray.reverse();
6666
- return reversedArray;
6667
- };
6668
- functionSort = ([inputValue]) => {
6669
- if (inputValue.length == 0) {
6670
- return inputValue;
6671
- }
6672
- if (typeof inputValue[0] === "string") {
6673
- return [...inputValue].sort(Text.comparer);
6674
- }
6675
- return [...inputValue].sort();
6676
- };
6677
- functionSortBy = (resolvedArgs) => {
6678
- const sortedArray = resolvedArgs[0].slice(0);
6679
- if (sortedArray.length === 0) {
6680
- return sortedArray;
6681
- }
6682
- const interpreter = this._interpreter;
6683
- const exprefNode = resolvedArgs[1];
6684
- const requiredType = this.getTypeName(interpreter.visit(exprefNode, sortedArray[0]));
6685
- if (requiredType !== undefined && ![0, 2].includes(requiredType)) {
6686
- throw new Error(`Invalid type: unexpected type (${this.TYPE_NAME_TABLE[requiredType]})`);
6687
- }
6688
- function throwInvalidTypeError(rt, item) {
6689
- throw new Error(`Invalid type: expected (${rt.TYPE_NAME_TABLE[requiredType]}), received ${rt.TYPE_NAME_TABLE[rt.getTypeName(item)]}`);
6690
- }
6691
- return sortedArray.sort((a, b) => {
6692
- const exprA = interpreter.visit(exprefNode, a);
6693
- const exprB = interpreter.visit(exprefNode, b);
6694
- if (this.getTypeName(exprA) !== requiredType) {
6695
- throwInvalidTypeError(this, exprA);
6696
- } else if (this.getTypeName(exprB) !== requiredType) {
6697
- throwInvalidTypeError(this, exprB);
6698
- }
6699
- if (requiredType === 2) {
6700
- return Text.comparer(exprA, exprB);
6701
- }
6702
- return exprA - exprB;
6703
- });
6704
- };
6705
- functionStartsWith = ([searchable, searchStr]) => {
6706
- return searchable.startsWith(searchStr);
6707
- };
6708
- functionSum = ([inputValue]) => {
6709
- return inputValue.reduce((x, y) => x + y, 0);
6710
- };
6711
- functionToArray = ([inputValue]) => {
6712
- if (this.getTypeName(inputValue) === 3) {
6713
- return inputValue;
6714
- }
6715
- return [inputValue];
6716
- };
6717
- functionToNumber = ([inputValue]) => {
6718
- const typeName = this.getTypeName(inputValue);
6719
- let convertedValue;
6720
- if (typeName === 0) {
6721
- return inputValue;
6722
- }
6723
- if (typeName === 2) {
6724
- convertedValue = +inputValue;
6725
- if (!isNaN(convertedValue)) {
6726
- return convertedValue;
6727
- }
6728
- }
6729
- return null;
6730
- };
6731
- functionToString = ([inputValue]) => {
6732
- if (this.getTypeName(inputValue) === 2) {
6733
- return inputValue;
6734
- }
6735
- return JSON.stringify(inputValue);
6736
- };
6737
- functionTrim = this.createTrimFunction(trim);
6738
- functionTrimLeft = this.createTrimFunction(trimLeft);
6739
- functionTrimRight = this.createTrimFunction(trimRight);
6740
- createTrimFunction(trimFn) {
6741
- return (resolvedArgs) => {
6742
- const subject = resolvedArgs[0];
6743
- const chars = resolvedArgs.length > 1 ? resolvedArgs[1] : undefined;
6744
- return trimFn(subject, chars);
6745
- };
6746
- }
6747
- functionType = ([inputValue]) => {
6748
- switch (this.getTypeName(inputValue)) {
6749
- case 0:
6750
- return "number";
6751
- case 2:
6752
- return "string";
6753
- case 3:
6754
- return "array";
6755
- case 4:
6756
- return "object";
6757
- case 5:
6758
- return "boolean";
6759
- case 7:
6760
- return "null";
6761
- default:
6762
- throw new Error("invalid-type");
6763
- }
6764
- };
6765
- functionZip = (array) => {
6766
- const length = Math.min(...array.map((arr) => arr.length));
6767
- const result = Array(length).fill(null).map((_, index) => array.map((arr) => arr[index]));
6768
- return result;
6769
- };
6770
- }, ScopeChain = class _ScopeChain {
6771
- inner = undefined;
6772
- data = {};
6773
- get currentScopeData() {
6774
- return this.data;
6775
- }
6776
- withScope(data) {
6777
- const outer = new _ScopeChain;
6778
- outer.inner = this;
6779
- outer.data = data;
6780
- return outer;
6781
- }
6782
- getValue(identifier) {
6783
- if (Object.prototype.hasOwnProperty.call(this.data, identifier)) {
6784
- return this.data[identifier];
6785
- }
6786
- if (this.inner) {
6787
- return this.inner.getValue(identifier);
6788
- }
6789
- return null;
6790
- }
6791
- }, emptyScopeChain, TreeInterpreter = class _TreeInterpreter {
6792
- runtime;
6793
- _rootValue = null;
6794
- _scope;
6795
- constructor() {
6796
- this.runtime = new Runtime(this);
6797
- this._scope = new ScopeChain;
6798
- }
6799
- withScope(scope) {
6800
- const interpreter = new _TreeInterpreter;
6801
- interpreter.runtime._functionTable = this.runtime._functionTable;
6802
- interpreter._rootValue = this._rootValue;
6803
- interpreter._scope = this._scope.withScope(scope);
6804
- return interpreter;
6805
- }
6806
- search(node, value) {
6807
- this._rootValue = value;
6808
- this._scope = emptyScopeChain;
6809
- return this.visit(node, value);
6810
- }
6811
- visit(node, value) {
6812
- switch (node.type) {
6813
- case "Ternary": {
6814
- const condition = this.visit(node.condition, value);
6815
- if (!isFalse(condition)) {
6816
- return this.visit(node.trueExpr, value);
6817
- }
6818
- return this.visit(node.falseExpr, value);
6819
- }
6820
- case "Field":
6821
- const identifier = node.name;
6822
- if (value === null || typeof value !== "object" || Array.isArray(value)) {
6823
- return null;
5886
+ this._match(TOK_RBRACKET);
5887
+ return {
5888
+ type: "Slice",
5889
+ children: parts
5890
+ };
5891
+ },
5892
+ _parseComparator: function(left, comparator) {
5893
+ var right = this.expression(bindingPower[comparator]);
5894
+ return { type: "Comparator", name: comparator, children: [left, right] };
5895
+ },
5896
+ _parseDotRHS: function(rbp) {
5897
+ var lookahead = this._lookahead(0);
5898
+ var exprTokens = [TOK_UNQUOTEDIDENTIFIER, TOK_QUOTEDIDENTIFIER, TOK_STAR];
5899
+ if (exprTokens.indexOf(lookahead) >= 0) {
5900
+ return this.expression(rbp);
5901
+ } else if (lookahead === TOK_LBRACKET) {
5902
+ this._match(TOK_LBRACKET);
5903
+ return this._parseMultiselectList();
5904
+ } else if (lookahead === TOK_LBRACE) {
5905
+ this._match(TOK_LBRACE);
5906
+ return this._parseMultiselectHash();
5907
+ }
5908
+ },
5909
+ _parseProjectionRHS: function(rbp) {
5910
+ var right;
5911
+ if (bindingPower[this._lookahead(0)] < 10) {
5912
+ right = { type: "Identity" };
5913
+ } else if (this._lookahead(0) === TOK_LBRACKET) {
5914
+ right = this.expression(rbp);
5915
+ } else if (this._lookahead(0) === TOK_FILTER) {
5916
+ right = this.expression(rbp);
5917
+ } else if (this._lookahead(0) === TOK_DOT) {
5918
+ this._match(TOK_DOT);
5919
+ right = this._parseDotRHS(rbp);
5920
+ } else {
5921
+ var t = this._lookaheadToken(0);
5922
+ var error = new Error("Sytanx error, unexpected token: " + t.value + "(" + t.type + ")");
5923
+ error.name = "ParserError";
5924
+ throw error;
6824
5925
  }
6825
- return value[identifier] ?? null;
6826
- case "LetExpression": {
6827
- const { bindings, expression } = node;
6828
- let scope = {};
6829
- bindings.forEach((binding) => {
6830
- const reference = this.visit(binding, value);
6831
- scope = {
6832
- ...scope,
6833
- ...reference
6834
- };
6835
- });
6836
- return this.withScope(scope).visit(expression, value);
6837
- }
6838
- case "Binding": {
6839
- const { variable, reference } = node;
6840
- const result = this.visit(reference, value);
6841
- return { [variable]: result };
6842
- }
6843
- case "Variable": {
6844
- const variable = node.name;
6845
- if (!this._scope.getValue(variable) && !Object.prototype.hasOwnProperty.call(this._scope.currentScopeData, variable)) {
6846
- throw new Error(`Error referencing undefined variable ${variable}`);
5926
+ return right;
5927
+ },
5928
+ _parseMultiselectList: function() {
5929
+ var expressions = [];
5930
+ while (this._lookahead(0) !== TOK_RBRACKET) {
5931
+ var expression = this.expression(0);
5932
+ expressions.push(expression);
5933
+ if (this._lookahead(0) === TOK_COMMA) {
5934
+ this._match(TOK_COMMA);
5935
+ if (this._lookahead(0) === TOK_RBRACKET) {
5936
+ throw new Error("Unexpected token Rbracket");
5937
+ }
5938
+ }
5939
+ }
5940
+ this._match(TOK_RBRACKET);
5941
+ return { type: "MultiSelectList", children: expressions };
5942
+ },
5943
+ _parseMultiselectHash: function() {
5944
+ var pairs2 = [];
5945
+ var identifierTypes = [TOK_UNQUOTEDIDENTIFIER, TOK_QUOTEDIDENTIFIER];
5946
+ var keyToken, keyName, value, node;
5947
+ for (;; ) {
5948
+ keyToken = this._lookaheadToken(0);
5949
+ if (identifierTypes.indexOf(keyToken.type) < 0) {
5950
+ throw new Error("Expecting an identifier token, got: " + keyToken.type);
5951
+ }
5952
+ keyName = keyToken.value;
5953
+ this._advance();
5954
+ this._match(TOK_COLON);
5955
+ value = this.expression(0);
5956
+ node = { type: "KeyValuePair", name: keyName, value };
5957
+ pairs2.push(node);
5958
+ if (this._lookahead(0) === TOK_COMMA) {
5959
+ this._match(TOK_COMMA);
5960
+ } else if (this._lookahead(0) === TOK_RBRACE) {
5961
+ this._match(TOK_RBRACE);
5962
+ break;
5963
+ }
6847
5964
  }
6848
- return this._scope.getValue(variable);
6849
- }
6850
- case "IndexExpression":
6851
- return this.visit(node.right, this.visit(node.left, value));
6852
- case "Subexpression": {
6853
- const result = this.visit(node.left, value);
6854
- return result != null ? this.visit(node.right, result) ?? null : null;
5965
+ return { type: "MultiSelectHash", children: pairs2 };
6855
5966
  }
6856
- case "Index": {
6857
- if (!Array.isArray(value)) {
6858
- return null;
5967
+ };
5968
+ function TreeInterpreter(runtime) {
5969
+ this.runtime = runtime;
5970
+ }
5971
+ TreeInterpreter.prototype = {
5972
+ search: function(node, value) {
5973
+ return this.visit(node, value);
5974
+ },
5975
+ visit: function(node, value) {
5976
+ var matched, current, result, first, second, field, left, right, collected, i;
5977
+ switch (node.type) {
5978
+ case "Field":
5979
+ if (value !== null && isObject(value)) {
5980
+ field = value[node.name];
5981
+ if (field === undefined) {
5982
+ return null;
5983
+ } else {
5984
+ return field;
5985
+ }
5986
+ }
5987
+ return null;
5988
+ case "Subexpression":
5989
+ result = this.visit(node.children[0], value);
5990
+ for (i = 1;i < node.children.length; i++) {
5991
+ result = this.visit(node.children[1], result);
5992
+ if (result === null) {
5993
+ return null;
5994
+ }
5995
+ }
5996
+ return result;
5997
+ case "IndexExpression":
5998
+ left = this.visit(node.children[0], value);
5999
+ right = this.visit(node.children[1], left);
6000
+ return right;
6001
+ case "Index":
6002
+ if (!isArray(value)) {
6003
+ return null;
6004
+ }
6005
+ var index = node.value;
6006
+ if (index < 0) {
6007
+ index = value.length + index;
6008
+ }
6009
+ result = value[index];
6010
+ if (result === undefined) {
6011
+ result = null;
6012
+ }
6013
+ return result;
6014
+ case "Slice":
6015
+ if (!isArray(value)) {
6016
+ return null;
6017
+ }
6018
+ var sliceParams = node.children.slice(0);
6019
+ var computed = this.computeSliceParams(value.length, sliceParams);
6020
+ var start = computed[0];
6021
+ var stop = computed[1];
6022
+ var step = computed[2];
6023
+ result = [];
6024
+ if (step > 0) {
6025
+ for (i = start;i < stop; i += step) {
6026
+ result.push(value[i]);
6027
+ }
6028
+ } else {
6029
+ for (i = start;i > stop; i += step) {
6030
+ result.push(value[i]);
6031
+ }
6032
+ }
6033
+ return result;
6034
+ case "Projection":
6035
+ var base = this.visit(node.children[0], value);
6036
+ if (!isArray(base)) {
6037
+ return null;
6038
+ }
6039
+ collected = [];
6040
+ for (i = 0;i < base.length; i++) {
6041
+ current = this.visit(node.children[1], base[i]);
6042
+ if (current !== null) {
6043
+ collected.push(current);
6044
+ }
6045
+ }
6046
+ return collected;
6047
+ case "ValueProjection":
6048
+ base = this.visit(node.children[0], value);
6049
+ if (!isObject(base)) {
6050
+ return null;
6051
+ }
6052
+ collected = [];
6053
+ var values = objValues(base);
6054
+ for (i = 0;i < values.length; i++) {
6055
+ current = this.visit(node.children[1], values[i]);
6056
+ if (current !== null) {
6057
+ collected.push(current);
6058
+ }
6059
+ }
6060
+ return collected;
6061
+ case "FilterProjection":
6062
+ base = this.visit(node.children[0], value);
6063
+ if (!isArray(base)) {
6064
+ return null;
6065
+ }
6066
+ var filtered = [];
6067
+ var finalResults = [];
6068
+ for (i = 0;i < base.length; i++) {
6069
+ matched = this.visit(node.children[2], base[i]);
6070
+ if (!isFalse(matched)) {
6071
+ filtered.push(base[i]);
6072
+ }
6073
+ }
6074
+ for (var j = 0;j < filtered.length; j++) {
6075
+ current = this.visit(node.children[1], filtered[j]);
6076
+ if (current !== null) {
6077
+ finalResults.push(current);
6078
+ }
6079
+ }
6080
+ return finalResults;
6081
+ case "Comparator":
6082
+ first = this.visit(node.children[0], value);
6083
+ second = this.visit(node.children[1], value);
6084
+ switch (node.name) {
6085
+ case TOK_EQ:
6086
+ result = strictDeepEqual(first, second);
6087
+ break;
6088
+ case TOK_NE:
6089
+ result = !strictDeepEqual(first, second);
6090
+ break;
6091
+ case TOK_GT:
6092
+ result = first > second;
6093
+ break;
6094
+ case TOK_GTE:
6095
+ result = first >= second;
6096
+ break;
6097
+ case TOK_LT:
6098
+ result = first < second;
6099
+ break;
6100
+ case TOK_LTE:
6101
+ result = first <= second;
6102
+ break;
6103
+ default:
6104
+ throw new Error("Unknown comparator: " + node.name);
6105
+ }
6106
+ return result;
6107
+ case TOK_FLATTEN:
6108
+ var original = this.visit(node.children[0], value);
6109
+ if (!isArray(original)) {
6110
+ return null;
6111
+ }
6112
+ var merged = [];
6113
+ for (i = 0;i < original.length; i++) {
6114
+ current = original[i];
6115
+ if (isArray(current)) {
6116
+ merged.push.apply(merged, current);
6117
+ } else {
6118
+ merged.push(current);
6119
+ }
6120
+ }
6121
+ return merged;
6122
+ case "Identity":
6123
+ return value;
6124
+ case "MultiSelectList":
6125
+ if (value === null) {
6126
+ return null;
6127
+ }
6128
+ collected = [];
6129
+ for (i = 0;i < node.children.length; i++) {
6130
+ collected.push(this.visit(node.children[i], value));
6131
+ }
6132
+ return collected;
6133
+ case "MultiSelectHash":
6134
+ if (value === null) {
6135
+ return null;
6136
+ }
6137
+ collected = {};
6138
+ var child;
6139
+ for (i = 0;i < node.children.length; i++) {
6140
+ child = node.children[i];
6141
+ collected[child.name] = this.visit(child.value, value);
6142
+ }
6143
+ return collected;
6144
+ case "OrExpression":
6145
+ matched = this.visit(node.children[0], value);
6146
+ if (isFalse(matched)) {
6147
+ matched = this.visit(node.children[1], value);
6148
+ }
6149
+ return matched;
6150
+ case "AndExpression":
6151
+ first = this.visit(node.children[0], value);
6152
+ if (isFalse(first) === true) {
6153
+ return first;
6154
+ }
6155
+ return this.visit(node.children[1], value);
6156
+ case "NotExpression":
6157
+ first = this.visit(node.children[0], value);
6158
+ return isFalse(first);
6159
+ case "Literal":
6160
+ return node.value;
6161
+ case TOK_PIPE:
6162
+ left = this.visit(node.children[0], value);
6163
+ return this.visit(node.children[1], left);
6164
+ case TOK_CURRENT:
6165
+ return value;
6166
+ case "Function":
6167
+ var resolvedArgs = [];
6168
+ for (i = 0;i < node.children.length; i++) {
6169
+ resolvedArgs.push(this.visit(node.children[i], value));
6170
+ }
6171
+ return this.runtime.callFunction(node.name, resolvedArgs);
6172
+ case "ExpressionReference":
6173
+ var refNode = node.children[0];
6174
+ refNode.jmespathType = TOK_EXPREF;
6175
+ return refNode;
6176
+ default:
6177
+ throw new Error("Unknown node type: " + node.type);
6178
+ }
6179
+ },
6180
+ computeSliceParams: function(arrayLength, sliceParams) {
6181
+ var start = sliceParams[0];
6182
+ var stop = sliceParams[1];
6183
+ var step = sliceParams[2];
6184
+ var computed = [null, null, null];
6185
+ if (step === null) {
6186
+ step = 1;
6187
+ } else if (step === 0) {
6188
+ var error = new Error("Invalid slice, step cannot be 0");
6189
+ error.name = "RuntimeError";
6190
+ throw error;
6859
6191
  }
6860
- const index = node.value < 0 ? value.length + node.value : node.value;
6861
- return value[index] ?? null;
6862
- }
6863
- case "Slice": {
6864
- if (!Array.isArray(value) && typeof value !== "string") {
6865
- return null;
6192
+ var stepValueNegative = step < 0 ? true : false;
6193
+ if (start === null) {
6194
+ start = stepValueNegative ? arrayLength - 1 : 0;
6195
+ } else {
6196
+ start = this.capSliceRange(arrayLength, start, step);
6866
6197
  }
6867
- const { start, stop, step } = this.computeSliceParams(value.length, node);
6868
- if (typeof value === "string") {
6869
- const chars = [...value];
6870
- const sliced = this.slice(chars, start, stop, step);
6871
- return sliced.join("");
6198
+ if (stop === null) {
6199
+ stop = stepValueNegative ? -1 : arrayLength;
6872
6200
  } else {
6873
- return this.slice(value, start, stop, step);
6201
+ stop = this.capSliceRange(arrayLength, stop, step);
6202
+ }
6203
+ computed[0] = start;
6204
+ computed[1] = stop;
6205
+ computed[2] = step;
6206
+ return computed;
6207
+ },
6208
+ capSliceRange: function(arrayLength, actualValue, step) {
6209
+ if (actualValue < 0) {
6210
+ actualValue += arrayLength;
6211
+ if (actualValue < 0) {
6212
+ actualValue = step < 0 ? -1 : 0;
6213
+ }
6214
+ } else if (actualValue >= arrayLength) {
6215
+ actualValue = step < 0 ? arrayLength - 1 : arrayLength;
6216
+ }
6217
+ return actualValue;
6218
+ }
6219
+ };
6220
+ function Runtime(interpreter) {
6221
+ this._interpreter = interpreter;
6222
+ this.functionTable = {
6223
+ abs: { _func: this._functionAbs, _signature: [{ types: [TYPE_NUMBER] }] },
6224
+ avg: { _func: this._functionAvg, _signature: [{ types: [TYPE_ARRAY_NUMBER] }] },
6225
+ ceil: { _func: this._functionCeil, _signature: [{ types: [TYPE_NUMBER] }] },
6226
+ contains: {
6227
+ _func: this._functionContains,
6228
+ _signature: [
6229
+ { types: [TYPE_STRING, TYPE_ARRAY] },
6230
+ { types: [TYPE_ANY] }
6231
+ ]
6232
+ },
6233
+ ends_with: {
6234
+ _func: this._functionEndsWith,
6235
+ _signature: [{ types: [TYPE_STRING] }, { types: [TYPE_STRING] }]
6236
+ },
6237
+ floor: { _func: this._functionFloor, _signature: [{ types: [TYPE_NUMBER] }] },
6238
+ length: {
6239
+ _func: this._functionLength,
6240
+ _signature: [{ types: [TYPE_STRING, TYPE_ARRAY, TYPE_OBJECT] }]
6241
+ },
6242
+ map: {
6243
+ _func: this._functionMap,
6244
+ _signature: [{ types: [TYPE_EXPREF] }, { types: [TYPE_ARRAY] }]
6245
+ },
6246
+ max: {
6247
+ _func: this._functionMax,
6248
+ _signature: [{ types: [TYPE_ARRAY_NUMBER, TYPE_ARRAY_STRING] }]
6249
+ },
6250
+ merge: {
6251
+ _func: this._functionMerge,
6252
+ _signature: [{ types: [TYPE_OBJECT], variadic: true }]
6253
+ },
6254
+ max_by: {
6255
+ _func: this._functionMaxBy,
6256
+ _signature: [{ types: [TYPE_ARRAY] }, { types: [TYPE_EXPREF] }]
6257
+ },
6258
+ sum: { _func: this._functionSum, _signature: [{ types: [TYPE_ARRAY_NUMBER] }] },
6259
+ starts_with: {
6260
+ _func: this._functionStartsWith,
6261
+ _signature: [{ types: [TYPE_STRING] }, { types: [TYPE_STRING] }]
6262
+ },
6263
+ min: {
6264
+ _func: this._functionMin,
6265
+ _signature: [{ types: [TYPE_ARRAY_NUMBER, TYPE_ARRAY_STRING] }]
6266
+ },
6267
+ min_by: {
6268
+ _func: this._functionMinBy,
6269
+ _signature: [{ types: [TYPE_ARRAY] }, { types: [TYPE_EXPREF] }]
6270
+ },
6271
+ type: { _func: this._functionType, _signature: [{ types: [TYPE_ANY] }] },
6272
+ keys: { _func: this._functionKeys, _signature: [{ types: [TYPE_OBJECT] }] },
6273
+ values: { _func: this._functionValues, _signature: [{ types: [TYPE_OBJECT] }] },
6274
+ sort: { _func: this._functionSort, _signature: [{ types: [TYPE_ARRAY_STRING, TYPE_ARRAY_NUMBER] }] },
6275
+ sort_by: {
6276
+ _func: this._functionSortBy,
6277
+ _signature: [{ types: [TYPE_ARRAY] }, { types: [TYPE_EXPREF] }]
6278
+ },
6279
+ join: {
6280
+ _func: this._functionJoin,
6281
+ _signature: [
6282
+ { types: [TYPE_STRING] },
6283
+ { types: [TYPE_ARRAY_STRING] }
6284
+ ]
6285
+ },
6286
+ reverse: {
6287
+ _func: this._functionReverse,
6288
+ _signature: [{ types: [TYPE_STRING, TYPE_ARRAY] }]
6289
+ },
6290
+ to_array: { _func: this._functionToArray, _signature: [{ types: [TYPE_ANY] }] },
6291
+ to_string: { _func: this._functionToString, _signature: [{ types: [TYPE_ANY] }] },
6292
+ to_number: { _func: this._functionToNumber, _signature: [{ types: [TYPE_ANY] }] },
6293
+ not_null: {
6294
+ _func: this._functionNotNull,
6295
+ _signature: [{ types: [TYPE_ANY], variadic: true }]
6874
6296
  }
6875
- }
6876
- case "Projection": {
6877
- const { left, right } = node;
6878
- let allowString = false;
6879
- if (left.type === "IndexExpression" && left.right.type === "Slice") {
6880
- allowString = true;
6297
+ };
6298
+ }
6299
+ Runtime.prototype = {
6300
+ callFunction: function(name, resolvedArgs) {
6301
+ var functionEntry = this.functionTable[name];
6302
+ if (functionEntry === undefined) {
6303
+ throw new Error("Unknown function: " + name + "()");
6304
+ }
6305
+ this._validateArgs(name, resolvedArgs, functionEntry._signature);
6306
+ return functionEntry._func.call(this, resolvedArgs);
6307
+ },
6308
+ _validateArgs: function(name, args, signature) {
6309
+ var pluralized;
6310
+ if (signature[signature.length - 1].variadic) {
6311
+ if (args.length < signature.length) {
6312
+ pluralized = signature.length === 1 ? " argument" : " arguments";
6313
+ throw new Error("ArgumentError: " + name + "() " + "takes at least" + signature.length + pluralized + " but received " + args.length);
6314
+ }
6315
+ } else if (args.length !== signature.length) {
6316
+ pluralized = signature.length === 1 ? " argument" : " arguments";
6317
+ throw new Error("ArgumentError: " + name + "() " + "takes " + signature.length + pluralized + " but received " + args.length);
6318
+ }
6319
+ var currentSpec;
6320
+ var actualType;
6321
+ var typeMatched;
6322
+ for (var i = 0;i < signature.length; i++) {
6323
+ typeMatched = false;
6324
+ currentSpec = signature[i].types;
6325
+ actualType = this._getTypeName(args[i]);
6326
+ for (var j = 0;j < currentSpec.length; j++) {
6327
+ if (this._typeMatches(actualType, currentSpec[j], args[i])) {
6328
+ typeMatched = true;
6329
+ break;
6330
+ }
6331
+ }
6332
+ if (!typeMatched) {
6333
+ var expected = currentSpec.map(function(typeIdentifier) {
6334
+ return TYPE_NAME_TABLE[typeIdentifier];
6335
+ }).join(",");
6336
+ throw new Error("TypeError: " + name + "() " + "expected argument " + (i + 1) + " to be type " + expected + " but received type " + TYPE_NAME_TABLE[actualType] + " instead.");
6337
+ }
6881
6338
  }
6882
- const base = this.visit(left, value);
6883
- if (allowString && typeof base === "string") {
6884
- return this.visit(right, base);
6339
+ },
6340
+ _typeMatches: function(actual, expected, argValue) {
6341
+ if (expected === TYPE_ANY) {
6342
+ return true;
6885
6343
  }
6886
- if (!Array.isArray(base)) {
6887
- return null;
6344
+ if (expected === TYPE_ARRAY_STRING || expected === TYPE_ARRAY_NUMBER || expected === TYPE_ARRAY) {
6345
+ if (expected === TYPE_ARRAY) {
6346
+ return actual === TYPE_ARRAY;
6347
+ } else if (actual === TYPE_ARRAY) {
6348
+ var subtype;
6349
+ if (expected === TYPE_ARRAY_NUMBER) {
6350
+ subtype = TYPE_NUMBER;
6351
+ } else if (expected === TYPE_ARRAY_STRING) {
6352
+ subtype = TYPE_STRING;
6353
+ }
6354
+ for (var i = 0;i < argValue.length; i++) {
6355
+ if (!this._typeMatches(this._getTypeName(argValue[i]), subtype, argValue[i])) {
6356
+ return false;
6357
+ }
6358
+ }
6359
+ return true;
6360
+ }
6361
+ } else {
6362
+ return actual === expected;
6363
+ }
6364
+ },
6365
+ _getTypeName: function(obj) {
6366
+ switch (Object.prototype.toString.call(obj)) {
6367
+ case "[object String]":
6368
+ return TYPE_STRING;
6369
+ case "[object Number]":
6370
+ return TYPE_NUMBER;
6371
+ case "[object Array]":
6372
+ return TYPE_ARRAY;
6373
+ case "[object Boolean]":
6374
+ return TYPE_BOOLEAN;
6375
+ case "[object Null]":
6376
+ return TYPE_NULL;
6377
+ case "[object Object]":
6378
+ if (obj.jmespathType === TOK_EXPREF) {
6379
+ return TYPE_EXPREF;
6380
+ } else {
6381
+ return TYPE_OBJECT;
6382
+ }
6888
6383
  }
6889
- const collected = [];
6890
- for (const elem of base) {
6891
- const current = this.visit(right, elem);
6892
- if (current !== null) {
6893
- collected.push(current);
6384
+ },
6385
+ _functionStartsWith: function(resolvedArgs) {
6386
+ return resolvedArgs[0].lastIndexOf(resolvedArgs[1]) === 0;
6387
+ },
6388
+ _functionEndsWith: function(resolvedArgs) {
6389
+ var searchStr = resolvedArgs[0];
6390
+ var suffix = resolvedArgs[1];
6391
+ return searchStr.indexOf(suffix, searchStr.length - suffix.length) !== -1;
6392
+ },
6393
+ _functionReverse: function(resolvedArgs) {
6394
+ var typeName = this._getTypeName(resolvedArgs[0]);
6395
+ if (typeName === TYPE_STRING) {
6396
+ var originalStr = resolvedArgs[0];
6397
+ var reversedStr = "";
6398
+ for (var i = originalStr.length - 1;i >= 0; i--) {
6399
+ reversedStr += originalStr[i];
6894
6400
  }
6401
+ return reversedStr;
6402
+ } else {
6403
+ var reversedArray = resolvedArgs[0].slice(0);
6404
+ reversedArray.reverse();
6405
+ return reversedArray;
6895
6406
  }
6896
- return collected;
6897
- }
6898
- case "ValueProjection": {
6899
- const { left, right } = node;
6900
- const base = this.visit(left, value);
6901
- if (base === null || typeof base !== "object" || Array.isArray(base)) {
6902
- return null;
6407
+ },
6408
+ _functionAbs: function(resolvedArgs) {
6409
+ return Math.abs(resolvedArgs[0]);
6410
+ },
6411
+ _functionCeil: function(resolvedArgs) {
6412
+ return Math.ceil(resolvedArgs[0]);
6413
+ },
6414
+ _functionAvg: function(resolvedArgs) {
6415
+ var sum = 0;
6416
+ var inputArray = resolvedArgs[0];
6417
+ for (var i = 0;i < inputArray.length; i++) {
6418
+ sum += inputArray[i];
6903
6419
  }
6904
- const collected = [];
6905
- const values = Object.values(base);
6906
- for (const elem of values) {
6907
- const current = this.visit(right, elem);
6908
- if (current !== null) {
6909
- collected.push(current);
6910
- }
6420
+ return sum / inputArray.length;
6421
+ },
6422
+ _functionContains: function(resolvedArgs) {
6423
+ return resolvedArgs[0].indexOf(resolvedArgs[1]) >= 0;
6424
+ },
6425
+ _functionFloor: function(resolvedArgs) {
6426
+ return Math.floor(resolvedArgs[0]);
6427
+ },
6428
+ _functionLength: function(resolvedArgs) {
6429
+ if (!isObject(resolvedArgs[0])) {
6430
+ return resolvedArgs[0].length;
6431
+ } else {
6432
+ return Object.keys(resolvedArgs[0]).length;
6911
6433
  }
6912
- return collected;
6913
- }
6914
- case "FilterProjection": {
6915
- const { left, right, condition } = node;
6916
- const base = this.visit(left, value);
6917
- if (!Array.isArray(base)) {
6918
- return null;
6434
+ },
6435
+ _functionMap: function(resolvedArgs) {
6436
+ var mapped = [];
6437
+ var interpreter = this._interpreter;
6438
+ var exprefNode = resolvedArgs[0];
6439
+ var elements = resolvedArgs[1];
6440
+ for (var i = 0;i < elements.length; i++) {
6441
+ mapped.push(interpreter.visit(exprefNode, elements[i]));
6919
6442
  }
6920
- const results = [];
6921
- for (const elem of base) {
6922
- const matched = this.visit(condition, elem);
6923
- if (isFalse(matched)) {
6924
- continue;
6443
+ return mapped;
6444
+ },
6445
+ _functionMerge: function(resolvedArgs) {
6446
+ var merged = {};
6447
+ for (var i = 0;i < resolvedArgs.length; i++) {
6448
+ var current = resolvedArgs[i];
6449
+ for (var key in current) {
6450
+ merged[key] = current[key];
6925
6451
  }
6926
- const result = this.visit(right, elem);
6927
- if (result !== null) {
6928
- results.push(result);
6929
- }
6930
- }
6931
- return results;
6932
- }
6933
- case "Arithmetic": {
6934
- const first = this.visit(node.left, value);
6935
- const second = this.visit(node.right, value);
6936
- switch (node.operator) {
6937
- case "Plus":
6938
- return add(first, second);
6939
- case "Minus":
6940
- return sub(first, second);
6941
- case "Multiply":
6942
- case "Star":
6943
- return mul(first, second);
6944
- case "Divide":
6945
- return divide(first, second);
6946
- case "Modulo":
6947
- return mod(first, second);
6948
- case "Div":
6949
- return div(first, second);
6950
- default:
6951
- throw new Error(`Syntax error: unknown arithmetic operator: ${node.operator}`);
6952
- }
6953
- }
6954
- case "Unary": {
6955
- const operand = this.visit(node.operand, value);
6956
- switch (node.operator) {
6957
- case "Plus":
6958
- ensureNumbers(operand);
6959
- return operand;
6960
- case "Minus":
6961
- ensureNumbers(operand);
6962
- return -operand;
6963
- default:
6964
- throw new Error(`Syntax error: unknown arithmetic operator: ${node.operator}`);
6965
6452
  }
6966
- }
6967
- case "Comparator": {
6968
- const first = this.visit(node.left, value);
6969
- const second = this.visit(node.right, value);
6970
- switch (node.name) {
6971
- case "EQ":
6972
- return strictDeepEqual(first, second);
6973
- case "NE":
6974
- return !strictDeepEqual(first, second);
6975
- }
6976
- if (typeof first !== "number" || typeof second !== "number") {
6453
+ return merged;
6454
+ },
6455
+ _functionMax: function(resolvedArgs) {
6456
+ if (resolvedArgs[0].length > 0) {
6457
+ var typeName = this._getTypeName(resolvedArgs[0][0]);
6458
+ if (typeName === TYPE_NUMBER) {
6459
+ return Math.max.apply(Math, resolvedArgs[0]);
6460
+ } else {
6461
+ var elements = resolvedArgs[0];
6462
+ var maxElement = elements[0];
6463
+ for (var i = 1;i < elements.length; i++) {
6464
+ if (maxElement.localeCompare(elements[i]) < 0) {
6465
+ maxElement = elements[i];
6466
+ }
6467
+ }
6468
+ return maxElement;
6469
+ }
6470
+ } else {
6977
6471
  return null;
6978
6472
  }
6979
- switch (node.name) {
6980
- case "GT":
6981
- return first > second;
6982
- case "GTE":
6983
- return first >= second;
6984
- case "LT":
6985
- return first < second;
6986
- case "LTE":
6987
- return first <= second;
6988
- }
6989
- }
6990
- case "Flatten": {
6991
- const original = this.visit(node.child, value);
6992
- return Array.isArray(original) ? original.flat() : null;
6993
- }
6994
- case "Root":
6995
- return this._rootValue;
6996
- case "MultiSelectList": {
6997
- const collected = [];
6998
- for (const child of node.children) {
6999
- collected.push(this.visit(child, value));
6473
+ },
6474
+ _functionMin: function(resolvedArgs) {
6475
+ if (resolvedArgs[0].length > 0) {
6476
+ var typeName = this._getTypeName(resolvedArgs[0][0]);
6477
+ if (typeName === TYPE_NUMBER) {
6478
+ return Math.min.apply(Math, resolvedArgs[0]);
6479
+ } else {
6480
+ var elements = resolvedArgs[0];
6481
+ var minElement = elements[0];
6482
+ for (var i = 1;i < elements.length; i++) {
6483
+ if (elements[i].localeCompare(minElement) < 0) {
6484
+ minElement = elements[i];
6485
+ }
6486
+ }
6487
+ return minElement;
6488
+ }
6489
+ } else {
6490
+ return null;
7000
6491
  }
7001
- return collected;
7002
- }
7003
- case "MultiSelectHash": {
7004
- const collected = {};
7005
- for (const child of node.children) {
7006
- collected[child.name] = this.visit(child.value, value);
6492
+ },
6493
+ _functionSum: function(resolvedArgs) {
6494
+ var sum = 0;
6495
+ var listToSum = resolvedArgs[0];
6496
+ for (var i = 0;i < listToSum.length; i++) {
6497
+ sum += listToSum[i];
6498
+ }
6499
+ return sum;
6500
+ },
6501
+ _functionType: function(resolvedArgs) {
6502
+ switch (this._getTypeName(resolvedArgs[0])) {
6503
+ case TYPE_NUMBER:
6504
+ return "number";
6505
+ case TYPE_STRING:
6506
+ return "string";
6507
+ case TYPE_ARRAY:
6508
+ return "array";
6509
+ case TYPE_OBJECT:
6510
+ return "object";
6511
+ case TYPE_BOOLEAN:
6512
+ return "boolean";
6513
+ case TYPE_EXPREF:
6514
+ return "expref";
6515
+ case TYPE_NULL:
6516
+ return "null";
6517
+ }
6518
+ },
6519
+ _functionKeys: function(resolvedArgs) {
6520
+ return Object.keys(resolvedArgs[0]);
6521
+ },
6522
+ _functionValues: function(resolvedArgs) {
6523
+ var obj = resolvedArgs[0];
6524
+ var keys = Object.keys(obj);
6525
+ var values = [];
6526
+ for (var i = 0;i < keys.length; i++) {
6527
+ values.push(obj[keys[i]]);
6528
+ }
6529
+ return values;
6530
+ },
6531
+ _functionJoin: function(resolvedArgs) {
6532
+ var joinChar = resolvedArgs[0];
6533
+ var listJoin = resolvedArgs[1];
6534
+ return listJoin.join(joinChar);
6535
+ },
6536
+ _functionToArray: function(resolvedArgs) {
6537
+ if (this._getTypeName(resolvedArgs[0]) === TYPE_ARRAY) {
6538
+ return resolvedArgs[0];
6539
+ } else {
6540
+ return [resolvedArgs[0]];
7007
6541
  }
7008
- return collected;
7009
- }
7010
- case "OrExpression": {
7011
- const result = this.visit(node.left, value);
7012
- if (isFalse(result)) {
7013
- return this.visit(node.right, value);
6542
+ },
6543
+ _functionToString: function(resolvedArgs) {
6544
+ if (this._getTypeName(resolvedArgs[0]) === TYPE_STRING) {
6545
+ return resolvedArgs[0];
6546
+ } else {
6547
+ return JSON.stringify(resolvedArgs[0]);
7014
6548
  }
7015
- return result;
7016
- }
7017
- case "AndExpression": {
7018
- const result = this.visit(node.left, value);
7019
- if (isFalse(result)) {
7020
- return result;
6549
+ },
6550
+ _functionToNumber: function(resolvedArgs) {
6551
+ var typeName = this._getTypeName(resolvedArgs[0]);
6552
+ var convertedValue;
6553
+ if (typeName === TYPE_NUMBER) {
6554
+ return resolvedArgs[0];
6555
+ } else if (typeName === TYPE_STRING) {
6556
+ convertedValue = +resolvedArgs[0];
6557
+ if (!isNaN(convertedValue)) {
6558
+ return convertedValue;
6559
+ }
7021
6560
  }
7022
- return this.visit(node.right, value);
7023
- }
7024
- case "NotExpression":
7025
- return isFalse(this.visit(node.child, value));
7026
- case "Literal":
7027
- return node.value;
7028
- case "Pipe":
7029
- return this.visit(node.right, this.visit(node.left, value));
7030
- case "Function": {
7031
- const args = [];
7032
- for (const child of node.children) {
7033
- args.push(this.visit(child, value));
6561
+ return null;
6562
+ },
6563
+ _functionNotNull: function(resolvedArgs) {
6564
+ for (var i = 0;i < resolvedArgs.length; i++) {
6565
+ if (this._getTypeName(resolvedArgs[i]) !== TYPE_NULL) {
6566
+ return resolvedArgs[i];
6567
+ }
7034
6568
  }
7035
- return this.runtime.callFunction(node.name, args);
7036
- }
7037
- case "ExpressionReference":
7038
- return {
7039
- expref: true,
7040
- ...node.child
6569
+ return null;
6570
+ },
6571
+ _functionSort: function(resolvedArgs) {
6572
+ var sortedArray = resolvedArgs[0].slice(0);
6573
+ sortedArray.sort();
6574
+ return sortedArray;
6575
+ },
6576
+ _functionSortBy: function(resolvedArgs) {
6577
+ var sortedArray = resolvedArgs[0].slice(0);
6578
+ if (sortedArray.length === 0) {
6579
+ return sortedArray;
6580
+ }
6581
+ var interpreter = this._interpreter;
6582
+ var exprefNode = resolvedArgs[1];
6583
+ var requiredType = this._getTypeName(interpreter.visit(exprefNode, sortedArray[0]));
6584
+ if ([TYPE_NUMBER, TYPE_STRING].indexOf(requiredType) < 0) {
6585
+ throw new Error("TypeError");
6586
+ }
6587
+ var that = this;
6588
+ var decorated = [];
6589
+ for (var i = 0;i < sortedArray.length; i++) {
6590
+ decorated.push([i, sortedArray[i]]);
6591
+ }
6592
+ decorated.sort(function(a, b) {
6593
+ var exprA = interpreter.visit(exprefNode, a[1]);
6594
+ var exprB = interpreter.visit(exprefNode, b[1]);
6595
+ if (that._getTypeName(exprA) !== requiredType) {
6596
+ throw new Error("TypeError: expected " + requiredType + ", received " + that._getTypeName(exprA));
6597
+ } else if (that._getTypeName(exprB) !== requiredType) {
6598
+ throw new Error("TypeError: expected " + requiredType + ", received " + that._getTypeName(exprB));
6599
+ }
6600
+ if (exprA > exprB) {
6601
+ return 1;
6602
+ } else if (exprA < exprB) {
6603
+ return -1;
6604
+ } else {
6605
+ return a[0] - b[0];
6606
+ }
6607
+ });
6608
+ for (var j = 0;j < decorated.length; j++) {
6609
+ sortedArray[j] = decorated[j][1];
6610
+ }
6611
+ return sortedArray;
6612
+ },
6613
+ _functionMaxBy: function(resolvedArgs) {
6614
+ var exprefNode = resolvedArgs[1];
6615
+ var resolvedArray = resolvedArgs[0];
6616
+ var keyFunction = this.createKeyFunction(exprefNode, [TYPE_NUMBER, TYPE_STRING]);
6617
+ var maxNumber = -Infinity;
6618
+ var maxRecord;
6619
+ var current;
6620
+ for (var i = 0;i < resolvedArray.length; i++) {
6621
+ current = keyFunction(resolvedArray[i]);
6622
+ if (current > maxNumber) {
6623
+ maxNumber = current;
6624
+ maxRecord = resolvedArray[i];
6625
+ }
6626
+ }
6627
+ return maxRecord;
6628
+ },
6629
+ _functionMinBy: function(resolvedArgs) {
6630
+ var exprefNode = resolvedArgs[1];
6631
+ var resolvedArray = resolvedArgs[0];
6632
+ var keyFunction = this.createKeyFunction(exprefNode, [TYPE_NUMBER, TYPE_STRING]);
6633
+ var minNumber = Infinity;
6634
+ var minRecord;
6635
+ var current;
6636
+ for (var i = 0;i < resolvedArray.length; i++) {
6637
+ current = keyFunction(resolvedArray[i]);
6638
+ if (current < minNumber) {
6639
+ minNumber = current;
6640
+ minRecord = resolvedArray[i];
6641
+ }
6642
+ }
6643
+ return minRecord;
6644
+ },
6645
+ createKeyFunction: function(exprefNode, allowedTypes) {
6646
+ var that = this;
6647
+ var interpreter = this._interpreter;
6648
+ var keyFunc = function(x) {
6649
+ var current = interpreter.visit(exprefNode, x);
6650
+ if (allowedTypes.indexOf(that._getTypeName(current)) < 0) {
6651
+ var msg = "TypeError: expected one of " + allowedTypes + ", received " + that._getTypeName(current);
6652
+ throw new Error(msg);
6653
+ }
6654
+ return current;
7041
6655
  };
7042
- case "Current":
7043
- case "Identity":
7044
- return value;
7045
- }
7046
- }
7047
- computeSliceParams(arrayLength, sliceNode) {
7048
- let { start, stop, step } = sliceNode;
7049
- if (step === null) {
7050
- step = 1;
7051
- } else if (step === 0) {
7052
- const error = new Error("Invalid value: slice step cannot be 0");
7053
- error.name = "RuntimeError";
7054
- throw error;
7055
- }
7056
- start = start === null ? step < 0 ? arrayLength - 1 : 0 : this.capSliceRange(arrayLength, start, step);
7057
- stop = stop === null ? step < 0 ? -1 : arrayLength : this.capSliceRange(arrayLength, stop, step);
7058
- return { start, stop, step };
7059
- }
7060
- capSliceRange(arrayLength, actualValue, step) {
7061
- let nextActualValue = actualValue;
7062
- if (nextActualValue < 0) {
7063
- nextActualValue += arrayLength;
7064
- if (nextActualValue < 0) {
7065
- nextActualValue = step < 0 ? -1 : 0;
6656
+ return keyFunc;
7066
6657
  }
7067
- } else if (nextActualValue >= arrayLength) {
7068
- nextActualValue = step < 0 ? arrayLength - 1 : arrayLength;
6658
+ };
6659
+ function compile(stream) {
6660
+ var parser = new Parser;
6661
+ var ast = parser.parse(stream);
6662
+ return ast;
7069
6663
  }
7070
- return nextActualValue;
7071
- }
7072
- slice(collection, start, end, step) {
7073
- const result = [];
7074
- if (step > 0) {
7075
- for (let i = start;i < end; i += step) {
7076
- result.push(collection[i]);
7077
- }
7078
- } else {
7079
- for (let i = start;i > end; i += step) {
7080
- result.push(collection[i]);
7081
- }
6664
+ function tokenize(stream) {
6665
+ var lexer = new Lexer;
6666
+ return lexer.tokenize(stream);
7082
6667
  }
7083
- return result;
7084
- }
7085
- }, TreeInterpreterInstance, TreeInterpreter_default, TYPE_ANY = 1, TYPE_ARRAY = 3, TYPE_ARRAY_ARRAY = 11, TYPE_ARRAY_NUMBER = 8, TYPE_ARRAY_OBJECT = 10, TYPE_ARRAY_STRING = 9, TYPE_BOOLEAN = 5, TYPE_EXPREF = 6, TYPE_NULL = 7, TYPE_NUMBER = 0, TYPE_OBJECT = 4, TYPE_STRING = 2, registerFunction = (functionName, customFunction, signature, options) => {
7086
- TreeInterpreter_default.runtime.registerFunction(functionName, customFunction, signature, options);
7087
- }, register = (name, customFunction, signature, options) => {
7088
- return TreeInterpreter_default.runtime.register(name, customFunction, signature, options);
7089
- }, unregisterFunction = (name) => {
7090
- return TreeInterpreter_default.runtime.unregister(name);
7091
- }, isRegistered = (name) => {
7092
- return TreeInterpreter_default.runtime.isRegistered(name);
7093
- }, getRegisteredFunctions = () => {
7094
- return TreeInterpreter_default.runtime.getRegistered();
7095
- }, getCustomFunctions = () => {
7096
- return TreeInterpreter_default.runtime.getCustomFunctions();
7097
- }, clearCustomFunctions = () => {
7098
- TreeInterpreter_default.runtime.clearCustomFunctions();
7099
- }, TreeInterpreter2, jmespath;
7100
- var init_dist = __esm(() => {
7101
- basicTokens = {
7102
- "(": "Lparen",
7103
- ")": "Rparen",
7104
- "*": "Star",
7105
- ",": "Comma",
7106
- ".": "Dot",
7107
- ":": "Colon",
7108
- "@": "Current",
7109
- "]": "Rbracket",
7110
- "{": "Lbrace",
7111
- "}": "Rbrace",
7112
- "+": "Plus",
7113
- "%": "Modulo",
7114
- "?": "Question",
7115
- "−": "Minus",
7116
- "×": "Multiply",
7117
- "÷": "Divide"
7118
- };
7119
- operatorStartToken = {
7120
- "!": true,
7121
- "<": true,
7122
- "=": true,
7123
- ">": true,
7124
- "&": true,
7125
- "|": true,
7126
- "/": true
7127
- };
7128
- skipChars = {
7129
- "\t": true,
7130
- "\n": true,
7131
- "\r": true,
7132
- " ": true
7133
- };
7134
- Lexer = new StreamLexer;
7135
- Lexer_default = Lexer;
7136
- bindingPower = {
7137
- ["EOF"]: 0,
7138
- ["Variable"]: 0,
7139
- ["UnquotedIdentifier"]: 0,
7140
- ["QuotedIdentifier"]: 0,
7141
- ["Rbracket"]: 0,
7142
- ["Rparen"]: 0,
7143
- ["Comma"]: 0,
7144
- ["Rbrace"]: 0,
7145
- ["Number"]: 0,
7146
- ["Current"]: 0,
7147
- ["Expref"]: 0,
7148
- ["Root"]: 0,
7149
- ["Assign"]: 1,
7150
- ["Pipe"]: 1,
7151
- ["Question"]: 2,
7152
- ["Or"]: 3,
7153
- ["And"]: 4,
7154
- ["EQ"]: 5,
7155
- ["GT"]: 5,
7156
- ["LT"]: 5,
7157
- ["GTE"]: 5,
7158
- ["LTE"]: 5,
7159
- ["NE"]: 5,
7160
- ["Minus"]: 6,
7161
- ["Plus"]: 6,
7162
- ["Div"]: 7,
7163
- ["Divide"]: 7,
7164
- ["Modulo"]: 7,
7165
- ["Multiply"]: 7,
7166
- ["Flatten"]: 9,
7167
- ["Star"]: 20,
7168
- ["Filter"]: 21,
7169
- ["Dot"]: 40,
7170
- ["Not"]: 45,
7171
- ["Lbrace"]: 50,
7172
- ["Lbracket"]: 55,
7173
- ["Lparen"]: 60
7174
- };
7175
- Parser = new TokenParser;
7176
- Parser_default = Parser;
7177
- emptyScopeChain = new ScopeChain;
7178
- TreeInterpreterInstance = new TreeInterpreter;
7179
- TreeInterpreter_default = TreeInterpreterInstance;
7180
- TreeInterpreter2 = TreeInterpreter_default;
7181
- jmespath = {
7182
- compile,
7183
- registerFunction,
7184
- register,
7185
- unregisterFunction,
7186
- isRegistered,
7187
- getRegisteredFunctions,
7188
- getCustomFunctions,
7189
- clearCustomFunctions,
7190
- search,
7191
- tokenize,
7192
- TreeInterpreter: TreeInterpreter2,
7193
- TYPE_ANY,
7194
- TYPE_ARRAY_NUMBER,
7195
- TYPE_ARRAY_STRING,
7196
- TYPE_ARRAY,
7197
- TYPE_BOOLEAN,
7198
- TYPE_EXPREF,
7199
- TYPE_NULL,
7200
- TYPE_NUMBER,
7201
- TYPE_OBJECT,
7202
- TYPE_STRING
7203
- };
6668
+ function search(data, expression) {
6669
+ var parser = new Parser;
6670
+ var runtime = new Runtime;
6671
+ var interpreter = new TreeInterpreter(runtime);
6672
+ runtime._interpreter = interpreter;
6673
+ var node = parser.parse(expression);
6674
+ return interpreter.search(node, data);
6675
+ }
6676
+ exports2.tokenize = tokenize;
6677
+ exports2.compile = compile;
6678
+ exports2.search = search;
6679
+ exports2.strictDeepEqual = strictDeepEqual;
6680
+ })(typeof exports === "undefined" ? exports.jmespath = {} : exports);
7204
6681
  });
7205
6682
 
7206
6683
  // ../common/src/output-codecs.ts
7207
6684
  async function loadOutputCodecsAsync(needed) {
7208
6685
  const loads = [];
7209
6686
  if (needed.yaml && yamlSlot.get() === undefined) {
7210
- loads.push(Promise.resolve().then(() => (init_js_yaml(), exports_js_yaml)).then((mod2) => {
7211
- yamlSlot.set(mod2);
6687
+ loads.push(Promise.resolve().then(() => (init_js_yaml(), exports_js_yaml)).then((mod) => {
6688
+ yamlSlot.set(mod);
7212
6689
  }));
7213
6690
  }
7214
6691
  if (needed.filter && jmespathSlot.get() === undefined) {
7215
- loads.push(Promise.resolve().then(() => (init_dist(), exports_dist)).then((mod2) => {
7216
- jmespathSlot.set(mod2);
6692
+ loads.push(Promise.resolve().then(() => __toESM(require_jmespath(), 1)).then((mod) => {
6693
+ jmespathSlot.set(mod);
7217
6694
  }));
7218
6695
  }
7219
6696
  await Promise.all(loads);
@@ -8026,8 +7503,8 @@ var init_telemetry_service = __esm(() => {
8026
7503
 
8027
7504
  // ../common/src/timings.ts
8028
7505
  function createStorage2() {
8029
- const [error, mod2] = catchError(() => __require("node:async_hooks"));
8030
- if (error || typeof mod2?.AsyncLocalStorage !== "function") {
7506
+ const [error, mod] = catchError(() => __require("node:async_hooks"));
7507
+ if (error || typeof mod?.AsyncLocalStorage !== "function") {
8031
7508
  return {
8032
7509
  getStore: () => {
8033
7510
  return;
@@ -8035,7 +7512,7 @@ function createStorage2() {
8035
7512
  run: (_store, fn) => fn()
8036
7513
  };
8037
7514
  }
8038
- return new mod2.AsyncLocalStorage;
7515
+ return new mod.AsyncLocalStorage;
8039
7516
  }
8040
7517
  function newState(baseline) {
8041
7518
  return { baseline, httpMs: 0, httpCalls: 0 };
@@ -9169,10 +8646,10 @@ var require_help = __commonJS(function(exports) {
9169
8646
  });
9170
8647
  output = output.concat(this.formatItemList("Global Options:", globalOptionList, helper));
9171
8648
  }
9172
- const commandGroups = this.groupItems(cmd.commands, helper.visibleCommands(cmd), (sub2) => sub2.helpGroup() || "Commands:");
8649
+ const commandGroups = this.groupItems(cmd.commands, helper.visibleCommands(cmd), (sub) => sub.helpGroup() || "Commands:");
9173
8650
  commandGroups.forEach((commands, group) => {
9174
- const commandList = commands.map((sub2) => {
9175
- return callFormatItem(helper.styleSubcommandTerm(helper.subcommandTerm(sub2)), helper.styleSubcommandDescription(helper.subcommandDescription(sub2)));
8651
+ const commandList = commands.map((sub) => {
8652
+ return callFormatItem(helper.styleSubcommandTerm(helper.subcommandTerm(sub)), helper.styleSubcommandDescription(helper.subcommandDescription(sub)));
9176
8653
  });
9177
8654
  output = output.concat(this.formatItemList(group, commandList, helper));
9178
8655
  });
@@ -13542,8 +13019,8 @@ function createI18nRegistrar(options) {
13542
13019
  if (!target || loaded[target])
13543
13020
  return;
13544
13021
  try {
13545
- const mod2 = await loadCatalog(target);
13546
- instance.addResourceBundle(target, namespace, mod2.default, true, true);
13022
+ const mod = await loadCatalog(target);
13023
+ instance.addResourceBundle(target, namespace, mod.default, true, true);
13547
13024
  loaded[target] = true;
13548
13025
  } catch (err) {
13549
13026
  console.warn(`[i18n] Failed to load '${target}' catalog for namespace '${namespace}':`, err);
@@ -13701,7 +13178,7 @@ __export(exports_util, {
13701
13178
  getParsedType: () => getParsedType,
13702
13179
  getSizableOrigin: () => getSizableOrigin,
13703
13180
  hexToUint8Array: () => hexToUint8Array,
13704
- isObject: () => isObject2,
13181
+ isObject: () => isObject,
13705
13182
  isPlainObject: () => isPlainObject,
13706
13183
  issue: () => issue,
13707
13184
  joinValues: () => joinValues,
@@ -13858,11 +13335,11 @@ function esc(str2) {
13858
13335
  function slugify(input) {
13859
13336
  return input.toLowerCase().trim().replace(/[^\w\s-]/g, "").replace(/[\s_-]+/g, "-").replace(/^-+|-+$/g, "");
13860
13337
  }
13861
- function isObject2(data) {
13338
+ function isObject(data) {
13862
13339
  return typeof data === "object" && data !== null && !Array.isArray(data);
13863
13340
  }
13864
13341
  function isPlainObject(o) {
13865
- if (isObject2(o) === false)
13342
+ if (isObject(o) === false)
13866
13343
  return false;
13867
13344
  const ctor = o.constructor;
13868
13345
  if (ctor === undefined)
@@ -13870,7 +13347,7 @@ function isPlainObject(o) {
13870
13347
  if (typeof ctor !== "function")
13871
13348
  return true;
13872
13349
  const prot = ctor.prototype;
13873
- if (isObject2(prot) === false)
13350
+ if (isObject(prot) === false)
13874
13351
  return false;
13875
13352
  if (Object.prototype.hasOwnProperty.call(prot, "isPrototypeOf") === false) {
13876
13353
  return false;
@@ -14364,12 +13841,12 @@ var init_util = __esm(() => {
14364
13841
  function flattenError(error, mapper = (issue2) => issue2.message) {
14365
13842
  const fieldErrors = {};
14366
13843
  const formErrors = [];
14367
- for (const sub2 of error.issues) {
14368
- if (sub2.path.length > 0) {
14369
- fieldErrors[sub2.path[0]] = fieldErrors[sub2.path[0]] || [];
14370
- fieldErrors[sub2.path[0]].push(mapper(sub2));
13844
+ for (const sub of error.issues) {
13845
+ if (sub.path.length > 0) {
13846
+ fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];
13847
+ fieldErrors[sub.path[0]].push(mapper(sub));
14371
13848
  } else {
14372
- formErrors.push(mapper(sub2));
13849
+ formErrors.push(mapper(sub));
14373
13850
  }
14374
13851
  }
14375
13852
  return { formErrors, fieldErrors };
@@ -16388,13 +15865,13 @@ var init_schemas = __esm(() => {
16388
15865
  }
16389
15866
  return propValues;
16390
15867
  });
16391
- const isObject3 = isObject2;
15868
+ const isObject2 = isObject;
16392
15869
  const catchall = def.catchall;
16393
15870
  let value;
16394
15871
  inst._zod.parse = (payload, ctx) => {
16395
15872
  value ?? (value = _normalized.value);
16396
15873
  const input = payload.value;
16397
- if (!isObject3(input)) {
15874
+ if (!isObject2(input)) {
16398
15875
  payload.issues.push({
16399
15876
  expected: "object",
16400
15877
  code: "invalid_type",
@@ -16521,7 +15998,7 @@ var init_schemas = __esm(() => {
16521
15998
  return (payload, ctx) => fn(shape, payload, ctx);
16522
15999
  };
16523
16000
  let fastpass;
16524
- const isObject3 = isObject2;
16001
+ const isObject2 = isObject;
16525
16002
  const jit = !globalConfig.jitless;
16526
16003
  const allowsEval2 = allowsEval;
16527
16004
  const fastEnabled = jit && allowsEval2.value;
@@ -16530,7 +16007,7 @@ var init_schemas = __esm(() => {
16530
16007
  inst._zod.parse = (payload, ctx) => {
16531
16008
  value ?? (value = _normalized.value);
16532
16009
  const input = payload.value;
16533
- if (!isObject3(input)) {
16010
+ if (!isObject2(input)) {
16534
16011
  payload.issues.push({
16535
16012
  expected: "object",
16536
16013
  code: "invalid_type",
@@ -16662,7 +16139,7 @@ var init_schemas = __esm(() => {
16662
16139
  });
16663
16140
  inst._zod.parse = (payload, ctx) => {
16664
16141
  const input = payload.value;
16665
- if (!isObject2(input)) {
16142
+ if (!isObject(input)) {
16666
16143
  payload.issues.push({
16667
16144
  code: "invalid_type",
16668
16145
  expected: "object",
@@ -28388,7 +27865,7 @@ var require_scope = __commonJS(function(exports) {
28388
27865
  var: new code_1.Name("var")
28389
27866
  };
28390
27867
 
28391
- class Scope2 {
27868
+ class Scope {
28392
27869
  constructor({ prefixes, parent } = {}) {
28393
27870
  this._names = {};
28394
27871
  this._prefixes = prefixes;
@@ -28412,7 +27889,7 @@ var require_scope = __commonJS(function(exports) {
28412
27889
  return this._names[prefix] = { prefix, index: 0 };
28413
27890
  }
28414
27891
  }
28415
- exports.Scope = Scope2;
27892
+ exports.Scope = Scope;
28416
27893
 
28417
27894
  class ValueScopeName extends code_1.Name {
28418
27895
  constructor(prefix, nameStr) {
@@ -28427,7 +27904,7 @@ var require_scope = __commonJS(function(exports) {
28427
27904
  exports.ValueScopeName = ValueScopeName;
28428
27905
  var line = (0, code_1._)`\n`;
28429
27906
 
28430
- class ValueScope extends Scope2 {
27907
+ class ValueScope extends Scope {
28431
27908
  constructor(opts) {
28432
27909
  super(opts);
28433
27910
  this._values = {};
@@ -37696,7 +37173,7 @@ __export(exports_util2, {
37696
37173
  getLengthableOrigin: () => getLengthableOrigin2,
37697
37174
  getParsedType: () => getParsedType2,
37698
37175
  getSizableOrigin: () => getSizableOrigin2,
37699
- isObject: () => isObject3,
37176
+ isObject: () => isObject2,
37700
37177
  isPlainObject: () => isPlainObject2,
37701
37178
  issue: () => issue2,
37702
37179
  joinValues: () => joinValues2,
@@ -37825,17 +37302,17 @@ function randomString2(length = 10) {
37825
37302
  function esc2(str2) {
37826
37303
  return JSON.stringify(str2);
37827
37304
  }
37828
- function isObject3(data) {
37305
+ function isObject2(data) {
37829
37306
  return typeof data === "object" && data !== null && !Array.isArray(data);
37830
37307
  }
37831
37308
  function isPlainObject2(o) {
37832
- if (isObject3(o) === false)
37309
+ if (isObject2(o) === false)
37833
37310
  return false;
37834
37311
  const ctor = o.constructor;
37835
37312
  if (ctor === undefined)
37836
37313
  return true;
37837
37314
  const prot = ctor.prototype;
37838
- if (isObject3(prot) === false)
37315
+ if (isObject2(prot) === false)
37839
37316
  return false;
37840
37317
  if (Object.prototype.hasOwnProperty.call(prot, "isPrototypeOf") === false) {
37841
37318
  return false;
@@ -38185,12 +37662,12 @@ var init_util2 = __esm(() => {
38185
37662
  function flattenError2(error51, mapper = (issue3) => issue3.message) {
38186
37663
  const fieldErrors = {};
38187
37664
  const formErrors = [];
38188
- for (const sub2 of error51.issues) {
38189
- if (sub2.path.length > 0) {
38190
- fieldErrors[sub2.path[0]] = fieldErrors[sub2.path[0]] || [];
38191
- fieldErrors[sub2.path[0]].push(mapper(sub2));
37665
+ for (const sub of error51.issues) {
37666
+ if (sub.path.length > 0) {
37667
+ fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];
37668
+ fieldErrors[sub.path[0]].push(mapper(sub));
38192
37669
  } else {
38193
- formErrors.push(mapper(sub2));
37670
+ formErrors.push(mapper(sub));
38194
37671
  }
38195
37672
  }
38196
37673
  return { formErrors, fieldErrors };
@@ -39982,7 +39459,7 @@ var init_schemas3 = __esm(() => {
39982
39459
  return (payload, ctx) => fn(shape, payload, ctx);
39983
39460
  };
39984
39461
  let fastpass;
39985
- const isObject4 = isObject3;
39462
+ const isObject3 = isObject2;
39986
39463
  const jit = !globalConfig2.jitless;
39987
39464
  const allowsEval3 = allowsEval2;
39988
39465
  const fastEnabled = jit && allowsEval3.value;
@@ -39991,7 +39468,7 @@ var init_schemas3 = __esm(() => {
39991
39468
  inst._zod.parse = (payload, ctx) => {
39992
39469
  value ?? (value = _normalized.value);
39993
39470
  const input = payload.value;
39994
- if (!isObject4(input)) {
39471
+ if (!isObject3(input)) {
39995
39472
  payload.issues.push({
39996
39473
  expected: "object",
39997
39474
  code: "invalid_type",
@@ -40135,7 +39612,7 @@ var init_schemas3 = __esm(() => {
40135
39612
  });
40136
39613
  inst._zod.parse = (payload, ctx) => {
40137
39614
  const input = payload.value;
40138
- if (!isObject3(input)) {
39615
+ if (!isObject2(input)) {
40139
39616
  payload.issues.push({
40140
39617
  code: "invalid_type",
40141
39618
  expected: "object",
@@ -50545,15 +50022,15 @@ var require_subset = __commonJS(function(exports, module) {
50545
50022
  var { ANY } = Comparator;
50546
50023
  var satisfies = require_satisfies();
50547
50024
  var compare = require_compare();
50548
- var subset = (sub2, dom, options = {}) => {
50549
- if (sub2 === dom) {
50025
+ var subset = (sub, dom, options = {}) => {
50026
+ if (sub === dom) {
50550
50027
  return true;
50551
50028
  }
50552
- sub2 = new Range(sub2, options);
50029
+ sub = new Range(sub, options);
50553
50030
  dom = new Range(dom, options);
50554
50031
  let sawNonNull = false;
50555
50032
  OUTER:
50556
- for (const simpleSub of sub2.set) {
50033
+ for (const simpleSub of sub.set) {
50557
50034
  for (const simpleDom of dom.set) {
50558
50035
  const isSub = simpleSubset(simpleSub, simpleDom, options);
50559
50036
  sawNonNull = sawNonNull || isSub !== null;
@@ -50569,17 +50046,17 @@ var require_subset = __commonJS(function(exports, module) {
50569
50046
  };
50570
50047
  var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
50571
50048
  var minimumVersion = [new Comparator(">=0.0.0")];
50572
- var simpleSubset = (sub2, dom, options) => {
50573
- if (sub2 === dom) {
50049
+ var simpleSubset = (sub, dom, options) => {
50050
+ if (sub === dom) {
50574
50051
  return true;
50575
50052
  }
50576
- if (sub2.length === 1 && sub2[0].semver === ANY) {
50053
+ if (sub.length === 1 && sub[0].semver === ANY) {
50577
50054
  if (dom.length === 1 && dom[0].semver === ANY) {
50578
50055
  return true;
50579
50056
  } else if (options.includePrerelease) {
50580
- sub2 = minimumVersionWithPreRelease;
50057
+ sub = minimumVersionWithPreRelease;
50581
50058
  } else {
50582
- sub2 = minimumVersion;
50059
+ sub = minimumVersion;
50583
50060
  }
50584
50061
  }
50585
50062
  if (dom.length === 1 && dom[0].semver === ANY) {
@@ -50591,7 +50068,7 @@ var require_subset = __commonJS(function(exports, module) {
50591
50068
  }
50592
50069
  const eqSet = new Set;
50593
50070
  let gt, lt;
50594
- for (const c of sub2) {
50071
+ for (const c of sub) {
50595
50072
  if (c.operator === ">" || c.operator === ">=") {
50596
50073
  gt = higherGT(gt, c, options);
50597
50074
  } else if (c.operator === "<" || c.operator === "<=") {
@@ -50626,7 +50103,7 @@ var require_subset = __commonJS(function(exports, module) {
50626
50103
  }
50627
50104
  return true;
50628
50105
  }
50629
- let higher, lower2;
50106
+ let higher, lower;
50630
50107
  let hasDomLT, hasDomGT;
50631
50108
  let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
50632
50109
  let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
@@ -50658,8 +50135,8 @@ var require_subset = __commonJS(function(exports, module) {
50658
50135
  }
50659
50136
  }
50660
50137
  if (c.operator === "<" || c.operator === "<=") {
50661
- lower2 = lowerLT(lt, c, options);
50662
- if (lower2 === c && lower2 !== lt) {
50138
+ lower = lowerLT(lt, c, options);
50139
+ if (lower === c && lower !== lt) {
50663
50140
  return false;
50664
50141
  }
50665
50142
  } else if (lt.operator === "<=" && !satisfies(lt.semver, String(c), options)) {
@@ -50999,7 +50476,7 @@ var import_semver, createStorageSchema = (factory) => {
50999
50476
  ...context,
51000
50477
  contextType: context.contextType ?? (context.attachments ? "attachments" : "index")
51001
50478
  }), v48, migrationV48, version24 = "49.0.0", lowCodeAgentSchemaV49, codedAgentSchemaV49, agentStorageSchemaV49, storageSchemaV49, v49, migrationV49, version25 = "50.0.0", LATEST_AGENT_VERSION = "1.2.0", AGENT365_GOVERNANCE_PROVIDER_NAMESPACE = "agent.governance_providers.agents365", Agent365Attributes, RECIPIENT_TYPE3, escalationRecipientsV50, hitlSchemaFieldRuleV50, hitlSchemaFieldV50, hitlSchemaOutcomeV50, hitlSchemaV50, actionableMessageMetaDataV50, channelQuickFormPropertiesV50, escalationChannelActionCenterSchemaV50, escalationChannelActionCenterQuickFormSchemaV50, escalationStorageSchemaV50, baseLowCodeSettingsSchema, _v49ProcessToolSchema, flowToolStorageSchemaV50, functionToolStorageSchemaV50, TURN_DETECTION_MAX_MS = 5000, turnDetectionSchemaV50, voiceSettingsExtension, standardLowCodeAgentSettingsV50, advancedLowCodeAgentSettingsV50, lowCodeAgentSettingsV50, agent365ValuesSchemaV50, lowCodeAgentSchemaV50, codedAgentSchemaV50, agentStorageSchemaV50, clientSideToolStorageSchemaV50, toolStorageSchemaV50, discoveryModeSchemaV50, mcpToolStorageSchemaV50, dataFabricOntologyContextSchemaV50, contextStorageSchemaV50, resourceStorageSchemaV50, resourcesFolderSchemaV50, storageSchemaV50, v50, migrationV50, currentStorageSchemaMigration, currentStorageSchema, currentAgentStorageSchema, currentResourceStorageSchema, currentFeatureStorageSchema, currentEvaluationSetStorageSchema, currentCodedAgentStorageSchema, currentFlowLayoutStorageSchema;
51002
- var init_dist2 = __esm(() => {
50479
+ var init_dist = __esm(() => {
51003
50480
  init_v4();
51004
50481
  import_semver = __toESM(require_semver2(), 1);
51005
50482
  jsonSchemaTypeSchema = exports_external2.enum([
@@ -61785,7 +61262,7 @@ var init_chunk_E6I5CCCH = __esm(() => {
61785
61262
  init_i18next();
61786
61263
  init_i18next();
61787
61264
  init_i18next();
61788
- init_dist2();
61265
+ init_dist();
61789
61266
  init_i18next();
61790
61267
  init_i18next();
61791
61268
  init_jsep();
@@ -62787,7 +62264,7 @@ var import_object, workflowRuntimeSchema, argumentBindingSchema, workflowVariabl
62787
62264
  },
62788
62265
  required: ["name", "value"]
62789
62266
  }), HTTP_REQUEST_SCHEMA;
62790
- var init_dist3 = __esm(() => {
62267
+ var init_dist2 = __esm(() => {
62791
62268
  init_chunk_E6I5CCCH();
62792
62269
  init_zod();
62793
62270
  init_zod();
@@ -86090,11 +85567,11 @@ var require__Symbol = __commonJS(function(exports, module) {
86090
85567
  var require__getRawTag = __commonJS(function(exports, module) {
86091
85568
  var Symbol2 = require__Symbol();
86092
85569
  var objectProto = Object.prototype;
86093
- var hasOwnProperty = objectProto.hasOwnProperty;
85570
+ var hasOwnProperty2 = objectProto.hasOwnProperty;
86094
85571
  var nativeObjectToString = objectProto.toString;
86095
85572
  var symToStringTag = Symbol2 ? Symbol2.toStringTag : undefined;
86096
85573
  function getRawTag(value) {
86097
- var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
85574
+ var isOwn = hasOwnProperty2.call(value, symToStringTag), tag = value[symToStringTag];
86098
85575
  try {
86099
85576
  value[symToStringTag] = undefined;
86100
85577
  var unmasked = true;
@@ -86141,23 +85618,23 @@ var require__baseGetTag = __commonJS(function(exports, module) {
86141
85618
 
86142
85619
  // ../../node_modules/lodash/isObject.js
86143
85620
  var require_isObject = __commonJS(function(exports, module) {
86144
- function isObject4(value) {
85621
+ function isObject3(value) {
86145
85622
  var type2 = typeof value;
86146
85623
  return value != null && (type2 == "object" || type2 == "function");
86147
85624
  }
86148
- module.exports = isObject4;
85625
+ module.exports = isObject3;
86149
85626
  });
86150
85627
 
86151
85628
  // ../../node_modules/lodash/isFunction.js
86152
85629
  var require_isFunction = __commonJS(function(exports, module) {
86153
85630
  var baseGetTag = require__baseGetTag();
86154
- var isObject4 = require_isObject();
85631
+ var isObject3 = require_isObject();
86155
85632
  var asyncTag = "[object AsyncFunction]";
86156
85633
  var funcTag = "[object Function]";
86157
85634
  var genTag = "[object GeneratorFunction]";
86158
85635
  var proxyTag = "[object Proxy]";
86159
85636
  function isFunction(value) {
86160
- if (!isObject4(value)) {
85637
+ if (!isObject3(value)) {
86161
85638
  return false;
86162
85639
  }
86163
85640
  var tag = baseGetTag(value);
@@ -86208,17 +85685,17 @@ var require__toSource = __commonJS(function(exports, module) {
86208
85685
  var require__baseIsNative = __commonJS(function(exports, module) {
86209
85686
  var isFunction = require_isFunction();
86210
85687
  var isMasked = require__isMasked();
86211
- var isObject4 = require_isObject();
85688
+ var isObject3 = require_isObject();
86212
85689
  var toSource = require__toSource();
86213
85690
  var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
86214
85691
  var reIsHostCtor = /^\[object .+?Constructor\]$/;
86215
85692
  var funcProto = Function.prototype;
86216
85693
  var objectProto = Object.prototype;
86217
85694
  var funcToString = funcProto.toString;
86218
- var hasOwnProperty = objectProto.hasOwnProperty;
86219
- var reIsNative = RegExp("^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
85695
+ var hasOwnProperty2 = objectProto.hasOwnProperty;
85696
+ var reIsNative = RegExp("^" + funcToString.call(hasOwnProperty2).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
86220
85697
  function baseIsNative(value) {
86221
- if (!isObject4(value) || isMasked(value)) {
85698
+ if (!isObject3(value) || isMasked(value)) {
86222
85699
  return false;
86223
85700
  }
86224
85701
  var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
@@ -86286,14 +85763,14 @@ var require__hashGet = __commonJS(function(exports, module) {
86286
85763
  var nativeCreate = require__nativeCreate();
86287
85764
  var HASH_UNDEFINED = "__lodash_hash_undefined__";
86288
85765
  var objectProto = Object.prototype;
86289
- var hasOwnProperty = objectProto.hasOwnProperty;
85766
+ var hasOwnProperty2 = objectProto.hasOwnProperty;
86290
85767
  function hashGet(key) {
86291
85768
  var data = this.__data__;
86292
85769
  if (nativeCreate) {
86293
85770
  var result = data[key];
86294
85771
  return result === HASH_UNDEFINED ? undefined : result;
86295
85772
  }
86296
- return hasOwnProperty.call(data, key) ? data[key] : undefined;
85773
+ return hasOwnProperty2.call(data, key) ? data[key] : undefined;
86297
85774
  }
86298
85775
  module.exports = hashGet;
86299
85776
  });
@@ -86302,10 +85779,10 @@ var require__hashGet = __commonJS(function(exports, module) {
86302
85779
  var require__hashHas = __commonJS(function(exports, module) {
86303
85780
  var nativeCreate = require__nativeCreate();
86304
85781
  var objectProto = Object.prototype;
86305
- var hasOwnProperty = objectProto.hasOwnProperty;
85782
+ var hasOwnProperty2 = objectProto.hasOwnProperty;
86306
85783
  function hashHas(key) {
86307
85784
  var data = this.__data__;
86308
- return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);
85785
+ return nativeCreate ? data[key] !== undefined : hasOwnProperty2.call(data, key);
86309
85786
  }
86310
85787
  module.exports = hashHas;
86311
85788
  });
@@ -86809,12 +86286,12 @@ var require_isArguments = __commonJS(function(exports, module) {
86809
86286
  var baseIsArguments = require__baseIsArguments();
86810
86287
  var isObjectLike = require_isObjectLike();
86811
86288
  var objectProto = Object.prototype;
86812
- var hasOwnProperty = objectProto.hasOwnProperty;
86289
+ var hasOwnProperty2 = objectProto.hasOwnProperty;
86813
86290
  var propertyIsEnumerable = objectProto.propertyIsEnumerable;
86814
86291
  var isArguments = baseIsArguments(function() {
86815
86292
  return arguments;
86816
86293
  }()) ? baseIsArguments : function(value) {
86817
- return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
86294
+ return isObjectLike(value) && hasOwnProperty2.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
86818
86295
  };
86819
86296
  module.exports = isArguments;
86820
86297
  });
@@ -86947,11 +86424,11 @@ var require__arrayLikeKeys = __commonJS(function(exports, module) {
86947
86424
  var isIndex = require__isIndex();
86948
86425
  var isTypedArray = require_isTypedArray();
86949
86426
  var objectProto = Object.prototype;
86950
- var hasOwnProperty = objectProto.hasOwnProperty;
86427
+ var hasOwnProperty2 = objectProto.hasOwnProperty;
86951
86428
  function arrayLikeKeys(value, inherited) {
86952
86429
  var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
86953
86430
  for (var key in value) {
86954
- if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || isIndex(key, length)))) {
86431
+ if ((inherited || hasOwnProperty2.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || isIndex(key, length)))) {
86955
86432
  result.push(key);
86956
86433
  }
86957
86434
  }
@@ -86992,14 +86469,14 @@ var require__baseKeys = __commonJS(function(exports, module) {
86992
86469
  var isPrototype = require__isPrototype();
86993
86470
  var nativeKeys = require__nativeKeys();
86994
86471
  var objectProto = Object.prototype;
86995
- var hasOwnProperty = objectProto.hasOwnProperty;
86472
+ var hasOwnProperty2 = objectProto.hasOwnProperty;
86996
86473
  function baseKeys(object3) {
86997
86474
  if (!isPrototype(object3)) {
86998
86475
  return nativeKeys(object3);
86999
86476
  }
87000
86477
  var result = [];
87001
86478
  for (var key in Object(object3)) {
87002
- if (hasOwnProperty.call(object3, key) && key != "constructor") {
86479
+ if (hasOwnProperty2.call(object3, key) && key != "constructor") {
87003
86480
  result.push(key);
87004
86481
  }
87005
86482
  }
@@ -87045,7 +86522,7 @@ var require__equalObjects = __commonJS(function(exports, module) {
87045
86522
  var getAllKeys = require__getAllKeys();
87046
86523
  var COMPARE_PARTIAL_FLAG = 1;
87047
86524
  var objectProto = Object.prototype;
87048
- var hasOwnProperty = objectProto.hasOwnProperty;
86525
+ var hasOwnProperty2 = objectProto.hasOwnProperty;
87049
86526
  function equalObjects(object3, other, bitmask, customizer, equalFunc, stack) {
87050
86527
  var isPartial = bitmask & COMPARE_PARTIAL_FLAG, objProps = getAllKeys(object3), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length;
87051
86528
  if (objLength != othLength && !isPartial) {
@@ -87054,7 +86531,7 @@ var require__equalObjects = __commonJS(function(exports, module) {
87054
86531
  var index = objLength;
87055
86532
  while (index--) {
87056
86533
  var key = objProps[index];
87057
- if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
86534
+ if (!(isPartial ? key in other : hasOwnProperty2.call(other, key))) {
87058
86535
  return false;
87059
86536
  }
87060
86537
  }
@@ -87183,7 +86660,7 @@ var require__baseIsEqualDeep = __commonJS(function(exports, module) {
87183
86660
  var arrayTag = "[object Array]";
87184
86661
  var objectTag = "[object Object]";
87185
86662
  var objectProto = Object.prototype;
87186
- var hasOwnProperty = objectProto.hasOwnProperty;
86663
+ var hasOwnProperty2 = objectProto.hasOwnProperty;
87187
86664
  function baseIsEqualDeep(object3, other, bitmask, customizer, equalFunc, stack) {
87188
86665
  var objIsArr = isArray(object3), othIsArr = isArray(other), objTag = objIsArr ? arrayTag : getTag(object3), othTag = othIsArr ? arrayTag : getTag(other);
87189
86666
  objTag = objTag == argsTag ? objectTag : objTag;
@@ -87201,7 +86678,7 @@ var require__baseIsEqualDeep = __commonJS(function(exports, module) {
87201
86678
  return objIsArr || isTypedArray(object3) ? equalArrays(object3, other, bitmask, customizer, equalFunc, stack) : equalByTag(object3, other, objTag, bitmask, customizer, equalFunc, stack);
87202
86679
  }
87203
86680
  if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
87204
- var objIsWrapped = objIsObj && hasOwnProperty.call(object3, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty.call(other, "__wrapped__");
86681
+ var objIsWrapped = objIsObj && hasOwnProperty2.call(object3, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty2.call(other, "__wrapped__");
87205
86682
  if (objIsWrapped || othIsWrapped) {
87206
86683
  var objUnwrapped = objIsWrapped ? object3.value() : object3, othUnwrapped = othIsWrapped ? other.value() : other;
87207
86684
  stack || (stack = new Stack);
@@ -89824,247 +89301,247 @@ var init_manifest = __esm(() => {
89824
89301
  init_i18next();
89825
89302
  init_i18next();
89826
89303
  init_zod();
89827
- init_dist3();
89304
+ init_dist2();
89828
89305
  init_zod();
89829
- init_dist3();
89306
+ init_dist2();
89830
89307
  init_zod();
89831
- init_dist3();
89308
+ init_dist2();
89832
89309
  init_zod();
89833
- init_dist3();
89310
+ init_dist2();
89834
89311
  init_zod();
89835
- init_dist3();
89836
- init_dist3();
89312
+ init_dist2();
89313
+ init_dist2();
89837
89314
  init_zod();
89838
- init_dist3();
89315
+ init_dist2();
89839
89316
  init_zod();
89840
- init_dist3();
89317
+ init_dist2();
89841
89318
  init_zod();
89842
- init_dist3();
89319
+ init_dist2();
89843
89320
  init_zod();
89844
- init_dist3();
89321
+ init_dist2();
89845
89322
  init_zod();
89846
- init_dist3();
89323
+ init_dist2();
89847
89324
  init_zod();
89848
- init_dist3();
89325
+ init_dist2();
89849
89326
  init_zod();
89850
- init_dist3();
89327
+ init_dist2();
89851
89328
  init_zod();
89852
- init_dist3();
89329
+ init_dist2();
89853
89330
  init_zod();
89854
- init_dist3();
89331
+ init_dist2();
89855
89332
  init_zod();
89856
- init_dist3();
89333
+ init_dist2();
89857
89334
  init_zod();
89858
- init_dist3();
89335
+ init_dist2();
89859
89336
  init_zod();
89860
- init_dist3();
89337
+ init_dist2();
89861
89338
  init_zod();
89862
- init_dist3();
89339
+ init_dist2();
89863
89340
  init_zod();
89864
- init_dist3();
89341
+ init_dist2();
89865
89342
  init_zod();
89866
- init_dist3();
89343
+ init_dist2();
89867
89344
  init_zod();
89868
- init_dist3();
89345
+ init_dist2();
89869
89346
  init_zod();
89870
- init_dist3();
89347
+ init_dist2();
89871
89348
  init_zod();
89872
- init_dist3();
89349
+ init_dist2();
89873
89350
  init_zod();
89874
- init_dist3();
89351
+ init_dist2();
89875
89352
  init_zod();
89876
- init_dist3();
89353
+ init_dist2();
89877
89354
  init_i18next();
89878
89355
  init_zod();
89879
- init_dist3();
89356
+ init_dist2();
89880
89357
  init_zod();
89881
- init_dist3();
89358
+ init_dist2();
89882
89359
  init_zod();
89883
- init_dist3();
89360
+ init_dist2();
89884
89361
  init_zod();
89885
- init_dist3();
89362
+ init_dist2();
89886
89363
  init_zod();
89887
- init_dist3();
89364
+ init_dist2();
89888
89365
  init_zod();
89889
- init_dist3();
89366
+ init_dist2();
89890
89367
  init_zod();
89891
- init_dist3();
89368
+ init_dist2();
89892
89369
  init_zod();
89893
- init_dist3();
89370
+ init_dist2();
89894
89371
  init_zod();
89895
- init_dist3();
89372
+ init_dist2();
89896
89373
  init_zod();
89897
- init_dist3();
89374
+ init_dist2();
89898
89375
  init_zod();
89899
- init_dist3();
89376
+ init_dist2();
89900
89377
  init_zod();
89901
- init_dist3();
89378
+ init_dist2();
89902
89379
  init_zod();
89903
- init_dist3();
89380
+ init_dist2();
89904
89381
  init_zod();
89905
- init_dist3();
89382
+ init_dist2();
89906
89383
  init_zod();
89907
- init_dist3();
89384
+ init_dist2();
89908
89385
  init_i18next();
89909
- init_dist3();
89386
+ init_dist2();
89910
89387
  init_zod();
89911
- init_dist3();
89388
+ init_dist2();
89912
89389
  init_zod();
89913
- init_dist3();
89390
+ init_dist2();
89914
89391
  init_zod();
89915
- init_dist3();
89392
+ init_dist2();
89916
89393
  init_zod();
89917
- init_dist3();
89394
+ init_dist2();
89918
89395
  init_zod();
89919
- init_dist3();
89396
+ init_dist2();
89920
89397
  init_zod();
89921
- init_dist3();
89398
+ init_dist2();
89922
89399
  init_zod();
89923
- init_dist3();
89400
+ init_dist2();
89924
89401
  init_zod();
89925
- init_dist3();
89402
+ init_dist2();
89926
89403
  init_zod();
89927
- init_dist3();
89404
+ init_dist2();
89928
89405
  init_zod();
89929
- init_dist3();
89406
+ init_dist2();
89930
89407
  init_zod();
89931
- init_dist3();
89408
+ init_dist2();
89932
89409
  init_zod();
89933
- init_dist3();
89410
+ init_dist2();
89934
89411
  init_zod();
89935
- init_dist3();
89412
+ init_dist2();
89936
89413
  init_zod();
89937
- init_dist3();
89414
+ init_dist2();
89938
89415
  init_zod();
89939
- init_dist3();
89416
+ init_dist2();
89940
89417
  init_zod();
89941
- init_dist3();
89418
+ init_dist2();
89942
89419
  init_zod();
89943
- init_dist3();
89420
+ init_dist2();
89944
89421
  init_zod();
89945
- init_dist3();
89422
+ init_dist2();
89946
89423
  init_zod();
89947
- init_dist3();
89424
+ init_dist2();
89948
89425
  init_zod();
89949
- init_dist3();
89426
+ init_dist2();
89950
89427
  init_zod();
89951
- init_dist3();
89428
+ init_dist2();
89952
89429
  init_zod();
89953
- init_dist3();
89430
+ init_dist2();
89954
89431
  init_zod();
89955
- init_dist3();
89432
+ init_dist2();
89956
89433
  init_zod();
89957
- init_dist3();
89434
+ init_dist2();
89958
89435
  init_zod();
89959
- init_dist3();
89436
+ init_dist2();
89960
89437
  init_zod();
89961
- init_dist3();
89438
+ init_dist2();
89962
89439
  init_zod();
89963
- init_dist3();
89440
+ init_dist2();
89964
89441
  init_zod();
89965
- init_dist3();
89442
+ init_dist2();
89966
89443
  init_zod();
89967
- init_dist3();
89444
+ init_dist2();
89968
89445
  init_zod();
89969
- init_dist3();
89446
+ init_dist2();
89970
89447
  init_zod();
89971
- init_dist3();
89448
+ init_dist2();
89972
89449
  init_zod();
89973
- init_dist3();
89450
+ init_dist2();
89974
89451
  init_zod();
89975
- init_dist3();
89452
+ init_dist2();
89976
89453
  init_zod();
89977
- init_dist3();
89454
+ init_dist2();
89978
89455
  init_zod();
89979
- init_dist3();
89456
+ init_dist2();
89980
89457
  init_zod();
89981
- init_dist3();
89458
+ init_dist2();
89982
89459
  init_zod();
89983
- init_dist3();
89460
+ init_dist2();
89984
89461
  init_zod();
89985
- init_dist3();
89462
+ init_dist2();
89986
89463
  init_zod();
89987
- init_dist3();
89464
+ init_dist2();
89988
89465
  init_zod();
89989
- init_dist3();
89466
+ init_dist2();
89990
89467
  init_zod();
89991
- init_dist3();
89468
+ init_dist2();
89992
89469
  init_zod();
89993
- init_dist3();
89470
+ init_dist2();
89994
89471
  init_zod();
89995
- init_dist3();
89472
+ init_dist2();
89996
89473
  init_zod();
89997
- init_dist3();
89998
- init_dist3();
89474
+ init_dist2();
89475
+ init_dist2();
89999
89476
  init_zod();
90000
- init_dist3();
89477
+ init_dist2();
90001
89478
  init_zod();
90002
- init_dist3();
89479
+ init_dist2();
90003
89480
  init_zod();
90004
- init_dist3();
89481
+ init_dist2();
90005
89482
  init_zod();
90006
- init_dist3();
89483
+ init_dist2();
90007
89484
  init_zod();
90008
- init_dist3();
89485
+ init_dist2();
90009
89486
  init_zod();
90010
- init_dist3();
89487
+ init_dist2();
90011
89488
  init_zod();
90012
- init_dist3();
89489
+ init_dist2();
90013
89490
  init_zod();
90014
- init_dist3();
89491
+ init_dist2();
90015
89492
  init_zod();
90016
- init_dist3();
89493
+ init_dist2();
90017
89494
  init_zod();
90018
- init_dist3();
89495
+ init_dist2();
90019
89496
  init_zod();
90020
- init_dist3();
89497
+ init_dist2();
90021
89498
  init_zod();
90022
- init_dist3();
89499
+ init_dist2();
90023
89500
  init_zod();
90024
- init_dist3();
89501
+ init_dist2();
90025
89502
  init_zod();
90026
- init_dist3();
89503
+ init_dist2();
90027
89504
  init_zod();
90028
- init_dist3();
89505
+ init_dist2();
90029
89506
  init_zod();
90030
- init_dist3();
89507
+ init_dist2();
90031
89508
  init_zod();
90032
- init_dist3();
89509
+ init_dist2();
90033
89510
  init_zod();
90034
- init_dist3();
89511
+ init_dist2();
90035
89512
  init_zod();
90036
- init_dist3();
89513
+ init_dist2();
90037
89514
  init_zod();
90038
- init_dist3();
89515
+ init_dist2();
90039
89516
  init_zod();
90040
- init_dist3();
89517
+ init_dist2();
90041
89518
  init_zod();
90042
- init_dist3();
89519
+ init_dist2();
90043
89520
  init_zod();
90044
- init_dist3();
89521
+ init_dist2();
90045
89522
  init_zod();
90046
- init_dist3();
89523
+ init_dist2();
90047
89524
  init_zod();
90048
- init_dist3();
89525
+ init_dist2();
90049
89526
  init_zod();
90050
- init_dist3();
89527
+ init_dist2();
90051
89528
  init_zod();
90052
- init_dist3();
89529
+ init_dist2();
90053
89530
  init_zod();
90054
- init_dist3();
89531
+ init_dist2();
90055
89532
  init_zod();
90056
- init_dist3();
89533
+ init_dist2();
90057
89534
  init_zod();
90058
- init_dist3();
89535
+ init_dist2();
90059
89536
  init_zod();
90060
- init_dist3();
89537
+ init_dist2();
90061
89538
  init_i18next();
90062
- init_dist3();
89539
+ init_dist2();
90063
89540
  init_i18next();
90064
89541
  init_i18next();
90065
89542
  init_i18next();
90066
- init_dist3();
90067
- init_dist3();
89543
+ init_dist2();
89544
+ init_dist2();
90068
89545
  import_isEqual = __toESM(require_isEqual(), 1);
90069
89546
  fixedT = instance.getFixedT(null, MANIFEST_NAMESPACE);
90070
89547
  ERROR_OUTPUT_DEFINITION = {
@@ -123944,8 +123421,8 @@ function isAuthProfileStorage(value) {
123944
123421
  return value !== null && typeof value === "object" && "getStore" in value && "run" in value;
123945
123422
  }
123946
123423
  function createProfileStorage() {
123947
- const [error90, mod2] = catchError2(() => __require("node:async_hooks"));
123948
- if (error90 || typeof mod2?.AsyncLocalStorage !== "function") {
123424
+ const [error90, mod] = catchError2(() => __require("node:async_hooks"));
123425
+ if (error90 || typeof mod?.AsyncLocalStorage !== "function") {
123949
123426
  return {
123950
123427
  getStore: () => {
123951
123428
  return;
@@ -123953,7 +123430,7 @@ function createProfileStorage() {
123953
123430
  run: (_store, fn) => fn()
123954
123431
  };
123955
123432
  }
123956
- return new mod2.AsyncLocalStorage;
123433
+ return new mod.AsyncLocalStorage;
123957
123434
  }
123958
123435
  function getProfileStorage() {
123959
123436
  const existing = globalSlot2[AUTH_PROFILE_STORAGE_KEY];
@@ -124332,11 +123809,11 @@ var DEFAULT_TIMEOUT_MS = 1000, CLOSE_TIMEOUT_MS = 500, ROBOT_USER_SERVICES_PIPE
124332
123809
  if (!hostLoader) {
124333
123810
  return;
124334
123811
  }
124335
- const [error90, mod2] = await catchError2(() => hostLoader());
124336
- if (error90 || !mod2) {
123812
+ const [error90, mod] = await catchError2(() => hostLoader());
123813
+ if (error90 || !mod) {
124337
123814
  return;
124338
123815
  }
124339
- return mod2;
123816
+ return mod;
124340
123817
  }, tryRobotClientFallback = async (options = {}) => {
124341
123818
  if (isBrowser())
124342
123819
  return;
@@ -124354,10 +123831,10 @@ var DEFAULT_TIMEOUT_MS = 1000, CLOSE_TIMEOUT_MS = 500, ROBOT_USER_SERVICES_PIPE
124354
123831
  if (!await isRobotIpcAvailable()) {
124355
123832
  return;
124356
123833
  }
124357
- const mod2 = await loadModule();
124358
- if (!mod2)
123834
+ const mod = await loadModule();
123835
+ if (!mod)
124359
123836
  return;
124360
- const [ctorError, proxy] = catchError2(() => new mod2.RobotProxyConstructor);
123837
+ const [ctorError, proxy] = catchError2(() => new mod.RobotProxyConstructor);
124361
123838
  if (ctorError || !proxy) {
124362
123839
  return;
124363
123840
  }
@@ -125857,8 +125334,8 @@ var package_default;
125857
125334
  var init_package = __esm(() => {
125858
125335
  package_default = {
125859
125336
  name: "@uipath/integrationservice-sdk",
125860
- license: "MIT",
125861
- version: "1.202.0-preview.142",
125337
+ license: "SEE LICENSE IN LICENSE.txt",
125338
+ version: "1.202.0",
125862
125339
  repository: {
125863
125340
  type: "git",
125864
125341
  url: "https://github.com/UiPath/cli.git",
@@ -137661,15 +137138,15 @@ var require_fromEvent = __commonJS(function(exports) {
137661
137138
  return function(handler) {
137662
137139
  return target[methodName](eventName, handler, options);
137663
137140
  };
137664
- }) : isNodeStyleEventEmitter(target) ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName)) : isJQueryStyleEventEmitter(target) ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName)) : [], 2), add2 = _a3[0], remove = _a3[1];
137665
- if (!add2) {
137141
+ }) : isNodeStyleEventEmitter(target) ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName)) : isJQueryStyleEventEmitter(target) ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName)) : [], 2), add = _a3[0], remove = _a3[1];
137142
+ if (!add) {
137666
137143
  if (isArrayLike_1.isArrayLike(target)) {
137667
137144
  return mergeMap_1.mergeMap(function(subTarget) {
137668
137145
  return fromEvent(subTarget, eventName, options);
137669
137146
  })(innerFrom_1.innerFrom(target));
137670
137147
  }
137671
137148
  }
137672
- if (!add2) {
137149
+ if (!add) {
137673
137150
  throw new TypeError("Invalid event target");
137674
137151
  }
137675
137152
  return new Observable_1.Observable(function(subscriber) {
@@ -137680,7 +137157,7 @@ var require_fromEvent = __commonJS(function(exports) {
137680
137157
  }
137681
137158
  return subscriber.next(1 < args.length ? args : args[0]);
137682
137159
  };
137683
- add2(handler);
137160
+ add(handler);
137684
137161
  return function() {
137685
137162
  return remove(handler);
137686
137163
  };
@@ -142921,7 +142398,7 @@ var init__Symbol = __esm(() => {
142921
142398
 
142922
142399
  // ../../node_modules/lodash-es/_getRawTag.js
142923
142400
  function getRawTag(value) {
142924
- var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
142401
+ var isOwn = hasOwnProperty2.call(value, symToStringTag), tag = value[symToStringTag];
142925
142402
  try {
142926
142403
  value[symToStringTag] = undefined;
142927
142404
  var unmasked = true;
@@ -142936,11 +142413,11 @@ function getRawTag(value) {
142936
142413
  }
142937
142414
  return result;
142938
142415
  }
142939
- var objectProto, hasOwnProperty, nativeObjectToString, symToStringTag, _getRawTag_default;
142416
+ var objectProto, hasOwnProperty2, nativeObjectToString, symToStringTag, _getRawTag_default;
142940
142417
  var init__getRawTag = __esm(() => {
142941
142418
  init__Symbol();
142942
142419
  objectProto = Object.prototype;
142943
- hasOwnProperty = objectProto.hasOwnProperty;
142420
+ hasOwnProperty2 = objectProto.hasOwnProperty;
142944
142421
  nativeObjectToString = objectProto.toString;
142945
142422
  symToStringTag = _Symbol_default ? _Symbol_default.toStringTag : undefined;
142946
142423
  _getRawTag_default = getRawTag;
@@ -142974,13 +142451,13 @@ var init__baseGetTag = __esm(() => {
142974
142451
  });
142975
142452
 
142976
142453
  // ../../node_modules/lodash-es/isObject.js
142977
- function isObject4(value) {
142454
+ function isObject3(value) {
142978
142455
  var type2 = typeof value;
142979
142456
  return value != null && (type2 == "object" || type2 == "function");
142980
142457
  }
142981
142458
  var isObject_default;
142982
142459
  var init_isObject = __esm(() => {
142983
- isObject_default = isObject4;
142460
+ isObject_default = isObject3;
142984
142461
  });
142985
142462
 
142986
142463
  // ../../node_modules/lodash-es/isFunction.js
@@ -143047,7 +142524,7 @@ function baseIsNative(value) {
143047
142524
  var pattern = isFunction_default(value) ? reIsNative : reIsHostCtor;
143048
142525
  return pattern.test(_toSource_default(value));
143049
142526
  }
143050
- var reRegExpChar, reIsHostCtor, funcProto2, objectProto3, funcToString2, hasOwnProperty2, reIsNative, _baseIsNative_default;
142527
+ var reRegExpChar, reIsHostCtor, funcProto2, objectProto3, funcToString2, hasOwnProperty3, reIsNative, _baseIsNative_default;
143051
142528
  var init__baseIsNative = __esm(() => {
143052
142529
  init_isFunction();
143053
142530
  init__isMasked();
@@ -143058,8 +142535,8 @@ var init__baseIsNative = __esm(() => {
143058
142535
  funcProto2 = Function.prototype;
143059
142536
  objectProto3 = Object.prototype;
143060
142537
  funcToString2 = funcProto2.toString;
143061
- hasOwnProperty2 = objectProto3.hasOwnProperty;
143062
- reIsNative = RegExp("^" + funcToString2.call(hasOwnProperty2).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
142538
+ hasOwnProperty3 = objectProto3.hasOwnProperty;
142539
+ reIsNative = RegExp("^" + funcToString2.call(hasOwnProperty3).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
143063
142540
  _baseIsNative_default = baseIsNative;
143064
142541
  });
143065
142542
 
@@ -143121,26 +142598,26 @@ function hashGet(key) {
143121
142598
  var result = data[key];
143122
142599
  return result === HASH_UNDEFINED ? undefined : result;
143123
142600
  }
143124
- return hasOwnProperty3.call(data, key) ? data[key] : undefined;
142601
+ return hasOwnProperty4.call(data, key) ? data[key] : undefined;
143125
142602
  }
143126
- var HASH_UNDEFINED = "__lodash_hash_undefined__", objectProto4, hasOwnProperty3, _hashGet_default;
142603
+ var HASH_UNDEFINED = "__lodash_hash_undefined__", objectProto4, hasOwnProperty4, _hashGet_default;
143127
142604
  var init__hashGet = __esm(() => {
143128
142605
  init__nativeCreate();
143129
142606
  objectProto4 = Object.prototype;
143130
- hasOwnProperty3 = objectProto4.hasOwnProperty;
142607
+ hasOwnProperty4 = objectProto4.hasOwnProperty;
143131
142608
  _hashGet_default = hashGet;
143132
142609
  });
143133
142610
 
143134
142611
  // ../../node_modules/lodash-es/_hashHas.js
143135
142612
  function hashHas(key) {
143136
142613
  var data = this.__data__;
143137
- return _nativeCreate_default ? data[key] !== undefined : hasOwnProperty4.call(data, key);
142614
+ return _nativeCreate_default ? data[key] !== undefined : hasOwnProperty5.call(data, key);
143138
142615
  }
143139
- var objectProto5, hasOwnProperty4, _hashHas_default;
142616
+ var objectProto5, hasOwnProperty5, _hashHas_default;
143140
142617
  var init__hashHas = __esm(() => {
143141
142618
  init__nativeCreate();
143142
142619
  objectProto5 = Object.prototype;
143143
- hasOwnProperty4 = objectProto5.hasOwnProperty;
142620
+ hasOwnProperty5 = objectProto5.hasOwnProperty;
143144
142621
  _hashHas_default = hashHas;
143145
142622
  });
143146
142623
 
@@ -143644,17 +143121,17 @@ var init__baseIsArguments = __esm(() => {
143644
143121
  });
143645
143122
 
143646
143123
  // ../../node_modules/lodash-es/isArguments.js
143647
- var objectProto6, hasOwnProperty5, propertyIsEnumerable, isArguments, isArguments_default;
143124
+ var objectProto6, hasOwnProperty6, propertyIsEnumerable, isArguments, isArguments_default;
143648
143125
  var init_isArguments = __esm(() => {
143649
143126
  init__baseIsArguments();
143650
143127
  init_isObjectLike();
143651
143128
  objectProto6 = Object.prototype;
143652
- hasOwnProperty5 = objectProto6.hasOwnProperty;
143129
+ hasOwnProperty6 = objectProto6.hasOwnProperty;
143653
143130
  propertyIsEnumerable = objectProto6.propertyIsEnumerable;
143654
143131
  isArguments = _baseIsArguments_default(function() {
143655
143132
  return arguments;
143656
143133
  }()) ? _baseIsArguments_default : function(value) {
143657
- return isObjectLike_default(value) && hasOwnProperty5.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
143134
+ return isObjectLike_default(value) && hasOwnProperty6.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
143658
143135
  };
143659
143136
  isArguments_default = isArguments;
143660
143137
  });
@@ -144290,13 +143767,13 @@ var init_isTypedArray = __esm(() => {
144290
143767
  function arrayLikeKeys(value, inherited) {
144291
143768
  var isArr = isArray_default(value), isArg = !isArr && isArguments_default(value), isBuff = !isArr && !isArg && isBuffer_default(value), isType = !isArr && !isArg && !isBuff && isTypedArray_default(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? _baseTimes_default(value.length, String) : [], length = result.length;
144292
143769
  for (var key in value) {
144293
- if ((inherited || hasOwnProperty6.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || _isIndex_default(key, length)))) {
143770
+ if ((inherited || hasOwnProperty7.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || _isIndex_default(key, length)))) {
144294
143771
  result.push(key);
144295
143772
  }
144296
143773
  }
144297
143774
  return result;
144298
143775
  }
144299
- var objectProto7, hasOwnProperty6, _arrayLikeKeys_default;
143776
+ var objectProto7, hasOwnProperty7, _arrayLikeKeys_default;
144300
143777
  var init__arrayLikeKeys = __esm(() => {
144301
143778
  init__baseTimes();
144302
143779
  init_isArguments();
@@ -144305,7 +143782,7 @@ var init__arrayLikeKeys = __esm(() => {
144305
143782
  init__isIndex();
144306
143783
  init_isTypedArray();
144307
143784
  objectProto7 = Object.prototype;
144308
- hasOwnProperty6 = objectProto7.hasOwnProperty;
143785
+ hasOwnProperty7 = objectProto7.hasOwnProperty;
144309
143786
  _arrayLikeKeys_default = arrayLikeKeys;
144310
143787
  });
144311
143788
 
@@ -144346,18 +143823,18 @@ function baseKeys(object3) {
144346
143823
  }
144347
143824
  var result = [];
144348
143825
  for (var key in Object(object3)) {
144349
- if (hasOwnProperty7.call(object3, key) && key != "constructor") {
143826
+ if (hasOwnProperty8.call(object3, key) && key != "constructor") {
144350
143827
  result.push(key);
144351
143828
  }
144352
143829
  }
144353
143830
  return result;
144354
143831
  }
144355
- var objectProto9, hasOwnProperty7, _baseKeys_default;
143832
+ var objectProto9, hasOwnProperty8, _baseKeys_default;
144356
143833
  var init__baseKeys = __esm(() => {
144357
143834
  init__isPrototype();
144358
143835
  init__nativeKeys();
144359
143836
  objectProto9 = Object.prototype;
144360
- hasOwnProperty7 = objectProto9.hasOwnProperty;
143837
+ hasOwnProperty8 = objectProto9.hasOwnProperty;
144361
143838
  _baseKeys_default = baseKeys;
144362
143839
  });
144363
143840
 
@@ -144754,7 +144231,7 @@ function equalObjects(object3, other, bitmask, customizer, equalFunc, stack) {
144754
144231
  var index = objLength;
144755
144232
  while (index--) {
144756
144233
  var key = objProps[index];
144757
- if (!(isPartial ? key in other : hasOwnProperty8.call(other, key))) {
144234
+ if (!(isPartial ? key in other : hasOwnProperty9.call(other, key))) {
144758
144235
  return false;
144759
144236
  }
144760
144237
  }
@@ -144789,11 +144266,11 @@ function equalObjects(object3, other, bitmask, customizer, equalFunc, stack) {
144789
144266
  stack["delete"](other);
144790
144267
  return result;
144791
144268
  }
144792
- var COMPARE_PARTIAL_FLAG3 = 1, objectProto11, hasOwnProperty8, _equalObjects_default;
144269
+ var COMPARE_PARTIAL_FLAG3 = 1, objectProto11, hasOwnProperty9, _equalObjects_default;
144793
144270
  var init__equalObjects = __esm(() => {
144794
144271
  init__getAllKeys();
144795
144272
  objectProto11 = Object.prototype;
144796
- hasOwnProperty8 = objectProto11.hasOwnProperty;
144273
+ hasOwnProperty9 = objectProto11.hasOwnProperty;
144797
144274
  _equalObjects_default = equalObjects;
144798
144275
  });
144799
144276
 
@@ -144890,7 +144367,7 @@ function baseIsEqualDeep(object3, other, bitmask, customizer, equalFunc, stack)
144890
144367
  return objIsArr || isTypedArray_default(object3) ? _equalArrays_default(object3, other, bitmask, customizer, equalFunc, stack) : _equalByTag_default(object3, other, objTag, bitmask, customizer, equalFunc, stack);
144891
144368
  }
144892
144369
  if (!(bitmask & COMPARE_PARTIAL_FLAG4)) {
144893
- var objIsWrapped = objIsObj && hasOwnProperty9.call(object3, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty9.call(other, "__wrapped__");
144370
+ var objIsWrapped = objIsObj && hasOwnProperty10.call(object3, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty10.call(other, "__wrapped__");
144894
144371
  if (objIsWrapped || othIsWrapped) {
144895
144372
  var objUnwrapped = objIsWrapped ? object3.value() : object3, othUnwrapped = othIsWrapped ? other.value() : other;
144896
144373
  stack || (stack = new _Stack_default);
@@ -144903,7 +144380,7 @@ function baseIsEqualDeep(object3, other, bitmask, customizer, equalFunc, stack)
144903
144380
  stack || (stack = new _Stack_default);
144904
144381
  return _equalObjects_default(object3, other, bitmask, customizer, equalFunc, stack);
144905
144382
  }
144906
- var COMPARE_PARTIAL_FLAG4 = 1, argsTag3 = "[object Arguments]", arrayTag2 = "[object Array]", objectTag3 = "[object Object]", objectProto12, hasOwnProperty9, _baseIsEqualDeep_default;
144383
+ var COMPARE_PARTIAL_FLAG4 = 1, argsTag3 = "[object Arguments]", arrayTag2 = "[object Array]", objectTag3 = "[object Object]", objectProto12, hasOwnProperty10, _baseIsEqualDeep_default;
144907
144384
  var init__baseIsEqualDeep = __esm(() => {
144908
144385
  init__Stack();
144909
144386
  init__equalArrays();
@@ -144914,7 +144391,7 @@ var init__baseIsEqualDeep = __esm(() => {
144914
144391
  init_isBuffer();
144915
144392
  init_isTypedArray();
144916
144393
  objectProto12 = Object.prototype;
144917
- hasOwnProperty9 = objectProto12.hasOwnProperty;
144394
+ hasOwnProperty10 = objectProto12.hasOwnProperty;
144918
144395
  _baseIsEqualDeep_default = baseIsEqualDeep;
144919
144396
  });
144920
144397
 
@@ -145178,14 +144655,14 @@ var init__createAggregator = __esm(() => {
145178
144655
  });
145179
144656
 
145180
144657
  // ../../node_modules/lodash-es/groupBy.js
145181
- var objectProto13, hasOwnProperty10, groupBy, groupBy_default;
144658
+ var objectProto13, hasOwnProperty11, groupBy, groupBy_default;
145182
144659
  var init_groupBy = __esm(() => {
145183
144660
  init__baseAssignValue();
145184
144661
  init__createAggregator();
145185
144662
  objectProto13 = Object.prototype;
145186
- hasOwnProperty10 = objectProto13.hasOwnProperty;
144663
+ hasOwnProperty11 = objectProto13.hasOwnProperty;
145187
144664
  groupBy = _createAggregator_default(function(result, value, key) {
145188
- if (hasOwnProperty10.call(result, key)) {
144665
+ if (hasOwnProperty11.call(result, key)) {
145189
144666
  result[key].push(value);
145190
144667
  } else {
145191
144668
  _baseAssignValue_default(result, key, [value]);
@@ -145326,13 +144803,13 @@ var init_orderBy = __esm(() => {
145326
144803
  });
145327
144804
 
145328
144805
  // ../../node_modules/lodash-es/_baseClamp.js
145329
- function baseClamp(number7, lower2, upper2) {
144806
+ function baseClamp(number7, lower, upper) {
145330
144807
  if (number7 === number7) {
145331
- if (upper2 !== undefined) {
145332
- number7 = number7 <= upper2 ? number7 : upper2;
144808
+ if (upper !== undefined) {
144809
+ number7 = number7 <= upper ? number7 : upper;
145333
144810
  }
145334
- if (lower2 !== undefined) {
145335
- number7 = number7 >= lower2 ? number7 : lower2;
144811
+ if (lower !== undefined) {
144812
+ number7 = number7 >= lower ? number7 : lower;
145336
144813
  }
145337
144814
  }
145338
144815
  return number7;
@@ -145555,7 +145032,7 @@ var init__stringToArray = __esm(() => {
145555
145032
  });
145556
145033
 
145557
145034
  // ../../node_modules/lodash-es/trim.js
145558
- function trim2(string7, chars2, guard) {
145035
+ function trim(string7, chars2, guard) {
145559
145036
  string7 = toString_default(string7);
145560
145037
  if (string7 && (guard || chars2 === undefined)) {
145561
145038
  return _baseTrim_default(string7);
@@ -145575,7 +145052,7 @@ var init_trim = __esm(() => {
145575
145052
  init__charsStartIndex();
145576
145053
  init__stringToArray();
145577
145054
  init_toString();
145578
- trim_default = trim2;
145055
+ trim_default = trim;
145579
145056
  });
145580
145057
 
145581
145058
  // ../../node_modules/lodash-es/trimEnd.js
@@ -146557,7 +146034,7 @@ function pick3(obj, keys2) {
146557
146034
  return a;
146558
146035
  }, {});
146559
146036
  }
146560
- function hasOwnProperty11(obj, prop) {
146037
+ function hasOwnProperty12(obj, prop) {
146561
146038
  return Object.prototype.hasOwnProperty.call(obj, prop);
146562
146039
  }
146563
146040
  function validateWeekSettings(settings) {
@@ -146701,7 +146178,7 @@ function asNumber(value) {
146701
146178
  function normalizeObject(obj, normalizer) {
146702
146179
  const normalized = {};
146703
146180
  for (const u in obj) {
146704
- if (hasOwnProperty11(obj, u)) {
146181
+ if (hasOwnProperty12(obj, u)) {
146705
146182
  const v = obj[u];
146706
146183
  if (v === undefined || v === null)
146707
146184
  continue;
@@ -147592,7 +147069,7 @@ function match(input, regex, handlers) {
147592
147069
  const all = {};
147593
147070
  let matchIndex = 1;
147594
147071
  for (const i in handlers) {
147595
- if (hasOwnProperty11(handlers, i)) {
147072
+ if (hasOwnProperty12(handlers, i)) {
147596
147073
  const h = handlers[i], groups = h.groups ? h.groups + 1 : 1;
147597
147074
  if (!h.literal && h.token) {
147598
147075
  all[h.token.val[0]] = h.deser(matches.slice(matchIndex, matchIndex + groups));
@@ -147696,7 +147173,7 @@ function expandMacroTokens(tokens, locale) {
147696
147173
  return Array.prototype.concat(...tokens.map((t14) => maybeExpandMacroToken(t14, locale)));
147697
147174
  }
147698
147175
 
147699
- class TokenParser2 {
147176
+ class TokenParser {
147700
147177
  constructor(locale, format) {
147701
147178
  this.locale = locale;
147702
147179
  this.format = format;
@@ -147714,7 +147191,7 @@ class TokenParser2 {
147714
147191
  return { input, tokens: this.tokens, invalidReason: this.invalidReason };
147715
147192
  } else {
147716
147193
  const [rawMatches, matches] = match(input, this.regex, this.handlers), [result, zone, specificOffset] = matches ? dateTimeFromMatches(matches) : [null, null, undefined];
147717
- if (hasOwnProperty11(matches, "a") && hasOwnProperty11(matches, "H")) {
147194
+ if (hasOwnProperty12(matches, "a") && hasOwnProperty12(matches, "H")) {
147718
147195
  throw new ConflictingSpecificationError("Can't include meridiem when specifying 24-hour format");
147719
147196
  }
147720
147197
  return {
@@ -147737,7 +147214,7 @@ class TokenParser2 {
147737
147214
  }
147738
147215
  }
147739
147216
  function explainFromTokens(locale, input, format) {
147740
- const parser = new TokenParser2(locale, format);
147217
+ const parser = new TokenParser(locale, format);
147741
147218
  return parser.explainFromTokens(input);
147742
147219
  }
147743
147220
  function parseFromTokens(locale, input, format) {
@@ -148900,7 +148377,7 @@ var init_luxon = __esm(() => {
148900
148377
  return this;
148901
148378
  const dur = Duration.fromDurationLike(duration5), result = {};
148902
148379
  for (const k of orderedUnits$1) {
148903
- if (hasOwnProperty11(dur.values, k) || hasOwnProperty11(this.values, k)) {
148380
+ if (hasOwnProperty12(dur.values, k) || hasOwnProperty12(this.values, k)) {
148904
148381
  result[k] = dur.get(k) + this.get(k);
148905
148382
  }
148906
148383
  }
@@ -150108,7 +149585,7 @@ var init_luxon = __esm(() => {
150108
149585
  numberingSystem,
150109
149586
  defaultToEN: true
150110
149587
  });
150111
- return new TokenParser2(localeToUse, fmt);
149588
+ return new TokenParser(localeToUse, fmt);
150112
149589
  }
150113
149590
  static fromFormatParser(text, formatParser, opts = {}) {
150114
149591
  if (isUndefined(text) || isUndefined(formatParser)) {
@@ -151774,15 +151251,15 @@ var require_subset2 = __commonJS(function(exports, module) {
151774
151251
  var { ANY } = Comparator;
151775
151252
  var satisfies = require_satisfies2();
151776
151253
  var compare = require_compare2();
151777
- var subset = (sub2, dom, options = {}) => {
151778
- if (sub2 === dom) {
151254
+ var subset = (sub, dom, options = {}) => {
151255
+ if (sub === dom) {
151779
151256
  return true;
151780
151257
  }
151781
- sub2 = new Range(sub2, options);
151258
+ sub = new Range(sub, options);
151782
151259
  dom = new Range(dom, options);
151783
151260
  let sawNonNull = false;
151784
151261
  OUTER:
151785
- for (const simpleSub of sub2.set) {
151262
+ for (const simpleSub of sub.set) {
151786
151263
  for (const simpleDom of dom.set) {
151787
151264
  const isSub = simpleSubset(simpleSub, simpleDom, options);
151788
151265
  sawNonNull = sawNonNull || isSub !== null;
@@ -151798,17 +151275,17 @@ var require_subset2 = __commonJS(function(exports, module) {
151798
151275
  };
151799
151276
  var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
151800
151277
  var minimumVersion = [new Comparator(">=0.0.0")];
151801
- var simpleSubset = (sub2, dom, options) => {
151802
- if (sub2 === dom) {
151278
+ var simpleSubset = (sub, dom, options) => {
151279
+ if (sub === dom) {
151803
151280
  return true;
151804
151281
  }
151805
- if (sub2.length === 1 && sub2[0].semver === ANY) {
151282
+ if (sub.length === 1 && sub[0].semver === ANY) {
151806
151283
  if (dom.length === 1 && dom[0].semver === ANY) {
151807
151284
  return true;
151808
151285
  } else if (options.includePrerelease) {
151809
- sub2 = minimumVersionWithPreRelease;
151286
+ sub = minimumVersionWithPreRelease;
151810
151287
  } else {
151811
- sub2 = minimumVersion;
151288
+ sub = minimumVersion;
151812
151289
  }
151813
151290
  }
151814
151291
  if (dom.length === 1 && dom[0].semver === ANY) {
@@ -151820,7 +151297,7 @@ var require_subset2 = __commonJS(function(exports, module) {
151820
151297
  }
151821
151298
  const eqSet = new Set;
151822
151299
  let gt, lt2;
151823
- for (const c of sub2) {
151300
+ for (const c of sub) {
151824
151301
  if (c.operator === ">" || c.operator === ">=") {
151825
151302
  gt = higherGT(gt, c, options);
151826
151303
  } else if (c.operator === "<" || c.operator === "<=") {
@@ -151855,7 +151332,7 @@ var require_subset2 = __commonJS(function(exports, module) {
151855
151332
  }
151856
151333
  return true;
151857
151334
  }
151858
- let higher, lower2;
151335
+ let higher, lower;
151859
151336
  let hasDomLT, hasDomGT;
151860
151337
  let needDomLTPre = lt2 && !options.includePrerelease && lt2.semver.prerelease.length ? lt2.semver : false;
151861
151338
  let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
@@ -151887,8 +151364,8 @@ var require_subset2 = __commonJS(function(exports, module) {
151887
151364
  }
151888
151365
  }
151889
151366
  if (c.operator === "<" || c.operator === "<=") {
151890
- lower2 = lowerLT(lt2, c, options);
151891
- if (lower2 === c && lower2 !== lt2) {
151367
+ lower = lowerLT(lt2, c, options);
151368
+ if (lower === c && lower !== lt2) {
151892
151369
  return false;
151893
151370
  }
151894
151371
  } else if (lt2.operator === "<=" && !satisfies(lt2.semver, String(c), options)) {
@@ -159874,8 +159351,8 @@ classDef hidden display: none;`;
159874
159351
  });
159875
159352
 
159876
159353
  // ../../node_modules/@uipath/integration-service-design-time/dist/index.mjs
159877
- var exports_dist2 = {};
159878
- __export(exports_dist2, {
159354
+ var exports_dist = {};
159355
+ __export(exports_dist, {
159879
159356
  DesignTimeActivityClient: () => DesignTimeActivityClient2
159880
159357
  });
159881
159358
  function widgetOperandKeyString(parentPropertyName, rowId, operandPosition) {
@@ -160239,11 +159716,11 @@ function esc3(str2) {
160239
159716
  function slugify2(input) {
160240
159717
  return input.toLowerCase().trim().replace(/[^\w\s-]/g, "").replace(/[\s_-]+/g, "-").replace(/^-+|-+$/g, "");
160241
159718
  }
160242
- function isObject5(data) {
159719
+ function isObject4(data) {
160243
159720
  return typeof data === "object" && data !== null && !Array.isArray(data);
160244
159721
  }
160245
159722
  function isPlainObject3(o) {
160246
- if (isObject5(o) === false)
159723
+ if (isObject4(o) === false)
160247
159724
  return false;
160248
159725
  const ctor = o.constructor;
160249
159726
  if (ctor === undefined)
@@ -160251,7 +159728,7 @@ function isPlainObject3(o) {
160251
159728
  if (typeof ctor !== "function")
160252
159729
  return true;
160253
159730
  const prot = ctor.prototype;
160254
- if (isObject5(prot) === false)
159731
+ if (isObject4(prot) === false)
160255
159732
  return false;
160256
159733
  if (Object.prototype.hasOwnProperty.call(prot, "isPrototypeOf") === false) {
160257
159734
  return false;
@@ -160603,12 +160080,12 @@ function uint8ArrayToHex2(bytes) {
160603
160080
  function flattenError3(error462, mapper = (issue22) => issue22.message) {
160604
160081
  const fieldErrors = {};
160605
160082
  const formErrors = [];
160606
- for (const sub2 of error462.issues) {
160607
- if (sub2.path.length > 0) {
160608
- fieldErrors[sub2.path[0]] = fieldErrors[sub2.path[0]] || [];
160609
- fieldErrors[sub2.path[0]].push(mapper(sub2));
160083
+ for (const sub of error462.issues) {
160084
+ if (sub.path.length > 0) {
160085
+ fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];
160086
+ fieldErrors[sub.path[0]].push(mapper(sub));
160610
160087
  } else {
160611
- formErrors.push(mapper(sub2));
160088
+ formErrors.push(mapper(sub));
160612
160089
  }
160613
160090
  }
160614
160091
  return { formErrors, fieldErrors };
@@ -177798,7 +177275,7 @@ ${this._errorMessage}`;
177798
177275
  };
177799
177276
  }
177800
177277
  }, DesignTimeActivityClient2;
177801
- var init_dist4 = __esm(() => {
177278
+ var init_dist3 = __esm(() => {
177802
177279
  init_lodash();
177803
177280
  init_luxon();
177804
177281
  init_lodash();
@@ -178961,7 +178438,7 @@ var init_dist4 = __esm(() => {
178961
178438
  getParsedType: () => getParsedType3,
178962
178439
  getSizableOrigin: () => getSizableOrigin3,
178963
178440
  hexToUint8Array: () => hexToUint8Array2,
178964
- isObject: () => isObject5,
178441
+ isObject: () => isObject4,
178965
178442
  isPlainObject: () => isPlainObject3,
178966
178443
  issue: () => issue3,
178967
178444
  joinValues: () => joinValues3,
@@ -180304,7 +179781,7 @@ var init_dist4 = __esm(() => {
180304
179781
  }
180305
179782
  return propValues;
180306
179783
  });
180307
- const isObject22 = isObject5;
179784
+ const isObject22 = isObject4;
180308
179785
  const catchall = def.catchall;
180309
179786
  let value;
180310
179787
  inst._zod.parse = (payload, ctx) => {
@@ -180384,7 +179861,7 @@ var init_dist4 = __esm(() => {
180384
179861
  return (payload, ctx) => fn(shape, payload, ctx);
180385
179862
  };
180386
179863
  let fastpass;
180387
- const isObject22 = isObject5;
179864
+ const isObject22 = isObject4;
180388
179865
  const jit = !globalConfig3.jitless;
180389
179866
  const allowsEval22 = allowsEval3;
180390
179867
  const fastEnabled = jit && allowsEval22.value;
@@ -180496,7 +179973,7 @@ var init_dist4 = __esm(() => {
180496
179973
  });
180497
179974
  inst._zod.parse = (payload, ctx) => {
180498
179975
  const input = payload.value;
180499
- if (!isObject5(input)) {
179976
+ if (!isObject4(input)) {
180500
179977
  payload.issues.push({
180501
179978
  code: "invalid_type",
180502
179979
  expected: "object",
@@ -190491,7 +189968,7 @@ async function createConfiguredActivityClient({
190491
189968
  assertFilterTreeSupported(tree);
190492
189969
  }
190493
189970
  }
190494
- const { DesignTimeActivityClient: DesignTimeActivityClient3 } = await Promise.resolve().then(() => (init_dist4(), exports_dist2));
189971
+ const { DesignTimeActivityClient: DesignTimeActivityClient3 } = await Promise.resolve().then(() => (init_dist3(), exports_dist));
190495
189972
  const client = await DesignTimeActivityClient3.initiate({ instanceParameters, uiPathActivityTypeId: "" }, { connectionsProvider: createLiveConnectionsProvider() });
190496
189973
  await client.updateConnection({ connectionId });
190497
189974
  if (customFieldsRequestDetails) {
@@ -198193,7 +197670,7 @@ class VoidApiResponse3 {
198193
197670
  // ../orchestrator-sdk/package.json
198194
197671
  var package_default2 = {
198195
197672
  name: "@uipath/orchestrator-sdk",
198196
- license: "MIT",
197673
+ license: "SEE LICENSE IN LICENSE.txt",
198197
197674
  version: "1.202.0",
198198
197675
  repository: {
198199
197676
  type: "git",
@@ -200618,16 +200095,16 @@ async function getRegistry() {
200618
200095
  }
200619
200096
  async function searchRegistry(keyword) {
200620
200097
  const registry5 = await getRegistry();
200621
- const lower2 = keyword.toLowerCase();
200622
- const extensionTypes = Object.values(registry5.static.extensionTypes).filter((et) => et.extensionType.toLowerCase().includes(lower2) || et.label.toLowerCase().includes(lower2) || et.bpmnElement.toLowerCase().includes(lower2) || et.extensionTag.toLowerCase().includes(lower2) || (et.discoveryNotes ?? "").toLowerCase().includes(lower2));
200623
- const connectors = registry5.discovered.connectors.filter((c) => c.key.toLowerCase().includes(lower2) || c.name.toLowerCase().includes(lower2) || c.activities.some((a) => a.displayName.toLowerCase().includes(lower2) || a.name.toLowerCase().includes(lower2)) || c.triggers.some((t14) => t14.displayName.toLowerCase().includes(lower2) || t14.name.toLowerCase().includes(lower2)));
200624
- const processes = registry5.discovered.processes.filter((p) => p.name.toLowerCase().includes(lower2) || p.processKey.toLowerCase().includes(lower2) || (p.processVersion ?? "").toLowerCase().includes(lower2) || p.key.toLowerCase().includes(lower2) || p.type.toLowerCase().includes(lower2) || p.folderKey.toLowerCase().includes(lower2) || (p.feedId ?? "").toLowerCase().includes(lower2));
200098
+ const lower = keyword.toLowerCase();
200099
+ const extensionTypes = Object.values(registry5.static.extensionTypes).filter((et) => et.extensionType.toLowerCase().includes(lower) || et.label.toLowerCase().includes(lower) || et.bpmnElement.toLowerCase().includes(lower) || et.extensionTag.toLowerCase().includes(lower) || (et.discoveryNotes ?? "").toLowerCase().includes(lower));
200100
+ const connectors = registry5.discovered.connectors.filter((c) => c.key.toLowerCase().includes(lower) || c.name.toLowerCase().includes(lower) || c.activities.some((a) => a.displayName.toLowerCase().includes(lower) || a.name.toLowerCase().includes(lower)) || c.triggers.some((t14) => t14.displayName.toLowerCase().includes(lower) || t14.name.toLowerCase().includes(lower)));
200101
+ const processes = registry5.discovered.processes.filter((p) => p.name.toLowerCase().includes(lower) || p.processKey.toLowerCase().includes(lower) || (p.processVersion ?? "").toLowerCase().includes(lower) || p.key.toLowerCase().includes(lower) || p.type.toLowerCase().includes(lower) || p.folderKey.toLowerCase().includes(lower) || (p.feedId ?? "").toLowerCase().includes(lower));
200625
200102
  return { extensionTypes, connectors, processes };
200626
200103
  }
200627
200104
  async function getExtensionType(extensionType) {
200628
200105
  const registry5 = await getRegistry();
200629
- const lower2 = extensionType.toLowerCase();
200630
- const match2 = Object.entries(registry5.static.extensionTypes).find(([key]) => key.toLowerCase() === lower2);
200106
+ const lower = extensionType.toLowerCase();
200107
+ const match2 = Object.entries(registry5.static.extensionTypes).find(([key]) => key.toLowerCase() === lower);
200631
200108
  return match2 ? match2[1] : null;
200632
200109
  }
200633
200110
  async function resolveConnectorKey(connectionId) {
@@ -202115,4 +201592,4 @@ export {
202115
201592
  withPimsCall
202116
201593
  };
202117
201594
 
202118
- //# debugId=C8895705CB92198464756E2164756E21
201595
+ //# debugId=FE5E55D83A77DFFF64756E2164756E21