@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
@@ -10,7 +10,7 @@ import { CommonModule, AsyncPipe, DatePipe } from '@angular/common';
10
10
  import * as i0 from '@angular/core';
11
11
  import { Injectable, NgModule, inject, output, signal, viewChild, computed, effect, untracked, ChangeDetectionStrategy, Component, input, afterNextRender, DestroyRef, ElementRef, ViewEncapsulation, SecurityContext, Injector, importProvidersFrom } from '@angular/core';
12
12
  import { Router, ActivatedRoute, RouterModule, ROUTES } from '@angular/router';
13
- import * as i1$4 from '@acorex/platform/layout/widget-core';
13
+ import * as i1$3 from '@acorex/platform/layout/widget-core';
14
14
  import { AXPWidgetsCatalog, AXPValueWidgetComponent, AXPWidgetGroupEnum, AXPWidgetCoreModule, AXP_WIDGET_DEFINITION_PROVIDER } from '@acorex/platform/layout/widget-core';
15
15
  import * as i1$6 from '@acorex/platform/workflow';
16
16
  import { AXPWorkflowAction, AXPWorkflowModule } from '@acorex/platform/workflow';
@@ -19,7 +19,7 @@ import { AXMUsersEntityService } from '@acorex/modules/security-management';
19
19
  import { Subject, map, filter, merge, auditTime } from 'rxjs';
20
20
  import * as i2 from '@acorex/components/button';
21
21
  import { AXButtonModule, AXButtonComponent } from '@acorex/components/button';
22
- import { AXConversationService, AXNewConversationDialogComponent, AXConversationContainerDirective, AXSidebarComponent, AXInfoBarComponent, AXMessageListComponent, AXComposerComponent, AXUserApi, AXConversationApi, AXMessageApi, AXRealtimeApi, AXConversationStoreService, conversationSharedStorage, axConversationIndexedDbStorage, AXImageRendererComponent, AXTextRendererComponent, provideConversation, AX_CONVERSATION_ITEM_MUTE_ACTION, AX_CONVERSATION_ITEM_PIN_ACTION, AX_CONVERSATION_ITEM_MARK_READ_ACTION, AX_CONVERSATION_ITEM_DIVIDER, AX_CONVERSATION_ITEM_DELETE_ACTION, AX_CONVERSATION_ITEM_BLOCK_ACTION, AX_CONVERSATION_INFO_BAR_SEARCH_ACTION, AX_CONVERSATION_INFO_BAR_INFO_ACTION, AX_CONVERSATION_INFO_BAR_MUTE_ACTION, AX_CONVERSATION_INFO_BAR_DIVIDER, AX_CONVERSATION_INFO_BAR_DELETE_ACTION, AX_CONVERSATION_INFO_BAR_BLOCK_ACTION, AX_CONVERSATION_TAB_ALL, AX_CONVERSATION_TAB_PRIVATE, AX_CONVERSATION_TAB_GROUPS, AX_CONVERSATION_TAB_CHANNELS, AX_CONVERSATION_TAB_UNREAD, AX_CONVERSATION_TAB_ARCHIVED, AX_CONVERSATION_COMPOSER_EMOJI_TAB, AX_CONVERSATION_COMPOSER_STICKER_TAB, AX_CONVERSATION_COMPOSER_EMOJI_ACTION, AX_CONVERSATION_COMPOSER_IMAGE_ACTION, AX_CONVERSATION_COMPOSER_VIDEO_ACTION, AX_CONVERSATION_COMPOSER_FILE_ACTION, AX_CONVERSATION_COMPOSER_VOICE_RECORDING_ACTION, AX_CONVERSATION_COMPOSER_AUDIO_ACTION, AX_CONVERSATION_COMPOSER_LOCATION_ACTION, AX_CONVERSATION_MESSAGE_REPLY_ACTION, AX_CONVERSATION_MESSAGE_FORWARD_ACTION, AX_CONVERSATION_MESSAGE_EDIT_ACTION, AX_CONVERSATION_MESSAGE_DELETE_ACTION, AXComposerService, AX_CONVERSATION_TEXT_RENDERER, AX_CONVERSATION_IMAGE_RENDERER, AX_CONVERSATION_VIDEO_RENDERER, AX_CONVERSATION_AUDIO_RENDERER, AX_CONVERSATION_VOICE_RENDERER, AX_CONVERSATION_FILE_RENDERER, AX_CONVERSATION_LOCATION_RENDERER, AX_CONVERSATION_STICKER_RENDERER } from '@acorex/components/conversation2';
22
+ import { AXConversationService, AXNewConversationDialogComponent, AXConversationContainerDirective, AXSidebarComponent, AXInfoBarComponent, AXMessageListComponent, AXComposerComponent, AXUserApi, AXConversationApi, AXMessageApi, AXRealtimeApi, conversationSharedStorage, axConversationIndexedDbStorage, AXImageRendererComponent, AXTextRendererComponent, provideConversation, AX_CONVERSATION_ITEM_MUTE_ACTION, AX_CONVERSATION_ITEM_PIN_ACTION, AX_CONVERSATION_ITEM_MARK_READ_ACTION, AX_CONVERSATION_ITEM_DIVIDER, AX_CONVERSATION_ITEM_DELETE_ACTION, AX_CONVERSATION_ITEM_BLOCK_ACTION, AX_CONVERSATION_INFO_BAR_SEARCH_ACTION, AX_CONVERSATION_INFO_BAR_INFO_ACTION, AX_CONVERSATION_INFO_BAR_MUTE_ACTION, AX_CONVERSATION_INFO_BAR_DIVIDER, AX_CONVERSATION_INFO_BAR_DELETE_ACTION, AX_CONVERSATION_INFO_BAR_BLOCK_ACTION, AX_CONVERSATION_TAB_ALL, AX_CONVERSATION_TAB_PRIVATE, AX_CONVERSATION_TAB_GROUPS, AX_CONVERSATION_TAB_CHANNELS, AX_CONVERSATION_TAB_UNREAD, AX_CONVERSATION_TAB_ARCHIVED, AX_CONVERSATION_COMPOSER_EMOJI_TAB, AX_CONVERSATION_COMPOSER_STICKER_TAB, AX_CONVERSATION_COMPOSER_EMOJI_ACTION, AX_CONVERSATION_COMPOSER_IMAGE_ACTION, AX_CONVERSATION_COMPOSER_VIDEO_ACTION, AX_CONVERSATION_COMPOSER_FILE_ACTION, AX_CONVERSATION_COMPOSER_VOICE_RECORDING_ACTION, AX_CONVERSATION_COMPOSER_AUDIO_ACTION, AX_CONVERSATION_COMPOSER_LOCATION_ACTION, AX_CONVERSATION_MESSAGE_REPLY_ACTION, AX_CONVERSATION_MESSAGE_FORWARD_ACTION, AX_CONVERSATION_MESSAGE_EDIT_ACTION, AX_CONVERSATION_MESSAGE_DELETE_ACTION, AXComposerService, AX_CONVERSATION_TEXT_RENDERER, AX_CONVERSATION_IMAGE_RENDERER, AX_CONVERSATION_VIDEO_RENDERER, AX_CONVERSATION_AUDIO_RENDERER, AX_CONVERSATION_VOICE_RENDERER, AX_CONVERSATION_FILE_RENDERER, AX_CONVERSATION_LOCATION_RENDERER, AX_CONVERSATION_STICKER_RENDERER } from '@acorex/components/conversation2';
23
23
  import { AXDialogService } from '@acorex/components/dialog';
24
24
  import * as i1$1 from '@acorex/components/decorators';
25
25
  import { AXDecoratorModule } from '@acorex/components/decorators';
@@ -58,7 +58,7 @@ import { AXSkeletonModule } from '@acorex/components/skeleton';
58
58
  import { AXToolBarModule } from '@acorex/components/toolbar';
59
59
  import * as i9 from '@acorex/core/format';
60
60
  import { AXFormatModule } from '@acorex/core/format';
