@acorex/modules 21.0.0-next.40 → 21.0.0-next.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/fesm2022/{acorex-modules-ai-management-acorex-modules-ai-management-Bqfx8OTv.mjs → acorex-modules-ai-management-acorex-modules-ai-management-D7_4LOGV.mjs} +3486 -1149
  2. package/fesm2022/acorex-modules-ai-management-acorex-modules-ai-management-D7_4LOGV.mjs.map +1 -0
  3. package/fesm2022/{acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-DyczMN-R.mjs → acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-C7TQMwX4.mjs} +4 -3
  4. package/fesm2022/acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-C7TQMwX4.mjs.map +1 -0
  5. package/fesm2022/{acorex-modules-ai-management-agent.entity-CpSXisAh.mjs → acorex-modules-ai-management-agent.entity-DwPIKib2.mjs} +20 -17
  6. package/fesm2022/acorex-modules-ai-management-agent.entity-DwPIKib2.mjs.map +1 -0
  7. package/fesm2022/{acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-CYk2rB36.mjs → acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-D2GJ5qD1.mjs} +28 -6
  8. package/fesm2022/acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-D2GJ5qD1.mjs.map +1 -0
  9. package/fesm2022/{acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-BDcW8BRI.mjs → acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-BozVAuLO.mjs} +6 -9
  10. package/fesm2022/acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-BozVAuLO.mjs.map +1 -0
  11. package/fesm2022/{acorex-modules-ai-management-assist.entity-7uTePpME.mjs → acorex-modules-ai-management-assist.entity-CuToMDS_.mjs} +10 -11
  12. package/fesm2022/acorex-modules-ai-management-assist.entity-CuToMDS_.mjs.map +1 -0
  13. package/fesm2022/acorex-modules-ai-management-index-DaGJVOFw.mjs +2 -0
  14. package/fesm2022/{acorex-modules-ai-management-index-DUojDUau.mjs.map → acorex-modules-ai-management-index-DaGJVOFw.mjs.map} +1 -1
  15. package/fesm2022/{acorex-modules-ai-management-model.entity-C9J3trsK.mjs → acorex-modules-ai-management-model.entity-vUNlioDw.mjs} +20 -17
  16. package/fesm2022/acorex-modules-ai-management-model.entity-vUNlioDw.mjs.map +1 -0
  17. package/fesm2022/{acorex-modules-ai-management-open-ai-endpoint.entity-kHsxkjEd.mjs → acorex-modules-ai-management-open-ai-endpoint.entity-BpxRR5ir.mjs} +28 -9
  18. package/fesm2022/acorex-modules-ai-management-open-ai-endpoint.entity-BpxRR5ir.mjs.map +1 -0
  19. package/fesm2022/acorex-modules-ai-management.mjs +1 -1
  20. package/fesm2022/{acorex-modules-asset-management-acorex-modules-asset-management-BRap9yt6.mjs → acorex-modules-asset-management-acorex-modules-asset-management-DrIhRaZ6.mjs} +84 -99
  21. package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-DrIhRaZ6.mjs.map +1 -0
  22. package/fesm2022/{acorex-modules-asset-management-asset-rental-history.entity-B_QZI3Cy.mjs → acorex-modules-asset-management-asset-rental-history.entity-95NBXoex.mjs} +2 -2
  23. package/fesm2022/{acorex-modules-asset-management-asset-rental-history.entity-B_QZI3Cy.mjs.map → acorex-modules-asset-management-asset-rental-history.entity-95NBXoex.mjs.map} +1 -1
  24. package/fesm2022/acorex-modules-asset-management-asset-state-history.entity-C-z103la.mjs +258 -0
  25. package/fesm2022/acorex-modules-asset-management-asset-state-history.entity-C-z103la.mjs.map +1 -0
  26. package/fesm2022/{acorex-modules-asset-management-asset-status.rules-BL0Osjqv.mjs → acorex-modules-asset-management-asset-status.rules-B7KwWQEe.mjs} +2 -2
  27. package/fesm2022/acorex-modules-asset-management-asset-status.rules-B7KwWQEe.mjs.map +1 -0
  28. package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-BRz8vItS.mjs → acorex-modules-asset-management-asset-system-assignment.entity-HqZtfJpe.mjs} +2 -2
  29. package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-BRz8vItS.mjs.map → acorex-modules-asset-management-asset-system-assignment.entity-HqZtfJpe.mjs.map} +1 -1
  30. package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-b_o5UnuE.mjs → acorex-modules-asset-management-asset-system-type.entity-fvrbyjXb.mjs} +2 -2
  31. package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-b_o5UnuE.mjs.map → acorex-modules-asset-management-asset-system-type.entity-fvrbyjXb.mjs.map} +1 -1
  32. package/fesm2022/{acorex-modules-asset-management-asset-system.entity-C6ak4u9z.mjs → acorex-modules-asset-management-asset-system.entity-DVAaXNWx.mjs} +13 -3
  33. package/fesm2022/acorex-modules-asset-management-asset-system.entity-DVAaXNWx.mjs.map +1 -0
  34. package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-BQjGo1s1.mjs → acorex-modules-asset-management-asset-type-section-component.entity-n-bxBcGz.mjs} +2 -2
  35. package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-BQjGo1s1.mjs.map → acorex-modules-asset-management-asset-type-section-component.entity-n-bxBcGz.mjs.map} +1 -1
  36. package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-C1DJZZFy.mjs → acorex-modules-asset-management-asset-type-section.entity-BF7N699p.mjs} +2 -2
  37. package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-C1DJZZFy.mjs.map → acorex-modules-asset-management-asset-type-section.entity-BF7N699p.mjs.map} +1 -1
  38. package/fesm2022/{acorex-modules-asset-management-asset-type.entity-CtOnArR9.mjs → acorex-modules-asset-management-asset-type.entity-Dt61Rs4F.mjs} +2 -2
  39. package/fesm2022/{acorex-modules-asset-management-asset-type.entity-CtOnArR9.mjs.map → acorex-modules-asset-management-asset-type.entity-Dt61Rs4F.mjs.map} +1 -1
  40. package/fesm2022/{acorex-modules-asset-management-asset.entity-BaET-kSd.mjs → acorex-modules-asset-management-asset.entity-BzlsaEwC.mjs} +35 -10
  41. package/fesm2022/acorex-modules-asset-management-asset.entity-BzlsaEwC.mjs.map +1 -0
  42. package/fesm2022/{acorex-modules-asset-management-assetLifecycleState.provider-DZ5r2zx7.mjs → acorex-modules-asset-management-assetLifecycle-state.provider-DZ5r2zx7.mjs} +1 -1
  43. package/fesm2022/acorex-modules-asset-management-assetLifecycle-state.provider-DZ5r2zx7.mjs.map +1 -0
  44. package/fesm2022/acorex-modules-asset-management.mjs +1 -1
  45. package/fesm2022/acorex-modules-common.mjs +33 -3
  46. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  47. package/fesm2022/acorex-modules-conversation.mjs +270 -206
  48. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  49. package/fesm2022/{acorex-modules-dashboard-management-acorex-modules-dashboard-management-yqfev--M.mjs → acorex-modules-dashboard-management-acorex-modules-dashboard-management-DLndkp6w.mjs} +23 -39
  50. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-DLndkp6w.mjs.map +1 -0
  51. package/fesm2022/{acorex-modules-dashboard-management-index-CYnWQ2od.mjs → acorex-modules-dashboard-management-index-c8QzHHtG.mjs} +2 -2
  52. package/fesm2022/{acorex-modules-dashboard-management-index-CYnWQ2od.mjs.map → acorex-modules-dashboard-management-index-c8QzHHtG.mjs.map} +1 -1
  53. package/fesm2022/acorex-modules-dashboard-management.mjs +1 -1
  54. package/fesm2022/acorex-modules-document-management.mjs +114 -22
  55. package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
  56. package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-Ck9q-IWW.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-Bgsi3FHG.mjs} +21 -19
  57. package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-Bgsi3FHG.mjs.map +1 -0
  58. package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-qYSPyG_q.mjs → acorex-modules-human-capital-management-approve-leave-request.command-CxpTmb-1.mjs} +2 -2
  59. package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-qYSPyG_q.mjs.map → acorex-modules-human-capital-management-approve-leave-request.command-CxpTmb-1.mjs.map} +1 -1
  60. package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-Da3u1fo5.mjs → acorex-modules-human-capital-management-assign-position-assignment.command-jLGe49dJ.mjs} +2 -2
  61. package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-Da3u1fo5.mjs.map → acorex-modules-human-capital-management-assign-position-assignment.command-jLGe49dJ.mjs.map} +1 -1
  62. package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-DstI60jo.mjs → acorex-modules-human-capital-management-cancel-leave-request.command-ChNGu90e.mjs} +2 -2
  63. package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-DstI60jo.mjs.map → acorex-modules-human-capital-management-cancel-leave-request.command-ChNGu90e.mjs.map} +1 -1
  64. package/fesm2022/{acorex-modules-human-capital-management-employee.entity-DjMQm3VC.mjs → acorex-modules-human-capital-management-employee.entity-4k7F7_ON.mjs} +18 -16
  65. package/fesm2022/acorex-modules-human-capital-management-employee.entity-4k7F7_ON.mjs.map +1 -0
  66. package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-v8WzEHiE.mjs → acorex-modules-human-capital-management-employment-type.entity-Jo2fB9R3.mjs} +2 -2
  67. package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-v8WzEHiE.mjs.map → acorex-modules-human-capital-management-employment-type.entity-Jo2fB9R3.mjs.map} +1 -1
  68. package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-B9Bf-Nnm.mjs → acorex-modules-human-capital-management-leave-request.entity-DhLUXnJu.mjs} +2 -2
  69. package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-B9Bf-Nnm.mjs.map → acorex-modules-human-capital-management-leave-request.entity-DhLUXnJu.mjs.map} +1 -1
  70. package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-Bpfd_hNb.mjs → acorex-modules-human-capital-management-leave-type.entity-C-lN2bb0.mjs} +2 -2
  71. package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-Bpfd_hNb.mjs.map → acorex-modules-human-capital-management-leave-type.entity-C-lN2bb0.mjs.map} +1 -1
  72. package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-f0IDrLSn.mjs → acorex-modules-human-capital-management-position-assignment.entity-BD1jN4Mx.mjs} +2 -2
  73. package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-f0IDrLSn.mjs.map → acorex-modules-human-capital-management-position-assignment.entity-BD1jN4Mx.mjs.map} +1 -1
  74. package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-DxNsroYI.mjs → acorex-modules-human-capital-management-reject-leave-request.command-D0G6UrqI.mjs} +2 -2
  75. package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-DxNsroYI.mjs.map → acorex-modules-human-capital-management-reject-leave-request.command-D0G6UrqI.mjs.map} +1 -1
  76. package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-C3J9pcfh.mjs → acorex-modules-human-capital-management-revoke-position-assignment.command-CYzqQXja.mjs} +2 -2
  77. package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-C3J9pcfh.mjs.map → acorex-modules-human-capital-management-revoke-position-assignment.command-CYzqQXja.mjs.map} +1 -1
  78. package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
  79. package/fesm2022/{acorex-modules-maintenance-management-acorex-modules-maintenance-management-CfHMiVos.mjs → acorex-modules-maintenance-management-acorex-modules-maintenance-management-B5wf4zMI.mjs} +400 -147
  80. package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-B5wf4zMI.mjs.map +1 -0
  81. package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-DKbARwJh.mjs → acorex-modules-maintenance-management-failure-effect.entity-Cv5KnboB.mjs} +2 -2
  82. package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-DKbARwJh.mjs.map → acorex-modules-maintenance-management-failure-effect.entity-Cv5KnboB.mjs.map} +1 -1
  83. package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-Br0lvFfu.mjs → acorex-modules-maintenance-management-failure-mode-asset-type.entity-BBL3-hfv.mjs} +2 -2
  84. package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-Br0lvFfu.mjs.map → acorex-modules-maintenance-management-failure-mode-asset-type.entity-BBL3-hfv.mjs.map} +1 -1
  85. package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-Dydg4AJ7.mjs → acorex-modules-maintenance-management-failure-mode-mechanism.entity-nxOdHZxu.mjs} +2 -2
  86. package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-Dydg4AJ7.mjs.map → acorex-modules-maintenance-management-failure-mode-mechanism.entity-nxOdHZxu.mjs.map} +1 -1
  87. package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-DHiVJHFj.mjs → acorex-modules-maintenance-management-failure-mode-solution.entity-ApD80Scc.mjs} +2 -2
  88. package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-DHiVJHFj.mjs.map → acorex-modules-maintenance-management-failure-mode-solution.entity-ApD80Scc.mjs.map} +1 -1
  89. package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-CZfm0U8u.mjs → acorex-modules-maintenance-management-failure-register-cause.entity-CibfwJLG.mjs} +2 -2
  90. package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-CZfm0U8u.mjs.map → acorex-modules-maintenance-management-failure-register-cause.entity-CibfwJLG.mjs.map} +1 -1
  91. package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-DbCAFveJ.mjs → acorex-modules-maintenance-management-failure-register-effect.entity-DpoqULBf.mjs} +2 -2
  92. package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-DbCAFveJ.mjs.map → acorex-modules-maintenance-management-failure-register-effect.entity-DpoqULBf.mjs.map} +1 -1
  93. package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-D83Yo6dT.mjs → acorex-modules-maintenance-management-failure-register-mechanism.entity-0-J2Hkmn.mjs} +2 -2
  94. package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-D83Yo6dT.mjs.map → acorex-modules-maintenance-management-failure-register-mechanism.entity-0-J2Hkmn.mjs.map} +1 -1
  95. package/fesm2022/{acorex-modules-maintenance-management-failure-register.entity-zKGo9bOs.mjs → acorex-modules-maintenance-management-failure-register.entity-C4Az4Rr9.mjs} +23 -53
  96. package/fesm2022/acorex-modules-maintenance-management-failure-register.entity-C4Az4Rr9.mjs.map +1 -0
  97. package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-Cnvdmt0N.mjs → acorex-modules-maintenance-management-failure-severity.entity-BZo6UUun.mjs} +2 -2
  98. package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-Cnvdmt0N.mjs.map → acorex-modules-maintenance-management-failure-severity.entity-BZo6UUun.mjs.map} +1 -1
  99. package/fesm2022/{acorex-modules-maintenance-management-maintenance-template.entity-CzX0phT-.mjs → acorex-modules-maintenance-management-maintenance-template.entity-DxYY0hpG.mjs} +14 -11
  100. package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-DxYY0hpG.mjs.map +1 -0
  101. package/fesm2022/acorex-modules-maintenance-management-work-order-list-command-DTKNtyBF.mjs +54 -0
  102. package/fesm2022/acorex-modules-maintenance-management-work-order-list-command-DTKNtyBF.mjs.map +1 -0
  103. package/fesm2022/acorex-modules-maintenance-management.mjs +1 -1
  104. package/fesm2022/{acorex-modules-organization-management-acorex-modules-organization-management-CnAHfj2t.mjs → acorex-modules-organization-management-acorex-modules-organization-management-Bu8fRj_5.mjs} +48 -22
  105. package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-Bu8fRj_5.mjs.map +1 -0
  106. package/fesm2022/acorex-modules-organization-management-add-position-to-business-unit.command-Qej_boIY.mjs +109 -0
  107. package/fesm2022/acorex-modules-organization-management-add-position-to-business-unit.command-Qej_boIY.mjs.map +1 -0
  108. package/fesm2022/{acorex-modules-organization-management-business-unit.entity-Dpf7-aeM.mjs → acorex-modules-organization-management-business-unit.entity-BfQ_7JAq.mjs} +2 -2
  109. package/fesm2022/{acorex-modules-organization-management-business-unit.entity-Dpf7-aeM.mjs.map → acorex-modules-organization-management-business-unit.entity-BfQ_7JAq.mjs.map} +1 -1
  110. package/fesm2022/{acorex-modules-organization-management-chart.entity-CQX81AiE.mjs → acorex-modules-organization-management-chart.entity-CNQGGfHV.mjs} +2 -2
  111. package/fesm2022/{acorex-modules-organization-management-chart.entity-CQX81AiE.mjs.map → acorex-modules-organization-management-chart.entity-CNQGGfHV.mjs.map} +1 -1
  112. package/fesm2022/{acorex-modules-organization-management-company.entity-D-RWQ_8O.mjs → acorex-modules-organization-management-company.entity-D_nTKLzu.mjs} +2 -2
  113. package/fesm2022/{acorex-modules-organization-management-company.entity-D-RWQ_8O.mjs.map → acorex-modules-organization-management-company.entity-D_nTKLzu.mjs.map} +1 -1
  114. package/fesm2022/{acorex-modules-organization-management-entity.provider-BdaKwTZq.mjs → acorex-modules-organization-management-entity.provider-B4uYixLQ.mjs} +15 -15
  115. package/fesm2022/{acorex-modules-organization-management-entity.provider-BdaKwTZq.mjs.map → acorex-modules-organization-management-entity.provider-B4uYixLQ.mjs.map} +1 -1
  116. package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-EzMuHJ2K.mjs → acorex-modules-organization-management-feature-definition.provider-COjc6knz.mjs} +2 -2
  117. package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-EzMuHJ2K.mjs.map → acorex-modules-organization-management-feature-definition.provider-COjc6knz.mjs.map} +1 -1
  118. package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-C8_Ab3Q7.mjs → acorex-modules-organization-management-job-definition-pages-component.provider-gDpII9TZ.mjs} +3 -3
  119. package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-C8_Ab3Q7.mjs.map → acorex-modules-organization-management-job-definition-pages-component.provider-gDpII9TZ.mjs.map} +1 -1
  120. package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-DHUlvoOO.mjs → acorex-modules-organization-management-job-definition-responsibilities-page.component-CjXV4wrM.mjs} +3 -3
  121. package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-DHUlvoOO.mjs.map → acorex-modules-organization-management-job-definition-responsibilities-page.component-CjXV4wrM.mjs.map} +1 -1
  122. package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-BpVESnnH.mjs → acorex-modules-organization-management-job-definition-skills-page.component-2XBgMms-.mjs} +2 -2
  123. package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-BpVESnnH.mjs.map → acorex-modules-organization-management-job-definition-skills-page.component-2XBgMms-.mjs.map} +1 -1
  124. package/fesm2022/{acorex-modules-organization-management-job-definition.entity-H8VAbZ_r.mjs → acorex-modules-organization-management-job-definition.entity-f0JnkdjP.mjs} +2 -2
  125. package/fesm2022/{acorex-modules-organization-management-job-definition.entity-H8VAbZ_r.mjs.map → acorex-modules-organization-management-job-definition.entity-f0JnkdjP.mjs.map} +1 -1
  126. package/fesm2022/{acorex-modules-organization-management-job-level.datasource-Dxfq0cGw.mjs → acorex-modules-organization-management-job-level.datasource-ByHluGvc.mjs} +2 -2
  127. package/fesm2022/{acorex-modules-organization-management-job-level.datasource-Dxfq0cGw.mjs.map → acorex-modules-organization-management-job-level.datasource-ByHluGvc.mjs.map} +1 -1
  128. package/fesm2022/{acorex-modules-organization-management-job-level.entity-Bdja794J.mjs → acorex-modules-organization-management-job-level.entity-BJJJQxCp.mjs} +2 -2
  129. package/fesm2022/{acorex-modules-organization-management-job-level.entity-Bdja794J.mjs.map → acorex-modules-organization-management-job-level.entity-BJJJQxCp.mjs.map} +1 -1
  130. package/fesm2022/{acorex-modules-organization-management-menu.provider-DnvNM-pk.mjs → acorex-modules-organization-management-menu.provider-Dd_Z58sY.mjs} +2 -2
  131. package/fesm2022/{acorex-modules-organization-management-menu.provider-DnvNM-pk.mjs.map → acorex-modules-organization-management-menu.provider-Dd_Z58sY.mjs.map} +1 -1
  132. package/fesm2022/{acorex-modules-organization-management-org-chart.page-COkMtxFO.mjs → acorex-modules-organization-management-org-chart.page-fudrNddI.mjs} +2 -2
  133. package/fesm2022/{acorex-modules-organization-management-org-chart.page-COkMtxFO.mjs.map → acorex-modules-organization-management-org-chart.page-fudrNddI.mjs.map} +1 -1
  134. package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-BDLIuqxU.mjs → acorex-modules-organization-management-permission-definition.provider-CoB_RGSa.mjs} +2 -2
  135. package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-BDLIuqxU.mjs.map → acorex-modules-organization-management-permission-definition.provider-CoB_RGSa.mjs.map} +1 -1
  136. package/fesm2022/{acorex-modules-organization-management-position.entity-BpbzqtEY.mjs → acorex-modules-organization-management-position.entity-T1DY1fZn.mjs} +2 -2
  137. package/fesm2022/{acorex-modules-organization-management-position.entity-BpbzqtEY.mjs.map → acorex-modules-organization-management-position.entity-T1DY1fZn.mjs.map} +1 -1
  138. package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CGkXAtH2.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CIPzMi3d.mjs} +2 -2
  139. package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CGkXAtH2.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CIPzMi3d.mjs.map} +1 -1
  140. package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-Dw-tX5XI.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-DzdTNVP6.mjs} +2 -2
  141. package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-Dw-tX5XI.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-DzdTNVP6.mjs.map} +1 -1
  142. package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-D_ClGAIJ.mjs → acorex-modules-organization-management-responsibilities-matrix.component-C850Dz47.mjs} +2 -2
  143. package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-D_ClGAIJ.mjs.map → acorex-modules-organization-management-responsibilities-matrix.component-C850Dz47.mjs.map} +1 -1
  144. package/fesm2022/{acorex-modules-organization-management-responsibility-level.entity-CzkogsDv.mjs → acorex-modules-organization-management-responsibility-level.entity-CVxWva5x.mjs} +2 -2
  145. package/fesm2022/{acorex-modules-organization-management-responsibility-level.entity-CzkogsDv.mjs.map → acorex-modules-organization-management-responsibility-level.entity-CVxWva5x.mjs.map} +1 -1
  146. package/fesm2022/{acorex-modules-organization-management-responsibility.entity-DfKM6HV7.mjs → acorex-modules-organization-management-responsibility.entity-BmDZhqNl.mjs} +2 -2
  147. package/fesm2022/{acorex-modules-organization-management-responsibility.entity-DfKM6HV7.mjs.map → acorex-modules-organization-management-responsibility.entity-BmDZhqNl.mjs.map} +1 -1
  148. package/fesm2022/{acorex-modules-organization-management-settings.provider-DaeJkP0y.mjs → acorex-modules-organization-management-settings.provider-wwGKyBrV.mjs} +2 -2
  149. package/fesm2022/{acorex-modules-organization-management-settings.provider-DaeJkP0y.mjs.map → acorex-modules-organization-management-settings.provider-wwGKyBrV.mjs.map} +1 -1
  150. package/fesm2022/{acorex-modules-organization-management-team-business-unit.entity-Cm9qcAG7.mjs → acorex-modules-organization-management-team-business-unit.entity-BmXLb4RI.mjs} +2 -2
  151. package/fesm2022/{acorex-modules-organization-management-team-business-unit.entity-Cm9qcAG7.mjs.map → acorex-modules-organization-management-team-business-unit.entity-BmXLb4RI.mjs.map} +1 -1
  152. package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-B3xgLE6N.mjs → acorex-modules-organization-management-team-member-role.entity-C4DGSm2r.mjs} +2 -2
  153. package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-B3xgLE6N.mjs.map → acorex-modules-organization-management-team-member-role.entity-C4DGSm2r.mjs.map} +1 -1
  154. package/fesm2022/{acorex-modules-organization-management-team-member.entity-Dk9t9S1r.mjs → acorex-modules-organization-management-team-member.entity-CvVHEzIU.mjs} +2 -2
  155. package/fesm2022/{acorex-modules-organization-management-team-member.entity-Dk9t9S1r.mjs.map → acorex-modules-organization-management-team-member.entity-CvVHEzIU.mjs.map} +1 -1
  156. package/fesm2022/{acorex-modules-organization-management-team.entity-BbcFYP20.mjs → acorex-modules-organization-management-team.entity-urjULfNp.mjs} +6 -9
  157. package/fesm2022/acorex-modules-organization-management-team.entity-urjULfNp.mjs.map +1 -0
  158. package/fesm2022/acorex-modules-organization-management.mjs +1 -1
  159. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-Dl-3IE-C.mjs → acorex-modules-platform-management-acorex-modules-platform-management-CZMqG3Eq.mjs} +10 -2
  160. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-Dl-3IE-C.mjs.map → acorex-modules-platform-management-acorex-modules-platform-management-CZMqG3Eq.mjs.map} +1 -1
  161. package/fesm2022/acorex-modules-platform-management-list-registered-data-sources.query-DdDvT0uh.mjs +81 -0
  162. package/fesm2022/acorex-modules-platform-management-list-registered-data-sources.query-DdDvT0uh.mjs.map +1 -0
  163. package/fesm2022/{acorex-modules-platform-management-menu-list.component-Brwqsawl.mjs → acorex-modules-platform-management-menu-list.component-BRA7Q50z.mjs} +2 -2
  164. package/fesm2022/{acorex-modules-platform-management-menu-list.component-Brwqsawl.mjs.map → acorex-modules-platform-management-menu-list.component-BRA7Q50z.mjs.map} +1 -1
  165. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  166. package/fesm2022/{acorex-modules-product-catalog-product.entity-aVWXuhlQ.mjs → acorex-modules-product-catalog-product.entity-BbB7GAg7.mjs} +3 -2
  167. package/fesm2022/acorex-modules-product-catalog-product.entity-BbB7GAg7.mjs.map +1 -0
  168. package/fesm2022/acorex-modules-product-catalog.mjs +1 -1
  169. package/fesm2022/acorex-modules-security-management.mjs +231 -137
  170. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  171. package/fesm2022/acorex-modules-supplier-management.mjs +1 -0
  172. package/fesm2022/acorex-modules-supplier-management.mjs.map +1 -1
  173. package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-it-Lf0L_.mjs +6066 -0
  174. package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-it-Lf0L_.mjs.map +1 -0
  175. package/fesm2022/{acorex-modules-task-management-task-board.page-DA2563QE.mjs → acorex-modules-task-management-task-board.page-DF4XWz_0.mjs} +260 -87
  176. package/fesm2022/acorex-modules-task-management-task-board.page-DF4XWz_0.mjs.map +1 -0
  177. package/fesm2022/acorex-modules-task-management.mjs +1 -5860
  178. package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
  179. package/fesm2022/acorex-modules-tenant-management.mjs +6 -15
  180. package/fesm2022/acorex-modules-tenant-management.mjs.map +1 -1
  181. package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BYJpDQRs.mjs → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-Dj6LkQeZ.mjs} +5 -5
  182. package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BYJpDQRs.mjs.map → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-Dj6LkQeZ.mjs.map} +1 -1
  183. package/fesm2022/{acorex-modules-workflow-management-index-C9Qc07oK.mjs → acorex-modules-workflow-management-index-CHySddpP.mjs} +2 -64
  184. package/fesm2022/acorex-modules-workflow-management-index-CHySddpP.mjs.map +1 -0
  185. package/fesm2022/{acorex-modules-workflow-management-index-Bx2uYraH.mjs → acorex-modules-workflow-management-index-Eh5DDK-V.mjs} +3 -3
  186. package/fesm2022/{acorex-modules-workflow-management-index-Bx2uYraH.mjs.map → acorex-modules-workflow-management-index-Eh5DDK-V.mjs.map} +1 -1
  187. package/fesm2022/{acorex-modules-workflow-management-index-D8fjNgQJ.mjs → acorex-modules-workflow-management-index-V4OesZTq.mjs} +6 -6
  188. package/fesm2022/{acorex-modules-workflow-management-index-D8fjNgQJ.mjs.map → acorex-modules-workflow-management-index-V4OesZTq.mjs.map} +1 -1
  189. package/fesm2022/{acorex-modules-workflow-management-workflow-definition.entity-DqPVpcSv.mjs → acorex-modules-workflow-management-workflow-definition.entity-CjQQpjdB.mjs} +1 -16
  190. package/fesm2022/{acorex-modules-workflow-management-workflow-definition.entity-DqPVpcSv.mjs.map → acorex-modules-workflow-management-workflow-definition.entity-CjQQpjdB.mjs.map} +1 -1
  191. package/fesm2022/{acorex-modules-workflow-management-workflow-instance.entity-D-KnWlsU.mjs → acorex-modules-workflow-management-workflow-instance.entity-B_V3uMSI.mjs} +30 -20
  192. package/fesm2022/acorex-modules-workflow-management-workflow-instance.entity-B_V3uMSI.mjs.map +1 -0
  193. package/fesm2022/{acorex-modules-workflow-management-workflow-task-popover.component-NpUx0sB5.mjs → acorex-modules-workflow-management-workflow-task-popover.component-l37iXJIY.mjs} +19 -15
  194. package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-l37iXJIY.mjs.map +1 -0
  195. package/fesm2022/acorex-modules-workflow-management.mjs +31 -2390
  196. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
  197. package/package.json +2 -2
  198. package/types/acorex-modules-ai-management.d.ts +544 -67
  199. package/types/acorex-modules-asset-management.d.ts +51 -14
  200. package/types/acorex-modules-common.d.ts +24 -3
  201. package/types/acorex-modules-dashboard-management.d.ts +23 -12
  202. package/types/acorex-modules-document-management.d.ts +18 -2
  203. package/types/acorex-modules-human-capital-management.d.ts +1 -1
  204. package/types/acorex-modules-maintenance-management.d.ts +4 -7
  205. package/types/acorex-modules-reservation-management.d.ts +6 -5
  206. package/types/acorex-modules-task-management.d.ts +34 -5
  207. package/types/acorex-modules-workflow-management.d.ts +16 -549
  208. package/fesm2022/acorex-modules-ai-management-acorex-modules-ai-management-Bqfx8OTv.mjs.map +0 -1
  209. package/fesm2022/acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-DyczMN-R.mjs.map +0 -1
  210. package/fesm2022/acorex-modules-ai-management-agent.entity-CpSXisAh.mjs.map +0 -1
  211. package/fesm2022/acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-CYk2rB36.mjs.map +0 -1
  212. package/fesm2022/acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-BDcW8BRI.mjs.map +0 -1
  213. package/fesm2022/acorex-modules-ai-management-assist.entity-7uTePpME.mjs.map +0 -1
  214. package/fesm2022/acorex-modules-ai-management-index-DUojDUau.mjs +0 -2
  215. package/fesm2022/acorex-modules-ai-management-model.entity-C9J3trsK.mjs.map +0 -1
  216. package/fesm2022/acorex-modules-ai-management-open-ai-endpoint.entity-kHsxkjEd.mjs.map +0 -1
  217. package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-BRap9yt6.mjs.map +0 -1
  218. package/fesm2022/acorex-modules-asset-management-asset-status.rules-BL0Osjqv.mjs.map +0 -1
  219. package/fesm2022/acorex-modules-asset-management-asset-system.entity-C6ak4u9z.mjs.map +0 -1
  220. package/fesm2022/acorex-modules-asset-management-asset.entity-BaET-kSd.mjs.map +0 -1
  221. package/fesm2022/acorex-modules-asset-management-assetLifecycleState.provider-DZ5r2zx7.mjs.map +0 -1
  222. package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-yqfev--M.mjs.map +0 -1
  223. package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-Ck9q-IWW.mjs.map +0 -1
  224. package/fesm2022/acorex-modules-human-capital-management-employee.entity-DjMQm3VC.mjs.map +0 -1
  225. package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-CfHMiVos.mjs.map +0 -1
  226. package/fesm2022/acorex-modules-maintenance-management-failure-register.entity-zKGo9bOs.mjs.map +0 -1
  227. package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-CzX0phT-.mjs.map +0 -1
  228. package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-CnAHfj2t.mjs.map +0 -1
  229. package/fesm2022/acorex-modules-organization-management-team.entity-BbcFYP20.mjs.map +0 -1
  230. package/fesm2022/acorex-modules-product-catalog-product.entity-aVWXuhlQ.mjs.map +0 -1
  231. package/fesm2022/acorex-modules-task-management-task-board.page-DA2563QE.mjs.map +0 -1
  232. package/fesm2022/acorex-modules-workflow-management-index-C9Qc07oK.mjs.map +0 -1
  233. package/fesm2022/acorex-modules-workflow-management-workflow-instance.entity-D-KnWlsU.mjs.map +0 -1
  234. package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-NpUx0sB5.mjs.map +0 -1
