{"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/keyboard-shortcut.types.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 AXStyleLookType = 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/**\n * Structural shim for `@acorex/cdk/common` `AXDataSource` class instances.\n * Runtime code must import the real class from CDK.\n */\nexport type AXDataSource = object;\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    if (obj[arrayKey].length > value.length) {\n      obj[arrayKey].splice(value.length);\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(/&amp;/g, '&')\n    .replace(/&lt;/g, '<')\n    .replace(/&gt;/g, '>')\n    .replace(/&quot;/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 {\n  AXDataSource,\n  AXDataSourceFilterOption,\n  AXDataSourceSortOption,\n} from '../core/shims.types';\nimport type { AXPMultiLanguageString } from '../core/core.types';\n\n/** CDK-aware data source reference used by platform widgets and datasources. */\nexport type AXPDataSource = string | AXDataSource | unknown[];\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 ---- Types ----\n\n/**\n * Normalized keyboard chord (e.g. `ctrl+f`, `arrowleft`, `f1`).\n * Modifiers and key are joined with `+`.\n */\nexport type AXPKeyboardShortcutChord = string;\n\n/** Priority tier — higher values win when multiple bindings match. */\nexport enum AXPKeyboardShortcutPriority {\n  Global = 0,\n  Page = 10,\n  Panel = 20,\n  Modal = 100,\n}\n\n/**\n * How horizontal directional keys behave in RTL locale profiles (`activeProfile().i18nMeta?.rtl`).\n * - `physical`: arrow left always means left (grid navigation, etc.).\n * - `semantic`: arrows and `[` / `]` mirror so next/previous follow reading direction.\n */\nexport type AXPKeyboardShortcutDirectionBehavior = 'physical' | 'semantic';\n\nexport interface AXPKeyboardShortcutBinding {\n  /**\n   * One or more key chords that trigger this action.\n   * Example: `['arrowleft', 'pageup']` or `['ctrl+f']`.\n   */\n  keys: AXPKeyboardShortcutChord[];\n\n  /** i18n key (e.g. `@general:...`) or plain label for the help dialog. */\n  title: string;\n\n  /** Optional group label (i18n key or plain) for help dialog grouping. */\n  group?: string;\n\n  /** When true, fires even if focus is inside an editable field. Default false. */\n  allowInEditableFields?: boolean;\n\n  /** Optional runtime guard — binding is ignored when this returns false. */\n  when?: () => boolean;\n\n  /**\n   * RTL handling for horizontal direction keys (`←`/`→`, `[`/`]`).\n   * Omitted = auto (`semantic` for direction keys, `physical` otherwise). Set `physical` to opt out.\n   */\n  directionBehavior?: AXPKeyboardShortcutDirectionBehavior;\n\n  handler: (event: KeyboardEvent) => void | Promise<void>;\n}\n\n/**\n * Declarative shortcut for menus, action items, and other config-driven bindings.\n * Use a chord string for defaults, or an object to override binding options (e.g. `allowInEditableFields`).\n */\nexport type AXPKeyboardShortcutConfig = Pick<\n  AXPKeyboardShortcutBinding,\n  'allowInEditableFields' | 'when' | 'directionBehavior'\n> & {\n  keys: AXPKeyboardShortcutChord | readonly AXPKeyboardShortcutChord[];\n};\n\nexport type AXPKeyboardShortcut = AXPKeyboardShortcutChord | AXPKeyboardShortcutConfig;\n\n/** Normalized declarative shortcut used when registering keyboard bindings. */\nexport interface AXPResolvedKeyboardShortcut {\n  keys: AXPKeyboardShortcutChord[];\n  allowInEditableFields?: boolean;\n  when?: () => boolean;\n  directionBehavior?: AXPKeyboardShortcutDirectionBehavior;\n}\n\nexport interface AXPKeyboardShortcutRegistration {\n  /** Stable id for this registration scope (e.g. `task-board-navigator`). */\n  id: string;\n\n  /** Higher priority bindings win on conflict. */\n  priority?: AXPKeyboardShortcutPriority | number;\n\n  /** Scope label shown in the help dialog (i18n key or plain). */\n  scope?: string;\n\n  /** Default group for bindings without their own `group`. */\n  group?: string;\n\n  /** Optional runtime guard — registration is ignored when this returns false. */\n  when?: () => boolean;\n\n  shortcuts: AXPKeyboardShortcutBinding[];\n}\n\n/** Resolved entry for help UI. */\nexport interface AXPKeyboardShortcutHelpEntry {\n  registrationId: string;\n  bindingTitle: string;\n  /** Raw chords for `ax-kbd-item` rendering (canonical registration). */\n  chords: AXPKeyboardShortcutChord[];\n  /** Chords adjusted for RTL display when `directionBehavior` is `semantic`. */\n  displayChords: AXPKeyboardShortcutChord[];\n  displayKeys: string;\n  scope?: string;\n  group?: string;\n  priority: number;\n}\n\n//#endregion\n","//#region ---- Interactive types ----\n\nimport type { AXPMetaData, AXPMultiLanguageString } from '../core/core.types';\nimport type { AXStyleLookType } from '../core/shims.types';\nimport type { AXPKeyboardShortcut } from './keyboard-shortcut.types';\n\n/** CDK- and shortcut-aware action menu item. */\nexport type AXPActionMenuItem = {\n  name?: string;\n  title: AXPMultiLanguageString;\n  icon?: string;\n  iconOnly?: boolean;\n  color?: string;\n  look?: AXStyleLookType;\n  break?: boolean;\n  items?: AXPActionMenuItem[];\n  shortcuts?: AXPKeyboardShortcut[];\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 { AXPExpression } from '../core/core.types';\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  visible?: boolean | AXPExpression;\n}\n\n//#endregion\n","//#region ---- Interaction contracts ----\n\nexport * from './keyboard-shortcut.types';\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';\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    NodeRenderer: 'node-renderer-widget',\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  nodeRenderer: 'node-renderer-widget',\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 { AXStyleColorType } from '../core';\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  connectCommandKey?: string;\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  /** i18n key — how to authorize (shown in connect popup). */\n  instructions?: 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  /** i18n key — how to create a personal access token (shown in connect popup). */\n  instructions?: string;\n  supportsValidation: boolean;\n  fields: AXPIntegrationAuthFieldDefinition[];\n}\n\nexport interface AXPIntegrationBasicAuthMethodDefinition {\n  type: 'basic';\n  label: string;\n  /** i18n key — login instructions (shown in connect popup). */\n  instructions?: string;\n  supportsValidation: boolean;\n  fields: AXPIntegrationAuthFieldDefinition[];\n}\n\nexport interface AXPIntegrationApiTokenAuthMethodDefinition {\n  type: 'apiToken';\n  label: string;\n  /** i18n key — how to create an API token (shown in connect popup). */\n  instructions?: 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  /** When set, Connect uses this command instead of the default integration connect flow. */\n  connectCommandKey?: 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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"}