@acorex/modules 21.0.0-beta.3 → 21.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-modules-ai-management-agent-registry-tool-configurator-widget-column.component-DDVQwyU4.mjs.map +1 -1
- package/fesm2022/{acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-CwLff8ut.mjs → acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-C-XsPEIg.mjs} +2 -2
- package/fesm2022/acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-C-XsPEIg.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-agent.entity-CsiCzwYK.mjs → acorex-modules-ai-management-agent.entity-D6-0_Ms3.mjs} +2 -2
- package/fesm2022/acorex-modules-ai-management-agent.entity-D6-0_Ms3.mjs.map +1 -0
- package/fesm2022/acorex-modules-ai-management-assist-delegated-agent-configurator-widget-column.component-tSpJYIZh.mjs.map +1 -1
- package/fesm2022/{acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-DQWeuAd6.mjs → acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-u1hZ4P5s.mjs} +2 -2
- package/fesm2022/acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-u1hZ4P5s.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-assist.entity-Be5vnFVn.mjs → acorex-modules-ai-management-assist.entity-DfW-FFCt.mjs} +2 -2
- package/fesm2022/{acorex-modules-ai-management-assist.entity-Be5vnFVn.mjs.map → acorex-modules-ai-management-assist.entity-DfW-FFCt.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-ai-management-model.entity-BjTtbWDk.mjs → acorex-modules-ai-management-model.entity-DiDaXVa3.mjs} +2 -2
- package/fesm2022/{acorex-modules-ai-management-model.entity-BjTtbWDk.mjs.map → acorex-modules-ai-management-model.entity-DiDaXVa3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-ai-management-open-ai-endpoint.entity-CfKav_1a.mjs → acorex-modules-ai-management-open-ai-endpoint.entity-CZLNKtl0.mjs} +2 -2
- package/fesm2022/{acorex-modules-ai-management-open-ai-endpoint.entity-CfKav_1a.mjs.map → acorex-modules-ai-management-open-ai-endpoint.entity-CZLNKtl0.mjs.map} +1 -1
- package/fesm2022/acorex-modules-ai-management.mjs +4630 -1
- package/fesm2022/acorex-modules-ai-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-application-management.mjs +11 -15
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-asset-management-acorex-modules-asset-management-p_zMwIBs.mjs → acorex-modules-asset-management-acorex-modules-asset-management-Blejt-Mo.mjs} +57 -51
- package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-Blejt-Mo.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-rental-history.entity-CXgiPWiW.mjs → acorex-modules-asset-management-asset-rental-history.entity-C6V8Nuvb.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-rental-history.entity-CXgiPWiW.mjs.map → acorex-modules-asset-management-asset-rental-history.entity-C6V8Nuvb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-C-UodoTZ.mjs → acorex-modules-asset-management-asset-system-assignment.entity-CtCyaI46.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-C-UodoTZ.mjs.map → acorex-modules-asset-management-asset-system-assignment.entity-CtCyaI46.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-DkV2P0sF.mjs → acorex-modules-asset-management-asset-system-type.entity-CfoB6Faf.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-DkV2P0sF.mjs.map → acorex-modules-asset-management-asset-system-type.entity-CfoB6Faf.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system.entity-bLGHHcCr.mjs → acorex-modules-asset-management-asset-system.entity-CvKC7MKH.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system.entity-bLGHHcCr.mjs.map → acorex-modules-asset-management-asset-system.entity-CvKC7MKH.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-B_ct599s.mjs → acorex-modules-asset-management-asset-type-section-component.entity-xfRZM5vK.mjs} +32 -31
- package/fesm2022/acorex-modules-asset-management-asset-type-section-component.entity-xfRZM5vK.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-BoONUtWp.mjs → acorex-modules-asset-management-asset-type-section.entity-DdEcyihk.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-BoONUtWp.mjs.map → acorex-modules-asset-management-asset-type-section.entity-DdEcyihk.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-type.entity-BjaLvZuH.mjs → acorex-modules-asset-management-asset-type.entity-D78ztUZ5.mjs} +108 -28
- package/fesm2022/acorex-modules-asset-management-asset-type.entity-D78ztUZ5.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset.entity-Bn-WKIkL.mjs → acorex-modules-asset-management-asset.entity-3dFsNRkr.mjs} +2 -205
- package/fesm2022/acorex-modules-asset-management-asset.entity-3dFsNRkr.mjs.map +1 -0
- package/fesm2022/acorex-modules-asset-management.mjs +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-DzCtP4qB.mjs → acorex-modules-auth-acorex-modules-auth-OxprG_fC.mjs} +13 -13
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-DzCtP4qB.mjs.map → acorex-modules-auth-acorex-modules-auth-OxprG_fC.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-app-chooser.component-BQF1I-wB.mjs → acorex-modules-auth-app-chooser.component-CVIfaOZn.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-BQF1I-wB.mjs.map → acorex-modules-auth-app-chooser.component-CVIfaOZn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-5ZArig0w.mjs → acorex-modules-auth-login.module-DcHZK-R8.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-5ZArig0w.mjs.map → acorex-modules-auth-login.module-DcHZK-R8.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-a4QkegZJ.mjs → acorex-modules-auth-master.layout-BxFGH1Ns.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-a4QkegZJ.mjs.map → acorex-modules-auth-master.layout-BxFGH1Ns.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-DTxqNJ2C.mjs → acorex-modules-auth-oauth-callback.component-D7wdpp8i.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-DTxqNJ2C.mjs.map → acorex-modules-auth-oauth-callback.component-D7wdpp8i.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-BecuTKvO.mjs → acorex-modules-auth-password.component-BStzALYp.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-BecuTKvO.mjs.map → acorex-modules-auth-password.component-BStzALYp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-DmJZoAp1.mjs → acorex-modules-auth-password.component-CD6RCeFv.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-DmJZoAp1.mjs.map → acorex-modules-auth-password.component-CD6RCeFv.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-DMqZIUs0.mjs → acorex-modules-auth-routes-DaEUQGPG.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-DMqZIUs0.mjs.map → acorex-modules-auth-routes-DaEUQGPG.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-settings.provider-DkhbuDBO.mjs → acorex-modules-auth-settings.provider-CN7Lb38l.mjs} +26 -31
- package/fesm2022/acorex-modules-auth-settings.provider-CN7Lb38l.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-C-apfDuQ.mjs → acorex-modules-auth-tenant-chooser.component-B-iqLVe6.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-C-apfDuQ.mjs.map → acorex-modules-auth-tenant-chooser.component-B-iqLVe6.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-BqbFsq9G.mjs → acorex-modules-auth-two-factor.module-BMKzyFEP.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-BqbFsq9G.mjs.map → acorex-modules-auth-two-factor.module-BMKzyFEP.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-D7vXGWMN.mjs → acorex-modules-auth-user-sessions.component-Xnz3S1SD.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-user-sessions.component-D7vXGWMN.mjs.map → acorex-modules-auth-user-sessions.component-Xnz3S1SD.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-common.mjs +8 -33
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +1109 -2289
- package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
- package/fesm2022/{acorex-modules-dashboard-management-acorex-modules-dashboard-management-qboFnd_p.mjs → acorex-modules-dashboard-management-acorex-modules-dashboard-management-WBZHuJyY.mjs} +3 -4
- package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-WBZHuJyY.mjs.map +1 -0
- package/fesm2022/{acorex-modules-dashboard-management-index-DQHOwMS6.mjs → acorex-modules-dashboard-management-index-oHkAfJTJ.mjs} +2 -2
- package/fesm2022/{acorex-modules-dashboard-management-index-DQHOwMS6.mjs.map → acorex-modules-dashboard-management-index-oHkAfJTJ.mjs.map} +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +116 -15
- package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-form-template-management.mjs +13 -17
- package/fesm2022/acorex-modules-form-template-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-locale-management.mjs +68 -70
- package/fesm2022/acorex-modules-locale-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-acorex-modules-maintenance-management-B5wf4zMI.mjs → acorex-modules-maintenance-management-acorex-modules-maintenance-management-C0LLBxMR.mjs} +40 -38
- package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-C0LLBxMR.mjs.map +1 -0
- package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-Cv5KnboB.mjs → acorex-modules-maintenance-management-failure-effect.entity-D8yOqKWQ.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-Cv5KnboB.mjs.map → acorex-modules-maintenance-management-failure-effect.entity-D8yOqKWQ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-BBL3-hfv.mjs → acorex-modules-maintenance-management-failure-mode-asset-type.entity-CHXkbEHG.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-BBL3-hfv.mjs.map → acorex-modules-maintenance-management-failure-mode-asset-type.entity-CHXkbEHG.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-nxOdHZxu.mjs → acorex-modules-maintenance-management-failure-mode-mechanism.entity-yR11e9TU.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-nxOdHZxu.mjs.map → acorex-modules-maintenance-management-failure-mode-mechanism.entity-yR11e9TU.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-ApD80Scc.mjs → acorex-modules-maintenance-management-failure-mode-solution.entity-BD4Uz6G-.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-ApD80Scc.mjs.map → acorex-modules-maintenance-management-failure-mode-solution.entity-BD4Uz6G-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-CibfwJLG.mjs → acorex-modules-maintenance-management-failure-register-cause.entity-CZFgl-t4.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-CibfwJLG.mjs.map → acorex-modules-maintenance-management-failure-register-cause.entity-CZFgl-t4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-DpoqULBf.mjs → acorex-modules-maintenance-management-failure-register-effect.entity-DQE5nqiN.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-DpoqULBf.mjs.map → acorex-modules-maintenance-management-failure-register-effect.entity-DQE5nqiN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-0-J2Hkmn.mjs → acorex-modules-maintenance-management-failure-register-mechanism.entity-C6mhbWzU.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-0-J2Hkmn.mjs.map → acorex-modules-maintenance-management-failure-register-mechanism.entity-C6mhbWzU.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register.entity-C4Az4Rr9.mjs → acorex-modules-maintenance-management-failure-register.entity-DSnrVaWI.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register.entity-C4Az4Rr9.mjs.map → acorex-modules-maintenance-management-failure-register.entity-DSnrVaWI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-BZo6UUun.mjs → acorex-modules-maintenance-management-failure-severity.entity-DZoMhgW7.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-BZo6UUun.mjs.map → acorex-modules-maintenance-management-failure-severity.entity-DZoMhgW7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-maintenance-template.entity-DxYY0hpG.mjs → acorex-modules-maintenance-management-maintenance-template.entity-qf2WNKB_.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-maintenance-template.entity-DxYY0hpG.mjs.map → acorex-modules-maintenance-management-maintenance-template.entity-qf2WNKB_.mjs.map} +1 -1
- package/fesm2022/acorex-modules-maintenance-management.mjs +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +34 -38
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-order-management-settings.provider-BzNJIZCu.mjs → acorex-modules-order-management-settings.provider-DF8JQ1PZ.mjs} +6 -11
- package/fesm2022/acorex-modules-order-management-settings.provider-DF8JQ1PZ.mjs.map +1 -0
- package/fesm2022/acorex-modules-order-management.mjs +2 -2
- package/fesm2022/{acorex-modules-organization-management-acorex-modules-organization-management-CUWv9tbF.mjs → acorex-modules-organization-management-acorex-modules-organization-management-BDnIsf2j.mjs} +27 -27
- package/fesm2022/{acorex-modules-organization-management-acorex-modules-organization-management-CUWv9tbF.mjs.map → acorex-modules-organization-management-acorex-modules-organization-management-BDnIsf2j.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-BKWt1YeU.mjs → acorex-modules-organization-management-add-business-unit-to-business-unit.command-BB8-LTp8.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-BKWt1YeU.mjs.map → acorex-modules-organization-management-add-business-unit-to-business-unit.command-BB8-LTp8.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-yRvXPaBm.mjs → acorex-modules-organization-management-add-position-to-business-unit.command-BaEW7Jx8.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-yRvXPaBm.mjs.map → acorex-modules-organization-management-add-position-to-business-unit.command-BaEW7Jx8.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-business-unit.entity-DwRpPYNe.mjs → acorex-modules-organization-management-business-unit.entity-CuFBCQ7T.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-business-unit.entity-DwRpPYNe.mjs.map → acorex-modules-organization-management-business-unit.entity-CuFBCQ7T.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-chart.entity-lm0udbe7.mjs → acorex-modules-organization-management-chart.entity-B7oSgI4o.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-chart.entity-lm0udbe7.mjs.map → acorex-modules-organization-management-chart.entity-B7oSgI4o.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-company.entity-DW43rdVi.mjs → acorex-modules-organization-management-company.entity-BSDic10Z.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-company.entity-DW43rdVi.mjs.map → acorex-modules-organization-management-company.entity-BSDic10Z.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-entity.provider-DGmP_q74.mjs → acorex-modules-organization-management-entity.provider-BkWwyLUZ.mjs} +15 -15
- package/fesm2022/{acorex-modules-organization-management-entity.provider-DGmP_q74.mjs.map → acorex-modules-organization-management-entity.provider-BkWwyLUZ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-Bm0hlncD.mjs → acorex-modules-organization-management-feature-definition.provider-D8Tsj3hk.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-Bm0hlncD.mjs.map → acorex-modules-organization-management-feature-definition.provider-D8Tsj3hk.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-BdMIRbOs.mjs → acorex-modules-organization-management-job-definition-pages-component.provider-cHJU9tB2.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-BdMIRbOs.mjs.map → acorex-modules-organization-management-job-definition-pages-component.provider-cHJU9tB2.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-DtZTvokB.mjs → acorex-modules-organization-management-job-definition-responsibilities-page.component-Yu4gOQ6K.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-DtZTvokB.mjs.map → acorex-modules-organization-management-job-definition-responsibilities-page.component-Yu4gOQ6K.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-B2uaOaWD.mjs → acorex-modules-organization-management-job-definition-skills-page.component-DV8x-8VB.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-B2uaOaWD.mjs.map → acorex-modules-organization-management-job-definition-skills-page.component-DV8x-8VB.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-enxYD1x1.mjs → acorex-modules-organization-management-job-definition.entity-DAo8xR1H.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-enxYD1x1.mjs.map → acorex-modules-organization-management-job-definition.entity-DAo8xR1H.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-level.datasource-CRm1uNQa.mjs → acorex-modules-organization-management-job-level.datasource-C7ElEuZx.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-level.datasource-CRm1uNQa.mjs.map → acorex-modules-organization-management-job-level.datasource-C7ElEuZx.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-level.entity-D_m_u12t.mjs → acorex-modules-organization-management-job-level.entity-Dw3YK9-O.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-level.entity-D_m_u12t.mjs.map → acorex-modules-organization-management-job-level.entity-Dw3YK9-O.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-menu.provider-DZSDOHOa.mjs → acorex-modules-organization-management-menu.provider-DWt62uxv.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-menu.provider-DZSDOHOa.mjs.map → acorex-modules-organization-management-menu.provider-DWt62uxv.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-BUSEFJJZ.mjs → acorex-modules-organization-management-org-chart.page-Rh8xmXaj.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-BUSEFJJZ.mjs.map → acorex-modules-organization-management-org-chart.page-Rh8xmXaj.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-DEfUgyRh.mjs → acorex-modules-organization-management-permission-definition.provider-3TD89ErD.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-DEfUgyRh.mjs.map → acorex-modules-organization-management-permission-definition.provider-3TD89ErD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-position.entity-D1JU0rla.mjs → acorex-modules-organization-management-position.entity-Cysj_53n.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-position.entity-D1JU0rla.mjs.map → acorex-modules-organization-management-position.entity-Cysj_53n.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-D2WMXNJg.mjs → acorex-modules-organization-management-remove-position-from-business-unit.command-BkQyq1ho.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-D2WMXNJg.mjs.map → acorex-modules-organization-management-remove-position-from-business-unit.command-BkQyq1ho.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-DyJIOBOp.mjs → acorex-modules-organization-management-replace-position-assignee.command-Cf8VR0tX.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-DyJIOBOp.mjs.map → acorex-modules-organization-management-replace-position-assignee.command-Cf8VR0tX.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-BTXGfRVf.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-BeQ-nXpS.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-BTXGfRVf.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-BeQ-nXpS.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-Cv_Aicyi.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-Ie_39X99.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-Cv_Aicyi.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-Ie_39X99.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-42Aqvq6J.mjs → acorex-modules-organization-management-responsibilities-matrix.component-58s3Qfyg.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-42Aqvq6J.mjs.map → acorex-modules-organization-management-responsibilities-matrix.component-58s3Qfyg.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibility-level.entity-DIy5Kv_4.mjs → acorex-modules-organization-management-responsibility-level.entity-DWWQB7ke.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibility-level.entity-DIy5Kv_4.mjs.map → acorex-modules-organization-management-responsibility-level.entity-DWWQB7ke.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-BBlERaap.mjs → acorex-modules-organization-management-responsibility.entity-C4V55fKt.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-BBlERaap.mjs.map → acorex-modules-organization-management-responsibility.entity-C4V55fKt.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-settings.provider-BohjJ4JD.mjs → acorex-modules-organization-management-settings.provider-BD70P1XV.mjs} +21 -24
- package/fesm2022/acorex-modules-organization-management-settings.provider-BD70P1XV.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-team-business-unit.entity-UDotxAM4.mjs → acorex-modules-organization-management-team-business-unit.entity-B5T1fYAF.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-business-unit.entity-UDotxAM4.mjs.map → acorex-modules-organization-management-team-business-unit.entity-B5T1fYAF.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-DfJ-QUdc.mjs → acorex-modules-organization-management-team-member-role.entity-dPp_dK-g.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-DfJ-QUdc.mjs.map → acorex-modules-organization-management-team-member-role.entity-dPp_dK-g.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team-member.entity-C13rpUNN.mjs → acorex-modules-organization-management-team-member.entity-CZPmF9f6.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-member.entity-C13rpUNN.mjs.map → acorex-modules-organization-management-team-member.entity-CZPmF9f6.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team.entity-CTajHYMs.mjs → acorex-modules-organization-management-team.entity-CCfWLgDx.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team.entity-CTajHYMs.mjs.map → acorex-modules-organization-management-team.entity-CCfWLgDx.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management.mjs +1 -1
- package/fesm2022/{acorex-modules-platform-dev-tools-settings.provider-CGyf-4eq.mjs → acorex-modules-platform-dev-tools-settings.provider-DKmgBUYt.mjs} +2 -2
- package/fesm2022/acorex-modules-platform-dev-tools-settings.provider-DKmgBUYt.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-dev-tools.mjs +2 -2
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DCR1ziGj.mjs → acorex-modules-platform-management-acorex-modules-platform-management-D0D56pWx.mjs} +12 -4
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-D0D56pWx.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-management-entity-master-actions-for-ai.util-OCk5eqQz.mjs +56 -0
- package/fesm2022/acorex-modules-platform-management-entity-master-actions-for-ai.util-OCk5eqQz.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-management-list-platform-navigation-for-ai.query-C3-eBMwF.mjs +198 -0
- package/fesm2022/acorex-modules-platform-management-list-platform-navigation-for-ai.query-C3-eBMwF.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-list-registered-entities.query-B6-zV_Ml.mjs → acorex-modules-platform-management-list-registered-entities.query-BZVD9YPU.mjs} +26 -4
- package/fesm2022/acorex-modules-platform-management-list-registered-entities.query-BZVD9YPU.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-ClShYP8I.mjs → acorex-modules-platform-management-menu-list.component-BE9_j1Xy.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-ClShYP8I.mjs.map → acorex-modules-platform-management-menu-list.component-BE9_j1Xy.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-7TUWK_qS.mjs → acorex-modules-settings-management-acorex-modules-settings-management-DHihkQXi.mjs} +88 -13
- package/fesm2022/acorex-modules-settings-management-acorex-modules-settings-management-DHihkQXi.mjs.map +1 -0
- package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-DWSlCjno.mjs → acorex-modules-settings-management-permission-definition.provider-DZoXbvt_.mjs} +2 -2
- package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-DWSlCjno.mjs.map → acorex-modules-settings-management-permission-definition.provider-DZoXbvt_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-DukQDWHe.mjs → acorex-modules-settings-management-setting-page.component-B6UoszKZ.mjs} +5 -4
- package/fesm2022/acorex-modules-settings-management-setting-page.component-B6UoszKZ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-C-PiEhLL.mjs → acorex-modules-settings-management-setting-view.component-BGCXJQ_L.mjs} +2 -2
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-C-PiEhLL.mjs.map → acorex-modules-settings-management-setting-view.component-BGCXJQ_L.mjs.map} +1 -1
- package/fesm2022/acorex-modules-settings-management.mjs +1 -1
- package/fesm2022/{acorex-modules-task-management-acorex-modules-task-management-C-inbbcy.mjs → acorex-modules-task-management-acorex-modules-task-management-ZcP94xuL.mjs} +25 -28
- package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-ZcP94xuL.mjs.map +1 -0
- package/fesm2022/{acorex-modules-task-management-task-board.page-BOrgjwax.mjs → acorex-modules-task-management-task-board.page-CEW3SrBz.mjs} +2 -2
- package/fesm2022/{acorex-modules-task-management-task-board.page-BOrgjwax.mjs.map → acorex-modules-task-management-task-board.page-CEW3SrBz.mjs.map} +1 -1
- package/fesm2022/acorex-modules-task-management.mjs +1 -1
- package/fesm2022/acorex-modules-tenant-management.mjs +3 -7
- package/fesm2022/acorex-modules-tenant-management.mjs.map +1 -1
- package/package.json +2 -2
- package/platform-management/README.md +4 -0
- package/types/acorex-modules-ai-management.d.ts +150 -527
- package/types/acorex-modules-asset-management.d.ts +7 -79
- package/types/acorex-modules-common.d.ts +3 -6
- package/types/acorex-modules-conversation.d.ts +60 -4
- package/types/acorex-modules-document-management.d.ts +20 -8
- package/types/acorex-modules-maintenance-management.d.ts +0 -2
- package/types/acorex-modules-notification-management.d.ts +0 -3
- package/types/acorex-modules-settings-management.d.ts +3 -0
- package/types/acorex-modules-task-management.d.ts +0 -1
- package/types/acorex-modules-tenant-management.d.ts +0 -1
- package/fesm2022/acorex-modules-ai-management-acorex-modules-ai-management-DZ_SXRAW.mjs +0 -8782
- package/fesm2022/acorex-modules-ai-management-acorex-modules-ai-management-DZ_SXRAW.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-CwLff8ut.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-agent.entity-CsiCzwYK.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-BWxdBe9t.mjs +0 -1255
- package/fesm2022/acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-BWxdBe9t.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-DQWeuAd6.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-index-BFMvZNvI.mjs +0 -2
- package/fesm2022/acorex-modules-ai-management-index-BFMvZNvI.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-p_zMwIBs.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-state-history.entity-Cwics4Zo.mjs +0 -258
- package/fesm2022/acorex-modules-asset-management-asset-state-history.entity-Cwics4Zo.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-status.rules-B7KwWQEe.mjs +0 -98
- package/fesm2022/acorex-modules-asset-management-asset-status.rules-B7KwWQEe.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-type-section-component.entity-B_ct599s.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-type.entity-BjaLvZuH.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset.entity-Bn-WKIkL.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-assetLifecycle-state.provider-DZ5r2zx7.mjs +0 -192
- package/fesm2022/acorex-modules-asset-management-assetLifecycle-state.provider-DZ5r2zx7.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-status.provider-C41t4e2U.mjs +0 -363
- package/fesm2022/acorex-modules-asset-management-status.provider-C41t4e2U.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-settings.provider-DkhbuDBO.mjs.map +0 -1
- package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-qboFnd_p.mjs.map +0 -1
- package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-B5wf4zMI.mjs.map +0 -1
- package/fesm2022/acorex-modules-order-management-settings.provider-BzNJIZCu.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-settings.provider-BohjJ4JD.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-dev-tools-settings.provider-CGyf-4eq.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-DCR1ziGj.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-list-registered-entities.query-B6-zV_Ml.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-acorex-modules-settings-management-7TUWK_qS.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-page.component-DukQDWHe.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-C-inbbcy.mjs.map +0 -1
package/fesm2022/acorex-modules-platform-management-entity-master-actions-for-ai.util-OCk5eqQz.mjs
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
//#region ---- Imports ----
|
|
2
|
+
//#endregion
|
|
3
|
+
//#region ---- Helpers ----
|
|
4
|
+
function resolveCommandName(action) {
|
|
5
|
+
const cmd = action.command;
|
|
6
|
+
if (typeof cmd === 'object' && cmd != null && typeof cmd.name === 'string') {
|
|
7
|
+
return cmd.name.trim() || undefined;
|
|
8
|
+
}
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
function collectActionsRecursive(actions, translate, out, depth = 0) {
|
|
12
|
+
if (!actions?.length || depth > 10) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
for (const a of actions) {
|
|
16
|
+
const cmdName = resolveCommandName(a);
|
|
17
|
+
try {
|
|
18
|
+
out.push({
|
|
19
|
+
resolvedTitle: translate(a.title),
|
|
20
|
+
titleKey: a.title,
|
|
21
|
+
...(cmdName ? { commandName: cmdName } : {}),
|
|
22
|
+
...(typeof a.type === 'string' && a.type.trim().length ? { actionKind: a.type } : {}),
|
|
23
|
+
...(typeof a.scope === 'string' ? { actionScope: a.scope } : {}),
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
out.push({
|
|
28
|
+
resolvedTitle: a.title,
|
|
29
|
+
titleKey: a.title,
|
|
30
|
+
...(cmdName ? { commandName: cmdName } : {}),
|
|
31
|
+
...(typeof a.type === 'string' && a.type.trim().length ? { actionKind: a.type } : {}),
|
|
32
|
+
...(typeof a.scope === 'string' ? { actionScope: a.scope } : {}),
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
if (a.items?.length) {
|
|
36
|
+
collectActionsRecursive(a.items, translate, out, depth + 1);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Builds stable action labels derived from {@link AXPEntity.interfaces.master} list/single layouts.
|
|
42
|
+
*/
|
|
43
|
+
function axmSummarizeMasterUiActionsForAi(entity, translateWithFallback) {
|
|
44
|
+
const listToolbar = [];
|
|
45
|
+
const recordToolbar = [];
|
|
46
|
+
collectActionsRecursive(entity.interfaces?.master?.list?.actions, translateWithFallback, listToolbar);
|
|
47
|
+
collectActionsRecursive(entity.interfaces?.master?.single?.actions, translateWithFallback, recordToolbar);
|
|
48
|
+
return {
|
|
49
|
+
listToolbar,
|
|
50
|
+
recordToolbar,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
|
|
55
|
+
export { axmSummarizeMasterUiActionsForAi as a };
|
|
56
|
+
//# sourceMappingURL=acorex-modules-platform-management-entity-master-actions-for-ai.util-OCk5eqQz.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-modules-platform-management-entity-master-actions-for-ai.util-OCk5eqQz.mjs","sources":["../../../../libs/modules/platform-management/src/lib/features/queries/entity-master-actions-for-ai.util.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport type { AXPEntity, AXPEntityAction } from '@acorex/platform/common';\n\n//#endregion\n\n//#region ---- Types ----\n\n/**\n * Resolved master UI action for AI grounding — list toolbar vs detail (single) toolbar.\n */\nexport interface AXMEntityMasterActionAiSummary {\n /** User-visible caption (resolved from {@link AXPEntityAction.title} when possible). */\n resolvedTitle: string;\n /** Original entity action title (often `@scope:key`). */\n titleKey: string;\n /** Typical command key when known (see {@link AXPEntityAction.command}). */\n commandName?: string;\n /** {@link AXPEntityAction.type} (e.g. create, delete, view). */\n actionKind?: string;\n /** {@link AXPEntityAction.scope}. */\n actionScope?: string;\n}\n\n//#endregion\n\n//#region ---- Helpers ----\n\nfunction resolveCommandName(action: AXPEntityAction): string | undefined {\n const cmd = action.command;\n if (typeof cmd === 'object' && cmd != null && typeof cmd.name === 'string') {\n return cmd.name.trim() || undefined;\n }\n return undefined;\n}\n\nfunction collectActionsRecursive(\n actions: AXPEntityAction[] | undefined,\n translate: (key: string) => string,\n out: AXMEntityMasterActionAiSummary[],\n depth = 0,\n): void {\n if (!actions?.length || depth > 10) {\n return;\n }\n for (const a of actions) {\n const cmdName = resolveCommandName(a);\n try {\n out.push({\n resolvedTitle: translate(a.title),\n titleKey: a.title,\n ...(cmdName ? { commandName: cmdName } : {}),\n ...(typeof a.type === 'string' && a.type.trim().length ? { actionKind: a.type } : {}),\n ...(typeof a.scope === 'string' ? { actionScope: a.scope } : {}),\n });\n } catch {\n out.push({\n resolvedTitle: a.title,\n titleKey: a.title,\n ...(cmdName ? { commandName: cmdName } : {}),\n ...(typeof a.type === 'string' && a.type.trim().length ? { actionKind: a.type } : {}),\n ...(typeof a.scope === 'string' ? { actionScope: a.scope } : {}),\n });\n }\n if (a.items?.length) {\n collectActionsRecursive(a.items, translate, out, depth + 1);\n }\n }\n}\n\n//#endregion\n\n//#region ---- Public API ----\n\n/** Master interface list + detail (single) actions from an entity definition, for read-only grounding. */\nexport interface AXMEntityMasterUiActionsForAi {\n listToolbar: AXMEntityMasterActionAiSummary[];\n recordToolbar: AXMEntityMasterActionAiSummary[];\n}\n\n/**\n * Builds stable action labels derived from {@link AXPEntity.interfaces.master} list/single layouts.\n */\nexport function axmSummarizeMasterUiActionsForAi(\n entity: AXPEntity,\n translateWithFallback: (key: string) => string,\n): AXMEntityMasterUiActionsForAi {\n const listToolbar: AXMEntityMasterActionAiSummary[] = [];\n const recordToolbar: AXMEntityMasterActionAiSummary[] = [];\n\n collectActionsRecursive(\n entity.interfaces?.master?.list?.actions,\n translateWithFallback,\n listToolbar,\n );\n collectActionsRecursive(\n entity.interfaces?.master?.single?.actions,\n translateWithFallback,\n recordToolbar,\n );\n\n return {\n listToolbar,\n recordToolbar,\n };\n}\n\n//#endregion\n"],"names":[],"mappings":"AAAA;AAwBA;AAEA;AAEA,SAAS,kBAAkB,CAAC,MAAuB,EAAA;AACjD,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO;AAC1B,IAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC1E,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,SAAS;IACrC;AACA,IAAA,OAAO,SAAS;AAClB;AAEA,SAAS,uBAAuB,CAC9B,OAAsC,EACtC,SAAkC,EAClC,GAAqC,EACrC,KAAK,GAAG,CAAC,EAAA;IAET,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,GAAG,EAAE,EAAE;QAClC;IACF;AACA,IAAA,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;AACvB,QAAA,MAAM,OAAO,GAAG,kBAAkB,CAAC,CAAC,CAAC;AACrC,QAAA,IAAI;YACF,GAAG,CAAC,IAAI,CAAC;AACP,gBAAA,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;gBACjC,QAAQ,EAAE,CAAC,CAAC,KAAK;AACjB,gBAAA,IAAI,OAAO,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AAC5C,gBAAA,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;gBACrF,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;AACjE,aAAA,CAAC;QACJ;AAAE,QAAA,MAAM;YACN,GAAG,CAAC,IAAI,CAAC;gBACP,aAAa,EAAE,CAAC,CAAC,KAAK;gBACtB,QAAQ,EAAE,CAAC,CAAC,KAAK;AACjB,gBAAA,IAAI,OAAO,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AAC5C,gBAAA,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;gBACrF,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;AACjE,aAAA,CAAC;QACJ;AACA,QAAA,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE;AACnB,YAAA,uBAAuB,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;QAC7D;IACF;AACF;AAYA;;AAEG;AACG,SAAU,gCAAgC,CAC9C,MAAiB,EACjB,qBAA8C,EAAA;IAE9C,MAAM,WAAW,GAAqC,EAAE;IACxD,MAAM,aAAa,GAAqC,EAAE;AAE1D,IAAA,uBAAuB,CACrB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EACxC,qBAAqB,EACrB,WAAW,CACZ;AACD,IAAA,uBAAuB,CACrB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAC1C,qBAAqB,EACrB,aAAa,CACd;IAED,OAAO;QACL,WAAW;QACX,aAAa;KACd;AACH;AAEA;;;;"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { AXTranslationService } from '@acorex/core/translation';
|
|
2
|
+
import { AXPMenuProviderService } from '@acorex/platform/common';
|
|
3
|
+
import { AXPEntityResolver } from '@acorex/platform/layout/entity';
|
|
4
|
+
import * as i0 from '@angular/core';
|
|
5
|
+
import { inject, Injectable } from '@angular/core';
|
|
6
|
+
import { a as axmSummarizeMasterUiActionsForAi } from './acorex-modules-platform-management-entity-master-actions-for-ai.util-OCk5eqQz.mjs';
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region ---- Helpers ----
|
|
10
|
+
const DEFAULT_ROW_LIMIT = 300;
|
|
11
|
+
const MIN_ROW_LIMIT = 40;
|
|
12
|
+
const MAX_ROW_LIMIT = 500;
|
|
13
|
+
function normalizeLimit(raw) {
|
|
14
|
+
if (typeof raw === 'number' && Number.isFinite(raw)) {
|
|
15
|
+
const n = Math.floor(raw);
|
|
16
|
+
return Math.min(MAX_ROW_LIMIT, Math.max(MIN_ROW_LIMIT, n));
|
|
17
|
+
}
|
|
18
|
+
if (typeof raw === 'string') {
|
|
19
|
+
const parsed = Number.parseInt(raw.trim(), 10);
|
|
20
|
+
if (Number.isFinite(parsed)) {
|
|
21
|
+
return Math.min(MAX_ROW_LIMIT, Math.max(MIN_ROW_LIMIT, parsed));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return DEFAULT_ROW_LIMIT;
|
|
25
|
+
}
|
|
26
|
+
function matchesFold(haystack, needle) {
|
|
27
|
+
return haystack.toLocaleUpperCase().includes(needle.toLocaleUpperCase());
|
|
28
|
+
}
|
|
29
|
+
/** Expects **`Module.Entity`** (`SecurityManagement.User`). */
|
|
30
|
+
function parseRegisteredEntityFullName(fullName) {
|
|
31
|
+
const trimmed = fullName.trim();
|
|
32
|
+
const dot = trimmed.indexOf('.');
|
|
33
|
+
if (dot <= 0 || dot >= trimmed.length - 1) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
return { module: trimmed.slice(0, dot), name: trimmed.slice(dot + 1) };
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Collects `Module.Entity` keys implied by entity master router paths on menu rows
|
|
40
|
+
* (`/{app}/m/{module}/e/{entity}/...`).
|
|
41
|
+
*/
|
|
42
|
+
function collectEntityFullNamesFromMenuPaths(paths) {
|
|
43
|
+
const seen = new Set();
|
|
44
|
+
const re = /\/m\/([^/?#]+)\/e\/([^/?#]+)\//g;
|
|
45
|
+
for (const raw of paths) {
|
|
46
|
+
if (!raw) {
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
re.lastIndex = 0;
|
|
50
|
+
let m;
|
|
51
|
+
while ((m = re.exec(raw)) !== null) {
|
|
52
|
+
seen.add(`${m[1]}.${m[2]}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return seen;
|
|
56
|
+
}
|
|
57
|
+
//#endregion
|
|
58
|
+
//#region ---- List platform navigation for AI ----
|
|
59
|
+
/**
|
|
60
|
+
* Builds a flattened, searchable view of visible platform menu entries (middleware-filtered snapshot)
|
|
61
|
+
* for product “how‑to” and navigation assistants. Intended for **read-only grounding** —
|
|
62
|
+
* callers should complement with entity schema tools when field-level detail matters.
|
|
63
|
+
* **Sidebar menus are not the full entity catalog** — use optional **`includeRegisteredEntitiesNotInSidebarMenu`**
|
|
64
|
+
* or **`ListRegisteredEntities`** when assistants must not equate “in the menu” with “all registered entities”.
|
|
65
|
+
* Optional **`entityFullName`** (`Module.Entity`) adds toolbar action labels from that entity’s master interfaces.
|
|
66
|
+
*/
|
|
67
|
+
class AXMListPlatformNavigationForAiQuery {
|
|
68
|
+
constructor() {
|
|
69
|
+
//#region ---- Services & Dependencies ----
|
|
70
|
+
this.menuProviders = inject(AXPMenuProviderService);
|
|
71
|
+
this.translation = inject(AXTranslationService);
|
|
72
|
+
this.entityResolver = inject(AXPEntityResolver);
|
|
73
|
+
}
|
|
74
|
+
//#endregion
|
|
75
|
+
//#region ---- Query Execution ----
|
|
76
|
+
async fetch(input) {
|
|
77
|
+
try {
|
|
78
|
+
const opts = input ?? {};
|
|
79
|
+
const limit = normalizeLimit(opts.limit);
|
|
80
|
+
const search = opts.quickSearch?.trim();
|
|
81
|
+
const entityFullName = opts.entityFullName?.trim();
|
|
82
|
+
const tree = await this.menuProviders.items();
|
|
83
|
+
const flattened = this.flattenMenus(tree);
|
|
84
|
+
const linkedFromMenuPaths = collectEntityFullNamesFromMenuPaths(flattened.map((r) => r.path));
|
|
85
|
+
let rows = flattened;
|
|
86
|
+
if (search) {
|
|
87
|
+
rows = flattened.filter((r) => matchesFold(`${r.menuName ?? ''}|${r.title}|${r.titleKey}|${r.path ?? ''}|${r.hierarchyPath}`, search));
|
|
88
|
+
}
|
|
89
|
+
rows.sort((a, b) => a.hierarchyPath.localeCompare(b.hierarchyPath));
|
|
90
|
+
let matchStatus;
|
|
91
|
+
if (search && rows.length === 0) {
|
|
92
|
+
matchStatus = 'empty';
|
|
93
|
+
}
|
|
94
|
+
else if (search) {
|
|
95
|
+
matchStatus = 'filtered';
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
matchStatus = 'catalog';
|
|
99
|
+
}
|
|
100
|
+
const truncated = rows.length > limit;
|
|
101
|
+
let entityMasterUiActions;
|
|
102
|
+
let entityMasterUiActionsMatch;
|
|
103
|
+
if (entityFullName) {
|
|
104
|
+
const parsed = parseRegisteredEntityFullName(entityFullName);
|
|
105
|
+
if (!parsed) {
|
|
106
|
+
entityMasterUiActions = null;
|
|
107
|
+
entityMasterUiActionsMatch = 'none';
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
const def = await this.entityResolver.get(parsed.module, parsed.name);
|
|
111
|
+
if (def) {
|
|
112
|
+
entityMasterUiActions = axmSummarizeMasterUiActionsForAi(def, (key) => this.resolveMenuTitle(key));
|
|
113
|
+
entityMasterUiActionsMatch = 'single';
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
entityMasterUiActions = null;
|
|
117
|
+
entityMasterUiActionsMatch = 'none';
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
let registeredEntitiesNotInSidebarMenu;
|
|
122
|
+
if (opts.includeRegisteredEntitiesNotInSidebarMenu) {
|
|
123
|
+
const catalog = await this.entityResolver.listAll();
|
|
124
|
+
const sortedCatalog = [...catalog].sort((a, b) => {
|
|
125
|
+
const byModule = a.module.localeCompare(b.module);
|
|
126
|
+
return byModule !== 0 ? byModule : a.name.localeCompare(b.name);
|
|
127
|
+
});
|
|
128
|
+
registeredEntitiesNotInSidebarMenu = sortedCatalog
|
|
129
|
+
.filter((e) => !linkedFromMenuPaths.has(e.fullName))
|
|
130
|
+
.map((e) => e.fullName);
|
|
131
|
+
}
|
|
132
|
+
return {
|
|
133
|
+
success: true,
|
|
134
|
+
matchStatus,
|
|
135
|
+
truncated,
|
|
136
|
+
navigation: rows.slice(0, limit),
|
|
137
|
+
...(entityFullName
|
|
138
|
+
? {
|
|
139
|
+
entityMasterUiActions: entityMasterUiActions ?? null,
|
|
140
|
+
entityMasterUiActionsMatch,
|
|
141
|
+
}
|
|
142
|
+
: {}),
|
|
143
|
+
...(registeredEntitiesNotInSidebarMenu !== undefined
|
|
144
|
+
? { registeredEntitiesNotInSidebarMenu }
|
|
145
|
+
: {}),
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
const message = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
150
|
+
return {
|
|
151
|
+
success: false,
|
|
152
|
+
error: message,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
//#endregion
|
|
157
|
+
//#region ---- Private ----
|
|
158
|
+
resolveMenuTitle(text) {
|
|
159
|
+
try {
|
|
160
|
+
return this.translation.translateSync(text);
|
|
161
|
+
}
|
|
162
|
+
catch {
|
|
163
|
+
return text;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
flattenMenus(items) {
|
|
167
|
+
const rows = [];
|
|
168
|
+
const walk = (nodes, ancestorsResolved) => {
|
|
169
|
+
for (const item of nodes) {
|
|
170
|
+
const title = this.resolveMenuTitle(item.text);
|
|
171
|
+
const ancestors = [...ancestorsResolved, title];
|
|
172
|
+
rows.push({
|
|
173
|
+
menuName: item.name,
|
|
174
|
+
title,
|
|
175
|
+
titleKey: item.text,
|
|
176
|
+
hierarchyPath: ancestors.join(' › '),
|
|
177
|
+
depth: ancestorsResolved.length,
|
|
178
|
+
...(item.path ? { path: item.path } : {}),
|
|
179
|
+
...(item.type ? { menuType: item.type } : {}),
|
|
180
|
+
});
|
|
181
|
+
if (item.children?.length) {
|
|
182
|
+
walk(item.children, ancestors);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
walk(items, []);
|
|
187
|
+
return rows;
|
|
188
|
+
}
|
|
189
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMListPlatformNavigationForAiQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
190
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMListPlatformNavigationForAiQuery, providedIn: 'root' }); }
|
|
191
|
+
}
|
|
192
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMListPlatformNavigationForAiQuery, decorators: [{
|
|
193
|
+
type: Injectable,
|
|
194
|
+
args: [{ providedIn: 'root' }]
|
|
195
|
+
}] });
|
|
196
|
+
|
|
197
|
+
export { AXMListPlatformNavigationForAiQuery };
|
|
198
|
+
//# sourceMappingURL=acorex-modules-platform-management-list-platform-navigation-for-ai.query-C3-eBMwF.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-modules-platform-management-list-platform-navigation-for-ai.query-C3-eBMwF.mjs","sources":["../../../../libs/modules/platform-management/src/lib/features/queries/list-platform-navigation-for-ai.query.ts"],"sourcesContent":["import { AXTranslationService } from '@acorex/core/translation';\nimport type { AXPMenuItem } from '@acorex/platform/common';\nimport { AXPMenuProviderService } from '@acorex/platform/common';\nimport type { AXPQuery } from '@acorex/platform/runtime';\nimport { AXPEntityResolver } from '@acorex/platform/layout/entity';\nimport { Injectable, inject } from '@angular/core';\n\nimport type { AXMEntityMasterUiActionsForAi } from './entity-master-actions-for-ai.util';\nimport { axmSummarizeMasterUiActionsForAi } from './entity-master-actions-for-ai.util';\n\n//#region ---- Types ----\n\nexport interface AXMListPlatformNavigationForAiQueryInput {\n /**\n * Single-line filter against resolved titles, `titleKey`, `menuName`, routing `path`,\n * and hierarchical path text (case-insensitive substring match).\n * When omitted, all visible menu rows after middleware are returned (truncated via `limit`).\n */\n quickSearch?: string;\n /**\n * Soft cap after filtering; enforced between 40 and 500. Omit for default **300**.\n */\n limit?: number;\n /**\n * When set to exact `ModuleName.EntityName`, the result includes **`entityMasterUiActions`**\n * (toolbar labels from registered entity layouts) alongside navigation rows — same derivation as **`ListRegisteredEntities`**.\n */\n entityFullName?: string;\n /**\n * When true, the result includes **`registeredEntitiesNotInSidebarMenu`** — resolver catalog entries whose\n * standard master path segment **`/m/{module}/e/{entity}/`** does not appear in any flattened menu **`path`**.\n * Heuristic (see result field); pair with **`ListRegisteredEntities`** for the full catalog.\n */\n includeRegisteredEntitiesNotInSidebarMenu?: boolean;\n}\n\n/** One flattened row from the middleware-applied sidebar / shell menu tree. */\nexport interface AXMPlatformNavigationAiRow {\n /** Stable menu item key when present (often useful for correlate with manifests). */\n menuName?: string;\n /** User-visible title resolved with {@link AXTranslationService.translateSync} when possible. */\n title: string;\n /** Original `text` from the menu definition (typically a `@scope:key` token). */\n titleKey: string;\n /** Breadcrumb of resolved ancestor titles separated by › (current item included last). */\n hierarchyPath: string;\n depth: number;\n /** Entity / page route fragment when navigable via router. */\n path?: string;\n /** `menu` | `group` | `break` when present — folder vs leaf-ish chrome. */\n menuType?: string;\n}\n\n/** `catalog`: no filter. `filtered`: `quickSearch` applied. `empty`: matched nothing. */\nexport type AXMPlatformNavigationAiMatchStatus = 'catalog' | 'filtered' | 'empty';\n\nexport interface AXMListPlatformNavigationForAiQueryResult {\n success: boolean;\n matchStatus?: AXMPlatformNavigationAiMatchStatus;\n /** Flattened menu rows sorted by hierarchy path — how-to answers should cite these verbatim. */\n navigation?: AXMPlatformNavigationAiRow[];\n truncated?: boolean;\n /**\n * Present when **`entityFullName`** was supplied: master list + detail toolbar action labels from the resolver.\n * `null` when the entity did not resolve.\n */\n entityMasterUiActions?: AXMEntityMasterUiActionsForAi | null;\n entityMasterUiActionsMatch?: AXMNavigationEntityUiActionsMatch;\n /**\n * Present when **`includeRegisteredEntitiesNotInSidebarMenu`** was true: `Module.Entity` keys from\n * {@link AXPEntityResolver.listAll} with no matching **`/m/{module}/e/{entity}/`** segment in any menu **`path`**.\n * Entities reachable only via lookups, merge-detail, related lists, or **`command`** navigation (no `path`) can appear here.\n */\n registeredEntitiesNotInSidebarMenu?: string[];\n error?: string;\n}\n\n/** Resolver outcome for optional {@link AXMListPlatformNavigationForAiQueryInput.entityFullName}. */\nexport type AXMNavigationEntityUiActionsMatch = 'none' | 'single';\n\n//#endregion\n\n//#region ---- Helpers ----\n\nconst DEFAULT_ROW_LIMIT = 300;\nconst MIN_ROW_LIMIT = 40;\nconst MAX_ROW_LIMIT = 500;\n\nfunction normalizeLimit(raw: unknown): number {\n if (typeof raw === 'number' && Number.isFinite(raw)) {\n const n = Math.floor(raw);\n return Math.min(MAX_ROW_LIMIT, Math.max(MIN_ROW_LIMIT, n));\n }\n if (typeof raw === 'string') {\n const parsed = Number.parseInt(raw.trim(), 10);\n if (Number.isFinite(parsed)) {\n return Math.min(MAX_ROW_LIMIT, Math.max(MIN_ROW_LIMIT, parsed));\n }\n }\n return DEFAULT_ROW_LIMIT;\n}\n\nfunction matchesFold(haystack: string, needle: string): boolean {\n return haystack.toLocaleUpperCase().includes(needle.toLocaleUpperCase());\n}\n\n/** Expects **`Module.Entity`** (`SecurityManagement.User`). */\nfunction parseRegisteredEntityFullName(fullName: string): { module: string; name: string } | null {\n const trimmed = fullName.trim();\n const dot = trimmed.indexOf('.');\n if (dot <= 0 || dot >= trimmed.length - 1) {\n return null;\n }\n return { module: trimmed.slice(0, dot), name: trimmed.slice(dot + 1) };\n}\n\n/**\n * Collects `Module.Entity` keys implied by entity master router paths on menu rows\n * (`/{app}/m/{module}/e/{entity}/...`).\n */\nfunction collectEntityFullNamesFromMenuPaths(paths: Iterable<string | undefined>): Set<string> {\n const seen = new Set<string>();\n const re = /\\/m\\/([^/?#]+)\\/e\\/([^/?#]+)\\//g;\n for (const raw of paths) {\n if (!raw) {\n continue;\n }\n re.lastIndex = 0;\n let m: RegExpExecArray | null;\n while ((m = re.exec(raw)) !== null) {\n seen.add(`${m[1]}.${m[2]}`);\n }\n }\n return seen;\n}\n\n//#endregion\n\n//#region ---- List platform navigation for AI ----\n\n/**\n * Builds a flattened, searchable view of visible platform menu entries (middleware-filtered snapshot)\n * for product “how‑to” and navigation assistants. Intended for **read-only grounding** —\n * callers should complement with entity schema tools when field-level detail matters.\n * **Sidebar menus are not the full entity catalog** — use optional **`includeRegisteredEntitiesNotInSidebarMenu`**\n * or **`ListRegisteredEntities`** when assistants must not equate “in the menu” with “all registered entities”.\n * Optional **`entityFullName`** (`Module.Entity`) adds toolbar action labels from that entity’s master interfaces.\n */\n@Injectable({ providedIn: 'root' })\nexport class AXMListPlatformNavigationForAiQuery\n implements AXPQuery<AXMListPlatformNavigationForAiQueryInput, AXMListPlatformNavigationForAiQueryResult>\n{\n //#region ---- Services & Dependencies ----\n\n private readonly menuProviders = inject(AXPMenuProviderService);\n private readonly translation = inject(AXTranslationService);\n private readonly entityResolver = inject(AXPEntityResolver);\n\n //#endregion\n\n //#region ---- Query Execution ----\n\n async fetch(\n input?: AXMListPlatformNavigationForAiQueryInput | null,\n ): Promise<AXMListPlatformNavigationForAiQueryResult> {\n try {\n const opts = input ?? {};\n const limit = normalizeLimit(opts.limit);\n const search = opts.quickSearch?.trim();\n\n const entityFullName = opts.entityFullName?.trim();\n\n const tree = await this.menuProviders.items();\n const flattened = this.flattenMenus(tree);\n const linkedFromMenuPaths = collectEntityFullNamesFromMenuPaths(flattened.map((r) => r.path));\n\n let rows = flattened;\n if (search) {\n rows = flattened.filter((r) =>\n matchesFold(`${r.menuName ?? ''}|${r.title}|${r.titleKey}|${r.path ?? ''}|${r.hierarchyPath}`, search),\n );\n }\n\n rows.sort((a, b) => a.hierarchyPath.localeCompare(b.hierarchyPath));\n\n let matchStatus: AXMPlatformNavigationAiMatchStatus;\n if (search && rows.length === 0) {\n matchStatus = 'empty';\n } else if (search) {\n matchStatus = 'filtered';\n } else {\n matchStatus = 'catalog';\n }\n\n const truncated = rows.length > limit;\n\n let entityMasterUiActions: AXMEntityMasterUiActionsForAi | null | undefined;\n let entityMasterUiActionsMatch: AXMNavigationEntityUiActionsMatch | undefined;\n\n if (entityFullName) {\n const parsed = parseRegisteredEntityFullName(entityFullName);\n if (!parsed) {\n entityMasterUiActions = null;\n entityMasterUiActionsMatch = 'none';\n } else {\n const def = await this.entityResolver.get(parsed.module, parsed.name);\n if (def) {\n entityMasterUiActions = axmSummarizeMasterUiActionsForAi(def, (key) =>\n this.resolveMenuTitle(key),\n );\n entityMasterUiActionsMatch = 'single';\n } else {\n entityMasterUiActions = null;\n entityMasterUiActionsMatch = 'none';\n }\n }\n }\n\n let registeredEntitiesNotInSidebarMenu: string[] | undefined;\n if (opts.includeRegisteredEntitiesNotInSidebarMenu) {\n const catalog = await this.entityResolver.listAll();\n const sortedCatalog = [...catalog].sort((a, b) => {\n const byModule = a.module.localeCompare(b.module);\n return byModule !== 0 ? byModule : a.name.localeCompare(b.name);\n });\n registeredEntitiesNotInSidebarMenu = sortedCatalog\n .filter((e) => !linkedFromMenuPaths.has(e.fullName))\n .map((e) => e.fullName);\n }\n\n return {\n success: true,\n matchStatus,\n truncated,\n navigation: rows.slice(0, limit),\n ...(entityFullName\n ? {\n entityMasterUiActions: entityMasterUiActions ?? null,\n entityMasterUiActionsMatch,\n }\n : {}),\n ...(registeredEntitiesNotInSidebarMenu !== undefined\n ? { registeredEntitiesNotInSidebarMenu }\n : {}),\n };\n } catch (error) {\n const message = error instanceof Error ? error.message : 'Unknown error occurred';\n\n return {\n success: false,\n error: message,\n };\n }\n }\n\n //#endregion\n\n //#region ---- Private ----\n\n private resolveMenuTitle(text: string): string {\n try {\n return this.translation.translateSync(text);\n } catch {\n return text;\n }\n }\n\n private flattenMenus(items: AXPMenuItem[]): AXMPlatformNavigationAiRow[] {\n const rows: AXMPlatformNavigationAiRow[] = [];\n\n const walk = (nodes: AXPMenuItem[], ancestorsResolved: string[]): void => {\n for (const item of nodes) {\n const title = this.resolveMenuTitle(item.text);\n const ancestors = [...ancestorsResolved, title];\n\n rows.push({\n menuName: item.name,\n title,\n titleKey: item.text,\n hierarchyPath: ancestors.join(' › '),\n depth: ancestorsResolved.length,\n ...(item.path ? { path: item.path } : {}),\n ...(item.type ? { menuType: item.type } : {}),\n });\n\n if (item.children?.length) {\n walk(item.children, ancestors);\n }\n }\n };\n\n walk(items, []);\n return rows;\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AXTranslationService } from '@acorex/core/translation';
|
|
2
|
+
import { AXPEntityResolver, collectEntityQuickSearchFieldPaths } from '@acorex/platform/layout/entity';
|
|
2
3
|
import * as i0 from '@angular/core';
|
|
3
4
|
import { inject, Injectable } from '@angular/core';
|
|
5
|
+
import { a as axmSummarizeMasterUiActionsForAi } from './acorex-modules-platform-management-entity-master-actions-for-ai.util-OCk5eqQz.mjs';
|
|
4
6
|
|
|
5
7
|
//#endregion
|
|
6
8
|
//#region ---- Property summary ----
|
|
@@ -38,12 +40,13 @@ function toRegisteredEntityPropertySummary(prop) {
|
|
|
38
40
|
/**
|
|
39
41
|
* Returns every entity known to {@link AXPEntityResolver} (all loaders), sorted by module then entity name,
|
|
40
42
|
* unless {@link AXMListRegisteredEntitiesQueryInput.entityFullName} is set — then only that entity is returned,
|
|
41
|
-
* with property metadata
|
|
43
|
+
* with property metadata and **master UI action** summaries (list + detail toolbars).
|
|
42
44
|
*/
|
|
43
45
|
class AXMListRegisteredEntitiesQuery {
|
|
44
46
|
constructor() {
|
|
45
47
|
//#region ---- Services & Dependencies ----
|
|
46
48
|
this.entityResolver = inject(AXPEntityResolver);
|
|
49
|
+
this.translation = inject(AXTranslationService);
|
|
47
50
|
}
|
|
48
51
|
//#endregion
|
|
49
52
|
//#region ---- Query Execution ----
|
|
@@ -72,7 +75,16 @@ class AXMListRegisteredEntitiesQuery {
|
|
|
72
75
|
if (targetFullName) {
|
|
73
76
|
const def = await this.entityResolver.get(e.module, e.name);
|
|
74
77
|
const props = def?.properties?.map(toRegisteredEntityPropertySummary) ?? [];
|
|
75
|
-
|
|
78
|
+
const masterUiActions = def ? axmSummarizeMasterUiActionsForAi(def, (k) => this.resolveEntityCopy(k)) : undefined;
|
|
79
|
+
const quickSearchPaths = def
|
|
80
|
+
? await collectEntityQuickSearchFieldPaths(def, (m, n) => this.entityResolver.get(m, n))
|
|
81
|
+
: undefined;
|
|
82
|
+
entities.push({
|
|
83
|
+
...base,
|
|
84
|
+
properties: props,
|
|
85
|
+
...(quickSearchPaths?.length ? { quickSearchPaths } : {}),
|
|
86
|
+
...(masterUiActions ? { masterUiActions } : {}),
|
|
87
|
+
});
|
|
76
88
|
}
|
|
77
89
|
else {
|
|
78
90
|
entities.push(base);
|
|
@@ -104,6 +116,16 @@ class AXMListRegisteredEntitiesQuery {
|
|
|
104
116
|
};
|
|
105
117
|
}
|
|
106
118
|
}
|
|
119
|
+
//#endregion
|
|
120
|
+
//#region ---- Private helpers ----
|
|
121
|
+
resolveEntityCopy(text) {
|
|
122
|
+
try {
|
|
123
|
+
return this.translation.translateSync(text);
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
return text;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
107
129
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMListRegisteredEntitiesQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
108
130
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMListRegisteredEntitiesQuery, providedIn: 'root' }); }
|
|
109
131
|
}
|
|
@@ -113,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
113
135
|
}] });
|
|
114
136
|
|
|
115
137
|
export { AXMListRegisteredEntitiesQuery };
|
|
116
|
-
//# sourceMappingURL=acorex-modules-platform-management-list-registered-entities.query-
|
|
138
|
+
//# sourceMappingURL=acorex-modules-platform-management-list-registered-entities.query-BZVD9YPU.mjs.map
|
package/fesm2022/acorex-modules-platform-management-list-registered-entities.query-BZVD9YPU.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-modules-platform-management-list-registered-entities.query-BZVD9YPU.mjs","sources":["../../../../libs/modules/platform-management/src/lib/features/queries/list-registered-entities.query.ts"],"sourcesContent":["import type { AXPEntityProperty } from '@acorex/platform/common';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPEntityResolver, collectEntityQuickSearchFieldPaths } from '@acorex/platform/layout/entity';\nimport { AXPQuery } from '@acorex/platform/runtime';\nimport { Injectable, inject } from '@angular/core';\n\nimport type { AXMEntityMasterUiActionsForAi } from './entity-master-actions-for-ai.util';\nimport { axmSummarizeMasterUiActionsForAi } from './entity-master-actions-for-ai.util';\n\n//#region ---- Types ----\n\nexport interface AXMListRegisteredEntitiesQueryInput {\n /**\n * Optional `ModuleName.EntityName`. When set, the result list is filtered to that entity only and its row\n * includes a full `properties` array. When omitted, the entire catalog is returned without `properties` on\n * any row (lightweight list).\n */\n entityFullName?: string;\n}\n\nexport interface AXMRegisteredEntityPropertySummary {\n name: string;\n title: string;\n dataType: string;\n nullable?: boolean;\n /** Editor/widget type when present (e.g. lookup). */\n interfaceType?: string;\n /** For lookup-like fields: related catalog entity as `Module.Entity`. */\n lookupEntity?: string;\n /**\n * Denormalized value paths on stored rows (lodash `get` paths for filters), e.g. `brand.title` alongside `brandId`.\n */\n filterValuePaths?: string[];\n}\n\nexport interface AXMListRegisteredEntitiesQueryItem {\n /** Module key as registered on entity loaders (first segment of fullName). */\n module: string;\n /** Entity name (second segment of fullName). */\n name: string;\n /** Canonical `ModuleName.EntityName` string; use this value for Entity:GetDetails `entity`. */\n fullName: string;\n /**\n * Present on each row when {@link AXMListRegisteredEntitiesQueryInput.entityFullName} was provided (the single\n * matching catalog entry). Omitted on every row when that input was not provided.\n */\n properties?: AXMRegisteredEntityPropertySummary[];\n /**\n * When {@link AXMListRegisteredEntitiesQueryInput.entityFullName} was supplied and the resolver returned a definition:\n * master **list** and **detail (single)** toolbar actions (resolved titles — Create, Delete, View, …).\n */\n masterUiActions?: AXMEntityMasterUiActionsForAi;\n /**\n * When {@link AXMListRegisteredEntitiesQueryInput.entityFullName} was supplied and a definition was resolved:\n * lodash-get paths included in mock storage **`quickSearch`** (text `contains`), including merge-detail related\n * snapshots (e.g. `person.fullName`) and dotted column paths.\n */\n quickSearchPaths?: string[];\n}\n\n/** How the result relates to the optional entityFullName filter; omitted when success is false. */\nexport type AXMListRegisteredEntitiesMatchStatus = 'none' | 'single' | 'multiple' | 'catalog';\n\nexport interface AXMListRegisteredEntitiesQueryResult {\n success: boolean;\n /** Present when success is true; documents catalog vs filter match cardinality for agents. */\n matchStatus?: AXMListRegisteredEntitiesMatchStatus;\n entities?: AXMListRegisteredEntitiesQueryItem[];\n error?: string;\n}\n\n//#endregion\n\n//#region ---- Property summary ----\n\nfunction toRegisteredEntityPropertySummary(prop: AXPEntityProperty): AXMRegisteredEntityPropertySummary {\n const iface = prop.schema?.interface;\n const rawType = iface?.type;\n const interfaceType = typeof rawType === 'string' ? rawType : undefined;\n const opts = iface?.options as Record<string, unknown> | undefined;\n\n let lookupEntity: string | undefined;\n let filterValuePaths: string[] | undefined;\n\n if (opts && typeof opts['entity'] === 'string' && opts['entity'].trim()) {\n lookupEntity = opts['entity'].trim();\n }\n\n const expose = opts?.['expose'];\n if (Array.isArray(expose)) {\n const paths = expose\n .map((row) => (row && typeof row === 'object' ? (row as { target?: unknown }).target : undefined))\n .filter((t): t is string => typeof t === 'string' && t.length > 0);\n if (paths.length) {\n filterValuePaths = paths;\n }\n }\n\n return {\n name: prop.name,\n title: prop.title,\n dataType: prop.schema?.dataType ?? 'unknown',\n nullable: prop.schema?.nullable,\n ...(interfaceType ? { interfaceType } : {}),\n ...(lookupEntity ? { lookupEntity } : {}),\n ...(filterValuePaths ? { filterValuePaths } : {}),\n };\n}\n\n//#endregion\n\n//#region ---- List Registered Entities Query ----\n\n/**\n * Returns every entity known to {@link AXPEntityResolver} (all loaders), sorted by module then entity name,\n * unless {@link AXMListRegisteredEntitiesQueryInput.entityFullName} is set — then only that entity is returned,\n * with property metadata and **master UI action** summaries (list + detail toolbars).\n */\n@Injectable({ providedIn: 'root' })\nexport class AXMListRegisteredEntitiesQuery\n implements AXPQuery<AXMListRegisteredEntitiesQueryInput, AXMListRegisteredEntitiesQueryResult>\n{\n //#region ---- Services & Dependencies ----\n\n private readonly entityResolver = inject(AXPEntityResolver);\n private readonly translation = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Query Execution ----\n\n async fetch(input?: AXMListRegisteredEntitiesQueryInput | null): Promise<AXMListRegisteredEntitiesQueryResult> {\n try {\n const opts = input ?? {};\n const entries = await this.entityResolver.listAll();\n const targetFullName = opts.entityFullName?.trim();\n\n const sorted = [...entries].sort((a, b) => {\n const byModule = a.module.localeCompare(b.module);\n if (byModule !== 0) {\n return byModule;\n }\n return a.name.localeCompare(b.name);\n });\n\n const entities: AXMListRegisteredEntitiesQueryItem[] = [];\n\n for (const e of sorted) {\n if (targetFullName && e.fullName !== targetFullName) {\n continue;\n }\n\n const base: AXMListRegisteredEntitiesQueryItem = {\n module: e.module,\n name: e.name,\n fullName: e.fullName,\n };\n\n if (targetFullName) {\n const def = await this.entityResolver.get(e.module, e.name);\n const props = def?.properties?.map(toRegisteredEntityPropertySummary) ?? [];\n const masterUiActions = def ? axmSummarizeMasterUiActionsForAi(def, (k) => this.resolveEntityCopy(k)) : undefined;\n const quickSearchPaths = def\n ? await collectEntityQuickSearchFieldPaths(def, (m, n) => this.entityResolver.get(m, n))\n : undefined;\n entities.push({\n ...base,\n properties: props,\n ...(quickSearchPaths?.length ? { quickSearchPaths } : {}),\n ...(masterUiActions ? { masterUiActions } : {}),\n });\n } else {\n entities.push(base);\n }\n }\n\n let matchStatus: AXMListRegisteredEntitiesMatchStatus;\n if (!targetFullName) {\n matchStatus = 'catalog';\n } else if (entities.length === 0) {\n matchStatus = 'none';\n } else if (entities.length === 1) {\n matchStatus = 'single';\n } else {\n matchStatus = 'multiple';\n }\n\n return {\n success: true,\n matchStatus,\n entities,\n };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Unknown error occurred',\n };\n }\n }\n\n //#endregion\n\n //#region ---- Private helpers ----\n\n private resolveEntityCopy(text: string): string {\n try {\n return this.translation.translateSync(text);\n } catch {\n return text;\n }\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ import * as i0 from '@angular/core';
|
|
|
22
22
|
import { inject, viewChild, signal, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
23
23
|
import { ActivatedRoute } from '@angular/router';
|
|
24
24
|
import { Subject, takeUntil } from 'rxjs';
|
|
25
|
-
import { A as AXPMenuManagementService } from './acorex-modules-platform-management-acorex-modules-platform-management-
|
|
25
|
+
import { A as AXPMenuManagementService } from './acorex-modules-platform-management-acorex-modules-platform-management-D0D56pWx.mjs';
|
|
26
26
|
|
|
27
27
|
//#region ---- Menu List Component ----
|
|
28
28
|
class AXMMenuListComponent extends AXPPageLayoutBaseComponent {
|
|
@@ -516,4 +516,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
516
516
|
}], propDecorators: { tree: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXTreeViewComponent), { isSignal: true }] }] } });
|
|
517
517
|
|
|
518
518
|
export { AXMMenuListComponent };
|
|
519
|
-
//# sourceMappingURL=acorex-modules-platform-management-menu-list.component-
|
|
519
|
+
//# sourceMappingURL=acorex-modules-platform-management-menu-list.component-BE9_j1Xy.mjs.map
|