@@ -5,7 +5,7 @@ import { AXPValueWidgetComponent } from '@acorex/platform/layout/widget-core';
5
5
  import * as i0 from '@angular/core';
6
6
  import { inject, computed, signal, model, effect, untracked, ChangeDetectionStrategy, Component } from '@angular/core';
7
7
  import { get, isEqual } from 'lodash-es';
8
- import { k as AI_QUERY_REGISTRY_CATALOG_DATASOURCE_NAME, l as AI_COMMAND_REGISTRY_CATALOG_DATASOURCE_NAME } from './acorex-modules-ai-management-acorex-modules-ai-management-Bqfx8OTv.mjs';
8
+ import { j as AI_QUERY_REGISTRY_CATALOG_DATASOURCE_NAME, k as AI_COMMAND_REGISTRY_CATALOG_DATASOURCE_NAME } from './acorex-modules-ai-management-acorex-modules-ai-management-D7_4LOGV.mjs';
9
9
 
10
10
  //#region ---- Imports ----
11
11
  //#endregion
@@ -32,6 +32,7 @@ function mapInputOptionDefinitionsToWidgetProperties(defs) {
32
32
  const widgetType = def.interface?.name?.trim() ? def.interface.name.trim() : 'text-editor';
33
33
  const title = typeof def.title === 'string' && def.title.trim() ? def.title.trim() : def.name;
34
34
  const description = typeof def.description === 'string' ? def.description.trim() : undefined;
35
+ const optionsPath = `options.${def.name}`;
35
36
  const property = {
36
37
  name: def.name,
37
38
  title,
@@ -41,7 +42,7 @@ function mapInputOptionDefinitionsToWidgetProperties(defs) {
41
42
  schema: {
42
43
  dataType: def.dataType ?? 'string',
43
44
  interface: {
44
- path: def.name,
45
+ path: optionsPath,
45
46
  name: def.name,
46
47
  type: widgetType,
47
48
  options: def.interface?.options ?? {},
@@ -253,4 +254,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
253
254
  }], propDecorators: { selectedItemIdModel: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedItemIdModel", required: false }] }, { type: i0.Output, args: ["selectedItemIdModelChange"] }], valuesModel: [{ type: i0.Input, args: [{ isSignal: true, alias: "valuesModel", required: false }] }, { type: i0.Output, args: ["valuesModelChange"] }] } });
254
255
 
255
256
  export { AXMAgentRegistryToolConfiguratorWidgetEditComponent };
256
- //# sourceMappingURL=acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-DyczMN-R.mjs.map
257
+ //# sourceMappingURL=acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-C7TQMwX4.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-C7TQMwX4.mjs","sources":["../../../../libs/modules/ai-management/src/lib/features/agent-registry-tool-configurator/input-option-definitions-to-widget-properties.ts","../../../../libs/modules/ai-management/src/lib/features/agent-registry-tool-configurator/agent-registry-tool-configurator-widget-edit.component.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport type { AXPPropertyDefinition } from '@acorex/platform/domain';\nimport { AXPWidgetProperty, AXPWidgetPropertyGroup } from '@acorex/platform/layout/widget-core';\n\n//#endregion\n\n//#region ---- Mapping ----\n\nconst DEFAULT_GROUP: AXPWidgetPropertyGroup = {\n name: 'registry-input-defaults',\n title: 'Default arguments',\n order: 1,\n};\n\n/**\n * Maps command/query registry {@link AXPPropertyDefinition} rows to item-configurator property fields.\n */\nexport function mapInputOptionDefinitionsToWidgetProperties(\n defs: AXPPropertyDefinition[] | null | undefined,\n): AXPWidgetProperty[] {\n if (!Array.isArray(defs) || defs.length === 0) {\n return [];\n }\n\n const properties: AXPWidgetProperty[] = [];\n let order = 0;\n\n for (const def of defs) {\n if (!def?.name) {\n continue;\n }\n order += 1;\n const widgetType = def.interface?.name?.trim() ? def.interface.name.trim() : 'text-editor';\n const title = typeof def.title === 'string' && def.title.trim() ? def.title.trim() : def.name;\n const description = typeof def.description === 'string' ? def.description.trim() : undefined;\n\n const optionsPath = `options.${def.name}`;\n\n const property: AXPWidgetProperty = {\n name: def.name,\n title,\n ...(description ? { description } : {}),\n group: DEFAULT_GROUP,\n order,\n schema: {\n dataType: def.dataType ?? 'string',\n interface: {\n path: optionsPath,\n name: def.name,\n type: widgetType,\n options: def.interface?.options ?? {},\n },\n },\n validations: def.validations,\n visible: true,\n };\n\n properties.push(property);\n }\n\n return properties;\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPDataSourceDefinitionProviderService,\n sortByMultiLanguageString,\n type AXPOptionsData,\n} from '@acorex/platform/core';\nimport type { AXPPropertyDefinition } from '@acorex/platform/domain';\nimport { AXPItemConfiguratorComponent, ItemConfiguratorListItem } from '@acorex/platform/layout/components';\nimport { AXPValueWidgetComponent, AXPWidgetNode } from '@acorex/platform/layout/widget-core';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, model, signal, untracked } from '@angular/core';\nimport { get, isEqual } from 'lodash-es';\nimport {\n AI_COMMAND_REGISTRY_CATALOG_DATASOURCE_NAME,\n AI_QUERY_REGISTRY_CATALOG_DATASOURCE_NAME,\n} from '../../datasources/ai-registry-catalog.datasource';\nimport { mapInputOptionDefinitionsToWidgetProperties } from './input-option-definitions-to-widget-properties';\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axm-agent-registry-tool-configurator-widget-edit',\n template: `\n @if (isInitialized()) {\n <axp-item-configurator\n [(selectedItemId)]=\"selectedItemIdModel\"\n [(values)]=\"valuesModel\"\n [label]=\"label()\"\n [readonly]=\"readonly()\"\n [items]=\"listItems()\"\n ></axp-item-configurator>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXPItemConfiguratorComponent],\n})\nexport class AXMAgentRegistryToolConfiguratorWidgetEditComponent extends AXPValueWidgetComponent<AXPWidgetNode> {\n //#region ---- Services & Dependencies ----\n\n private readonly dataSourceDefinitionService = inject(AXPDataSourceDefinitionProviderService);\n private readonly translation = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n protected readonly = computed<boolean>(() => {\n const raw = this.options()['readonly'];\n if (typeof raw === 'string') {\n const normalized = raw.trim().toLowerCase();\n if (normalized === 'true') {\n return true;\n }\n if (normalized === 'false') {\n return false;\n }\n }\n return raw === true;\n });\n\n protected label = computed<string>(() => {\n const v = this.options()['label'];\n return typeof v === 'string' && v.trim() ? v.trim() : '';\n });\n\n private readonly registryKind = computed<'command' | 'query'>(() => {\n const k = this.options()['registryKind'];\n return k === 'query' ? 'query' : 'command';\n });\n\n private readonly dataSourceName = computed<string>(() => {\n const ds = this.options()['dataSource'];\n if (typeof ds === 'string' && ds.trim() !== '') {\n return ds.trim();\n }\n return this.registryKind() === 'query'\n ? AI_QUERY_REGISTRY_CATALOG_DATASOURCE_NAME\n : AI_COMMAND_REGISTRY_CATALOG_DATASOURCE_NAME;\n });\n\n private readonly asyncNamedDataSourceItems = signal<unknown[] | undefined>(undefined);\n\n protected listItems = computed<ItemConfiguratorListItem[]>(() => {\n const rows = this.asyncNamedDataSourceItems() ?? [];\n const list: ItemConfiguratorListItem[] = [];\n\n for (const row of rows) {\n const idRaw = get(row as object, 'id');\n const id = idRaw != null ? String(idRaw).trim() : '';\n if (!id) {\n continue;\n }\n\n const titleRaw = get(row as object, 'catalogTitle');\n const title = titleRaw != null ? String(titleRaw).trim() : id;\n const descriptionRaw = get(row as object, 'description');\n const description = descriptionRaw != null ? String(descriptionRaw) : undefined;\n const iconRaw = get(row as object, 'icon');\n const icon = iconRaw != null ? String(iconRaw) : undefined;\n const defsRaw = get(row as object, 'inputOptionDefinitions');\n const propertyDefinitions = mapInputOptionDefinitionsToWidgetProperties(\n Array.isArray(defsRaw) ? (defsRaw as AXPPropertyDefinition[]) : [],\n );\n\n list.push({ id, title, description, icon, propertyDefinitions });\n }\n\n return sortByMultiLanguageString(list, (item) => item.title, this.translation.getActiveLang());\n });\n\n //#endregion\n\n //#region ---- State ----\n\n protected isInitialized = signal(false);\n\n //#endregion\n\n //#region ---- Models ----\n\n protected selectedItemIdModel = model<string>('');\n protected valuesModel = model<Record<string, unknown>>({});\n\n //#endregion\n\n //#region ---- Effects ----\n\n private loadNamedDataSourceEffect = effect((onCleanup) => {\n const name = this.dataSourceName();\n let cancelled = false;\n onCleanup(() => {\n cancelled = true;\n });\n\n void (async () => {\n try {\n const def = await this.dataSourceDefinitionService.get(name);\n if (cancelled) {\n return;\n }\n if (!def?.source) {\n this.asyncNamedDataSourceItems.set([]);\n return;\n }\n\n const source = def.source();\n const dataSource = source instanceof Promise ? await source : source;\n if (!dataSource) {\n this.asyncNamedDataSourceItems.set([]);\n return;\n }\n\n const dataSourceAny = dataSource as unknown as {\n config?: { load?: (event: unknown) => Promise<{ items?: unknown[] }> };\n };\n if (!dataSourceAny.config?.load) {\n this.asyncNamedDataSourceItems.set([]);\n return;\n }\n\n const loaded = await dataSourceAny.config.load({ skip: 0, take: 500 });\n if (cancelled) {\n return;\n }\n this.asyncNamedDataSourceItems.set(loaded.items ?? []);\n } catch {\n if (!cancelled) {\n this.asyncNamedDataSourceItems.set([]);\n }\n }\n })();\n });\n\n private syncValueToConfigurator = effect(() => {\n const value = this.getValue();\n\n if (value && value.type) {\n const currentSelected = untracked(() => this.selectedItemIdModel());\n const currentValues = untracked(() => this.valuesModel());\n const nextOptions = (value.options ?? {}) as Record<string, unknown>;\n\n if (value.type !== currentSelected || !isEqual(nextOptions, currentValues)) {\n untracked(() => {\n this.selectedItemIdModel.set(value.type);\n this.valuesModel.set(nextOptions);\n this.isInitialized.set(true);\n });\n }\n return;\n }\n\n untracked(() => {\n if (!this.isInitialized()) {\n this.selectedItemIdModel.set('');\n this.valuesModel.set({});\n this.isInitialized.set(true);\n }\n });\n });\n\n private syncConfiguratorToValue = effect(() => {\n const selectedId = this.selectedItemIdModel();\n const values = this.valuesModel();\n\n if (!untracked(() => this.isInitialized())) {\n return;\n }\n\n const currentValue = untracked(() => this.getValue());\n const empty: AXPWidgetNode = { type: '', options: {} };\n\n if (!selectedId) {\n if (!isEqual(currentValue ?? empty, empty)) {\n untracked(() => {\n this.setValue(empty);\n });\n }\n return;\n }\n\n const next: AXPWidgetNode = {\n ...(currentValue && typeof currentValue === 'object' ? currentValue : {}),\n type: selectedId,\n options: values as AXPOptionsData,\n };\n\n if (!isEqual(next, currentValue)) {\n untracked(() => {\n this.setValue(next);\n });\n }\n });\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,7 @@
1
1
  import { AXPWidgetsList } from '@acorex/modules/common';
2
2
  import { createAllQueryView } from '@acorex/platform/common';
3
- import { objectKeyValueTransforms } from '@acorex/platform/core';
4
3
  import { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';
5
- import { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';
6
- import { i as AI_MODEL_CATALOG_DATASOURCE_NAME, R as RootConfig } from './acorex-modules-ai-management-acorex-modules-ai-management-Bqfx8OTv.mjs';
4
+ import { R as RootConfig } from './acorex-modules-ai-management-acorex-modules-ai-management-D7_4LOGV.mjs';
7
5
 
8
6
  //#region ---- Imports ----
9
7
  //#endregion
@@ -67,7 +65,7 @@ async function agentFactory() {
67
65
  name: 'name',
68
66
  title: '@general:terms.common.name',
69
67
  groupId: 'basic-info',
70
- schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },
68
+ schema: { dataType: 'string', interface: { type: AXPWidgetsList.Editors.TextBox } },
71
69
  options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },
72
70
  validations: [{ rule: 'required' }, { rule: 'unique' }],
73
71
  },
@@ -75,7 +73,7 @@ async function agentFactory() {
75
73
  name: 'title',
76
74
  title: '@general:terms.common.title',
77
75
  groupId: 'basic-info',
78
- schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } },
76
+ schema: { dataType: 'string', interface: { type: AXPWidgetsList.Editors.TextBox } },
79
77
  options: { sort: { enabled: true }, filter: { inline: { enabled: true } } },
80
78
  validations: [{ rule: 'required' }],
81
79
  },
@@ -83,7 +81,7 @@ async function agentFactory() {
83
81
  name: 'description',
84
82
  title: '@general:terms.common.description',
85
83
  groupId: 'basic-info',
86
- schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.largeText, options: { rows: 4 } } },
84
+ schema: { dataType: 'string', interface: { type: AXPWidgetsList.Editors.LargeTextBox, options: { rows: 4 } } },
87
85
  description: '@ai-management:agents.entities.agent.fields.description.description',
88
86
  },