61
- import * as i1$3 from '@acorex/cdk/accordion';
61
+ import * as i1$4 from '@acorex/cdk/accordion';
62
62
  import { AXAccordionCdkModule } from '@acorex/cdk/accordion';
63
63
  import * as i2$2 from '@acorex/components/badge';
64
64
  import { AXBadgeModule } from '@acorex/components/badge';
@@ -1927,6 +1927,7 @@ class AXMChatWithAssistDialogComponent extends AXBasePageComponent {
1927
1927
  async loadAssistsFromApi() {
1928
1928
  this.loading.set(true);
1929
1929
  try {
1930
+ //TODO: use .withEntity().data() instead of entityRegistry.resolve()
1930
1931
  const entity = await this.entityRegistry.resolve(RootConfig$1.module.name, RootConfig$1.entities.assist.name);
1931
1932
  const execute = entity.queries?.list?.execute;
1932
1933
  if (!execute) {
@@ -1937,7 +1938,7 @@ class AXMChatWithAssistDialogComponent extends AXBasePageComponent {
1937
1938
  take: 500,
1938
1939
  sort: [{ name: 'name', dir: 'asc' }],
1939
1940
  });
1940
- this.rows.set((res.items ?? []).map((raw) => this.normalizeRow(raw)));
1941
+ this.rows.set((res.items ?? []));
1941
1942
  }
1942
1943
  catch (error) {
1943
1944
  console.error('Failed to load assists:', error);
@@ -1959,16 +1960,8 @@ class AXMChatWithAssistDialogComponent extends AXBasePageComponent {
1959
1960
  r.title.toLowerCase().includes(q) ||
1960
1961
  (r.description?.toLowerCase().includes(q) ?? false));
1961
1962
  }
1962
- normalizeRow(raw) {
1963
- const id = String(raw['id'] ?? '');
1964
- const name = String(raw['name'] ?? '');
1965
- const title = String(raw['title'] ?? name);
1966
- const description = raw['description'] != null ? String(raw['description']) : undefined;
1967
- const professionImageUrl = raw['professionImageUrl'] != null ? String(raw['professionImageUrl']) : undefined;
1968
- return { id, name, title, description, professionImageUrl };
1969
- }
1970
1963
  displayName(row) {
1971
- return row.title?.trim() || row.name?.trim() || row.id;
1964
+ return this.translationService.resolve(row.title)?.trim() || row.name?.trim() || row.id;
1972
1965
  }
1973
1966
  assistAvatarUrl(row) {
1974
1967
  const avatarUrl = row.professionImageUrl?.trim();
@@ -2085,7 +2078,7 @@ class AXMChatWithAssistDialogComponent extends AXBasePageComponent {
2085
2078
  <!-- <input class="ax-checkbox" type="checkbox" [checked]="isAssistSelected(row.id)" tabindex="0" /> -->
2086
2079
  <ax-avatar [size]="54">
2087
2080
  @if (assistAvatarUrl(row); as avatarUrl) {
2088
- <ax-image [src]="avatarUrl" [alt]="displayName(row)"></ax-image>
2081
+ <ax-image [src]="avatarUrl" [alt]="displayName(row) | translate | async"></ax-image>
2089
2082
  } @else {
2090
2083
  <ax-icon
2091
2084
  ><i
@@ -2102,9 +2095,9 @@ class AXMChatWithAssistDialogComponent extends AXBasePageComponent {
2102
2095
  }
2103
2096
  </ax-avatar>
2104
2097
  <div class="user-item-text">
2105
- <span class="ax-truncated user-name-text">{{ displayName(row) }}</span>
2098
+ <span class="ax-truncated user-name-text">{{ displayName(row) | translate | async }}</span>
2106
2099
  @if (row.description) {
2107
- <span class="user-description-text ax-truncated">{{ row.description }}</span>
2100
+ <span class="user-description-text ax-truncated">{{ row.description | translate | async }}</span>
2108
2101
  }
2109
2102
  </div>
2110
2103
  </div>
@@ -2192,7 +2185,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
2192
2185
  <!-- <input class="ax-checkbox" type="checkbox" [checked]="isAssistSelected(row.id)" tabindex="0" /> -->
2193
2186
  <ax-avatar [size]="54">
2194
2187
  @if (assistAvatarUrl(row); as avatarUrl) {
2195
- <ax-image [src]="avatarUrl" [alt]="displayName(row)"></ax-image>
2188
+ <ax-image [src]="avatarUrl" [alt]="displayName(row) | translate | async"></ax-image>
2196
2189
  } @else {
2197
2190
  <ax-icon
2198
2191
  ><i
@@ -2209,9 +2202,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
2209
2202
  }
2210
2203
  </ax-avatar>
2211
2204
  <div class="user-item-text">
2212
- <span class="ax-truncated user-name-text">{{ displayName(row) }}</span>
2205
+ <span class="ax-truncated user-name-text">{{ displayName(row) | translate | async }}</span>
2213
2206
  @if (row.description) {
2214
- <span class="user-description-text ax-truncated">{{ row.description }}</span>
2207
+ <span class="user-description-text ax-truncated">{{ row.description | translate | async }}</span>
2215
2208
  }
2216
2209
  </div>
2217
2210
  </div>
@@ -3658,7 +3651,6 @@ class AXMChatInfoBarAssistModelActionComponent {
3658
3651
  //#endregion
3659
3652
  //#region ---- Services & Dependencies ----
3660
3653
  this.modelCatalog = inject(AXPAiAssistChatModelCatalogService);
3661
- this.conversationStore = inject(AXConversationStoreService);
3662
3654
  this.entityService = inject(AXPEntityService);
3663
3655
  this.settingsService = inject(AXPSettingsService);
3664
3656
  this.debugModeEnabled = signal(false, ...(ngDevMode ? [{ debugName: "debugModeEnabled" }] : /* istanbul ignore next */ []));
@@ -3729,9 +3721,6 @@ class AXMChatInfoBarAssistModelActionComponent {
3729
3721
  }
3730
3722
  /** Writes modelEntityId into conversation metadata (in-memory store + IndexedDB). */
3731
3723
  persistModelToMetadata(conversationId, modelEntityId) {
3732
- this.conversationStore.updateConversation(conversationId, {
3733
- metadata: { modelEntityId },
3734
- });
3735
3724
  const stored = conversationSharedStorage.conversations.get(conversationId);
3736
3725
  if (stored) {
3737
3726
  stored.metadata = { ...(stored.metadata ?? {}), modelEntityId };
@@ -3905,17 +3894,46 @@ function axmReadAssistAiTranscript(metadata) {
3905
3894
  }
3906
3895
  //#endregion
3907
3896
  //#region ---- Layout / synthetic helpers ----
3897
+ /**
3898
+ * Transcript response discriminators ({@link AXPAiChatResponse} `type` values).
3899
+ * These must not be treated as {@link AXPWidgetNode} `type` when coercing unknown JSON.
3900
+ */
3901
+ const AXM_ASSIST_TRANSCRIPT_NON_WIDGET_TYPES = new Set([
3902
+ 'text',
3903
+ 'think',
3904
+ 'image',
3905
+ 'audio',
3906
+ 'file',
3907
+ 'tool',
3908
+ 'agent',
3909
+ 'tool_result',
3910
+ 'agent_result',
3911
+ ]);
3912
+ const AXM_ASSIST_NODE_ENVELOPE_UNWRAP_MAX_DEPTH = 6;
3908
3913
  /**
3909
3914
  * Returns `content` as an {@link AXPWidgetNode} when it looks like a widget tree.
3915
+ * Rejects assistant transcript segment shapes (e.g. `{ type: 'text', content: '...' }`) and unwraps
3916
+ * a single `{ type: 'node', content: <widget> }` envelope if present.
3910
3917
  */
3911
- function axmAssistWidgetNodeFromUnknown(content) {
3912
- if (content != null &&
3913
- typeof content === 'object' &&
3914
- !Array.isArray(content) &&
3915
- typeof content['type'] === 'string') {
3916
- return content;
3918
+ function axmAssistWidgetNodeFromUnknown(content, depth = 0) {
3919
+ if (depth > AXM_ASSIST_NODE_ENVELOPE_UNWRAP_MAX_DEPTH) {
3920
+ return null;
3917
3921
  }
3918
- return null;
3922
+ if (content == null || typeof content !== 'object' || Array.isArray(content)) {
3923
+ return null;
3924
+ }
3925
+ const rec = content;
3926
+ const t = rec['type'];
3927
+ if (typeof t !== 'string') {
3928
+ return null;
3929
+ }
3930
+ if (t === 'node' && 'content' in rec) {
3931
+ return axmAssistWidgetNodeFromUnknown(rec['content'], depth + 1);
3932
+ }
3933
+ if (AXM_ASSIST_TRANSCRIPT_NON_WIDGET_TYPES.has(t)) {
3934
+ return null;
3935
+ }
3936
+ return content;
3919
3937
  }
3920
3938
  /**
3921
3939
  * Returns the first `node` segment's content as an {@link AXPWidgetNode} when it looks like a widget tree.
@@ -4089,8 +4107,10 @@ function renderInlineMarkdown(raw) {
4089
4107
  function normalizeInput(raw) {
4090
4108
  return (raw ?? '')
4091
4109
  .replace(/\r\n/g, '\n')
4092
- .replace(/<\s*br\s*\/?\s*>/gi, '\n')
4093
- .replace(/&lt;\s*br\s*\/?\s*&gt;/gi, '\n')
4110
+ // Line breaks: any HTML <br> variant (with attributes, XHTML-style, case-insensitive).
4111
+ .replace(/<\s*br\b[^>]*>/gi, '\n')
4112
+ // Same when the tag was HTML-escaped in the source (e.g. rich text or double-encoded snippets).
4113
+ .replace(/&lt;\s*br\b[\s\S]*?&gt;/gi, '\n')
4094
4114
  .replace(/\n?<\s*hr\s*\/?\s*>\n?/gi, '\n\n---\n\n')
4095
4115
  .replace(/\t/g, ' ')
4096
4116
  .trim();
@@ -4245,6 +4265,206 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
4245
4265
  `, styles: [":host{display:block;max-inline-size:min(100%,40rem)}.axm-assist-bot-image-line__err{margin:0;font-size:.8125rem;color:rgb(var(--ax-sys-color-danger-600, 220 38 38))}\n"] }]
4246
4266
  }], ctorParameters: () => [], propDecorators: { parentMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentMessage", required: true }] }], fileId: [{ type: i0.Input, args: [{ isSignal: true, alias: "fileId", required: true }] }], mimeType: [{ type: i0.Input, args: [{ isSignal: true, alias: "mimeType", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }] } });
4247
4267
 
4268
+ class AXMNodeMessageRendererComponent {
4269
+ constructor() {
4270
+ //#region ---- Inputs & Outputs ----
4271
+ this.message = input.required(...(ngDevMode ? [{ debugName: "message" }] : /* istanbul ignore next */ []));
4272
+ this.node = input(undefined, ...(ngDevMode ? [{ debugName: "node" }] : /* istanbul ignore next */ []));
4273
+ this.formSubmitted = output();
4274
+ //#endregion
4275
+ //#region ---- State ----
4276
+ this.contentState = signal('none', ...(ngDevMode ? [{ debugName: "contentState" }] : /* istanbul ignore next */ []));
4277
+ this.formContext = signal({}, ...(ngDevMode ? [{ debugName: "formContext" }] : /* istanbul ignore next */ []));
4278
+ this.isSubmitted = computed(() => this.readSubmittedState(this.message()), ...(ngDevMode ? [{ debugName: "isSubmitted" }] : /* istanbul ignore next */ []));
4279
+ this.isAssistEmbed = computed(() => this.readAssistEmbedFlag(this.message().metadata), ...(ngDevMode ? [{ debugName: "isAssistEmbed" }] : /* istanbul ignore next */ []));
4280
+ this.rendererState = computed(() => ({
4281
+ deliveryStatus: this.message().status,
4282
+ contentState: this.contentState(),
4283
+ }), ...(ngDevMode ? [{ debugName: "rendererState" }] : /* istanbul ignore next */ []));
4284
+ this.resolvedNode = computed(() => {
4285
+ const message = this.message();
4286
+ const payload = message.payload;
4287
+ if (this.isUserFormPayload(payload)) {
4288
+ return payload.node;
4289
+ }
4290
+ // Only treat `{ type: 'node', content }` when the chat message itself is a `node` message.
4291
+ if (message.type === 'node' && this.isNodeContentPayload(payload)) {
4292
+ const parsed = axmAssistWidgetNodeFromUnknown(payload.content);
4293
+ if (parsed) {
4294
+ return parsed;
4295
+ }
4296
+ if (this.readAssistEmbedFlag(message.metadata)) {
4297
+ // Assist embed: do not fall back to a synthetic name field (avoids a duplicate/spurious form).
4298
+ return {
4299
+ type: 'flex-layout',
4300
+ name: 'assist-node-empty',
4301
+ visible: false,
4302
+ children: [],
4303
+ };
4304
+ }
4305
+ }
4306
+ return this.node() ?? this.createFallbackNode();
4307
+ }, ...(ngDevMode ? [{ debugName: "resolvedNode" }] : /* istanbul ignore next */ []));
4308
+ this.submittedMessage = computed(() => {
4309
+ return '@conversation:chat.user-form.states.submitted-success';
4310
+ }, ...(ngDevMode ? [{ debugName: "submittedMessage" }] : /* istanbul ignore next */ []));
4311
+ }
4312
+ //#endregion
4313
+ //#region ---- Handlers ----
4314
+ onContextChanged(event) {
4315
+ this.formContext.set((event.data ?? {}));
4316
+ }
4317
+ submit() {
4318
+ const context = this.formContext();
4319
+ this.formSubmitted.emit(context);
4320
+ void this.persistSubmittedState(context);
4321
+ }
4322
+ //#endregion
4323
+ //#region ---- Utilities ----
4324
+ isUserFormPayload(payload) {
4325
+ return (typeof payload === 'object' &&
4326
+ payload != null &&
4327
+ 'type' in payload &&
4328
+ payload.type === 'user-form' &&
4329
+ 'node' in payload);
4330
+ }
4331
+ isNodeContentPayload(payload) {
4332
+ return (typeof payload === 'object' &&
4333
+ payload != null &&
4334
+ 'type' in payload &&
4335
+ payload.type === 'node' &&
4336
+ 'content' in payload);
4337
+ }
4338
+ readAssistEmbedFlag(metadata) {
4339
+ if (typeof metadata !== 'object' || metadata == null) {
4340
+ return false;
4341
+ }
4342
+ return metadata['assistEmbed'] === true;
4343
+ }
4344
+ createFallbackNode() {
4345
+ return {
4346
+ type: 'text-editor',
4347
+ path: 'form.name',
4348
+ name: 'name',
4349
+ options: { placeholder: '@conversation:chat.user-form.fields.name.placeholder' },
4350
+ };
4351
+ }
4352
+ readSubmittedState(message) {
4353
+ const metadata = this.readUserFormMetadata(message.metadata);
4354
+ return metadata?.submitted === true;
4355
+ }
4356
+ readPersistedContext(message) {
4357
+ const metadata = this.readUserFormMetadata(message.metadata);
4358
+ if (!metadata?.context || typeof metadata.context !== 'object') {
4359
+ return null;
4360
+ }
4361
+ return metadata.context;
4362
+ }
4363
+ readUserFormMetadata(metadata) {
4364
+ if (typeof metadata !== 'object' || metadata == null) {
4365
+ return null;
4366
+ }
4367
+ const candidate = metadata['userForm'];
4368
+ if (typeof candidate !== 'object' || candidate == null) {
4369
+ return null;
4370
+ }
4371
+ return candidate;
4372
+ }
4373
+ async persistSubmittedState(context) {
4374
+ const message = this.message();
4375
+ const payload = this.message().payload;
4376
+ const payloadWithValue = this.isUserFormPayload(payload)
4377
+ ? { ...payload, value: context }
4378
+ : this.message().payload;
4379
+ const updatedMessage = {
4380
+ ...message,
4381
+ payload: payloadWithValue,
4382
+ metadata: {
4383
+ ...(message.metadata ?? {}),
4384
+ userForm: {
4385
+ submitted: true,
4386
+ context,
4387
+ },
4388
+ },
4389
+ };
4390
+ conversationSharedStorage.messages.set(updatedMessage.id, updatedMessage);
4391
+ await axConversationIndexedDbStorage.putMessage(updatedMessage);
4392
+ conversationSharedStorage.messageUpdates$.next(updatedMessage);
4393
+ }
4394
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMNodeMessageRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4395
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXMNodeMessageRendererComponent, isStandalone: true, selector: "axm-chat-user-form-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null }, node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { formSubmitted: "formSubmitted" }, ngImport: i0, template: `
4396
+ <div class="axm-user-form-renderer" [class.axm-user-form-renderer--assist-embed]="isAssistEmbed()">
4397
+ @if (isAssistEmbed()) {
4398
+ <axp-layout-renderer [layout]="resolvedNode()" mode="view" [context]="{}" />
4399
+ } @else if (!isSubmitted()) {
4400
+ <axp-widgets-container
4401
+ class="ax-flex ax-flex-col ax-gap-3"
4402
+ [context]="formContext()"
4403
+ (onContextChanged)="onContextChanged($event)"
4404
+ >
4405
+ <ng-container
4406
+ axp-widget-renderer
4407
+ [node]="resolvedNode()"
4408
+ [mode]="resolvedNode().mode ?? 'edit'"
4409
+ ></ng-container>
4410
+ </axp-widgets-container>
4411
+
4412
+ <div class="ax-flex ax-justify-end ax-mt-2">
4413
+ <ax-button [text]="('@conversation:chat.user-form.actions.submit' | translate | async) ?? ''" (onClick)="submit()"></ax-button>
4414
+ </div>
4415
+ } @else {
4416
+ <div
4417
+ class="ax-mt-1 ax-rounded-xl ax-border ax-border-success-500/25 ax-bg-success-500/10 ax-px-3 ax-py-2 ax-shadow-sm"
4418
+ >
4419
+ <div class="ax-text-[0.7rem] ax-font-bold ax-uppercase ax-tracking-wide ax-text-success-700">
4420
+ {{ '@conversation:chat.user-form.states.submitted' | translate | async }}
4421
+ </div>
4422
+ <div class="ax-mt-1 ax-text-sm ax-font-medium ax-text-on-surface">
4423
+ {{ (submittedMessage() | translate | async) ?? '' }}
4424
+ </div>
4425
+ </div>
4426
+ }
4427
+ </div>
4428
+ `, isInline: true, styles: [":host{display:block;inline-size:min(100%,28rem)}:host:has(.axm-user-form-renderer--assist-embed){inline-size:100%;max-inline-size:none}\n"], dependencies: [{ kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "component", type: i1$3.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i1$3.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged", "onLoad"], exportAs: ["widgetRenderer"] }, { 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: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXPLayoutRendererComponent, selector: "axp-layout-renderer", inputs: ["layout", "context", "look", "mode"], outputs: ["contextChange", "contextInitiated", "validityChange"] }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4429
+ }
4430
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMNodeMessageRendererComponent, decorators: [{
4431
+ type: Component,
4432
+ args: [{ selector: 'axm-chat-user-form-renderer', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXPWidgetCoreModule, AXButtonModule, AXTranslationModule, AXPLayoutRendererComponent, AsyncPipe], template: `
4433
+ <div class="axm-user-form-renderer" [class.axm-user-form-renderer--assist-embed]="isAssistEmbed()">
4434
+ @if (isAssistEmbed()) {
4435
+ <axp-layout-renderer [layout]="resolvedNode()" mode="view" [context]="{}" />
4436
+ } @else if (!isSubmitted()) {
4437
+ <axp-widgets-container
4438
+ class="ax-flex ax-flex-col ax-gap-3"
4439
+ [context]="formContext()"
4440
+ (onContextChanged)="onContextChanged($event)"
4441
+ >
4442
+ <ng-container
4443
+ axp-widget-renderer
4444
+ [node]="resolvedNode()"
4445
+ [mode]="resolvedNode().mode ?? 'edit'"
4446
+ ></ng-container>
4447
+ </axp-widgets-container>
4448
+
4449
+ <div class="ax-flex ax-justify-end ax-mt-2">
4450
+ <ax-button [text]="('@conversation:chat.user-form.actions.submit' | translate | async) ?? ''" (onClick)="submit()"></ax-button>
4451
+ </div>
4452
+ } @else {
4453
+ <div
4454
+ class="ax-mt-1 ax-rounded-xl ax-border ax-border-success-500/25 ax-bg-success-500/10 ax-px-3 ax-py-2 ax-shadow-sm"
4455
+ >
4456
+ <div class="ax-text-[0.7rem] ax-font-bold ax-uppercase ax-tracking-wide ax-text-success-700">
4457
+ {{ '@conversation:chat.user-form.states.submitted' | translate | async }}
4458
+ </div>
4459
+ <div class="ax-mt-1 ax-text-sm ax-font-medium ax-text-on-surface">
4460
+ {{ (submittedMessage() | translate | async) ?? '' }}
4461
+ </div>
4462
+ </div>
4463
+ }
4464
+ </div>
4465
+ `, styles: [":host{display:block;inline-size:min(100%,28rem)}:host:has(.axm-user-form-renderer--assist-embed){inline-size:100%;max-inline-size:none}\n"] }]
4466
+ }], propDecorators: { message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: true }] }], node: [{ type: i0.Input, args: [{ isSignal: true, alias: "node", required: false }] }], formSubmitted: [{ type: i0.Output, args: ["formSubmitted"] }] } });
4467
+
4248
4468
  //#region ---- Imports ----
4249
4469
  //#endregion
4250
4470
  //#region ---- Component ----
@@ -4263,6 +4483,7 @@ class AXMAssistMessageRendererComponent {
4263
4483
  this.entityService = inject(AXPEntityService);
4264
4484
  this.settingsService = inject(AXPSettingsService);
4265
4485
  this.sanitizer = inject(DomSanitizer);
4486
+ this.translation = inject(AXTranslationService);
4266
4487
  this.agentData = this.entityService
4267
4488
  .withEntity(RootConfig$1.module.name, RootConfig$1.entities.agent.name)
4268
4489
  .data();
@@ -4382,6 +4603,12 @@ class AXMAssistMessageRendererComponent {
4382
4603
  payload: { type: 'text', text },
4383
4604
  });
4384
4605
  }
4606
+ syntheticNodeEmbedMessage(lineIndex, segIndex, content) {
4607
+ return axmSyntheticEmbedMessage(this.message(), `node-${lineIndex}-${segIndex}`, {
4608
+ type: 'node',
4609
+ payload: { type: 'node', content },
4610
+ });
4611
+ }
4385
4612
  renderMarkdown(raw) {
4386
4613
  return axmRenderAssistMarkdown(raw, this.sanitizer);
4387
4614
  }
@@ -4597,7 +4824,7 @@ class AXMAssistMessageRendererComponent {
4597
4824
  void this.agentData
4598
4825
  .byKey(agentId)
4599
4826
  .then((agent) => {
4600
- const title = (agent?.title?.trim() || agent?.name?.trim() || agent?.id || agentId).trim();
4827
+ const title = (this.translation.resolve(agent?.title)?.trim() || agent?.name?.trim() || agent?.id || agentId).trim();
4601
4828
  this.agentTitleById.update((current) => ({ ...current, [agentId]: title }));
4602
4829
  })
4603
4830
  .catch(() => {
@@ -4880,7 +5107,7 @@ class AXMAssistMessageRendererComponent {
4880
5107
  ></i>
4881
5108
  <i class="fa-light fa-screwdriver-wrench axm-assist-renderer__tool-title-icon"></i>
4882
5109
  {{ resolveToolDisplayTitle(seg.content.command) }}
4883
- </span>d
5110
+ </span>
4884
5111
  </div>
4885
5112
  <span
4886
5113
  class="axm-assist-renderer__accordion-header-badge axm-assist-renderer__accordion-header-badge--primary"
@@ -5015,9 +5242,10 @@ class AXMAssistMessageRendererComponent {
5015
5242
  </div>
5016
5243
  </div>
5017
5244
  } @else if (line.role === 'assistant' && seg.type === 'node') {
5018
- @if (axmAssistWidgetNodeFromUnknown(seg.content); as layout) {
5245
+ @let assistNodeWidget = axmAssistWidgetNodeFromUnknown(seg.content);
5246
+ @if (assistNodeWidget) {
5019
5247
  <div class="axm-assist-bot__segment" dir="auto">
5020
- <axp-layout-renderer [layout]="layout" mode="view" [context]="{}" />
5248
+ <axm-chat-user-form-renderer [message]="syntheticNodeEmbedMessage(lineIndex, segIndex, seg.content)" />
5021
5249
  </div>
5022
5250
  }
5023
5251
  } @else if (line.role === 'assistant' && seg.type === 'image') {
@@ -5471,13 +5699,13 @@ class AXMAssistMessageRendererComponent {
5471
5699
  }
5472
5700
  }
5473
5701
  </div>
5474
- `, isInline: true, styles: [".axm-assist-renderer{display:flex;flex-direction:column;gap:.5rem}.axm-assist-bot{display:flex;flex-direction:column;gap:.75rem}.axm-assist-bot__segment{unicode-bidi:isolate;font-size:.95rem;line-height:1.8;letter-spacing:.002em;color:rgb(var(--ax-sys-color-on-surface));text-wrap:pretty}.axm-assist-bot__line--user{align-self:flex-end}.axm-assist-bot__line--tool-role{align-self:stretch}.axm-assist-bot__tool-result{border-radius:.5rem;border:1px solid var(--ax-color-border-default, rgba(0, 0, 0, .1));background:var(--ax-color-surface, rgba(0, 0, 0, .02));padding:.5rem .75rem}.axm-assist-bot__fallback{font-size:.88rem;line-height:1.75;white-space:pre-wrap;word-break:break-word;opacity:.9}.axm-assist-renderer__cursor{display:inline-block;inline-size:6px;block-size:1em;margin-inline-start:2px;background:var(--ax-color-primary-500);border-radius:1px;animation:axm-blink .8s steps(2) infinite;vertical-align:text-bottom}@keyframes axm-blink{0%{opacity:1}50%{opacity:0}}.axm-assist-renderer__stream-content{display:flex;flex-direction:column;gap:.5rem}.axm-assist-renderer__streaming-activity{display:flex;align-items:center;gap:.5rem;padding-block:.15rem}.axm-assist-renderer__activity-label{line-height:1.45}.axm-assist-renderer__text{white-space:pre-line;word-break:break-word;line-height:1.85;font-size:.95rem;letter-spacing:.002em;text-wrap:pretty}.axm-assist-bot__segment ax-conversation-text-renderer{display:block}.axm-assist-bot__segment ax-conversation-text-renderer :is(p,ul,ol){margin-block:.45rem}.axm-assist-bot__segment ax-conversation-text-renderer li{line-height:1.8}.axm-assist-renderer__markdown :is(h1,h2,h3,h4,h5,h6){margin:.55rem 0 .35rem;line-height:1.35;font-weight:600}.axm-assist-renderer__markdown p{margin:.35rem 0}.axm-assist-renderer__markdown ul{margin:.4rem 0;padding-inline-start:1.1rem}.axm-assist-renderer__markdown blockquote{margin:.5rem 0;padding-inline:.65rem .5rem;border-inline-start:3px solid rgba(var(--ax-sys-color-primary),.35);background:rgba(var(--ax-sys-color-primary),.06);border-radius:.25rem}.axm-assist-renderer__markdown code{font-family:var(--ax-font-mono, monospace);font-size:.9em;padding:.1rem .3rem;border-radius:.25rem;background:var(--ax-color-ghost, rgba(0, 0, 0, .06))}.axm-assist-renderer__accordion-group{width:100%}.axm-assist-renderer__accordion-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem .75rem;cursor:pointer;background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}.axm-assist-renderer__accordion-header-main{min-inline-size:0;display:flex;flex-direction:column;gap:.1rem}.axm-assist-renderer__accordion-header-title{font-size:.78rem;line-height:1.2;font-weight:600;color:var(--ax-color-text-primary, #111827);display:inline-flex;align-items:center;gap:.35rem}.axm-assist-renderer__accordion-header-badge{flex-shrink:0}.axm-assist-renderer__accordion-header-badge--primary{background:rgba(var(--ax-sys-color-primary),.12);border-color:rgba(var(--ax-sys-color-primary),.25);color:rgb(var(--ax-sys-color-primary))}.axm-assist-renderer__accordion-header-badge--success{background:#16a34a1f;border-color:#16a34a40;color:#15803d}.axm-assist-renderer__accordion-header-badge--danger{background:#dc26261f;border-color:#dc262640;color:#b91c1c}.axm-assist-renderer__accordion-header--thinking{background:linear-gradient(180deg,#f59e0b1f,#f59e0b0a),var(--ax-color-surface, #fff)}.axm-assist-renderer__thinking-chevron{display:inline-block;font-size:.65rem;opacity:.75;transition:transform .2s ease;line-height:1;flex-shrink:0}.axm-assist-renderer__thinking-chevron--expanded{transform:rotate(180deg)}.axm-assist-renderer__thinking-body{padding:0 .75rem .625rem;font-size:.75rem;color:var(--ax-color-text-muted, #888);white-space:pre-wrap;word-break:break-word;line-height:1.5;border-block-start:1px solid var(--ax-color-border-default, rgba(0, 0, 0, .06));padding-block-start:.5rem}.axm-assist-renderer__tools{display:flex;flex-direction:column;gap:.375rem}.axm-assist-renderer__tool-card{border-radius:.5rem;border:1px solid var(--ax-color-border-default, rgba(0, 0, 0, .08));background:var(--ax-color-surface, rgba(255, 255, 255, .6));overflow:hidden}.axm-assist-renderer__tool-body{padding:.5rem .75rem .625rem;border-block-start:1px solid var(--ax-color-border-default, rgba(0, 0, 0, .06));display:flex;flex-direction:column;gap:.25rem}.axm-assist-renderer__tool-section-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ax-color-text-muted, #888)}.axm-assist-renderer__tool-pre{margin:0;max-block-size:10rem;overflow:auto;border-radius:.375rem;background:var(--ax-color-ghost, rgba(0, 0, 0, .03));padding:.5rem;font-family:var(--ax-font-mono, monospace);font-size:.675rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.axm-assist-renderer__tool-editor-wrap{border-radius:.375rem;overflow:hidden}.axm-assist-renderer__waiting{display:flex;gap:.25rem;padding:.25rem 0}.axm-assist-renderer__dot{inline-size:6px;block-size:6px;border-radius:50%;background:var(--ax-color-text-muted, #999);animation:axm-blink 1.2s ease-in-out infinite}.axm-assist-renderer__dot:nth-child(2){animation-delay:.2s}.axm-assist-renderer__dot:nth-child(3){animation-delay:.4s}.axm-assist-renderer__agent-live-block{border-radius:.75rem;border:1px solid var(--ax-color-border-default, rgba(0, 0, 0, .1));background:var(--ax-color-surface, rgba(255, 255, 255, .72));padding:.75rem .875rem;display:flex;flex-direction:column;gap:.65rem;max-inline-size:min(42rem,100%)}.axm-assist-renderer__agent-live-block--in-accordion{border:none;border-radius:0;background:transparent;padding:.5rem 0 0;max-inline-size:none}.axm-assist-renderer__agent-live-header{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.axm-assist-renderer__agent-live-title{font-size:.8125rem;font-weight:600;color:var(--ax-color-text-primary, #111827);flex:1;min-inline-size:0}.axm-assist-renderer__agent-live-prompt{font-size:.8125rem;line-height:1.55;white-space:pre-wrap;word-break:break-word;padding:.5rem .75rem;border-radius:1.25rem;background:var(--ax-color-ghost, rgba(0, 0, 0, .05));align-self:flex-end;max-inline-size:min(92%,36rem)}.axm-assist-renderer__agent-live-stream{font-size:.8125rem;line-height:1.55;white-space:pre-line;word-break:break-word;padding-block-start:.15rem}.axm-assist-renderer__agent-live-nested-tools{display:flex;flex-direction:column;gap:.35rem;padding-block-start:.15rem;border-block-start:1px solid var(--ax-color-border-default, rgba(0, 0, 0, .08))}.axm-assist-renderer__agent-live-nested-row{display:flex;align-items:center;gap:.45rem;font-size:.72rem}.axm-assist-renderer__agent-live-nested-name{font-family:var(--ax-font-mono, monospace);font-size:.7rem;flex:1;min-inline-size:0;overflow:hidden;text-overflow:ellipsis}.axm-assist-renderer__agent-live-nested-status{color:var(--ax-color-text-muted, #888);flex-shrink:0}\n"], dependencies: [{ kind: "component", type: AXTextRendererComponent, selector: "ax-conversation-text-renderer", inputs: ["message"] }, { kind: "component", type: AXPLayoutRendererComponent, selector: "axp-layout-renderer", inputs: ["layout", "context", "look", "mode"], outputs: ["contextChange", "contextInitiated", "validityChange"] }, { kind: "component", type: AXMAssistBotImageLineComponent, selector: "axm-assist-bot-image-line", inputs: ["parentMessage", "fileId", "mimeType", "name"] }, { kind: "ngmodule", type: AXAccordionCdkModule }, { kind: "directive", type: i1$3.AXAccordionGroupDirective, selector: "[axAccordionGroup]", inputs: ["accordion", "activeIndex", "collapsedOnItemClick"], exportAs: ["axAccordionGroup"] }, { kind: "directive", type: i1$3.AXAccordionItemContentDirective, selector: "[axAccordionItemContent]", inputs: ["transition"], exportAs: ["axAccordionItemContent"] }, { kind: "directive", type: i1$3.AXAccordionItemHeaderDirective, selector: "[axAccordionItemHeader]", exportAs: ["axAccordionItemHeader"] }, { kind: "directive", type: i1$3.AXAccordionItemDirective, selector: "[axAccordionItem]", inputs: ["isCollapsed"], outputs: ["isCollapsedChange", "onClick"], exportAs: ["axAccordionItem"] }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i2$2.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXCodeEditorModule }, { kind: "component", type: i3$2.AXCodeEditorComponent, selector: "ax-code-editor", inputs: ["disabled", "value", "state", "name", "id", "language", "readonly", "placeholder", "lineNumbers", "lineWrapping", "tabSize", "indentWithTab", "theme", "extensions", "ariaLabel", "focusOnReady", "formatOnSave", "minRow", "customCompletions"], outputs: ["onValueChanged", "valueChange", "stateChange", "readonlyChange", "disabledChange", "ready", "save"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
5702
+ `, isInline: true, styles: [".axm-assist-renderer{display:flex;flex-direction:column;gap:.5rem}.axm-assist-bot{display:flex;flex-direction:column;gap:.75rem}.axm-assist-bot__segment{unicode-bidi:isolate;font-size:.95rem;line-height:1.8;letter-spacing:.002em;color:rgb(var(--ax-sys-color-on-surface));text-wrap:pretty}.axm-assist-bot__line--user{align-self:flex-end}.axm-assist-bot__line--tool-role{align-self:stretch}.axm-assist-bot__tool-result{border-radius:.5rem;border:1px solid var(--ax-color-border-default, rgba(0, 0, 0, .1));background:var(--ax-color-surface, rgba(0, 0, 0, .02));padding:.5rem .75rem}.axm-assist-bot__fallback{font-size:.88rem;line-height:1.75;white-space:pre-wrap;word-break:break-word;opacity:.9}.axm-assist-renderer__cursor{display:inline-block;inline-size:6px;block-size:1em;margin-inline-start:2px;background:var(--ax-color-primary-500);border-radius:1px;animation:axm-blink .8s steps(2) infinite;vertical-align:text-bottom}@keyframes axm-blink{0%{opacity:1}50%{opacity:0}}.axm-assist-renderer__stream-content{display:flex;flex-direction:column;gap:.5rem}.axm-assist-renderer__streaming-activity{display:flex;align-items:center;gap:.5rem;padding-block:.15rem}.axm-assist-renderer__activity-label{line-height:1.45}.axm-assist-renderer__text{white-space:pre-line;word-break:break-word;line-height:1.85;font-size:.95rem;letter-spacing:.002em;text-wrap:pretty}.axm-assist-bot__segment ax-conversation-text-renderer{display:block}.axm-assist-bot__segment ax-conversation-text-renderer :is(p,ul,ol){margin-block:.45rem}.axm-assist-bot__segment ax-conversation-text-renderer li{line-height:1.8}.axm-assist-renderer__markdown :is(h1,h2,h3,h4,h5,h6){margin:.55rem 0 .35rem;line-height:1.35;font-weight:600}.axm-assist-renderer__markdown p{margin:.35rem 0}.axm-assist-renderer__markdown ul{margin:.4rem 0;padding-inline-start:1.1rem}.axm-assist-renderer__markdown blockquote{margin:.5rem 0;padding-inline:.65rem .5rem;border-inline-start:3px solid rgba(var(--ax-sys-color-primary),.35);background:rgba(var(--ax-sys-color-primary),.06);border-radius:.25rem}.axm-assist-renderer__markdown code{font-family:var(--ax-font-mono, monospace);font-size:.9em;padding:.1rem .3rem;border-radius:.25rem;background:var(--ax-color-ghost, rgba(0, 0, 0, .06))}.axm-assist-renderer__accordion-group{width:100%}.axm-assist-renderer__accordion-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem .75rem;cursor:pointer;background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}.axm-assist-renderer__accordion-header-main{min-inline-size:0;display:flex;flex-direction:column;gap:.1rem}.axm-assist-renderer__accordion-header-title{font-size:.78rem;line-height:1.2;font-weight:600;color:var(--ax-color-text-primary, #111827);display:inline-flex;align-items:center;gap:.35rem}.axm-assist-renderer__accordion-header-badge{flex-shrink:0}.axm-assist-renderer__accordion-header-badge--primary{background:rgba(var(--ax-sys-color-primary),.12);border-color:rgba(var(--ax-sys-color-primary),.25);color:rgb(var(--ax-sys-color-primary))}.axm-assist-renderer__accordion-header-badge--success{background:#16a34a1f;border-color:#16a34a40;color:#15803d}.axm-assist-renderer__accordion-header-badge--danger{background:#dc26261f;border-color:#dc262640;color:#b91c1c}.axm-assist-renderer__accordion-header--thinking{background:linear-gradient(180deg,#f59e0b1f,#f59e0b0a),var(--ax-color-surface, #fff)}.axm-assist-renderer__thinking-chevron{display:inline-block;font-size:.65rem;opacity:.75;transition:transform .2s ease;line-height:1;flex-shrink:0}.axm-assist-renderer__thinking-chevron--expanded{transform:rotate(180deg)}.axm-assist-renderer__thinking-body{padding:0 .75rem .625rem;font-size:.75rem;color:var(--ax-color-text-muted, #888);white-space:pre-wrap;word-break:break-word;line-height:1.5;border-block-start:1px solid var(--ax-color-border-default, rgba(0, 0, 0, .06));padding-block-start:.5rem}.axm-assist-renderer__tools{display:flex;flex-direction:column;gap:.375rem}.axm-assist-renderer__tool-card{border-radius:.5rem;border:1px solid var(--ax-color-border-default, rgba(0, 0, 0, .08));background:var(--ax-color-surface, rgba(255, 255, 255, .6));overflow:hidden}.axm-assist-renderer__tool-body{padding:.5rem .75rem .625rem;border-block-start:1px solid var(--ax-color-border-default, rgba(0, 0, 0, .06));display:flex;flex-direction:column;gap:.25rem}.axm-assist-renderer__tool-section-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ax-color-text-muted, #888)}.axm-assist-renderer__tool-pre{margin:0;max-block-size:10rem;overflow:auto;border-radius:.375rem;background:var(--ax-color-ghost, rgba(0, 0, 0, .03));padding:.5rem;font-family:var(--ax-font-mono, monospace);font-size:.675rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.axm-assist-renderer__tool-editor-wrap{border-radius:.375rem;overflow:hidden}.axm-assist-renderer__waiting{display:flex;gap:.25rem;padding:.25rem 0}.axm-assist-renderer__dot{inline-size:6px;block-size:6px;border-radius:50%;background:var(--ax-color-text-muted, #999);animation:axm-blink 1.2s ease-in-out infinite}.axm-assist-renderer__dot:nth-child(2){animation-delay:.2s}.axm-assist-renderer__dot:nth-child(3){animation-delay:.4s}.axm-assist-renderer__agent-live-block{border-radius:.75rem;border:1px solid var(--ax-color-border-default, rgba(0, 0, 0, .1));background:var(--ax-color-surface, rgba(255, 255, 255, .72));padding:.75rem .875rem;display:flex;flex-direction:column;gap:.65rem;max-inline-size:min(42rem,100%)}.axm-assist-renderer__agent-live-block--in-accordion{border:none;border-radius:0;background:transparent;padding:.5rem 0 0;max-inline-size:none}.axm-assist-renderer__agent-live-header{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.axm-assist-renderer__agent-live-title{font-size:.8125rem;font-weight:600;color:var(--ax-color-text-primary, #111827);flex:1;min-inline-size:0}.axm-assist-renderer__agent-live-prompt{font-size:.8125rem;line-height:1.55;white-space:pre-wrap;word-break:break-word;padding:.5rem .75rem;border-radius:1.25rem;background:var(--ax-color-ghost, rgba(0, 0, 0, .05));align-self:flex-end;max-inline-size:min(92%,36rem)}.axm-assist-renderer__agent-live-stream{font-size:.8125rem;line-height:1.55;white-space:pre-line;word-break:break-word;padding-block-start:.15rem}.axm-assist-renderer__agent-live-nested-tools{display:flex;flex-direction:column;gap:.35rem;padding-block-start:.15rem;border-block-start:1px solid var(--ax-color-border-default, rgba(0, 0, 0, .08))}.axm-assist-renderer__agent-live-nested-row{display:flex;align-items:center;gap:.45rem;font-size:.72rem}.axm-assist-renderer__agent-live-nested-name{font-family:var(--ax-font-mono, monospace);font-size:.7rem;flex:1;min-inline-size:0;overflow:hidden;text-overflow:ellipsis}.axm-assist-renderer__agent-live-nested-status{color:var(--ax-color-text-muted, #888);flex-shrink:0}\n"], dependencies: [{ kind: "component", type: AXTextRendererComponent, selector: "ax-conversation-text-renderer", inputs: ["message"] }, { kind: "component", type: AXMNodeMessageRendererComponent, selector: "axm-chat-user-form-renderer", inputs: ["message", "node"], outputs: ["formSubmitted"] }, { kind: "component", type: AXMAssistBotImageLineComponent, selector: "axm-assist-bot-image-line", inputs: ["parentMessage", "fileId", "mimeType", "name"] }, { kind: "ngmodule", type: AXAccordionCdkModule }, { kind: "directive", type: i1$4.AXAccordionGroupDirective, selector: "[axAccordionGroup]", inputs: ["accordion", "activeIndex", "collapsedOnItemClick"], exportAs: ["axAccordionGroup"] }, { kind: "directive", type: i1$4.AXAccordionItemContentDirective, selector: "[axAccordionItemContent]", inputs: ["transition"], exportAs: ["axAccordionItemContent"] }, { kind: "directive", type: i1$4.AXAccordionItemHeaderDirective, selector: "[axAccordionItemHeader]", exportAs: ["axAccordionItemHeader"] }, { kind: "directive", type: i1$4.AXAccordionItemDirective, selector: "[axAccordionItem]", inputs: ["isCollapsed"], outputs: ["isCollapsedChange", "onClick"], exportAs: ["axAccordionItem"] }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i2$2.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXCodeEditorModule }, { kind: "component", type: i3$2.AXCodeEditorComponent, selector: "ax-code-editor", inputs: ["disabled", "value", "state", "name", "id", "language", "readonly", "placeholder", "lineNumbers", "lineWrapping", "tabSize", "indentWithTab", "theme", "extensions", "ariaLabel", "focusOnReady", "formatOnSave", "minRow", "customCompletions"], outputs: ["onValueChanged", "valueChange", "stateChange", "readonlyChange", "disabledChange", "ready", "save"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
5475
5703
  }
5476
5704
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMAssistMessageRendererComponent, decorators: [{
5477
5705
  type: Component,
5478
5706
  args: [{ selector: 'axm-assist-message-renderer', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
5479
5707
  AXTextRendererComponent,
5480
- AXPLayoutRendererComponent,
5708
+ AXMNodeMessageRendererComponent,
5481
5709
  AXMAssistBotImageLineComponent,
5482
5710
  AXAccordionCdkModule,
5483
5711
  AXBadgeModule,
@@ -5748,7 +5976,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
5748
5976
  ></i>
5749
5977
  <i class="fa-light fa-screwdriver-wrench axm-assist-renderer__tool-title-icon"></i>
5750
5978
  {{ resolveToolDisplayTitle(seg.content.command) }}
5751
- </span>d
5979
+ </span>
5752
5980
  </div>
5753
5981
  <span
5754
5982
  class="axm-assist-renderer__accordion-header-badge axm-assist-renderer__accordion-header-badge--primary"
@@ -5883,9 +6111,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
5883
6111
  </div>
5884
6112
  </div>
5885
6113
  } @else if (line.role === 'assistant' && seg.type === 'node') {
5886
- @if (axmAssistWidgetNodeFromUnknown(seg.content); as layout) {
6114
+ @let assistNodeWidget = axmAssistWidgetNodeFromUnknown(seg.content);
6115
+ @if (assistNodeWidget) {
5887
6116
  <div class="axm-assist-bot__segment" dir="auto">
5888
- <axp-layout-renderer [layout]="layout" mode="view" [context]="{}" />
6117
+ <axm-chat-user-form-renderer [message]="syntheticNodeEmbedMessage(lineIndex, segIndex, seg.content)" />
5889
6118
  </div>
5890
6119
  }
5891
6120
  } @else if (line.role === 'assistant' && seg.type === 'image') {
@@ -6384,171 +6613,6 @@ const AXM_CONVERSATION_BOT_RENDERER = {
6384
6613
  icon: 'fa-light fa-sparkles',
6385
6614
  };
6386
6615
 
6387
- class AXMNodeMessageRendererComponent {
6388
- constructor() {
6389
- //#region ---- Inputs & Outputs ----
6390
- this.message = input.required(...(ngDevMode ? [{ debugName: "message" }] : /* istanbul ignore next */ []));
6391
- this.node = input(undefined, ...(ngDevMode ? [{ debugName: "node" }] : /* istanbul ignore next */ []));
6392
- this.formSubmitted = output();
6393
- //#endregion
6394
- //#region ---- State ----
6395
- this.contentState = signal('none', ...(ngDevMode ? [{ debugName: "contentState" }] : /* istanbul ignore next */ []));
6396
- this.formContext = signal({}, ...(ngDevMode ? [{ debugName: "formContext" }] : /* istanbul ignore next */ []));
6397
- this.isSubmitted = computed(() => this.readSubmittedState(this.message()), ...(ngDevMode ? [{ debugName: "isSubmitted" }] : /* istanbul ignore next */ []));
6398
- this.rendererState = computed(() => ({
6399
- deliveryStatus: this.message().status,
6400
- contentState: this.contentState(),
6401
- }), ...(ngDevMode ? [{ debugName: "rendererState" }] : /* istanbul ignore next */ []));
6402
- this.resolvedNode = computed(() => {
6403
- const payload = this.message().payload;
6404
- if (this.isUserFormPayload(payload)) {
6405
- return payload.node;
6406
- }
6407
- return this.node() ?? this.createFallbackNode();
6408
- }, ...(ngDevMode ? [{ debugName: "resolvedNode" }] : /* istanbul ignore next */ []));
6409
- this.submittedMessage = computed(() => {
6410
- return '@conversation:chat.user-form.states.submitted-success';
6411
- }, ...(ngDevMode ? [{ debugName: "submittedMessage" }] : /* istanbul ignore next */ []));
6412
- }
6413
- //#endregion
6414
- //#region ---- Handlers ----
6415
- onContextChanged(event) {
6416
- this.formContext.set((event.data ?? {}));
6417
- }
6418
- submit() {
6419
- const context = this.formContext();
6420
- this.formSubmitted.emit(context);
6421
- void this.persistSubmittedState(context);
6422
- }
6423
- //#endregion
6424
- //#region ---- Utilities ----
6425
- isUserFormPayload(payload) {
6426
- return (typeof payload === 'object' &&
6427
- payload != null &&
6428
- 'type' in payload &&
6429
- payload.type === 'user-form' &&
6430
- 'node' in payload);
6431
- }
6432
- createFallbackNode() {
6433
- return {
6434
- type: 'text-editor',
6435
- path: 'form.name',
6436
- name: 'name',
6437
- options: { placeholder: '@conversation:chat.user-form.fields.name.placeholder' },
6438
- };
6439
- }
6440
- readSubmittedState(message) {
6441
- const metadata = this.readUserFormMetadata(message.metadata);
6442
- return metadata?.submitted === true;
6443
- }
6444
- readPersistedContext(message) {
6445
- const metadata = this.readUserFormMetadata(message.metadata);
6446
- if (!metadata?.context || typeof metadata.context !== 'object') {
6447
- return null;
6448
- }
6449
- return metadata.context;
6450
- }
6451
- readUserFormMetadata(metadata) {
6452
- if (typeof metadata !== 'object' || metadata == null) {
6453
- return null;
6454
- }
6455
- const candidate = metadata['userForm'];
6456
- if (typeof candidate !== 'object' || candidate == null) {
6457
- return null;
6458
- }
6459
- return candidate;
6460
- }
6461
- async persistSubmittedState(context) {
6462
- const message = this.message();
6463
- const payload = this.message().payload;
6464
- const payloadWithValue = this.isUserFormPayload(payload)
6465
- ? { ...payload, value: context }
6466
- : this.message().payload;
6467
- const updatedMessage = {
6468
- ...message,
6469
- payload: payloadWithValue,
6470
- metadata: {
6471
- ...(message.metadata ?? {}),
6472
- userForm: {
6473
- submitted: true,
6474
- context,
6475
- },
6476
- },
6477
- };
6478
- conversationSharedStorage.messages.set(updatedMessage.id, updatedMessage);
6479
- await axConversationIndexedDbStorage.putMessage(updatedMessage);
6480
- conversationSharedStorage.messageUpdates$.next(updatedMessage);
6481
- }
6482
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMNodeMessageRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6483
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXMNodeMessageRendererComponent, isStandalone: true, selector: "axm-chat-user-form-renderer", inputs: { message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null }, node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { formSubmitted: "formSubmitted" }, ngImport: i0, template: `
6484
- <div class="axm-user-form-renderer">
6485
- @if (!isSubmitted()) {
6486
- <axp-widgets-container
6487
- class="ax-flex ax-flex-col ax-gap-3"
6488
- [context]="formContext()"
6489
- (onContextChanged)="onContextChanged($event)"
6490
- >
6491
- <ng-container
6492
- axp-widget-renderer
6493
- [node]="resolvedNode()"
6494
- [mode]="resolvedNode().mode ?? 'edit'"
6495
- ></ng-container>
6496
- </axp-widgets-container>
6497
-
6498
- <div class="ax-flex ax-justify-end ax-mt-2">
6499
- <ax-button [text]="('@conversation:chat.user-form.actions.submit' | translate | async) ?? ''" (onClick)="submit()"></ax-button>
6500
- </div>
6501
- } @else {
6502
- <div
6503
- class="ax-mt-1 ax-rounded-xl ax-border ax-border-success-500/25 ax-bg-success-500/10 ax-px-3 ax-py-2 ax-shadow-sm"
6504
- >
6505
- <div class="ax-text-[0.7rem] ax-font-bold ax-uppercase ax-tracking-wide ax-text-success-700">
6506
- {{ '@conversation:chat.user-form.states.submitted' | translate | async }}
6507
- </div>
6508
- <div class="ax-mt-1 ax-text-sm ax-font-medium ax-text-on-surface">
6509
- {{ (submittedMessage() | translate | async) ?? '' }}
6510
- </div>
6511
- </div>
6512
- }
6513
- </div>
6514
- `, isInline: true, styles: [":host{display:block;inline-size:min(100%,28rem)}\n"], dependencies: [{ kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "component", type: i1$4.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i1$4.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged", "onLoad"], exportAs: ["widgetRenderer"] }, { 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: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6515
- }
6516
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMNodeMessageRendererComponent, decorators: [{
6517
- type: Component,
6518
- args: [{ selector: 'axm-chat-user-form-renderer', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXPWidgetCoreModule, AXButtonModule, AXTranslationModule, AsyncPipe], template: `
6519
- <div class="axm-user-form-renderer">
6520
- @if (!isSubmitted()) {
6521
- <axp-widgets-container
6522
- class="ax-flex ax-flex-col ax-gap-3"
6523
- [context]="formContext()"
6524
- (onContextChanged)="onContextChanged($event)"
6525
- >
6526
- <ng-container
6527
- axp-widget-renderer
6528
- [node]="resolvedNode()"
6529
- [mode]="resolvedNode().mode ?? 'edit'"
6530
- ></ng-container>
6531
- </axp-widgets-container>
6532
-
6533
- <div class="ax-flex ax-justify-end ax-mt-2">
6534
- <ax-button [text]="('@conversation:chat.user-form.actions.submit' | translate | async) ?? ''" (onClick)="submit()"></ax-button>
6535
- </div>
6536
- } @else {
6537
- <div
6538
- class="ax-mt-1 ax-rounded-xl ax-border ax-border-success-500/25 ax-bg-success-500/10 ax-px-3 ax-py-2 ax-shadow-sm"
6539
- >
6540
- <div class="ax-text-[0.7rem] ax-font-bold ax-uppercase ax-tracking-wide ax-text-success-700">
6541
- {{ '@conversation:chat.user-form.states.submitted' | translate | async }}
6542
- </div>
6543
- <div class="ax-mt-1 ax-text-sm ax-font-medium ax-text-on-surface">
6544
- {{ (submittedMessage() | translate | async) ?? '' }}
6545
- </div>
6546
- </div>
6547
- }
6548
- </div>
6549
- `, styles: [":host{display:block;inline-size:min(100%,28rem)}\n"] }]
6550
- }], propDecorators: { message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: true }] }], node: [{ type: i0.Input, args: [{ isSignal: true, alias: "node", required: false }] }], formSubmitted: [{ type: i0.Output, args: ["formSubmitted"] }] } });
6551
-
6552
6616
  // const AXM_USER_FORM_NODE: AXPWidgetNode = {
6553
6617
  // type: 'flex-layout',
6554
6618
  // name: 'node-layout',