@acorex/platform 21.0.0-next.90 → 21.0.0-next.92
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/fesm2022/acorex-platform-auth.mjs +1 -2
- package/fesm2022/acorex-platform-auth.mjs.map +1 -1
- package/fesm2022/acorex-platform-common-common-settings.provider-DilV4dql.mjs.map +1 -1
- package/fesm2022/acorex-platform-common.mjs +3 -10
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-contracts.mjs +1736 -27
- package/fesm2022/acorex-platform-contracts.mjs.map +1 -1
- package/fesm2022/acorex-platform-core.mjs +6 -1708
- package/fesm2022/acorex-platform-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-domain-contracts.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +2 -2
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity-attachments-page.component-CwG6n_Yb.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity-contracts.mjs +27 -1
- package/fesm2022/acorex-platform-layout-entity-contracts.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity-file-list-popup.component--IeMZLIr.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +263 -115
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +4 -2
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +87 -11
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widgets-page-widget-designer.component-D10yO28c.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-CFyfix31.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widgets-tabular-data-edit-popup.component-BvFykMTH.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widgets.mjs +2 -4
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/acorex-platform-runtime.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-CWLfNqV0.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-C7cT82K2.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DrUwqKKA.mjs.map +1 -1
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-shared-settings.provider-UyKdkeyk.mjs → acorex-platform-themes-shared-settings.provider-DxtfyNGS.mjs} +2 -2
- package/fesm2022/acorex-platform-themes-shared-settings.provider-DxtfyNGS.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-shared.mjs +2 -2
- package/fesm2022/acorex-platform-workflow.mjs +2 -2
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
- package/package.json +1 -1
- package/types/acorex-platform-common.d.ts +3 -5
- package/types/acorex-platform-contracts.d.ts +862 -7
- package/types/acorex-platform-core.d.ts +64 -921
- package/types/acorex-platform-layout-builder.d.ts +3 -3
- package/types/acorex-platform-layout-components.d.ts +6 -6
- package/types/acorex-platform-layout-designer.d.ts +4 -5
- package/types/acorex-platform-layout-entity-contracts.d.ts +90 -3
- package/types/acorex-platform-layout-entity.d.ts +45 -102
- package/types/acorex-platform-layout-views.d.ts +13 -11
- package/types/acorex-platform-layout-widget-core.d.ts +83 -77
- package/types/acorex-platform-layout-widgets.d.ts +9 -8
- package/fesm2022/acorex-platform-themes-shared-settings.provider-UyKdkeyk.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-contracts.mjs","sources":["../../../../libs/platform/contracts/src/lib/core/core.types.ts","../../../../libs/platform/contracts/src/lib/core/shims.types.ts","../../../../libs/platform/contracts/src/lib/core/scope.types.ts","../../../../libs/platform/contracts/src/lib/core/logo.types.ts","../../../../libs/platform/contracts/src/lib/core/response.types.ts","../../../../libs/platform/contracts/src/lib/core/index.ts","../../../../libs/platform/contracts/src/lib/data/data.types.ts","../../../../libs/platform/contracts/src/lib/data/filter.types.ts","../../../../libs/platform/contracts/src/lib/data/sort.types.ts","../../../../libs/platform/contracts/src/lib/data/column.types.ts","../../../../libs/platform/contracts/src/lib/data/export.types.ts","../../../../libs/platform/contracts/src/lib/data/multi-source.types.ts","../../../../libs/platform/contracts/src/lib/data/index.ts","../../../../libs/platform/contracts/src/lib/property/property.types.ts","../../../../libs/platform/contracts/src/lib/property/validation.types.ts","../../../../libs/platform/contracts/src/lib/property/element.types.ts","../../../../libs/platform/contracts/src/lib/property/file.types.ts","../../../../libs/platform/contracts/src/lib/property/index.ts","../../../../libs/platform/contracts/src/lib/interaction/interactive.types.ts","../../../../libs/platform/contracts/src/lib/interaction/view.types.ts","../../../../libs/platform/contracts/src/lib/interaction/view-query.types.ts","../../../../libs/platform/contracts/src/lib/interaction/index.ts","../../../../libs/platform/contracts/src/lib/widgets/widget-node.types.ts","../../../../libs/platform/contracts/src/lib/widgets/widgets-list.ts","../../../../libs/platform/contracts/src/lib/widgets/widgets-catalog.ts","../../../../libs/platform/contracts/src/lib/widgets/index.ts","../../../../libs/platform/contracts/src/lib/workflow/workflow-definition.types.ts","../../../../libs/platform/contracts/src/lib/workflow/workflow-instance.types.ts","../../../../libs/platform/contracts/src/lib/workflow/activity.types.ts","../../../../libs/platform/contracts/src/lib/workflow/index.ts","../../../../libs/platform/contracts/src/lib/status/status.types.ts","../../../../libs/platform/contracts/src/lib/status/status-definition.types.ts","../../../../libs/platform/contracts/src/lib/status/statuses.types.ts","../../../../libs/platform/contracts/src/lib/status/index.ts","../../../../libs/platform/contracts/src/lib/domain/address.types.ts","../../../../libs/platform/contracts/src/lib/domain/file-storage.types.ts","../../../../libs/platform/contracts/src/lib/domain/ai-output.types.ts","../../../../libs/platform/contracts/src/lib/domain/spreadsheet.types.ts","../../../../libs/platform/contracts/src/lib/domain/index.ts","../../../../libs/platform/contracts/src/lib/keys/platform-core-datasource.keys.ts","../../../../libs/platform/contracts/src/lib/keys/regional-settings.keys.ts","../../../../libs/platform/contracts/src/lib/keys/preview-widget-field.command.key.ts","../../../../libs/platform/contracts/src/lib/keys/index.ts","../../../../libs/platform/contracts/src/lib/mock/mock-data.shims.ts","../../../../libs/platform/contracts/src/lib/mock/index.ts","../../../../libs/platform/contracts/src/lib/integration/integration-status.constants.ts","../../../../libs/platform/contracts/src/lib/integration/integration-connection.safe-types.ts","../../../../libs/platform/contracts/src/lib/integration/integration.types.ts","../../../../libs/platform/contracts/src/lib/integration/index.ts","../../../../libs/platform/contracts/src/lib/index.ts","../../../../libs/platform/contracts/src/acorex-platform-contracts.ts"],"sourcesContent":["//#region ---- Core contract types (no Angular / no @acorex/*) ----\n\n/**\n * Plain or rich text that may be localized: a single string or a map of locale code to string.\n */\nexport type AXPMultiLanguageString = string | Record<string, string>;\n\nexport type AXPExpression = string;\n\nexport type AXPMetaData = Record<string, any>;\n\nexport type AXPOptionsData<T extends Record<string, unknown> = Record<string, any>> = T;\n\nexport interface AXPEntityReference {\n id: string;\n type: string;\n title?: string;\n metadata?: AXPMetaData;\n}\n\nexport interface AXPUserReference {\n id: string;\n type?: 'user';\n fullName?: string;\n username?: string;\n}\n\nexport type AXPContentType = 'text' | 'image' | 'file' | 'video' | 'link';\n\nexport interface AXPContent {\n content: string;\n contentType: AXPContentType;\n}\n\nexport type AXPFileStatus = 'attached' | 'uploading' | 'uploaded' | 'deleted' | 'remote' | 'editing';\n\nexport interface AXPFileSource {\n kind: 'blob' | 'url' | 'preview' | 'none' | 'fileId' | 'reference';\n value?: Blob | string | { id: string; type: string; title?: string; metadata?: AXPMetaData };\n}\n\nexport interface AXPFileListItem {\n id?: string;\n name: string;\n size?: number;\n status: AXPFileStatus;\n source?: AXPFileSource;\n meta?: AXPMetaData;\n readOnly?: boolean;\n title?: string;\n description?: string;\n}\n\nexport type AXPDataType = 'string' | 'number' | 'boolean' | 'date' | 'object' | 'array' | 'blob';\n\nexport type AXPWidgetTrigger = { event: string; action: string | string[]; disabled?: boolean };\n\nexport type AXPWidgetTriggers = AXPWidgetTrigger[];\n\nexport type AXPValidationRule = {\n rule: string;\n message?: string;\n options?: any;\n disabled?: boolean | AXPExpression;\n};\n\nexport type AXPValidationRules = AXPValidationRule[];\n\nexport interface AXPGridPlacement {\n colStart?: number;\n colEnd?: number;\n colSpan?: number;\n rowStart?: number;\n rowEnd?: number;\n rowSpan?: number;\n order?: string | number;\n}\n\nexport interface AXPGridLayoutOptions {\n positions?: {\n sm?: AXPGridPlacement;\n md?: AXPGridPlacement;\n lg?: AXPGridPlacement;\n xl?: AXPGridPlacement;\n xxl?: AXPGridPlacement;\n xxxl?: AXPGridPlacement;\n };\n}\n\nexport type AXPValueTransformerFunction = (value: any) => any;\n\nexport type AXPValueTransformerFunctions = {\n getter?: AXPValueTransformerFunction;\n setter?: AXPValueTransformerFunction;\n};\n\nexport type AXPPartialNested<T> = {\n [K in keyof T]?: T[K] extends object ? AXPPartialNested<T[K]> : T[K];\n};\n\n/** Returns dot-path keys for a nested plain object. */\nexport function getNestedKeys(obj: Record<string, unknown>, prefix = ''): string[] {\n let keys: string[] = [];\n for (const key in obj) {\n const value = obj[key];\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\n keys = [...keys, ...getNestedKeys(value as Record<string, unknown>, `${prefix}${key}.`)];\n } else {\n keys.push(`${prefix}${key}`);\n }\n }\n return keys;\n}\n\n/**\n * Shared category descriptor for widgets, query catalog tooling, and other definition groupings.\n */\nexport interface AXPDefinitionCategory {\n name: string;\n title: AXPMultiLanguageString;\n order: number;\n icon?: string;\n}\n\n/** Normalizes definition categories to an array for iteration and serialization. */\nexport function normalizeDefinitionCategories(\n categories?: AXPDefinitionCategory | AXPDefinitionCategory[],\n): AXPDefinitionCategory[] {\n if (categories == null) {\n return [];\n }\n return Array.isArray(categories) ? categories : [categories];\n}\n\nexport interface AXPValueUnit {\n name: string;\n title: string;\n ratio: number;\n order: number;\n}\n\nexport interface AXPValueUnits {\n name: string;\n title: string;\n items: AXPValueUnit[];\n default: string;\n}\n\nexport interface AXPApplicationUserReference {\n id: string;\n name: string;\n title: string;\n}\n\nexport type AXPMaybePromise<T = unknown> = T | Promise<T>;\n\nexport type AXPFlowDirection = 'vertical' | 'horizontal';\n\nexport type AXPContentDirection = 'rtl' | 'ltr';\n\nexport interface AXPSystemAction {\n key: string;\n title: string;\n icon?: string;\n color?: string;\n critical?: boolean;\n descriptions: {\n title: string;\n tooltip: string;\n permission: string;\n audit: string;\n };\n}\n\nexport enum AXPSystemActionType {\n View = 'view',\n Create = 'create',\n Update = 'update',\n Delete = 'delete',\n Approve = 'approve',\n Reject = 'reject',\n Submit = 'submit',\n Export = 'export',\n Import = 'import',\n Print = 'print',\n Assign = 'assign',\n Lock = 'lock',\n Unlock = 'unlock',\n Share = 'share',\n Configure = 'configure',\n Reorder = 'reorder',\n Preview = 'preview',\n Duplicate = 'duplicate',\n Archive = 'archive',\n Publish = 'publish',\n Unpublish = 'unpublish',\n Upload = 'upload',\n Download = 'download',\n Copy = 'copy',\n Move = 'move',\n Rename = 'rename',\n Restore = 'restore',\n Manage = 'manage',\n Info = 'info',\n Confirm = 'confirm',\n Design = 'design',\n VersionHistory = 'version-history',\n Compare = 'compare',\n Comments = 'comments',\n Sign = 'sign',\n Setup = 'setup',\n Send = 'send',\n Report = 'report',\n Sent = 'sent',\n Review = 'review',\n Generate = 'generate',\n Refresh = 'refresh',\n Reload = 'reload',\n Search = 'search',\n Filter = 'filter',\n Sort = 'sort',\n Start = 'start',\n Stop = 'stop',\n Pause = 'pause',\n Cancel = 'cancel',\n Close = 'close',\n Complete = 'complete',\n Save = 'save',\n SaveAs = 'save-as',\n Sync = 'sync',\n Reset = 'reset',\n Clear = 'clear',\n Distribution = 'distribution',\n}\n\n//#endregion\n","//#region ---- CDK / component shims (pure contracts, no @acorex/cdk) ----\n\nexport type AXDataSourceOperatorType =\n | 'endsWith'\n | 'startsWith'\n | 'in'\n | 'equal'\n | 'isNull'\n | 'isEmpty'\n | 'lt'\n | 'lte'\n | 'gt'\n | 'gte'\n | 'contains';\n\nexport interface AXDataSourceOperator {\n type: AXDataSourceOperatorType;\n negative?: boolean;\n}\n\nexport type AXStyleColorType = string;\n\nexport type AXPopupSizeType = string;\n\nexport type AXFilterLogic = 'and' | 'or';\n\nexport interface AXDataSourceFilterOption {\n field?: string;\n operator?: AXDataSourceOperator;\n value?: unknown;\n logic?: AXFilterLogic;\n filters?: AXDataSourceFilterOption[];\n}\n\nexport interface AXDataSourceSortOption {\n field: string;\n dir?: 'asc' | 'desc';\n}\n\n//#endregion\n","//#region ---- Platform scope types ----\n\nexport type AXPPlatformScopeKey = 'P' | 'T' | 'U';\n\nexport enum AXPPlatformScope {\n Platform = 'P',\n Tenant = 'T',\n User = 'U',\n}\n\nexport function resolvePlatformScopeKey(name: string): AXPPlatformScopeKey {\n const scopeMap: Record<string, AXPPlatformScopeKey> = {\n platform: AXPPlatformScope.Platform,\n tenant: AXPPlatformScope.Tenant,\n user: AXPPlatformScope.User,\n };\n return scopeMap[name.toLowerCase()] ?? AXPPlatformScope.User;\n}\n\nexport function resolvePlatformScopeName(scope: AXPPlatformScopeKey): string {\n const scopeMap: Record<AXPPlatformScopeKey, string> = {\n P: 'platform',\n T: 'tenant',\n U: 'user',\n };\n return scopeMap[scope] ?? 'user';\n}\n\n//#endregion\n","//#region ---- Logo config ----\n\n/**\n * Structural logo configuration shared by url, icon, and component-based logos.\n * Runtime classes live in `@acorex/platform/core` (`AXPImageUrlLogoConfig`, etc.).\n */\nexport interface AXPLogoConfig {\n width?: number;\n height?: number;\n url?: string;\n icon?: string;\n color?: string;\n component?: unknown;\n}\n\n//#endregion\n","//#region ---- Response types ----\n\nexport interface AXPMiddlewareErrorResponse {\n success: false;\n error: {\n code?: string;\n message: string;\n status?: number;\n details?: unknown;\n };\n}\n\n//#endregion\n","//#region ---- Core contracts ----\n\nexport * from './core.types';\nexport * from './shims.types';\nexport * from './scope.types';\nexport * from './logo.types';\nexport * from './response.types';\n\n//#endregion\n","//#region ---- Category & entity operation types ----\n\nimport type { AXDataSourceFilterOption, AXDataSourceSortOption } from '../core/shims.types';\nimport type { AXPMultiLanguageString } from '../core/core.types';\n\nexport interface AXPPagedListResult<T = unknown> {\n items: T[];\n total: number;\n}\n\nexport interface AXPQueryRequest {\n skip: number;\n take: number;\n sort?: AXDataSourceSortOption[];\n filter?: AXDataSourceFilterOption;\n params?: Record<string, string>;\n}\n\nexport interface AXPCategoryEntity<TKey = string> {\n id: TKey;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: TKey;\n childrenCount: number;\n itemsCount?: number;\n totalChildrenCount?: number;\n totalItemsCount?: number;\n}\n\nexport interface AXPCategoryListItem<TKey extends string = string> {\n id: TKey;\n title: AXPMultiLanguageString;\n}\n\nexport interface AXPCategoryEntityWithItems<T> extends AXPCategoryEntity {\n items: T[];\n children?: AXPCategoryEntityWithItems<T>[];\n}\n\nexport interface AXPCategorizedEntity {\n categoryIds: string[];\n}\n\nexport interface AXPCategorizedEntityDto {\n categoryIds: string[];\n categories: AXPCategoryListItem[];\n}\n\nexport type AXPEntityOp =\n | 'initial'\n | 'create'\n | 'update'\n | 'delete'\n | 'getOne'\n | 'getAll'\n | 'query'\n | 'count'\n | 'queryAll'\n | 'getMany'\n | 'exists'\n | 'upsertOne'\n | 'aggregate';\n\n//#endregion\n","//#region ---- Filter types ----\n\nimport type { AXDataSourceFilterOption } from '../core/shims.types';\nimport type { AXPOptionsData } from '../core/core.types';\n\nexport interface AXPFilterTriggerDefinition {\n event: string;\n action: string;\n disabled?: boolean;\n}\n\nexport interface AXPFilterClause extends AXDataSourceFilterOption {\n id?: string;\n order?: number;\n filters?: AXPFilterClause[];\n}\n\nexport interface AXPFilterDefinition extends AXPFilterClause {\n title: string;\n isParametric?: boolean;\n icon?: string;\n widget: {\n type: string;\n options?: AXPOptionsData;\n };\n filterType: {\n advance: boolean;\n inline: boolean;\n preload?: {\n enabled?: boolean;\n required?: boolean;\n };\n };\n hidden?: boolean;\n /**\n * When true, the filter is not selectable. When a string, it is evaluated as an expression (e.g. `{{ ... }}`)\n * using the current filters context.\n */\n disabled?: boolean | string;\n /** Expression-driven triggers (events/actions); same semantics as entity `schema.interface.triggers`. */\n triggers?: AXPFilterTriggerDefinition[];\n}\n\nexport interface AXPFilterQuery extends Pick<AXPFilterDefinition, 'field' | 'value' | 'operator' | 'logic' | 'hidden'> {\n filters?: AXPFilterQuery[];\n displayText?: string;\n}\n\n//#endregion\n","//#region ---- Sort types ----\n\nexport interface AXPSortDefinition {\n name: string;\n title: string;\n dir?: 'asc' | 'desc';\n}\n\nexport interface AXPSortQuery extends Pick<AXPSortDefinition, 'name' | 'dir'> {}\n\n//#endregion\n","//#region ---- Column types ----\n\nexport interface AXPColumnQuery {\n name: string;\n title: string;\n visible: boolean | string;\n}\n\n//#endregion\n","//#region ---- Export types ----\n\nexport interface AXPExportOptions {\n fileNameTemplate?: string;\n\n pdf?: AXPExportPdfOptions;\n excel?: AXPExportExcelOptions;\n csv?: AXPExportCsvOptions;\n print?: AXPExportPrintOptions;\n}\n\nexport interface AXPExportPdfOptions {\n enabled: boolean;\n\n pageSize?: 'A4' | 'A3' | 'Letter' | 'Legal';\n orientation?: 'portrait' | 'landscape';\n\n margin?:\n | number\n | {\n top: number;\n bottom: number;\n left: number;\n right: number;\n };\n\n font?: string;\n fontSize?: number;\n\n headerEnabled?: boolean;\n footerEnabled?: boolean;\n showPageNumbers?: boolean;\n\n watermarkText?: string;\n watermarkOpacity?: number;\n\n compression?: boolean;\n embedImages?: boolean;\n}\n\nexport interface AXPExportExcelOptions {\n enabled: boolean;\n\n sheetName?: string;\n includeFilters?: boolean;\n freezeHeader?: boolean;\n autoFitColumns?: boolean;\n\n style?: {\n headerColor?: string;\n font?: string;\n fontSize?: number;\n numberFormat?: 'auto' | 'currency' | 'percent' | 'decimal';\n };\n\n summaryRowEnabled?: boolean;\n exportHiddenColumns?: boolean;\n}\n\nexport interface AXPExportCsvOptions {\n enabled: boolean;\n\n delimiter?: ',' | ';' | '\\t';\n includeHeaders?: boolean;\n quoteValues?: boolean;\n encoding?: 'utf-8' | 'utf-16' | 'iso-8859-1';\n}\n\nexport interface AXPExportPrintOptions {\n enabled: boolean;\n\n includeHeader?: boolean;\n includeFooter?: boolean;\n showPageBreaks?: boolean;\n customCssUrl?: string;\n}\n\nexport enum AXPExportTemplateToken {\n Date = '{date}',\n Time = '{time}',\n User = '{user}',\n ReportTitle = '{title}',\n UUID = '{uuid}',\n}\n\n//#endregion\n","//#region ---- Multi-source reference ----\n\nexport interface AXPMultiSourceRef {\n sourceKey: string;\n refId?: string;\n displayName: string;\n data?: unknown;\n meta?: Record<string, unknown>;\n}\n\n//#endregion\n","//#region ---- Data contracts ----\n\nexport * from './data.types';\nexport * from './filter.types';\nexport * from './sort.types';\nexport * from './column.types';\nexport * from './export.types';\nexport * from './multi-source.types';\n\n//#endregion\n","//#region ---- Property types ----\n\nimport type { AXPMultiLanguageString, AXPOptionsData, AXPDataType, AXPWidgetTriggers, AXPValidationRules } from '../core/core.types';\n\nexport interface AXPPropertyGroup {\n name: string;\n title: AXPMultiLanguageString;\n icon?: string;\n description?: AXPMultiLanguageString;\n order?: number;\n}\n\nexport interface AXPPropertyInterface {\n type: string;\n options: AXPOptionsData;\n triggers?: AXPWidgetTriggers;\n}\n\nexport interface AXPProperty {\n name: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n dataType: AXPDataType;\n validations?: AXPValidationRules;\n group?: AXPPropertyGroup | string;\n order?: number;\n interface: AXPPropertyInterface;\n}\n\n//#endregion\n","//#region ---- Validation types ----\n\nimport type { AXPExpression, AXPValidationRule, AXPValidationRules } from '../core/core.types';\n\nexport type { AXPValidationRule, AXPValidationRules };\n\nexport interface AXPRequiredValidationRule extends AXPValidationRule {\n rule: 'required';\n}\n\nexport interface AXPMinLengthValidationRule extends AXPValidationRule {\n rule: 'minLength';\n options: {\n minLength: number | AXPExpression;\n };\n}\n\nexport interface AXPMaxLengthValidationRule extends AXPValidationRule {\n rule: 'maxLength';\n options: {\n maxLength: number | AXPExpression;\n };\n}\n\nexport interface AXPEqualValidationRule<T> extends AXPValidationRule {\n rule: 'equal';\n options: {\n value: T | AXPExpression;\n };\n}\n\nexport interface AXPReqexValidationRule extends AXPValidationRule {\n rule: 'regex';\n options: {\n value: string;\n };\n}\n\nexport type AXPStringValidationRules = (\n | AXPRequiredValidationRule\n | AXPMinLengthValidationRule\n | AXPMaxLengthValidationRule\n | AXPEqualValidationRule<string>\n | AXPReqexValidationRule\n)[];\n\n//#endregion\n","//#region ---- Widget element types ----\n\nexport type { AXPWidgetTrigger, AXPWidgetTriggers } from '../core/core.types';\n\n//#endregion\n","//#region ---- File types ----\n\nexport type { AXPFileListItem, AXPFileSource, AXPFileStatus } from '../core/core.types';\n\n//#endregion\n","//#region ---- Property contracts ----\n\nexport * from './property.types';\nexport * from './validation.types';\nexport * from './element.types';\nexport * from './file.types';\n\n//#endregion\n","//#region ---- Interactive types ----\n\nimport type { AXPMetaData, AXPMultiLanguageString } from '../core/core.types';\n\nexport type AXPActionMenuItem = {\n name?: string;\n title: AXPMultiLanguageString;\n icon?: string;\n iconOnly?: boolean;\n color?: string;\n look?: string;\n break?: boolean;\n items?: AXPActionMenuItem[];\n command?: AXPExecuteCommand;\n disabled?: boolean | string;\n visible?: boolean | string;\n policy?: string;\n};\n\nexport type AXPBackButton = {\n title: AXPMultiLanguageString;\n};\n\nexport type AXPBreadcrumbItem = {\n name?: string;\n title: AXPMultiLanguageString;\n icon?: string;\n command?: AXPExecuteCommand;\n};\n\nexport type AXPBadge = {\n title: string;\n description?: string;\n color?: 'primary' | 'success' | 'warning' | 'danger';\n};\n\nexport type AXPPageStatus = {\n definitionKey: string;\n value: string;\n dataPath?: string;\n readonly?: boolean;\n};\n\nexport interface AXPCommandMessage {\n type?: 'info' | 'success' | 'warning' | 'error';\n code?: string;\n text: AXPMultiLanguageString;\n details?: unknown;\n}\n\nexport type AXPExecuteCommand = {\n name: string;\n options?: AXPMetaData;\n metadata?: AXPMetaData;\n};\n\nexport interface AXPExecuteCommandResult<T = any> {\n success: boolean;\n data?: T;\n message?: AXPCommandMessage;\n metadata?: AXPMetaData;\n}\n\nexport interface AXPQueryFetchResult<T = any> {\n success: boolean;\n data?: {\n items?: T[];\n total?: number;\n };\n message?: {\n code?: string;\n text?: AXPMultiLanguageString;\n details?: unknown;\n };\n}\n\n//#endregion\n","//#region ---- View types ----\n\nimport type { AXPActionMenuItem } from './interactive.types';\n\nexport interface AXPViewDefinition {\n key: string;\n title: string;\n description?: string;\n icon?: string;\n blocks: AXPViewBlockDefinition[];\n layout?: 'vertical' | 'horizontal' | 'grid' | 'custom';\n actions?: {\n primary?: AXPActionMenuItem[];\n secondary?: AXPActionMenuItem[];\n };\n}\n\nexport interface AXPViewBlockDefinition {\n key: string;\n type: 'form' | 'table' | 'tabs' | 'list' | 'card' | 'custom';\n title?: string;\n description?: string;\n icon?: string;\n actions?: {\n primary?: AXPActionMenuItem[];\n secondary?: AXPActionMenuItem[];\n };\n fields?: AXPViewFieldDefinition[];\n blocks?: AXPViewBlockDefinition[];\n}\n\nexport interface AXPViewFieldDefinition {\n key: string;\n title?: string;\n description?: string;\n icon?: string;\n widget?: string;\n}\n\n//#endregion\n","//#region ---- View query types ----\n\nimport type { AXPFilterQuery } from '../data/filter.types';\nimport type { AXPSortQuery } from '../data/sort.types';\n\nexport interface AXPViewQuery {\n name: string;\n fixed: boolean;\n title: string;\n columns: string[];\n conditions: AXPFilterQuery[];\n sorts: AXPSortQuery[];\n}\n\n//#endregion\n","//#region ---- Interaction contracts ----\n\nexport * from './interactive.types';\nexport * from './view.types';\nexport * from './view-query.types';\n\n//#endregion\n","//#region ---- Widget node types ----\n\nimport type {\n AXPExpression,\n AXPMetaData,\n AXPOptionsData,\n AXPValueTransformerFunctions,\n AXPWidgetTriggers,\n} from '../core/core.types';\n\nexport type AXPWidgetRenderMode = 'view' | 'edit' | 'designer' | 'print' | 'column' | 'filter';\n\nexport interface AXPWidgetNode {\n type: string;\n mode?: AXPWidgetRenderMode;\n path?: string;\n name?: string;\n visible?: boolean | AXPExpression;\n defaultValue?: unknown;\n children?: AXPWidgetNode[];\n options?: AXPOptionsData;\n triggers?: AXPWidgetTriggers;\n meta?: AXPMetaData;\n valueTransforms?: AXPValueTransformerFunctions;\n}\n\n//#endregion\n","export const AXPWidgetsList = {\n Editors: {\n DocumentAttachment: 'document-attachment-editor',\n TagEditor: 'tag-editor',\n CheckBox: 'checkbox-editor',\n ColorBox: 'color-editor',\n ColorPalette: 'color-palette-editor',\n DateTimeBox: 'date-time-editor',\n AddressBox: 'address-editor',\n Direction: 'direction',\n LargeTextBox: 'large-text-editor',\n NumberBox: 'number-editor',\n UnitValueBox: 'number-unit-editor',\n PasswordBox: 'password-editor',\n QueryBuilder: 'query-builder-editor',\n RichText: 'rich-text-editor',\n SelectBox: 'select-editor',\n SelectionList: 'selection-list-editor',\n TextBox: 'text-editor',\n InlineDataTable: 'table-editor',\n ToggleSwitch: 'toggle-editor',\n FileTypeExtension: 'file-type-extension',\n MapBox: 'map',\n MediaGallery: 'gallery',\n SignatureBox: 'signature',\n LookupBox: 'lookup-editor',\n MultiSourceSelector: 'multi-source-selector-editor',\n EntityCategory: 'entity-category-editor',\n ContactBox: 'contact-editor',\n MetaDataBox: 'meta-data-editor',\n TemplateBox: 'template-box-editor',\n TemplateContentEditor: 'template-content-editor',\n TimeDuration: 'time-duration',\n DocumentUploader: 'document-uploader',\n MetaSelector: 'meta-selector-editor',\n MetaDataForm: 'meta-data-form-editor',\n ColumnFilterSelector: 'column-filter-selector-editor',\n DataListFilter: 'data-list-filter-editor',\n ListEditor: 'list-editor',\n ConnectedListsEditor: 'connected-lists-editor',\n SkillMatrix: 'skill-matrix-editor',\n ResponsibilitiesMatrix: 'responsibilities-matrix-editor',\n RiskMatrix: 'risk-matrix-editor',\n ControlHierarchyDiagram: 'control-hierarchy-diagram-editor',\n ProgressBox: 'progress-bar-editor',\n RatePicker: 'rate-picker-editor',\n ActivityCommandConfigurator: 'activity-command-configurator',\n WorkflowConfigurator: 'workflow-configurator',\n },\n Layouts: {\n AlertBox: 'alert-box-layout',\n BadgeLayout: 'badge-layout',\n BlockLayout: 'block-layout',\n RepeaterLayout: 'repeater-layout',\n TextBlockLayout: 'text-block-layout',\n FormField: 'form-field',\n PanelLayout: 'panel-layout',\n PageLayout: 'page-layout',\n DocumentLayout: 'document-layout',\n GridRowLayout: 'grid-row-layout',\n GridItemLayout: 'grid-item-layout',\n GridLayout: 'grid-layout',\n FlexLayout: 'flex-layout',\n FlexItemLayout: 'flex-item-layout',\n AdvancedGridLayout: 'advanced-grid-layout',\n AdvancedGridItemLayout: 'advanced-grid-item-layout',\n FieldsetLayout: 'fieldset-layout',\n TabsetLayout: 'tabset-layout',\n TabsetItemLayout: 'tabset-item',\n },\n Actions: {\n ActionButton: 'button-action',\n },\n Advanced: {\n CodeEditor: 'code-editor',\n JsonViewer: 'json-viewer',\n OutcomeResultsViewer: 'outcome-results-viewer',\n QRCode: 'qrcode',\n schedulerPicker: 'scheduler-picker',\n Signature: 'signature',\n Map: 'map',\n Gallery: 'gallery',\n Image: 'image',\n ImageMarker: 'image-marker',\n Avatar: 'avatar',\n Attachments: 'attachments',\n DataList: 'data-list',\n ListToolbar: 'list-toolbar',\n CronJob: 'cron-job',\n Status: 'status-widget',\n WidgetFieldConfigurator: 'widget-field-configurator',\n AnswersViewer: 'answers-viewer',\n IntegrationConnectionsPanel: 'integration-connections-panel',\n },\n Templates: {\n Designer: 'template-designer',\n Template: 'template',\n },\n // Filters: {\n // StringFilter: 'string-filter',\n // SelectFilter: 'select-filter',\n // NumberFilter: 'number-filter',\n // DateTimeFilter: 'datetime-filter',\n // BooleanFilter: 'boolean-filter',\n // LookupFilter: 'lookup-filter',\n // },\n // PropertyEditors: {\n // Spacing: 'spacing',\n // GridOptions: 'grid-options',\n // GridItemOptions: 'grid-item-options',\n // FlexOptions: 'flex-options',\n // FlexItemOptions: 'flex-item-options',\n // Direction: 'direction',\n // Border: 'border',\n // AdvancedGridOptions: 'advanced-grid-options',\n // },\n // Validations: {\n // RequiredValidation: 'required-validation',\n // RegularExpressionValidation: 'regular-expression-validation',\n // MinLengthValidation: 'min-length-validation',\n // MaxLengthValidation: 'max-length-validation',\n // LessThanValidation: 'less-than-validation',\n // GreaterThanValidation: 'greater-than-validation',\n // EqualValidation: 'equal-validation',\n // CallbackValidation: 'callback-validation',\n // BetweenValidation: 'between-validation',\n // },\n Entity: {\n EntityList: 'entity-list',\n SelectorStructure: 'selector-structure',\n },\n Providers: {\n EntityDefinition: 'entity-definition-provider-editor',\n },\n ExpressionBuilders: {\n ConditionBuilder: 'condition-builder-editor',\n },\n Theme: {\n ThemeColorChooser: 'theme-color-chooser',\n // ThemeModeChooser: 'theme-mode-chooser',\n IconChooser: 'icon-chooser',\n FontSizeChooser: 'font-size-chooser',\n FontStyleChooser: 'font-style-chooser',\n // MenuOrientationChooser: 'menu-orientation-chooser',\n },\n // Features: {\n // Comment: 'comment',\n // Permissions: 'permissions',\n // },\n};\n","//#region ---- Widget catalog (deprecated; prefer AXPWidgetsList) ----\n\nconst AXPWidgetsCatalog = {\n timeDuration: 'time-duration',\n timeDurationFilter: 'time-duration-filter',\n checkbox: 'checkbox-editor',\n color: 'color-editor',\n connectedLists: 'connected-lists-editor',\n contact: 'contact-editor',\n dateTime: 'date-time-editor',\n largeText: 'large-text-editor',\n number: 'number-editor',\n numberUnit: 'number-unit-editor',\n password: 'password-editor',\n richText: 'rich-text-editor',\n select: 'select-editor',\n selectionList: 'selection-list-editor',\n text: 'text-editor',\n table: 'table-editor',\n toggle: 'toggle-editor',\n blockLayout: 'block-layout',\n pageLayout: 'page-layout',\n repeaterLayout: 'repeater-layout',\n textBlockLayout: 'text-block-layout',\n alertBoxLayout: 'alert-box-layout',\n badgeLayout: 'badge-layout',\n attachments: 'attachments',\n fileTypeExtension: 'file-type-extension',\n map: 'map',\n imageMarker: 'image-marker',\n image: 'image',\n gallery: 'gallery',\n signature: 'signature',\n buttonAction: 'button-action',\n document: 'document-layout',\n lookup: 'lookup-editor',\n formField: 'form-field',\n qrcode: 'qrcode',\n schedulerPicker: 'scheduler-picker',\n advancedGrid: 'advanced-grid-layout',\n advancedGridItem: 'advanced-grid-item-layout',\n grid: 'grid-layout',\n gridItem: 'grid-item-layout',\n template: 'template',\n templateDesigner: 'template-designer',\n cronJob: 'cron-job',\n spacing: 'spacing',\n direction: 'direction',\n border: 'border',\n flexLayout: 'flex-layout',\n flexItem: 'flex-item-layout',\n tableLayout: 'table-layout',\n tableItem: 'table-item-layout',\n avatar: 'avatar',\n themeModeChooser: 'theme-mode-chooser',\n menuOrientationChooser: 'menu-orientation-chooser',\n fontStyleChooser: 'font-style-chooser',\n fontSizeChooser: 'font-size-chooser',\n iconChooser: 'icon-chooser',\n icon: 'icon',\n themeColorChooser: 'theme-color-chooser',\n gridOptions: 'grid-options',\n gridItemOptions: 'grid-item-options',\n advancedGridOptions: 'advanced-grid-options',\n stringFilter: 'string-filter',\n numberFilter: 'number-filter',\n dateTimeFilter: 'datetime-filter',\n booleanFilter: 'boolean-filter',\n lookupFilter: 'lookup-filter',\n flexOptions: 'flex-options',\n flexItemOptions: 'flex-item-options',\n selectFilter: 'select-filter',\n requiredValidation: 'required-validation',\n regularExpressionValidation: 'regular-expression-validation',\n minLengthValidation: 'min-length-validation',\n maxLengthValidation: 'max-length-validation',\n lessThanValidation: 'less-than-validation',\n greaterThanValidation: 'greater-than-validation',\n betweenValidation: 'between-validation',\n equalValidation: 'equal-validation',\n callbackValidation: 'callback-validation',\n metaData: 'meta-data-editor',\n templateEditor: 'template-box-editor',\n templateContentEditor: 'template-content-editor',\n panel: 'panel',\n notification: 'notification',\n comment: 'comment',\n list: 'list-editor',\n dataList: 'data-list',\n listToolbar: 'list-toolbar',\n entityList: 'entity-list',\n pageComponent: 'page-component',\n editorJs: 'editor-js-editor',\n documentUploader: 'document-uploader',\n stepWizard: 'step-wizard',\n progressBar: 'progress-bar-editor',\n rate: 'rate-picker-editor',\n documentFileTypeFilter: 'document-file-type-filter',\n entityDefinitionProvider: 'entity-definition-provider-editor',\n} as const;\n\nexport { AXPWidgetsCatalog };\n\n//#endregion\n","//#region ---- Widget contracts ----\n\nexport * from './widget-node.types';\nexport * from './widgets-list';\nexport * from './widgets-catalog';\n\n//#endregion\n","import { type AXPMetaData, type AXPOptionsData, type AXPMultiLanguageString } from '../core/core.types';\nimport { type AXPCategoryEntity, type AXPEntityOp } from '../data/data.types';\nimport { type AXPProperty } from '../property/property.types';\n\n//#region ---- Workflow definition (graph + metadata) ----\n\nexport interface AXPWorkflowDefinition {\n schemaVersion: 'acorex-platform-workflow/v1';\n\n name: string;\n title?: AXPMultiLanguageString | null;\n description?: AXPMultiLanguageString | null;\n\n variables?: AXPProperty[];\n inputs?: AXPProperty[];\n outputs?: AXPWorkflowOutputProperty[];\n\n graph: AXPWorkflowGraph;\n\n customProperties?: Record<string, any>;\n\n /** engine specific (Elsa, ...) */\n extensions?: AXPWorkflowExtensions;\n\n /**\n * Workflow bindings configuration.\n * Defines which entities and events should trigger this workflow.\n */\n bindings?: AXPWorkflowBinding[];\n}\n\n/**\n * Workflow Category - Extends AXPCategoryEntity for consistency and performance\n *\n * Inherited properties from AXPCategoryEntity:\n * - id: string - Unique identifier\n * - title: string - Display name\n * - description?: string - Category description\n * - parentId?: string - Parent category ID\n * - childrenCount: number - Direct child categories count (enables lazy loading)\n * - itemsCount?: number - Direct workflows count\n * - totalChildrenCount?: number - Total nested categories (optional, for analytics)\n * - totalItemsCount?: number - Total workflows in tree (optional, for analytics)\n */\nexport interface AXPWorkflowCategory extends AXPCategoryEntity {\n // No additional properties needed - all inherited from AXPCategoryEntity\n // Use: childrenCount instead of hasChild\n // Use: itemsCount instead of hasWorkflow\n}\n\n//#endregion\n\n//#region ---- Graph & activity instance ----\n\nexport interface AXPWorkflowGraph {\n startActivityId: string;\n activities: AXPWorkflowActivityInstance[];\n connections: AXPConnection[];\n\n /** purely designer */\n designer?: {\n nodes?: Record<string, { x: number; y: number; nodeId?: string; width?: number; height?: number }>;\n edges?: Array<{ from: string; to: string; vertices?: Array<{ x: number; y: number }> }>;\n /**\n * When true, the Activities page has applied its initial auto-arrange (or the graph already had\n * persisted node positions). Prevents re-running automatic layout on subsequent visits.\n */\n layoutArranged?: boolean;\n };\n}\n\nexport interface AXPWorkflowActivityInstance {\n id: string;\n nodeId?: string;\n\n /**\n * Activity name - references AXPActivityDefinition.name\n * Used to lookup activity definition for metadata (executionMode, title, etc.)\n */\n name: string;\n\n /**\n * Input values for this activity instance.\n * Key-value pairs where keys match {@link AXPProperty.name} from AXPActivityDefinition.inputs\n * Example: { \"message\": \"Hello\", \"duration\": 5000 }\n */\n inputs?: AXPOptionsData;\n\n title?: string;\n\n /**\n * Output mapping: process variable name → path in this activity's output (BPMN-style: activity → variable).\n * When this activity completes, each entry sets variables[variableName] = output[outputPath].\n * Example: { leaveRequestId: 'id' } → variables.leaveRequestId = activityOutput.id\n */\n outputToVariables?: AXPOptionsData;\n\n metadata?: AXPMetaData;\n\n /** engine-specific override */\n extensions?: Record<string, any>;\n}\n\nexport interface AXPConnection {\n source: { activtyName: string; port?: string | null };\n target: { activtyName: string; port?: string | null };\n vertices?: Array<{ x: number; y: number }>;\n}\n\n//#endregion\n\n//#region ---- Workflow I/O (built on AXPProperty) ----\n\n/**\n * Workflow output: same as {@link AXPProperty} with optional source path and engine metadata.\n */\nexport interface AXPWorkflowOutputProperty extends AXPProperty {\n /**\n * Optional: where this output comes from in your context/memory.\n * Example: \"$.result.orderId\" or \"vars.orderId\"\n */\n path?: string;\n metadata?: Record<string, any>;\n}\n\n//#endregion\n\n//#region ---- Engine extensions & bindings ----\n\n/**\n * Engine-specific extension bag for a workflow.\n * Keep ALL engine-only fields here (Elsa, StepFunctions adapter, etc).\n */\nexport interface AXPWorkflowExtensions {\n /**\n * Elsa-specific extensions (optional).\n */\n elsa?: AXPElsaWorkflowExtensions;\n /**\n * Other engines (future-proof).\n * Example: stepFunctions, logicApps, temporal, ...\n */\n [engine: string]: any;\n}\n\n/**\n * Elsa-only fields (Optional).\n * Put strategy/tool/schema/raw payload here to keep Core model global.\n */\nexport interface AXPElsaWorkflowExtensions {\n /**\n * Elsa schema URL (if you want to round-trip exact docs).\n * Example: \"https://elsaworkflows.io/schemas/workflow-definition/v3.0.0/schema.json\"\n */\n schema?: string;\n\n toolVersion?: string;\n materializerName?: string;\n\n /**\n * Elsa strategy/options (engine-level concerns).\n */\n options?: {\n activationStrategyType?: string | null;\n incidentStrategyType?: string | null;\n commitStrategyName?: string | null;\n autoUpdateConsumingWorkflows?: boolean;\n usableAsActivity?: boolean | null;\n activityCategory?: string | null;\n };\n\n /**\n * If you want lossless Elsa round-trip, keep the raw Elsa definition here.\n */\n rawDefinition?: any;\n}\n\n/**\n * Workflow binding configuration.\n * Defines which entities and events should trigger a workflow.\n */\nexport interface AXPWorkflowBinding {\n /**\n * Entity types this workflow applies to (e.g., ['ContentManagement.Promotion', 'ContentManagement.Article'])\n * Empty array means applies to all entities with workflow-run plugin enabled.\n */\n entityTypes: string[];\n\n /**\n * Event types that trigger this workflow (e.g., ['create', 'update'])\n * Uses AXPEntityOp directly (create, update, delete, etc.)\n */\n eventTypes: AXPEntityOp[];\n\n /**\n * Whether this binding is enabled\n */\n enabled: boolean;\n\n /**\n * Optional conditions for when to trigger (future enhancement)\n */\n conditions?: any;\n}\n\n//#endregion\n","// ============================================\n// WORKFLOW INSTANCE v3.0.0 TYPES\n// Based on Elsa Workflow Instance schema: https://elsaworkflows.io/schemas/workflow-instance/v3.0.0/schema.json\n// Compatible with Elsa backend while using ACoreX naming conventions\n// ============================================\n\n/**\n * Workflow status.\n */\nexport type AXPWorkflowStatus = 'Running' | 'Finished';\n\n/**\n * Workflow sub-status.\n */\nexport type AXPWorkflowSubStatus = 'Pending' | 'Executing' | 'Suspended' | 'Finished' | 'Cancelled' | 'Faulted';\n\n/**\n * Activity status.\n */\nexport type AXPActivityStatus = 'Running' | 'Completed' | 'Canceled' | 'Faulted';\n\n/**\n * Exception state.\n */\nexport interface AXPExceptionState {\n /**\n * Exception type name.\n */\n type: string;\n\n /**\n * Exception message.\n */\n message: string;\n\n /**\n * Stack trace (nullable).\n */\n stackTrace?: string | null;\n\n /**\n * Inner exception (nullable).\n */\n innerException?: AXPExceptionState | null;\n}\n\n/**\n * Activity incident.\n */\nexport interface AXPActivityIncident {\n /**\n * Activity ID that caused the incident.\n */\n activityId: string;\n\n /**\n * Activity node ID.\n */\n activityNodeId: string;\n\n /**\n * Activity type.\n */\n activityType: string;\n\n /**\n * Incident message.\n */\n message: string;\n\n /**\n * Exception (nullable).\n */\n exception?: AXPExceptionState | null;\n\n /**\n * Timestamp (ISO date-time).\n */\n timestamp: string;\n}\n\n/**\n * Workflow fault state.\n */\nexport interface AXPWorkflowFaultState {\n /**\n * Exception (nullable).\n */\n exception?: AXPExceptionState | null;\n\n /**\n * Fault message.\n */\n message: string;\n\n /**\n * Faulted activity ID (nullable).\n */\n faultedActivityId?: string | null;\n}\n\n/**\n * Bookmark.\n */\nexport interface AXPBookmark {\n /**\n * Bookmark ID.\n */\n id: string;\n\n /**\n * Bookmark name.\n */\n name: string;\n\n /**\n * Bookmark hash.\n */\n hash: string;\n\n /**\n * Bookmark payload (nullable).\n */\n payload?: any | null;\n\n /**\n * Activity node ID.\n */\n activityNodeId: string;\n\n /**\n * Activity instance ID.\n */\n activityInstanceId: string;\n\n /**\n * Auto burn flag.\n */\n autoBurn?: boolean;\n\n /**\n * Callback method name (nullable).\n */\n callbackMethodName?: string | null;\n\n /**\n * Metadata (nullable).\n */\n metadata?: Record<string, string> | null;\n}\n\n/**\n * Completion callback state.\n */\nexport interface AXPCompletionCallbackState {\n /**\n * Owner activity instance ID.\n */\n ownerInstanceId: string;\n\n /**\n * Child activity node ID.\n */\n childNodeId: string;\n\n /**\n * Method name (nullable).\n */\n methodName?: string | null;\n}\n\n/**\n * Variable (for activity context).\n */\nexport interface AXPActivityVariable {\n /**\n * Variable ID.\n */\n id: string;\n\n /**\n * Variable name.\n */\n name: string;\n\n /**\n * Type name.\n */\n typeName: string;\n\n /**\n * Is array flag.\n */\n isArray?: boolean;\n\n /**\n * Variable value (nullable).\n */\n value?: any | null;\n\n /**\n * Storage driver type name (nullable).\n */\n storageDriverTypeName?: string | null;\n}\n\n/**\n * Activity execution context state.\n */\nexport interface AXPActivityExecutionContextState {\n /**\n * Context ID (activity instance ID).\n */\n id: string;\n\n /**\n * Parent context ID (nullable).\n */\n parentContextId?: string | null;\n\n /**\n * Scheduled activity node ID.\n */\n scheduledActivityNodeId: string;\n\n /**\n * Owner activity node ID (nullable).\n */\n ownerActivityNodeId?: string | null;\n\n /**\n * Properties bag.\n */\n properties: Record<string, any>;\n\n /**\n * Activity state (evaluated properties) (nullable).\n */\n activityState?: Record<string, any> | null;\n\n /**\n * Dynamic variables.\n */\n dynamicVariables: AXPActivityVariable[];\n\n /**\n * Activity status.\n */\n status: AXPActivityStatus;\n\n /**\n * Is executing flag.\n */\n isExecuting: boolean;\n\n /**\n * Fault count.\n */\n faultCount: number;\n\n /**\n * Started at timestamp (ISO date-time).\n */\n startedAt: string;\n\n /**\n * Completed at timestamp (ISO date-time, nullable).\n */\n completedAt?: string | null;\n\n /**\n * Tag (nullable).\n */\n tag?: any | null;\n}\n\n/**\n * Workflow state (internal execution state).\n */\nexport interface AXPWorkflowState {\n /**\n * State ID.\n */\n id: string;\n\n /**\n * Workflow definition ID.\n */\n definitionId: string;\n\n /**\n * Workflow definition version.\n */\n definitionVersion: number;\n\n /**\n * Correlation ID (nullable).\n */\n correlationId?: string | null;\n\n /**\n * Workflow status.\n */\n status: AXPWorkflowStatus;\n\n /**\n * Workflow sub-status.\n */\n subStatus: AXPWorkflowSubStatus;\n\n /**\n * Bookmarks.\n */\n bookmarks: AXPBookmark[];\n\n /**\n * Incidents.\n */\n incidents: AXPActivityIncident[];\n\n /**\n * Fault (nullable).\n */\n fault?: AXPWorkflowFaultState | null;\n\n /**\n * Completion callbacks.\n */\n completionCallbacks: AXPCompletionCallbackState[];\n\n /**\n * Activity execution contexts.\n */\n activityExecutionContexts: AXPActivityExecutionContextState[];\n\n /**\n * Input data.\n */\n input: Record<string, any>;\n\n /**\n * Output data.\n */\n output: Record<string, any>;\n\n /**\n * Properties bag.\n */\n properties: Record<string, any>;\n\n /**\n * Created at timestamp (ISO date-time).\n */\n createdAt: string;\n\n /**\n * Updated at timestamp (ISO date-time).\n */\n updatedAt: string;\n\n /**\n * Finished at timestamp (ISO date-time, nullable).\n */\n finishedAt?: string | null;\n\n /**\n * Total number of activities/steps in the workflow (for progress display).\n */\n totalSteps?: number;\n}\n\n/**\n * Workflow instance (stored in database).\n * This matches the Elsa Workflow Instance schema for backend compatibility.\n */\nexport interface AXPWorkflowInstance {\n /**\n * Schema reference.\n */\n $schema?: string;\n\n /**\n * Unique instance ID.\n */\n id: string;\n\n /**\n * Workflow definition ID.\n */\n definitionId: string;\n\n /**\n * Workflow definition version ID.\n */\n definitionVersionId: string;\n\n /**\n * Workflow definition version number.\n */\n version: number;\n\n /**\n * Parent workflow instance ID (nullable, for child workflows).\n */\n parentWorkflowInstanceId?: string | null;\n\n /**\n * Workflow state (internal execution state).\n */\n workflowState: AXPWorkflowState;\n\n /**\n * Workflow status.\n */\n status: AXPWorkflowStatus;\n\n /**\n * Workflow sub-status.\n */\n subStatus: AXPWorkflowSubStatus;\n\n /**\n * Correlation ID (nullable).\n */\n correlationId?: string | null;\n\n /**\n * Instance name (nullable).\n */\n name?: string | null;\n\n /**\n * Incident count.\n */\n incidentCount: number;\n\n /**\n * Created at timestamp (ISO date-time).\n */\n createdAt: string;\n\n /**\n * Updated at timestamp (ISO date-time).\n */\n updatedAt: string;\n\n /**\n * Finished at timestamp (ISO date-time, nullable).\n */\n finishedAt?: string | null;\n\n /**\n * Entity reference ID (for linking workflow instances to business entities).\n */\n entityRefId?: string | null;\n\n /**\n * Entity reference type (e.g., 'HumanCapitalManagement.LeaveRequest').\n */\n entityRefType?: string | null;\n}\n","import type { AXPMultiLanguageString } from '../core/core.types';\nimport type { AXPCategoryEntity } from '../data/data.types';\nimport type { AXPProperty } from '../property/property.types';\nimport type { AXPWorkflowOutputProperty } from './workflow-definition.types';\n\n// ============================================\n// SIMPLIFIED ACTIVITY SYSTEM\n// ============================================\n\n/**\n * Type of task for inbox handling.\n * - 'human-task': Requires inbox - needs human interaction\n * - 'ui-activity': UI-only activity (no inbox) - immediate execution\n * - 'system-activity': System/backend activity (no inbox) - automated execution\n */\nexport type AXPTaskType = 'human-task' | 'ui-activity' | 'system-activity';\n\n/**\n * How the workflow engine should offer \"continue to next step?\" before an inline frontend activity.\n * Declared on {@link AXPActivityDefinition} and copied onto {@link AXPWorkflowTask} at runtime.\n */\nexport type AXPWorkflowContinuationBeforeInteractive =\n | 'default'\n /** Skip when opened from a task-board human-task primary action (e.g. start-fill, review). */\n | 'skip-when-chained-from-human-task'\n /** Skip for the natural assignee; initiator / reassign users still get the prompt (workflow-management). */\n | 'skip-for-assignee';\n\n/** Optional continuation UX metadata for an activity definition. */\nexport interface AXPWorkflowContinuationMetadata {\n beforeInteractive?: AXPWorkflowContinuationBeforeInteractive;\n}\n\n/**\n * Activity Category - Extends AXPCategoryEntity for consistency and performance\n *\n * Inherited properties from AXPCategoryEntity:\n * - id: string - Unique identifier\n * - title: string - Display name\n * - description?: string - Category description\n * - parentId?: string - Parent category ID\n * - childrenCount: number - Direct child categories count (enables lazy loading)\n * - itemsCount?: number - Direct activities count\n * - totalChildrenCount?: number - Total nested categories (optional, for analytics)\n * - totalItemsCount?: number - Total activities in tree (optional, for analytics)\n */\nexport interface AXPActivityCategory extends AXPCategoryEntity {\n // No additional properties needed - all inherited from AXPCategoryEntity\n // Use: childrenCount instead of hasChild\n // Use: itemsCount instead of hasActivity\n}\n\n/**\n * Lightweight category snapshot embedded in activity-definition records.\n */\nexport interface AXPActivityDefinitionCategoryRef {\n id: string;\n name: string;\n title: AXPMultiLanguageString;\n}\n\n/**\n * Activity Definition - Metadata for UI and tooling.\n * Contains all metadata needed for displaying activities in toolbox and designer.\n * The `name` property is used as the command key for execution.\n */\nexport interface AXPActivityDefinition {\n /**\n * Activity name - used as command key for execution.\n * This is the unique identifier for the activity.\n */\n name: string;\n\n /**\n * Activity type (e.g., \"workflow-activity:check-permission\").\n */\n type: string;\n\n /**\n * Display name for UI (plain or per-locale map).\n */\n title?: AXPMultiLanguageString;\n\n\n instanceTitle?: string;\n\n /**\n * Description of what the activity does (plain or per-locale map).\n */\n description?: AXPMultiLanguageString;\n\n /**\n * Category for grouping in toolbox.\n */\n category?: AXPActivityDefinitionCategoryRef;\n\n /**\n * Icon name or class.\n */\n icon?: string;\n\n /**\n * Where this activity should be executed.\n * - 'frontend': Execute in browser (UI activities, console, events)\n * - 'backend': Execute in backend (business logic, API calls)\n * - 'both': Execute in both frontend and backend (hybrid activities)\n *\n * Default: 'frontend'\n */\n executionMode?: 'frontend' | 'backend' | 'both';\n\n /**\n * Type of task for inbox handling.\n * - 'human-task': Requires inbox - needs human interaction\n * - 'ui-activity': UI-only activity (no inbox) - immediate execution\n * - 'system-activity': System/backend activity (no inbox) - automated execution\n *\n * Default: 'ui-activity' (for backward compatibility)\n */\n taskType?: AXPTaskType;\n\n /**\n * Input properties (form/schema for activity parameters).\n */\n inputs?: AXPProperty[];\n\n /**\n * Output properties (result shape + optional path/metadata).\n */\n outputs?: AXPWorkflowOutputProperty[];\n\n /**\n * Static outcomes (exit points).\n * Example: ['Done', 'Success', 'Failed']\n */\n outcomes?: string[];\n\n /**\n * Whether this activity is browsable in the toolbox.\n * Default: true\n */\n isBrowsable?: boolean;\n\n /**\n * Whether this activity is a container (can have children).\n * Default: false\n */\n isContainer?: boolean;\n\n /**\n * Continuation prompt behavior when this activity runs inline in the workflow manager.\n */\n workflowContinuation?: AXPWorkflowContinuationMetadata;\n}\n\n/**\n * Query result shape for activity-definition catalog endpoints.\n */\nexport interface AXPActivityDefinitionQueryResult {\n total: number;\n items: AXPActivityDefinition[];\n}\n\n// Note:\n// Previous versions defined dedicated activity result/command types here\n// (AXPActivityResult / AXPActivity) that wrapped output and outcome.\n// Activities are now modeled directly as AXPCommand with outcome stored in\n// AXPExecuteCommandResult.metadata.outcome.\n","//#region ---- Workflow contracts ----\n\nexport * from './workflow-definition.types';\nexport * from './workflow-instance.types';\nexport * from './activity.types';\n\n//#endregion\n","//#region ---- System status types ----\n\n/** Standard system status types used across the platform. */\nexport enum AXPSystemStatusType {\n Todo = 'todo',\n InProgress = 'in-progress',\n InReview = 'in-review',\n Open = 'open',\n Closed = 'closed',\n Blocked = 'blocked',\n Done = 'done',\n Cancelled = 'cancelled',\n Draft = 'draft',\n PendingReview = 'pending-review',\n WaitingSignOff = 'waiting-sign-off',\n WaitingApproval = 'waiting-approval',\n Approved = 'approved',\n Published = 'published',\n Archived = 'archived',\n Rejected = 'rejected',\n Active = 'active',\n Inactive = 'inactive',\n Pending = 'pending',\n Completed = 'completed',\n Suspended = 'suspended',\n Failed = 'failed',\n Review = 'review',\n Expired = 'expired',\n}\n\n//#endregion\n","/**\n * Status Definition Types\n * Defines the structure for status definitions and their transitions\n */\n\n//#region ---- Status Definition Contracts ----\n\n/**\n * Status definition with metadata\n */\nexport interface AXPStatusDefinition {\n /**\n * Unique identifier for the status\n */\n name: string;\n\n /**\n * Display title for the status\n */\n title: string;\n\n /**\n * Color code or semantic color name for the status\n */\n color: string;\n\n /**\n * Optional icon class (e.g., 'fa-light fa-check')\n */\n icon?: string;\n\n /**\n * Optional description\n */\n description?: string;\n\n /**\n * Optional order for sorting\n */\n order?: number;\n\n /**\n * Whether this is a final status (end state)\n */\n isFinal?: boolean;\n\n /**\n * Whether this is an initial status (starting state)\n */\n isInitial?: boolean;\n\n /**\n * Whether list views should be automatically generated for this status\n */\n generateView?: boolean;\n}\n\n/**\n * Status transition definition\n */\nexport interface AXPStatusTransition {\n /**\n * Source status name\n */\n from: string;\n\n /**\n * Target status name\n */\n to: string;\n\n /**\n * Optional condition expression to evaluate before allowing transition\n * Uses expression evaluator syntax (e.g., \"{{user.isAdmin}}\", \"{{item.priority > 5}}\")\n */\n condition?: string;\n\n /**\n * Optional display title for the transition\n */\n title?: string;\n\n /**\n * Optional description\n */\n description?: string;\n\n /**\n * Optional command descriptor to execute for this transition\n * If not provided, defaults to Entity:UpdateStatus with entity, id, and status\n */\n command?: {\n name: string;\n options?: Record<string, unknown>;\n };\n\n /**\n * Whether this transition is automatic (no user action required)\n */\n isAutomatic?: boolean;\n\n /**\n * Whether this transition requires approval\n */\n requiresApproval?: boolean;\n}\n\n/**\n * Abstract class for status providers\n * Similar to AXPTaskBadgeProvider pattern\n */\nexport abstract class AXPStatusProvider {\n /**\n * Unique key for the status (e.g., 'task-management.status')\n */\n abstract readonly key: string;\n\n /**\n * List of available status definitions\n */\n abstract readonly statuses: AXPStatusDefinition[];\n\n /**\n * List of allowed transitions between statuses\n */\n abstract readonly transitions: AXPStatusTransition[];\n\n /**\n * Optional default status name\n */\n abstract readonly defaultStatus?: string;\n}\n\n//#endregion\n","import type { AXStyleColorType } from '../core/shims.types';\nimport { AXPSystemStatusType } from './status.types';\nimport { AXPStatusDefinition } from './status-definition.types';\n\nconst i18n = (key: string) => `@general:statuses.${key}`;\n\n/**\n * Standard system status definitions\n * Provides consistent status definitions across the platform\n * Uses AXPStatusDefinition interface from status-definition.types.ts\n */\nexport const AXPSystemStatuses = Object.freeze({\n Open: {\n name: AXPSystemStatusType.Open,\n title: i18n('open.title'),\n icon: 'fa-light fa-circle',\n color: 'secondary',\n description: i18n('open.description'),\n order: 1,\n isInitial: true,\n isFinal: false,\n },\n Closed: {\n name: AXPSystemStatusType.Closed,\n title: i18n('closed.title'),\n icon: 'fa-light fa-circle',\n color: 'danger',\n description: i18n('closed.description'),\n order: 2,\n isInitial: false,\n isFinal: true,\n },\n Todo: {\n name: AXPSystemStatusType.Todo,\n title: i18n('todo.title'),\n icon: 'fa-light fa-circle',\n color: 'secondary',\n description: i18n('todo.description'),\n order: 1,\n isInitial: true,\n isFinal: false,\n },\n InProgress: {\n name: AXPSystemStatusType.InProgress,\n title: i18n('in-progress.title'),\n icon: 'fa-light fa-play',\n color: 'info',\n description: i18n('in-progress.description'),\n order: 2,\n isInitial: false,\n isFinal: false,\n },\n InReview: {\n name: AXPSystemStatusType.InReview,\n title: i18n('in-review.title'),\n icon: 'fa-light fa-eye',\n color: 'info',\n description: i18n('in-review.description'),\n order: 3,\n isInitial: false,\n isFinal: false,\n },\n Blocked: {\n name: AXPSystemStatusType.Blocked,\n title: i18n('blocked.title'),\n icon: 'fa-light fa-ban',\n color: 'danger',\n description: i18n('blocked.description'),\n order: 4,\n isInitial: false,\n isFinal: false,\n },\n Done: {\n name: AXPSystemStatusType.Done,\n title: i18n('done.title'),\n icon: 'fa-light fa-check-circle',\n color: 'success',\n description: i18n('done.description'),\n order: 5,\n isInitial: false,\n isFinal: true,\n },\n Cancelled: {\n name: AXPSystemStatusType.Cancelled,\n title: i18n('cancelled.title'),\n icon: 'fa-light fa-times-circle',\n color: 'neutral',\n description: i18n('cancelled.description'),\n order: 6,\n isInitial: false,\n isFinal: true,\n },\n Draft: {\n name: AXPSystemStatusType.Draft,\n title: i18n('draft.title'),\n icon: 'fa-light fa-file-pen',\n color: 'neutral',\n description: i18n('draft.description'),\n order: 1,\n isInitial: true,\n isFinal: false,\n },\n PendingReview: {\n name: AXPSystemStatusType.PendingReview,\n title: i18n('pending-review.title'),\n icon: 'fa-light fa-clock',\n color: 'warning',\n description: i18n('pending-review.description'),\n order: 2,\n isInitial: false,\n isFinal: false,\n },\n WaitingSignOff: {\n name: AXPSystemStatusType.WaitingSignOff,\n title: i18n('waiting-sign-off.title'),\n icon: 'fa-light fa-clock',\n color: 'warning',\n description: i18n('waiting-sign-off.description'),\n order: 3,\n isInitial: false,\n isFinal: false,\n },\n WaitingApproval: {\n name: AXPSystemStatusType.WaitingApproval,\n title: i18n('waiting-approval.title'),\n icon: 'fa-light fa-clock',\n color: 'warning',\n description: i18n('waiting-approval.description'),\n order: 1,\n isInitial: true,\n isFinal: false,\n },\n Approved: {\n name: AXPSystemStatusType.Approved,\n title: i18n('approved.title'),\n icon: 'fa-light fa-check-circle',\n color: 'success',\n description: i18n('approved.description'),\n order: 3,\n isInitial: false,\n isFinal: false,\n },\n Published: {\n name: AXPSystemStatusType.Published,\n title: i18n('published.title'),\n icon: 'fa-light fa-globe',\n color: 'primary',\n description: i18n('published.description'),\n order: 4,\n isInitial: false,\n isFinal: false,\n },\n Archived: {\n name: AXPSystemStatusType.Archived,\n title: i18n('archived.title'),\n icon: 'fa-light fa-archive',\n color: 'danger',\n description: i18n('archived.description'),\n order: 5,\n isInitial: false,\n isFinal: true,\n },\n Rejected: {\n name: AXPSystemStatusType.Rejected,\n title: i18n('rejected.title'),\n icon: 'fa-light fa-times-circle',\n color: 'danger',\n description: i18n('rejected.description'),\n order: 6,\n isInitial: false,\n isFinal: true,\n },\n Active: {\n name: AXPSystemStatusType.Active,\n title: i18n('active.title'),\n icon: 'fa-light fa-check-circle',\n color: 'success',\n description: i18n('active.description'),\n order: 1,\n isInitial: false,\n isFinal: false,\n },\n Inactive: {\n name: AXPSystemStatusType.Inactive,\n title: i18n('inactive.title'),\n icon: 'fa-light fa-circle',\n color: 'secondary',\n description: i18n('inactive.description'),\n order: 2,\n isInitial: false,\n isFinal: false,\n },\n Pending: {\n name: AXPSystemStatusType.Pending,\n title: i18n('pending.title'),\n icon: 'fa-light fa-clock',\n color: 'warning',\n description: i18n('pending.description'),\n order: 1,\n isInitial: true,\n isFinal: false,\n },\n Completed: {\n name: AXPSystemStatusType.Completed,\n title: i18n('completed.title'),\n icon: 'fa-light fa-check-circle',\n color: 'success',\n description: i18n('completed.description'),\n order: 10,\n isInitial: false,\n isFinal: true,\n },\n Suspended: {\n name: AXPSystemStatusType.Suspended,\n title: i18n('suspended.title'),\n icon: 'fa-light fa-pause-circle',\n color: 'neutral',\n description: i18n('suspended.description'),\n order: 5,\n isInitial: false,\n isFinal: false,\n },\n Failed: {\n name: AXPSystemStatusType.Failed,\n title: i18n('failed.title'),\n icon: 'fa-light fa-xmark-circle',\n color: 'danger',\n description: i18n('failed.description'),\n order: 10,\n isInitial: false,\n isFinal: true,\n },\n\n Review: {\n name: AXPSystemStatusType.Review,\n title: i18n('review.title'),\n icon: 'fa-light fa-eye',\n color: 'info',\n description: i18n('review.description'),\n order: 3,\n },\n Expired: {\n name: AXPSystemStatusType.Expired,\n title: i18n('expired.title'),\n icon: 'fa-light fa-clock',\n color: 'danger',\n description: i18n('expired.description'),\n order: 10,\n isInitial: false,\n isFinal: true,\n },\n} as const satisfies Record<string, AXPStatusDefinition>);\n\n/**\n * Get system status definition by type\n * @param type - Status type\n * @returns System status definition or undefined\n */\nexport function getSystemStatus(type: AXPSystemStatusType): AXPStatusDefinition {\n return Object.values(AXPSystemStatuses).find(status => status.name === type) as AXPStatusDefinition;\n}\n\n/**\n * Resolves the visual appearance (color and icon) for status\n * using the system statuses from the core module.\n * @param statusType - Status type string\n * @returns Color and icon for the status\n */\nexport function resolveStatusLook(statusType: string): { color: AXStyleColorType; icon: string } {\n const systemStatusType = statusType as AXPSystemStatusType;\n if (systemStatusType) {\n const systemStatus = getSystemStatus(systemStatusType);\n if (systemStatus) {\n return {\n color: systemStatus.color as AXStyleColorType,\n icon: systemStatus.icon || ''\n };\n }\n }\n\n return {\n color: 'secondary' as AXStyleColorType,\n icon: ''\n };\n}\n\n/**\n * Resolves the complete status information (title, description, icon, color) for a status\n * using the system statuses from the core module.\n * @param statusType - Status type string\n * @returns Complete status information as AXPStatusDefinition\n */\nexport function getStatusInfo(statusType: string): AXPStatusDefinition {\n const systemStatusType = statusType as AXPSystemStatusType;\n if (systemStatusType) {\n const systemStatus = getSystemStatus(systemStatusType);\n if (systemStatus) {\n return systemStatus;\n }\n }\n\n return {\n name: statusType,\n title: statusType,\n description: `Status: ${statusType}`,\n icon: '',\n color: 'secondary'\n };\n}\n\n/**\n * Get system status definition directly (no conversion needed since it's already AXPStatusDefinition)\n * @param statusType - Status type\n * @param overrides - Optional overrides for the status definition\n * @returns AXPStatusDefinition\n */\nexport function systemStatusToDefinition(\n statusType: AXPSystemStatusType,\n overrides?: Partial<AXPStatusDefinition>\n): AXPStatusDefinition {\n const systemStatus = getSystemStatus(statusType);\n if (!systemStatus) {\n throw new Error(`System status ${statusType} not found`);\n }\n\n return {\n ...systemStatus,\n ...overrides,\n };\n}\n","//#region ---- Status contracts ----\n\nexport * from './status.types';\nexport * from './status-definition.types';\nexport * from './statuses.types';\n\n//#endregion\n","//#region ---- Address Data Types ----\n\n/**\n * Address mode type - determines the display mode of the address widget\n * - simple: single text input for full address (one line)\n * - popup: readonly summary + button to edit in popup dialog\n * - expandable: expandable panel — collapsed shows full address, expanded shows inline form\n */\nexport type AXPAddressMode = 'simple' | 'popup' | 'expandable';\n\n/**\n * Address label option\n */\nexport interface AXPAddressLabel {\n id: string;\n name: string;\n}\n\n/**\n * Address data structure\n */\nexport interface AXPAddressData {\n street1: string;\n street2?: string;\n postalCode?: string;\n coordinates?: string; // lat,lng format\n full: string; // formatted full address\n label?: string; // if hasLabel enabled\n // Exposed fields from lookup widgets\n country?: { id?: string; title?: string };\n state?: { id?: string; title?: string };\n city?: { id?: string; title?: string };\n}\n\n//#endregion\n","import type { AXPMetaData } from '../core/core.types';\n\nexport enum AXPFileStorageStatus {\n Temporary = 'temporary', // File is not yet associated with a parent entity\n Committed = 'committed', // File is fully associated and in use\n PendingDeletion = 'pendingDeletion', // File is marked for deletion but not yet removed\n Archived = 'archived', // File is archived and no longer actively used\n Error = 'error', // File encountered an error during processing\n}\n\n/**\n * Interface representing a file storage request in the Acorex platform.\n */\nexport interface AXPFileStorageCreateRequest {\n /**\n * The file to be stored.\n */\n file: File;\n\n /**\n * The name of the file.\n */\n name?: string;\n\n /**\n * The unique identifier of referenced entity.\n */\n refId: string;\n /**\n * The type of the referenced entity.\n */\n refType: string;\n /**\n * The category of the file. profile-picture, company-logo, policy, document, etc.\n */\n category: string;\n /**\n * The folder path where the file should be stored.\n * If null, the service will resolve the path based on metadata, user, tenant, or default rules.\n */\n path?: string;\n /**\n * Metadata associated with the file.\n */\n metadata?: AXPMetaData;\n\n /**\n * Indicates whether the file is primary or not.\n */\n isPrimary?: boolean;\n\n /**\n * Indicates the status of the file.\n */\n status?: AXPFileStorageStatus;\n}\n\nexport interface AXPFileStorageUpdateRequest {\n /**\n * The unique identifier for the stored file.\n */\n fileId: string;\n /**\n * The folder path where the file should be stored.\n * If null, the service will resolve the path based on metadata, user, tenant, or default rules.\n */\n path?: string;\n /**\n * The name of the file.\n */\n name?: string;\n /**\n * Metadata associated with the file.\n */\n metadata: AXPMetaData;\n\n /**\n * Indicates whether the file is primary or not.\n */\n isPrimary?: boolean;\n}\n\n/**\n * Represents information about a file stored in the AXP file storage system.\n */\nexport interface AXPFileStorageInfo {\n /**\n * The unique identifier for the stored file.\n */\n id?: string;\n /**\n * The unique identifier for the stored file.\n */\n fileId: string;\n\n /**\n * The unique identifier of referenced entity.\n */\n refId: string;\n /**\n * The type of the referenced entity.\n */\n refType: string;\n /**\n * The category of the file. profile-picture, company-logo, policy, document, etc.\n */\n category: string;\n\n /**\n * The URL where the file can be accessed.\n */\n url?: string;\n\n /**\n * The size of the file in bytes.\n */\n size: number;\n\n /**\n * The name of the file.\n */\n name?: string;\n\n /**\n * The MIME type of the file.\n */\n mimeType: string;\n\n /**\n * The date and time when the file was uploaded.\n */\n uploadedAt: Date;\n\n /**\n * Indicates whether the file is public or private.\n */\n isPublic: boolean;\n\n /**\n * Indicates whether the file is primary or not.\n */\n isPrimary?: boolean;\n\n status: AXPFileStorageStatus; // Updated to use enum\n\n binary: File;\n}\n\nexport interface AXPFileManyStorageInfo {\n /**\n * The unique identifier for the stored file.\n */\n id?: string;\n /**\n * The unique identifier for the stored file.\n */\n fileId: string;\n /**\n * The unique identifier of referenced entity.\n */\n refId: string;\n /**\n * The type of the referenced entity.\n */\n refType: string;\n /**\n * The size of the file in bytes.\n */\n size: number;\n\n /**\n * The name of the file.\n */\n name?: string;\n\n /**\n * The URL where the file can be accessed.\n */\n url?: string;\n\n /**\n * Optional title (e.g. for display in file list).\n */\n title?: string;\n\n /**\n * Optional description (e.g. for display in file list).\n */\n description?: string;\n}\n\n/**\n * Represents information about a file stored in the AXP file storage system.\n */\nexport interface AXPFileStorageFindRequest {\n /**\n * The unique identifier of referenced entity.\n */\n refId?: string;\n /**\n * The type of the referenced entity.\n */\n refType?: string;\n /**\n * The category of the file. profile-picture, company-logo, policy, document, etc.\n */\n category?: string;\n /**\n * The MIME type of the file.\n */\n mimeType?: string;\n /**\n * Indicates whether the file is public or private.\n */\n isPublic?: boolean;\n /**\n * Indicates whether the file is primary or not.\n */\n isPrimary?: boolean;\n /**\n * The date and time range when the file was uploaded.\n */\n uploadedAtRange?: { from: Date; to: Date };\n}\n","//#region ---- AI output contract types ----\n\n/** JSON data primitive for the specialist final deliverable. */\nexport type AXPAgentOutputKind = 'string' | 'object' | 'array';\n\n/** When `kind` is `object`, controls how the parsed value maps into chat transcript segments. */\nexport type AXPOutputTranscriptSegmentId = 'text' | 'node' | 'followUp' | 'file';\n\n//#endregion\n","//#region ---- Spreadsheet data types ----\n\nexport type AXPSpreadsheetCellValue = string | null;\n\n/** Matrix data: row id → column id → cell value id */\nexport type AXPSpreadsheetData = Record<string, Record<string, AXPSpreadsheetCellValue>>;\n\n//#endregion\n","//#region ---- Domain contracts ----\n\nexport * from './address.types';\nexport * from './file-storage.types';\nexport * from './metadata.types';\nexport * from './ai-output.types';\nexport * from './spreadsheet.types';\n\n//#endregion\n","//#region ---- Platform core datasource keys ----\n\n/** Platform core datasource registry names. */\nexport const AXPPlatformCoreDataSourceKeys = {\n ModuleManifests: 'platform-module-manifests',\n CatalogScopes: 'platform-catalog-scopes',\n} as const;\n\n//#endregion\n","//#region ---- Regional setting keys ----\n\n/**\n * Regional and locale-related setting keys used by platform widgets and components.\n * Most values use the `LocaleManagement:Setting:Regional.*` prefix; definitions live in the locale-management module where applicable.\n */\nexport enum AXPRegionalSetting {\n LocaleProfile = 'LocaleManagement:Setting:Regional.LocaleProfile',\n TimeZone = 'LocaleManagement:Setting:Regional.TimeZone',\n Language = 'LocaleManagement:Setting:Regional.Language',\n Country = 'LocaleManagement:Setting:Regional.Country',\n Calendar = 'LocaleManagement:Setting:Regional.Calendar',\n /** User-selected holiday calendars shown on the task board and other calendar views. */\n CalendarEvents = 'LocaleManagement:Setting:Regional.CalendarEvents',\n FirstDayOfWeek = 'LocaleManagement:Setting:Regional.FirstDayOfWeek',\n WeekendDays = 'LocaleManagement:Setting:Regional.WeekendDays',\n ShortDate = 'LocaleManagement:Setting:Regional.ShortDate',\n MediumDate = 'LocaleManagement:Setting:Regional.MediumDate',\n LongDate = 'LocaleManagement:Setting:Regional.LongDate',\n ShortTime = 'LocaleManagement:Setting:Regional.ShortTime',\n MediumTime = 'LocaleManagement:Setting:Regional.MediumTime',\n LongTime = 'LocaleManagement:Setting:Regional.LongTime',\n MeasurementUnits = 'LocaleManagement:Setting:Regional.MeasurementUnits',\n TemperatureUnits = 'LocaleManagement:Setting:Regional.TemperatureUnits',\n DistanceUnits = 'LocaleManagement:Setting:Regional.DistanceUnits',\n WeightUnits = 'LocaleManagement:Setting:Regional.WeightUnits',\n VolumeUnits = 'LocaleManagement:Setting:Regional.VolumeUnits',\n SpeedUnits = 'LocaleManagement:Setting:Regional.SpeedUnits',\n AreaUnits = 'LocaleManagement:Setting:Regional.AreaUnits',\n /** Default multi-language behavior for standard text field names; defined in locale-management `AXMRegionalSettingProvider`. */\n MultiLanguageSupport = 'LocaleManagement:Setting:Regional.MultiLanguageSupport',\n}\n\n//#endregion\n","/** Registration key for {@link AXPPreviewWidgetFieldCommand}; lives in contracts so consumers can reference it without importing the command implementation. */\nexport const AXP_PREVIEW_WIDGET_FIELD_COMMAND_KEY = 'Widget:Preview';\n","//#region ---- Registry keys ----\n\nexport * from './platform-core-datasource.keys';\nexport * from './regional-settings.keys';\nexport * from './preview-widget-field.command.key';\n\n//#endregion\n","//#region ---- Mock data shims (no @acorex/core, no @acorex/platform/core) ----\n\nimport type { AXPMultiLanguageString } from '../core/core.types';\n\n/**\n * Builds a locale map for mock seed data (`en-US` + `fa-IR`).\n * Standalone copy for connectivity mocks — no dependency on @acorex/core/translation.\n */\nexport function createMultiLanguageString(\n enUS: string,\n faIR?: string,\n): Record<string, string> {\n return {\n 'en-US': enUS,\n 'fa-IR': faIR ?? enUS,\n };\n}\n\n/**\n * Resolves {@link AXPMultiLanguageString} to a plain string for the given locale.\n * Standalone copy for connectivity mocks — no dependency on @acorex/core/translation.\n */\nexport function resolveMultiLanguageString(\n value: AXPMultiLanguageString | null | undefined,\n locale: string,\n): string {\n if (value == null || value === '') {\n return '';\n }\n\n if (typeof value === 'string') {\n return value;\n }\n\n const direct = value[locale];\n if (typeof direct === 'string' && direct.length > 0) {\n return direct;\n }\n\n const enUS = value['en-US'];\n if (typeof enUS === 'string' && enUS.length > 0) {\n return enUS;\n }\n\n for (const entry of Object.values(value)) {\n if (typeof entry === 'string' && entry.length > 0) {\n return entry;\n }\n }\n\n return '';\n}\n\n/**\n * Lightweight data helpers for mock seed files.\n * Standalone copy for connectivity mocks — no dependency on @acorex/platform/core.\n */\nexport class AXPDataGenerator {\n static uuid(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (char) => {\n const random = (Math.random() * 16) | 0;\n const value = char === 'x' ? random : (random & 0x3) | 0x8;\n return value.toString(16);\n });\n }\n\n static number(max: number): number;\n static number(min: number, max: number): number;\n static number(...args: number[]): number {\n let min = 0;\n let max = 100;\n if (args.length === 1) max = args[0];\n if (args.length === 2) {\n min = args[0];\n max = args[1];\n }\n return Math.floor(Math.random() * (max - min + 1)) + min;\n }\n\n static date(): Date;\n static date(start: Date): Date;\n static date(start: Date, end: Date): Date;\n static date(...args: Date[]): Date {\n let start = new Date(2000, 0, 1);\n let end = new Date();\n\n if (args.length === 1) {\n start = args[0];\n } else if (args.length === 2) {\n start = args[0];\n end = args[1];\n }\n\n const startTime = start.getTime();\n const endTime = end.getTime();\n return new Date(startTime + Math.random() * (endTime - startTime));\n }\n\n static array<T>(length = 5, generator: () => T): T[] {\n return Array.from({ length }, generator);\n }\n\n static pick<T>(items: T[]): T;\n static pick<T>(items: T[], count: number): T[];\n static pick<T>(...args: unknown[]): T | T[] {\n if (args.length < 1) {\n throw new Error('Invalid parameters');\n }\n const items = args[0] as T[];\n const count = (args[1] as number | undefined) ?? 1;\n if (count < 1) {\n throw new Error('Count must be at least 1');\n }\n\n if (count >= items.length) {\n return [...items].sort(() => Math.random() - 0.5);\n }\n\n const shuffled = items.slice();\n for (let i = shuffled.length - 1; i > 0; i -= 1) {\n const j = Math.floor(Math.random() * (i + 1));\n [shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]];\n }\n return count === 1 ? shuffled.slice(0, count)[0] : shuffled.slice(0, count);\n }\n\n static string(length = 10): string {\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n return Array.from({ length }, () => chars.charAt(Math.floor(Math.random() * chars.length))).join('');\n }\n\n static boolean(): boolean {\n return Math.random() >= 0.5;\n }\n\n static item<T>(array: T[] = []): T | undefined {\n return array.length > 0 ? array[Math.floor(Math.random() * array.length)] : undefined;\n }\n\n static color(format: 'hsl' | 'rgb' | 'hex' = 'hex'): string {\n const h = Math.floor(Math.random() * 360);\n const s = Math.floor(Math.random() * 20) + 60;\n const l = Math.floor(Math.random() * 20) + 40;\n\n if (format === 'hsl') {\n return `hsl(${h}, ${s}%, ${l}%)`;\n }\n\n const { r, g, b } = this.hslToRgb(h, s / 100, l / 100);\n\n if (format === 'rgb') {\n return `rgb(${r}, ${g}, ${b})`;\n }\n\n const toHex = (val: number) => val.toString(16).padStart(2, '0');\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n }\n\n private static hslToRgb(h: number, s: number, l: number): { r: number; g: number; b: number } {\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1));\n const m = l - c / 2;\n let r = 0;\n let g = 0;\n let b = 0;\n\n if (h < 60) [r, g, b] = [c, x, 0];\n else if (h < 120) [r, g, b] = [x, c, 0];\n else if (h < 180) [r, g, b] = [0, c, x];\n else if (h < 240) [r, g, b] = [0, x, c];\n else if (h < 300) [r, g, b] = [x, 0, c];\n else [r, g, b] = [c, 0, x];\n\n return {\n r: Math.round((r + m) * 255),\n g: Math.round((g + m) * 255),\n b: Math.round((b + m) * 255),\n };\n }\n\n static alphanumeric(length = 10): string {\n const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\n return Array.from({ length }, () => chars.charAt(Math.floor(Math.random() * chars.length))).join('');\n }\n\n static alphabet(length = 10): string {\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\n return Array.from({ length }, () => chars.charAt(Math.floor(Math.random() * chars.length))).join('');\n }\n\n static phone(): string {\n const areaCode = this.number(100, 999);\n const exchangeCode = this.number(100, 999);\n const lineNumber = this.number(1000, 9999);\n return `${areaCode}-${exchangeCode}-${lineNumber}`;\n }\n\n static firstName(): string {\n const firstNames = ['John', 'Allen', 'Jak', 'Rose', 'Kate', 'Liam', 'Olivia', 'Noah', 'Emma', 'Ava'];\n return this.pick(firstNames);\n }\n\n static lastName(): string {\n const lastNames = ['Gates', 'Jonsen', 'Smith', 'Ford', 'Jakson', 'Brown', 'Johnson', 'Williams', 'Jones', 'Garcia'];\n return this.pick(lastNames);\n }\n\n static email(): string;\n static email(firstName: string, lastName: string): string;\n static email(...args: string[]): string {\n const domains = ['gmail.com', 'yahoo.com', 'outlook.com', 'example.com'];\n const domain = this.pick(domains);\n const separator = this.pick(['.', '_', '']);\n const randomSuffix = this.boolean() ? this.number(1, 99).toString() : '';\n\n if (args.length === 2) {\n const firstName = args[0].toLowerCase();\n const lastName = args[1].toLowerCase();\n return `${firstName}${separator}${lastName}${randomSuffix}@${domain}`;\n }\n\n const firstName = this.firstName().toLowerCase();\n const lastName = this.lastName().toLowerCase();\n return `${firstName}${separator}${lastName}${randomSuffix}@${domain}`;\n }\n\n static country(): string {\n const countries = ['USA', 'Canada', 'Mexico', 'Germany', 'France', 'Japan', 'Australia'];\n return this.pick(countries);\n }\n\n static city(): string {\n const cities = ['Los Angeles', 'Toronto', 'Vancouver', 'Berlin', 'Paris', 'Tokyo', 'Sydney'];\n return this.pick(cities);\n }\n\n static state(): string {\n const states = ['NY', 'CA', 'TX', 'ON', 'BC', 'NSW', 'BER', 'IDF', 'TYO'];\n return this.pick(states);\n }\n\n static address(): string {\n const streets = ['Main St', 'High St', 'Maple Ave', 'Oak St', 'Pine St', 'Cedar St'];\n const streetNumber = this.number(100, 9999);\n const street = this.pick(streets);\n const city = this.city();\n const state = this.state();\n const zip = this.number(10000, 99999);\n const country = this.country();\n return `${streetNumber} ${street}, ${city}, ${state} ${zip}, ${country}`;\n }\n\n static avatar(): string {\n return `https://avatar.iran.liara.run/public/${this.pick([35, 22, 16, 6, 31])}`;\n }\n}\n\n//#endregion\n","//#region ---- Mock shims ----\n\nexport * from './mock-data.shims';\n\n//#endregion\n","//#region ---- Integration connection status ----\n\nexport const AXP_INTEGRATION_CONNECTION_STATUS = {\n NotConnected: 'NotConnected',\n PendingAuthorization: 'PendingAuthorization',\n Connected: 'Connected',\n Expired: 'Expired',\n RefreshRequired: 'RefreshRequired',\n Invalid: 'Invalid',\n Revoked: 'Revoked',\n Disabled: 'Disabled',\n Error: 'Error',\n} as const;\n\nexport type AXPIntegrationConnectionStatus =\n (typeof AXP_INTEGRATION_CONNECTION_STATUS)[keyof typeof AXP_INTEGRATION_CONNECTION_STATUS];\n\n//#endregion\n\n//#region ---- Integration connection scope ----\n\nexport const AXP_INTEGRATION_CONNECTION_SCOPE = {\n User: 'user',\n Tenant: 'tenant',\n} as const;\n\nexport type AXPIntegrationConnectionScope =\n (typeof AXP_INTEGRATION_CONNECTION_SCOPE)[keyof typeof AXP_INTEGRATION_CONNECTION_SCOPE];\n\n//#endregion\n\n//#region ---- Integration auth method types ----\n\nexport const AXP_INTEGRATION_AUTH_METHOD_TYPE = {\n OAuth2: 'oauth2',\n Pat: 'pat',\n Basic: 'basic',\n ApiToken: 'apiToken',\n} as const;\n\nexport type AXPIntegrationAuthMethodType =\n (typeof AXP_INTEGRATION_AUTH_METHOD_TYPE)[keyof typeof AXP_INTEGRATION_AUTH_METHOD_TYPE];\n\n//#endregion\n\n//#region ---- Integration categories ----\n\nexport const AXP_INTEGRATION_CATEGORY = {\n DevTools: 'dev-tools',\n Messaging: 'messaging',\n Productivity: 'productivity',\n Identity: 'identity',\n Storage: 'storage',\n Other: 'other',\n} as const;\n\nexport type AXPIntegrationCategory =\n (typeof AXP_INTEGRATION_CATEGORY)[keyof typeof AXP_INTEGRATION_CATEGORY];\n\n//#endregion\n\n//#region ---- Integration capabilities ----\n\nexport const AXP_INTEGRATION_CAPABILITY = {\n Sync: 'sync',\n Search: 'search',\n Import: 'import',\n Export: 'export',\n Webhooks: 'webhooks',\n IssueTracking: 'issue-tracking',\n Messaging: 'messaging',\n FileStorage: 'file-storage',\n Calendar: 'calendar',\n Identity: 'identity',\n TimeLogging: 'time-logging',\n CustomActions: 'custom-actions',\n} as const;\n\nexport type AXPIntegrationCapability =\n (typeof AXP_INTEGRATION_CAPABILITY)[keyof typeof AXP_INTEGRATION_CAPABILITY];\n\n//#endregion\n","import type {\n AXPIntegrationAuthMethodType,\n AXPIntegrationConnectionScope,\n AXPIntegrationConnectionStatus,\n} from './integration-status.constants';\n\n//#region ---- Safe connection DTO (no secrets) ----\n\n/**\n * Connection details safe for queries and UI responses.\n * Never includes access tokens, passwords, or refresh tokens.\n */\nexport interface AXPSafeIntegrationConnectionDto {\n id: string;\n providerId: string;\n connectionScope: AXPIntegrationConnectionScope;\n connectionKey: string;\n displayName: string;\n authMethodType: AXPIntegrationAuthMethodType;\n status: AXPIntegrationConnectionStatus;\n instanceUrl?: string | null;\n externalAccountId?: string | null;\n externalAccountName?: string | null;\n grantedScopes?: string[] | null;\n expiresAt?: string | null;\n lastConnectedAt?: string | null;\n lastValidatedAt?: string | null;\n lastSyncAt?: string | null;\n lastErrorCode?: string | null;\n lastErrorMessage?: string | null;\n isRevoked: boolean;\n isDisabled: boolean;\n config?: Record<string, unknown> | null;\n hasSecret: boolean;\n secretPreview?: string | null;\n}\n\n//#endregion\n\n//#region ---- Provider list item (public metadata) ----\n\nexport interface AXPIntegrationProviderListItemDto {\n id: string;\n module: string;\n displayName: string;\n description?: string;\n icon?: string;\n category: string;\n capabilities: string[];\n connectionScopes: AXPIntegrationConnectionScope[];\n allowMultipleConnections: boolean;\n authMethodTypes: AXPIntegrationAuthMethodType[];\n isConnected: boolean;\n connectionCount: number;\n}\n\n//#endregion\n\n//#region ---- Validation result ----\n\nexport interface AXPIntegrationValidationResult {\n valid: boolean;\n status?: AXPIntegrationConnectionStatus;\n externalAccountId?: string;\n externalAccountName?: string;\n grantedScopes?: string[];\n expiresAt?: string;\n errorCode?: string;\n errorMessage?: string;\n}\n\n//#endregion\n","import type {\n AXPIntegrationAuthMethodType,\n AXPIntegrationCapability,\n AXPIntegrationCategory,\n AXPIntegrationConnectionScope,\n} from './integration-status.constants';\nimport type { AXPIntegrationValidationResult } from './integration-connection.safe-types';\n\n//#region ---- Auth field schema (provider-neutral, no widget-core dependency) ----\n\nexport interface AXPIntegrationAuthFieldDefinition {\n type: string;\n path?: string;\n name?: string;\n visible?: boolean;\n options?: Record<string, unknown>;\n layout?: Record<string, unknown>;\n children?: AXPIntegrationAuthFieldDefinition[];\n}\n\n//#endregion\n\n//#region ---- Auth method definitions ----\n\nexport interface AXPIntegrationOAuth2AuthMethodDefinition {\n type: 'oauth2';\n label: string;\n usesRedirect: boolean;\n supportsRefresh: boolean;\n supportsRevoke: boolean;\n supportsValidation: boolean;\n defaultScopes?: string[];\n fields?: AXPIntegrationAuthFieldDefinition[];\n}\n\nexport interface AXPIntegrationPatAuthMethodDefinition {\n type: 'pat';\n label: string;\n supportsValidation: boolean;\n fields: AXPIntegrationAuthFieldDefinition[];\n}\n\nexport interface AXPIntegrationBasicAuthMethodDefinition {\n type: 'basic';\n label: string;\n supportsValidation: boolean;\n fields: AXPIntegrationAuthFieldDefinition[];\n}\n\nexport interface AXPIntegrationApiTokenAuthMethodDefinition {\n type: 'apiToken';\n label: string;\n supportsValidation: boolean;\n fields: AXPIntegrationAuthFieldDefinition[];\n}\n\nexport type AXPIntegrationAuthMethodDefinition =\n | AXPIntegrationOAuth2AuthMethodDefinition\n | AXPIntegrationPatAuthMethodDefinition\n | AXPIntegrationBasicAuthMethodDefinition\n | AXPIntegrationApiTokenAuthMethodDefinition;\n\n//#endregion\n\n//#region ---- Provider definition ----\n\nexport interface AXPIntegrationProviderDefinition {\n id: string;\n module: string;\n displayName: string;\n description?: string;\n icon?: string;\n category: AXPIntegrationCategory;\n capabilities: AXPIntegrationCapability[];\n connectionScopes: AXPIntegrationConnectionScope[];\n allowMultipleConnections: boolean;\n authMethods: AXPIntegrationAuthMethodDefinition[];\n defaultConnectionKey?: string;\n features?: string[];\n customUiComponentKey?: string;\n}\n\n//#endregion\n\n//#region ---- Runtime context (for provider hooks) ----\n\nexport interface AXPIntegrationAuthContext {\n tenantId: string;\n userId: string;\n connectionId: string;\n providerId: string;\n connectionScope: AXPIntegrationConnectionScope;\n connectionKey: string;\n authMethodType: AXPIntegrationAuthMethodType;\n instanceUrl?: string | null;\n config?: Record<string, unknown> | null;\n}\n\nexport interface AXPIntegrationRuntimeContext extends AXPIntegrationAuthContext {\n secretRef: string;\n}\n\nexport interface AXPIntegrationProviderRuntimeHooks {\n validateConnection?(ctx: AXPIntegrationRuntimeContext): Promise<AXPIntegrationValidationResult>;\n revokeConnection?(ctx: AXPIntegrationRuntimeContext): Promise<void>;\n refreshTokens?(ctx: AXPIntegrationRuntimeContext): Promise<AXPIntegrationValidationResult>;\n createClient?(ctx: AXPIntegrationRuntimeContext): Promise<unknown>;\n}\n\n//#endregion\n\n//#region ---- Secret payload types ----\n\nexport interface AXPIntegrationOAuthSecretPayload {\n accessToken: string;\n refreshToken?: string;\n expiresAt?: string;\n tokenType?: string;\n scope?: string;\n}\n\nexport interface AXPIntegrationPatSecretPayload {\n token: string;\n}\n\nexport interface AXPIntegrationBasicSecretPayload {\n username: string;\n password: string;\n}\n\nexport interface AXPIntegrationApiTokenSecretPayload {\n email: string;\n apiToken: string;\n}\n\nexport type AXPIntegrationSecretPayload =\n | AXPIntegrationOAuthSecretPayload\n | AXPIntegrationPatSecretPayload\n | AXPIntegrationBasicSecretPayload\n | AXPIntegrationApiTokenSecretPayload;\n\nexport interface AXPIntegrationResolvedCredentials {\n authMethodType: AXPIntegrationAuthMethodType;\n accessToken?: string;\n refreshToken?: string;\n expiresAt?: string;\n token?: string;\n username?: string;\n password?: string;\n email?: string;\n apiToken?: string;\n}\n\n//#endregion\n\n//#region ---- Integration errors ----\n\nexport class AXPIntegrationNotConnectedError extends Error {\n constructor(\n public readonly providerId: string,\n message?: string,\n ) {\n super(message ?? `No connected integration found for provider '${providerId}'.`);\n this.name = 'AXPIntegrationNotConnectedError';\n }\n}\n\nexport class AXPIntegrationExpiredError extends Error {\n constructor(\n public readonly providerId: string,\n public readonly connectionId: string,\n message?: string,\n ) {\n super(message ?? `Integration connection for '${providerId}' has expired.`);\n this.name = 'AXPIntegrationExpiredError';\n }\n}\n\nexport class AXPIntegrationMissingScopeError extends Error {\n constructor(\n public readonly providerId: string,\n public readonly missingScopes: string[],\n message?: string,\n ) {\n super(message ?? `Integration for '${providerId}' is missing required scopes.`);\n this.name = 'AXPIntegrationMissingScopeError';\n }\n}\n\n//#endregion\n","//#region ---- Integration contracts barrel ----\n\nexport * from './integration-status.constants';\nexport * from './integration-connection.safe-types';\nexport * from './integration.types';\n\n//#endregion\n","//#region ---- Contracts barrel ----\n\nexport * from './core';\nexport * from './data';\nexport * from './property';\nexport * from './interaction';\nexport * from './widgets';\nexport * from './workflow';\nexport * from './status';\nexport * from './domain';\nexport * from './keys';\nexport * from './mock';\nexport * from './integration';\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;AAoGA;SACgB,aAAa,CAAC,GAA4B,EAAE,MAAM,GAAG,EAAE,EAAA;IACrE,IAAI,IAAI,GAAa,EAAE;AACvB,IAAA,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;AACrB,QAAA,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC;AACtB,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxE,YAAA,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,aAAa,CAAC,KAAgC,EAAE,GAAG,MAAM,CAAA,EAAG,GAAG,CAAA,CAAA,CAAG,CAAC,CAAC;QAC1F;aAAO;YACL,IAAI,CAAC,IAAI,CAAC,CAAA,EAAG,MAAM,CAAA,EAAG,GAAG,CAAA,CAAE,CAAC;QAC9B;IACF;AACA,IAAA,OAAO,IAAI;AACb;AAYA;AACM,SAAU,6BAA6B,CAC3C,UAA4D,EAAA;AAE5D,IAAA,IAAI,UAAU,IAAI,IAAI,EAAE;AACtB,QAAA,OAAO,EAAE;IACX;AACA,IAAA,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC,UAAU,CAAC;AAC9D;IA0CY;AAAZ,CAAA,UAAY,mBAAmB,EAAA;AAC7B,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,mBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,mBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,mBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,gBAAA,CAAA,GAAA,iBAAkC;AAClC,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,SAAkB;AAClB,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,mBAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AAC/B,CAAC,EA3DW,mBAAmB,KAAnB,mBAAmB,GAAA,EAAA,CAAA,CAAA;AA6D/B;;AC3OA;AAuCA;;ACvCA;IAIY;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,UAAA,CAAA,GAAA,GAAc;AACd,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,GAAY;AACZ,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,GAAU;AACZ,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,GAAA,EAAA,CAAA,CAAA;AAMtB,SAAU,uBAAuB,CAAC,IAAY,EAAA;AAClD,IAAA,MAAM,QAAQ,GAAwC;QACpD,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;QACnC,MAAM,EAAE,gBAAgB,CAAC,MAAM;QAC/B,IAAI,EAAE,gBAAgB,CAAC,IAAI;KAC5B;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,gBAAgB,CAAC,IAAI;AAC9D;AAEM,SAAU,wBAAwB,CAAC,KAA0B,EAAA;AACjE,IAAA,MAAM,QAAQ,GAAwC;AACpD,QAAA,CAAC,EAAE,UAAU;AACb,QAAA,CAAC,EAAE,QAAQ;AACX,QAAA,CAAC,EAAE,MAAM;KACV;AACD,IAAA,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM;AAClC;AAEA;;AC5BA;AAeA;;ACfA;AAYA;;ACZA;AAQA;;ACRA;AA+DA;;AC/DA;AAgDA;;AChDA;AAUA;;ACVA;AAQA;;ACRA;IA6EY;AAAZ,CAAA,UAAY,sBAAsB,EAAA;AAChC,IAAA,sBAAA,CAAA,MAAA,CAAA,GAAA,QAAe;AACf,IAAA,sBAAA,CAAA,MAAA,CAAA,GAAA,QAAe;AACf,IAAA,sBAAA,CAAA,MAAA,CAAA,GAAA,QAAe;AACf,IAAA,sBAAA,CAAA,aAAA,CAAA,GAAA,SAAuB;AACvB,IAAA,sBAAA,CAAA,MAAA,CAAA,GAAA,QAAe;AACjB,CAAC,EANW,sBAAsB,KAAtB,sBAAsB,GAAA,EAAA,CAAA,CAAA;AAQlC;;ACrFA;AAUA;;ACVA;AASA;;ACTA;AA6BA;;AC7BA;AA8CA;;AC9CA;AAIA;;ACJA;AAIA;;ACJA;AAOA;;ACPA;AA4EA;;AC5EA;AAuCA;;ACvCA;AAcA;;ACdA;AAMA;;ACNA;AA0BA;;AC1BO,MAAM,cAAc,GAAG;AAC5B,IAAA,OAAO,EAAE;AACP,QAAA,kBAAkB,EAAE,4BAA4B;AAChD,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,QAAQ,EAAE,iBAAiB;AAC3B,QAAA,QAAQ,EAAE,cAAc;AACxB,QAAA,YAAY,EAAE,sBAAsB;AACpC,QAAA,WAAW,EAAE,kBAAkB;AAC/B,QAAA,UAAU,EAAE,gBAAgB;AAC5B,QAAA,SAAS,EAAE,WAAW;AACtB,QAAA,YAAY,EAAE,mBAAmB;AACjC,QAAA,SAAS,EAAE,eAAe;AAC1B,QAAA,YAAY,EAAE,oBAAoB;AAClC,QAAA,WAAW,EAAE,iBAAiB;AAC9B,QAAA,YAAY,EAAE,sBAAsB;AACpC,QAAA,QAAQ,EAAE,kBAAkB;AAC5B,QAAA,SAAS,EAAE,eAAe;AAC1B,QAAA,aAAa,EAAE,uBAAuB;AACtC,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,eAAe,EAAE,cAAc;AAC/B,QAAA,YAAY,EAAE,eAAe;AAC7B,QAAA,iBAAiB,EAAE,qBAAqB;AACxC,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,YAAY,EAAE,SAAS;AACvB,QAAA,YAAY,EAAE,WAAW;AACzB,QAAA,SAAS,EAAE,eAAe;AAC1B,QAAA,mBAAmB,EAAE,8BAA8B;AACnD,QAAA,cAAc,EAAE,wBAAwB;AACxC,QAAA,UAAU,EAAE,gBAAgB;AAC5B,QAAA,WAAW,EAAE,kBAAkB;AAC/B,QAAA,WAAW,EAAE,qBAAqB;AAClC,QAAA,qBAAqB,EAAE,yBAAyB;AAChD,QAAA,YAAY,EAAE,eAAe;AAC7B,QAAA,gBAAgB,EAAE,mBAAmB;AACrC,QAAA,YAAY,EAAE,sBAAsB;AACpC,QAAA,YAAY,EAAE,uBAAuB;AACrC,QAAA,oBAAoB,EAAE,+BAA+B;AACrD,QAAA,cAAc,EAAE,yBAAyB;AACzC,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,oBAAoB,EAAE,wBAAwB;AAC9C,QAAA,WAAW,EAAE,qBAAqB;AAClC,QAAA,sBAAsB,EAAE,gCAAgC;AACxD,QAAA,UAAU,EAAE,oBAAoB;AAChC,QAAA,uBAAuB,EAAE,kCAAkC;AAC3D,QAAA,WAAW,EAAE,qBAAqB;AAClC,QAAA,UAAU,EAAE,oBAAoB;AAChC,QAAA,2BAA2B,EAAE,+BAA+B;AAC5D,QAAA,oBAAoB,EAAE,uBAAuB;AAC9C,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,QAAQ,EAAE,kBAAkB;AAC5B,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,cAAc,EAAE,iBAAiB;AACjC,QAAA,eAAe,EAAE,mBAAmB;AACpC,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,cAAc,EAAE,iBAAiB;AACjC,QAAA,aAAa,EAAE,iBAAiB;AAChC,QAAA,cAAc,EAAE,kBAAkB;AAClC,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,cAAc,EAAE,kBAAkB;AAClC,QAAA,kBAAkB,EAAE,sBAAsB;AAC1C,QAAA,sBAAsB,EAAE,2BAA2B;AACnD,QAAA,cAAc,EAAE,iBAAiB;AACjC,QAAA,YAAY,EAAE,eAAe;AAC7B,QAAA,gBAAgB,EAAE,aAAa;AAChC,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,YAAY,EAAE,eAAe;AAC9B,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,oBAAoB,EAAE,wBAAwB;AAC9C,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,eAAe,EAAE,kBAAkB;AACnC,QAAA,SAAS,EAAE,WAAW;AACtB,QAAA,GAAG,EAAE,KAAK;AACV,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,WAAW,EAAE,aAAa;AAC1B,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,OAAO,EAAE,UAAU;AACnB,QAAA,MAAM,EAAE,eAAe;AACvB,QAAA,uBAAuB,EAAE,2BAA2B;AACpD,QAAA,aAAa,EAAE,gBAAgB;AAC/B,QAAA,2BAA2B,EAAE,+BAA+B;AAC7D,KAAA;AACD,IAAA,SAAS,EAAE;AACT,QAAA,QAAQ,EAAE,mBAAmB;AAC7B,QAAA,QAAQ,EAAE,UAAU;AACrB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BD,IAAA,MAAM,EAAE;AACN,QAAA,UAAU,EAAE,aAAa;AACzB,QAAA,iBAAiB,EAAE,oBAAoB;AACxC,KAAA;AACD,IAAA,SAAS,EAAE;AACT,QAAA,gBAAgB,EAAE,mCAAmC;AACtD,KAAA;AACD,IAAA,kBAAkB,EAAE;AAClB,QAAA,gBAAgB,EAAE,0BAA0B;AAC7C,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,iBAAiB,EAAE,qBAAqB;;AAExC,QAAA,WAAW,EAAE,cAAc;AAC3B,QAAA,eAAe,EAAE,mBAAmB;AACpC,QAAA,gBAAgB,EAAE,oBAAoB;;AAEvC,KAAA;;;;;;;AChJH;AAEA,MAAM,iBAAiB,GAAG;AACxB,IAAA,YAAY,EAAE,eAAe;AAC7B,IAAA,kBAAkB,EAAE,sBAAsB;AAC1C,IAAA,QAAQ,EAAE,iBAAiB;AAC3B,IAAA,KAAK,EAAE,cAAc;AACrB,IAAA,cAAc,EAAE,wBAAwB;AACxC,IAAA,OAAO,EAAE,gBAAgB;AACzB,IAAA,QAAQ,EAAE,kBAAkB;AAC5B,IAAA,SAAS,EAAE,mBAAmB;AAC9B,IAAA,MAAM,EAAE,eAAe;AACvB,IAAA,UAAU,EAAE,oBAAoB;AAChC,IAAA,QAAQ,EAAE,iBAAiB;AAC3B,IAAA,QAAQ,EAAE,kBAAkB;AAC5B,IAAA,MAAM,EAAE,eAAe;AACvB,IAAA,aAAa,EAAE,uBAAuB;AACtC,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,KAAK,EAAE,cAAc;AACrB,IAAA,MAAM,EAAE,eAAe;AACvB,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,UAAU,EAAE,aAAa;AACzB,IAAA,cAAc,EAAE,iBAAiB;AACjC,IAAA,eAAe,EAAE,mBAAmB;AACpC,IAAA,cAAc,EAAE,kBAAkB;AAClC,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,iBAAiB,EAAE,qBAAqB;AACxC,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,YAAY,EAAE,eAAe;AAC7B,IAAA,QAAQ,EAAE,iBAAiB;AAC3B,IAAA,MAAM,EAAE,eAAe;AACvB,IAAA,SAAS,EAAE,YAAY;AACvB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,eAAe,EAAE,kBAAkB;AACnC,IAAA,YAAY,EAAE,sBAAsB;AACpC,IAAA,gBAAgB,EAAE,2BAA2B;AAC7C,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,QAAQ,EAAE,kBAAkB;AAC5B,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,gBAAgB,EAAE,mBAAmB;AACrC,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,UAAU,EAAE,aAAa;AACzB,IAAA,QAAQ,EAAE,kBAAkB;AAC5B,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,SAAS,EAAE,mBAAmB;AAC9B,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,gBAAgB,EAAE,oBAAoB;AACtC,IAAA,sBAAsB,EAAE,0BAA0B;AAClD,IAAA,gBAAgB,EAAE,oBAAoB;AACtC,IAAA,eAAe,EAAE,mBAAmB;AACpC,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,iBAAiB,EAAE,qBAAqB;AACxC,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,eAAe,EAAE,mBAAmB;AACpC,IAAA,mBAAmB,EAAE,uBAAuB;AAC5C,IAAA,YAAY,EAAE,eAAe;AAC7B,IAAA,YAAY,EAAE,eAAe;AAC7B,IAAA,cAAc,EAAE,iBAAiB;AACjC,IAAA,aAAa,EAAE,gBAAgB;AAC/B,IAAA,YAAY,EAAE,eAAe;AAC7B,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,eAAe,EAAE,mBAAmB;AACpC,IAAA,YAAY,EAAE,eAAe;AAC7B,IAAA,kBAAkB,EAAE,qBAAqB;AACzC,IAAA,2BAA2B,EAAE,+BAA+B;AAC5D,IAAA,mBAAmB,EAAE,uBAAuB;AAC5C,IAAA,mBAAmB,EAAE,uBAAuB;AAC5C,IAAA,kBAAkB,EAAE,sBAAsB;AAC1C,IAAA,qBAAqB,EAAE,yBAAyB;AAChD,IAAA,iBAAiB,EAAE,oBAAoB;AACvC,IAAA,eAAe,EAAE,kBAAkB;AACnC,IAAA,kBAAkB,EAAE,qBAAqB;AACzC,IAAA,QAAQ,EAAE,kBAAkB;AAC5B,IAAA,cAAc,EAAE,qBAAqB;AACrC,IAAA,qBAAqB,EAAE,yBAAyB;AAChD,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,YAAY,EAAE,cAAc;AAC5B,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,QAAQ,EAAE,WAAW;AACrB,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,UAAU,EAAE,aAAa;AACzB,IAAA,aAAa,EAAE,gBAAgB;AAC/B,IAAA,QAAQ,EAAE,kBAAkB;AAC5B,IAAA,gBAAgB,EAAE,mBAAmB;AACrC,IAAA,UAAU,EAAE,aAAa;AACzB,IAAA,WAAW,EAAE,qBAAqB;AAClC,IAAA,IAAI,EAAE,oBAAoB;AAC1B,IAAA,sBAAsB,EAAE,2BAA2B;AACnD,IAAA,wBAAwB,EAAE,mCAAmC;;AAK/D;;ACvGA;AAMA;;ACuMA;;AC7MA;AACA;AACA;AACA;AACA;;AC+JA;AACA;AACA;AACA;AACA;;ACvKA;AAMA;;ACNA;AAEA;IACY;AAAZ,CAAA,UAAY,mBAAmB,EAAA;AAC7B,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,mBAAA,CAAA,YAAA,CAAA,GAAA,aAA0B;AAC1B,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,WAAsB;AACtB,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,mBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,mBAAA,CAAA,eAAA,CAAA,GAAA,gBAAgC;AAChC,IAAA,mBAAA,CAAA,gBAAA,CAAA,GAAA,kBAAmC;AACnC,IAAA,mBAAA,CAAA,iBAAA,CAAA,GAAA,kBAAoC;AACpC,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,mBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,mBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,mBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACrB,CAAC,EAzBW,mBAAmB,KAAnB,mBAAmB,GAAA,EAAA,CAAA,CAAA;AA2B/B;;AC9BA;;;AAGG;AAwGH;;;AAGG;MACmB,iBAAiB,CAAA;AAoBtC;AAED;;ACjIA,MAAM,IAAI,GAAG,CAAC,GAAW,KAAK,CAAA,kBAAA,EAAqB,GAAG,CAAA,CAAE;AAExD;;;;AAIG;AACI,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;AAC7C,IAAA,IAAI,EAAE;QACJ,IAAI,EAAE,mBAAmB,CAAC,IAAI;AAC9B,QAAA,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC;AACzB,QAAA,IAAI,EAAE,oBAAoB;AAC1B,QAAA,KAAK,EAAE,WAAW;AAClB,QAAA,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACrC,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,OAAO,EAAE,KAAK;AACf,KAAA;AACD,IAAA,MAAM,EAAE;QACN,IAAI,EAAE,mBAAmB,CAAC,MAAM;AAChC,QAAA,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC;AAC3B,QAAA,IAAI,EAAE,oBAAoB;AAC1B,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC;AACvC,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,OAAO,EAAE,IAAI;AACd,KAAA;AACD,IAAA,IAAI,EAAE;QACJ,IAAI,EAAE,mBAAmB,CAAC,IAAI;AAC9B,QAAA,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC;AACzB,QAAA,IAAI,EAAE,oBAAoB;AAC1B,QAAA,KAAK,EAAE,WAAW;AAClB,QAAA,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACrC,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,OAAO,EAAE,KAAK;AACf,KAAA;AACD,IAAA,UAAU,EAAE;QACV,IAAI,EAAE,mBAAmB,CAAC,UAAU;AACpC,QAAA,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC;AAChC,QAAA,IAAI,EAAE,kBAAkB;AACxB,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,WAAW,EAAE,IAAI,CAAC,yBAAyB,CAAC;AAC5C,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,OAAO,EAAE,KAAK;AACf,KAAA;AACD,IAAA,QAAQ,EAAE;QACR,IAAI,EAAE,mBAAmB,CAAC,QAAQ;AAClC,QAAA,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC;AAC9B,QAAA,IAAI,EAAE,iBAAiB;AACvB,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,WAAW,EAAE,IAAI,CAAC,uBAAuB,CAAC;AAC1C,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,OAAO,EAAE,KAAK;AACf,KAAA;AACD,IAAA,OAAO,EAAE;QACP,IAAI,EAAE,mBAAmB,CAAC,OAAO;AACjC,QAAA,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC;AAC5B,QAAA,IAAI,EAAE,iBAAiB;AACvB,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC;AACxC,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,OAAO,EAAE,KAAK;AACf,KAAA;AACD,IAAA,IAAI,EAAE;QACJ,IAAI,EAAE,mBAAmB,CAAC,IAAI;AAC9B,QAAA,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC;AACzB,QAAA,IAAI,EAAE,0BAA0B;AAChC,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC;AACrC,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,OAAO,EAAE,IAAI;AACd,KAAA;AACD,IAAA,SAAS,EAAE;QACT,IAAI,EAAE,mBAAmB,CAAC,SAAS;AACnC,QAAA,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC;AAC9B,QAAA,IAAI,EAAE,0BAA0B;AAChC,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,WAAW,EAAE,IAAI,CAAC,uBAAuB,CAAC;AAC1C,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,OAAO,EAAE,IAAI;AACd,KAAA;AACD,IAAA,KAAK,EAAE;QACL,IAAI,EAAE,mBAAmB,CAAC,KAAK;AAC/B,QAAA,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC;AAC1B,QAAA,IAAI,EAAE,sBAAsB;AAC5B,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC;AACtC,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,OAAO,EAAE,KAAK;AACf,KAAA;AACD,IAAA,aAAa,EAAE;QACb,IAAI,EAAE,mBAAmB,CAAC,aAAa;AACvC,QAAA,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC;AACnC,QAAA,IAAI,EAAE,mBAAmB;AACzB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,WAAW,EAAE,IAAI,CAAC,4BAA4B,CAAC;AAC/C,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,OAAO,EAAE,KAAK;AACf,KAAA;AACD,IAAA,cAAc,EAAE;QACd,IAAI,EAAE,mBAAmB,CAAC,cAAc;AACxC,QAAA,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC;AACrC,QAAA,IAAI,EAAE,mBAAmB;AACzB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,WAAW,EAAE,IAAI,CAAC,8BAA8B,CAAC;AACjD,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,OAAO,EAAE,KAAK;AACf,KAAA;AACD,IAAA,eAAe,EAAE;QACf,IAAI,EAAE,mBAAmB,CAAC,eAAe;AACzC,QAAA,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC;AACrC,QAAA,IAAI,EAAE,mBAAmB;AACzB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,WAAW,EAAE,IAAI,CAAC,8BAA8B,CAAC;AACjD,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,OAAO,EAAE,KAAK;AACf,KAAA;AACD,IAAA,QAAQ,EAAE;QACR,IAAI,EAAE,mBAAmB,CAAC,QAAQ;AAClC,QAAA,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC;AAC7B,QAAA,IAAI,EAAE,0BAA0B;AAChC,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC;AACzC,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,OAAO,EAAE,KAAK;AACf,KAAA;AACD,IAAA,SAAS,EAAE;QACT,IAAI,EAAE,mBAAmB,CAAC,SAAS;AACnC,QAAA,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC;AAC9B,QAAA,IAAI,EAAE,mBAAmB;AACzB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,WAAW,EAAE,IAAI,CAAC,uBAAuB,CAAC;AAC1C,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,OAAO,EAAE,KAAK;AACf,KAAA;AACD,IAAA,QAAQ,EAAE;QACR,IAAI,EAAE,mBAAmB,CAAC,QAAQ;AAClC,QAAA,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC;AAC7B,QAAA,IAAI,EAAE,qBAAqB;AAC3B,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC;AACzC,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,OAAO,EAAE,IAAI;AACd,KAAA;AACD,IAAA,QAAQ,EAAE;QACR,IAAI,EAAE,mBAAmB,CAAC,QAAQ;AAClC,QAAA,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC;AAC7B,QAAA,IAAI,EAAE,0BAA0B;AAChC,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC;AACzC,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,OAAO,EAAE,IAAI;AACd,KAAA;AACD,IAAA,MAAM,EAAE;QACN,IAAI,EAAE,mBAAmB,CAAC,MAAM;AAChC,QAAA,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC;AAC3B,QAAA,IAAI,EAAE,0BAA0B;AAChC,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC;AACvC,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,OAAO,EAAE,KAAK;AACf,KAAA;AACD,IAAA,QAAQ,EAAE;QACR,IAAI,EAAE,mBAAmB,CAAC,QAAQ;AAClC,QAAA,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC;AAC7B,QAAA,IAAI,EAAE,oBAAoB;AAC1B,QAAA,KAAK,EAAE,WAAW;AAClB,QAAA,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC;AACzC,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,OAAO,EAAE,KAAK;AACf,KAAA;AACD,IAAA,OAAO,EAAE;QACP,IAAI,EAAE,mBAAmB,CAAC,OAAO;AACjC,QAAA,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC;AAC5B,QAAA,IAAI,EAAE,mBAAmB;AACzB,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC;AACxC,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,SAAS,EAAE,IAAI;AACf,QAAA,OAAO,EAAE,KAAK;AACf,KAAA;AACD,IAAA,SAAS,EAAE;QACT,IAAI,EAAE,mBAAmB,CAAC,SAAS;AACnC,QAAA,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC;AAC9B,QAAA,IAAI,EAAE,0BAA0B;AAChC,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,WAAW,EAAE,IAAI,CAAC,uBAAuB,CAAC;AAC1C,QAAA,KAAK,EAAE,EAAE;AACT,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,OAAO,EAAE,IAAI;AACd,KAAA;AACD,IAAA,SAAS,EAAE;QACT,IAAI,EAAE,mBAAmB,CAAC,SAAS;AACnC,QAAA,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC;AAC9B,QAAA,IAAI,EAAE,0BAA0B;AAChC,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,WAAW,EAAE,IAAI,CAAC,uBAAuB,CAAC;AAC1C,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,OAAO,EAAE,KAAK;AACf,KAAA;AACD,IAAA,MAAM,EAAE;QACN,IAAI,EAAE,mBAAmB,CAAC,MAAM;AAChC,QAAA,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC;AAC3B,QAAA,IAAI,EAAE,0BAA0B;AAChC,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC;AACvC,QAAA,KAAK,EAAE,EAAE;AACT,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,OAAO,EAAE,IAAI;AACd,KAAA;AAED,IAAA,MAAM,EAAE;QACN,IAAI,EAAE,mBAAmB,CAAC,MAAM;AAChC,QAAA,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC;AAC3B,QAAA,IAAI,EAAE,iBAAiB;AACvB,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC;AACvC,QAAA,KAAK,EAAE,CAAC;AACT,KAAA;AACD,IAAA,OAAO,EAAE;QACP,IAAI,EAAE,mBAAmB,CAAC,OAAO;AACjC,QAAA,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC;AAC5B,QAAA,IAAI,EAAE,mBAAmB;AACzB,QAAA,KAAK,EAAE,QAAQ;AACf,QAAA,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC;AACxC,QAAA,KAAK,EAAE,EAAE;AACT,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,OAAO,EAAE,IAAI;AACd,KAAA;AACqD,CAAA;AAExD;;;;AAIG;AACG,SAAU,eAAe,CAAC,IAAyB,EAAA;AACvD,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,CAAwB;AACrG;AAEA;;;;;AAKG;AACG,SAAU,iBAAiB,CAAC,UAAkB,EAAA;IAClD,MAAM,gBAAgB,GAAG,UAAiC;IAC1D,IAAI,gBAAgB,EAAE;AACpB,QAAA,MAAM,YAAY,GAAG,eAAe,CAAC,gBAAgB,CAAC;QACtD,IAAI,YAAY,EAAE;YAChB,OAAO;gBACL,KAAK,EAAE,YAAY,CAAC,KAAyB;AAC7C,gBAAA,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI;aAC5B;QACH;IACF;IAEA,OAAO;AACL,QAAA,KAAK,EAAE,WAA+B;AACtC,QAAA,IAAI,EAAE;KACP;AACH;AAEA;;;;;AAKG;AACG,SAAU,aAAa,CAAC,UAAkB,EAAA;IAC9C,MAAM,gBAAgB,GAAG,UAAiC;IAC1D,IAAI,gBAAgB,EAAE;AACpB,QAAA,MAAM,YAAY,GAAG,eAAe,CAAC,gBAAgB,CAAC;QACtD,IAAI,YAAY,EAAE;AAChB,YAAA,OAAO,YAAY;QACrB;IACF;IAEA,OAAO;AACL,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,CAAA,QAAA,EAAW,UAAU,CAAA,CAAE;AACpC,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,KAAK,EAAE;KACR;AACH;AAEA;;;;;AAKG;AACG,SAAU,wBAAwB,CACtC,UAA+B,EAC/B,SAAwC,EAAA;AAExC,IAAA,MAAM,YAAY,GAAG,eAAe,CAAC,UAAU,CAAC;IAChD,IAAI,CAAC,YAAY,EAAE;AACjB,QAAA,MAAM,IAAI,KAAK,CAAC,iBAAiB,UAAU,CAAA,UAAA,CAAY,CAAC;IAC1D;IAEA,OAAO;AACL,QAAA,GAAG,YAAY;AACf,QAAA,GAAG,SAAS;KACb;AACH;;ACzUA;AAMA;;ACNA;AAkCA;;IChCY;AAAZ,CAAA,UAAY,oBAAoB,EAAA;AAC9B,IAAA,oBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,oBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB;AACvB,IAAA,oBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC;AACnC,IAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,oBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACjB,CAAC,EANW,oBAAoB,KAApB,oBAAoB,GAAA,EAAA,CAAA,CAAA;;ACFhC;AAQA;;ACRA;AAOA;;ACPA;AAQA;;ACRA;AAEA;AACO,MAAM,6BAA6B,GAAG;AAC3C,IAAA,eAAe,EAAE,2BAA2B;AAC5C,IAAA,aAAa,EAAE,yBAAyB;;AAG1C;;ACRA;AAEA;;;AAGG;IACS;AAAZ,CAAA,UAAY,kBAAkB,EAAA;AAC5B,IAAA,kBAAA,CAAA,eAAA,CAAA,GAAA,iDAAiE;AACjE,IAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,4CAAuD;AACvD,IAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,4CAAuD;AACvD,IAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,2CAAqD;AACrD,IAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,4CAAuD;;AAEvD,IAAA,kBAAA,CAAA,gBAAA,CAAA,GAAA,kDAAmE;AACnE,IAAA,kBAAA,CAAA,gBAAA,CAAA,GAAA,kDAAmE;AACnE,IAAA,kBAAA,CAAA,aAAA,CAAA,GAAA,+CAA6D;AAC7D,IAAA,kBAAA,CAAA,WAAA,CAAA,GAAA,6CAAyD;AACzD,IAAA,kBAAA,CAAA,YAAA,CAAA,GAAA,8CAA2D;AAC3D,IAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,4CAAuD;AACvD,IAAA,kBAAA,CAAA,WAAA,CAAA,GAAA,6CAAyD;AACzD,IAAA,kBAAA,CAAA,YAAA,CAAA,GAAA,8CAA2D;AAC3D,IAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,4CAAuD;AACvD,IAAA,kBAAA,CAAA,kBAAA,CAAA,GAAA,oDAAuE;AACvE,IAAA,kBAAA,CAAA,kBAAA,CAAA,GAAA,oDAAuE;AACvE,IAAA,kBAAA,CAAA,eAAA,CAAA,GAAA,iDAAiE;AACjE,IAAA,kBAAA,CAAA,aAAA,CAAA,GAAA,+CAA6D;AAC7D,IAAA,kBAAA,CAAA,aAAA,CAAA,GAAA,+CAA6D;AAC7D,IAAA,kBAAA,CAAA,YAAA,CAAA,GAAA,8CAA2D;AAC3D,IAAA,kBAAA,CAAA,WAAA,CAAA,GAAA,6CAAyD;;AAEzD,IAAA,kBAAA,CAAA,sBAAA,CAAA,GAAA,wDAA+E;AACjF,CAAC,EAzBW,kBAAkB,KAAlB,kBAAkB,GAAA,EAAA,CAAA,CAAA;AA2B9B;;ACjCA;AACO,MAAM,oCAAoC,GAAG;;ACDpD;AAMA;;ACNA;AAIA;;;AAGG;AACG,SAAU,yBAAyB,CACvC,IAAY,EACZ,IAAa,EAAA;IAEb,OAAO;AACL,QAAA,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI,IAAI,IAAI;KACtB;AACH;AAEA;;;AAGG;AACG,SAAU,0BAA0B,CACxC,KAAgD,EAChD,MAAc,EAAA;IAEd,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE;AACjC,QAAA,OAAO,EAAE;IACX;AAEA,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACnD,QAAA,OAAO,MAAM;IACf;AAEA,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC;IAC3B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/C,QAAA,OAAO,IAAI;IACb;IAEA,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACjD,YAAA,OAAO,KAAK;QACd;IACF;AAEA,IAAA,OAAO,EAAE;AACX;AAEA;;;AAGG;MACU,gBAAgB,CAAA;AAC3B,IAAA,OAAO,IAAI,GAAA;QACT,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,KAAI;AACtE,YAAA,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC;AACvC,YAAA,MAAM,KAAK,GAAG,IAAI,KAAK,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG;AAC1D,YAAA,OAAO,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC3B,QAAA,CAAC,CAAC;IACJ;AAIA,IAAA,OAAO,MAAM,CAAC,GAAG,IAAc,EAAA;QAC7B,IAAI,GAAG,GAAG,CAAC;QACX,IAAI,GAAG,GAAG,GAAG;AACb,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AACpC,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,YAAA,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AACb,YAAA,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QACf;AACA,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG;IAC1D;AAKA,IAAA,OAAO,IAAI,CAAC,GAAG,IAAY,EAAA;QACzB,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;AAChC,QAAA,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE;AAEpB,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,YAAA,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;QACjB;AAAO,aAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,YAAA,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;AACf,YAAA,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;QACf;AAEA,QAAA,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,EAAE;AACjC,QAAA,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE;AAC7B,QAAA,OAAO,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,OAAO,GAAG,SAAS,CAAC,CAAC;IACpE;AAEA,IAAA,OAAO,KAAK,CAAI,MAAM,GAAG,CAAC,EAAE,SAAkB,EAAA;QAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC;IAC1C;AAIA,IAAA,OAAO,IAAI,CAAI,GAAG,IAAe,EAAA;AAC/B,QAAA,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AACnB,YAAA,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC;QACvC;AACA,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAQ;QAC5B,MAAM,KAAK,GAAI,IAAI,CAAC,CAAC,CAAwB,IAAI,CAAC;AAClD,QAAA,IAAI,KAAK,GAAG,CAAC,EAAE;AACb,YAAA,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC;QAC7C;AAEA,QAAA,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;AACzB,YAAA,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;QACnD;AAEA,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE;AAC9B,QAAA,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;AAC/C,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzD;AACA,QAAA,OAAO,KAAK,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;IAC7E;AAEA,IAAA,OAAO,MAAM,CAAC,MAAM,GAAG,EAAE,EAAA;QACvB,MAAM,KAAK,GAAG,gEAAgE;AAC9E,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IACtG;AAEA,IAAA,OAAO,OAAO,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG;IAC7B;AAEA,IAAA,OAAO,IAAI,CAAI,KAAA,GAAa,EAAE,EAAA;AAC5B,QAAA,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS;IACvF;AAEA,IAAA,OAAO,KAAK,CAAC,MAAA,GAAgC,KAAK,EAAA;AAChD,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;AACzC,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;AAC7C,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;AAE7C,QAAA,IAAI,MAAM,KAAK,KAAK,EAAE;AACpB,YAAA,OAAO,OAAO,CAAC,CAAA,EAAA,EAAK,CAAC,CAAA,GAAA,EAAM,CAAC,IAAI;QAClC;QAEA,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;AAEtD,QAAA,IAAI,MAAM,KAAK,KAAK,EAAE;AACpB,YAAA,OAAO,OAAO,CAAC,CAAA,EAAA,EAAK,CAAC,CAAA,EAAA,EAAK,CAAC,GAAG;QAChC;QAEA,MAAM,KAAK,GAAG,CAAC,GAAW,KAAK,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AAChE,QAAA,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE;IAC7C;AAEQ,IAAA,OAAO,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAA;AACrD,QAAA,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChD,QAAA,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC;QACT,IAAI,CAAC,GAAG,CAAC;QACT,IAAI,CAAC,GAAG,CAAC;QAET,IAAI,CAAC,GAAG,EAAE;AAAE,YAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAC5B,IAAI,CAAC,GAAG,GAAG;AAAE,YAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAClC,IAAI,CAAC,GAAG,GAAG;AAAE,YAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAClC,IAAI,CAAC,GAAG,GAAG;AAAE,YAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAClC,IAAI,CAAC,GAAG,GAAG;AAAE,YAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;AAClC,YAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAE1B,OAAO;AACL,YAAA,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;AAC5B,YAAA,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;AAC5B,YAAA,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;SAC7B;IACH;AAEA,IAAA,OAAO,YAAY,CAAC,MAAM,GAAG,EAAE,EAAA;QAC7B,MAAM,KAAK,GAAG,gEAAgE;AAC9E,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IACtG;AAEA,IAAA,OAAO,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAA;QACzB,MAAM,KAAK,GAAG,sDAAsD;AACpE,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IACtG;AAEA,IAAA,OAAO,KAAK,GAAA;QACV,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC;AAC1C,QAAA,OAAO,GAAG,QAAQ,CAAA,CAAA,EAAI,YAAY,CAAA,CAAA,EAAI,UAAU,EAAE;IACpD;AAEA,IAAA,OAAO,SAAS,GAAA;QACd,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;AACpG,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IAC9B;AAEA,IAAA,OAAO,QAAQ,GAAA;QACb,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC;AACnH,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC7B;AAIA,IAAA,OAAO,KAAK,CAAC,GAAG,IAAc,EAAA;QAC5B,MAAM,OAAO,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AACjC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE;AAExE,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YACtC,OAAO,CAAA,EAAG,SAAS,CAAA,EAAG,SAAS,CAAA,EAAG,QAAQ,CAAA,EAAG,YAAY,CAAA,CAAA,EAAI,MAAM,CAAA,CAAE;QACvE;QAEA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE;QAC9C,OAAO,CAAA,EAAG,SAAS,CAAA,EAAG,SAAS,CAAA,EAAG,QAAQ,CAAA,EAAG,YAAY,CAAA,CAAA,EAAI,MAAM,CAAA,CAAE;IACvE;AAEA,IAAA,OAAO,OAAO,GAAA;AACZ,QAAA,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC;AACxF,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC7B;AAEA,IAAA,OAAO,IAAI,GAAA;AACT,QAAA,MAAM,MAAM,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;AAC5F,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B;AAEA,IAAA,OAAO,KAAK,GAAA;QACV,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;AACzE,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B;AAEA,IAAA,OAAO,OAAO,GAAA;AACZ,QAAA,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC;QACpF,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AACjC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;AACxB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC;AACrC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAC9B,QAAA,OAAO,CAAA,EAAG,YAAY,CAAA,CAAA,EAAI,MAAM,CAAA,EAAA,EAAK,IAAI,CAAA,EAAA,EAAK,KAAK,CAAA,CAAA,EAAI,GAAG,CAAA,EAAA,EAAK,OAAO,EAAE;IAC1E;AAEA,IAAA,OAAO,MAAM,GAAA;AACX,QAAA,OAAO,wCAAwC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE;IACjF;AACD;AAED;;ACjQA;AAIA;;ACJA;AAEO,MAAM,iCAAiC,GAAG;AAC/C,IAAA,YAAY,EAAE,cAAc;AAC5B,IAAA,oBAAoB,EAAE,sBAAsB;AAC5C,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,eAAe,EAAE,iBAAiB;AAClC,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,KAAK,EAAE,OAAO;;AAMhB;AAEA;AAEO,MAAM,gCAAgC,GAAG;AAC9C,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,MAAM,EAAE,QAAQ;;AAMlB;AAEA;AAEO,MAAM,gCAAgC,GAAG;AAC9C,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,QAAQ,EAAE,UAAU;;AAMtB;AAEA;AAEO,MAAM,wBAAwB,GAAG;AACtC,IAAA,QAAQ,EAAE,WAAW;AACrB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,YAAY,EAAE,cAAc;AAC5B,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,KAAK,EAAE,OAAO;;AAMhB;AAEA;AAEO,MAAM,0BAA0B,GAAG;AACxC,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,aAAa,EAAE,gBAAgB;AAC/B,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,aAAa,EAAE,gBAAgB;;AAMjC;;ACVA;;ACkFA;AAEA;AAEM,MAAO,+BAAgC,SAAQ,KAAK,CAAA;IACxD,WAAA,CACkB,UAAkB,EAClC,OAAgB,EAAA;AAEhB,QAAA,KAAK,CAAC,OAAO,IAAI,gDAAgD,UAAU,CAAA,EAAA,CAAI,CAAC;QAHhE,IAAA,CAAA,UAAU,GAAV,UAAU;AAI1B,QAAA,IAAI,CAAC,IAAI,GAAG,iCAAiC;IAC/C;AACD;AAEK,MAAO,0BAA2B,SAAQ,KAAK,CAAA;AACnD,IAAA,WAAA,CACkB,UAAkB,EAClB,YAAoB,EACpC,OAAgB,EAAA;AAEhB,QAAA,KAAK,CAAC,OAAO,IAAI,+BAA+B,UAAU,CAAA,cAAA,CAAgB,CAAC;QAJ3D,IAAA,CAAA,UAAU,GAAV,UAAU;QACV,IAAA,CAAA,YAAY,GAAZ,YAAY;AAI5B,QAAA,IAAI,CAAC,IAAI,GAAG,4BAA4B;IAC1C;AACD;AAEK,MAAO,+BAAgC,SAAQ,KAAK,CAAA;AACxD,IAAA,WAAA,CACkB,UAAkB,EAClB,aAAuB,EACvC,OAAgB,EAAA;AAEhB,QAAA,KAAK,CAAC,OAAO,IAAI,oBAAoB,UAAU,CAAA,6BAAA,CAA+B,CAAC;QAJ/D,IAAA,CAAA,UAAU,GAAV,UAAU;QACV,IAAA,CAAA,aAAa,GAAb,aAAa;AAI7B,QAAA,IAAI,CAAC,IAAI,GAAG,iCAAiC;IAC/C;AACD;AAED;;AC7LA;AAMA;;ACNA;AAcA;;ACdA;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-contracts.mjs","sources":["../../../../libs/platform/contracts/src/lib/core/core.types.ts","../../../../libs/platform/contracts/src/lib/core/context.types.ts","../../../../libs/platform/contracts/src/lib/core/actions.types.ts","../../../../libs/platform/contracts/src/lib/core/shims.types.ts","../../../../libs/platform/contracts/src/lib/core/scope.types.ts","../../../../libs/platform/contracts/src/lib/core/logo.types.ts","../../../../libs/platform/contracts/src/lib/core/response.types.ts","../../../../libs/platform/contracts/src/lib/core/index.ts","../../../../libs/platform/contracts/src/lib/multi-language-string/locale-map-value.util.ts","../../../../libs/platform/contracts/src/lib/utils/object-util.ts","../../../../libs/platform/contracts/src/lib/utils/scalar-coercion.ts","../../../../libs/platform/contracts/src/lib/utils/string.util.ts","../../../../libs/platform/contracts/src/lib/utils/index.ts","../../../../libs/platform/contracts/src/lib/multi-language-string/resolve-multi-language-string.util.ts","../../../../libs/platform/contracts/src/lib/multi-language-string/compare-axp-multi-language-string.ts","../../../../libs/platform/contracts/src/lib/multi-language-string/index.ts","../../../../libs/platform/contracts/src/lib/data/data.types.ts","../../../../libs/platform/contracts/src/lib/data/filter.types.ts","../../../../libs/platform/contracts/src/lib/data/sort.types.ts","../../../../libs/platform/contracts/src/lib/data/column.types.ts","../../../../libs/platform/contracts/src/lib/data/export.types.ts","../../../../libs/platform/contracts/src/lib/data/multi-source.types.ts","../../../../libs/platform/contracts/src/lib/data/index.ts","../../../../libs/platform/contracts/src/lib/property/property.types.ts","../../../../libs/platform/contracts/src/lib/property/validation.types.ts","../../../../libs/platform/contracts/src/lib/property/element.types.ts","../../../../libs/platform/contracts/src/lib/property/file.types.ts","../../../../libs/platform/contracts/src/lib/property/index.ts","../../../../libs/platform/contracts/src/lib/interaction/interactive.types.ts","../../../../libs/platform/contracts/src/lib/interaction/view.types.ts","../../../../libs/platform/contracts/src/lib/interaction/view-query.types.ts","../../../../libs/platform/contracts/src/lib/interaction/index.ts","../../../../libs/platform/contracts/src/lib/widgets/widget-node.types.ts","../../../../libs/platform/contracts/src/lib/widgets/widgets-list.ts","../../../../libs/platform/contracts/src/lib/widgets/widgets-catalog.ts","../../../../libs/platform/contracts/src/lib/widgets/index.ts","../../../../libs/platform/contracts/src/lib/workflow/workflow-definition.types.ts","../../../../libs/platform/contracts/src/lib/workflow/workflow-instance.types.ts","../../../../libs/platform/contracts/src/lib/workflow/activity.types.ts","../../../../libs/platform/contracts/src/lib/workflow/index.ts","../../../../libs/platform/contracts/src/lib/status/status.types.ts","../../../../libs/platform/contracts/src/lib/status/status-definition.types.ts","../../../../libs/platform/contracts/src/lib/status/statuses.types.ts","../../../../libs/platform/contracts/src/lib/status/index.ts","../../../../libs/platform/contracts/src/lib/domain/address.types.ts","../../../../libs/platform/contracts/src/lib/domain/file-storage.types.ts","../../../../libs/platform/contracts/src/lib/domain/ai-output.types.ts","../../../../libs/platform/contracts/src/lib/domain/spreadsheet.types.ts","../../../../libs/platform/contracts/src/lib/domain/index.ts","../../../../libs/platform/contracts/src/lib/keys/platform-core-datasource.keys.ts","../../../../libs/platform/contracts/src/lib/keys/regional-settings.keys.ts","../../../../libs/platform/contracts/src/lib/keys/preview-widget-field.command.key.ts","../../../../libs/platform/contracts/src/lib/keys/index.ts","../../../../libs/platform/contracts/src/lib/mock/mock-data.shims.ts","../../../../libs/platform/contracts/src/lib/mock/index.ts","../../../../libs/platform/contracts/src/lib/integration/integration-status.constants.ts","../../../../libs/platform/contracts/src/lib/integration/integration-connection.safe-types.ts","../../../../libs/platform/contracts/src/lib/integration/integration.types.ts","../../../../libs/platform/contracts/src/lib/integration/index.ts","../../../../libs/platform/contracts/src/lib/index.ts","../../../../libs/platform/contracts/src/acorex-platform-contracts.ts"],"sourcesContent":["//#region ---- Core contract types (no Angular / no @acorex/*) ----\n\n/**\n * Plain or rich text that may be localized: a single string or a map of locale code to string.\n */\nexport type AXPMultiLanguageString = string | Record<string, string>;\n\nexport type AXPExpression = string;\n\nexport type AXPMetaData = Record<string, any>;\n\nexport type AXPOptionsData<T extends Record<string, unknown> = Record<string, any>> = T;\n\nexport interface AXPEntityReference {\n id: string;\n type: string;\n title?: string;\n metadata?: AXPMetaData;\n}\n\nexport interface AXPUserReference {\n id: string;\n type?: 'user';\n fullName?: string;\n username?: string;\n}\n\nexport type AXPContentType = 'text' | 'image' | 'file' | 'video' | 'link';\n\nexport interface AXPContent {\n content: string;\n contentType: AXPContentType;\n}\n\nexport type AXPFileStatus = 'attached' | 'uploading' | 'uploaded' | 'deleted' | 'remote' | 'editing';\n\nexport interface AXPFileSource {\n kind: 'blob' | 'url' | 'preview' | 'none' | 'fileId' | 'reference';\n value?: Blob | string | { id: string; type: string; title?: string; metadata?: AXPMetaData };\n}\n\nexport interface AXPFileListItem {\n id?: string;\n name: string;\n size?: number;\n status: AXPFileStatus;\n source?: AXPFileSource;\n meta?: AXPMetaData;\n readOnly?: boolean;\n title?: string;\n description?: string;\n}\n\nexport type AXPDataType = 'string' | 'number' | 'boolean' | 'date' | 'object' | 'array' | 'blob';\n\nexport type AXPWidgetTrigger = { event: string; action: string | string[]; disabled?: boolean };\n\nexport type AXPWidgetTriggers = AXPWidgetTrigger[];\n\nexport type AXPValidationRule = {\n rule: string;\n message?: string;\n options?: any;\n disabled?: boolean | AXPExpression;\n};\n\nexport type AXPValidationRules = AXPValidationRule[];\n\nexport interface AXPGridPlacement {\n colStart?: number;\n colEnd?: number;\n colSpan?: number;\n rowStart?: number;\n rowEnd?: number;\n rowSpan?: number;\n order?: string | number;\n}\n\nexport interface AXPGridLayoutOptions {\n positions?: {\n sm?: AXPGridPlacement;\n md?: AXPGridPlacement;\n lg?: AXPGridPlacement;\n xl?: AXPGridPlacement;\n xxl?: AXPGridPlacement;\n xxxl?: AXPGridPlacement;\n };\n}\n\nexport type AXPValueTransformerFunction = (value: any) => any;\n\nexport type AXPValueTransformerFunctions = {\n getter?: AXPValueTransformerFunction;\n setter?: AXPValueTransformerFunction;\n};\n\nexport type AXPPartialNested<T> = {\n [K in keyof T]?: T[K] extends object ? AXPPartialNested<T[K]> : T[K];\n};\n\n/** Returns dot-path keys for a nested plain object. */\nexport function getNestedKeys(obj: Record<string, unknown>, prefix = ''): string[] {\n let keys: string[] = [];\n for (const key in obj) {\n const value = obj[key];\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\n keys = [...keys, ...getNestedKeys(value as Record<string, unknown>, `${prefix}${key}.`)];\n } else {\n keys.push(`${prefix}${key}`);\n }\n }\n return keys;\n}\n\n/**\n * Shared category descriptor for widgets, query catalog tooling, and other definition groupings.\n */\nexport interface AXPDefinitionCategory {\n name: string;\n title: AXPMultiLanguageString;\n order: number;\n icon?: string;\n}\n\n/** Normalizes definition categories to an array for iteration and serialization. */\nexport function normalizeDefinitionCategories(\n categories?: AXPDefinitionCategory | AXPDefinitionCategory[],\n): AXPDefinitionCategory[] {\n if (categories == null) {\n return [];\n }\n return Array.isArray(categories) ? categories : [categories];\n}\n\nexport interface AXPValueUnit {\n name: string;\n title: string;\n ratio: number;\n order: number;\n}\n\nexport interface AXPValueUnits {\n name: string;\n title: string;\n items: AXPValueUnit[];\n default: string;\n}\n\nexport interface AXPApplicationUserReference {\n id: string;\n name: string;\n title: string;\n}\n\nexport type AXPMaybePromise<T = unknown> = T | Promise<T>;\n\nexport type AXPFlowDirection = 'vertical' | 'horizontal';\n\nexport type AXPContentDirection = 'rtl' | 'ltr';\n\nexport interface AXPSystemAction {\n key: string;\n title: string;\n icon?: string;\n color?: string;\n critical?: boolean;\n descriptions: {\n title: string;\n tooltip: string;\n permission: string;\n audit: string;\n };\n}\n\nexport enum AXPSystemActionType {\n View = 'view',\n Create = 'create',\n Update = 'update',\n Delete = 'delete',\n Approve = 'approve',\n Reject = 'reject',\n Submit = 'submit',\n Export = 'export',\n Import = 'import',\n Print = 'print',\n Assign = 'assign',\n Lock = 'lock',\n Unlock = 'unlock',\n Share = 'share',\n Configure = 'configure',\n Reorder = 'reorder',\n Preview = 'preview',\n Duplicate = 'duplicate',\n Archive = 'archive',\n Publish = 'publish',\n Unpublish = 'unpublish',\n Upload = 'upload',\n Download = 'download',\n Copy = 'copy',\n Move = 'move',\n Rename = 'rename',\n Restore = 'restore',\n Manage = 'manage',\n Info = 'info',\n Confirm = 'confirm',\n Design = 'design',\n VersionHistory = 'version-history',\n Compare = 'compare',\n Comments = 'comments',\n Sign = 'sign',\n Setup = 'setup',\n Send = 'send',\n Report = 'report',\n Sent = 'sent',\n Review = 'review',\n Generate = 'generate',\n Refresh = 'refresh',\n Reload = 'reload',\n Search = 'search',\n Filter = 'filter',\n Sort = 'sort',\n Start = 'start',\n Stop = 'stop',\n Pause = 'pause',\n Cancel = 'cancel',\n Close = 'close',\n Complete = 'complete',\n Save = 'save',\n SaveAs = 'save-as',\n Sync = 'sync',\n Reset = 'reset',\n Clear = 'clear',\n Distribution = 'distribution',\n}\n\n//#endregion\n","//#region ---- Context store contracts ----\n\nexport type AXPContextState = 'initiated' | 'restored' | 'changed' | 'patch';\n\nexport type AXPContextUpdateOrigin = 'user' | 'system';\n\nexport interface AXPContextUpdateOptions {\n origin?: AXPContextUpdateOrigin;\n}\n\nexport interface AXPContextPatchOptions {\n /** When true, updates the saved snapshot together with live data. */\n updateSaved?: boolean;\n}\n\nexport type AXPContextData = {\n [key: string]: any;\n};\n\nexport class AXPContextChangeEvent {\n oldValue?: any;\n newValue?: any;\n path?: string;\n state: AXPContextState;\n data: any;\n origin?: AXPContextUpdateOrigin;\n /** Aggregated form dirty flag (context snapshot + composite widget dirty). */\n isFormDirty?: boolean;\n}\n\n//#endregion\n","import type { AXStyleColorType } from './shims.types';\nimport { AXPSystemAction, AXPSystemActionType } from './core.types';\n\n/**\n * Additional suggested generic actions for future consideration:\n *\n * Data & Content Actions:\n * - Search = 'search' - Search functionality\n * - Filter = 'filter' - Apply filters\n * - Sort = 'sort' - Sort data\n * - Group = 'group' - Group data\n * - Expand = 'expand' - Expand details\n * - Collapse = 'collapse' - Collapse details\n * - Pin = 'pin' - Pin to favorites\n * - Bookmark = 'bookmark' - Bookmark item\n * - Favorite = 'favorite' - Mark as favorite\n * - Star = 'star' - Star rating\n *\n * Workflow Actions:\n * - Start = 'start' - Start process/workflow\n * - Stop = 'stop' - Stop process\n * - Pause = 'pause' - Pause process\n * - Resume = 'resume' - Resume process\n * - Cancel = 'cancel' - Cancel operation\n * - Complete = 'complete' - Mark as complete\n * - Close = 'close' - Close item\n * - Reopen = 'reopen' - Reopen closed item\n * - Forward = 'forward' - Forward to next step\n * - Back = 'back' - Go back\n *\n * Communication Actions:\n * - Reply = 'reply' - Reply to message\n * - Forward = 'forward' - Forward message\n * - Notify = 'notify' - Send notification\n * - Invite = 'invite' - Invite user\n * - Join = 'join' - Join group/meeting\n * - Leave = 'leave' - Leave group/meeting\n *\n * Security Actions:\n * - Login = 'login' - User login\n * - Logout = 'logout' - User logout\n * - Block = 'block' - Block user/content\n * - Unblock = 'unblock' - Unblock user/content\n * - Ban = 'ban' - Ban user\n * - Unban = 'unban' - Unban user\n * - Verify = 'verify' - Verify identity\n * - Authenticate = 'authenticate' - Authenticate\n *\n * File & Media Actions:\n * - Open = 'open' - Open file\n * - Save = 'save' - Save file\n * - SaveAs = 'save-as' - Save as new file\n * - Attach = 'attach' - Attach file\n * - Detach = 'detach' - Detach file\n * - Compress = 'compress' - Compress files\n * - Extract = 'extract' - Extract archive\n * - Convert = 'convert' - Convert format\n * - Crop = 'crop' - Crop image\n * - Resize = 'resize' - Resize image\n *\n * System Actions:\n * - Sync = 'sync' - Synchronize data\n * - Backup = 'backup' - Create backup\n * - Restore = 'restore' - Restore from backup\n * - Reset = 'reset' - Reset to defaults\n * - Clear = 'clear' - Clear data\n * - Optimize = 'optimize' - Optimize performance\n * - Update = 'update' - Update system\n * - Install = 'install' - Install component\n * - Uninstall = 'uninstall' - Uninstall component\n * - Enable = 'enable' - Enable feature\n * - Disable = 'disable' - Disable feature\n *\n * Analytics & Monitoring:\n * - Monitor = 'monitor' - Monitor activity\n * - Track = 'track' - Track progress\n * - Analyze = 'analyze' - Analyze data\n * - Debug = 'debug' - Debug issue\n * - Log = 'log' - View logs\n * - Alert = 'alert' - Set alert\n * - Dashboard = 'dashboard' - View dashboard\n * - Metrics = 'metrics' - View metrics\n *\n * Collaboration Actions:\n * - Collaborate = 'collaborate' - Start collaboration\n * - Share = 'share' - Share content\n * - Comment = 'comment' - Add comment\n * - Like = 'like' - Like content\n * - Follow = 'follow' - Follow user/content\n * - Subscribe = 'subscribe' - Subscribe to updates\n * - Unsubscribe = 'unsubscribe' - Unsubscribe\n * - Rate = 'rate' - Rate content\n * - Review = 'review' - Review content\n * - Recommend = 'recommend' - Recommend content\n */\n\nconst i18n = (key: string) => `@general:actions.${key}`;\n\nexport const AXPSystemActions = Object.freeze({\n View: {\n key: AXPSystemActionType.View,\n title: i18n('view.title'),\n icon: 'fa-light fa-eye',\n color: 'primary',\n descriptions: {\n title: i18n('view.title'),\n tooltip: i18n('view.description'),\n permission: i18n('view.permission'),\n audit: i18n('view.audit')\n }\n },\n Create: {\n key: AXPSystemActionType.Create,\n title: i18n('create.title'),\n icon: 'fa-light fa-plus',\n color: 'primary',\n descriptions: {\n title: i18n('create.title'),\n tooltip: i18n('create.description'),\n permission: i18n('create.permission'),\n audit: i18n('create.audit')\n }\n },\n Edit: {\n key: AXPSystemActionType.Update,\n title: i18n('edit.title'),\n icon: 'fa-light fa-pen',\n color: 'default',\n descriptions: {\n title: i18n('edit.title'),\n tooltip: i18n('edit.description'),\n permission: i18n('edit.permission'),\n audit: i18n('edit.audit')\n }\n },\n Delete: {\n key: AXPSystemActionType.Delete,\n title: i18n('delete.title'),\n icon: 'fa-light fa-trash',\n color: 'danger',\n critical: true,\n descriptions: {\n title: i18n('delete.title'),\n tooltip: i18n('delete.description'),\n permission: i18n('delete.permission'),\n audit: i18n('delete.audit')\n }\n },\n Approve: {\n key: AXPSystemActionType.Approve,\n title: i18n('approve.title'),\n icon: 'fa-light fa-circle-check',\n color: 'success',\n critical: true,\n descriptions: {\n title: i18n('approve.title'),\n tooltip: i18n('approve.description'),\n permission: i18n('approve.permission'),\n audit: i18n('approve.audit')\n }\n },\n Submit: {\n key: AXPSystemActionType.Submit,\n title: i18n('submit.title'),\n icon: 'fa-light fa-paper-plane',\n color: 'primary',\n descriptions: {\n title: i18n('submit.title'),\n tooltip: i18n('submit.description'),\n permission: i18n('submit.permission'),\n audit: i18n('submit.audit')\n }\n },\n Reject: {\n key: AXPSystemActionType.Reject,\n title: i18n('reject.title'),\n icon: 'fa-light fa-ban',\n color: 'danger',\n critical: true,\n descriptions: {\n title: i18n('reject.title'),\n tooltip: i18n('reject.description'),\n permission: i18n('reject.permission'),\n audit: i18n('reject.audit')\n }\n },\n Export: {\n key: AXPSystemActionType.Export,\n title: i18n('export.title'),\n icon: 'fa-light fa-download',\n color: 'default',\n descriptions: {\n title: i18n('export.title'),\n tooltip: i18n('export.description'),\n permission: i18n('export.permission'),\n audit: i18n('export.audit')\n }\n },\n Import: {\n key: AXPSystemActionType.Import,\n title: i18n('import.title'),\n icon: 'fa-light fa-upload',\n color: 'default',\n descriptions: {\n title: i18n('import.title'),\n tooltip: i18n('import.description'),\n permission: i18n('import.permission'),\n audit: i18n('import.audit')\n }\n },\n Print: {\n key: AXPSystemActionType.Print,\n title: i18n('print.title'),\n icon: 'fa-light fa-print',\n color: 'default',\n descriptions: {\n title: i18n('print.title'),\n tooltip: i18n('print.description'),\n permission: i18n('print.permission'),\n audit: i18n('print.audit')\n }\n },\n Duplicate: {\n key: AXPSystemActionType.Duplicate,\n title: i18n('duplicate.title'),\n icon: 'fa-light fa-clone',\n color: 'warning',\n descriptions: {\n title: i18n('duplicate.title'),\n tooltip: i18n('duplicate.description'),\n permission: i18n('duplicate.permission'),\n audit: i18n('duplicate.audit')\n }\n },\n Archive: {\n key: AXPSystemActionType.Archive,\n title: i18n('archive.title'),\n icon: 'fa-light fa-box-archive',\n color: 'default',\n descriptions: {\n title: i18n('archive.title'),\n tooltip: i18n('archive.description'),\n permission: i18n('archive.permission'),\n audit: i18n('archive.audit')\n }\n },\n Restore: {\n key: AXPSystemActionType.Restore,\n title: i18n('restore.title'),\n icon: 'fa-light fa-arrow-rotate-left',\n color: 'default',\n descriptions: {\n title: i18n('restore.title'),\n tooltip: i18n('restore.description'),\n permission: i18n('restore.permission'),\n audit: i18n('restore.audit')\n }\n },\n Assign: {\n key: AXPSystemActionType.Assign,\n title: i18n('assign.title'),\n icon: 'fa-light fa-user-plus',\n color: 'primary',\n descriptions: {\n title: i18n('assign.title'),\n tooltip: i18n('assign.description'),\n permission: i18n('assign.permission'),\n audit: i18n('assign.audit')\n }\n },\n Lock: {\n key: AXPSystemActionType.Lock,\n title: i18n('lock.title'),\n icon: 'fa-light fa-lock',\n color: 'warning',\n descriptions: {\n title: i18n('lock.title'),\n tooltip: i18n('lock.description'),\n permission: i18n('lock.permission'),\n audit: i18n('lock.audit')\n }\n },\n Unlock: {\n key: AXPSystemActionType.Unlock,\n title: i18n('unlock.title'),\n icon: 'fa-light fa-unlock',\n color: 'success',\n descriptions: {\n title: i18n('unlock.title'),\n tooltip: i18n('unlock.description'),\n permission: i18n('unlock.permission'),\n audit: i18n('unlock.audit')\n }\n },\n Share: {\n key: AXPSystemActionType.Share,\n title: i18n('share.title'),\n icon: 'fa-light fa-share-nodes',\n color: 'info',\n descriptions: {\n title: i18n('share.title'),\n tooltip: i18n('share.description'),\n permission: i18n('share.permission'),\n audit: i18n('share.audit')\n }\n },\n Configure: {\n key: AXPSystemActionType.Configure,\n title: i18n('configure.title'),\n icon: 'fa-light fa-sliders',\n color: 'primary',\n descriptions: {\n title: i18n('configure.title'),\n tooltip: i18n('configure.description'),\n permission: i18n('configure.permission'),\n audit: i18n('configure.audit')\n }\n },\n Reorder: {\n key: AXPSystemActionType.Reorder,\n title: i18n('reorder.title'),\n icon: 'fa-light fa-arrow-down-up-across-line',\n color: 'default',\n descriptions: {\n title: i18n('reorder.title'),\n tooltip: i18n('reorder.description'),\n permission: i18n('reorder.permission'),\n audit: i18n('reorder.audit')\n }\n },\n Preview: {\n key: AXPSystemActionType.Preview,\n title: i18n('preview.title'),\n icon: 'fa-light fa-magnifying-glass',\n color: 'default',\n descriptions: {\n title: i18n('preview.title'),\n tooltip: i18n('preview.description'),\n permission: i18n('preview.permission'),\n audit: i18n('preview.audit')\n }\n },\n Publish: {\n key: AXPSystemActionType.Publish,\n title: i18n('publish.title'),\n icon: 'fa-light fa-globe',\n color: 'success',\n descriptions: {\n title: i18n('publish.title'),\n tooltip: i18n('publish.description'),\n permission: i18n('publish.permission'),\n audit: i18n('publish.audit')\n }\n },\n Unpublish: {\n key: AXPSystemActionType.Unpublish,\n title: i18n('unpublish.title'),\n icon: 'fa-light fa-globe-slash',\n color: 'danger',\n descriptions: {\n title: i18n('unpublish.title'),\n tooltip: i18n('unpublish.description'),\n permission: i18n('unpublish.permission'),\n audit: i18n('unpublish.audit')\n }\n },\n Upload: {\n key: AXPSystemActionType.Upload,\n title: i18n('upload.title'),\n icon: 'fa-light fa-upload',\n color: 'default',\n descriptions: {\n title: i18n('upload.title'),\n tooltip: i18n('upload.description'),\n permission: i18n('upload.permission'),\n audit: i18n('upload.audit')\n }\n },\n Download: {\n key: AXPSystemActionType.Download,\n title: i18n('download.title'),\n icon: 'fa-light fa-download',\n color: 'default',\n descriptions: {\n title: i18n('download.title'),\n tooltip: i18n('download.description'),\n permission: i18n('download.permission'),\n audit: i18n('download.audit')\n }\n },\n Copy: {\n key: AXPSystemActionType.Copy,\n title: i18n('copy.title'),\n icon: 'fa-light fa-copy',\n color: 'default',\n descriptions: {\n title: i18n('copy.title'),\n tooltip: i18n('copy.description'),\n permission: i18n('copy.permission'),\n audit: i18n('copy.audit')\n }\n },\n Move: {\n key: AXPSystemActionType.Move,\n title: i18n('move.title'),\n icon: 'fa-light fa-arrow-right-arrow-left',\n color: 'default',\n descriptions: {\n title: i18n('move.title'),\n tooltip: i18n('move.description'),\n permission: i18n('move.permission'),\n audit: i18n('move.audit')\n }\n },\n Rename: {\n key: AXPSystemActionType.Rename,\n title: i18n('rename.title'),\n icon: 'fa-light fa-pen',\n color: 'default',\n descriptions: {\n title: i18n('rename.title'),\n tooltip: i18n('rename.description'),\n permission: i18n('rename.permission'),\n audit: i18n('rename.audit')\n }\n },\n Manage: {\n key: AXPSystemActionType.Manage,\n title: i18n('manage.title'),\n icon: 'fa-light fa-gear',\n color: 'default',\n descriptions: {\n title: i18n('manage.title'),\n tooltip: i18n('manage.description'),\n permission: i18n('manage.permission'),\n audit: i18n('manage.audit')\n }\n },\n Info: {\n key: AXPSystemActionType.Info,\n title: i18n('info.title'),\n icon: 'fa-light fa-info',\n color: 'default',\n descriptions: {\n title: i18n('info.title'),\n tooltip: i18n('info.description'),\n permission: i18n('info.permission'),\n audit: i18n('info.audit')\n }\n },\n Confirm: {\n key: AXPSystemActionType.Confirm,\n title: i18n('confirm.title'),\n icon: 'fa-light fa-check',\n color: 'success',\n descriptions: {\n title: i18n('confirm.title'),\n tooltip: i18n('confirm.description'),\n permission: i18n('confirm.permission'),\n audit: i18n('confirm.audit')\n }\n },\n Design: {\n key: AXPSystemActionType.Design,\n title: i18n('design.title'),\n icon: 'fa-light fa-paintbrush',\n color: 'default',\n descriptions: {\n title: i18n('design.title'),\n tooltip: i18n('design.description'),\n permission: i18n('design.permission'),\n audit: i18n('design.audit')\n }\n },\n VersionHistory: {\n key: AXPSystemActionType.VersionHistory,\n title: i18n('version-history.title'),\n icon: 'fa-light fa-history',\n color: 'default',\n descriptions: {\n title: i18n('version-history.title'),\n tooltip: i18n('version-history.description'),\n permission: i18n('version-history.permission'),\n audit: i18n('version-history.audit')\n }\n },\n Compare: {\n key: AXPSystemActionType.Compare,\n title: i18n('compare.title'),\n icon: 'fa-light fa-code-compare',\n color: 'default',\n descriptions: {\n title: i18n('compare.title'),\n tooltip: i18n('compare.description'),\n permission: i18n('compare.permission'),\n audit: i18n('compare.audit')\n }\n },\n Comments: {\n key: AXPSystemActionType.Comments,\n title: i18n('comments.title'),\n icon: 'fa-light fa-comments',\n color: 'default',\n descriptions: {\n title: i18n('comments.title'),\n tooltip: i18n('comments.description'),\n permission: i18n('comments.permission'),\n audit: i18n('comments.audit')\n }\n },\n Sign: {\n key: AXPSystemActionType.Sign,\n title: i18n('sign.title'),\n icon: 'fa-light fa-signature',\n color: 'default',\n descriptions: {\n title: i18n('sign.title'),\n tooltip: i18n('sign.description'),\n permission: i18n('sign.permission'),\n audit: i18n('sign.audit')\n }\n },\n Setup: {\n key: AXPSystemActionType.Setup,\n title: i18n('setup.title'),\n icon: 'fa-light fa-cog',\n color: 'default',\n descriptions: {\n title: i18n('setup.title'),\n tooltip: i18n('setup.description'),\n permission: i18n('setup.permission'),\n audit: i18n('setup.audit')\n }\n },\n Send: {\n key: AXPSystemActionType.Send,\n title: i18n('send.title'),\n icon: 'fa-light fa-envelope',\n color: 'default',\n descriptions: {\n title: i18n('send.title'),\n tooltip: i18n('send.description'),\n permission: i18n('send.permission'),\n audit: i18n('send.audit')\n }\n },\n Report: {\n key: AXPSystemActionType.Report,\n title: i18n('report.title'),\n icon: 'fa-light fa-chart-line',\n color: 'default',\n descriptions: {\n title: i18n('report.title'),\n tooltip: i18n('report.description'),\n permission: i18n('report.permission'),\n audit: i18n('report.audit')\n }\n },\n Sent: {\n key: AXPSystemActionType.Sent,\n title: i18n('sent.title'),\n icon: 'fa-light fa-paper-plane',\n color: 'default',\n descriptions: {\n title: i18n('sent.title'),\n tooltip: i18n('sent.description'),\n permission: i18n('sent.permission'),\n audit: i18n('sent.audit')\n }\n },\n Review: {\n key: AXPSystemActionType.Review,\n title: i18n('review.title'),\n icon: 'fa-light fa-eye',\n color: 'default',\n descriptions: {\n title: i18n('review.title'),\n tooltip: i18n('review.description'),\n permission: i18n('review.permission'),\n audit: i18n('review.audit')\n }\n },\n Generate: {\n key: AXPSystemActionType.Generate,\n title: i18n('generate.title'),\n icon: 'fa-light fa-wand-magic-sparkles',\n color: 'primary',\n descriptions: {\n title: i18n('generate.title'),\n tooltip: i18n('generate.description'),\n permission: i18n('generate.permission'),\n audit: i18n('generate.audit')\n }\n },\n Refresh: {\n key: AXPSystemActionType.Refresh,\n title: i18n('refresh.title'),\n icon: 'fa-light fa-arrows-rotate',\n color: 'default',\n descriptions: {\n title: i18n('refresh.title'),\n tooltip: i18n('refresh.description'),\n permission: i18n('refresh.permission'),\n audit: i18n('refresh.audit')\n }\n },\n Reload: {\n key: AXPSystemActionType.Reload,\n title: i18n('reload.title'),\n icon: 'fa-light fa-arrows-rotate',\n color: 'default',\n descriptions: {\n title: i18n('reload.title'),\n tooltip: i18n('reload.description'),\n permission: i18n('reload.permission'),\n audit: i18n('reload.audit')\n }\n },\n Search: {\n key: AXPSystemActionType.Search,\n title: i18n('search.title'),\n icon: 'fa-light fa-magnifying-glass',\n color: 'default',\n descriptions: {\n title: i18n('search.title'),\n tooltip: i18n('search.description'),\n permission: i18n('search.permission'),\n audit: i18n('search.audit')\n }\n },\n Filter: {\n key: AXPSystemActionType.Filter,\n title: i18n('filter.title'),\n icon: 'fa-light fa-filter',\n color: 'default',\n descriptions: {\n title: i18n('filter.title'),\n tooltip: i18n('filter.description'),\n permission: i18n('filter.permission'),\n audit: i18n('filter.audit')\n }\n },\n Sort: {\n key: AXPSystemActionType.Sort,\n title: i18n('sort.title'),\n icon: 'fa-light fa-arrow-down-up-across-line',\n color: 'default',\n descriptions: {\n title: i18n('sort.title'),\n tooltip: i18n('sort.description'),\n permission: i18n('sort.permission'),\n audit: i18n('sort.audit')\n }\n },\n Start: {\n key: AXPSystemActionType.Start,\n title: i18n('start.title'),\n icon: 'fa-light fa-play',\n color: 'success',\n descriptions: {\n title: i18n('start.title'),\n tooltip: i18n('start.description'),\n permission: i18n('start.permission'),\n audit: i18n('start.audit')\n }\n },\n Stop: {\n key: AXPSystemActionType.Stop,\n title: i18n('stop.title'),\n icon: 'fa-light fa-stop',\n color: 'danger',\n critical: true,\n descriptions: {\n title: i18n('stop.title'),\n tooltip: i18n('stop.description'),\n permission: i18n('stop.permission'),\n audit: i18n('stop.audit')\n }\n },\n Pause: {\n key: AXPSystemActionType.Pause,\n title: i18n('pause.title'),\n icon: 'fa-light fa-pause',\n color: 'warning',\n descriptions: {\n title: i18n('pause.title'),\n tooltip: i18n('pause.description'),\n permission: i18n('pause.permission'),\n audit: i18n('pause.audit')\n }\n },\n Cancel: {\n key: AXPSystemActionType.Cancel,\n title: i18n('cancel.title'),\n icon: 'fa-light fa-xmark',\n critical: true,\n descriptions: {\n title: i18n('cancel.title'),\n tooltip: i18n('cancel.description'),\n permission: i18n('cancel.permission'),\n audit: i18n('cancel.audit')\n }\n },\n Close: {\n key: AXPSystemActionType.Close,\n title: i18n('close.title'),\n icon: 'fa-light fa-xmark',\n color: 'default',\n descriptions: {\n title: i18n('close.title'),\n tooltip: i18n('close.description'),\n permission: i18n('close.permission'),\n audit: i18n('close.audit')\n }\n },\n Complete: {\n key: AXPSystemActionType.Complete,\n title: i18n('complete.title'),\n icon: 'fa-light fa-check',\n color: 'success',\n descriptions: {\n title: i18n('complete.title'),\n tooltip: i18n('complete.description'),\n permission: i18n('complete.permission'),\n audit: i18n('complete.audit')\n }\n },\n Save: {\n key: AXPSystemActionType.Save,\n title: i18n('save.title'),\n icon: 'fa-light fa-floppy-disk',\n color: 'primary',\n descriptions: {\n title: i18n('save.title'),\n tooltip: i18n('save.description'),\n permission: i18n('save.permission'),\n audit: i18n('save.audit')\n }\n },\n SaveAs: {\n key: AXPSystemActionType.SaveAs,\n title: i18n('save-as.title'),\n icon: 'fa-light fa-floppy-disk',\n color: 'default',\n descriptions: {\n title: i18n('save-as.title'),\n tooltip: i18n('save-as.description'),\n permission: i18n('save-as.permission'),\n audit: i18n('save-as.audit')\n }\n },\n Sync: {\n key: AXPSystemActionType.Sync,\n title: i18n('sync.title'),\n icon: 'fa-light fa-arrows-rotate',\n color: 'default',\n descriptions: {\n title: i18n('sync.title'),\n tooltip: i18n('sync.description'),\n permission: i18n('sync.permission'),\n audit: i18n('sync.audit')\n }\n },\n Reset: {\n key: AXPSystemActionType.Reset,\n title: i18n('reset.title'),\n icon: 'fa-light fa-arrow-rotate-left',\n color: 'warning',\n critical: true,\n descriptions: {\n title: i18n('reset.title'),\n tooltip: i18n('reset.description'),\n permission: i18n('reset.permission'),\n audit: i18n('reset.audit')\n }\n },\n Clear: {\n key: AXPSystemActionType.Clear,\n title: i18n('clear.title'),\n icon: 'fa-light fa-eraser',\n color: 'default',\n descriptions: {\n title: i18n('clear.title'),\n tooltip: i18n('clear.description'),\n permission: i18n('clear.permission'),\n audit: i18n('clear.audit')\n }\n },\n Distribution: {\n key: AXPSystemActionType.Distribution,\n title: i18n('distribution.title'),\n icon: 'fa-light fa-share-nodes',\n color: 'default',\n descriptions: {\n title: i18n('distribution.title'),\n tooltip: i18n('distribution.description'),\n permission: i18n('distribution.permission'),\n audit: i18n('distribution.audit')\n }\n },\n\n} as const satisfies Record<string, AXPSystemAction>);\n\nexport function getSystemActions(type: AXPSystemActionType): AXPSystemAction {\n return Object.values(AXPSystemActions).find(action => action.key === type) as AXPSystemAction;\n}\n\n/**\n * Resolves the visual appearance (color and icon) for entity actions.\n */\nexport function resolveActionLook(actionType: string): { color: AXStyleColorType; icon: string } {\n const systemActionType = actionType as AXPSystemActionType;\n if (systemActionType) {\n const systemAction = getSystemActions(systemActionType);\n if (systemAction) {\n return {\n color: (systemAction.color || 'default') as AXStyleColorType,\n icon: systemAction.icon || ''\n };\n }\n }\n\n return {\n color: 'default' as AXStyleColorType,\n icon: ''\n };\n}\n\n/**\n * Resolves the title, description, icon and color for button actions.\n */\nexport function getActionButton(actionType: string): { name: string; title: string; description: string, icon: string, color: string } {\n const systemActionType = actionType as AXPSystemActionType;\n if (systemActionType) {\n const systemAction = getSystemActions(systemActionType);\n if (systemAction) {\n return {\n name: actionType,\n icon: systemAction.icon || '',\n color: systemAction.color || 'default',\n title: systemAction.title,\n description: systemAction.descriptions.title\n };\n }\n }\n\n return {\n name: actionType,\n title: actionType,\n description: `Perform ${actionType} action`,\n icon: '',\n color: 'default'\n };\n}\n","//#region ---- CDK / component shims (pure contracts, no @acorex/cdk) ----\n\nexport type AXDataSourceOperatorType =\n | 'endsWith'\n | 'startsWith'\n | 'in'\n | 'equal'\n | 'isNull'\n | 'isEmpty'\n | 'lt'\n | 'lte'\n | 'gt'\n | 'gte'\n | 'contains';\n\nexport interface AXDataSourceOperator {\n type: AXDataSourceOperatorType;\n negative?: boolean;\n}\n\nexport type AXStyleColorType = string;\n\nexport type AXPopupSizeType = string;\n\nexport type AXFilterLogic = 'and' | 'or';\n\nexport interface AXDataSourceFilterOption {\n field?: string;\n operator?: AXDataSourceOperator;\n value?: unknown;\n logic?: AXFilterLogic;\n filters?: AXDataSourceFilterOption[];\n}\n\nexport interface AXDataSourceSortOption {\n field: string;\n dir?: 'asc' | 'desc';\n}\n\n//#endregion\n","//#region ---- Platform scope types ----\n\nexport type AXPPlatformScopeKey = 'P' | 'T' | 'U';\n\nexport enum AXPPlatformScope {\n Platform = 'P',\n Tenant = 'T',\n User = 'U',\n}\n\nexport function resolvePlatformScopeKey(name: string): AXPPlatformScopeKey {\n const scopeMap: Record<string, AXPPlatformScopeKey> = {\n platform: AXPPlatformScope.Platform,\n tenant: AXPPlatformScope.Tenant,\n user: AXPPlatformScope.User,\n };\n return scopeMap[name.toLowerCase()] ?? AXPPlatformScope.User;\n}\n\nexport function resolvePlatformScopeName(scope: AXPPlatformScopeKey): string {\n const scopeMap: Record<AXPPlatformScopeKey, string> = {\n P: 'platform',\n T: 'tenant',\n U: 'user',\n };\n return scopeMap[scope] ?? 'user';\n}\n\n//#endregion\n","//#region ---- Logo config ----\n\n/**\n * Structural logo configuration shared by url, icon, and component-based logos.\n * Runtime classes live in `@acorex/platform/core` (`AXPImageUrlLogoConfig`, etc.).\n */\nexport interface AXPLogoConfig {\n width?: number;\n height?: number;\n url?: string;\n icon?: string;\n color?: string;\n component?: unknown;\n}\n\n//#endregion\n","//#region ---- Response types ----\n\nexport interface AXPMiddlewareErrorResponse {\n success: false;\n error: {\n code?: string;\n message: string;\n status?: number;\n details?: unknown;\n };\n}\n\n//#endregion\n","//#region ---- Core contracts ----\n\nexport * from './core.types';\nexport * from './context.types';\nexport * from './actions.types';\nexport * from './shims.types';\nexport * from './scope.types';\nexport * from './logo.types';\nexport * from './response.types';\n\n//#endregion\n","import { isPlainObject } from 'lodash-es';\n\n//#region ---- Locale map shape ----\n\n/** Per-locale string map (`{ 'en-US': '...', 'fa-IR': '...' }`). */\nexport function isLocaleStringMap(value: unknown): value is Record<string, string> {\n if (!isPlainObject(value)) {\n return false;\n }\n const entries = Object.values(value as Record<string, unknown>);\n if (entries.length === 0) {\n return false;\n }\n return entries.every(\n (entry) => entry === null || entry === undefined || typeof entry === 'string',\n );\n}\n\n/**\n * Use locale-map read/write when the option is on or live/saved data is already a map.\n * Auto-enables when API data is a map but the editor option was left off.\n */\nexport function shouldUseLocaleMapShape(\n localeMapOptionEnabled: boolean,\n current: unknown,\n saved: unknown,\n): boolean {\n return localeMapOptionEnabled || isLocaleStringMap(current) || isLocaleStringMap(saved);\n}\n\n/** Updates one locale entry; preserves sibling locales from current or saved map. */\nexport function buildLocaleTextMapValue(\n current: unknown,\n saved: unknown,\n lang: string,\n input: string,\n): Record<string, string> | null {\n const seed = isLocaleStringMap(current)\n ? { ...current }\n : isLocaleStringMap(saved)\n ? { ...saved }\n : {};\n\n seed[lang] = input ?? '';\n for (const key of Object.keys(seed)) {\n if ((seed[key] ?? '').trim() === '') {\n delete seed[key];\n }\n }\n return Object.keys(seed).length === 0 ? null : seed;\n}\n\n//#endregion\n","import {\n cloneDeep,\n differenceWith,\n get,\n isArray,\n isEmpty,\n isEqual,\n isNil,\n isObjectLike,\n isPlainObject,\n merge,\n set,\n transform,\n union,\n} from 'lodash-es';\nimport { isLocaleStringMap } from '../multi-language-string/locale-map-value.util';\n\nexport function extractNestedFieldsWildcard(obj: any, basePath: string, fields: string[]): any {\n const result: any = {};\n\n if (fields.length === 1 && fields[0] === '*') {\n const fullObj = get(obj, basePath);\n return isPlainObject(fullObj) ? fullObj : {};\n }\n\n for (const field of fields) {\n const fullPath = basePath ? `${basePath}.${field}` : field;\n const value = get(obj, fullPath);\n set(result, field, value);\n }\n\n return result;\n}\n\nexport function setSmart(obj: any, smartPath: string, value: any): any {\n const pathParts = smartPath.split('.');\n const lastPart = pathParts[pathParts.length - 1];\n const fieldMatch = lastPart.match(/^\\{(.+)\\}$/);\n\n if (!fieldMatch) {\n // Fix: If value is undefined and we're setting a nested property,\n // check if the parent object exists and if setting this would result in\n // all properties being undefined. If so, set the parent to null instead.\n if (isNil(value) && pathParts.length > 1) {\n const parentPath = pathParts.slice(0, -1).join('.');\n const parentObj = get(obj, parentPath);\n\n // If parent is already null/undefined, don't recreate the object structure\n if (isNil(parentObj)) {\n return obj;\n }\n\n // Check if parent is a plain object (not array, not null)\n if (isPlainObject(parentObj)) {\n const existingKeys = Object.keys(parentObj);\n // Check if all existing properties are null/undefined using lodash\n const allNil = isEmpty(existingKeys) || existingKeys.every((key) => isNil(parentObj[key]));\n\n if (allNil) {\n // Set parent to null instead of creating/keeping an object with all undefined properties\n set(obj, parentPath, null);\n return obj;\n }\n }\n }\n\n set(obj, smartPath, value);\n\n // After setting, check again if parent should be null using lodash\n if (isNil(value) && pathParts.length > 1) {\n const parentPath = pathParts.slice(0, -1).join('.');\n const parentObj = get(obj, parentPath);\n\n if (isPlainObject(parentObj)) {\n // Use lodash to check if all properties are null/undefined\n const allNil = Object.keys(parentObj).every((key) => isNil(parentObj[key]));\n if (allNil) {\n set(obj, parentPath, null);\n }\n }\n }\n\n return obj;\n }\n\n const fields = fieldMatch[1].split(',').map((f) => f.trim());\n const basePath = pathParts.slice(0, -1).join('.');\n const [arrayKey, ...restPath] = basePath.split('.');\n\n // Make sure the array exists\n if (!obj[arrayKey]) obj[arrayKey] = [];\n\n // 🟡 Case A: value is array (normal set)\n if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const targetItem = obj[arrayKey][i] ?? {};\n const nested = {};\n\n if (restPath.length > 0) {\n const picked = extractNestedFieldsWildcard(item, restPath.join('.'), fields);\n set(nested, restPath.join('.'), picked);\n } else {\n const picked = extractNestedFieldsWildcard(item, '', fields);\n Object.assign(nested, picked);\n }\n\n obj[arrayKey][i] = merge({}, targetItem, nested);\n }\n }\n\n // 🟢 Case B: value is a single value → broadcast\n else {\n for (let i = 0; i < obj[arrayKey].length; i++) {\n const targetItem = obj[arrayKey][i] ?? {};\n const nested = {};\n\n if (restPath.length > 0) {\n for (const field of fields) {\n set(nested, `${restPath.join('.')}.${field}`, value);\n }\n } else {\n for (const field of fields) {\n set(nested, field, value);\n }\n }\n\n obj[arrayKey][i] = merge({}, targetItem, nested);\n }\n }\n\n return obj;\n}\n\nfunction extractFieldsFromPath(obj: any, basePath: string, fields: string[]): any {\n if (fields.length === 1 && fields[0] === '*') {\n const fullObj = basePath ? get(obj, basePath) : obj;\n return isPlainObject(fullObj) ? fullObj : {};\n }\n\n const result: any = {};\n for (const field of fields) {\n const fullPath = basePath ? `${basePath}.${field}` : field;\n const val = get(obj, fullPath);\n if (val !== undefined) {\n result[field] = val;\n }\n }\n return result;\n}\n\nexport function getSmart(obj: any, smartPath: string): any {\n const pathParts = smartPath.split('.');\n const lastPart = pathParts[pathParts.length - 1];\n const fieldMatch = lastPart.match(/^\\{(.+)\\}$/);\n\n // Simple get (no fields)\n if (!fieldMatch) {\n return get(obj, smartPath);\n }\n\n const fields = fieldMatch[1].split(',').map((f) => f.trim());\n const basePath = pathParts.slice(0, -1).join('.');\n const items = get(obj, basePath);\n\n if (!isArray(items)) return [];\n\n const nestedPath = basePath.includes('.') ? basePath.split('.').slice(1).join('.') : '';\n\n return items.map((item) => {\n return extractFieldsFromPath(item, nestedPath, fields);\n });\n}\n\nexport function extractValue<T = any>(value: any, key: string = 'id'): T | null {\n if (isNil(value)) {\n return null;\n }\n return isObjectLike(value) ? get(value, key) : value;\n}\n\nexport function cleanDeep(obj: any) {\n return transform(obj, (result: any, value: any, key: string) => {\n if (isObjectLike(value)) {\n const cleaned = cleanDeep(value);\n if (!isEmpty(cleaned)) {\n result[key] = cleaned;\n }\n } else if (\n !isNil(value) && // not null or undefined\n !(typeof value === 'string' && value.trim() === '') && // not empty string\n !(Array.isArray(value) && value.length === 0) // not empty array\n ) {\n result[key] = value;\n }\n });\n}\n\ntype ChangeEntry = {\n path: string;\n oldValue: any;\n newValue: any;\n arrayDiff?: {\n added: any[];\n removed: any[];\n };\n};\n\nfunction getDeepChanges(obj1: any, obj2: any): ChangeEntry[] {\n const changes: ChangeEntry[] = [];\n\n function walk(o1: any, o2: any, currentPath: string[] = []) {\n // If both values are deeply equal, skip\n if (isEqual(o1, o2)) return;\n\n const isObj1Nil = o1 === null || o1 === undefined;\n const isObj2Nil = o2 === null || o2 === undefined;\n\n // If obj1 is null/undefined and obj2 is not, treat entire obj2 as added\n if (isObj1Nil && !isObj2Nil) {\n if (isPlainObject(o2)) {\n for (const key of Object.keys(o2)) {\n walk(undefined, o2[key], [...currentPath, key]);\n }\n } else if (Array.isArray(o2)) {\n changes.push({\n path: currentPath.join('.'),\n oldValue: undefined,\n newValue: o2,\n arrayDiff: {\n added: o2,\n removed: [],\n },\n });\n } else {\n changes.push({\n path: currentPath.join('.'),\n oldValue: undefined,\n newValue: o2,\n });\n }\n return;\n }\n\n // If obj2 is null/undefined and obj1 is not, treat entire obj1 as removed\n if (!isObj1Nil && isObj2Nil) {\n if (isPlainObject(o1)) {\n for (const key of Object.keys(o1)) {\n walk(o1[key], undefined, [...currentPath, key]);\n }\n } else if (Array.isArray(o1)) {\n changes.push({\n path: currentPath.join('.'),\n oldValue: o1,\n newValue: undefined,\n arrayDiff: {\n added: [],\n removed: o1,\n },\n });\n } else {\n changes.push({\n path: currentPath.join('.'),\n oldValue: o1,\n newValue: undefined,\n });\n }\n return;\n }\n\n // If both are arrays, compare items\n if (Array.isArray(o1) && Array.isArray(o2)) {\n if (!isEqual(o1, o2)) {\n const added = differenceWith(o2, o1, isEqual);\n const removed = differenceWith(o1, o2, isEqual);\n\n changes.push({\n path: currentPath.join('.'),\n oldValue: o1,\n newValue: o2,\n arrayDiff: {\n added,\n removed,\n },\n });\n }\n return;\n }\n\n // If both are plain objects, walk each key\n if (isPlainObject(o1) && isPlainObject(o2)) {\n const allKeys = union(Object.keys(o1), Object.keys(o2));\n for (const key of allKeys) {\n walk(o1[key], o2[key], [...currentPath, key]);\n }\n return;\n }\n\n // Primitive values or mismatched types\n changes.push({\n path: currentPath.join('.'),\n oldValue: o1,\n newValue: o2,\n });\n }\n\n walk(obj1, obj2);\n return changes;\n}\n\n// Method 1: Returns only changed paths\nexport function getChangedPaths(obj1: any, obj2: any): string[] {\n return getDeepChanges(obj1, obj2).map((change) => change.path);\n}\n\n// Method 2: Returns full change entries\nexport function getDetailedChanges(obj1: any, obj2: any): ChangeEntry[] {\n return getDeepChanges(obj1, obj2);\n}\n\nexport function getEnumValues(enumType: any): { id: string; title: string }[] {\n return Object.entries(enumType).map(([key, value]) => ({ id: value as string, title: key as string }));\n}\n\n//#region ---- Form value equality (dirty / baseline) ----\n\n/** Whether a value uses the multi-language text widget shape (string or locale map). */\nfunction isMultiLanguageFormShape(value: unknown): boolean {\n if (value === null || value === undefined) {\n return true;\n }\n if (typeof value === 'string') {\n return true;\n }\n return isLocaleStringMap(value);\n}\n\n/** Drops empty/whitespace locale entries from a multi-language map. */\nfunction normalizeLocaleStringMap(value: Record<string, unknown>): Record<string, string> | null {\n const normalized: Record<string, string> = {};\n for (const [key, entry] of Object.entries(value)) {\n if (typeof entry !== 'string') {\n continue;\n }\n const trimmed = entry.trim();\n if (trimmed !== '') {\n normalized[key] = trimmed;\n }\n }\n return Object.keys(normalized).length === 0 ? null : normalized;\n}\n\nfunction compareMultiLanguageLocaleStrings(a: string, b: string): boolean {\n const htmlEqual = compareHtmlFormValues(a, b);\n if (htmlEqual !== null) {\n return htmlEqual;\n }\n return a === b;\n}\n\n/**\n * Compares multi-language field values (plain string vs locale map) for dirty/baseline checks.\n * Returns `null` when either side is not a multi-language shape (caller uses generic normalization).\n */\nfunction compareMultiLanguageFormValues(a: unknown, b: unknown): boolean | null {\n if (!isMultiLanguageFormShape(a) || !isMultiLanguageFormShape(b)) {\n return null;\n }\n\n const normalizeScalar = (value: unknown): string | Record<string, string> | null => {\n if (value === null || value === undefined) {\n return null;\n }\n if (typeof value === 'string') {\n const trimmed = value.trim();\n return trimmed === '' ? null : trimmed;\n }\n if (isLocaleStringMap(value)) {\n return normalizeLocaleStringMap(value);\n }\n return null;\n };\n\n const left = normalizeScalar(a);\n const right = normalizeScalar(b);\n\n if (left === null && right === null) {\n return true;\n }\n if (left === null || right === null) {\n return false;\n }\n\n if (typeof left === 'string' && typeof right === 'string') {\n return compareMultiLanguageLocaleStrings(left, right);\n }\n\n if (typeof left === 'string' && typeof right === 'object') {\n return Object.values(right).some(\n (text) => typeof text === 'string' && compareMultiLanguageLocaleStrings(left, text),\n );\n }\n\n if (typeof right === 'string' && typeof left === 'object') {\n return Object.values(left).some(\n (text) => typeof text === 'string' && compareMultiLanguageLocaleStrings(right, text),\n );\n }\n\n if (typeof left !== 'object' || typeof right !== 'object') {\n return false;\n }\n\n const leftMap: Record<string, string> = left;\n const rightMap: Record<string, string> = right;\n const leftKeys = Object.keys(leftMap).sort();\n const rightKeys = Object.keys(rightMap).sort();\n if (leftKeys.length !== rightKeys.length) {\n return false;\n }\n return leftKeys.every((key) => compareMultiLanguageLocaleStrings(leftMap[key], rightMap[key]));\n}\n\n/**\n * Lookup/select expose may write a resolved MLS string while the baseline keeps the locale map.\n * Restore baseline shape when the string matches any locale entry.\n */\nexport function shouldRestoreSavedMultiLanguageShape(value: unknown, savedAtPath: unknown): boolean {\n if (typeof value !== 'string' || !isLocaleStringMap(savedAtPath)) {\n return false;\n }\n const trimmed = value.trim();\n if (trimmed === '') {\n return false;\n }\n return Object.values(savedAtPath).some(\n (entry) => typeof entry === 'string' && entry.trim() === trimmed,\n );\n}\n\n/** Decode common HTML entities for rich-text baseline compare. */\nfunction decodeHtmlEntities(value: string): string {\n return value\n .replace(/&#x([0-9a-f]+);/gi, (_, hex) => String.fromCharCode(parseInt(hex, 16)))\n .replace(/&#(\\d+);/g, (_, dec) => String.fromCharCode(parseInt(dec, 10)))\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/"/g, '\"');\n}\n\nfunction looksLikeHtmlFormValue(value: string): boolean {\n return /<[a-z][\\s\\S]*>/i.test(value.trim());\n}\n\n/** Normalizes rich-text HTML for semantic dirty/baseline compare (e.g. Quill `p`/`br` drift). */\nfunction normalizeRichTextHtmlForCompare(value: string): string {\n const html = decodeHtmlEntities(value.trim());\n if (typeof document === 'undefined') {\n return html.replace(/\\s+/g, ' ').trim();\n }\n\n const doc = new DOMParser().parseFromString(html, 'text/html');\n return (doc.body.textContent ?? '').replace(/\\s+/g, ' ').trim();\n}\n\n/**\n * Compares rich-text HTML strings by visible text (ignores `p` vs `br` structure drift).\n * Returns `null` when either side is not HTML markup.\n */\nfunction compareHtmlFormValues(a: unknown, b: unknown): boolean | null {\n if (typeof a !== 'string' || typeof b !== 'string') {\n return null;\n }\n if (!looksLikeHtmlFormValue(a) || !looksLikeHtmlFormValue(b)) {\n return null;\n }\n return normalizeRichTextHtmlForCompare(a) === normalizeRichTextHtmlForCompare(b);\n}\n\n/** Lookup/select filter-mode payload: `{ value, displayText?, operation }`. */\nfunction isFilterFormShape(value: unknown): boolean {\n if (!isPlainObject(value)) {\n return false;\n }\n const record = value as Record<string, unknown>;\n return 'value' in record && 'operation' in record;\n}\n\n/**\n * Compares filter-mode widget values by selection identity; ignores derived `displayText`.\n */\nfunction compareFilterFormValues(a: unknown, b: unknown): boolean | null {\n if (!isFilterFormShape(a) || !isFilterFormShape(b)) {\n return null;\n }\n\n const left = a as Record<string, unknown>;\n const right = b as Record<string, unknown>;\n\n if (!isFormValueEqual(left['value'], right['value'])) {\n return false;\n }\n\n const opLeft = get(left, 'operation.type');\n const opRight = get(right, 'operation.type');\n if (opLeft !== undefined || opRight !== undefined) {\n return opLeft === opRight;\n }\n\n return true;\n}\n\nfunction isReferenceScalar(value: unknown): value is string | number | boolean {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean';\n}\n\n/** Scalar id or `{ id }` identity used by lookup/select widgets. */\nfunction getReferenceId(value: unknown): unknown | undefined {\n if (isNil(value)) {\n return undefined;\n }\n if (isReferenceScalar(value)) {\n return value;\n }\n if (isPlainObject(value)) {\n const id = get(value, 'id');\n if (!isNil(id)) {\n return id;\n }\n }\n return undefined;\n}\n\n/**\n * Compares scalar selection ids to full lookup/select items (`5` vs `{ id: 5, ... }`).\n * Does not apply when both sides are objects — those use structural compare so field edits stay dirty.\n */\nfunction compareReferenceFormValues(a: unknown, b: unknown): boolean | null {\n const refA = getReferenceId(a);\n const refB = getReferenceId(b);\n\n if (refA === undefined || refB === undefined) {\n return null;\n }\n\n const aIsScalar = isReferenceScalar(a);\n const bIsScalar = isReferenceScalar(b);\n if (!aIsScalar && !bIsScalar) {\n return null;\n }\n\n return isEqual(normalizeFormValue(refA), normalizeFormValue(refB));\n}\n\n/**\n * Semantic equality for lookup/select values when restoring saved baseline shape.\n * Compares by selection identity (id), including two full items with the same id.\n */\nexport function isSelectionValueEqual(a: unknown, b: unknown): boolean {\n const filterEqual = compareFilterFormValues(a, b);\n if (filterEqual !== null) {\n return filterEqual;\n }\n\n const refA = getReferenceId(a);\n const refB = getReferenceId(b);\n if (refA !== undefined && refB !== undefined) {\n return isEqual(normalizeFormValue(refA), normalizeFormValue(refB));\n }\n\n return isFormValueEqual(a, b);\n}\n\n/**\n * Stable sort key for order-insensitive array comparison (after normalization).\n */\nfunction formValueSortKey(value: unknown): string {\n if (value === null) {\n return '\\0';\n }\n if (typeof value === 'number') {\n return `n:${value}`;\n }\n if (typeof value === 'boolean') {\n return `b:${value}`;\n }\n if (typeof value === 'string') {\n return `s:${value}`;\n }\n try {\n return `j:${JSON.stringify(value)}`;\n } catch {\n return `u:${String(value)}`;\n }\n}\n\n/**\n * Sorts normalized array items so order does not affect dirty checks.\n */\nfunction sortNormalizedArrayItems(items: unknown[]): unknown[] {\n return [...items].sort((a, b) => formValueSortKey(a).localeCompare(formValueSortKey(b)));\n}\n\n/**\n * Normalizes a form/context value for semantic baseline comparison.\n *\n * Rules:\n * - `null`, `undefined`, whitespace-only strings, and empty arrays → `null` (empty)\n * - Numeric strings → numbers (`\"5\"` and `5` match)\n * - Arrays → elements normalized; empty/all-empty → `null`; otherwise sorted (order ignored)\n * - Plain objects → keys sorted; `null`/empty nested values omitted\n * - `Date` → epoch milliseconds\n */\nfunction normalizeFormValue(value: unknown): unknown {\n if (value === undefined || value === null) {\n return null;\n }\n\n if (typeof value === 'string') {\n const trimmed = value.trim();\n if (trimmed === '') {\n return null;\n }\n if (/^-?\\d+(\\.\\d+)?$/.test(trimmed)) {\n const num = Number(trimmed);\n if (!Number.isNaN(num)) {\n return num;\n }\n }\n return trimmed;\n }\n\n if (typeof value === 'number') {\n return Number.isNaN(value) ? null : value;\n }\n\n if (typeof value === 'boolean') {\n return value;\n }\n\n if (value instanceof Date) {\n return value.getTime();\n }\n\n if (isArray(value)) {\n const normalizedItems = value\n .map((item) => normalizeFormValue(item))\n .filter((item) => item !== null);\n if (normalizedItems.length === 0) {\n return null;\n }\n return sortNormalizedArrayItems(normalizedItems);\n }\n\n if (isPlainObject(value)) {\n const record = value as Record<string, unknown>;\n if (isLocaleStringMap(record)) {\n return normalizeLocaleStringMap(record);\n }\n const normalized: Record<string, unknown> = {};\n for (const key of Object.keys(record).sort()) {\n const next = normalizeFormValue(record[key]);\n if (next !== null) {\n normalized[key] = next;\n }\n }\n return normalized;\n }\n\n return value;\n}\n\n/**\n * Semantic equality for dirty-state and baseline checks.\n * Prefer over lodash `isEqual` when comparing user-edited form/context data to a saved baseline.\n *\n * Arrays: `[]`, `null`, and all-empty lists are equivalent; non-empty arrays compare as multisets (order ignored).\n */\nexport function isFormValueEqual(a: unknown, b: unknown): boolean {\n const multiLanguageEqual = compareMultiLanguageFormValues(a, b);\n if (multiLanguageEqual !== null) {\n return multiLanguageEqual;\n }\n\n const filterEqual = compareFilterFormValues(a, b);\n if (filterEqual !== null) {\n return filterEqual;\n }\n\n const referenceEqual = compareReferenceFormValues(a, b);\n if (referenceEqual !== null) {\n return referenceEqual;\n }\n\n if (isArray(a) && isArray(b)) {\n // Empty repeater rows normalize away; raw length must differ before multiset compare.\n if (a.length !== b.length) {\n return false;\n }\n return isEqual(normalizeFormValue(a), normalizeFormValue(b));\n }\n\n if (isPlainObject(a) && isPlainObject(b)) {\n const left = a as Record<string, unknown>;\n const right = b as Record<string, unknown>;\n const keys = new Set([...Object.keys(left), ...Object.keys(right)]);\n for (const key of keys) {\n if (!isFormValueEqual(left[key], right[key])) {\n return false;\n }\n }\n return true;\n }\n\n if (typeof a === 'string' && typeof b === 'string') {\n const htmlEqual = compareHtmlFormValues(a, b);\n if (htmlEqual !== null) {\n return htmlEqual;\n }\n }\n\n return isEqual(normalizeFormValue(a), normalizeFormValue(b));\n}\n\n/**\n * Returns whether `current` differs from the saved/clean `baseline` snapshot.\n */\nexport function isFormContextDirty(\n current: Record<string, unknown>,\n baseline: Record<string, unknown>,\n): boolean {\n return !isFormValueEqual(current, baseline);\n}\n\nexport interface FormContextDirtyDiffEntry {\n path: string;\n current: unknown;\n baseline: unknown;\n selectionEqual: boolean;\n}\n\n/**\n * Lists paths where live context differs from baseline (for dirty-state trace logs).\n */\nexport function summarizeFormContextDirtyDiff(\n current: Record<string, unknown>,\n baseline: Record<string, unknown>,\n maxEntries = 12,\n): FormContextDirtyDiffEntry[] {\n const diffs: FormContextDirtyDiffEntry[] = [];\n\n const walk = (path: string, currentValue: unknown, baselineValue: unknown): void => {\n if (diffs.length >= maxEntries) {\n return;\n }\n\n if (isFormValueEqual(currentValue, baselineValue)) {\n return;\n }\n\n const bothPlainObjects =\n isPlainObject(currentValue) &&\n isPlainObject(baselineValue) &&\n !isArray(currentValue) &&\n !isArray(baselineValue);\n\n if (bothPlainObjects) {\n const left = currentValue as Record<string, unknown>;\n const right = baselineValue as Record<string, unknown>;\n const keys = new Set([...Object.keys(left), ...Object.keys(right)]);\n for (const key of keys) {\n if (diffs.length >= maxEntries) {\n return;\n }\n const nextPath = path ? `${path}.${key}` : key;\n walk(nextPath, left[key], right[key]);\n }\n return;\n }\n\n diffs.push({\n path: path || '(root)',\n current: currentValue,\n baseline: baselineValue,\n selectionEqual: isSelectionValueEqual(currentValue, baselineValue),\n });\n };\n\n walk('', current, baseline);\n return diffs;\n}\n\n/**\n * Clones a context object for use as a dirty-tracking baseline.\n */\nexport function captureFormContextBaseline(context: Record<string, unknown>): Record<string, unknown> {\n return cloneDeep(context);\n}\n\n//#endregion\n","//#region ---- Unwrapping ----\n\n/**\n * If `raw` is a plain non-array object with a `value` property, returns `value`; otherwise returns `raw`.\n */\nexport function unwrapValueProperty(raw: unknown): unknown {\n if (raw && typeof raw === 'object' && !Array.isArray(raw) && !(raw instanceof Date) && 'value' in raw) {\n return (raw as { value: unknown }).value;\n }\n return raw;\n}\n\n//#endregion\n\n//#region ---- Scalar coercion ----\n\n/**\n * Coerces to a trimmed string. Plain objects may carry `{ value }` from setting widgets or `{ id }` from select payloads using `valueField: 'id'`.\n */\nexport function coerceUnknownToTrimmedString(raw: unknown): string {\n if (typeof raw === 'string') {\n return raw.trim();\n }\n if (raw && typeof raw === 'object' && !Array.isArray(raw) && !(raw instanceof Date)) {\n const r = raw as Record<string, unknown>;\n if ('value' in r && r['value'] != null) {\n return String(r['value']).trim();\n }\n if ('id' in r && r['id'] != null) {\n return String(r['id']).trim();\n }\n }\n return '';\n}\n\n/**\n * Coerces to boolean: direct booleans pass through; wrapped `{ value: true | 'true' }` is respected; otherwise false.\n */\nexport function coerceUnknownToBoolean(raw: unknown): boolean {\n if (typeof raw === 'boolean') {\n return raw;\n }\n if (raw && typeof raw === 'object' && 'value' in raw) {\n const v = (raw as { value?: unknown }).value;\n return v === true || v === 'true';\n }\n return false;\n}\n\n/** Parses a finite number after optional `{ value }` unwrap; non-finite or empty string yields NaN. */\nexport function coerceUnknownToFiniteNumber(raw: unknown): number {\n const v = unwrapValueProperty(raw);\n if (v === null || v === undefined) {\n return NaN;\n }\n if (typeof v === 'number') {\n return Number.isFinite(v) ? v : NaN;\n }\n if (typeof v === 'boolean') {\n return v ? 1 : 0;\n }\n if (typeof v === 'string') {\n const t = v.trim();\n if (t === '') {\n return NaN;\n }\n const n = Number(t);\n return Number.isFinite(n) ? n : NaN;\n }\n return NaN;\n}\n\n/** Parses a Date after optional `{ value }` unwrap; invalid input yields Invalid Date. */\nexport function coerceUnknownToDate(raw: unknown): Date {\n const v = unwrapValueProperty(raw);\n if (v === null || v === undefined) {\n return new Date(NaN);\n }\n if (v instanceof Date) {\n return new Date(v.getTime());\n }\n if (typeof v === 'number' && Number.isFinite(v)) {\n return new Date(v);\n }\n if (typeof v === 'string') {\n const t = v.trim();\n if (t === '') {\n return new Date(NaN);\n }\n return new Date(t);\n }\n return new Date(NaN);\n}\n\n//#endregion\n","export function extractTextFromHtml(value: string) {\n const div = document.createElement('div');\n div.innerHTML = value;\n return div.textContent || div.innerText || '';\n}\n\n/**\n * True when the string likely contains HTML markup (e.g. `<p>`, `<ul>`), as opposed to plain text.\n * Used to choose innerHTML vs text interpolation for multilingual fields.\n */\nexport function containsHtmlMarkup(value: string | null | undefined): boolean {\n if (value == null) {\n return false;\n }\n const t = value.trim();\n if (!t) {\n return false;\n }\n return /<\\/?[a-z][\\s\\S]*?>/i.test(t);\n}\n\n/**\n * Generate kebab-case group name from title\n */\nexport function generateKebabCase(title: string): string {\n return title\n .toLowerCase()\n .trim()\n .replace(/[^a-z0-9\\s-]/g, '') // Remove special characters\n .replace(/\\s+/g, '-') // Replace spaces with hyphens\n .replace(/-+/g, '-') // Replace multiple hyphens with single\n .replace(/^-+|-+$/g, ''); // Remove leading/trailing hyphens\n}\n","//#region ---- Shared utilities ----\n\nexport * from './object-util';\nexport * from './scalar-coercion';\nexport * from './string.util';\n\n//#endregion\n","//#region ---- Imports ----\n\nimport type { AXPMultiLanguageString } from '../core/core.types';\n\n//#endregion\n\n//#region ---- Resolve ----\n\n/**\n * Resolves {@link AXPMultiLanguageString} to a plain string for the given locale.\n */\nexport function resolveMultiLanguageString(\n value: AXPMultiLanguageString | null | undefined,\n locale: string,\n): string {\n if (value == null || value === '') {\n return '';\n }\n\n if (typeof value === 'string') {\n return value;\n }\n\n const direct = value[locale];\n if (typeof direct === 'string' && direct.length > 0) {\n return direct;\n }\n\n const enUS = value['en-US'];\n if (typeof enUS === 'string' && enUS.length > 0) {\n return enUS;\n }\n\n for (const entry of Object.values(value)) {\n if (typeof entry === 'string' && entry.length > 0) {\n return entry;\n }\n }\n\n return '';\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport type { AXPMultiLanguageString } from '../core/core.types';\nimport { resolveMultiLanguageString } from './resolve-multi-language-string.util';\n\n//#endregion\n\n//#region ---- Compare & sort ----\n\nconst DEFAULT_COLLATOR_OPTIONS: Intl.CollatorOptions = { sensitivity: 'base' };\n\n/**\n * Locale-aware comparison of {@link AXPMultiLanguageString} values (plain string, `@scope:key`, or locale map).\n * Resolves each side with {@link resolveMultiLanguageString} for `locale`, then compares with `String#localeCompare`.\n */\nexport function compareMultiLanguageStrings(\n a: AXPMultiLanguageString | null | undefined,\n b: AXPMultiLanguageString | null | undefined,\n locale: string,\n collatorOptions: Intl.CollatorOptions = DEFAULT_COLLATOR_OPTIONS,\n): number {\n const sa = resolveMultiLanguageString(a ?? '', locale);\n const sb = resolveMultiLanguageString(b ?? '', locale);\n return sa.localeCompare(sb, locale, collatorOptions);\n}\n\n/**\n * Stable sort copy: orders items by resolved string for `getValue(item)` using the active `locale`.\n */\nexport function sortByMultiLanguageString<T>(\n items: readonly T[],\n getValue: (item: T) => AXPMultiLanguageString | null | undefined,\n locale: string,\n collatorOptions?: Intl.CollatorOptions,\n): T[] {\n return [...items].sort((x, y) => compareMultiLanguageStrings(getValue(x), getValue(y), locale, collatorOptions));\n}\n\n/**\n * True when the resolved value contains `query` (case-insensitive) for `locale`.\n * Useful for search/filter flows over {@link AXPMultiLanguageString}.\n */\nexport function searchInMultiLanguageString(\n value: AXPMultiLanguageString | null | undefined,\n query: string,\n locale: string,\n): boolean {\n const q = query.trim().toLocaleLowerCase(locale);\n if (!q) {\n return true;\n }\n const text = resolveMultiLanguageString(value ?? '', locale).toLocaleLowerCase(locale);\n return text.includes(q);\n}\n\n//#endregion\n","//#region ---- Multi-language string utilities ----\n\nexport * from './compare-axp-multi-language-string';\nexport * from './locale-map-value.util';\nexport * from './resolve-multi-language-string.util';\n\n//#endregion\n","//#region ---- Category & entity operation types ----\n\nimport type { AXDataSourceFilterOption, AXDataSourceSortOption } from '../core/shims.types';\nimport type { AXPMultiLanguageString } from '../core/core.types';\n\nexport interface AXPPagedListResult<T = unknown> {\n items: T[];\n total: number;\n}\n\nexport interface AXPQueryRequest {\n skip: number;\n take: number;\n sort?: AXDataSourceSortOption[];\n filter?: AXDataSourceFilterOption;\n params?: Record<string, string>;\n}\n\nexport interface AXPCategoryEntity<TKey = string> {\n id: TKey;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: TKey;\n childrenCount: number;\n itemsCount?: number;\n totalChildrenCount?: number;\n totalItemsCount?: number;\n}\n\nexport interface AXPCategoryListItem<TKey extends string = string> {\n id: TKey;\n title: AXPMultiLanguageString;\n}\n\nexport interface AXPCategoryEntityWithItems<T> extends AXPCategoryEntity {\n items: T[];\n children?: AXPCategoryEntityWithItems<T>[];\n}\n\nexport interface AXPCategorizedEntity {\n categoryIds: string[];\n}\n\nexport interface AXPCategorizedEntityDto {\n categoryIds: string[];\n categories: AXPCategoryListItem[];\n}\n\nexport type AXPEntityOp =\n | 'initial'\n | 'create'\n | 'update'\n | 'delete'\n | 'getOne'\n | 'getAll'\n | 'query'\n | 'count'\n | 'queryAll'\n | 'getMany'\n | 'exists'\n | 'upsertOne'\n | 'aggregate';\n\n//#endregion\n","//#region ---- Filter types ----\n\nimport type { AXDataSourceFilterOption } from '../core/shims.types';\nimport type { AXPOptionsData } from '../core/core.types';\n\nexport interface AXPFilterTriggerDefinition {\n event: string;\n action: string;\n disabled?: boolean;\n}\n\nexport interface AXPFilterClause extends AXDataSourceFilterOption {\n id?: string;\n order?: number;\n filters?: AXPFilterClause[];\n}\n\nexport interface AXPFilterDefinition extends AXPFilterClause {\n title: string;\n isParametric?: boolean;\n icon?: string;\n widget: {\n type: string;\n options?: AXPOptionsData;\n };\n filterType: {\n advance: boolean;\n inline: boolean;\n preload?: {\n enabled?: boolean;\n required?: boolean;\n };\n };\n hidden?: boolean;\n /**\n * When true, the filter is not selectable. When a string, it is evaluated as an expression (e.g. `{{ ... }}`)\n * using the current filters context.\n */\n disabled?: boolean | string;\n /** Expression-driven triggers (events/actions); same semantics as entity `schema.interface.triggers`. */\n triggers?: AXPFilterTriggerDefinition[];\n}\n\nexport interface AXPFilterQuery extends Pick<AXPFilterDefinition, 'field' | 'value' | 'operator' | 'logic' | 'hidden'> {\n filters?: AXPFilterQuery[];\n displayText?: string;\n}\n\n//#endregion\n","//#region ---- Sort types ----\n\nexport interface AXPSortDefinition {\n name: string;\n title: string;\n dir?: 'asc' | 'desc';\n}\n\nexport interface AXPSortQuery extends Pick<AXPSortDefinition, 'name' | 'dir'> {}\n\n//#endregion\n","//#region ---- Column types ----\n\nexport interface AXPColumnQuery {\n name: string;\n title: string;\n visible: boolean | string;\n}\n\n//#endregion\n","//#region ---- Export types ----\n\nexport interface AXPExportOptions {\n fileNameTemplate?: string;\n\n pdf?: AXPExportPdfOptions;\n excel?: AXPExportExcelOptions;\n csv?: AXPExportCsvOptions;\n print?: AXPExportPrintOptions;\n}\n\nexport interface AXPExportPdfOptions {\n enabled: boolean;\n\n pageSize?: 'A4' | 'A3' | 'Letter' | 'Legal';\n orientation?: 'portrait' | 'landscape';\n\n margin?:\n | number\n | {\n top: number;\n bottom: number;\n left: number;\n right: number;\n };\n\n font?: string;\n fontSize?: number;\n\n headerEnabled?: boolean;\n footerEnabled?: boolean;\n showPageNumbers?: boolean;\n\n watermarkText?: string;\n watermarkOpacity?: number;\n\n compression?: boolean;\n embedImages?: boolean;\n}\n\nexport interface AXPExportExcelOptions {\n enabled: boolean;\n\n sheetName?: string;\n includeFilters?: boolean;\n freezeHeader?: boolean;\n autoFitColumns?: boolean;\n\n style?: {\n headerColor?: string;\n font?: string;\n fontSize?: number;\n numberFormat?: 'auto' | 'currency' | 'percent' | 'decimal';\n };\n\n summaryRowEnabled?: boolean;\n exportHiddenColumns?: boolean;\n}\n\nexport interface AXPExportCsvOptions {\n enabled: boolean;\n\n delimiter?: ',' | ';' | '\\t';\n includeHeaders?: boolean;\n quoteValues?: boolean;\n encoding?: 'utf-8' | 'utf-16' | 'iso-8859-1';\n}\n\nexport interface AXPExportPrintOptions {\n enabled: boolean;\n\n includeHeader?: boolean;\n includeFooter?: boolean;\n showPageBreaks?: boolean;\n customCssUrl?: string;\n}\n\nexport enum AXPExportTemplateToken {\n Date = '{date}',\n Time = '{time}',\n User = '{user}',\n ReportTitle = '{title}',\n UUID = '{uuid}',\n}\n\n//#endregion\n","//#region ---- Multi-source reference ----\n\nexport interface AXPMultiSourceRef {\n sourceKey: string;\n refId?: string;\n displayName: string;\n data?: unknown;\n meta?: Record<string, unknown>;\n}\n\n//#endregion\n","//#region ---- Data contracts ----\n\nexport * from './data.types';\nexport * from './filter.types';\nexport * from './sort.types';\nexport * from './column.types';\nexport * from './export.types';\nexport * from './multi-source.types';\n\n//#endregion\n","//#region ---- Property types ----\n\nimport type { AXPMultiLanguageString, AXPOptionsData, AXPDataType, AXPWidgetTriggers, AXPValidationRules } from '../core/core.types';\n\nexport interface AXPPropertyGroup {\n name: string;\n title: AXPMultiLanguageString;\n icon?: string;\n description?: AXPMultiLanguageString;\n order?: number;\n}\n\nexport interface AXPPropertyInterface {\n type: string;\n options: AXPOptionsData;\n triggers?: AXPWidgetTriggers;\n}\n\nexport interface AXPProperty {\n name: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n dataType: AXPDataType;\n validations?: AXPValidationRules;\n group?: AXPPropertyGroup | string;\n order?: number;\n interface: AXPPropertyInterface;\n}\n\n//#endregion\n","//#region ---- Validation types ----\n\nimport type { AXPExpression, AXPValidationRule, AXPValidationRules } from '../core/core.types';\n\nexport type { AXPValidationRule, AXPValidationRules };\n\nexport interface AXPRequiredValidationRule extends AXPValidationRule {\n rule: 'required';\n}\n\nexport interface AXPMinLengthValidationRule extends AXPValidationRule {\n rule: 'minLength';\n options: {\n minLength: number | AXPExpression;\n };\n}\n\nexport interface AXPMaxLengthValidationRule extends AXPValidationRule {\n rule: 'maxLength';\n options: {\n maxLength: number | AXPExpression;\n };\n}\n\nexport interface AXPEqualValidationRule<T> extends AXPValidationRule {\n rule: 'equal';\n options: {\n value: T | AXPExpression;\n };\n}\n\nexport interface AXPReqexValidationRule extends AXPValidationRule {\n rule: 'regex';\n options: {\n value: string;\n };\n}\n\nexport type AXPStringValidationRules = (\n | AXPRequiredValidationRule\n | AXPMinLengthValidationRule\n | AXPMaxLengthValidationRule\n | AXPEqualValidationRule<string>\n | AXPReqexValidationRule\n)[];\n\n//#endregion\n","//#region ---- Widget element types ----\n\nexport type { AXPWidgetTrigger, AXPWidgetTriggers } from '../core/core.types';\n\n//#endregion\n","//#region ---- File types ----\n\nexport type { AXPFileListItem, AXPFileSource, AXPFileStatus } from '../core/core.types';\n\n//#endregion\n","//#region ---- Property contracts ----\n\nexport * from './property.types';\nexport * from './validation.types';\nexport * from './element.types';\nexport * from './file.types';\n\n//#endregion\n","//#region ---- Interactive types ----\n\nimport type { AXPMetaData, AXPMultiLanguageString } from '../core/core.types';\n\nexport type AXPActionMenuItem = {\n name?: string;\n title: AXPMultiLanguageString;\n icon?: string;\n iconOnly?: boolean;\n color?: string;\n look?: string;\n break?: boolean;\n items?: AXPActionMenuItem[];\n command?: AXPExecuteCommand;\n disabled?: boolean | string;\n visible?: boolean | string;\n policy?: string;\n};\n\nexport type AXPBackButton = {\n title: AXPMultiLanguageString;\n};\n\nexport type AXPBreadcrumbItem = {\n name?: string;\n title: AXPMultiLanguageString;\n icon?: string;\n command?: AXPExecuteCommand;\n};\n\nexport type AXPBadge = {\n title: string;\n description?: string;\n color?: 'primary' | 'success' | 'warning' | 'danger';\n};\n\nexport type AXPPageStatus = {\n definitionKey: string;\n value: string;\n dataPath?: string;\n readonly?: boolean;\n};\n\nexport interface AXPCommandMessage {\n type?: 'info' | 'success' | 'warning' | 'error';\n code?: string;\n text: AXPMultiLanguageString;\n details?: unknown;\n}\n\nexport type AXPExecuteCommand = {\n name: string;\n options?: AXPMetaData;\n metadata?: AXPMetaData;\n};\n\nexport interface AXPExecuteCommandResult<T = any> {\n success: boolean;\n data?: T;\n message?: AXPCommandMessage;\n metadata?: AXPMetaData;\n}\n\nexport interface AXPQueryFetchResult<T = any> {\n success: boolean;\n data?: {\n items?: T[];\n total?: number;\n };\n message?: {\n code?: string;\n text?: AXPMultiLanguageString;\n details?: unknown;\n };\n}\n\n//#endregion\n","//#region ---- View types ----\n\nimport type { AXPActionMenuItem } from './interactive.types';\n\nexport interface AXPViewDefinition {\n key: string;\n title: string;\n description?: string;\n icon?: string;\n blocks: AXPViewBlockDefinition[];\n layout?: 'vertical' | 'horizontal' | 'grid' | 'custom';\n actions?: {\n primary?: AXPActionMenuItem[];\n secondary?: AXPActionMenuItem[];\n };\n}\n\nexport interface AXPViewBlockDefinition {\n key: string;\n type: 'form' | 'table' | 'tabs' | 'list' | 'card' | 'custom';\n title?: string;\n description?: string;\n icon?: string;\n actions?: {\n primary?: AXPActionMenuItem[];\n secondary?: AXPActionMenuItem[];\n };\n fields?: AXPViewFieldDefinition[];\n blocks?: AXPViewBlockDefinition[];\n}\n\nexport interface AXPViewFieldDefinition {\n key: string;\n title?: string;\n description?: string;\n icon?: string;\n widget?: string;\n}\n\n//#endregion\n","//#region ---- View query types ----\n\nimport type { AXPFilterQuery } from '../data/filter.types';\nimport type { AXPSortQuery } from '../data/sort.types';\n\nexport interface AXPViewQuery {\n name: string;\n fixed: boolean;\n title: string;\n columns: string[];\n conditions: AXPFilterQuery[];\n sorts: AXPSortQuery[];\n}\n\n//#endregion\n","//#region ---- Interaction contracts ----\n\nexport * from './interactive.types';\nexport * from './view.types';\nexport * from './view-query.types';\n\n//#endregion\n","//#region ---- Widget node types ----\n\nimport type {\n AXPExpression,\n AXPMetaData,\n AXPOptionsData,\n AXPValueTransformerFunctions,\n AXPWidgetTriggers,\n} from '../core/core.types';\n\nexport type AXPWidgetRenderMode = 'view' | 'edit' | 'designer' | 'print' | 'column' | 'filter';\n\nexport interface AXPWidgetNode {\n type: string;\n mode?: AXPWidgetRenderMode;\n path?: string;\n name?: string;\n visible?: boolean | AXPExpression;\n defaultValue?: unknown;\n children?: AXPWidgetNode[];\n options?: AXPOptionsData;\n triggers?: AXPWidgetTriggers;\n meta?: AXPMetaData;\n valueTransforms?: AXPValueTransformerFunctions;\n}\n\n//#endregion\n","export const AXPWidgetsList = {\n Editors: {\n DocumentAttachment: 'document-attachment-editor',\n TagEditor: 'tag-editor',\n CheckBox: 'checkbox-editor',\n ColorBox: 'color-editor',\n ColorPalette: 'color-palette-editor',\n DateTimeBox: 'date-time-editor',\n AddressBox: 'address-editor',\n Direction: 'direction',\n LargeTextBox: 'large-text-editor',\n NumberBox: 'number-editor',\n UnitValueBox: 'number-unit-editor',\n PasswordBox: 'password-editor',\n QueryBuilder: 'query-builder-editor',\n RichText: 'rich-text-editor',\n SelectBox: 'select-editor',\n SelectionList: 'selection-list-editor',\n TextBox: 'text-editor',\n InlineDataTable: 'table-editor',\n ToggleSwitch: 'toggle-editor',\n FileTypeExtension: 'file-type-extension',\n MapBox: 'map',\n MediaGallery: 'gallery',\n SignatureBox: 'signature',\n LookupBox: 'lookup-editor',\n MultiSourceSelector: 'multi-source-selector-editor',\n EntityCategory: 'entity-category-editor',\n ContactBox: 'contact-editor',\n MetaDataBox: 'meta-data-editor',\n TemplateBox: 'template-box-editor',\n TemplateContentEditor: 'template-content-editor',\n TimeDuration: 'time-duration',\n DocumentUploader: 'document-uploader',\n MetaSelector: 'meta-selector-editor',\n MetaDataForm: 'meta-data-form-editor',\n ColumnFilterSelector: 'column-filter-selector-editor',\n DataListFilter: 'data-list-filter-editor',\n ListEditor: 'list-editor',\n ConnectedListsEditor: 'connected-lists-editor',\n SkillMatrix: 'skill-matrix-editor',\n ResponsibilitiesMatrix: 'responsibilities-matrix-editor',\n RiskMatrix: 'risk-matrix-editor',\n ControlHierarchyDiagram: 'control-hierarchy-diagram-editor',\n ProgressBox: 'progress-bar-editor',\n RatePicker: 'rate-picker-editor',\n ActivityCommandConfigurator: 'activity-command-configurator',\n WorkflowConfigurator: 'workflow-configurator',\n },\n Layouts: {\n AlertBox: 'alert-box-layout',\n BadgeLayout: 'badge-layout',\n BlockLayout: 'block-layout',\n RepeaterLayout: 'repeater-layout',\n TextBlockLayout: 'text-block-layout',\n FormField: 'form-field',\n PanelLayout: 'panel-layout',\n PageLayout: 'page-layout',\n DocumentLayout: 'document-layout',\n GridRowLayout: 'grid-row-layout',\n GridItemLayout: 'grid-item-layout',\n GridLayout: 'grid-layout',\n FlexLayout: 'flex-layout',\n FlexItemLayout: 'flex-item-layout',\n AdvancedGridLayout: 'advanced-grid-layout',\n AdvancedGridItemLayout: 'advanced-grid-item-layout',\n FieldsetLayout: 'fieldset-layout',\n TabsetLayout: 'tabset-layout',\n TabsetItemLayout: 'tabset-item',\n },\n Actions: {\n ActionButton: 'button-action',\n },\n Advanced: {\n CodeEditor: 'code-editor',\n JsonViewer: 'json-viewer',\n OutcomeResultsViewer: 'outcome-results-viewer',\n QRCode: 'qrcode',\n schedulerPicker: 'scheduler-picker',\n Signature: 'signature',\n Map: 'map',\n Gallery: 'gallery',\n Image: 'image',\n ImageMarker: 'image-marker',\n Avatar: 'avatar',\n Attachments: 'attachments',\n DataList: 'data-list',\n ListToolbar: 'list-toolbar',\n CronJob: 'cron-job',\n Status: 'status-widget',\n WidgetFieldConfigurator: 'widget-field-configurator',\n AnswersViewer: 'answers-viewer',\n IntegrationConnectionsPanel: 'integration-connections-panel',\n },\n Templates: {\n Designer: 'template-designer',\n Template: 'template',\n },\n // Filters: {\n // StringFilter: 'string-filter',\n // SelectFilter: 'select-filter',\n // NumberFilter: 'number-filter',\n // DateTimeFilter: 'datetime-filter',\n // BooleanFilter: 'boolean-filter',\n // LookupFilter: 'lookup-filter',\n // },\n // PropertyEditors: {\n // Spacing: 'spacing',\n // GridOptions: 'grid-options',\n // GridItemOptions: 'grid-item-options',\n // FlexOptions: 'flex-options',\n // FlexItemOptions: 'flex-item-options',\n // Direction: 'direction',\n // Border: 'border',\n // AdvancedGridOptions: 'advanced-grid-options',\n // },\n // Validations: {\n // RequiredValidation: 'required-validation',\n // RegularExpressionValidation: 'regular-expression-validation',\n // MinLengthValidation: 'min-length-validation',\n // MaxLengthValidation: 'max-length-validation',\n // LessThanValidation: 'less-than-validation',\n // GreaterThanValidation: 'greater-than-validation',\n // EqualValidation: 'equal-validation',\n // CallbackValidation: 'callback-validation',\n // BetweenValidation: 'between-validation',\n // },\n Entity: {\n EntityList: 'entity-list',\n SelectorStructure: 'selector-structure',\n },\n Providers: {\n EntityDefinition: 'entity-definition-provider-editor',\n },\n ExpressionBuilders: {\n ConditionBuilder: 'condition-builder-editor',\n },\n Theme: {\n ThemeColorChooser: 'theme-color-chooser',\n // ThemeModeChooser: 'theme-mode-chooser',\n IconChooser: 'icon-chooser',\n FontSizeChooser: 'font-size-chooser',\n FontStyleChooser: 'font-style-chooser',\n // MenuOrientationChooser: 'menu-orientation-chooser',\n },\n // Features: {\n // Comment: 'comment',\n // Permissions: 'permissions',\n // },\n};\n","//#region ---- Widget catalog (deprecated; prefer AXPWidgetsList) ----\n\nconst AXPWidgetsCatalog = {\n timeDuration: 'time-duration',\n timeDurationFilter: 'time-duration-filter',\n checkbox: 'checkbox-editor',\n color: 'color-editor',\n connectedLists: 'connected-lists-editor',\n contact: 'contact-editor',\n dateTime: 'date-time-editor',\n largeText: 'large-text-editor',\n number: 'number-editor',\n numberUnit: 'number-unit-editor',\n password: 'password-editor',\n richText: 'rich-text-editor',\n select: 'select-editor',\n selectionList: 'selection-list-editor',\n text: 'text-editor',\n table: 'table-editor',\n toggle: 'toggle-editor',\n blockLayout: 'block-layout',\n pageLayout: 'page-layout',\n repeaterLayout: 'repeater-layout',\n textBlockLayout: 'text-block-layout',\n alertBoxLayout: 'alert-box-layout',\n badgeLayout: 'badge-layout',\n attachments: 'attachments',\n fileTypeExtension: 'file-type-extension',\n map: 'map',\n imageMarker: 'image-marker',\n image: 'image',\n gallery: 'gallery',\n signature: 'signature',\n buttonAction: 'button-action',\n document: 'document-layout',\n lookup: 'lookup-editor',\n formField: 'form-field',\n qrcode: 'qrcode',\n schedulerPicker: 'scheduler-picker',\n advancedGrid: 'advanced-grid-layout',\n advancedGridItem: 'advanced-grid-item-layout',\n grid: 'grid-layout',\n gridItem: 'grid-item-layout',\n template: 'template',\n templateDesigner: 'template-designer',\n cronJob: 'cron-job',\n spacing: 'spacing',\n direction: 'direction',\n border: 'border',\n flexLayout: 'flex-layout',\n flexItem: 'flex-item-layout',\n tableLayout: 'table-layout',\n tableItem: 'table-item-layout',\n avatar: 'avatar',\n themeModeChooser: 'theme-mode-chooser',\n menuOrientationChooser: 'menu-orientation-chooser',\n fontStyleChooser: 'font-style-chooser',\n fontSizeChooser: 'font-size-chooser',\n iconChooser: 'icon-chooser',\n icon: 'icon',\n themeColorChooser: 'theme-color-chooser',\n gridOptions: 'grid-options',\n gridItemOptions: 'grid-item-options',\n advancedGridOptions: 'advanced-grid-options',\n stringFilter: 'string-filter',\n numberFilter: 'number-filter',\n dateTimeFilter: 'datetime-filter',\n booleanFilter: 'boolean-filter',\n lookupFilter: 'lookup-filter',\n flexOptions: 'flex-options',\n flexItemOptions: 'flex-item-options',\n selectFilter: 'select-filter',\n requiredValidation: 'required-validation',\n regularExpressionValidation: 'regular-expression-validation',\n minLengthValidation: 'min-length-validation',\n maxLengthValidation: 'max-length-validation',\n lessThanValidation: 'less-than-validation',\n greaterThanValidation: 'greater-than-validation',\n betweenValidation: 'between-validation',\n equalValidation: 'equal-validation',\n callbackValidation: 'callback-validation',\n metaData: 'meta-data-editor',\n templateEditor: 'template-box-editor',\n templateContentEditor: 'template-content-editor',\n panel: 'panel',\n notification: 'notification',\n comment: 'comment',\n list: 'list-editor',\n dataList: 'data-list',\n listToolbar: 'list-toolbar',\n entityList: 'entity-list',\n pageComponent: 'page-component',\n editorJs: 'editor-js-editor',\n documentUploader: 'document-uploader',\n stepWizard: 'step-wizard',\n progressBar: 'progress-bar-editor',\n rate: 'rate-picker-editor',\n documentFileTypeFilter: 'document-file-type-filter',\n entityDefinitionProvider: 'entity-definition-provider-editor',\n} as const;\n\nexport { AXPWidgetsCatalog };\n\n//#endregion\n","//#region ---- Widget contracts ----\n\nexport * from './widget-node.types';\nexport * from './widgets-list';\nexport * from './widgets-catalog';\n\n//#endregion\n","import { type AXPMetaData, type AXPOptionsData, type AXPMultiLanguageString } from '../core/core.types';\nimport { type AXPCategoryEntity, type AXPEntityOp } from '../data/data.types';\nimport { type AXPProperty } from '../property/property.types';\n\n//#region ---- Workflow definition (graph + metadata) ----\n\nexport interface AXPWorkflowDefinition {\n schemaVersion: 'acorex-platform-workflow/v1';\n\n name: string;\n title?: AXPMultiLanguageString | null;\n description?: AXPMultiLanguageString | null;\n\n variables?: AXPProperty[];\n inputs?: AXPProperty[];\n outputs?: AXPWorkflowOutputProperty[];\n\n graph: AXPWorkflowGraph;\n\n customProperties?: Record<string, any>;\n\n /** engine specific (Elsa, ...) */\n extensions?: AXPWorkflowExtensions;\n\n /**\n * Workflow bindings configuration.\n * Defines which entities and events should trigger this workflow.\n */\n bindings?: AXPWorkflowBinding[];\n}\n\n/**\n * Workflow Category - Extends AXPCategoryEntity for consistency and performance\n *\n * Inherited properties from AXPCategoryEntity:\n * - id: string - Unique identifier\n * - title: string - Display name\n * - description?: string - Category description\n * - parentId?: string - Parent category ID\n * - childrenCount: number - Direct child categories count (enables lazy loading)\n * - itemsCount?: number - Direct workflows count\n * - totalChildrenCount?: number - Total nested categories (optional, for analytics)\n * - totalItemsCount?: number - Total workflows in tree (optional, for analytics)\n */\nexport interface AXPWorkflowCategory extends AXPCategoryEntity {\n // No additional properties needed - all inherited from AXPCategoryEntity\n // Use: childrenCount instead of hasChild\n // Use: itemsCount instead of hasWorkflow\n}\n\n//#endregion\n\n//#region ---- Graph & activity instance ----\n\nexport interface AXPWorkflowGraph {\n startActivityId: string;\n activities: AXPWorkflowActivityInstance[];\n connections: AXPConnection[];\n\n /** purely designer */\n designer?: {\n nodes?: Record<string, { x: number; y: number; nodeId?: string; width?: number; height?: number }>;\n edges?: Array<{ from: string; to: string; vertices?: Array<{ x: number; y: number }> }>;\n /**\n * When true, the Activities page has applied its initial auto-arrange (or the graph already had\n * persisted node positions). Prevents re-running automatic layout on subsequent visits.\n */\n layoutArranged?: boolean;\n };\n}\n\nexport interface AXPWorkflowActivityInstance {\n id: string;\n nodeId?: string;\n\n /**\n * Activity name - references AXPActivityDefinition.name\n * Used to lookup activity definition for metadata (executionMode, title, etc.)\n */\n name: string;\n\n /**\n * Input values for this activity instance.\n * Key-value pairs where keys match {@link AXPProperty.name} from AXPActivityDefinition.inputs\n * Example: { \"message\": \"Hello\", \"duration\": 5000 }\n */\n inputs?: AXPOptionsData;\n\n title?: string;\n\n /**\n * Output mapping: process variable name → path in this activity's output (BPMN-style: activity → variable).\n * When this activity completes, each entry sets variables[variableName] = output[outputPath].\n * Example: { leaveRequestId: 'id' } → variables.leaveRequestId = activityOutput.id\n */\n outputToVariables?: AXPOptionsData;\n\n metadata?: AXPMetaData;\n\n /** engine-specific override */\n extensions?: Record<string, any>;\n}\n\nexport interface AXPConnection {\n source: { activtyName: string; port?: string | null };\n target: { activtyName: string; port?: string | null };\n vertices?: Array<{ x: number; y: number }>;\n}\n\n//#endregion\n\n//#region ---- Workflow I/O (built on AXPProperty) ----\n\n/**\n * Workflow output: same as {@link AXPProperty} with optional source path and engine metadata.\n */\nexport interface AXPWorkflowOutputProperty extends AXPProperty {\n /**\n * Optional: where this output comes from in your context/memory.\n * Example: \"$.result.orderId\" or \"vars.orderId\"\n */\n path?: string;\n metadata?: Record<string, any>;\n}\n\n//#endregion\n\n//#region ---- Engine extensions & bindings ----\n\n/**\n * Engine-specific extension bag for a workflow.\n * Keep ALL engine-only fields here (Elsa, StepFunctions adapter, etc).\n */\nexport interface AXPWorkflowExtensions {\n /**\n * Elsa-specific extensions (optional).\n */\n elsa?: AXPElsaWorkflowExtensions;\n /**\n * Other engines (future-proof).\n * Example: stepFunctions, logicApps, temporal, ...\n */\n [engine: string]: any;\n}\n\n/**\n * Elsa-only fields (Optional).\n * Put strategy/tool/schema/raw payload here to keep Core model global.\n */\nexport interface AXPElsaWorkflowExtensions {\n /**\n * Elsa schema URL (if you want to round-trip exact docs).\n * Example: \"https://elsaworkflows.io/schemas/workflow-definition/v3.0.0/schema.json\"\n */\n schema?: string;\n\n toolVersion?: string;\n materializerName?: string;\n\n /**\n * Elsa strategy/options (engine-level concerns).\n */\n options?: {\n activationStrategyType?: string | null;\n incidentStrategyType?: string | null;\n commitStrategyName?: string | null;\n autoUpdateConsumingWorkflows?: boolean;\n usableAsActivity?: boolean | null;\n activityCategory?: string | null;\n };\n\n /**\n * If you want lossless Elsa round-trip, keep the raw Elsa definition here.\n */\n rawDefinition?: any;\n}\n\n/**\n * Workflow binding configuration.\n * Defines which entities and events should trigger a workflow.\n */\nexport interface AXPWorkflowBinding {\n /**\n * Entity types this workflow applies to (e.g., ['ContentManagement.Promotion', 'ContentManagement.Article'])\n * Empty array means applies to all entities with workflow-run plugin enabled.\n */\n entityTypes: string[];\n\n /**\n * Event types that trigger this workflow (e.g., ['create', 'update'])\n * Uses AXPEntityOp directly (create, update, delete, etc.)\n */\n eventTypes: AXPEntityOp[];\n\n /**\n * Whether this binding is enabled\n */\n enabled: boolean;\n\n /**\n * Optional conditions for when to trigger (future enhancement)\n */\n conditions?: any;\n}\n\n//#endregion\n","// ============================================\n// WORKFLOW INSTANCE v3.0.0 TYPES\n// Based on Elsa Workflow Instance schema: https://elsaworkflows.io/schemas/workflow-instance/v3.0.0/schema.json\n// Compatible with Elsa backend while using ACoreX naming conventions\n// ============================================\n\n/**\n * Workflow status.\n */\nexport type AXPWorkflowStatus = 'Running' | 'Finished';\n\n/**\n * Workflow sub-status.\n */\nexport type AXPWorkflowSubStatus = 'Pending' | 'Executing' | 'Suspended' | 'Finished' | 'Cancelled' | 'Faulted';\n\n/**\n * Activity status.\n */\nexport type AXPActivityStatus = 'Running' | 'Completed' | 'Canceled' | 'Faulted';\n\n/**\n * Exception state.\n */\nexport interface AXPExceptionState {\n /**\n * Exception type name.\n */\n type: string;\n\n /**\n * Exception message.\n */\n message: string;\n\n /**\n * Stack trace (nullable).\n */\n stackTrace?: string | null;\n\n /**\n * Inner exception (nullable).\n */\n innerException?: AXPExceptionState | null;\n}\n\n/**\n * Activity incident.\n */\nexport interface AXPActivityIncident {\n /**\n * Activity ID that caused the incident.\n */\n activityId: string;\n\n /**\n * Activity node ID.\n */\n activityNodeId: string;\n\n /**\n * Activity type.\n */\n activityType: string;\n\n /**\n * Incident message.\n */\n message: string;\n\n /**\n * Exception (nullable).\n */\n exception?: AXPExceptionState | null;\n\n /**\n * Timestamp (ISO date-time).\n */\n timestamp: string;\n}\n\n/**\n * Workflow fault state.\n */\nexport interface AXPWorkflowFaultState {\n /**\n * Exception (nullable).\n */\n exception?: AXPExceptionState | null;\n\n /**\n * Fault message.\n */\n message: string;\n\n /**\n * Faulted activity ID (nullable).\n */\n faultedActivityId?: string | null;\n}\n\n/**\n * Bookmark.\n */\nexport interface AXPBookmark {\n /**\n * Bookmark ID.\n */\n id: string;\n\n /**\n * Bookmark name.\n */\n name: string;\n\n /**\n * Bookmark hash.\n */\n hash: string;\n\n /**\n * Bookmark payload (nullable).\n */\n payload?: any | null;\n\n /**\n * Activity node ID.\n */\n activityNodeId: string;\n\n /**\n * Activity instance ID.\n */\n activityInstanceId: string;\n\n /**\n * Auto burn flag.\n */\n autoBurn?: boolean;\n\n /**\n * Callback method name (nullable).\n */\n callbackMethodName?: string | null;\n\n /**\n * Metadata (nullable).\n */\n metadata?: Record<string, string> | null;\n}\n\n/**\n * Completion callback state.\n */\nexport interface AXPCompletionCallbackState {\n /**\n * Owner activity instance ID.\n */\n ownerInstanceId: string;\n\n /**\n * Child activity node ID.\n */\n childNodeId: string;\n\n /**\n * Method name (nullable).\n */\n methodName?: string | null;\n}\n\n/**\n * Variable (for activity context).\n */\nexport interface AXPActivityVariable {\n /**\n * Variable ID.\n */\n id: string;\n\n /**\n * Variable name.\n */\n name: string;\n\n /**\n * Type name.\n */\n typeName: string;\n\n /**\n * Is array flag.\n */\n isArray?: boolean;\n\n /**\n * Variable value (nullable).\n */\n value?: any | null;\n\n /**\n * Storage driver type name (nullable).\n */\n storageDriverTypeName?: string | null;\n}\n\n/**\n * Activity execution context state.\n */\nexport interface AXPActivityExecutionContextState {\n /**\n * Context ID (activity instance ID).\n */\n id: string;\n\n /**\n * Parent context ID (nullable).\n */\n parentContextId?: string | null;\n\n /**\n * Scheduled activity node ID.\n */\n scheduledActivityNodeId: string;\n\n /**\n * Owner activity node ID (nullable).\n */\n ownerActivityNodeId?: string | null;\n\n /**\n * Properties bag.\n */\n properties: Record<string, any>;\n\n /**\n * Activity state (evaluated properties) (nullable).\n */\n activityState?: Record<string, any> | null;\n\n /**\n * Dynamic variables.\n */\n dynamicVariables: AXPActivityVariable[];\n\n /**\n * Activity status.\n */\n status: AXPActivityStatus;\n\n /**\n * Is executing flag.\n */\n isExecuting: boolean;\n\n /**\n * Fault count.\n */\n faultCount: number;\n\n /**\n * Started at timestamp (ISO date-time).\n */\n startedAt: string;\n\n /**\n * Completed at timestamp (ISO date-time, nullable).\n */\n completedAt?: string | null;\n\n /**\n * Tag (nullable).\n */\n tag?: any | null;\n}\n\n/**\n * Workflow state (internal execution state).\n */\nexport interface AXPWorkflowState {\n /**\n * State ID.\n */\n id: string;\n\n /**\n * Workflow definition ID.\n */\n definitionId: string;\n\n /**\n * Workflow definition version.\n */\n definitionVersion: number;\n\n /**\n * Correlation ID (nullable).\n */\n correlationId?: string | null;\n\n /**\n * Workflow status.\n */\n status: AXPWorkflowStatus;\n\n /**\n * Workflow sub-status.\n */\n subStatus: AXPWorkflowSubStatus;\n\n /**\n * Bookmarks.\n */\n bookmarks: AXPBookmark[];\n\n /**\n * Incidents.\n */\n incidents: AXPActivityIncident[];\n\n /**\n * Fault (nullable).\n */\n fault?: AXPWorkflowFaultState | null;\n\n /**\n * Completion callbacks.\n */\n completionCallbacks: AXPCompletionCallbackState[];\n\n /**\n * Activity execution contexts.\n */\n activityExecutionContexts: AXPActivityExecutionContextState[];\n\n /**\n * Input data.\n */\n input: Record<string, any>;\n\n /**\n * Output data.\n */\n output: Record<string, any>;\n\n /**\n * Properties bag.\n */\n properties: Record<string, any>;\n\n /**\n * Created at timestamp (ISO date-time).\n */\n createdAt: string;\n\n /**\n * Updated at timestamp (ISO date-time).\n */\n updatedAt: string;\n\n /**\n * Finished at timestamp (ISO date-time, nullable).\n */\n finishedAt?: string | null;\n\n /**\n * Total number of activities/steps in the workflow (for progress display).\n */\n totalSteps?: number;\n}\n\n/**\n * Workflow instance (stored in database).\n * This matches the Elsa Workflow Instance schema for backend compatibility.\n */\nexport interface AXPWorkflowInstance {\n /**\n * Schema reference.\n */\n $schema?: string;\n\n /**\n * Unique instance ID.\n */\n id: string;\n\n /**\n * Workflow definition ID.\n */\n definitionId: string;\n\n /**\n * Workflow definition version ID.\n */\n definitionVersionId: string;\n\n /**\n * Workflow definition version number.\n */\n version: number;\n\n /**\n * Parent workflow instance ID (nullable, for child workflows).\n */\n parentWorkflowInstanceId?: string | null;\n\n /**\n * Workflow state (internal execution state).\n */\n workflowState: AXPWorkflowState;\n\n /**\n * Workflow status.\n */\n status: AXPWorkflowStatus;\n\n /**\n * Workflow sub-status.\n */\n subStatus: AXPWorkflowSubStatus;\n\n /**\n * Correlation ID (nullable).\n */\n correlationId?: string | null;\n\n /**\n * Instance name (nullable).\n */\n name?: string | null;\n\n /**\n * Incident count.\n */\n incidentCount: number;\n\n /**\n * Created at timestamp (ISO date-time).\n */\n createdAt: string;\n\n /**\n * Updated at timestamp (ISO date-time).\n */\n updatedAt: string;\n\n /**\n * Finished at timestamp (ISO date-time, nullable).\n */\n finishedAt?: string | null;\n\n /**\n * Entity reference ID (for linking workflow instances to business entities).\n */\n entityRefId?: string | null;\n\n /**\n * Entity reference type (e.g., 'HumanCapitalManagement.LeaveRequest').\n */\n entityRefType?: string | null;\n}\n","import type { AXPMultiLanguageString } from '../core/core.types';\nimport type { AXPCategoryEntity } from '../data/data.types';\nimport type { AXPProperty } from '../property/property.types';\nimport type { AXPWorkflowOutputProperty } from './workflow-definition.types';\n\n// ============================================\n// SIMPLIFIED ACTIVITY SYSTEM\n// ============================================\n\n/**\n * Type of task for inbox handling.\n * - 'human-task': Requires inbox - needs human interaction\n * - 'ui-activity': UI-only activity (no inbox) - immediate execution\n * - 'system-activity': System/backend activity (no inbox) - automated execution\n */\nexport type AXPTaskType = 'human-task' | 'ui-activity' | 'system-activity';\n\n/**\n * How the workflow engine should offer \"continue to next step?\" before an inline frontend activity.\n * Declared on {@link AXPActivityDefinition} and copied onto {@link AXPWorkflowTask} at runtime.\n */\nexport type AXPWorkflowContinuationBeforeInteractive =\n | 'default'\n /** Skip when opened from a task-board human-task primary action (e.g. start-fill, review). */\n | 'skip-when-chained-from-human-task'\n /** Skip for the natural assignee; initiator / reassign users still get the prompt (workflow-management). */\n | 'skip-for-assignee';\n\n/** Optional continuation UX metadata for an activity definition. */\nexport interface AXPWorkflowContinuationMetadata {\n beforeInteractive?: AXPWorkflowContinuationBeforeInteractive;\n}\n\n/**\n * Activity Category - Extends AXPCategoryEntity for consistency and performance\n *\n * Inherited properties from AXPCategoryEntity:\n * - id: string - Unique identifier\n * - title: string - Display name\n * - description?: string - Category description\n * - parentId?: string - Parent category ID\n * - childrenCount: number - Direct child categories count (enables lazy loading)\n * - itemsCount?: number - Direct activities count\n * - totalChildrenCount?: number - Total nested categories (optional, for analytics)\n * - totalItemsCount?: number - Total activities in tree (optional, for analytics)\n */\nexport interface AXPActivityCategory extends AXPCategoryEntity {\n // No additional properties needed - all inherited from AXPCategoryEntity\n // Use: childrenCount instead of hasChild\n // Use: itemsCount instead of hasActivity\n}\n\n/**\n * Lightweight category snapshot embedded in activity-definition records.\n */\nexport interface AXPActivityDefinitionCategoryRef {\n id: string;\n name: string;\n title: AXPMultiLanguageString;\n}\n\n/**\n * Activity Definition - Metadata for UI and tooling.\n * Contains all metadata needed for displaying activities in toolbox and designer.\n * The `name` property is used as the command key for execution.\n */\nexport interface AXPActivityDefinition {\n /**\n * Activity name - used as command key for execution.\n * This is the unique identifier for the activity.\n */\n name: string;\n\n /**\n * Activity type (e.g., \"workflow-activity:check-permission\").\n */\n type: string;\n\n /**\n * Display name for UI (plain or per-locale map).\n */\n title?: AXPMultiLanguageString;\n\n instanceTitle?: string;\n\n /**\n * Description of what the activity does (plain or per-locale map).\n */\n description?: AXPMultiLanguageString;\n\n /**\n * Category for grouping in toolbox.\n */\n category?: AXPActivityDefinitionCategoryRef;\n\n /**\n * Icon name or class.\n */\n icon?: string;\n\n /**\n * Where this activity should be executed.\n * - 'frontend': Execute in browser (UI activities, console, events)\n * - 'backend': Execute in backend (business logic, API calls)\n * - 'both': Execute in both frontend and backend (hybrid activities)\n *\n * Default: 'frontend'\n */\n executionMode?: 'frontend' | 'backend' | 'both';\n\n /**\n * Type of task for inbox handling.\n * - 'human-task': Requires inbox - needs human interaction\n * - 'ui-activity': UI-only activity (no inbox) - immediate execution\n * - 'system-activity': System/backend activity (no inbox) - automated execution\n *\n * Default: 'ui-activity' (for backward compatibility)\n */\n taskType?: AXPTaskType;\n\n /**\n * Input properties (form/schema for activity parameters).\n */\n inputs?: AXPProperty[];\n\n /**\n * Output properties (result shape + optional path/metadata).\n */\n outputs?: AXPWorkflowOutputProperty[];\n\n /**\n * Static outcomes (exit points).\n * Example: ['Done', 'Success', 'Failed']\n */\n outcomes?: string[];\n\n /**\n * Whether this activity is browsable in the toolbox.\n * Default: true\n */\n isBrowsable?: boolean;\n\n /**\n * Whether this activity is a container (can have children).\n * Default: false\n */\n isContainer?: boolean;\n\n /**\n * Continuation prompt behavior when this activity runs inline in the workflow manager.\n */\n workflowContinuation?: AXPWorkflowContinuationMetadata;\n}\n\n/**\n * Query result shape for activity-definition catalog endpoints.\n */\nexport interface AXPActivityDefinitionQueryResult {\n total: number;\n items: AXPActivityDefinition[];\n}\n\n// Note:\n// Previous versions defined dedicated activity result/command types here\n// (AXPActivityResult / AXPActivity) that wrapped output and outcome.\n// Activities are now modeled directly as AXPCommand with outcome stored in\n// AXPExecuteCommandResult.metadata.outcome.\n","//#region ---- Workflow contracts ----\n\nexport * from './workflow-definition.types';\nexport * from './workflow-instance.types';\nexport * from './activity.types';\n\n//#endregion\n","//#region ---- System status types ----\n\n/** Standard system status types used across the platform. */\nexport enum AXPSystemStatusType {\n Todo = 'todo',\n InProgress = 'in-progress',\n InReview = 'in-review',\n Open = 'open',\n Closed = 'closed',\n Blocked = 'blocked',\n Done = 'done',\n Cancelled = 'cancelled',\n Draft = 'draft',\n PendingReview = 'pending-review',\n WaitingSignOff = 'waiting-sign-off',\n WaitingApproval = 'waiting-approval',\n Approved = 'approved',\n Published = 'published',\n Archived = 'archived',\n Rejected = 'rejected',\n Active = 'active',\n Inactive = 'inactive',\n Pending = 'pending',\n Completed = 'completed',\n Suspended = 'suspended',\n Failed = 'failed',\n Review = 'review',\n Expired = 'expired',\n}\n\n//#endregion\n","/**\n * Status Definition Types\n * Defines the structure for status definitions and their transitions\n */\n\n//#region ---- Status Definition Contracts ----\n\n/**\n * Status definition with metadata\n */\nexport interface AXPStatusDefinition {\n /**\n * Unique identifier for the status\n */\n name: string;\n\n /**\n * Display title for the status\n */\n title: string;\n\n /**\n * Color code or semantic color name for the status\n */\n color: string;\n\n /**\n * Optional icon class (e.g., 'fa-light fa-check')\n */\n icon?: string;\n\n /**\n * Optional description\n */\n description?: string;\n\n /**\n * Optional order for sorting\n */\n order?: number;\n\n /**\n * Whether this is a final status (end state)\n */\n isFinal?: boolean;\n\n /**\n * Whether this is an initial status (starting state)\n */\n isInitial?: boolean;\n\n /**\n * Whether list views should be automatically generated for this status\n */\n generateView?: boolean;\n}\n\n/**\n * Status transition definition\n */\nexport interface AXPStatusTransition {\n /**\n * Source status name\n */\n from: string;\n\n /**\n * Target status name\n */\n to: string;\n\n /**\n * Optional condition expression to evaluate before allowing transition\n * Uses expression evaluator syntax (e.g., \"{{user.isAdmin}}\", \"{{item.priority > 5}}\")\n */\n condition?: string;\n\n /**\n * Optional display title for the transition\n */\n title?: string;\n\n /**\n * Optional description\n */\n description?: string;\n\n /**\n * Optional command descriptor to execute for this transition\n * If not provided, defaults to Entity:UpdateStatus with entity, id, and status\n */\n command?: {\n name: string;\n options?: Record<string, unknown>;\n };\n\n /**\n * Whether this transition is automatic (no user action required)\n */\n isAutomatic?: boolean;\n\n /**\n * Whether this transition requires approval\n */\n requiresApproval?: boolean;\n}\n\n/**\n * Abstract class for status providers\n * Similar to AXPTaskBadgeProvider pattern\n */\nexport abstract class AXPStatusProvider {\n /**\n * Unique key for the status (e.g., 'task-management.status')\n */\n abstract readonly key: string;\n\n /**\n * List of available status definitions\n */\n abstract readonly statuses: AXPStatusDefinition[];\n\n /**\n * List of allowed transitions between statuses\n */\n abstract readonly transitions: AXPStatusTransition[];\n\n /**\n * Optional default status name\n */\n abstract readonly defaultStatus?: string;\n}\n\n//#endregion\n","import type { AXStyleColorType } from '../core/shims.types';\nimport { AXPSystemStatusType } from './status.types';\nimport { AXPStatusDefinition } from './status-definition.types';\n\nconst i18n = (key: string) => `@general:statuses.${key}`;\n\n/**\n * Standard system status definitions\n * Provides consistent status definitions across the platform\n * Uses AXPStatusDefinition interface from status-definition.types.ts\n */\nexport const AXPSystemStatuses = Object.freeze({\n Open: {\n name: AXPSystemStatusType.Open,\n title: i18n('open.title'),\n icon: 'fa-light fa-circle',\n color: 'secondary',\n description: i18n('open.description'),\n order: 1,\n isInitial: true,\n isFinal: false,\n },\n Closed: {\n name: AXPSystemStatusType.Closed,\n title: i18n('closed.title'),\n icon: 'fa-light fa-circle',\n color: 'danger',\n description: i18n('closed.description'),\n order: 2,\n isInitial: false,\n isFinal: true,\n },\n Todo: {\n name: AXPSystemStatusType.Todo,\n title: i18n('todo.title'),\n icon: 'fa-light fa-circle',\n color: 'secondary',\n description: i18n('todo.description'),\n order: 1,\n isInitial: true,\n isFinal: false,\n },\n InProgress: {\n name: AXPSystemStatusType.InProgress,\n title: i18n('in-progress.title'),\n icon: 'fa-light fa-play',\n color: 'info',\n description: i18n('in-progress.description'),\n order: 2,\n isInitial: false,\n isFinal: false,\n },\n InReview: {\n name: AXPSystemStatusType.InReview,\n title: i18n('in-review.title'),\n icon: 'fa-light fa-eye',\n color: 'info',\n description: i18n('in-review.description'),\n order: 3,\n isInitial: false,\n isFinal: false,\n },\n Blocked: {\n name: AXPSystemStatusType.Blocked,\n title: i18n('blocked.title'),\n icon: 'fa-light fa-ban',\n color: 'danger',\n description: i18n('blocked.description'),\n order: 4,\n isInitial: false,\n isFinal: false,\n },\n Done: {\n name: AXPSystemStatusType.Done,\n title: i18n('done.title'),\n icon: 'fa-light fa-check-circle',\n color: 'success',\n description: i18n('done.description'),\n order: 5,\n isInitial: false,\n isFinal: true,\n },\n Cancelled: {\n name: AXPSystemStatusType.Cancelled,\n title: i18n('cancelled.title'),\n icon: 'fa-light fa-times-circle',\n color: 'neutral',\n description: i18n('cancelled.description'),\n order: 6,\n isInitial: false,\n isFinal: true,\n },\n Draft: {\n name: AXPSystemStatusType.Draft,\n title: i18n('draft.title'),\n icon: 'fa-light fa-file-pen',\n color: 'neutral',\n description: i18n('draft.description'),\n order: 1,\n isInitial: true,\n isFinal: false,\n },\n PendingReview: {\n name: AXPSystemStatusType.PendingReview,\n title: i18n('pending-review.title'),\n icon: 'fa-light fa-clock',\n color: 'warning',\n description: i18n('pending-review.description'),\n order: 2,\n isInitial: false,\n isFinal: false,\n },\n WaitingSignOff: {\n name: AXPSystemStatusType.WaitingSignOff,\n title: i18n('waiting-sign-off.title'),\n icon: 'fa-light fa-clock',\n color: 'warning',\n description: i18n('waiting-sign-off.description'),\n order: 3,\n isInitial: false,\n isFinal: false,\n },\n WaitingApproval: {\n name: AXPSystemStatusType.WaitingApproval,\n title: i18n('waiting-approval.title'),\n icon: 'fa-light fa-clock',\n color: 'warning',\n description: i18n('waiting-approval.description'),\n order: 1,\n isInitial: true,\n isFinal: false,\n },\n Approved: {\n name: AXPSystemStatusType.Approved,\n title: i18n('approved.title'),\n icon: 'fa-light fa-check-circle',\n color: 'success',\n description: i18n('approved.description'),\n order: 3,\n isInitial: false,\n isFinal: false,\n },\n Published: {\n name: AXPSystemStatusType.Published,\n title: i18n('published.title'),\n icon: 'fa-light fa-globe',\n color: 'primary',\n description: i18n('published.description'),\n order: 4,\n isInitial: false,\n isFinal: false,\n },\n Archived: {\n name: AXPSystemStatusType.Archived,\n title: i18n('archived.title'),\n icon: 'fa-light fa-archive',\n color: 'danger',\n description: i18n('archived.description'),\n order: 5,\n isInitial: false,\n isFinal: true,\n },\n Rejected: {\n name: AXPSystemStatusType.Rejected,\n title: i18n('rejected.title'),\n icon: 'fa-light fa-times-circle',\n color: 'danger',\n description: i18n('rejected.description'),\n order: 6,\n isInitial: false,\n isFinal: true,\n },\n Active: {\n name: AXPSystemStatusType.Active,\n title: i18n('active.title'),\n icon: 'fa-light fa-check-circle',\n color: 'success',\n description: i18n('active.description'),\n order: 1,\n isInitial: false,\n isFinal: false,\n },\n Inactive: {\n name: AXPSystemStatusType.Inactive,\n title: i18n('inactive.title'),\n icon: 'fa-light fa-circle',\n color: 'secondary',\n description: i18n('inactive.description'),\n order: 2,\n isInitial: false,\n isFinal: false,\n },\n Pending: {\n name: AXPSystemStatusType.Pending,\n title: i18n('pending.title'),\n icon: 'fa-light fa-clock',\n color: 'warning',\n description: i18n('pending.description'),\n order: 1,\n isInitial: true,\n isFinal: false,\n },\n Completed: {\n name: AXPSystemStatusType.Completed,\n title: i18n('completed.title'),\n icon: 'fa-light fa-check-circle',\n color: 'success',\n description: i18n('completed.description'),\n order: 10,\n isInitial: false,\n isFinal: true,\n },\n Suspended: {\n name: AXPSystemStatusType.Suspended,\n title: i18n('suspended.title'),\n icon: 'fa-light fa-pause-circle',\n color: 'neutral',\n description: i18n('suspended.description'),\n order: 5,\n isInitial: false,\n isFinal: false,\n },\n Failed: {\n name: AXPSystemStatusType.Failed,\n title: i18n('failed.title'),\n icon: 'fa-light fa-xmark-circle',\n color: 'danger',\n description: i18n('failed.description'),\n order: 10,\n isInitial: false,\n isFinal: true,\n },\n\n Review: {\n name: AXPSystemStatusType.Review,\n title: i18n('review.title'),\n icon: 'fa-light fa-eye',\n color: 'info',\n description: i18n('review.description'),\n order: 3,\n },\n Expired: {\n name: AXPSystemStatusType.Expired,\n title: i18n('expired.title'),\n icon: 'fa-light fa-clock',\n color: 'danger',\n description: i18n('expired.description'),\n order: 10,\n isInitial: false,\n isFinal: true,\n },\n} as const satisfies Record<string, AXPStatusDefinition>);\n\n/**\n * Get system status definition by type\n * @param type - Status type\n * @returns System status definition or undefined\n */\nexport function getSystemStatus(type: AXPSystemStatusType): AXPStatusDefinition {\n return Object.values(AXPSystemStatuses).find(status => status.name === type) as AXPStatusDefinition;\n}\n\n/**\n * Resolves the visual appearance (color and icon) for status\n * using the system statuses from the core module.\n * @param statusType - Status type string\n * @returns Color and icon for the status\n */\nexport function resolveStatusLook(statusType: string): { color: AXStyleColorType; icon: string } {\n const systemStatusType = statusType as AXPSystemStatusType;\n if (systemStatusType) {\n const systemStatus = getSystemStatus(systemStatusType);\n if (systemStatus) {\n return {\n color: systemStatus.color as AXStyleColorType,\n icon: systemStatus.icon || ''\n };\n }\n }\n\n return {\n color: 'secondary' as AXStyleColorType,\n icon: ''\n };\n}\n\n/**\n * Resolves the complete status information (title, description, icon, color) for a status\n * using the system statuses from the core module.\n * @param statusType - Status type string\n * @returns Complete status information as AXPStatusDefinition\n */\nexport function getStatusInfo(statusType: string): AXPStatusDefinition {\n const systemStatusType = statusType as AXPSystemStatusType;\n if (systemStatusType) {\n const systemStatus = getSystemStatus(systemStatusType);\n if (systemStatus) {\n return systemStatus;\n }\n }\n\n return {\n name: statusType,\n title: statusType,\n description: `Status: ${statusType}`,\n icon: '',\n color: 'secondary'\n };\n}\n\n/**\n * Get system status definition directly (no conversion needed since it's already AXPStatusDefinition)\n * @param statusType - Status type\n * @param overrides - Optional overrides for the status definition\n * @returns AXPStatusDefinition\n */\nexport function systemStatusToDefinition(\n statusType: AXPSystemStatusType,\n overrides?: Partial<AXPStatusDefinition>\n): AXPStatusDefinition {\n const systemStatus = getSystemStatus(statusType);\n if (!systemStatus) {\n throw new Error(`System status ${statusType} not found`);\n }\n\n return {\n ...systemStatus,\n ...overrides,\n };\n}\n","//#region ---- Status contracts ----\n\nexport * from './status.types';\nexport * from './status-definition.types';\nexport * from './statuses.types';\n\n//#endregion\n","//#region ---- Address Data Types ----\n\n/**\n * Address mode type - determines the display mode of the address widget\n * - simple: single text input for full address (one line)\n * - popup: readonly summary + button to edit in popup dialog\n * - expandable: expandable panel — collapsed shows full address, expanded shows inline form\n */\nexport type AXPAddressMode = 'simple' | 'popup' | 'expandable';\n\n/**\n * Address label option\n */\nexport interface AXPAddressLabel {\n id: string;\n name: string;\n}\n\n/**\n * Address data structure\n */\nexport interface AXPAddressData {\n street1: string;\n street2?: string;\n postalCode?: string;\n coordinates?: string; // lat,lng format\n full: string; // formatted full address\n label?: string; // if hasLabel enabled\n // Exposed fields from lookup widgets\n country?: { id?: string; title?: string };\n state?: { id?: string; title?: string };\n city?: { id?: string; title?: string };\n}\n\n//#endregion\n","import type { AXPMetaData } from '../core/core.types';\n\nexport enum AXPFileStorageStatus {\n Temporary = 'temporary', // File is not yet associated with a parent entity\n Committed = 'committed', // File is fully associated and in use\n PendingDeletion = 'pendingDeletion', // File is marked for deletion but not yet removed\n Archived = 'archived', // File is archived and no longer actively used\n Error = 'error', // File encountered an error during processing\n}\n\n/**\n * Interface representing a file storage request in the Acorex platform.\n */\nexport interface AXPFileStorageCreateRequest {\n /**\n * The file to be stored.\n */\n file: File;\n\n /**\n * The name of the file.\n */\n name?: string;\n\n /**\n * The unique identifier of referenced entity.\n */\n refId: string;\n /**\n * The type of the referenced entity.\n */\n refType: string;\n /**\n * The category of the file. profile-picture, company-logo, policy, document, etc.\n */\n category: string;\n /**\n * The folder path where the file should be stored.\n * If null, the service will resolve the path based on metadata, user, tenant, or default rules.\n */\n path?: string;\n /**\n * Metadata associated with the file.\n */\n metadata?: AXPMetaData;\n\n /**\n * Indicates whether the file is primary or not.\n */\n isPrimary?: boolean;\n\n /**\n * Indicates the status of the file.\n */\n status?: AXPFileStorageStatus;\n}\n\nexport interface AXPFileStorageUpdateRequest {\n /**\n * The unique identifier for the stored file.\n */\n fileId: string;\n /**\n * The folder path where the file should be stored.\n * If null, the service will resolve the path based on metadata, user, tenant, or default rules.\n */\n path?: string;\n /**\n * The name of the file.\n */\n name?: string;\n /**\n * Metadata associated with the file.\n */\n metadata: AXPMetaData;\n\n /**\n * Indicates whether the file is primary or not.\n */\n isPrimary?: boolean;\n}\n\n/**\n * Represents information about a file stored in the AXP file storage system.\n */\nexport interface AXPFileStorageInfo {\n /**\n * The unique identifier for the stored file.\n */\n id?: string;\n /**\n * The unique identifier for the stored file.\n */\n fileId: string;\n\n /**\n * The unique identifier of referenced entity.\n */\n refId: string;\n /**\n * The type of the referenced entity.\n */\n refType: string;\n /**\n * The category of the file. profile-picture, company-logo, policy, document, etc.\n */\n category: string;\n\n /**\n * The URL where the file can be accessed.\n */\n url?: string;\n\n /**\n * The size of the file in bytes.\n */\n size: number;\n\n /**\n * The name of the file.\n */\n name?: string;\n\n /**\n * The MIME type of the file.\n */\n mimeType: string;\n\n /**\n * The date and time when the file was uploaded.\n */\n uploadedAt: Date;\n\n /**\n * Indicates whether the file is public or private.\n */\n isPublic: boolean;\n\n /**\n * Indicates whether the file is primary or not.\n */\n isPrimary?: boolean;\n\n status: AXPFileStorageStatus; // Updated to use enum\n\n binary: File;\n}\n\nexport interface AXPFileManyStorageInfo {\n /**\n * The unique identifier for the stored file.\n */\n id?: string;\n /**\n * The unique identifier for the stored file.\n */\n fileId: string;\n /**\n * The unique identifier of referenced entity.\n */\n refId: string;\n /**\n * The type of the referenced entity.\n */\n refType: string;\n /**\n * The size of the file in bytes.\n */\n size: number;\n\n /**\n * The name of the file.\n */\n name?: string;\n\n /**\n * The URL where the file can be accessed.\n */\n url?: string;\n\n /**\n * Optional title (e.g. for display in file list).\n */\n title?: string;\n\n /**\n * Optional description (e.g. for display in file list).\n */\n description?: string;\n}\n\n/**\n * Represents information about a file stored in the AXP file storage system.\n */\nexport interface AXPFileStorageFindRequest {\n /**\n * The unique identifier of referenced entity.\n */\n refId?: string;\n /**\n * The type of the referenced entity.\n */\n refType?: string;\n /**\n * The category of the file. profile-picture, company-logo, policy, document, etc.\n */\n category?: string;\n /**\n * The MIME type of the file.\n */\n mimeType?: string;\n /**\n * Indicates whether the file is public or private.\n */\n isPublic?: boolean;\n /**\n * Indicates whether the file is primary or not.\n */\n isPrimary?: boolean;\n /**\n * The date and time range when the file was uploaded.\n */\n uploadedAtRange?: { from: Date; to: Date };\n}\n","//#region ---- AI output contract types ----\n\n/** JSON data primitive for the specialist final deliverable. */\nexport type AXPAgentOutputKind = 'string' | 'object' | 'array';\n\n/** When `kind` is `object`, controls how the parsed value maps into chat transcript segments. */\nexport type AXPOutputTranscriptSegmentId = 'text' | 'node' | 'followUp' | 'file';\n\n//#endregion\n","//#region ---- Spreadsheet data types ----\n\nexport type AXPSpreadsheetCellValue = string | null;\n\n/** Matrix data: row id → column id → cell value id */\nexport type AXPSpreadsheetData = Record<string, Record<string, AXPSpreadsheetCellValue>>;\n\n//#endregion\n","//#region ---- Domain contracts ----\n\nexport * from './address.types';\nexport * from './file-storage.types';\nexport * from './metadata.types';\nexport * from './ai-output.types';\nexport * from './spreadsheet.types';\n\n//#endregion\n","//#region ---- Platform core datasource keys ----\n\n/** Platform core datasource registry names. */\nexport const AXPPlatformCoreDataSourceKeys = {\n ModuleManifests: 'platform-module-manifests',\n CatalogScopes: 'platform-catalog-scopes',\n} as const;\n\n//#endregion\n","//#region ---- Regional setting keys ----\n\n/**\n * Regional and locale-related setting keys used by platform widgets and components.\n * Most values use the `LocaleManagement:Setting:Regional.*` prefix; definitions live in the locale-management module where applicable.\n */\nexport enum AXPRegionalSetting {\n LocaleProfile = 'LocaleManagement:Setting:Regional.LocaleProfile',\n TimeZone = 'LocaleManagement:Setting:Regional.TimeZone',\n Language = 'LocaleManagement:Setting:Regional.Language',\n Country = 'LocaleManagement:Setting:Regional.Country',\n Calendar = 'LocaleManagement:Setting:Regional.Calendar',\n /** User-selected holiday calendars shown on the task board and other calendar views. */\n CalendarEvents = 'LocaleManagement:Setting:Regional.CalendarEvents',\n FirstDayOfWeek = 'LocaleManagement:Setting:Regional.FirstDayOfWeek',\n WeekendDays = 'LocaleManagement:Setting:Regional.WeekendDays',\n ShortDate = 'LocaleManagement:Setting:Regional.ShortDate',\n MediumDate = 'LocaleManagement:Setting:Regional.MediumDate',\n LongDate = 'LocaleManagement:Setting:Regional.LongDate',\n ShortTime = 'LocaleManagement:Setting:Regional.ShortTime',\n MediumTime = 'LocaleManagement:Setting:Regional.MediumTime',\n LongTime = 'LocaleManagement:Setting:Regional.LongTime',\n MeasurementUnits = 'LocaleManagement:Setting:Regional.MeasurementUnits',\n TemperatureUnits = 'LocaleManagement:Setting:Regional.TemperatureUnits',\n DistanceUnits = 'LocaleManagement:Setting:Regional.DistanceUnits',\n WeightUnits = 'LocaleManagement:Setting:Regional.WeightUnits',\n VolumeUnits = 'LocaleManagement:Setting:Regional.VolumeUnits',\n SpeedUnits = 'LocaleManagement:Setting:Regional.SpeedUnits',\n AreaUnits = 'LocaleManagement:Setting:Regional.AreaUnits',\n /** Default multi-language behavior for standard text field names; defined in locale-management `AXMRegionalSettingProvider`. */\n MultiLanguageSupport = 'LocaleManagement:Setting:Regional.MultiLanguageSupport',\n}\n\n//#endregion\n","/** Registration key for {@link AXPPreviewWidgetFieldCommand}; lives in contracts so consumers can reference it without importing the command implementation. */\nexport const AXP_PREVIEW_WIDGET_FIELD_COMMAND_KEY = 'Widget:Preview';\n","//#region ---- Registry keys ----\n\nexport * from './platform-core-datasource.keys';\nexport * from './regional-settings.keys';\nexport * from './preview-widget-field.command.key';\n\n//#endregion\n","//#region ---- Mock data shims (no @acorex/core, no @acorex/platform/core) ----\n\nimport type { AXPMultiLanguageString } from '../core/core.types';\n\n/**\n * Builds a locale map for mock seed data (`en-US` + `fa-IR`).\n * Standalone copy for connectivity mocks — no dependency on @acorex/core/translation.\n */\nexport function createMultiLanguageString(\n enUS: string,\n faIR?: string,\n): Record<string, string> {\n return {\n 'en-US': enUS,\n 'fa-IR': faIR ?? enUS,\n };\n}\n\nexport { resolveMultiLanguageString } from '../multi-language-string/resolve-multi-language-string.util';\n\n/**\n * Lightweight data helpers for mock seed files.\n * Standalone copy for connectivity mocks — no dependency on @acorex/platform/core.\n */\nexport class AXPDataGenerator {\n static uuid(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (char) => {\n const random = (Math.random() * 16) | 0;\n const value = char === 'x' ? random : (random & 0x3) | 0x8;\n return value.toString(16);\n });\n }\n\n static number(max: number): number;\n static number(min: number, max: number): number;\n static number(...args: number[]): number {\n let min = 0;\n let max = 100;\n if (args.length === 1) max = args[0];\n if (args.length === 2) {\n min = args[0];\n max = args[1];\n }\n return Math.floor(Math.random() * (max - min + 1)) + min;\n }\n\n static date(): Date;\n static date(start: Date): Date;\n static date(start: Date, end: Date): Date;\n static date(...args: Date[]): Date {\n let start = new Date(2000, 0, 1);\n let end = new Date();\n\n if (args.length === 1) {\n start = args[0];\n } else if (args.length === 2) {\n start = args[0];\n end = args[1];\n }\n\n const startTime = start.getTime();\n const endTime = end.getTime();\n return new Date(startTime + Math.random() * (endTime - startTime));\n }\n\n static array<T>(length = 5, generator: () => T): T[] {\n return Array.from({ length }, generator);\n }\n\n static pick<T>(items: T[]): T;\n static pick<T>(items: T[], count: number): T[];\n static pick<T>(...args: unknown[]): T | T[] {\n if (args.length < 1) {\n throw new Error('Invalid parameters');\n }\n const items = args[0] as T[];\n const count = (args[1] as number | undefined) ?? 1;\n if (count < 1) {\n throw new Error('Count must be at least 1');\n }\n\n if (count >= items.length) {\n return [...items].sort(() => Math.random() - 0.5);\n }\n\n const shuffled = items.slice();\n for (let i = shuffled.length - 1; i > 0; i -= 1) {\n const j = Math.floor(Math.random() * (i + 1));\n [shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]];\n }\n return count === 1 ? shuffled.slice(0, count)[0] : shuffled.slice(0, count);\n }\n\n static string(length = 10): string {\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n return Array.from({ length }, () => chars.charAt(Math.floor(Math.random() * chars.length))).join('');\n }\n\n static boolean(): boolean {\n return Math.random() >= 0.5;\n }\n\n static item<T>(array: T[] = []): T | undefined {\n return array.length > 0 ? array[Math.floor(Math.random() * array.length)] : undefined;\n }\n\n static color(format: 'hsl' | 'rgb' | 'hex' = 'hex'): string {\n const h = Math.floor(Math.random() * 360);\n const s = Math.floor(Math.random() * 20) + 60;\n const l = Math.floor(Math.random() * 20) + 40;\n\n if (format === 'hsl') {\n return `hsl(${h}, ${s}%, ${l}%)`;\n }\n\n const { r, g, b } = this.hslToRgb(h, s / 100, l / 100);\n\n if (format === 'rgb') {\n return `rgb(${r}, ${g}, ${b})`;\n }\n\n const toHex = (val: number) => val.toString(16).padStart(2, '0');\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n }\n\n private static hslToRgb(h: number, s: number, l: number): { r: number; g: number; b: number } {\n const c = (1 - Math.abs(2 * l - 1)) * s;\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1));\n const m = l - c / 2;\n let r = 0;\n let g = 0;\n let b = 0;\n\n if (h < 60) [r, g, b] = [c, x, 0];\n else if (h < 120) [r, g, b] = [x, c, 0];\n else if (h < 180) [r, g, b] = [0, c, x];\n else if (h < 240) [r, g, b] = [0, x, c];\n else if (h < 300) [r, g, b] = [x, 0, c];\n else [r, g, b] = [c, 0, x];\n\n return {\n r: Math.round((r + m) * 255),\n g: Math.round((g + m) * 255),\n b: Math.round((b + m) * 255),\n };\n }\n\n static alphanumeric(length = 10): string {\n const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\n return Array.from({ length }, () => chars.charAt(Math.floor(Math.random() * chars.length))).join('');\n }\n\n static alphabet(length = 10): string {\n const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\n return Array.from({ length }, () => chars.charAt(Math.floor(Math.random() * chars.length))).join('');\n }\n\n static phone(): string {\n const areaCode = this.number(100, 999);\n const exchangeCode = this.number(100, 999);\n const lineNumber = this.number(1000, 9999);\n return `${areaCode}-${exchangeCode}-${lineNumber}`;\n }\n\n static firstName(): string {\n const firstNames = ['John', 'Allen', 'Jak', 'Rose', 'Kate', 'Liam', 'Olivia', 'Noah', 'Emma', 'Ava'];\n return this.pick(firstNames);\n }\n\n static lastName(): string {\n const lastNames = ['Gates', 'Jonsen', 'Smith', 'Ford', 'Jakson', 'Brown', 'Johnson', 'Williams', 'Jones', 'Garcia'];\n return this.pick(lastNames);\n }\n\n static email(): string;\n static email(firstName: string, lastName: string): string;\n static email(...args: string[]): string {\n const domains = ['gmail.com', 'yahoo.com', 'outlook.com', 'example.com'];\n const domain = this.pick(domains);\n const separator = this.pick(['.', '_', '']);\n const randomSuffix = this.boolean() ? this.number(1, 99).toString() : '';\n\n if (args.length === 2) {\n const firstName = args[0].toLowerCase();\n const lastName = args[1].toLowerCase();\n return `${firstName}${separator}${lastName}${randomSuffix}@${domain}`;\n }\n\n const firstName = this.firstName().toLowerCase();\n const lastName = this.lastName().toLowerCase();\n return `${firstName}${separator}${lastName}${randomSuffix}@${domain}`;\n }\n\n static country(): string {\n const countries = ['USA', 'Canada', 'Mexico', 'Germany', 'France', 'Japan', 'Australia'];\n return this.pick(countries);\n }\n\n static city(): string {\n const cities = ['Los Angeles', 'Toronto', 'Vancouver', 'Berlin', 'Paris', 'Tokyo', 'Sydney'];\n return this.pick(cities);\n }\n\n static state(): string {\n const states = ['NY', 'CA', 'TX', 'ON', 'BC', 'NSW', 'BER', 'IDF', 'TYO'];\n return this.pick(states);\n }\n\n static address(): string {\n const streets = ['Main St', 'High St', 'Maple Ave', 'Oak St', 'Pine St', 'Cedar St'];\n const streetNumber = this.number(100, 9999);\n const street = this.pick(streets);\n const city = this.city();\n const state = this.state();\n const zip = this.number(10000, 99999);\n const country = this.country();\n return `${streetNumber} ${street}, ${city}, ${state} ${zip}, ${country}`;\n }\n\n static avatar(): string {\n return `https://avatar.iran.liara.run/public/${this.pick([35, 22, 16, 6, 31])}`;\n }\n}\n\n//#endregion\n","//#region ---- Mock shims ----\n\nexport * from './mock-data.shims';\n\n//#endregion\n","//#region ---- Integration connection status ----\n\nexport const AXP_INTEGRATION_CONNECTION_STATUS = {\n NotConnected: 'NotConnected',\n PendingAuthorization: 'PendingAuthorization',\n Connected: 'Connected',\n Expired: 'Expired',\n RefreshRequired: 'RefreshRequired',\n Invalid: 'Invalid',\n Revoked: 'Revoked',\n Disabled: 'Disabled',\n Error: 'Error',\n} as const;\n\nexport type AXPIntegrationConnectionStatus =\n (typeof AXP_INTEGRATION_CONNECTION_STATUS)[keyof typeof AXP_INTEGRATION_CONNECTION_STATUS];\n\n//#endregion\n\n//#region ---- Integration connection scope ----\n\nexport const AXP_INTEGRATION_CONNECTION_SCOPE = {\n User: 'user',\n Tenant: 'tenant',\n} as const;\n\nexport type AXPIntegrationConnectionScope =\n (typeof AXP_INTEGRATION_CONNECTION_SCOPE)[keyof typeof AXP_INTEGRATION_CONNECTION_SCOPE];\n\n//#endregion\n\n//#region ---- Integration auth method types ----\n\nexport const AXP_INTEGRATION_AUTH_METHOD_TYPE = {\n OAuth2: 'oauth2',\n Pat: 'pat',\n Basic: 'basic',\n ApiToken: 'apiToken',\n} as const;\n\nexport type AXPIntegrationAuthMethodType =\n (typeof AXP_INTEGRATION_AUTH_METHOD_TYPE)[keyof typeof AXP_INTEGRATION_AUTH_METHOD_TYPE];\n\n//#endregion\n\n//#region ---- Integration categories ----\n\nexport const AXP_INTEGRATION_CATEGORY = {\n DevTools: 'dev-tools',\n Messaging: 'messaging',\n Productivity: 'productivity',\n Identity: 'identity',\n Storage: 'storage',\n Other: 'other',\n} as const;\n\nexport type AXPIntegrationCategory =\n (typeof AXP_INTEGRATION_CATEGORY)[keyof typeof AXP_INTEGRATION_CATEGORY];\n\n//#endregion\n\n//#region ---- Integration capabilities ----\n\nexport const AXP_INTEGRATION_CAPABILITY = {\n Sync: 'sync',\n Search: 'search',\n Import: 'import',\n Export: 'export',\n Webhooks: 'webhooks',\n IssueTracking: 'issue-tracking',\n Messaging: 'messaging',\n FileStorage: 'file-storage',\n Calendar: 'calendar',\n Identity: 'identity',\n TimeLogging: 'time-logging',\n CustomActions: 'custom-actions',\n} as const;\n\nexport type AXPIntegrationCapability =\n (typeof AXP_INTEGRATION_CAPABILITY)[keyof typeof AXP_INTEGRATION_CAPABILITY];\n\n//#endregion\n","import type {\n AXPIntegrationAuthMethodType,\n AXPIntegrationConnectionScope,\n AXPIntegrationConnectionStatus,\n} from './integration-status.constants';\n\n//#region ---- Safe connection DTO (no secrets) ----\n\n/**\n * Connection details safe for queries and UI responses.\n * Never includes access tokens, passwords, or refresh tokens.\n */\nexport interface AXPSafeIntegrationConnectionDto {\n id: string;\n providerId: string;\n connectionScope: AXPIntegrationConnectionScope;\n connectionKey: string;\n displayName: string;\n authMethodType: AXPIntegrationAuthMethodType;\n status: AXPIntegrationConnectionStatus;\n instanceUrl?: string | null;\n externalAccountId?: string | null;\n externalAccountName?: string | null;\n grantedScopes?: string[] | null;\n expiresAt?: string | null;\n lastConnectedAt?: string | null;\n lastValidatedAt?: string | null;\n lastSyncAt?: string | null;\n lastErrorCode?: string | null;\n lastErrorMessage?: string | null;\n isRevoked: boolean;\n isDisabled: boolean;\n config?: Record<string, unknown> | null;\n hasSecret: boolean;\n secretPreview?: string | null;\n}\n\n//#endregion\n\n//#region ---- Provider list item (public metadata) ----\n\nexport interface AXPIntegrationProviderListItemDto {\n id: string;\n module: string;\n displayName: string;\n description?: string;\n icon?: string;\n category: string;\n capabilities: string[];\n connectionScopes: AXPIntegrationConnectionScope[];\n allowMultipleConnections: boolean;\n authMethodTypes: AXPIntegrationAuthMethodType[];\n isConnected: boolean;\n connectionCount: number;\n}\n\n//#endregion\n\n//#region ---- Validation result ----\n\nexport interface AXPIntegrationValidationResult {\n valid: boolean;\n status?: AXPIntegrationConnectionStatus;\n externalAccountId?: string;\n externalAccountName?: string;\n grantedScopes?: string[];\n expiresAt?: string;\n errorCode?: string;\n errorMessage?: string;\n}\n\n//#endregion\n","import type {\n AXPIntegrationAuthMethodType,\n AXPIntegrationCapability,\n AXPIntegrationCategory,\n AXPIntegrationConnectionScope,\n} from './integration-status.constants';\nimport type { AXPIntegrationValidationResult } from './integration-connection.safe-types';\n\n//#region ---- Auth field schema (provider-neutral, no widget-core dependency) ----\n\nexport interface AXPIntegrationAuthFieldDefinition {\n type: string;\n path?: string;\n name?: string;\n visible?: boolean;\n options?: Record<string, unknown>;\n layout?: Record<string, unknown>;\n children?: AXPIntegrationAuthFieldDefinition[];\n}\n\n//#endregion\n\n//#region ---- Auth method definitions ----\n\nexport interface AXPIntegrationOAuth2AuthMethodDefinition {\n type: 'oauth2';\n label: string;\n usesRedirect: boolean;\n supportsRefresh: boolean;\n supportsRevoke: boolean;\n supportsValidation: boolean;\n defaultScopes?: string[];\n fields?: AXPIntegrationAuthFieldDefinition[];\n}\n\nexport interface AXPIntegrationPatAuthMethodDefinition {\n type: 'pat';\n label: string;\n supportsValidation: boolean;\n fields: AXPIntegrationAuthFieldDefinition[];\n}\n\nexport interface AXPIntegrationBasicAuthMethodDefinition {\n type: 'basic';\n label: string;\n supportsValidation: boolean;\n fields: AXPIntegrationAuthFieldDefinition[];\n}\n\nexport interface AXPIntegrationApiTokenAuthMethodDefinition {\n type: 'apiToken';\n label: string;\n supportsValidation: boolean;\n fields: AXPIntegrationAuthFieldDefinition[];\n}\n\nexport type AXPIntegrationAuthMethodDefinition =\n | AXPIntegrationOAuth2AuthMethodDefinition\n | AXPIntegrationPatAuthMethodDefinition\n | AXPIntegrationBasicAuthMethodDefinition\n | AXPIntegrationApiTokenAuthMethodDefinition;\n\n//#endregion\n\n//#region ---- Provider definition ----\n\nexport interface AXPIntegrationProviderDefinition {\n id: string;\n module: string;\n displayName: string;\n description?: string;\n icon?: string;\n category: AXPIntegrationCategory;\n capabilities: AXPIntegrationCapability[];\n connectionScopes: AXPIntegrationConnectionScope[];\n allowMultipleConnections: boolean;\n authMethods: AXPIntegrationAuthMethodDefinition[];\n defaultConnectionKey?: string;\n features?: string[];\n customUiComponentKey?: string;\n}\n\n//#endregion\n\n//#region ---- Runtime context (for provider hooks) ----\n\nexport interface AXPIntegrationAuthContext {\n tenantId: string;\n userId: string;\n connectionId: string;\n providerId: string;\n connectionScope: AXPIntegrationConnectionScope;\n connectionKey: string;\n authMethodType: AXPIntegrationAuthMethodType;\n instanceUrl?: string | null;\n config?: Record<string, unknown> | null;\n}\n\nexport interface AXPIntegrationRuntimeContext extends AXPIntegrationAuthContext {\n secretRef: string;\n}\n\nexport interface AXPIntegrationProviderRuntimeHooks {\n validateConnection?(ctx: AXPIntegrationRuntimeContext): Promise<AXPIntegrationValidationResult>;\n revokeConnection?(ctx: AXPIntegrationRuntimeContext): Promise<void>;\n refreshTokens?(ctx: AXPIntegrationRuntimeContext): Promise<AXPIntegrationValidationResult>;\n createClient?(ctx: AXPIntegrationRuntimeContext): Promise<unknown>;\n}\n\n//#endregion\n\n//#region ---- Secret payload types ----\n\nexport interface AXPIntegrationOAuthSecretPayload {\n accessToken: string;\n refreshToken?: string;\n expiresAt?: string;\n tokenType?: string;\n scope?: string;\n}\n\nexport interface AXPIntegrationPatSecretPayload {\n token: string;\n}\n\nexport interface AXPIntegrationBasicSecretPayload {\n username: string;\n password: string;\n}\n\nexport interface AXPIntegrationApiTokenSecretPayload {\n email: string;\n apiToken: string;\n}\n\nexport type AXPIntegrationSecretPayload =\n | AXPIntegrationOAuthSecretPayload\n | AXPIntegrationPatSecretPayload\n | AXPIntegrationBasicSecretPayload\n | AXPIntegrationApiTokenSecretPayload;\n\nexport interface AXPIntegrationResolvedCredentials {\n authMethodType: AXPIntegrationAuthMethodType;\n accessToken?: string;\n refreshToken?: string;\n expiresAt?: string;\n token?: string;\n username?: string;\n password?: string;\n email?: string;\n apiToken?: string;\n}\n\n//#endregion\n\n//#region ---- Integration errors ----\n\nexport class AXPIntegrationNotConnectedError extends Error {\n constructor(\n public readonly providerId: string,\n message?: string,\n ) {\n super(message ?? `No connected integration found for provider '${providerId}'.`);\n this.name = 'AXPIntegrationNotConnectedError';\n }\n}\n\nexport class AXPIntegrationExpiredError extends Error {\n constructor(\n public readonly providerId: string,\n public readonly connectionId: string,\n message?: string,\n ) {\n super(message ?? `Integration connection for '${providerId}' has expired.`);\n this.name = 'AXPIntegrationExpiredError';\n }\n}\n\nexport class AXPIntegrationMissingScopeError extends Error {\n constructor(\n public readonly providerId: string,\n public readonly missingScopes: string[],\n message?: string,\n ) {\n super(message ?? `Integration for '${providerId}' is missing required scopes.`);\n this.name = 'AXPIntegrationMissingScopeError';\n }\n}\n\n//#endregion\n","//#region ---- Integration contracts barrel ----\n\nexport * from './integration-status.constants';\nexport * from './integration-connection.safe-types';\nexport * from './integration.types';\n\n//#endregion\n","//#region ---- Contracts barrel ----\n\nexport * from './core';\nexport * from './utils';\nexport * from './multi-language-string';\nexport * from './data';\nexport * from './property';\nexport * from './interaction';\nexport * from './widgets';\nexport * from './workflow';\nexport * from './status';\nexport * from './domain';\nexport * from './keys';\nexport * from './mock';\nexport * from './integration';\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i18n"],"mappings":"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"}
|