89
87
  {
@@ -127,15 +125,20 @@ async function agentFactory() {
127
125
  dataType: 'string',
128
126
  nullable: true,
129
127
  interface: {
130
- type: AXPWidgetsList.Editors.SelectBox,
131
- valueTransforms: objectKeyValueTransforms('id'),
128
+ type: AXPWidgetsList.Editors.LookupBox,
132
129
  options: {
133
- valueField: 'id',
130
+ entity: `${RootConfig.module.name}.${RootConfig.entities.model.name}`,
134
131
  textField: 'title',
135
- hasClearButton: true,
132
+ valueField: 'id',
133
+ look: 'select',
136
134
  allowSearch: true,
135
+ columns: ['title', 'name'],
137
136
  placeholder: '@ai-management:agents.entities.agent.fields.model-entity.placeholder',
138
- dataSource: AI_MODEL_CATALOG_DATASOURCE_NAME,
137
+ expose: [
138
+ { source: 'id', target: 'aiModel.id' },
139
+ { source: 'title', target: 'aiModel.title' },
140
+ { source: 'name', target: 'aiModel.name' },
141
+ ],
139
142
  },
140
143
  },
141
144
  },
@@ -149,7 +152,7 @@ async function agentFactory() {
149
152
  dataType: 'number',
150
153
  nullable: true,
151
154
  interface: {
152
- type: AXPWidgetsCatalog.number,
155
+ type: AXPWidgetsList.Editors.NumberBox,
153
156
  options: { minValue: 1, maxValue: 50 },
154
157
  },
155
158
  },
@@ -160,14 +163,14 @@ async function agentFactory() {
160
163
  groupId: 'prompt-behaviour',
161
164
  schema: {
162
165
  dataType: 'string',
163
- interface: { type: AXPWidgetsCatalog.largeText, options: { rows: 8 } },
166
+ interface: { type: AXPWidgetsList.Editors.LargeTextBox, options: { rows: 8 } },
164
167
  },
165
168
  },
166
169
  ],
167
170
  columns: [
168
- { name: 'name', title: '@general:terms.common.name', showAs: { type: AXPWidgetsCatalog.text } },
169
- { name: 'title', title: '@general:terms.common.title', showAs: { type: AXPWidgetsCatalog.text } },
170
- { name: 'description', title: '@general:terms.common.description', showAs: { type: AXPWidgetsCatalog.text } },
171
+ { name: 'name', title: '@general:terms.common.name', showAs: { type: AXPWidgetsList.Editors.TextBox } },
172
+ { name: 'title', title: '@general:terms.common.title', showAs: { type: AXPWidgetsList.Editors.TextBox } },
173
+ { name: 'description', title: '@general:terms.common.description', showAs: { type: AXPWidgetsList.Editors.TextBox } },
171
174
  ],
