@docupace/ihub-config 1.1.13 → 1.1.15-schwab.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.
@@ -75,7 +75,15 @@ declare class ConfigService {
75
75
  getDirectConfig(configPath: string, context: any, values?: any, processProviders?: boolean): Promise<any>;
76
76
  listDirectConfigs(configPath: string): Promise<any[]>;
77
77
  updateConfig(configPath: string, config: any, context: any): Promise<any>;
78
- getPageConfig(pagePath: string, context: any, processConfig?: boolean): Promise<any>;
78
+ private normalizePathForMatching;
79
+ private applyFieldRuleToElement;
80
+ private applyOverridesToConfig;
81
+ private resolveQuerySelectOptions;
82
+ private inlineQuerySelectOptions;
83
+ private stripNulls;
84
+ private applyFieldRuleOverrides;
85
+ getRuleGroups(rulesContext: any, context: any): Promise<any[]>;
86
+ getPageConfig(pagePath: string, context: any, processConfig?: boolean, rulesContext?: any): Promise<any>;
79
87
  init(): Promise<void[]>;
80
88
  }
81
89
  export declare const defaultConfigService: ({ model, configStores, configInjectorResolvers, providers, resolvers, }: DefaultConfigServiceParams) => ConfigService;
@@ -1 +1 @@
1
- {"version":3,"file":"config-service.d.ts","sourceRoot":"","sources":["../src/config-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-service.d.ts","sourceRoot":"","sources":["../src/config-service.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import path from 'node:path';
2
2
  import { promises as fsPromises } from 'node:fs';
3
3
  import { simpleGit } from 'simple-git';
4
- import { _logger as log } from './globals.js';
4
+ import { _logger as log, cliOptions } from './globals.js';
5
5
  import { GraphQLError } from 'graphql';
6
6
  import { fileExists } from './lib/file-system.js';
7
7
  import replaceDotsOutsideExpressions from './lib/replace-dots-outside-expressions.js';
@@ -10,6 +10,7 @@ import { injectConfigValue, } from './injector-resolvers/config-injector.js';
10
10
  import { builtInProviders } from './providers/index.js';
11
11
  import { deepMergeResolvers, } from './resolvers/index.js';
12
12
  import { dump, load } from 'js-yaml';
13
+ import { buildQuery } from '@docupace/ihub-core/query';
13
14
  const FULL_OBJECT_EXPRESSION_PATTERN = /^\${(.*?)}$/;
14
15
  const INLINE_OBJECT_EXPRESSION_PATTERN = /\${(.*?)}/g;
15
16
  export class ConfigFileStore {
@@ -261,9 +262,19 @@ class ConfigService {
261
262
  const builtInQueryResolvers = {
262
263
  pages: () => ({
263
264
  getPageConfig: async (obj, context) => {
264
- const pageConfig = await this.getPageConfig(obj.path, context, true);
265
+ const pageConfig = await this.getPageConfig(obj.path, context, true, obj.context);
265
266
  return pageConfig;
266
267
  },
268
+ getAIConfig: async (obj, context) => {
269
+ const pageConfig = await this.getPageConfig(obj.path, context, true, obj.context);
270
+ const inlined = await this.inlineQuerySelectOptions(pageConfig, context);
271
+ return this.stripNulls(inlined) ?? null;
272
+ },
273
+ }),
274
+ rules: () => ({
275
+ getRuleGroups: async (obj, context) => {
276
+ return await this.getRuleGroups(obj.context, context);
277
+ },
267
278
  }),
268
279
  widgets: () => ({
269
280
  list: async (obj, context) => {
@@ -545,10 +556,193 @@ class ConfigService {
545
556
  await this.configStores[0].updateConfig(globalPath, config);
546
557
  return await this.getConfig(configPath, context, null, true);
547
558
  }
548
- async getPageConfig(pagePath, context, processConfig) {
549
- const config = await this.getConfig(path.join('pages', pagePath), context, null, processConfig);
559
+ normalizePathForMatching(fieldPath) {
560
+ return fieldPath
561
+ .split('.')
562
+ .filter((segment) => !segment.startsWith('@'))
563
+ .join('.');
564
+ }
565
+ applyFieldRuleToElement(element, fieldRule) {
566
+ const result = { ...element };
567
+ const applyIfUndefined = (fieldKey, ruleKey = fieldKey) => {
568
+ if ((result[fieldKey] === undefined || result[fieldKey] === null) &&
569
+ fieldRule[ruleKey] !== undefined) {
570
+ result[fieldKey] = fieldRule[ruleKey];
571
+ }
572
+ };
573
+ applyIfUndefined('required');
574
+ applyIfUndefined('readonly');
575
+ applyIfUndefined('defaultValue');
576
+ applyIfUndefined('messageLabel');
577
+ applyIfUndefined('requiredCondition');
578
+ applyIfUndefined('visibilityCondition', 'availabilityCondition');
579
+ applyIfUndefined('maxLength');
580
+ applyIfUndefined('minLength');
581
+ applyIfUndefined('validation');
582
+ applyIfUndefined('minDate');
583
+ applyIfUndefined('maxDate');
584
+ return result;
585
+ }
586
+ applyOverridesToConfig(config, fieldRuleMap) {
587
+ if (!config || typeof config !== 'object') {
588
+ return config;
589
+ }
590
+ if (Array.isArray(config)) {
591
+ return config.map((item) => this.applyOverridesToConfig(item, fieldRuleMap));
592
+ }
593
+ let result = { ...config };
594
+ if (typeof result.path === 'string') {
595
+ const normalizedPath = this.normalizePathForMatching(result.path);
596
+ const fieldRule = fieldRuleMap.get(normalizedPath);
597
+ if (fieldRule) {
598
+ result = this.applyFieldRuleToElement(result, fieldRule);
599
+ }
600
+ }
601
+ for (const key of Object.keys(result)) {
602
+ if (result[key] && typeof result[key] === 'object') {
603
+ result[key] = this.applyOverridesToConfig(result[key], fieldRuleMap);
604
+ }
605
+ }
606
+ return result;
607
+ }
608
+ async resolveQuerySelectOptions(selectOptions, context) {
609
+ // Skip dynamic queries that require runtime form state or search-as-you-type
610
+ if (!this.model ||
611
+ selectOptions.queryOnTyping ||
612
+ selectOptions.variablesExpressions) {
613
+ return selectOptions;
614
+ }
615
+ try {
616
+ // When apiLevel is '2', list endpoints wrap results in { items: [...] }.
617
+ // buildQueryStructFromInput does not check cliOptions itself, so we must
618
+ // pass pathPrefix explicitly to get `items { fields }` in the query.
619
+ const effectivePathPrefix = selectOptions.responsePathPrefix ??
620
+ (cliOptions.apiLevel === '2' ? 'items' : undefined);
621
+ const query = buildQuery({
622
+ queryName: selectOptions.queryName,
623
+ operationName: selectOptions.operationName || 'AIConfigQuery',
624
+ paths: selectOptions.paths || [],
625
+ variableDefinitions: selectOptions.variableDefinitions,
626
+ pathPrefix: effectivePathPrefix,
627
+ });
628
+ const result = await this.model.executeOperation({ query, variables: selectOptions.variables ?? {} }, context);
629
+ if (result.errors?.length > 0) {
630
+ log.warn({ errors: result.errors }, 'QuerySelectOptions resolution failed');
631
+ return selectOptions;
632
+ }
633
+ const navPath = effectivePathPrefix
634
+ ? `${selectOptions.queryName}.${effectivePathPrefix}`
635
+ : selectOptions.queryName;
636
+ let data = result.data;
637
+ for (const part of navPath.split('.')) {
638
+ data = data?.[part];
639
+ }
640
+ return Array.isArray(data) ? data : data != null ? [data] : [];
641
+ }
642
+ catch (error) {
643
+ log.warn({ error }, 'Failed to resolve QuerySelectOptions');
644
+ return selectOptions;
645
+ }
646
+ }
647
+ async inlineQuerySelectOptions(config, context) {
648
+ if (config === null || config === undefined) {
649
+ return config;
650
+ }
651
+ if (Array.isArray(config)) {
652
+ return Promise.all(config.map((item) => this.inlineQuerySelectOptions(item, context)));
653
+ }
654
+ if (typeof config === 'object') {
655
+ if (config.__typename === 'QuerySelectOptions') {
656
+ return this.resolveQuerySelectOptions(config, context);
657
+ }
658
+ const entries = Object.entries(config);
659
+ const processedValues = await Promise.all(entries.map(([, value]) => this.inlineQuerySelectOptions(value, context)));
660
+ return Object.fromEntries(entries.map(([key], index) => [key, processedValues[index]]));
661
+ }
550
662
  return config;
551
663
  }
664
+ stripNulls(obj) {
665
+ if (obj === null || obj === undefined) {
666
+ return undefined;
667
+ }
668
+ if (Array.isArray(obj)) {
669
+ return obj
670
+ .map((item) => this.stripNulls(item))
671
+ .filter((item) => item !== undefined);
672
+ }
673
+ if (typeof obj === 'object') {
674
+ const result = {};
675
+ for (const [key, value] of Object.entries(obj)) {
676
+ const stripped = this.stripNulls(value);
677
+ if (stripped !== undefined) {
678
+ result[key] = stripped;
679
+ }
680
+ }
681
+ return result;
682
+ }
683
+ return obj;
684
+ }
685
+ applyFieldRuleOverrides(config, matchingRuleGroups) {
686
+ // Sort ascending by priority so higher priority value overwrites lower
687
+ const sorted = [...matchingRuleGroups].sort((a, b) => (a.priority ?? 0) - (b.priority ?? 0));
688
+ const fieldRuleMap = new Map();
689
+ for (const ruleGroup of sorted) {
690
+ for (const fieldRule of ruleGroup.fieldRules ?? []) {
691
+ if (!fieldRule.path) {
692
+ continue;
693
+ }
694
+ const normalizedPath = this.normalizePathForMatching(fieldRule.path);
695
+ const existing = fieldRuleMap.get(normalizedPath);
696
+ fieldRuleMap.set(normalizedPath, existing ? { ...existing, ...fieldRule } : { ...fieldRule });
697
+ }
698
+ }
699
+ if (fieldRuleMap.size === 0) {
700
+ return config;
701
+ }
702
+ return this.applyOverridesToConfig(config, fieldRuleMap);
703
+ }
704
+ async getRuleGroups(rulesContext, context) {
705
+ const ruleFiles = await this.listDirectConfigs('global/rules');
706
+ const allRuleGroups = [];
707
+ for (const ruleFile of ruleFiles) {
708
+ try {
709
+ const ruleGroups = await this.getDirectConfig(path.join('global', 'rules', ruleFile), context, null, false);
710
+ if (Array.isArray(ruleGroups)) {
711
+ allRuleGroups.push(...ruleGroups);
712
+ }
713
+ }
714
+ catch {
715
+ // skip unloadable rule files
716
+ }
717
+ }
718
+ if (!rulesContext) {
719
+ return allRuleGroups;
720
+ }
721
+ return allRuleGroups.filter((ruleGroup) => {
722
+ if (!ruleGroup.condition) {
723
+ return true;
724
+ }
725
+ try {
726
+ const keys = Object.keys(rulesContext);
727
+ const values = Object.values(rulesContext);
728
+ return new Function(...keys, `return ${ruleGroup.condition};`)(...values);
729
+ }
730
+ catch {
731
+ return false;
732
+ }
733
+ });
734
+ }
735
+ async getPageConfig(pagePath, context, processConfig, rulesContext) {
736
+ const globalPath = path.join('global', 'pages', pagePath);
737
+ const obj = await this.getConfigFromStore(globalPath);
738
+ const fullObj = await this.processObject(globalPath, obj, context, null);
739
+ let configToProcess = fullObj;
740
+ if (rulesContext) {
741
+ const matchingRuleGroups = await this.getRuleGroups(rulesContext, context);
742
+ configToProcess = this.applyFieldRuleOverrides(fullObj, matchingRuleGroups);
743
+ }
744
+ return await this.processConfig(configToProcess, context, processConfig);
745
+ }
552
746
  async init() {
553
747
  return Promise.all(this.configStores.map((configStore) => configStore.init()));
554
748
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config-service.js","sourceRoot":"","sources":["../src/config-service.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAc,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAa,MAAM,YAAY,CAAC;AAIlD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,6BAA6B,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,iBAAiB,GAElB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAwB,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,8BAA8B,GAAG,aAAa,CAAC;AACrD,MAAM,gCAAgC,GAAG,YAAY,CAAC;AA6BtD,MAAM,OAAO,eAAe;IACT,SAAS,CAAS;IAClB,UAAU,CAAU;IACpB,YAAY,CAAU;IAEvC,YAAY,MAAyB;QACnC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC1C,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,eAAe;QACpB,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,SAAiB;QAC3D,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,EAAE,CAAC;QAE1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,iEAAiE;YACjE,oHAAoH;YACpH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;gBACzD,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,CAAC,GAAG,EAAE,CAAC;gBAChB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,QAAgB;QACxC,IAAI,CAAC;YACH,MAAM,KAAK,GAAU,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrD,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,mCAAmC;gBACnC,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC,CAAC,0BAA0B;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,IAAI,SAAS,CAAC;QACd,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;YACpC,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;YACpC,IAAI,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBACjE,MAAM,IAAI,YAAY,CACpB,yDAAyD,CAC1D,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,CAAC,MAAM,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;oBAChD,CAAC,CAAC,QAAQ,GAAG,OAAO;oBACpB,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC;YACzB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAW,MAAM,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAkB;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACvD,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAkB;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAEvD,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,CAAC,MAAM,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;YACtC,CAAC,MAAM,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CACvC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAAkB;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACvD,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,OAAO,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,MAAW;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,UAAU,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBACrC,GAAG,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;oBACjD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;oBAChD,MAAM,GAAG,GAAc,SAAS,CAAC;wBAC/B,MAAM,EAAE,CAAC,kBAAkB,CAAC;qBAC7B,CAAC,CAAC;oBACH,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;oBACjD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBACtB,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,YAAY,oBAAoB,CAAC,CAAC;wBAChE,MAAM,GAAG,GAAc,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACjD,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,GAAG,GAAc,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;CACF;AAED,MAAM,aAAa;IACA,YAAY,CAAgB;IAC5B,KAAK,CAAS;IACd,uBAAuB,CAA0B;IACjD,SAAS,CAAkB;IAC3B,SAAS,CAAwB;IAElD,YACE,KAAwB,EACxB,YAA2B,EAC3B,mBAA2C,EAAE;QAE7C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,uBAAuB,GAAG,gBAAgB,CAAC,uBAAuB;YACrE,CAAC,CAAC,EAAE,GAAG,gBAAgB,CAAC,uBAAuB,EAAE;YACjD,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC,SAAS;YACzC,CAAC,CAAC,EAAE,GAAG,gBAAgB,EAAE,GAAG,gBAAgB,CAAC,SAAS,EAAE;YACxD,CAAC,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC,SAAS;YACzC,CAAC,CAAC,EAAE,GAAG,gBAAgB,CAAC,SAAS,EAAE;YACnC,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,qBAAqB,CAC3B,OAAY,EACZ,MAA0B,EAC1B,MAAgB;QAEhB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAE9C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAC/B,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACpB,MAAM,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CACxD,CACF,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAAC,KAAY,EAAE,QAAgB;QAC1D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1B,GAAG,IAAI;YACP,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC;SACjD,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,cAAc,CAAC,MAAa;QAClC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3B,gEAAgE;YAChE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;YAErC,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,QAAQ;aACjB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,GAAQ,EAAE,MAAW;QAC1C,MAAM,gBAAgB,GAAG,MAAM,IAAI,EAAE,CAAC;QAEtC,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACtB,OAAO;gBACL,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM;gBAClB,GAAG,gBAAgB;aACpB,CAAC;QACJ,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEO,cAAc,CAAC,KAAU;QAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;IACrD,CAAC;IAEO,MAAM,CAAC,GAAwB;QACrC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,UAAkB,EAClB,GAAU,EACV,OAAY,EACZ,MAAW;QAEX,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAChD,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,aAAa,CACnC,UAAU,EACV,GAAG,CAAC,KAAK,CAAC,EACV,OAAO,EACP,MAAM,CACP,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,UAAkB,EAClB,GAAwB,EACxB,OAAY,EACZ,MAAW;QAEX,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,aAAa,CACjC,UAAU,EACV,GAAG,CAAC,GAAG,CAAC,EACR,OAAO,EACP,MAAM,CACP,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,uBAAuB,CAC7B,aAAkB,EAClB,eAAoB;QAEpB,IAAI,OAAO,eAAe,EAAE,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClD,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,aAAa,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,UAAkB,EAClB,GAAwB,EACxB,OAAY,EACZ,MAAW;QAEX,MAAM,eAAe,GAAG,GAAG,CAAC,IAAI,CAAC;QACjC,MAAM,aAAa,GACjB,OAAO,eAAe,KAAK,QAAQ,IAAI,eAAe,CAAC,OAAO;YAC5D,CAAC,CAAC,eAAe,CAAC,OAAO;YACzB,CAAC,CAAC,eAAe,CAAC;QAEtB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAC5C,UAAU,EACV,aAAa,EACb,OAAO,EACP,MAAM,CACP,CAAC;QACF,IAAI,aAAa,GACf,OAAO,eAAe,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI;YACzD,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,eAAe,CAAC,IAAI,CAAC;YAC7D,CAAC,CAAC,cAAc,CAAC;QAErB,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAC1C,aAAa,EACb,eAAe,CAChB,CAAC;QACF,aAAa,GAAG,MAAM,IAAI,CAAC,wBAAwB,CACjD,aAAa,EACb,MAAM,EACN,OAAO,CACR,CAAC;QAEF,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAI,WAAc,EAAE,OAAY;QAC7D,OAAO,MAAM,iBAAiB,CAC5B,WAAW,EACX,OAAO,EACP,IAAI,CAAC,uBAAuB,CAC7B,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GACjB,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9D,aAAa,CAAC,MAAM,GAAG,GAAG,EAAE;YAC1B,MAAM,qBAAqB,GAAG;gBAC5B,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;oBACZ,aAAa,EAAE,KAAK,EAAE,GAAQ,EAAE,OAAY,EAAE,EAAE;wBAC9C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CACzC,GAAG,CAAC,IAAI,EACR,OAAO,EACP,IAAI,CACL,CAAC;wBACF,OAAO,UAAU,CAAC;oBACpB,CAAC;iBACF,CAAC;gBACF,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;oBACd,IAAI,EAAE,KAAK,EAAE,GAAQ,EAAE,OAAY,EAAE,EAAE;wBACrC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAClC,SAAS,EACT,OAAO,EACP,IAAI,EACJ,IAAI,CACL,CAAC;wBACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE;4BACrD,OAAO;4BACP,aAAa;yBACd,CAAC,CAAC;oBACL,CAAC;oBACD,GAAG,EAAE,KAAK,EAAE,IAAS,EAAE,OAAY,EAAE,EAAE;wBACrC,OAAO,MAAM,IAAI,CAAC,SAAS,CACzB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,EACvC,OAAO,EACP,IAAI,EACJ,IAAI,CACL,CAAC;oBACJ,CAAC;iBACF,CAAC;gBACF,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;oBACZ,IAAI,EAAE,KAAK,EACT,GAAsC,EACtC,OAAY,EACZ,EAAE;wBACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,EAC5B,OAAO,EACP,IAAI,EACJ,IAAI,CACL,CAAC;wBACF,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAC9C,KAAK,EACL,GAAG,CAAC,MAAM,EACV,CAAC,MAAM,EAAE,aAAa,CAAC,CACxB,CAAC;wBACF,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAC/C,aAAa,EACb,GAAG,CAAC,IAAI,CACT,CAAC;wBAEF,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;oBACnC,CAAC;oBACD,SAAS,EAAE,KAAK,EAAE,GAAqB,EAAE,OAAY,EAAE,EAAE;wBACvD,OAAO,MAAM,IAAI,CAAC,SAAS,CACzB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,EAC5B,OAAO,EACP,IAAI,EACJ,IAAI,CACL,CAAC;oBACJ,CAAC;iBACF,CAAC;gBACF,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;oBACb,GAAG,EAAE,KAAK,EAAE,GAAqB,EAAE,OAAY,EAAE,EAAE;wBACjD,OAAO,MAAM,IAAI,CAAC,SAAS,CACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,EAC7B,OAAO,EACP,IAAI,EACJ,IAAI,CACL,CAAC;oBACJ,CAAC;iBACF,CAAC;gBACF,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;oBACX,IAAI,EAAE,KAAK,EAAE,GAAqB,EAAE,EAAE;wBACpC,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;oBACnE,CAAC;oBACD,GAAG,EAAE,KAAK,EAAE,GAAqB,EAAE,OAAY,EAAE,EAAE;wBACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CACvC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAC3B,OAAO,EACP,IAAI,EACJ,IAAI,CACL,CAAC;wBAEF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;4BAC3B,OAAO,IAAI,CAAC;wBACd,CAAC;wBAED,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;oBACrC,CAAC;oBACD,aAAa,EAAE,KAAK,EAAE,GAAqB,EAAE,OAAY,EAAE,EAAE;wBAC3D,OAAO,MAAM,IAAI,CAAC,eAAe,CAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAC3B,OAAO,EACP,IAAI,EACJ,IAAI,CACL,CAAC;oBACJ,CAAC;iBACF,CAAC;aACH,CAAC;YAEF,MAAM,kBAAkB,GACtB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YAExD,OAAO,kBAAkB,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;QACvE,CAAC,CAAC;QAEF,MAAM,gBAAgB,GACpB,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QACpE,gBAAgB,CAAC,MAAM,GAAG,GAAG,EAAE;YAC7B,MAAM,wBAAwB,GAAG;gBAC/B,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,YAAY;yBACd,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;yBACtD,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAC/C,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;oBACZ,eAAe,EAAE,KAAK,EAAE,GAAQ,EAAE,OAAY,EAAE,EAAE;wBAChD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;wBACnD,OAAO,MAAM,IAAI,CAAC,YAAY,CAC5B,UAAU,EACV;4BACE,UAAU,EAAE,eAAe;4BAC3B,GAAG,GAAG,CAAC,KAAK;yBACb,EACD,OAAO,CACR,CAAC;oBACJ,CAAC;iBACF,CAAC;aACH,CAAC;YAEF,MAAM,qBAAqB,GACzB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YAE3D,OAAO,kBAAkB,CACvB,wBAAwB,EACxB,qBAAqB,CACtB,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,MAAW,EACX,OAAY,EACZ,gBAA0B;QAE1B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,gBAAgB;QAChB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CACvB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,gBAAgB,CAAC,CACpD,CACF,CAAC;QACJ,CAAC;QAED,iBAAiB;QACjB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,+CAA+C;YAC/C,IAAI,eAAe,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;YACpC,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;gBAClC,eAAe,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC,aAAa,CAC7C,eAAe,CAAC,GAAG,CAAC,EACpB,OAAO,EACP,gBAAgB,CACjB,CAAC;YACJ,CAAC;YAED,wDAAwD;YACxD,IAAI,eAAe,EAAE,UAAU,IAAI,gBAAgB,EAAE,CAAC;gBACpD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;gBACjE,IAAI,aAAa,EAAE,CAAC;oBAClB,MAAM,QAAQ,GAAmB,IAAI,aAAa,EAAE,CAAC;oBACrD,eAAe,GAAG,MAAM,QAAQ,CAAC,aAAa,CAC5C,eAAe,EACf,IAAI,EACJ,OAAO,CACR,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAAkB,EAClB,aAAqB,EACrB,OAAY,EACZ,MAAY;QAEZ,IAAI,QAAgB,CAAC;QACrB,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC3C,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,aAAa,CAAC;QAC3B,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,gBAAgB,CAAC,GAAQ,EAAE,SAAiB;QAC1C,MAAM,YAAY,GAAG,CAAC,UAAe,EAAE,EAAE;YACvC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtC,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;oBACnB,qDAAqD;oBACrD,UAAU,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;gBACtD,CAAC;qBAAM,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;oBACzB,UAAU,CAAC,GAAG,CAAC;wBACb,6BAA6B,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;gBACrE,CAAC;qBAAM,IACL,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,QAAQ;oBACnC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,EACxB,CAAC;oBACD,oCAAoC;oBACpC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,YAAY,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,YAAY,CAAC,GAAU;QACrB,MAAM,SAAS,GAAU,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACvB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,MAAW,EACX,WAAgB,EAChB,OAAY;QAEZ,MAAM,kBAAkB,GAAG,CAAC,UAAkB,EAAE,MAAW,EAAE,EAAE;YAC7D,IAAI,CAAC;gBACH,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,UAAU,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;YACjE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,YAAY,CACpB,kCAAkC,UAAU,KAAK,KAAK,CAAC,OAAO,EAAE,CACjE,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QAEF,sCAAsC;QACtC,MAAM,YAAY,GAAG,KAAK,EAAE,KAAU,EAAgB,EAAE;YACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC5B,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACtD,UAAU,EACV,OAAO,CACR,CAAC;oBACF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;oBACtE,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACN,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBACpE,OAAO,cAAc,CAAC,UAAU,CAC9B,gCAAgC,EAChC,CAAC,MAAc,EAAE,UAAkB,EAAE,EAAE,CACrC,kBAAkB,CAAC,UAAU,EAAE,WAAW,CAAC,CAC9C,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,cAAc,GAAG,EAAE,CAAC;gBAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,cAAc,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChD,CAAC;gBACD,OAAO,cAAc,CAAC;YACxB,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACvD,MAAM,eAAe,GAAQ,EAAE,CAAC;gBAChC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/C,eAAe,CAAC,GAAG,CAAC,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;gBACjD,CAAC;gBACD,OAAO,eAAe,CAAC;YACzB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,OAAO,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,aAAqB;QAErB,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAElE,0CAA0C;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,aAA0C,CAAC;QAC/C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;gBACrC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;gBAE/D,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/B,aAAa,GAAG,KAAK,CAAC;oBACtB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,YAAY,CACpB,uCAAuC,aAAa,EAAE,CACvD,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAE9D,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAE3C,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC7D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,UAAkB,EAClB,GAAQ,EACR,OAAY,EACZ,SAAc,EAAE;QAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAEnD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,GAAG,CAAC;QACb,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC;IAEO,eAAe,CAAC,GAAW;QACjC,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,MAAM,CAAC;YACZ,KAAK,OAAO;gBACV,OAAO,YAAY,CAAC;YACtB,KAAK,MAAM;gBACT,OAAO,WAAW,CAAC;YACrB,KAAK,MAAM;gBACT,OAAO,eAAe,CAAC;YACzB;gBACE,OAAO,0BAA0B,CAAC;QACtC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,MAAM,UAAU,GAAQ,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,IAAI,CAAC;gBACH,OAAO,MAAM,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACnB,IAAI,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1C,MAAM,IAAI,YAAY,CACpB,0CAA0C,IAAI,EAAE,EAChD,EAAE,aAAa,EAAE,UAAU,EAAE,CAC9B,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAkB;QAChC,OAAO,CACL,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACpC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAClC,CACF,CACF,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,SAAS,CACb,UAAkB,EAClB,OAAY,EACZ,MAAY,EACZ,gBAA0B;QAE1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,UAAkB,EAClB,OAAY,EACZ,MAAY,EACZ,gBAA0B;QAE1B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3E,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAC3C,OAAO,EACP,OAAO,EACP,gBAAgB,CACjB,CAAC;QAEF,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,UAAkB;QACxC,MAAM,OAAO,GAAU,MAAM,OAAO,CAAC,GAAG,CACtC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACpC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CACpC,CACF,CAAC;QACF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAAkB,EAClB,MAAW,EACX,OAAY;QAEZ,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC5D,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB,EAAE,OAAY,EAAE,aAAuB;QACzE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CACjC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC5B,OAAO,EACP,IAAI,EACJ,aAAa,CACd,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,OAAO,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAC3D,CAAC;IACJ,CAAC;CACF;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,KAAK,EACL,YAAY,EACZ,uBAAuB,EACvB,SAAS,EACT,SAAS,GACkB,EAAiB,EAAE;IAC9C,MAAM,gBAAgB,GAA2B;QAC/C,uBAAuB;QACvB,SAAS;QACT,SAAS;KACV,CAAC;IAEF,OAAO,IAAI,aAAa,CACtB,KAAK,EACL,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC,EACnE,gBAAgB,CACjB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"config-service.js","sourceRoot":"","sources":["../src/config-service.ts"],"names":[],"mappings":"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"}
@@ -58,7 +58,7 @@ type InputField implements IField & IRowElement & IElement {
58
58
  rows: Int
59
59
  maxRows: Int
60
60
  minRows: Int
61
- # End of text area configuration
61
+ # End of text area configuration
62
62
  }
63
63
 
64
64
  type CustomValidator implements IRowElement & IElement {
@@ -113,6 +113,7 @@ type PhoneField implements IField & IRowElement & IElement {
113
113
  excludeFromQueryInput: Boolean
114
114
  visibilityCondition: String
115
115
  disabledCondition: String
116
+ validation: FieldValidation
116
117
  }
117
118
 
118
119
  type DateField implements IField & IRowElement & IElement {
@@ -131,6 +132,7 @@ type DateField implements IField & IRowElement & IElement {
131
132
  disabledCondition: String
132
133
  minDate: String # e.q. "now" or "2025-03-20"
133
134
  maxDate: String # e.q. "now" or "2025-03-20"
135
+ validation: FieldValidation
134
136
  }
135
137
 
136
138
  type DateRangeField implements IDateRangeField & IRowElement & IElement {
@@ -173,6 +175,7 @@ type SelectField implements IField & IRowElement & IElement {
173
175
  excludeId: Boolean
174
176
  helperText: String
175
177
  autoSelectSingleOption: Boolean
178
+ validation: FieldValidation
176
179
  }
177
180
 
178
181
  type ToggleField implements IField & IRowElement & IElement {
@@ -194,6 +197,7 @@ type ToggleField implements IField & IRowElement & IElement {
194
197
  visibilityCondition: String
195
198
  disabledCondition: String
196
199
  linkedFields: [String!]
200
+ validation: FieldValidation
197
201
  }
198
202
 
199
203
  type BooleanField implements IField & IRowElement & IElement {
@@ -211,6 +215,7 @@ type BooleanField implements IField & IRowElement & IElement {
211
215
  visibilityCondition: String
212
216
  disabledCondition: String
213
217
  linkedFields: [String!]
218
+ validation: FieldValidation
214
219
  }
215
220
 
216
221
  type ChipSelectWithInputField implements IField & IRowElement & IElement {
@@ -254,6 +259,7 @@ type CustomField implements IField & IRowElement & IElement {
254
259
  excludeFromQueryInput: Boolean
255
260
  visibilityCondition: String
256
261
  disabledCondition: String
262
+ validation: FieldValidation
257
263
  }
258
264
 
259
265
  type StatusChipField implements IField & IRowElement & IElement {
@@ -262,6 +268,7 @@ type StatusChipField implements IField & IRowElement & IElement {
262
268
  label: String
263
269
  name: String!
264
270
  path: String!
271
+ validation: FieldValidation
265
272
  }
266
273
 
267
274
  type CheckboxGroupValue {
@@ -289,6 +296,11 @@ enum FieldValueType {
289
296
  Float
290
297
  }
291
298
 
299
+ type FieldValidation {
300
+ expression: String
301
+ message: String
302
+ }
303
+
292
304
  type StringValidationRule {
293
305
  message: String
294
306
  value: String
@@ -147,6 +147,7 @@ type Tab {
147
147
  label: String!
148
148
  page: Page!
149
149
  visibilityCondition: String
150
+ config: JSON
150
151
  }
151
152
 
152
153
  type DashboardPanel implements IPanel {
@@ -1,6 +1,11 @@
1
1
 
2
2
  type PageQuery {
3
- getPageConfig(path : String) : Page
3
+ getPageConfig(path: String, context: JSON): Page
4
+ getAIConfig(path: String, context: JSON): JSON
5
+ }
6
+
7
+ type RulesQuery {
8
+ getRuleGroups(context: JSON): [RuleGroup!]!
4
9
  }
5
10
 
6
11
  type WidgetQuery {
@@ -13,11 +18,12 @@ type ThemeQuery {
13
18
  }
14
19
 
15
20
  type ConfigQuery {
16
- pages : PageQuery
17
- widgets : WidgetQuery
21
+ pages: PageQuery
22
+ widgets: WidgetQuery
18
23
  tests: TestQuery
19
24
  themes: ThemeQuery
20
- data : DataQuery
25
+ data: DataQuery
26
+ rules: RulesQuery
21
27
  }
22
28
 
23
29
  type DataQuery {
@@ -0,0 +1,80 @@
1
+
2
+ type RuleGroup {
3
+ name: String
4
+ description: String
5
+
6
+ """Type to apply the role group to. For example IContact or BaseWorkItem"""
7
+ type: String
8
+ """Condition to define which rule groups will be applied. like for example custodian or registrationType"""
9
+ condition: String
10
+
11
+ """Priority defined when multiple rule groups are matched. Higher value wins."""
12
+ priority: Int
13
+ fieldRules: [IFieldRule!]!
14
+ }
15
+
16
+ interface IFieldRule {
17
+ defaultValue: String
18
+ messageLabel: String
19
+ path: String!
20
+ readonly: Boolean
21
+ required: Boolean
22
+ requiredCondition: String
23
+ availabilityCondition: String # maps to visibilityCondition on UI
24
+ }
25
+
26
+ type ListFieldRule implements IFieldRule {
27
+ defaultValue: String
28
+ messageLabel: String
29
+ path: String!
30
+ readonly: Boolean
31
+ required: Boolean
32
+ requiredCondition: String
33
+ availabilityCondition: String # maps to visibilityCondition on UI
34
+ validationRules: [ValidationRule!]
35
+ validation: FieldValidation
36
+ }
37
+
38
+ type ValidationRule {
39
+ condition: String
40
+ errorMessage: String
41
+ }
42
+
43
+ type StringFieldRule implements IFieldRule {
44
+ defaultValue: String
45
+ maxLength: Int
46
+ messageLabel: String
47
+ minLength: Int
48
+ path: String!
49
+ readonly: Boolean
50
+ required: Boolean
51
+ requiredCondition: String
52
+ type: FieldValueType
53
+ validation: InputValidation
54
+ availabilityCondition: String
55
+ }
56
+
57
+ type BooleanFieldRule implements IFieldRule {
58
+ defaultValue: String
59
+ messageLabel: String
60
+ path: String!
61
+ readonly: Boolean
62
+ required: Boolean
63
+ requiredCondition: String
64
+ validation: InputValidation
65
+ availabilityCondition: String
66
+ }
67
+
68
+
69
+ type DateFieldRule implements IFieldRule {
70
+ defaultValue: String
71
+ messageLabel: String
72
+ path: String!
73
+ readonly: Boolean
74
+ required: Boolean
75
+ requiredCondition: String
76
+ availabilityCondition: String # maps to visibilityCondition on UI
77
+ minDate: String # e.q. "now" or "2025-03-20"
78
+ maxDate: String # e.q. "now" or "2025-03-20"
79
+ validation: FieldValidation
80
+ }
@@ -135,6 +135,8 @@ type TableCriteria {
135
135
  exactMatchEnabled: Boolean
136
136
  operator: String
137
137
  selectOptions: ISelectOptions
138
+ min: Float
139
+ max: Float
138
140
  }
139
141
 
140
142
  enum TableFilterVariant {
@@ -58,7 +58,7 @@ type InputField implements IField & IRowElement & IElement {
58
58
  rows: Int
59
59
  maxRows: Int
60
60
  minRows: Int
61
- # End of text area configuration
61
+ # End of text area configuration
62
62
  }
63
63
 
64
64
  type CustomValidator implements IRowElement & IElement {
@@ -113,6 +113,7 @@ type PhoneField implements IField & IRowElement & IElement {
113
113
  excludeFromQueryInput: Boolean
114
114
  visibilityCondition: String
115
115
  disabledCondition: String
116
+ validation: FieldValidation
116
117
  }
117
118
 
118
119
  type DateField implements IField & IRowElement & IElement {
@@ -131,6 +132,7 @@ type DateField implements IField & IRowElement & IElement {
131
132
  disabledCondition: String
132
133
  minDate: String # e.q. "now" or "2025-03-20"
133
134
  maxDate: String # e.q. "now" or "2025-03-20"
135
+ validation: FieldValidation
134
136
  }
135
137
 
136
138
  type DateRangeField implements IDateRangeField & IRowElement & IElement {
@@ -173,6 +175,7 @@ type SelectField implements IField & IRowElement & IElement {
173
175
  excludeId: Boolean
174
176
  helperText: String
175
177
  autoSelectSingleOption: Boolean
178
+ validation: FieldValidation
176
179
  }
177
180
 
178
181
  type ToggleField implements IField & IRowElement & IElement {
@@ -194,6 +197,7 @@ type ToggleField implements IField & IRowElement & IElement {
194
197
  visibilityCondition: String
195
198
  disabledCondition: String
196
199
  linkedFields: [String!]
200
+ validation: FieldValidation
197
201
  }
198
202
 
199
203
  type BooleanField implements IField & IRowElement & IElement {
@@ -211,6 +215,7 @@ type BooleanField implements IField & IRowElement & IElement {
211
215
  visibilityCondition: String
212
216
  disabledCondition: String
213
217
  linkedFields: [String!]
218
+ validation: FieldValidation
214
219
  }
215
220
 
216
221
  type ChipSelectWithInputField implements IField & IRowElement & IElement {
@@ -254,6 +259,7 @@ type CustomField implements IField & IRowElement & IElement {
254
259
  excludeFromQueryInput: Boolean
255
260
  visibilityCondition: String
256
261
  disabledCondition: String
262
+ validation: FieldValidation
257
263
  }
258
264
 
259
265
  type StatusChipField implements IField & IRowElement & IElement {
@@ -262,6 +268,7 @@ type StatusChipField implements IField & IRowElement & IElement {
262
268
  label: String
263
269
  name: String!
264
270
  path: String!
271
+ validation: FieldValidation
265
272
  }
266
273
 
267
274
  type CheckboxGroupValue {
@@ -289,6 +296,11 @@ enum FieldValueType {
289
296
  Float
290
297
  }
291
298
 
299
+ type FieldValidation {
300
+ expression: String
301
+ message: String
302
+ }
303
+
292
304
  type StringValidationRule {
293
305
  message: String
294
306
  value: String
@@ -147,6 +147,7 @@ type Tab {
147
147
  label: String!
148
148
  page: Page!
149
149
  visibilityCondition: String
150
+ config: JSON
150
151
  }
151
152
 
152
153
  type DashboardPanel implements IPanel {
@@ -1,6 +1,11 @@
1
1
 
2
2
  type PageQuery {
3
- getPageConfig(path : String) : Page
3
+ getPageConfig(path: String, context: JSON): Page
4
+ getAIConfig(path: String, context: JSON): JSON
5
+ }
6
+
7
+ type RulesQuery {
8
+ getRuleGroups(context: JSON): [RuleGroup!]!
4
9
  }
5
10
 
6
11
  type WidgetQuery {
@@ -13,11 +18,12 @@ type ThemeQuery {
13
18
  }
14
19
 
15
20
  type ConfigQuery {
16
- pages : PageQuery
17
- widgets : WidgetQuery
21
+ pages: PageQuery
22
+ widgets: WidgetQuery
18
23
  tests: TestQuery
19
24
  themes: ThemeQuery
20
- data : DataQuery
25
+ data: DataQuery
26
+ rules: RulesQuery
21
27
  }
22
28
 
23
29
  type DataQuery {
@@ -0,0 +1,80 @@
1
+
2
+ type RuleGroup {
3
+ name: String
4
+ description: String
5
+
6
+ """Type to apply the role group to. For example IContact or BaseWorkItem"""
7
+ type: String
8
+ """Condition to define which rule groups will be applied. like for example custodian or registrationType"""
9
+ condition: String
10
+
11
+ """Priority defined when multiple rule groups are matched. Higher value wins."""
12
+ priority: Int
13
+ fieldRules: [IFieldRule!]!
14
+ }
15
+
16
+ interface IFieldRule {
17
+ defaultValue: String
18
+ messageLabel: String
19
+ path: String!
20
+ readonly: Boolean
21
+ required: Boolean
22
+ requiredCondition: String
23
+ availabilityCondition: String # maps to visibilityCondition on UI
24
+ }
25
+
26
+ type ListFieldRule implements IFieldRule {
27
+ defaultValue: String
28
+ messageLabel: String
29
+ path: String!
30
+ readonly: Boolean
31
+ required: Boolean
32
+ requiredCondition: String
33
+ availabilityCondition: String # maps to visibilityCondition on UI
34
+ validationRules: [ValidationRule!]
35
+ validation: FieldValidation
36
+ }
37
+
38
+ type ValidationRule {
39
+ condition: String
40
+ errorMessage: String
41
+ }
42
+
43
+ type StringFieldRule implements IFieldRule {
44
+ defaultValue: String
45
+ maxLength: Int
46
+ messageLabel: String
47
+ minLength: Int
48
+ path: String!
49
+ readonly: Boolean
50
+ required: Boolean
51
+ requiredCondition: String
52
+ type: FieldValueType
53
+ validation: InputValidation
54
+ availabilityCondition: String
55
+ }
56
+
57
+ type BooleanFieldRule implements IFieldRule {
58
+ defaultValue: String
59
+ messageLabel: String
60
+ path: String!
61
+ readonly: Boolean
62
+ required: Boolean
63
+ requiredCondition: String
64
+ validation: InputValidation
65
+ availabilityCondition: String
66
+ }
67
+
68
+
69
+ type DateFieldRule implements IFieldRule {
70
+ defaultValue: String
71
+ messageLabel: String
72
+ path: String!
73
+ readonly: Boolean
74
+ required: Boolean
75
+ requiredCondition: String
76
+ availabilityCondition: String # maps to visibilityCondition on UI
77
+ minDate: String # e.q. "now" or "2025-03-20"
78
+ maxDate: String # e.q. "now" or "2025-03-20"
79
+ validation: FieldValidation
80
+ }
@@ -135,6 +135,8 @@ type TableCriteria {
135
135
  exactMatchEnabled: Boolean
136
136
  operator: String
137
137
  selectOptions: ISelectOptions
138
+ min: Float
139
+ max: Float
138
140
  }
139
141
 
140
142
  enum TableFilterVariant {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docupace/ihub-config",
3
- "version": "1.1.13",
3
+ "version": "1.1.15-schwab.0",
4
4
  "description": "Reusable config GraphQL extension and standalone server",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",
@@ -68,7 +68,7 @@
68
68
  "build:code": "tsc -p tsconfig.json",
69
69
  "build:assets": "cpx \"model/**/*.yaml\" ./dist/model && cpx \"model/**/*.graphql\" ./dist/model",
70
70
  "build": "rm -rf dist && pnpm lint && pnpm build:code && pnpm build:assets",
71
- "watch": "tsc -p tsconfig.json --watch",
71
+ "watch": "tsc -p tsconfig.json --watch & cpx \"model/**/*.yaml\" ./dist/model --watch & cpx \"model/**/*.graphql\" ./dist/model --watch",
72
72
  "start:build": "rm -rf dist && pnpm build:esm && pnpm build:assets && node dist/server.js",
73
73
  "codegen": "graphql-codegen --config codegen.ts",
74
74
  "lint": "eslint \"src/**/*.{js,jsx,ts,tsx}\" \"tests/**/*.{js,jsx,ts,tsx}\"",