172
175
  interfaces: {
173
176
  master: {
@@ -242,4 +245,4 @@ async function agentFactory() {
242
245
  //#endregion
243
246
 
244
247
  export { agentFactory };
245
- //# sourceMappingURL=acorex-modules-ai-management-agent.entity-CpSXisAh.mjs.map
248
+ //# sourceMappingURL=acorex-modules-ai-management-agent.entity-DwPIKib2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-ai-management-agent.entity-DwPIKib2.mjs","sources":["../../../../libs/modules/ai-management/src/lib/entities/agent/agent.entity.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPWidgetsList } from '@acorex/modules/common';\nimport { AXPEntity, createAllQueryView } from '@acorex/platform/common';\nimport { objectKeyValueTransforms } from '@acorex/platform/core';\nimport { entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\nimport { RootConfig } from '../../const';\nimport { AI_MODEL_CATALOG_DATASOURCE_NAME } from '../../datasources/ai-model-catalog.datasource';\n\n//#endregion\n\n//#region ---- Repeater children (registry command / query) ----\n\nconst AGENT_COMMAND_REGISTRY_REPEATER_CHILDREN = [\n {\n type: 'agent-registry-tool-configurator',\n mode: 'edit' as const,\n path: 'command',\n name: 'command',\n options: {\n registryKind: 'command',\n label: '@ai-management:agents.entities.agent.fields.command-registry.item-label',\n },\n },\n];\n\nconst AGENT_QUERY_REGISTRY_REPEATER_CHILDREN = [\n {\n type: 'agent-registry-tool-configurator',\n mode: 'edit' as const,\n path: 'query',\n name: 'query',\n options: {\n registryKind: 'query',\n label: '@ai-management:agents.entities.agent.fields.query-registry.item-label',\n },\n },\n];\n\n//#endregion\n\n//#region ---- Entity ----\n\nexport async function agentFactory(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.agent.name,\n title: RootConfig.entities.agent.title,\n icon: RootConfig.entities.agent.icon,\n formats: {\n individual: RootConfig.entities.agent.title,\n plural: RootConfig.entities.agent.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: '{{ description }}',\n },\n },\n relatedEntities: [],\n groups: [\n { id: 'basic-info', title: '@general:terms.interface.basic-info' },\n { id: 'registry-commands', title: '@ai-management:agents.entities.agent.groups.registry-commands' },\n { id: 'registry-queries', title: '@ai-management:agents.entities.agent.groups.registry-queries' },\n { id: 'access', title: '@ai-management:agents.entities.agent.groups.access' },\n { id: 'prompt-behaviour', title: '@ai-management:agents.entities.agent.groups.prompt-behaviour' },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'basic-info',\n schema: { dataType: 'string', visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'name',\n title: '@general:terms.common.name',\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsList.Editors.TextBox } },\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },\n validations: [{ rule: 'required' }, { rule: 'unique' }],\n },\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsList.Editors.TextBox } },\n options: { sort: { enabled: true }, filter: { inline: { enabled: true } } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'description',\n title: '@general:terms.common.description',\n groupId: 'basic-info',\n schema: { dataType: 'string', interface: { type: AXPWidgetsList.Editors.LargeTextBox, options: { rows: 4 } } },\n description: '@ai-management:agents.entities.agent.fields.description.description',\n },\n {\n name: 'toolIds',\n title: '@ai-management:agents.entities.agent.fields.command-registry.title',\n description: '@ai-management:agents.entities.agent.fields.command-registry.description',\n groupId: 'registry-commands',\n schema: {\n defaultValue: [],\n dataType: 'array',\n nullable: true,\n interface: {\n type: AXPWidgetsList.Layouts.RepeaterLayout,\n options: { hasControls: true, allowReorder: true },\n children: AGENT_COMMAND_REGISTRY_REPEATER_CHILDREN,\n },\n },\n },\n {\n name: 'queryIds',\n title: '@ai-management:agents.entities.agent.fields.query-registry.title',\n description: '@ai-management:agents.entities.agent.fields.query-registry.description',\n groupId: 'registry-queries',\n schema: {\n defaultValue: [],\n dataType: 'array',\n nullable: true,\n interface: {\n type: AXPWidgetsList.Layouts.RepeaterLayout,\n options: { hasControls: true, allowReorder: true },\n children: AGENT_QUERY_REGISTRY_REPEATER_CHILDREN,\n },\n },\n },\n {\n name: 'modelEntityId',\n title: '@ai-management:agents.entities.agent.fields.model-entity.title',\n description: '@ai-management:agents.entities.agent.fields.model-entity.description',\n groupId: 'access',\n schema: {\n dataType: 'string',\n nullable: true,\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.model.name}`,\n textField: 'title',\n valueField: 'id',\n look: 'select',\n allowSearch: true,\n columns: ['title', 'name'],\n placeholder: '@ai-management:agents.entities.agent.fields.model-entity.placeholder',\n expose: [\n { source: 'id', target: 'aiModel.id' },\n { source: 'title', target: 'aiModel.title' },\n { source: 'name', target: 'aiModel.name' },\n ],\n },\n },\n },\n },\n {\n name: 'maxSteps',\n title: '@ai-management:agents.entities.agent.fields.max-steps.title',\n description: '@ai-management:agents.entities.agent.fields.max-steps.description',\n groupId: 'access',\n schema: {\n dataType: 'number',\n nullable: true,\n interface: {\n type: AXPWidgetsList.Editors.NumberBox,\n options: { minValue: 1, maxValue: 50 },\n },\n },\n },\n {\n name: 'systemPrompt',\n title: '@ai-management:assists.entities.assist.fields.system-prompt.title',\n groupId: 'prompt-behaviour',\n schema: {\n dataType: 'string',\n interface: { type: AXPWidgetsList.Editors.LargeTextBox, options: { rows: 8 } },\n },\n },\n ],\n columns: [\n { name: 'name', title: '@general:terms.common.name', showAs: { type: AXPWidgetsList.Editors.TextBox } },\n { name: 'title', title: '@general:terms.common.title', showAs: { type: AXPWidgetsList.Editors.TextBox } },\n { name: 'description', title: '@general:terms.common.description', showAs: { type: AXPWidgetsList.Editors.TextBox } },\n ],\n interfaces: {\n master: {\n create: {\n sections: [\n { id: 'basic-info' },\n { id: 'registry-commands' },\n { id: 'registry-queries' },\n { id: 'access' },\n { id: 'prompt-behaviour' },\n ],\n properties: [\n { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'toolIds', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'queryIds', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'modelEntityId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'maxSteps', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'systemPrompt', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n update: {\n sections: [\n { id: 'basic-info' },\n { id: 'registry-commands' },\n { id: 'registry-queries' },\n { id: 'access' },\n { id: 'prompt-behaviour' },\n ],\n properties: [\n { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'toolIds', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'queryIds', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'modelEntityId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'maxSteps', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'systemPrompt', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n single: {\n title: '{{ title }}',\n sections: [\n { id: 'basic-info' },\n { id: 'registry-commands' },\n { id: 'registry-queries' },\n { id: 'access' },\n { id: 'prompt-behaviour' },\n ],\n properties: [\n { name: 'name', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12 } } } },\n { name: 'toolIds', layout: { positions: { lg: { colSpan: 12 } }, label: { visible: false } }, },\n { name: 'queryIds', layout: { positions: { lg: { colSpan: 12 } }, label: { visible: false } }, },\n { name: 'modelEntityId', layout: { positions: { lg: { colSpan: 6 } } }, },\n { name: 'maxSteps', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'systemPrompt', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'name', dir: 'asc' }] })],\n },\n },\n },\n };\n return entityDef;\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { AXBasePageComponent } from '@acorex/components/page';
2
2
  import * as i2 from '@acorex/components/button';
3
3
  import { AXButtonModule } from '@acorex/components/button';
4
- import * as i6 from '@acorex/core/translation';
4
+ import * as i8 from '@acorex/core/translation';
5
5
  import { AXTranslationModule } from '@acorex/core/translation';
6
- import { A as AXMAiChatToolExecuteService, a as axmBuildChatDisplayItems, p as parseAssistantContentForDisplay, b as parseAssistantMessageForDisplayFromMessage, c as axpAiChatMessageGetText, d as AIMANAGEMENT_CHAT_SYNTHESIZE_SPEECH_COMMAND_KEY, e as AIMANAGEMENT_CHAT_GENERATE_IMAGE_COMMAND_KEY, f as axpAiChatToolOrAgentResultBodyJson, g as AXMAiChatToolImagePreviewComponent, h as AXMAiChatToolAudioPreviewComponent } from './acorex-modules-ai-management-acorex-modules-ai-management-Bqfx8OTv.mjs';
6
+ import { A as AXMAiChatToolExecuteService, a as axmBuildChatDisplayItems, p as parseAssistantContentForDisplay, b as parseAssistantMessageForDisplayFromMessage, c as axpAiChatMessageGetText, d as AIMANAGEMENT_CHAT_SYNTHESIZE_SPEECH_COMMAND_KEY, e as AIMANAGEMENT_CHAT_GENERATE_IMAGE_COMMAND_KEY, f as axpAiChatToolOrAgentResultBodyJson, g as AXMAiChatToolImagePreviewComponent, h as AXMAiChatToolAudioPreviewComponent } from './acorex-modules-ai-management-acorex-modules-ai-management-D7_4LOGV.mjs';
7
7
  import { AXPLayoutRendererComponent } from '@acorex/platform/layout/builder';
8
- import * as i5 from '@angular/common';
8
+ import * as i6 from '@angular/common';
9
9
  import { isPlatformBrowser, CommonModule } from '@angular/common';
10
10
  import * as i0 from '@angular/core';
11
11
  import { inject, PLATFORM_ID, signal, computed, ChangeDetectionStrategy, Component } from '@angular/core';
@@ -195,7 +195,7 @@ class AXMAiDelegatedAgentTranscriptPopupComponent extends AXBasePageComponent {
195
195
  userMessageAttachmentOnlyBubble(message) {
196
196
  return (message.role === 'user' &&
197
197
  message.responses.length > 0 &&
198
- message.responses.every((r) => r.type === 'image' || r.type === 'audio'));
198
+ message.responses.every((r) => r.type === 'image' || r.type === 'audio' || r.type === 'file'));
199
199
  }
200
200
  asAssistantLayoutNode(message) {
201
201
  if (message.role !== 'assistant') {
@@ -754,6 +754,17 @@ class AXMAiDelegatedAgentTranscriptPopupComponent extends AXBasePageComponent {
754
754
  seg.content.name?.trim() || ('@ai-management:chat.audio-untitled' | translate | async)
755
755
  }}</span>
756
756
  </span>
757
+ } @else if (seg.type === 'file') {
758
+ <span
759
+ class="ax-inline-flex ax-items-center ax-gap-2 ax-min-w-0 ax-max-w-full ax-rounded ax-border ax-border-default/60 dark:ax-border-darker ax-bg-default-50/80 dark:ax-bg-default-100/40 ax-px-3 ax-py-1.5 ax-text-sm"
760
+ >
761
+ <span class="ax-text-muted ax-shrink-0">{{
762
+ '@ai-management:chat.attached-document-label' | translate | async
763
+ }}</span>
764
+ <span class="ax-truncate ax-min-w-0" [attr.title]="seg.content.name ?? ''">{{
765
+ seg.content.name?.trim() || ('@ai-management:chat.document-untitled' | translate | async)
766
+ }}</span>
767
+ </span>
757
768
  } @else if (seg.type === 'text') {
758
769
  <span class="ax-whitespace-pre-line" [attr.dir]="'auto'">{{ seg.content }}</span>
759
770
  }
@@ -806,7 +817,7 @@ class AXMAiDelegatedAgentTranscriptPopupComponent extends AXBasePageComponent {
806
817
  </div>
807
818
  </div>
808
819
  </div>
809
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXMAiChatToolImagePreviewComponent, selector: "axm-ai-chat-tool-image-preview", inputs: ["fileId", "altText", "ariaLabel"] }, { kind: "component", type: AXMAiChatToolAudioPreviewComponent, selector: "axm-ai-chat-tool-audio-preview", inputs: ["fileId", "mimeType", "titleText", "ariaLabel"] }, { kind: "component", type: AXPLayoutRendererComponent, selector: "axp-layout-renderer", inputs: ["layout", "context", "look", "mode"], outputs: ["contextChange", "contextInitiated", "validityChange"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
820
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: AXMAiChatToolImagePreviewComponent, selector: "axm-ai-chat-tool-image-preview", inputs: ["fileId", "altText", "ariaLabel"] }, { kind: "component", type: AXMAiChatToolAudioPreviewComponent, selector: "axm-ai-chat-tool-audio-preview", inputs: ["fileId", "mimeType", "titleText", "ariaLabel"] }, { kind: "component", type: AXPLayoutRendererComponent, selector: "axp-layout-renderer", inputs: ["layout", "context", "look", "mode"], outputs: ["contextChange", "contextInitiated", "validityChange"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
810
821
  }
811
822
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMAiDelegatedAgentTranscriptPopupComponent, decorators: [{
812
823
  type: Component,
@@ -1164,6 +1175,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
1164
1175
  seg.content.name?.trim() || ('@ai-management:chat.audio-untitled' | translate | async)
1165
1176
  }}</span>
1166
1177
  </span>
1178
+ } @else if (seg.type === 'file') {
1179
+ <span
1180
+ class="ax-inline-flex ax-items-center ax-gap-2 ax-min-w-0 ax-max-w-full ax-rounded ax-border ax-border-default/60 dark:ax-border-darker ax-bg-default-50/80 dark:ax-bg-default-100/40 ax-px-3 ax-py-1.5 ax-text-sm"
1181
+ >
1182
+ <span class="ax-text-muted ax-shrink-0">{{
1183
+ '@ai-management:chat.attached-document-label' | translate | async
1184
+ }}</span>
1185
+ <span class="ax-truncate ax-min-w-0" [attr.title]="seg.content.name ?? ''">{{
1186
+ seg.content.name?.trim() || ('@ai-management:chat.document-untitled' | translate | async)
1187
+ }}</span>
1188
+ </span>
1167
1189
  } @else if (seg.type === 'text') {
1168
1190
  <span class="ax-whitespace-pre-line" [attr.dir]="'auto'">{{ seg.content }}</span>
1169
1191
  }
@@ -1229,4 +1251,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
1229
1251
  }] });
1230
1252
 
1231
1253
  export { AXMAiDelegatedAgentTranscriptPopupComponent };
1232
- //# sourceMappingURL=acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-CYk2rB36.mjs.map
1254
+ //# sourceMappingURL=acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-D2GJ5qD1.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-D2GJ5qD1.mjs","sources":["../../../../libs/modules/ai-management/src/lib/features/chat/ai-delegated-agent-transcript-popup.component.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport {\n type AXPAiChatMessage,\n type AXPAiToolCall,\n axpAiChatMessageGetText,\n axpAiChatToolOrAgentResultBodyJson,\n} from '../ai-engine.types';\nimport {\n AIMANAGEMENT_CHAT_GENERATE_IMAGE_COMMAND_KEY,\n AIMANAGEMENT_CHAT_SYNTHESIZE_SPEECH_COMMAND_KEY,\n} from '../../tools/ai-chat-tool.command-keys';\nimport { AXPLayoutRendererComponent } from '@acorex/platform/layout/builder';\nimport type { AXPWidgetNode } from '@acorex/platform/layout/widget-core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n OnInit,\n PLATFORM_ID,\n computed,\n inject,\n signal,\n} from '@angular/core';\nimport { AXMAiChatToolExecuteService } from './ai-chat-tool-execute.service';\nimport {\n axmBuildChatDisplayItems,\n type AXMAiChatDisplayItem,\n type AXMAiChatToolCallPair,\n type AXMAiChatToolTurnItem,\n} from './ai-chat-display-items.build';\nimport {\n type AssistantParsedContent,\n parseAssistantContentForDisplay,\n parseAssistantMessageForDisplayFromMessage as axmParseAssistantMessageForDisplayFromMessage,\n} from './ai-chat-thinking.util';\nimport { AXMAiChatToolAudioPreviewComponent } from './ai-chat-tool-audio-preview.component';\nimport { AXMAiChatToolImagePreviewComponent } from './ai-chat-tool-image-preview.component';\n\n//#endregion\n\n//#region ---- Types ----\n\n/** Popup `data` payload from {@link AXMAiChatPageComponent.openDelegatedAgentTranscriptDialog}. */\nexport interface AXMAiDelegatedAgentTranscriptPopupData {\n messages: AXPAiChatMessage[];\n /** Shown when {@link messages} is empty (e.g. no cached specialist transcript). */\n emptyHint?: string;\n}\n\n/**\n * Parsed specialist sub-run user message: user query bubble + JSON context block.\n * @see buildAgentSubRunUserMessage in `ai-engine.support.ts`\n */\nexport interface AXMAiSpecialistDelegationUserDisplay {\n queryText: string;\n /** Pretty-printed JSON for the transcript tail (or structured lines). */\n contextJsonDisplay: string;\n}\n\n/** Keep in sync with {@link buildAgentSubRunUserMessage} in `ai-engine.support.ts`. */\nconst AXM_AI_SPECIALIST_DELEGATION_PREFIX = 'Specialist task (structured input):';\nconst AXM_AI_SPECIALIST_DELEGATION_CONTEXT_MARKER = '\\n\\nRecent conversation (for context):\\n';\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axm-ai-delegated-agent-transcript-popup',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <div class=\"ax-flex ax-flex-col ax-min-h-0\">\n <div\n class=\"ax-flex ax-flex-wrap ax-items-center ax-justify-end ax-gap-2 ax-mb-3 ax-pb-2 ax-border-b ax-border-default/70 dark:ax-border-darker\"\n role=\"toolbar\"\n [attr.aria-label]=\"'@ai-management:chat.delegated-agent-transcript-toolbar-aria' | translate | async\"\n >\n <ax-button\n look=\"outline\"\n color=\"secondary\"\n [text]=\"('@general:actions.close.title' | translate | async) ?? ''\"\n [attr.aria-label]=\"('@general:actions.close.title' | translate | async) ?? ''\"\n (onClick)=\"closePopup()\"\n ></ax-button>\n <ax-button\n look=\"outline\"\n color=\"secondary\"\n [text]=\"('@ai-management:chat.download-json' | translate | async) ?? ''\"\n [attr.aria-label]=\"('@ai-management:chat.download-json' | translate | async) ?? ''\"\n (onClick)=\"downloadMessagesJson()\"\n ></ax-button>\n </div>\n <div\n class=\"ax-max-h-[min(75vh,40rem)] ax-overflow-y-auto ax-px-1 ax-py-2 ax-min-h-0\"\n role=\"log\"\n [attr.aria-label]=\"'@ai-management:chat.delegated-agent-transcript-aria' | translate | async\"\n >\n @if (transcript().length === 0 && emptyNotice(); as note) {\n <p class=\"ax-mb-3 ax-text-sm ax-text-muted\">{{ note }}</p>\n }\n <div\n class=\"ax-mx-auto ax-w-full ax-space-y-8 ax-max-w-3xl\"\n >\n @for (item of displayItems(); track $index) {\n @if (item.kind === 'tool-turn') {\n <div class=\"ax-w-full ax-min-w-0 ax-text-sm ax-leading-relaxed ax-text-on-lightest\">\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-min-w-0\">\n @if (!(toolTurnPreamblePlain(item) === '' && item.pairs.length)) {\n @let parsedTurn = toolTurnPreambleParsed(item);\n @if (parsedTurn.thinking) {\n <details\n class=\"ax-rounded ax-border ax-border-default/70 dark:ax-border-darker ax-bg-default-50/80 dark:ax-bg-default-100/50 ax-px-2 ax-py-1 ax-mb-1\"\n [attr.dir]=\"'auto'\"\n [attr.aria-label]=\"('@ai-management:chat.assistant-thinking-label' | translate | async) ?? ''\"\n >\n <summary\n class=\"ax-cursor-pointer ax-select-none ax-min-w-0 ax-text-xs ax-text-muted ax-outline-none focus-visible:ax-ring-2 focus-visible:ax-ring-primary-300 ax-line-clamp-1 ax-break-words\"\n >\n {{ parsedTurn.thinking }}\n </summary>\n <div\n class=\"ax-mt-2 ax-pt-2 ax-border-t ax-border-default/50 dark:ax-border-darker ax-text-xs ax-text-muted ax-whitespace-pre-wrap ax-break-words\"\n >\n {{ parsedTurn.thinking }}\n </div>\n </details>\n }\n @if (parsedTurn.body.trim()) {\n <div class=\"ax-whitespace-pre-line ax-break-words\" [attr.dir]=\"'auto'\">{{ parsedTurn.body }}</div>\n }\n @for (pm of item.preambleMessages; track $index) {\n @if (asAssistantLayoutNode(pm); as preambleLayout) {\n <div class=\"ax-min-w-0\" [attr.dir]=\"'auto'\">\n <axp-layout-renderer [layout]=\"preambleLayout\" mode=\"view\" [context]=\"{}\" />\n </div>\n }\n }\n }\n @if (item.pairs.length) {\n <div class=\"ax-mt-1 ax-flex ax-flex-col ax-gap-2\">\n @for (p of item.pairs; track p.call.id) {\n @if (getGenerateImagePreview(p); as gimg) {\n <div\n class=\"ax-rounded-lg ax-border ax-border-default/70 dark:ax-border-darker ax-bg-lightest dark:ax-bg-default-50 ax-overflow-hidden ax-max-w-full\"\n >\n @if (gimg.fileId) {\n <axm-ai-chat-tool-image-preview\n [fileId]=\"gimg.fileId\"\n [altText]=\"gimg.alt\"\n [ariaLabel]=\"(('@ai-management:chat.generated-image-aria-label' | translate | async) ?? gimg.alt)\"\n />\n } @else if (gimg.imageUrl) {\n <img\n [src]=\"gimg.imageUrl\"\n [alt]=\"gimg.alt\"\n class=\"ax-block ax-max-w-full ax-h-auto ax-max-h-[min(70vh,32rem)]\"\n [attr.aria-label]=\"('@ai-management:chat.generated-image-aria-label' | translate | async) ?? gimg.alt\"\n />\n }\n </div>\n }\n @if (getSynthesizeSpeechPreview(p); as gaudio) {\n <div\n class=\"ax-rounded-lg ax-border ax-border-default/70 dark:ax-border-darker ax-bg-lightest dark:ax-bg-default-50 ax-p-3 ax-max-w-full\"\n >\n @if (gaudio.fileId) {\n <axm-ai-chat-tool-audio-preview\n [fileId]=\"gaudio.fileId\"\n [mimeType]=\"gaudio.mimeType\"\n [titleText]=\"gaudio.title\"\n [ariaLabel]=\"(('@ai-management:chat.generated-speech-aria-label' | translate | async) ?? gaudio.title)\"\n />\n }\n </div>\n }\n @if (showDelegatedAgentMiniChat(p.call.name)) {\n @let ar = parseDelegatedAgentToolResult(p.outputContent);\n <details\n class=\"ax-rounded-lg ax-border ax-border-default dark:ax-border-darker ax-bg-lightest/50 dark:ax-bg-default-50 ax-px-2 ax-py-1\"\n >\n <summary\n class=\"ax-cursor-pointer ax-select-none ax-text-xs ax-font-medium ax-outline-none focus-visible:ax-ring-2 focus-visible:ax-ring-primary-300 ax-flex ax-items-center ax-gap-2 ax-flex-wrap ax-min-w-0\"\n >\n @if (p.outputContent.trim()) {\n <span\n class=\"ax-inline-block ax-w-3 ax-h-3 ax-rounded-full ax-bg-success-500 ax-shrink-0\"\n aria-hidden=\"true\"\n ></span>\n } @else {\n <span\n class=\"ax-inline-block ax-w-3 ax-h-3 ax-rounded-full ax-bg-default-400 dark:ax-bg-default-500 ax-shrink-0\"\n aria-hidden=\"true\"\n ></span>\n }\n <span class=\"ax-inline-flex ax-items-baseline ax-gap-1 ax-min-w-0 ax-break-words\">\n <span>{{ '@ai-management:chat.agent-prefix' | translate | async }}:</span>\n @if (ar.agentName) {\n <span class=\"ax-font-semibold\">{{ ar.agentName }}</span>\n } @else if (p.outputContent.trim()) {\n <span class=\"ax-text-muted ax-font-normal\">{{\n '@ai-management:chat.agent-name-unknown' | translate | async\n }}</span>\n } @else {\n <span class=\"ax-text-muted ax-italic ax-font-normal\">{{\n '@ai-management:chat.tool-executing' | translate | async\n }}</span>\n }\n </span>\n @if (p.outputContent.trim()) {\n <span class=\"ax-text-success-600 dark:ax-text-success-400 ax-shrink-0\">\n {{ '@ai-management:chat.tool-done' | translate | async }}\n </span>\n }\n </summary>\n <div\n class=\"ax-mt-2 ax-space-y-3 ax-pt-2 ax-border-t ax-border-default/60 dark:ax-border-darker\"\n >\n <div class=\"ax-flex ax-justify-end ax-w-full ax-min-w-0\">\n <div\n class=\"ax-max-w-[min(92%,42rem)] ax-min-w-0 ax-rounded-[1.25rem] ax-px-4 ax-py-2.5 ax-text-sm ax-leading-relaxed ax-text-on-lightest ax-bg-default-300/95 dark:ax-bg-default-500/95 ax-shadow-sm ax-ring-1 ax-ring-inset ax-ring-default/20 dark:ax-ring-white/10\"\n >\n <div class=\"ax-whitespace-pre-wrap ax-break-words\" [attr.dir]=\"'auto'\">\n {{ getAgentDelegatedPromptPreview(p.call.arguments) }}\n </div>\n </div>\n </div>\n <div\n class=\"ax-flex ax-flex-col ax-gap-2 ax-min-w-0 ax-text-sm ax-leading-relaxed ax-text-on-lightest\"\n >\n @if (ar.error) {\n <p class=\"ax-m-0 ax-text-danger-600 dark:ax-text-danger-400 ax-whitespace-pre-wrap ax-break-words\">\n {{ ar.error }}\n </p>\n } @else if (ar.answer) {\n <div class=\"ax-whitespace-pre-wrap ax-break-words\" [attr.dir]=\"'auto'\">{{ ar.answer }}</div>\n } @else if (p.outputContent.trim()) {\n <pre\n class=\"ax-m-0 ax-max-h-48 ax-overflow-auto ax-rounded ax-bg-default-50 dark:ax-bg-default-200 ax-p-2 ax-font-mono ax-text-[0.75rem] ax-leading-snug ax-whitespace-pre-wrap ax-break-words\"\n >{{ formatToolResultBody(p.outputContent) }}</pre\n >\n } @else {\n <p class=\"ax-m-0 ax-text-xs ax-text-muted ax-italic\">\n {{ '@ai-management:chat.tool-output-pending' | translate | async }}\n </p>\n }\n </div>\n </div>\n </details>\n } @else {\n <details\n class=\"ax-rounded ax-border ax-border-default dark:ax-border-darker ax-bg-lightest/50 dark:ax-bg-default-50 ax-px-2 ax-py-1\"\n >\n <summary\n class=\"ax-cursor-pointer ax-select-none ax-text-xs ax-font-medium ax-outline-none focus-visible:ax-ring-2 focus-visible:ax-ring-primary-300 ax-flex ax-items-center ax-gap-2 ax-flex-wrap\"\n >\n @if (p.outputContent.trim()) {\n <span\n class=\"ax-inline-block ax-w-3 ax-h-3 ax-rounded-full ax-bg-success-500 ax-shrink-0\"\n aria-hidden=\"true\"\n ></span>\n <code\n class=\"ax-px-1 ax-py-0.5 ax-rounded ax-bg-default-200 dark:ax-bg-default-300 ax-text-[0.8em] ax-text-on-lightest\"\n >{{ p.call.name }}</code\n >\n <span class=\"ax-text-success-600 dark:ax-text-success-400\">\n {{ '@ai-management:chat.tool-done' | translate | async }}\n </span>\n <span\n class=\"ax-ml-auto ax-inline-flex ax-shrink-0\"\n (click)=\"$event.stopPropagation()\"\n (mousedown)=\"$event.stopPropagation()\"\n >\n <ax-button\n look=\"outline\"\n [text]=\"('@ai-management:chat.tool-run-again' | translate | async) ?? ''\"\n (onClick)=\"openToolExecuteDialog(p.call)\"\n ></ax-button>\n </span>\n } @else {\n <span\n class=\"ax-inline-block ax-w-3 ax-h-3 ax-rounded-full ax-bg-default-400 dark:ax-bg-default-500 ax-shrink-0\"\n aria-hidden=\"true\"\n ></span>\n <code\n class=\"ax-px-1 ax-py-0.5 ax-rounded ax-bg-default-200 dark:ax-bg-default-300 ax-text-[0.8em] ax-text-on-lightest\"\n >{{ p.call.name }}</code\n >\n <span class=\"ax-text-muted ax-italic ax-text-[0.85em]\">\n {{ '@ai-management:chat.tool-output-pending' | translate | async }}\n </span>\n }\n </summary>\n <div class=\"ax-mt-2 ax-space-y-1 ax-pt-1 ax-border-t ax-border-default/60 dark:ax-border-darker\">\n <div class=\"ax-text-[0.7rem] ax-uppercase ax-tracking-wide ax-text-muted\">\n {{ '@ai-management:chat.tool-input' | translate | async }}\n </div>\n <pre\n class=\"ax-m-0 ax-max-h-48 ax-overflow-auto ax-rounded ax-bg-default-50 dark:ax-bg-default-200 ax-p-2 ax-font-mono ax-text-[0.7rem] ax-leading-snug ax-whitespace-pre-wrap ax-break-words\"\n >{{ formatToolArguments(p.call.arguments) }}</pre\n >\n <div class=\"ax-text-[0.7rem] ax-uppercase ax-tracking-wide ax-text-muted\">\n {{ '@ai-management:chat.tool-output' | translate | async }}\n </div>\n @if (p.outputContent.trim()) {\n <pre\n class=\"ax-m-0 ax-max-h-48 ax-overflow-auto ax-rounded ax-bg-default-50 dark:ax-bg-default-200 ax-p-2 ax-font-mono ax-text-[0.7rem] ax-leading-snug ax-whitespace-pre-wrap ax-break-words\"\n >{{ formatToolResultBody(p.outputContent) }}</pre\n >\n } @else {\n <p class=\"ax-m-0 ax-text-xs ax-text-muted ax-italic\">\n {{ '@ai-management:chat.tool-output-pending' | translate | async }}\n </p>\n }\n </div>\n </details>\n }\n }\n </div>\n }\n @if (item.followUpMessage; as followUp) {\n @let parsedFollowUp = parseAssistantMessageForDisplayFromMessage(followUp);\n @if (parsedFollowUp.thinking) {\n <details\n class=\"ax-rounded ax-border ax-border-default/70 dark:ax-border-darker ax-bg-default-50/80 dark:ax-bg-default-100/50 ax-px-2 ax-py-1\"\n [attr.dir]=\"'auto'\"\n [attr.aria-label]=\"('@ai-management:chat.assistant-thinking-label' | translate | async) ?? ''\"\n >\n <summary\n class=\"ax-cursor-pointer ax-select-none ax-min-w-0 ax-text-xs ax-text-muted ax-outline-none focus-visible:ax-ring-2 focus-visible:ax-ring-primary-300 ax-line-clamp-1 ax-break-words\"\n >\n {{ parsedFollowUp.thinking }}\n </summary>\n <div\n class=\"ax-mt-2 ax-pt-2 ax-border-t ax-border-default/50 dark:ax-border-darker ax-text-xs ax-text-muted ax-whitespace-pre-wrap ax-break-words\"\n >\n {{ parsedFollowUp.thinking }}\n </div>\n </details>\n }\n @if (parsedFollowUp.body.trim()) {\n <div class=\"ax-whitespace-pre-line ax-break-words\" [attr.dir]=\"'auto'\">{{ parsedFollowUp.body }}</div>\n }\n @if (asAssistantLayoutNode(followUp); as followLayout) {\n <div class=\"ax-min-w-0\" [attr.dir]=\"'auto'\">\n <axp-layout-renderer [layout]=\"followLayout\" mode=\"view\" [context]=\"{}\" />\n </div>\n }\n }\n </div>\n </div>\n } @else {\n @if (item.message.role === 'user') {\n <div class=\"ax-w-full ax-flex ax-min-w-0\">\n @if (specialistDelegationUserDisplay(item.message); as spec) {\n <div\n class=\"ax-ms-auto ax-w-full ax-min-w-0 ax-max-w-[min(85%,36rem)] ax-flex ax-flex-col ax-gap-3\"\n >\n @for (seg of item.message.responses; track $index) {\n @if (seg.type === 'image') {\n <span class=\"ax-flex ax-flex-col ax-gap-1 ax-min-w-0 ax-max-w-full ax-self-end\">\n <axm-ai-chat-tool-image-preview\n [fileId]=\"seg.content.fileId\"\n [altText]=\"seg.content.name?.trim() || 'Attached image'\"\n [ariaLabel]=\"(('@ai-management:chat.attached-image-aria-label' | translate | async) ?? '')\"\n />\n </span>\n }\n }\n <div class=\"ax-flex ax-justify-end ax-w-full ax-min-w-0\">\n <div\n class=\"ax-max-w-[min(92%,42rem)] ax-min-w-0 ax-rounded-[1.25rem] ax-px-4 ax-py-2.5 ax-text-sm ax-leading-relaxed ax-text-on-lightest ax-bg-default-300/95 dark:ax-bg-default-500/95 ax-shadow-sm ax-ring-1 ax-ring-inset ax-ring-default/20 dark:ax-ring-white/10\"\n >\n <span class=\"ax-whitespace-pre-line ax-break-words ax-min-w-0\" [attr.dir]=\"'auto'\">{{\n spec.queryText\n }}</span>\n </div>\n </div>\n <div class=\"ax-w-full ax-min-w-0 ax-text-start\">\n <div\n class=\"ax-mb-1 ax-text-[0.7rem] ax-font-medium ax-uppercase ax-tracking-wide ax-text-muted\"\n >\n {{\n '@ai-management:chat.specialist-delegation-context-json-label'\n | translate\n | async\n }}\n </div>\n <pre\n class=\"ax-m-0 ax-max-h-[min(50vh,24rem)] ax-overflow-auto ax-rounded ax-border ax-border-default/60 dark:ax-border-darker ax-bg-default-50 dark:ax-bg-default-200 ax-p-2 ax-font-mono ax-text-[0.75rem] ax-leading-snug ax-whitespace-pre-wrap ax-break-words ax-text-on-lightest\"\n >{{ spec.contextJsonDisplay }}</pre\n >\n </div>\n </div>\n } @else {\n <div\n class=\"ax-ms-auto ax-min-w-0 ax-rounded-[1.25rem] ax-text-sm ax-leading-relaxed ax-text-on-lightest ax-flex ax-flex-col ax-gap-2 ax-bg-default-300/95 dark:ax-bg-default-500/95 ax-shadow-sm ax-ring-1 ax-ring-inset ax-ring-default/20 dark:ax-ring-white/10 ax-max-w-[min(85%,36rem)]\"\n [class.ax-px-4]=\"!userMessageAttachmentOnlyBubble(item.message)\"\n [class.ax-py-2.5]=\"!userMessageAttachmentOnlyBubble(item.message)\"\n [class.ax-p-2]=\"userMessageAttachmentOnlyBubble(item.message)\"\n >\n <span class=\"ax-flex ax-flex-col ax-gap-2 ax-whitespace-pre-line ax-break-words ax-min-w-0\">\n @for (seg of item.message.responses; track $index) {\n @if (seg.type === 'image') {\n <span class=\"ax-flex ax-flex-col ax-gap-1 ax-min-w-0 ax-max-w-full\">\n <axm-ai-chat-tool-image-preview\n [fileId]=\"seg.content.fileId\"\n [altText]=\"seg.content.name?.trim() || 'Attached image'\"\n [ariaLabel]=\"(('@ai-management:chat.attached-image-aria-label' | translate | async) ?? '')\"\n />\n </span>\n } @else if (seg.type === 'audio') {\n <span\n class=\"ax-inline-flex ax-items-center ax-gap-2 ax-min-w-0 ax-max-w-full ax-rounded ax-border ax-border-default/60 dark:ax-border-darker ax-bg-default-50/80 dark:ax-bg-default-100/40 ax-px-3 ax-py-1.5 ax-text-sm\"\n >\n <span class=\"ax-text-muted ax-shrink-0\">{{\n '@ai-management:chat.attached-audio-label' | translate | async\n }}</span>\n <span class=\"ax-truncate ax-min-w-0\" [attr.title]=\"seg.content.name ?? ''\">{{\n seg.content.name?.trim() || ('@ai-management:chat.audio-untitled' | translate | async)\n }}</span>\n </span>\n } @else if (seg.type === 'file') {\n <span\n class=\"ax-inline-flex ax-items-center ax-gap-2 ax-min-w-0 ax-max-w-full ax-rounded ax-border ax-border-default/60 dark:ax-border-darker ax-bg-default-50/80 dark:ax-bg-default-100/40 ax-px-3 ax-py-1.5 ax-text-sm\"\n >\n <span class=\"ax-text-muted ax-shrink-0\">{{\n '@ai-management:chat.attached-document-label' | translate | async\n }}</span>\n <span class=\"ax-truncate ax-min-w-0\" [attr.title]=\"seg.content.name ?? ''\">{{\n seg.content.name?.trim() || ('@ai-management:chat.document-untitled' | translate | async)\n }}</span>\n </span>\n } @else if (seg.type === 'text') {\n <span class=\"ax-whitespace-pre-line\" [attr.dir]=\"'auto'\">{{ seg.content }}</span>\n }\n }\n </span>\n </div>\n }\n </div>\n } @else {\n <div class=\"ax-w-full ax-min-w-0 ax-text-sm ax-leading-relaxed ax-text-on-lightest\">\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-whitespace-pre-line ax-break-words ax-min-w-0\">\n @if (item.message.role === 'tool') {\n <span [attr.dir]=\"'auto'\">{{ formatToolMessageSummary(item.message) }}</span>\n } @else if (item.message.role === 'assistant') {\n @let parsed = parseAssistantMessageForDisplayFromMessage(item.message);\n @if (parsed.thinking) {\n <details\n class=\"ax-rounded ax-border ax-border-default/70 dark:ax-border-darker ax-bg-default-50/80 dark:ax-bg-default-100/50 ax-px-2 ax-py-1\"\n [attr.dir]=\"'auto'\"\n [attr.aria-label]=\"('@ai-management:chat.assistant-thinking-label' | translate | async) ?? ''\"\n >\n <summary\n class=\"ax-cursor-pointer ax-select-none ax-min-w-0 ax-text-xs ax-text-muted ax-outline-none focus-visible:ax-ring-2 focus-visible:ax-ring-primary-300 ax-line-clamp-1 ax-break-words\"\n >\n {{ parsed.thinking }}\n </summary>\n <div\n class=\"ax-mt-2 ax-pt-2 ax-border-t ax-border-default/50 dark:ax-border-darker ax-text-xs ax-text-muted ax-whitespace-pre-wrap ax-break-words\"\n >\n {{ parsed.thinking }}\n </div>\n </details>\n }\n @if (parsed.body.trim()) {\n <span class=\"ax-whitespace-pre-line\" [attr.dir]=\"'auto'\">{{ parsed.body }}</span>\n }\n @if (asAssistantLayoutNode(item.message); as layoutNode) {\n <div class=\"ax-min-w-0\" [attr.dir]=\"'auto'\">\n <axp-layout-renderer [layout]=\"layoutNode\" mode=\"view\" [context]=\"{}\" />\n </div>\n }\n } @else {\n <span [attr.dir]=\"'auto'\">{{ chatMessageText(item.message) }}</span>\n }\n </div>\n </div>\n }\n }\n }\n </div>\n </div>\n </div>\n `,\n imports: [\n CommonModule,\n AXTranslationModule,\n AXButtonModule,\n AXMAiChatToolImagePreviewComponent,\n AXMAiChatToolAudioPreviewComponent,\n AXPLayoutRendererComponent,\n ],\n})\nexport class AXMAiDelegatedAgentTranscriptPopupComponent extends AXBasePageComponent implements OnInit {\n //#region ---- Services & Dependencies ----\n\n private readonly chatToolExecute = inject(AXMAiChatToolExecuteService);\n private readonly platformId = inject(PLATFORM_ID);\n\n //#endregion\n\n //#region ---- State (merged from popup data) ----\n\n /** Specialist transcript lines (same shape as direct agent chat). */\n messages: AXPAiChatMessage[] = [];\n\n /** Optional note when there is nothing to show. */\n emptyHint?: string;\n\n readonly transcript = signal<AXPAiChatMessage[]>([]);\n\n readonly emptyNotice = computed(() => this.emptyHint?.trim() || null);\n\n readonly displayItems = computed<AXMAiChatDisplayItem[]>(() => axmBuildChatDisplayItems(this.transcript()));\n\n //#endregion\n\n //#region ---- Lifecycle ----\n\n override ngOnInit(): void {\n super.ngOnInit();\n this.transcript.set(this.messages ?? []);\n }\n\n //#endregion\n\n //#region ---- UI Handlers ----\n\n /**\n * Re-runs the same registry command/query as the main chat tool block (toast with result).\n */\n async openToolExecuteDialog(call: AXPAiToolCall): Promise<void> {\n await this.chatToolExecute.openToolExecuteDialog(call);\n }\n\n /** Closes the popup (same pattern as other {@link AXBasePageComponent} dialogs). */\n closePopup(): void {\n this.close();\n }\n\n /**\n * Downloads this specialist transcript as pretty-printed JSON (same approach as\n * {@link AXMAiChatPageComponent.downloadMessagesJson}).\n */\n downloadMessagesJson(): void {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n const data = this.cloneMessagesForJsonViewer(this.transcript());\n const json = JSON.stringify(data, null, 2);\n const blob = new Blob([json], { type: 'application/json;charset=utf-8' });\n const url = URL.createObjectURL(blob);\n const anchor = document.createElement('a');\n anchor.href = url;\n anchor.download = this.buildDelegatedTranscriptFilename();\n anchor.click();\n URL.revokeObjectURL(url);\n }\n\n private cloneMessagesForJsonViewer(messages: AXPAiChatMessage[]): unknown {\n try {\n return structuredClone(messages);\n } catch {\n return JSON.parse(JSON.stringify(messages)) as unknown;\n }\n }\n\n private buildDelegatedTranscriptFilename(): string {\n const stamp = new Date().toISOString().replace(/[:.]/g, '-');\n return `ai-delegated-agent-transcript-${stamp}.json`;\n }\n\n //#endregion\n\n //#region ---- Presentation (mirrors {@link AXMAiChatPageComponent}) ----\n\n /**\n * Specialist sub-views use the same tool I/O layout as direct agent chat (not supervisor mini-chat).\n */\n protected showDelegatedAgentMiniChat(_toolName: string): boolean {\n return false;\n }\n\n parseAssistantMessageForDisplay(raw: string | null | undefined): AssistantParsedContent {\n return parseAssistantContentForDisplay(raw);\n }\n\n protected parseAssistantMessageForDisplayFromMessage(message: AXPAiChatMessage): AssistantParsedContent {\n return axmParseAssistantMessageForDisplayFromMessage(message);\n }\n\n protected toolTurnPreamblePlain(item: AXMAiChatToolTurnItem): string {\n return item.preambleMessages.map((m) => axpAiChatMessageGetText(m)).join('\\n').trim();\n }\n\n protected toolTurnPreambleParsed(item: AXMAiChatToolTurnItem): AssistantParsedContent {\n const thinkParts: string[] = [];\n const bodyParts: string[] = [];\n for (const m of item.preambleMessages) {\n const parsed = this.parseAssistantMessageForDisplayFromMessage(m);\n if (parsed.thinking?.trim()) {\n thinkParts.push(parsed.thinking.trim());\n }\n if (parsed.body.trim()) {\n bodyParts.push(parsed.body.trim());\n }\n }\n return {\n thinking: thinkParts.length > 0 ? thinkParts.join('\\n\\n') : null,\n body: bodyParts.join('\\n\\n'),\n };\n }\n\n protected chatMessageText(message: AXPAiChatMessage): string {\n return axpAiChatMessageGetText(message);\n }\n\n /**\n * When the specialist user message was built with {@link buildAgentSubRunUserMessage}, show only\n * the structured `query` in the user bubble and pretty-print the transcript tail as JSON.\n */\n protected specialistDelegationUserDisplay(\n message: AXPAiChatMessage,\n ): AXMAiSpecialistDelegationUserDisplay | null {\n if (message.role !== 'user') {\n return null;\n }\n const textParts = message.responses.filter((r) => r.type === 'text');\n if (textParts.length === 0) {\n return null;\n }\n const raw = textParts.map((r) => (r as { type: 'text'; content: string }).content).join('\\n\\n');\n return this.parseSpecialistDelegationUserContent(raw);\n }\n\n private parseSpecialistDelegationUserContent(\n raw: string,\n ): AXMAiSpecialistDelegationUserDisplay | null {\n const t = raw.trim();\n if (!t.startsWith(AXM_AI_SPECIALIST_DELEGATION_PREFIX)) {\n return null;\n }\n const idx = t.indexOf(AXM_AI_SPECIALIST_DELEGATION_CONTEXT_MARKER);\n if (idx < 0) {\n return null;\n }\n const head = t.slice(AXM_AI_SPECIALIST_DELEGATION_PREFIX.length, idx).trim();\n const tail = t.slice(idx + AXM_AI_SPECIALIST_DELEGATION_CONTEXT_MARKER.length).trimEnd();\n return {\n queryText: this.extractQueryFromDelegationArgsJson(head),\n contextJsonDisplay: this.formatDelegationContextTailAsJson(tail),\n };\n }\n\n private extractQueryFromDelegationArgsJson(head: string): string {\n try {\n const args = JSON.parse(head) as Record<string, unknown>;\n const preferKeys = ['query', 'task', 'prompt', 'message', 'userMessage', 'instruction', 'goal'] as const;\n for (const k of preferKeys) {\n const v = args[k];\n if (typeof v === 'string' && v.trim()) {\n return v.trim();\n }\n }\n const keys = Object.keys(args);\n if (keys.length === 1) {\n const only = args[keys[0]!];\n if (typeof only === 'string' && only.trim()) {\n return only.trim();\n }\n }\n return JSON.stringify(args, null, 2);\n } catch {\n return head.trim();\n }\n }\n\n private formatDelegationContextTailAsJson(tail: string): string {\n const t = tail.trim();\n if (!t) {\n return JSON.stringify({ conversation: [] }, null, 2);\n }\n try {\n return JSON.stringify(JSON.parse(t) as unknown, null, 2);\n } catch {\n const lines = t.split('\\n');\n const conversation: { role: string; text: string }[] = [];\n for (const line of lines) {\n const m = /^\\[(\\w+)\\]\\s*(.*)$/s.exec(line);\n if (m) {\n conversation.push({ role: m[1]!, text: m[2] ?? '' });\n } else if (line.trim()) {\n conversation.push({ role: 'line', text: line });\n }\n }\n return JSON.stringify({ conversation }, null, 2);\n }\n }\n\n protected userMessageAttachmentOnlyBubble(message: AXPAiChatMessage): boolean {\n return (\n message.role === 'user' &&\n message.responses.length > 0 &&\n message.responses.every((r) => r.type === 'image' || r.type === 'audio' || r.type === 'file')\n );\n }\n\n protected asAssistantLayoutNode(message: AXPAiChatMessage): AXPWidgetNode | null {\n if (message.role !== 'assistant') {\n return null;\n }\n const nodeSeg = message.responses.find((r) => r.type === 'node');\n if (!nodeSeg || nodeSeg.type !== 'node') {\n return null;\n }\n const c = nodeSeg.content;\n if (\n c != null &&\n typeof c === 'object' &&\n !Array.isArray(c) &&\n typeof (c as Record<string, unknown>)['type'] === 'string'\n ) {\n return c as AXPWidgetNode;\n }\n return null;\n }\n\n getSynthesizeSpeechPreview(\n pair: AXMAiChatToolCallPair,\n ): { fileId?: string; mimeType: string; title: string } | null {\n if (pair.call.name !== AIMANAGEMENT_CHAT_SYNTHESIZE_SPEECH_COMMAND_KEY) {\n return null;\n }\n const raw = pair.outputContent?.trim();\n if (!raw) {\n return null;\n }\n try {\n const parsed = JSON.parse(raw) as Record<string, unknown>;\n if (parsed['success'] !== true || !parsed['data'] || typeof parsed['data'] !== 'object') {\n return null;\n }\n const data = parsed['data'] as Record<string, unknown>;\n const fileId = typeof data['fileId'] === 'string' ? data['fileId'].trim() : '';\n const text = typeof data['text'] === 'string' ? data['text'].trim() : '';\n const mimeType =\n typeof data['mimeType'] === 'string' && data['mimeType'].trim()\n ? data['mimeType'].trim()\n : 'audio/mpeg';\n const title = text ? (text.length > 80 ? `${text.slice(0, 80)}…` : text) : 'Generated speech';\n if (fileId) {\n return { fileId, mimeType, title };\n }\n return null;\n } catch {\n return null;\n }\n }\n\n getGenerateImagePreview(pair: AXMAiChatToolCallPair): { fileId?: string; imageUrl?: string; alt: string } | null {\n if (pair.call.name !== AIMANAGEMENT_CHAT_GENERATE_IMAGE_COMMAND_KEY) {\n return null;\n }\n const raw = pair.outputContent?.trim();\n if (!raw) {\n return null;\n }\n try {\n const parsed = JSON.parse(raw) as Record<string, unknown>;\n if (parsed['success'] !== true || !parsed['data'] || typeof parsed['data'] !== 'object') {\n return null;\n }\n const data = parsed['data'] as Record<string, unknown>;\n const fileId = typeof data['fileId'] === 'string' ? data['fileId'].trim() : '';\n const imageUrl = typeof data['imageUrl'] === 'string' ? data['imageUrl'].trim() : '';\n const prompt = typeof data['prompt'] === 'string' ? data['prompt'].trim() : '';\n const alt = prompt || 'Generated image';\n if (fileId) {\n return { fileId, alt };\n }\n if (imageUrl) {\n return { imageUrl, alt };\n }\n return null;\n } catch {\n return null;\n }\n }\n\n protected parseDelegatedAgentToolResult(content: string): {\n agentName?: string;\n answer?: string;\n error?: string;\n } {\n const trimmed = content?.trim() ?? '';\n if (!trimmed) {\n return {};\n }\n try {\n const o = JSON.parse(trimmed) as Record<string, unknown>;\n if (typeof o['success'] === 'boolean' && o['success'] === false) {\n const errRaw = o['error'];\n const err =\n typeof errRaw === 'string' && errRaw.trim() ? errRaw.trim() : 'Request failed.';\n return { error: err };\n }\n if (o['success'] !== true || !o['data'] || typeof o['data'] !== 'object' || Array.isArray(o['data'])) {\n return {};\n }\n const d = o['data'] as Record<string, unknown>;\n const agentName =\n typeof d['agentName'] === 'string' && d['agentName'].trim() ? d['agentName'].trim() : undefined;\n const answerRaw = typeof d['answer'] === 'string' ? d['answer'] : undefined;\n const answer = answerRaw?.trim() ? answerRaw : undefined;\n return {\n ...(agentName ? { agentName } : {}),\n ...(answer ? { answer } : {}),\n };\n } catch {\n return {};\n }\n }\n\n protected getAgentDelegatedPromptPreview(argumentsValue: unknown): string {\n const obj = this.normalizeDelegatedAgentToolArgs(argumentsValue);\n if (!obj) {\n return this.formatToolArguments(argumentsValue);\n }\n const preferKeys = ['query', 'task', 'prompt', 'message', 'userMessage', 'instruction', 'goal'] as const;\n for (const k of preferKeys) {\n const v = obj[k];\n if (typeof v === 'string' && v.trim()) {\n return v.trim();\n }\n }\n const keys = Object.keys(obj);\n if (keys.length === 1) {\n const only = obj[keys[0]!];\n if (typeof only === 'string' && only.trim()) {\n return only.trim();\n }\n }\n try {\n return JSON.stringify(obj, null, 2);\n } catch {\n return this.formatToolArguments(argumentsValue);\n }\n }\n\n private normalizeDelegatedAgentToolArgs(argumentsValue: unknown): Record<string, unknown> | null {\n if (argumentsValue == null) {\n return null;\n }\n if (typeof argumentsValue === 'object' && !Array.isArray(argumentsValue)) {\n return { ...(argumentsValue as Record<string, unknown>) };\n }\n if (typeof argumentsValue === 'string') {\n const t = argumentsValue.trim();\n if (!t) {\n return null;\n }\n try {\n const p = JSON.parse(t) as unknown;\n if (p != null && typeof p === 'object' && !Array.isArray(p)) {\n return p as Record<string, unknown>;\n }\n } catch {\n return null;\n }\n }\n return null;\n }\n\n formatToolArguments(argumentsValue: unknown): string {\n if (argumentsValue === undefined || argumentsValue === null) {\n return '';\n }\n if (typeof argumentsValue === 'string') {\n return this.formatJsonStringIfPossible(argumentsValue);\n }\n try {\n return JSON.stringify(argumentsValue, null, 2);\n } catch {\n return String(argumentsValue);\n }\n }\n\n formatToolResultBody(content: string): string {\n return this.formatJsonStringIfPossible(content);\n }\n\n formatToolMessageSummary(message: AXPAiChatMessage): string {\n const tr = message.responses.find((r) => r.type === 'tool_result' || r.type === 'agent_result');\n if (message.role !== 'tool' || !tr) {\n return message.name?.trim() || message.role;\n }\n const label = message.name?.trim() || 'tool';\n const raw = axpAiChatToolOrAgentResultBodyJson(message);\n if (!raw) {\n return label;\n }\n try {\n const parsed = JSON.parse(raw) as { success?: boolean };\n if (typeof parsed.success === 'boolean') {\n return parsed.success ? `${label} · ok` : `${label} · failed`;\n }\n } catch {\n // Not JSON — show compact raw fragment\n }\n return raw.length > 100 ? `${label} · ${raw.slice(0, 100)}…` : `${label} · ${raw}`;\n }\n\n private formatJsonStringIfPossible(raw: string): string {\n const trimmed = raw.trim();\n if (!trimmed) {\n return '';\n }\n try {\n const parsed = JSON.parse(trimmed) as unknown;\n return JSON.stringify(parsed, null, 2);\n } catch {\n return raw;\n }\n }\n\n //#endregion\n}\n"],"names":["axmParseAssistantMessageForDisplayFromMessage","i2","i3"],"mappings":";;;;;;;;;;;;AAAA;AA+DA;AACA,MAAM,mCAAmC,GAAG,qCAAqC;AACjF,MAAM,2CAA2C,GAAG,0CAA0C;AAE9F;AAEA;AA6aM,MAAO,2CAA4C,SAAQ,mBAAmB,CAAA;AA3apF,IAAA,WAAA,GAAA;;;AA8amB,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,2BAA2B,CAAC;AACrD,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;;;;QAOjD,IAAA,CAAA,QAAQ,GAAuB,EAAE;AAKxB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAqB,EAAE,iFAAC;AAE3C,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,IAAI,kFAAC;AAE5D,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAyB,MAAM,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,mFAAC;AA6Z5G,IAAA;;;IAvZU,QAAQ,GAAA;QACf,KAAK,CAAC,QAAQ,EAAE;QAChB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC1C;;;AAMA;;AAEG;IACH,MAAM,qBAAqB,CAAC,IAAmB,EAAA;QAC7C,MAAM,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC;IACxD;;IAGA,UAAU,GAAA;QACR,IAAI,CAAC,KAAK,EAAE;IACd;AAEA;;;AAGG;IACH,oBAAoB,GAAA;QAClB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACvC;QACF;QACA,MAAM,IAAI,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;AAC/D,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1C,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC;QACzE,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;QACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;AAC1C,QAAA,MAAM,CAAC,IAAI,GAAG,GAAG;AACjB,QAAA,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,gCAAgC,EAAE;QACzD,MAAM,CAAC,KAAK,EAAE;AACd,QAAA,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC;IAC1B;AAEQ,IAAA,0BAA0B,CAAC,QAA4B,EAAA;AAC7D,QAAA,IAAI;AACF,YAAA,OAAO,eAAe,CAAC,QAAQ,CAAC;QAClC;AAAE,QAAA,MAAM;YACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAY;QACxD;IACF;IAEQ,gCAAgC,GAAA;AACtC,QAAA,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;QAC5D,OAAO,CAAA,8BAAA,EAAiC,KAAK,CAAA,KAAA,CAAO;IACtD;;;AAMA;;AAEG;AACO,IAAA,0BAA0B,CAAC,SAAiB,EAAA;AACpD,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,+BAA+B,CAAC,GAA8B,EAAA;AAC5D,QAAA,OAAO,+BAA+B,CAAC,GAAG,CAAC;IAC7C;AAEU,IAAA,0CAA0C,CAAC,OAAyB,EAAA;AAC5E,QAAA,OAAOA,0CAA6C,CAAC,OAAO,CAAC;IAC/D;AAEU,IAAA,qBAAqB,CAAC,IAA2B,EAAA;QACzD,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;IACvF;AAEU,IAAA,sBAAsB,CAAC,IAA2B,EAAA;QAC1D,MAAM,UAAU,GAAa,EAAE;QAC/B,MAAM,SAAS,GAAa,EAAE;AAC9B,QAAA,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;AACjE,YAAA,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;gBAC3B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzC;AACA,YAAA,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE;gBACtB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACpC;QACF;QACA,OAAO;AACL,YAAA,QAAQ,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI;AAChE,YAAA,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;SAC7B;IACH;AAEU,IAAA,eAAe,CAAC,OAAyB,EAAA;AACjD,QAAA,OAAO,uBAAuB,CAAC,OAAO,CAAC;IACzC;AAEA;;;AAGG;AACO,IAAA,+BAA+B,CACvC,OAAyB,EAAA;AAEzB,QAAA,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;AAC3B,YAAA,OAAO,IAAI;QACb;AACA,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;AACpE,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1B,YAAA,OAAO,IAAI;QACb;QACA,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAM,CAAuC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AAC/F,QAAA,OAAO,IAAI,CAAC,oCAAoC,CAAC,GAAG,CAAC;IACvD;AAEQ,IAAA,oCAAoC,CAC1C,GAAW,EAAA;AAEX,QAAA,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE;QACpB,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,mCAAmC,CAAC,EAAE;AACtD,YAAA,OAAO,IAAI;QACb;QACA,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,2CAA2C,CAAC;AAClE,QAAA,IAAI,GAAG,GAAG,CAAC,EAAE;AACX,YAAA,OAAO,IAAI;QACb;AACA,QAAA,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,mCAAmC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE;AAC5E,QAAA,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,2CAA2C,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE;QACxF,OAAO;AACL,YAAA,SAAS,EAAE,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC;AACxD,YAAA,kBAAkB,EAAE,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC;SACjE;IACH;AAEQ,IAAA,kCAAkC,CAAC,IAAY,EAAA;AACrD,QAAA,IAAI;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B;AACxD,YAAA,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,CAAU;AACxG,YAAA,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE;AAC1B,gBAAA,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACjB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;AACrC,oBAAA,OAAO,CAAC,CAAC,IAAI,EAAE;gBACjB;YACF;YACA,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9B,YAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;gBAC3B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;AAC3C,oBAAA,OAAO,IAAI,CAAC,IAAI,EAAE;gBACpB;YACF;YACA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,IAAI,CAAC,IAAI,EAAE;QACpB;IACF;AAEQ,IAAA,iCAAiC,CAAC,IAAY,EAAA;AACpD,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE;QACrB,IAAI,CAAC,CAAC,EAAE;AACN,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD;AACA,QAAA,IAAI;AACF,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D;AAAE,QAAA,MAAM;YACN,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;YAC3B,MAAM,YAAY,GAAqC,EAAE;AACzD,YAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,MAAM,CAAC,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC1C,IAAI,CAAC,EAAE;oBACL,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACtD;AAAO,qBAAA,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;AACtB,oBAAA,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBACjD;YACF;AACA,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD;IACF;AAEU,IAAA,+BAA+B,CAAC,OAAyB,EAAA;AACjE,QAAA,QACE,OAAO,CAAC,IAAI,KAAK,MAAM;AACvB,YAAA,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;AAC5B,YAAA,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;IAEjG;AAEU,IAAA,qBAAqB,CAAC,OAAyB,EAAA;AACvD,QAAA,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE;AAChC,YAAA,OAAO,IAAI;QACb;AACA,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;QAChE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;AACvC,YAAA,OAAO,IAAI;QACb;AACA,QAAA,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO;QACzB,IACE,CAAC,IAAI,IAAI;YACT,OAAO,CAAC,KAAK,QAAQ;AACrB,YAAA,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACjB,YAAA,OAAQ,CAA6B,CAAC,MAAM,CAAC,KAAK,QAAQ,EAC1D;AACA,YAAA,OAAO,CAAkB;QAC3B;AACA,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,0BAA0B,CACxB,IAA2B,EAAA;QAE3B,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,+CAA+C,EAAE;AACtE,YAAA,OAAO,IAAI;QACb;QACA,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE;QACtC,IAAI,CAAC,GAAG,EAAE;AACR,YAAA,OAAO,IAAI;QACb;AACA,QAAA,IAAI;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B;YACzD,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE;AACvF,gBAAA,OAAO,IAAI;YACb;AACA,YAAA,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAA4B;YACtD,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE;YAC9E,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE;AACxE,YAAA,MAAM,QAAQ,GACZ,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI;AAC3D,kBAAE,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI;kBACrB,YAAY;AAClB,YAAA,MAAM,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA,CAAA,CAAG,GAAG,IAAI,IAAI,kBAAkB;YAC7F,IAAI,MAAM,EAAE;AACV,gBAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;YACpC;AACA,YAAA,OAAO,IAAI;QACb;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,IAAI;QACb;IACF;AAEA,IAAA,uBAAuB,CAAC,IAA2B,EAAA;QACjD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,4CAA4C,EAAE;AACnE,YAAA,OAAO,IAAI;QACb;QACA,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE;QACtC,IAAI,CAAC,GAAG,EAAE;AACR,YAAA,OAAO,IAAI;QACb;AACA,QAAA,IAAI;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B;YACzD,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE;AACvF,gBAAA,OAAO,IAAI;YACb;AACA,YAAA,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAA4B;YACtD,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE;YAC9E,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE;YACpF,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE;AAC9E,YAAA,MAAM,GAAG,GAAG,MAAM,IAAI,iBAAiB;YACvC,IAAI,MAAM,EAAE;AACV,gBAAA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE;YACxB;YACA,IAAI,QAAQ,EAAE;AACZ,gBAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE;YAC1B;AACA,YAAA,OAAO,IAAI;QACb;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,IAAI;QACb;IACF;AAEU,IAAA,6BAA6B,CAAC,OAAe,EAAA;QAKrD,MAAM,OAAO,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE;QACrC,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,EAAE;QACX;AACA,QAAA,IAAI;YACF,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B;AACxD,YAAA,IAAI,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;AAC/D,gBAAA,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;gBACzB,MAAM,GAAG,GACP,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,iBAAiB;AACjF,gBAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE;YACvB;AACA,YAAA,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE;AACpG,gBAAA,OAAO,EAAE;YACX;AACA,YAAA,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAA4B;AAC9C,YAAA,MAAM,SAAS,GACb,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,SAAS;YACjG,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,SAAS;AAC3E,YAAA,MAAM,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,GAAG,SAAS,GAAG,SAAS;YACxD,OAAO;AACL,gBAAA,IAAI,SAAS,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;AACnC,gBAAA,IAAI,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;aAC9B;QACH;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,EAAE;QACX;IACF;AAEU,IAAA,8BAA8B,CAAC,cAAuB,EAAA;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,+BAA+B,CAAC,cAAc,CAAC;QAChE,IAAI,CAAC,GAAG,EAAE;AACR,YAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC;QACjD;AACA,QAAA,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,CAAU;AACxG,QAAA,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE;AAC1B,YAAA,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAChB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;AACrC,gBAAA,OAAO,CAAC,CAAC,IAAI,EAAE;YACjB;QACF;QACA,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AAC7B,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;YAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;AAC3C,gBAAA,OAAO,IAAI,CAAC,IAAI,EAAE;YACpB;QACF;AACA,QAAA,IAAI;YACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC;QACjD;IACF;AAEQ,IAAA,+BAA+B,CAAC,cAAuB,EAAA;AAC7D,QAAA,IAAI,cAAc,IAAI,IAAI,EAAE;AAC1B,YAAA,OAAO,IAAI;QACb;AACA,QAAA,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;AACxE,YAAA,OAAO,EAAE,GAAI,cAA0C,EAAE;QAC3D;AACA,QAAA,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;AACtC,YAAA,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,EAAE;YAC/B,IAAI,CAAC,CAAC,EAAE;AACN,gBAAA,OAAO,IAAI;YACb;AACA,YAAA,IAAI;gBACF,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAY;AAClC,gBAAA,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AAC3D,oBAAA,OAAO,CAA4B;gBACrC;YACF;AAAE,YAAA,MAAM;AACN,gBAAA,OAAO,IAAI;YACb;QACF;AACA,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,mBAAmB,CAAC,cAAuB,EAAA;QACzC,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI,EAAE;AAC3D,YAAA,OAAO,EAAE;QACX;AACA,QAAA,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;AACtC,YAAA,OAAO,IAAI,CAAC,0BAA0B,CAAC,cAAc,CAAC;QACxD;AACA,QAAA,IAAI;YACF,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,MAAM,CAAC,cAAc,CAAC;QAC/B;IACF;AAEA,IAAA,oBAAoB,CAAC,OAAe,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;IACjD;AAEA,IAAA,wBAAwB,CAAC,OAAyB,EAAA;QAChD,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;QAC/F,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,EAAE,EAAE;YAClC,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,IAAI;QAC7C;QACA,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,MAAM;AAC5C,QAAA,MAAM,GAAG,GAAG,kCAAkC,CAAC,OAAO,CAAC;QACvD,IAAI,CAAC,GAAG,EAAE;AACR,YAAA,OAAO,KAAK;QACd;AACA,QAAA,IAAI;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA0B;AACvD,YAAA,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE;AACvC,gBAAA,OAAO,MAAM,CAAC,OAAO,GAAG,CAAA,EAAG,KAAK,CAAA,KAAA,CAAO,GAAG,CAAA,EAAG,KAAK,WAAW;YAC/D;QACF;AAAE,QAAA,MAAM;;QAER;AACA,QAAA,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,GAAG,CAAA,EAAG,KAAK,CAAA,GAAA,EAAM,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA,CAAA,CAAG,GAAG,CAAA,EAAG,KAAK,CAAA,GAAA,EAAM,GAAG,CAAA,CAAE;IACpF;AAEQ,IAAA,0BAA0B,CAAC,GAAW,EAAA;AAC5C,QAAA,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE;QAC1B,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,EAAE;QACX;AACA,QAAA,IAAI;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY;YAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,GAAG;QACZ;IACF;8GA9aW,2CAA2C,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2CAA2C,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yCAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAxa5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8ZT,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAEC,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,cAAc,8XACd,kCAAkC,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClC,kCAAkC,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClC,0BAA0B,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGjB,2CAA2C,EAAA,UAAA,EAAA,CAAA;kBA3avD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yCAAyC;oBACnD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8ZT,EAAA,CAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,cAAc;wBACd,kCAAkC;wBAClC,kCAAkC;wBAClC,0BAA0B;AAC3B,qBAAA;AACF,iBAAA;;;;;"}
@@ -5,7 +5,7 @@ import { createStringProperty, AXPValueWidgetComponent } from '@acorex/platform/
5
5
  import * as i0 from '@angular/core';
6
6
  import { inject, computed, signal, model, effect, untracked, ChangeDetectionStrategy, Component } from '@angular/core';
7
7
  import { get, isEqual } from 'lodash-es';
8
- import { m as AI_AGENT_CATALOG_DATASOURCE_NAME } from './acorex-modules-ai-management-acorex-modules-ai-management-Bqfx8OTv.mjs';
8
+ import { l as AI_AGENT_CATALOG_DATASOURCE_NAME } from './acorex-modules-ai-management-acorex-modules-ai-management-D7_4LOGV.mjs';
9
9
 
10
10
  //#region ---- Imports ----
11
11
  /**
@@ -33,7 +33,7 @@ function mapDelegatedParameterDefinitionsToWidgetProperties(defs) {
33
33
  const property = createStringProperty({
34
34
  name: d.name,
35
35
  title: (d.title?.trim() || d.name),
36
- path: d.name,
36
+ path: `options.${d.name}`,
37
37
  group,
38
38
  visible: true,
39
39
  defaultValue: defaultStr,
@@ -101,12 +101,9 @@ class AXMAssistDelegatedAgentConfiguratorWidgetEditComponent extends AXPValueWid
101
101
  if (!id) {
102
102
  continue;
103
103
  }
104
- const titleRaw = get(row, 'title');
105
- const title = titleRaw != null ? String(titleRaw).trim() : id;
106
- const descriptionRaw = get(row, 'description');
107
- const description = descriptionRaw != null ? String(descriptionRaw) : undefined;
108
- const iconRaw = get(row, 'icon');
109
- const icon = iconRaw != null ? String(iconRaw) : undefined;
104
+ const title = get(row, 'title');
105
+ const description = get(row, 'description');
106
+ const icon = get(row, 'icon');
110
107
  const propertyDefinitions = resolvePropertyDefinitions(get(row, 'parameterDefinitions'));
111
108
  list.push({ id, title, description, icon, propertyDefinitions });
112
109
  }
@@ -280,4 +277,4 @@ function resolvePropertyDefinitions(rawValue) {
280
277
  }
281
278
 
282
279
  export { AXMAssistDelegatedAgentConfiguratorWidgetEditComponent };
283
- //# sourceMappingURL=acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-BDcW8BRI.mjs.map
280
+ //# sourceMappingURL=acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-BozVAuLO.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-BozVAuLO.mjs","sources":["../../../../libs/modules/ai-management/src/lib/features/assist-delegated-agent-configurator/delegated-parameter-definitions-to-widget-properties.ts","../../../../libs/modules/ai-management/src/lib/features/assist-delegated-agent-configurator/assist-delegated-agent-configurator-widget-edit.component.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPWidgetProperty, AXPWidgetPropertyGroup, createStringProperty } from '@acorex/platform/layout/widget-core';\n\n//#endregion\n\n//#region ---- Delegated definitions → property viewer ----\n\ntype DelegatedParameterDefinition = {\n name: string;\n binding: string;\n title?: string;\n description?: string;\n defaultValue?: unknown;\n group?: { name: string; title: string; order?: number };\n};\n\n/**\n * Maps delegated parameter definitions to property-viewer compatible fields.\n */\nexport function mapDelegatedParameterDefinitionsToWidgetProperties(\n defs: ReadonlyArray<DelegatedParameterDefinition>,\n): AXPWidgetProperty[] {\n const defaultGroup: AXPWidgetPropertyGroup = {\n name: 'delegated-agent-parameters',\n title: 'Delegated parameters',\n order: 1,\n };\n\n const filtered = defs.filter((d) => d.binding === 'assist_locked' || d.binding === 'assist_default');\n const source =\n filtered.length > 0\n ? filtered\n : [{ name: 'query', binding: 'assist_default', title: 'Query', description: '' }];\n\n return source.map((d) => {\n const group: AXPWidgetPropertyGroup = d.group\n ? {\n name: d.group.name,\n title: d.group.title,\n order: d.group.order ?? 0,\n }\n : defaultGroup;\n\n const defaultStr =\n d.defaultValue !== undefined && d.defaultValue !== null ? String(d.defaultValue) : undefined;\n\n const property = createStringProperty({\n name: d.name,\n title: (d.title?.trim() || d.name) as string,\n path: `options.${d.name}`,\n group,\n visible: true,\n defaultValue: defaultStr,\n });\n\n const desc = typeof d.description === 'string' ? d.description.trim() : '';\n return desc ? { ...property, description: desc } : property;\n });\n}\n\nexport function isDelegatedParameterDefinitionList(value: unknown): value is DelegatedParameterDefinition[] {\n if (!Array.isArray(value) || value.length === 0) {\n return false;\n }\n\n const first = value[0];\n if (first == null || typeof first !== 'object' || Array.isArray(first)) {\n return false;\n }\n\n return (\n typeof (first as Record<string, unknown>)['name'] === 'string' &&\n typeof (first as Record<string, unknown>)['binding'] === 'string' &&\n !('schema' in (first as object))\n );\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXTranslationService } from '@acorex/core/translation';\nimport {\n AXPDataSourceDefinitionProviderService,\n AXPMultiLanguageString,\n sortByMultiLanguageString,\n type AXPOptionsData,\n} from '@acorex/platform/core';\nimport { AXPItemConfiguratorComponent, ItemConfiguratorListItem } from '@acorex/platform/layout/components';\nimport { AXPValueWidgetComponent, AXPWidgetNode, AXPWidgetProperty } from '@acorex/platform/layout/widget-core';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, model, signal, untracked } from '@angular/core';\nimport { get, isEqual } from 'lodash-es';\nimport { AI_AGENT_CATALOG_DATASOURCE_NAME } from '../../datasources/ai-agent-catalog.datasource';\nimport {\n isDelegatedParameterDefinitionList,\n mapDelegatedParameterDefinitionsToWidgetProperties,\n} from './delegated-parameter-definitions-to-widget-properties';\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axm-assist-delegated-agent-configurator-widget-edit',\n template: `\n @if (isInitialized()) {\n <axp-item-configurator\n [(selectedItemId)]=\"selectedItemIdModel\"\n [(values)]=\"valuesModel\"\n [label]=\"label()\"\n [readonly]=\"readonly()\"\n [items]=\"listItems()\"\n ></axp-item-configurator>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXPItemConfiguratorComponent],\n})\nexport class AXMAssistDelegatedAgentConfiguratorWidgetEditComponent extends AXPValueWidgetComponent<AXPWidgetNode> {\n //#region ---- Services & Dependencies ----\n\n private readonly dataSourceDefinitionService = inject(AXPDataSourceDefinitionProviderService);\n private readonly translation = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n protected readonly = computed<boolean>(() => {\n const raw = this.options()['readonly'];\n if (typeof raw === 'string') {\n const normalized = raw.trim().toLowerCase();\n if (normalized === 'true') {\n return true;\n }\n if (normalized === 'false') {\n return false;\n }\n }\n return raw === true;\n });\n\n protected label = computed<string>(() => {\n const v = this.options()['label'];\n return typeof v === 'string' && v.trim() ? v.trim() : '@ai-management:assists.entities.assist.fields.delegated-agent.title';\n });\n\n private readonly dataSourceName = computed<string>(() => {\n const ds = this.options()['dataSource'];\n if (typeof ds === 'string' && ds.trim() !== '') {\n return ds.trim();\n }\n return AI_AGENT_CATALOG_DATASOURCE_NAME;\n });\n\n private readonly asyncNamedDataSourceItems = signal<unknown[] | undefined>(undefined);\n\n protected listItems = computed<ItemConfiguratorListItem[]>(() => {\n const rows = this.asyncNamedDataSourceItems() ?? [];\n const list: ItemConfiguratorListItem[] = [];\n\n for (const row of rows) {\n const idRaw = get(row as object, 'id');\n const id = idRaw != null ? String(idRaw).trim() : '';\n if (!id) {\n continue;\n }\n\n const title = get(row as object, 'title') as unknown as AXPMultiLanguageString;\n const description = get(row as object, 'description') as unknown as AXPMultiLanguageString;\n const icon = get(row as object, 'icon') as unknown as string;\n const propertyDefinitions = resolvePropertyDefinitions(get(row as object, 'parameterDefinitions'));\n\n list.push({ id, title, description, icon, propertyDefinitions });\n }\n\n return sortByMultiLanguageString(list, (item) => item.title, this.translation.getActiveLang());\n });\n\n //#endregion\n\n //#region ---- State ----\n\n protected isInitialized = signal(false);\n\n //#endregion\n\n //#region ---- Models ----\n\n protected selectedItemIdModel = model<string>('');\n protected valuesModel = model<Record<string, unknown>>({});\n\n //#endregion\n\n //#region ---- Effects ----\n\n private loadNamedDataSourceEffect = effect((onCleanup) => {\n const name = this.dataSourceName();\n let cancelled = false;\n onCleanup(() => {\n cancelled = true;\n });\n\n void (async () => {\n try {\n const def = await this.dataSourceDefinitionService.get(name);\n if (cancelled) {\n return;\n }\n if (!def?.source) {\n this.asyncNamedDataSourceItems.set([]);\n return;\n }\n\n const source = def.source();\n const dataSource = source instanceof Promise ? await source : source;\n if (!dataSource) {\n this.asyncNamedDataSourceItems.set([]);\n return;\n }\n\n const dataSourceAny = dataSource as unknown as {\n config?: { load?: (event: unknown) => Promise<{ items?: unknown[] }> };\n };\n if (!dataSourceAny.config?.load) {\n this.asyncNamedDataSourceItems.set([]);\n return;\n }\n\n const loaded = await dataSourceAny.config.load({ skip: 0, take: 500 });\n if (cancelled) {\n return;\n }\n this.asyncNamedDataSourceItems.set(loaded.items ?? []);\n } catch {\n if (!cancelled) {\n this.asyncNamedDataSourceItems.set([]);\n }\n }\n })();\n });\n\n private syncValueToConfigurator = effect(() => {\n const value = this.getValue();\n\n if (value && value.type) {\n const currentSelected = untracked(() => this.selectedItemIdModel());\n const currentValues = untracked(() => this.valuesModel());\n const nextOptions = (value.options ?? {}) as Record<string, unknown>;\n\n if (value.type !== currentSelected || !isEqual(nextOptions, currentValues)) {\n untracked(() => {\n this.selectedItemIdModel.set(value.type);\n this.valuesModel.set(nextOptions);\n this.isInitialized.set(true);\n });\n }\n return;\n }\n\n untracked(() => {\n if (!this.isInitialized()) {\n this.selectedItemIdModel.set('');\n this.valuesModel.set({});\n this.isInitialized.set(true);\n }\n });\n });\n\n private syncConfiguratorToValue = effect(() => {\n const selectedId = this.selectedItemIdModel();\n const values = this.valuesModel();\n\n if (!untracked(() => this.isInitialized())) {\n return;\n }\n\n const currentValue = untracked(() => this.getValue());\n const empty: AXPWidgetNode = { type: '', options: {} };\n\n if (!selectedId) {\n if (!isEqual(currentValue ?? empty, empty)) {\n untracked(() => {\n this.setValue(empty);\n });\n }\n return;\n }\n\n const next: AXPWidgetNode = {\n ...(currentValue && typeof currentValue === 'object' ? currentValue : {}),\n type: selectedId,\n options: values as AXPOptionsData,\n };\n\n if (!isEqual(next, currentValue)) {\n untracked(() => {\n this.setValue(next);\n });\n }\n });\n\n //#endregion\n}\n\n//#endregion\n\n//#region ---- Helpers ----\n\nfunction tryParseJsonIfString(value: unknown): unknown {\n if (typeof value === 'string' && value.trim() !== '') {\n try {\n return JSON.parse(value) as unknown;\n } catch {\n return value;\n }\n }\n return value;\n}\n\nfunction isWidgetPropertyArray(value: unknown): value is AXPWidgetProperty[] {\n if (!Array.isArray(value) || value.length === 0) {\n return false;\n }\n\n return value.every(\n (item) =>\n item != null &&\n typeof item === 'object' &&\n 'name' in item &&\n typeof (item as AXPWidgetProperty).name === 'string' &&\n 'schema' in item &&\n 'group' in item,\n );\n}\n\nfunction resolvePropertyDefinitions(rawValue: unknown): AXPWidgetProperty[] {\n const parsed = tryParseJsonIfString(rawValue);\n\n if (isWidgetPropertyArray(parsed)) {\n return parsed;\n }\n\n if (isDelegatedParameterDefinitionList(parsed)) {\n return mapDelegatedParameterDefinitionsToWidgetProperties(parsed);\n }\n\n return [];\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}