@acorex/modules 21.0.0-next.64 → 21.0.0-next.67
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/ai-management/README.md +1 -1
- package/fesm2022/{acorex-modules-ai-management-agent.entity-X51GLTdi.mjs → acorex-modules-ai-management-agent.entity-C3uhOrld.mjs} +81 -1
- package/fesm2022/acorex-modules-ai-management-agent.entity-C3uhOrld.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-u1hZ4P5s.mjs → acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-BC6vzGG9.mjs} +25 -3
- package/fesm2022/acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-BC6vzGG9.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-assist.entity-2h5KE9UH.mjs → acorex-modules-ai-management-assist.entity-DRXYUOAf.mjs} +2 -2
- package/fesm2022/acorex-modules-ai-management-assist.entity-DRXYUOAf.mjs.map +1 -0
- package/fesm2022/acorex-modules-ai-management.mjs +205 -38
- package/fesm2022/acorex-modules-ai-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-application-management.mjs +47 -2
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-DqmJVJ0z.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-DHM3xrMh.mjs} +106 -88
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-DHM3xrMh.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-DhVwPz0T.mjs → acorex-modules-assessment-management-assessment-case.entity-DLO1sfD4.mjs} +3 -2
- package/fesm2022/acorex-modules-assessment-management-assessment-case.entity-DLO1sfD4.mjs.map +1 -0
- package/fesm2022/acorex-modules-assessment-management-assessment-session-answers-view.util-CDAdDXDl.mjs +122 -0
- package/fesm2022/acorex-modules-assessment-management-assessment-session-answers-view.util-CDAdDXDl.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-BvV2Qgw1.mjs → acorex-modules-assessment-management-assessment-session.entity-FDgQPy0O.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-BvV2Qgw1.mjs.map → acorex-modules-assessment-management-assessment-session.entity-FDgQPy0O.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-4fkaeAG-.mjs → acorex-modules-assessment-management-fill-assessment-session.command-CfcHl3L_.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-4fkaeAG-.mjs.map → acorex-modules-assessment-management-fill-assessment-session.command-CfcHl3L_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-6IGOdVVZ.mjs → acorex-modules-assessment-management-preview-question.command-DsQ_LTMn.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-6IGOdVVZ.mjs.map → acorex-modules-assessment-management-preview-question.command-DsQ_LTMn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-CRDBe_BS.mjs → acorex-modules-assessment-management-preview-questionnaire.command-BKxRn8Ha.mjs} +7 -7
- package/fesm2022/acorex-modules-assessment-management-preview-questionnaire.command-BKxRn8Ha.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-B2ES-zcL.mjs → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-Dxhk9mD4.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-B2ES-zcL.mjs.map → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-Dxhk9mD4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-Cw2WCdYK.mjs → acorex-modules-assessment-management-question-bank-item.entity-6H5NiAwi.mjs} +3 -2
- package/fesm2022/acorex-modules-assessment-management-question-bank-item.entity-6H5NiAwi.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-D9I3S-ZT.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-B0ZKyWy5.mjs} +96 -7
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-B0ZKyWy5.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-D9nHUmQB.mjs → acorex-modules-assessment-management-questionnaire.entity-BS1ohT8P.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-D9nHUmQB.mjs.map → acorex-modules-assessment-management-questionnaire.entity-BS1ohT8P.mjs.map} +1 -1
- package/fesm2022/acorex-modules-assessment-management-review-assessment-session.command-Dcopsdi4.mjs +228 -0
- package/fesm2022/acorex-modules-assessment-management-review-assessment-session.command-Dcopsdi4.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-BOeO3Dit.mjs → acorex-modules-assessment-management-view-session-answers.command-3UWzJPH6.mjs} +4 -74
- package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-3UWzJPH6.mjs.map +1 -0
- package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
- package/fesm2022/{acorex-modules-asset-management-acorex-modules-asset-management-BtcY1UQy.mjs → acorex-modules-asset-management-acorex-modules-asset-management-BdiaXlkx.mjs} +12 -27
- package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-BdiaXlkx.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-pKZoxsjk.mjs → acorex-modules-asset-management-asset-system-assignment.entity-Bf9nJTkD.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-pKZoxsjk.mjs.map → acorex-modules-asset-management-asset-system-assignment.entity-Bf9nJTkD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-CXz2G5v1.mjs → acorex-modules-asset-management-asset-system-type.entity-Cbzu3bqC.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-CXz2G5v1.mjs.map → acorex-modules-asset-management-asset-system-type.entity-Cbzu3bqC.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system.entity-C3zf6WVD.mjs → acorex-modules-asset-management-asset-system.entity-DA7dO3eE.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system.entity-C3zf6WVD.mjs.map → acorex-modules-asset-management-asset-system.entity-DA7dO3eE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-DTaeNNBW.mjs → acorex-modules-asset-management-asset-type-section-component.entity-C9B-TUQD.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-DTaeNNBW.mjs.map → acorex-modules-asset-management-asset-type-section-component.entity-C9B-TUQD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-Bes5h7aJ.mjs → acorex-modules-asset-management-asset-type-section.entity-BNz1Zfox.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-Bes5h7aJ.mjs.map → acorex-modules-asset-management-asset-type-section.entity-BNz1Zfox.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-type.entity-Ch8h0sph.mjs → acorex-modules-asset-management-asset-type.entity-D_bBxBKI.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-type.entity-Ch8h0sph.mjs.map → acorex-modules-asset-management-asset-type.entity-D_bBxBKI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset.entity-DJ-A6lx1.mjs → acorex-modules-asset-management-asset.entity-Cf_H7edH.mjs} +74 -34
- package/fesm2022/acorex-modules-asset-management-asset.entity-Cf_H7edH.mjs.map +1 -0
- package/fesm2022/acorex-modules-asset-management.mjs +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-D4IBi_VD.mjs → acorex-modules-auth-acorex-modules-auth-BUuEzfsI.mjs} +16 -14
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-BUuEzfsI.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-BEktaBWD.mjs → acorex-modules-auth-app-chooser.component-DnmLfX5x.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-BEktaBWD.mjs.map → acorex-modules-auth-app-chooser.component-DnmLfX5x.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-aAwHzXPj.mjs → acorex-modules-auth-login.module-D1-POhQk.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-aAwHzXPj.mjs.map → acorex-modules-auth-login.module-D1-POhQk.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-BapDYFZ_.mjs → acorex-modules-auth-master.layout-DMP4RC6L.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-BapDYFZ_.mjs.map → acorex-modules-auth-master.layout-DMP4RC6L.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-Cyu2vqyK.mjs → acorex-modules-auth-oauth-callback.component-BhfFPeWT.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-Cyu2vqyK.mjs.map → acorex-modules-auth-oauth-callback.component-BhfFPeWT.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-DB-ac0Rn.mjs → acorex-modules-auth-password.component-BMVSHYy7.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-DB-ac0Rn.mjs.map → acorex-modules-auth-password.component-BMVSHYy7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-cPmwNpuq.mjs → acorex-modules-auth-password.component-Cm8DsDvu.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-cPmwNpuq.mjs.map → acorex-modules-auth-password.component-Cm8DsDvu.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-r72zIRTa.mjs → acorex-modules-auth-routes-B85OzgW1.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-r72zIRTa.mjs.map → acorex-modules-auth-routes-B85OzgW1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-AQA2o6Ty.mjs → acorex-modules-auth-tenant-chooser.component-D6_rL2WP.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-AQA2o6Ty.mjs.map → acorex-modules-auth-tenant-chooser.component-D6_rL2WP.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-Dx0CC5ic.mjs → acorex-modules-auth-two-factor.module-DfyDQIw-.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-Dx0CC5ic.mjs.map → acorex-modules-auth-two-factor.module-DfyDQIw-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-3Wr7DUDQ.mjs → acorex-modules-auth-user-sessions.component-gJSHI_eh.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-user-sessions.component-3Wr7DUDQ.mjs.map → acorex-modules-auth-user-sessions.component-gJSHI_eh.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-common.mjs +1 -201
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/{acorex-modules-content-management-acorex-modules-content-management-CO8lZb34.mjs → acorex-modules-content-management-acorex-modules-content-management-txpooXrE.mjs} +9 -42
- package/fesm2022/acorex-modules-content-management-acorex-modules-content-management-txpooXrE.mjs.map +1 -0
- package/fesm2022/{acorex-modules-content-management-permission-definition.provider-Bcq5uOVH.mjs → acorex-modules-content-management-permission-definition.provider-D9woYm2m.mjs} +2 -2
- package/fesm2022/{acorex-modules-content-management-permission-definition.provider-Bcq5uOVH.mjs.map → acorex-modules-content-management-permission-definition.provider-D9woYm2m.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-edit.component-D_q_xWeI.mjs → acorex-modules-content-management-template-content-editor-widget-edit.component-CQa1h31v.mjs} +2 -2
- package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-edit.component-D_q_xWeI.mjs.map → acorex-modules-content-management-template-content-editor-widget-edit.component-CQa1h31v.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-view.component-DU5y6UxK.mjs → acorex-modules-content-management-template-content-editor-widget-view.component-DzM4oMNV.mjs} +2 -2
- package/fesm2022/{acorex-modules-content-management-template-content-editor-widget-view.component-DU5y6UxK.mjs.map → acorex-modules-content-management-template-content-editor-widget-view.component-DzM4oMNV.mjs.map} +1 -1
- package/fesm2022/acorex-modules-content-management.mjs +1 -1
- package/fesm2022/{acorex-modules-conversation-acorex-modules-conversation-DkdNLMKa.mjs → acorex-modules-conversation-acorex-modules-conversation-DYW31fEm.mjs} +157 -68
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-DYW31fEm.mjs.map +1 -0
- package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DQlE8l4c.mjs +329 -0
- package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DQlE8l4c.mjs.map +1 -0
- package/fesm2022/{acorex-modules-conversation-comments-page.component-ehUCjoFD.mjs → acorex-modules-conversation-comments-page.component-CNqL-HdS.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-comments-page.component-ehUCjoFD.mjs.map → acorex-modules-conversation-comments-page.component-CNqL-HdS.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command-ZNcVi54N.mjs → acorex-modules-conversation-send-assist-chat-message.command-CuYYEqhb.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command-ZNcVi54N.mjs.map → acorex-modules-conversation-send-assist-chat-message.command-CuYYEqhb.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-CX6lm1lG.mjs → acorex-modules-conversation-start-assist-chat.command-BKwrZJDs.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-CX6lm1lG.mjs.map → acorex-modules-conversation-start-assist-chat.command-BKwrZJDs.mjs.map} +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +78 -21
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +4 -4
- package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-help-desk-acorex-modules-help-desk-DVlO9JZw.mjs → acorex-modules-help-desk-acorex-modules-help-desk-IoBGIJ-Y.mjs} +5 -5
- package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-IoBGIJ-Y.mjs.map +1 -0
- package/fesm2022/{acorex-modules-help-desk-capture-screen.component-rNPehEf8.mjs → acorex-modules-help-desk-capture-screen.component-DnupDyZu.mjs} +2 -2
- package/fesm2022/{acorex-modules-help-desk-capture-screen.component-rNPehEf8.mjs.map → acorex-modules-help-desk-capture-screen.component-DnupDyZu.mjs.map} +1 -1
- package/fesm2022/acorex-modules-help-desk.mjs +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-uRz1c5Km.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-DrKulwY-.mjs} +20 -20
- package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-uRz1c5Km.mjs.map → acorex-modules-human-capital-management-acorex-modules-human-capital-management-DrKulwY-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-23klKnTy.mjs → acorex-modules-human-capital-management-approve-leave-request.command-TavX6h7z.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-23klKnTy.mjs.map → acorex-modules-human-capital-management-approve-leave-request.command-TavX6h7z.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-BJ8xUiR2.mjs → acorex-modules-human-capital-management-assign-position-assignment.command-ZEmi88vf.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-BJ8xUiR2.mjs.map → acorex-modules-human-capital-management-assign-position-assignment.command-ZEmi88vf.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-B3u1gXWI.mjs → acorex-modules-human-capital-management-cancel-leave-request.command-DzIMYIhe.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-B3u1gXWI.mjs.map → acorex-modules-human-capital-management-cancel-leave-request.command-DzIMYIhe.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-uhwOOw_y.mjs → acorex-modules-human-capital-management-employee.entity-CrVU_3Jv.mjs} +4 -10
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-CrVU_3Jv.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-BQe82rsr.mjs → acorex-modules-human-capital-management-employment-type.entity-BeiaEsNZ.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-BQe82rsr.mjs.map → acorex-modules-human-capital-management-employment-type.entity-BeiaEsNZ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-CE4hs4C8.mjs → acorex-modules-human-capital-management-leave-request.entity-QeY6lcUY.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-CE4hs4C8.mjs.map → acorex-modules-human-capital-management-leave-request.entity-QeY6lcUY.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-DJ4EEUKg.mjs → acorex-modules-human-capital-management-leave-type.entity-D7B3adkZ.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-DJ4EEUKg.mjs.map → acorex-modules-human-capital-management-leave-type.entity-D7B3adkZ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-lifecycle-event-type.entity-CB2hlyOP.mjs → acorex-modules-human-capital-management-lifecycle-event-type.entity-Dim-8hT7.mjs} +6 -3
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-event-type.entity-Dim-8hT7.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-lifecycle-event.entity-DWonFZpU.mjs → acorex-modules-human-capital-management-lifecycle-event.entity-3HtYOKrY.mjs} +17 -5
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-event.entity-3HtYOKrY.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-o8PjggiT.mjs → acorex-modules-human-capital-management-position-assignment.entity-Byxt921P.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-o8PjggiT.mjs.map → acorex-modules-human-capital-management-position-assignment.entity-Byxt921P.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-B6sr7oey.mjs → acorex-modules-human-capital-management-reject-leave-request.command-CAvjZTG9.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-B6sr7oey.mjs.map → acorex-modules-human-capital-management-reject-leave-request.command-CAvjZTG9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-aH7qTRnr.mjs → acorex-modules-human-capital-management-revoke-position-assignment.command-BeWrsQo8.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-aH7qTRnr.mjs.map → acorex-modules-human-capital-management-revoke-position-assignment.command-BeWrsQo8.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-start-lifecycle-event-flow.command-B-VsXS4c.mjs → acorex-modules-human-capital-management-start-lifecycle-event-flow.command-Bz2SZcmm.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-start-lifecycle-event-flow.command-B-VsXS4c.mjs.map → acorex-modules-human-capital-management-start-lifecycle-event-flow.command-Bz2SZcmm.mjs.map} +1 -1
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
- package/fesm2022/acorex-modules-locale-management.mjs +68 -1
- package/fesm2022/acorex-modules-locale-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-meeting-management.mjs +1 -1
- package/fesm2022/acorex-modules-meeting-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-notification-management-notification-page.component-B017YY1H.mjs → acorex-modules-notification-management-notification-page.component-6YOiGgKm.mjs} +2 -2
- package/fesm2022/{acorex-modules-notification-management-notification-page.component-B017YY1H.mjs.map → acorex-modules-notification-management-notification-page.component-6YOiGgKm.mjs.map} +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +2 -2
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-acorex-modules-organization-management-BZtWfgmH.mjs → acorex-modules-organization-management-acorex-modules-organization-management-Iopv_G-d.mjs} +37 -37
- package/fesm2022/{acorex-modules-organization-management-acorex-modules-organization-management-BZtWfgmH.mjs.map → acorex-modules-organization-management-acorex-modules-organization-management-Iopv_G-d.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-C-yO5On4.mjs → acorex-modules-organization-management-add-business-unit-to-business-unit.command-D7NChP_A.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-C-yO5On4.mjs.map → acorex-modules-organization-management-add-business-unit-to-business-unit.command-D7NChP_A.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-BL5eWJ56.mjs → acorex-modules-organization-management-add-position-to-business-unit.command-PkeqXFt1.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-BL5eWJ56.mjs.map → acorex-modules-organization-management-add-position-to-business-unit.command-PkeqXFt1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-team-to-business-unit.command-l4N6g0Hc.mjs → acorex-modules-organization-management-add-team-to-business-unit.command-jalyX-F4.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-team-to-business-unit.command-l4N6g0Hc.mjs.map → acorex-modules-organization-management-add-team-to-business-unit.command-jalyX-F4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-business-unit.entity-CONTwX52.mjs → acorex-modules-organization-management-business-unit.entity-CBjAC9Ip.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-business-unit.entity-CONTwX52.mjs.map → acorex-modules-organization-management-business-unit.entity-CBjAC9Ip.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-chart.entity-DeKPBfgx.mjs → acorex-modules-organization-management-chart.entity-CaY_5LGN.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-chart.entity-DeKPBfgx.mjs.map → acorex-modules-organization-management-chart.entity-CaY_5LGN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-company.entity-BAlz8AfD.mjs → acorex-modules-organization-management-company.entity-BUBhqyCn.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-company.entity-BAlz8AfD.mjs.map → acorex-modules-organization-management-company.entity-BUBhqyCn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-entity.provider-DjPSiqcX.mjs → acorex-modules-organization-management-entity.provider-BZsy_wi6.mjs} +15 -15
- package/fesm2022/{acorex-modules-organization-management-entity.provider-DjPSiqcX.mjs.map → acorex-modules-organization-management-entity.provider-BZsy_wi6.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-BLmayeSc.mjs → acorex-modules-organization-management-feature-definition.provider-CEO1nSFP.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-BLmayeSc.mjs.map → acorex-modules-organization-management-feature-definition.provider-CEO1nSFP.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-HBi-EMRE.mjs → acorex-modules-organization-management-job-definition-pages-component.provider-ChRGp5ZI.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-HBi-EMRE.mjs.map → acorex-modules-organization-management-job-definition-pages-component.provider-ChRGp5ZI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-CtIfsZ6x.mjs → acorex-modules-organization-management-job-definition-responsibilities-page.component-aWZO09Xw.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-CtIfsZ6x.mjs.map → acorex-modules-organization-management-job-definition-responsibilities-page.component-aWZO09Xw.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-C1vCQayM.mjs → acorex-modules-organization-management-job-definition-skills-page.component-DJcFhQM9.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-C1vCQayM.mjs.map → acorex-modules-organization-management-job-definition-skills-page.component-DJcFhQM9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-Db5li0zL.mjs → acorex-modules-organization-management-job-definition.entity-BoM49wYi.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-Db5li0zL.mjs.map → acorex-modules-organization-management-job-definition.entity-BoM49wYi.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-level.datasource-BTRKW7nq.mjs → acorex-modules-organization-management-job-level.datasource-DbQG79uR.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-level.datasource-BTRKW7nq.mjs.map → acorex-modules-organization-management-job-level.datasource-DbQG79uR.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-level.entity-Cn-91_r8.mjs → acorex-modules-organization-management-job-level.entity-XO-NsBG-.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-level.entity-Cn-91_r8.mjs.map → acorex-modules-organization-management-job-level.entity-XO-NsBG-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-menu.provider-CVmV-hY5.mjs → acorex-modules-organization-management-menu.provider-DXW6aUIX.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-menu.provider-CVmV-hY5.mjs.map → acorex-modules-organization-management-menu.provider-DXW6aUIX.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-default-node-contribution.provider-bdtNexEf.mjs → acorex-modules-organization-management-org-chart-default-node-contribution.provider-ClKr6K6Y.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-default-node-contribution.provider-bdtNexEf.mjs.map → acorex-modules-organization-management-org-chart-default-node-contribution.provider-ClKr6K6Y.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-B0aaFv5p.mjs → acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-BjIDzwXF.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-B0aaFv5p.mjs.map → acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-BjIDzwXF.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-Xe4nhY3j.mjs → acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-DRAlUmIa.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-Xe4nhY3j.mjs.map → acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-DRAlUmIa.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-ux-node-contribution.provider-CTprHwCi.mjs → acorex-modules-organization-management-org-chart-ux-node-contribution.provider-DwSjov_Z.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-ux-node-contribution.provider-CTprHwCi.mjs.map → acorex-modules-organization-management-org-chart-ux-node-contribution.provider-DwSjov_Z.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-ChXY8ncD.mjs → acorex-modules-organization-management-org-chart.page-CuPEM-_N.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-ChXY8ncD.mjs.map → acorex-modules-organization-management-org-chart.page-CuPEM-_N.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-8t2vBgtp.mjs → acorex-modules-organization-management-permission-definition.provider-BNthP0QV.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-8t2vBgtp.mjs.map → acorex-modules-organization-management-permission-definition.provider-BNthP0QV.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-position.entity-BVWbTeks.mjs → acorex-modules-organization-management-position.entity-Cja3CYmL.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-position.entity-BVWbTeks.mjs.map → acorex-modules-organization-management-position.entity-Cja3CYmL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-DWzFncr1.mjs → acorex-modules-organization-management-remove-position-from-business-unit.command-Dm1a6-uO.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-DWzFncr1.mjs.map → acorex-modules-organization-management-remove-position-from-business-unit.command-Dm1a6-uO.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-CNa-CZOv.mjs → acorex-modules-organization-management-replace-position-assignee.command-BWtzQZyW.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-CNa-CZOv.mjs.map → acorex-modules-organization-management-replace-position-assignee.command-BWtzQZyW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CTSCcyFv.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-C4W0VlL5.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-CTSCcyFv.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-C4W0VlL5.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-C82TQFS-.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-CaPqjai7.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-C82TQFS-.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-CaPqjai7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-DjVuISfE.mjs → acorex-modules-organization-management-responsibilities-matrix.component-nJuP6fA0.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-DjVuISfE.mjs.map → acorex-modules-organization-management-responsibilities-matrix.component-nJuP6fA0.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibility-level.entity-BlENDhF6.mjs → acorex-modules-organization-management-responsibility-level.entity-CvvzIjvE.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibility-level.entity-BlENDhF6.mjs.map → acorex-modules-organization-management-responsibility-level.entity-CvvzIjvE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-DamPTQMp.mjs → acorex-modules-organization-management-responsibility.entity-Cc0Ou-hc.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-DamPTQMp.mjs.map → acorex-modules-organization-management-responsibility.entity-Cc0Ou-hc.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-settings.provider-CtQo6YHj.mjs → acorex-modules-organization-management-settings.provider-C33ZatCD.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-settings.provider-CtQo6YHj.mjs.map → acorex-modules-organization-management-settings.provider-C33ZatCD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team-business-unit.entity-BfvqQb1K.mjs → acorex-modules-organization-management-team-business-unit.entity-DGuF5ux1.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-business-unit.entity-BfvqQb1K.mjs.map → acorex-modules-organization-management-team-business-unit.entity-DGuF5ux1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-wWoB56Il.mjs → acorex-modules-organization-management-team-member-role.entity-BMXkNavp.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-wWoB56Il.mjs.map → acorex-modules-organization-management-team-member-role.entity-BMXkNavp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team-member.entity-COGrDN_G.mjs → acorex-modules-organization-management-team-member.entity-Deem7M3N.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-member.entity-COGrDN_G.mjs.map → acorex-modules-organization-management-team-member.entity-Deem7M3N.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team.entity-DC_rqp9e.mjs → acorex-modules-organization-management-team.entity-CNmpaJ3F.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team.entity-DC_rqp9e.mjs.map → acorex-modules-organization-management-team.entity-CNmpaJ3F.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management.mjs +1 -1
- package/fesm2022/{acorex-modules-product-catalog-product-sku.entity-BNJHLs-b.mjs → acorex-modules-product-catalog-product-sku.entity-C3ynevYI.mjs} +2 -2
- package/fesm2022/acorex-modules-product-catalog-product-sku.entity-C3ynevYI.mjs.map +1 -0
- package/fesm2022/acorex-modules-product-catalog.mjs +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +76 -2
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-B4Ee8USF.mjs → acorex-modules-settings-management-acorex-modules-settings-management-Dj9u0VEL.mjs} +5 -5
- package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-B4Ee8USF.mjs.map → acorex-modules-settings-management-acorex-modules-settings-management-Dj9u0VEL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-nNhEFyc-.mjs → acorex-modules-settings-management-permission-definition.provider-DpRn1jAo.mjs} +2 -2
- package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-nNhEFyc-.mjs.map → acorex-modules-settings-management-permission-definition.provider-DpRn1jAo.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-CEvWwS_a.mjs → acorex-modules-settings-management-setting-page.component-C9wPgm_P.mjs} +2 -2
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-CEvWwS_a.mjs.map → acorex-modules-settings-management-setting-page.component-C9wPgm_P.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-C6ftmjuK.mjs → acorex-modules-settings-management-setting-view.component-BQ69Bx8C.mjs} +31 -4
- package/fesm2022/acorex-modules-settings-management-setting-view.component-BQ69Bx8C.mjs.map +1 -0
- package/fesm2022/acorex-modules-settings-management.mjs +1 -1
- package/fesm2022/{acorex-modules-task-management-acorex-modules-task-management-DAh3IByo.mjs → acorex-modules-task-management-acorex-modules-task-management-BB7eeaYX.mjs} +7 -9
- package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-BB7eeaYX.mjs.map +1 -0
- package/fesm2022/{acorex-modules-task-management-task-board.page-C2hB9JPM.mjs → acorex-modules-task-management-task-board.page-BmUIngWk.mjs} +7 -7
- package/fesm2022/{acorex-modules-task-management-task-board.page-C2hB9JPM.mjs.map → acorex-modules-task-management-task-board.page-BmUIngWk.mjs.map} +1 -1
- package/fesm2022/acorex-modules-task-management.mjs +1 -1
- package/fesm2022/acorex-modules-tenant-management.mjs +46 -1
- package/fesm2022/acorex-modules-tenant-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-workflow-management-index-BhVZ1Bcw.mjs → acorex-modules-workflow-management-index-CdaVEEgn.mjs} +2 -2
- package/fesm2022/acorex-modules-workflow-management-index-CdaVEEgn.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management-index-CxheG2ry.mjs +307 -0
- package/fesm2022/acorex-modules-workflow-management-index-CxheG2ry.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-task-popover.component-DjYDwHWU.mjs → acorex-modules-workflow-management-workflow-task-popover.component-B4hEv2-a.mjs} +3 -3
- package/fesm2022/{acorex-modules-workflow-management-workflow-task-popover.component-DjYDwHWU.mjs.map → acorex-modules-workflow-management-workflow-task-popover.component-B4hEv2-a.mjs.map} +1 -1
- package/fesm2022/acorex-modules-workflow-management.mjs +634 -129
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-workplacesafety-management-hazard-status.provider-v1cFaa3q.mjs +70 -0
- package/fesm2022/acorex-modules-workplacesafety-management-hazard-status.provider-v1cFaa3q.mjs.map +1 -0
- package/fesm2022/acorex-modules-workplacesafety-management.mjs +826 -0
- package/fesm2022/acorex-modules-workplacesafety-management.mjs.map +1 -0
- package/package.json +6 -2
- package/types/acorex-modules-ai-management.d.ts +46 -24
- package/types/acorex-modules-assessment-management.d.ts +8 -0
- package/types/acorex-modules-asset-management.d.ts +6 -0
- package/types/acorex-modules-common.d.ts +3 -9
- package/types/acorex-modules-conversation.d.ts +24 -5
- package/types/acorex-modules-dashboard-management.d.ts +7 -0
- package/types/acorex-modules-data-management.d.ts +11 -3
- package/types/acorex-modules-document-management.d.ts +14 -0
- package/types/acorex-modules-report-management.d.ts +7 -0
- package/types/acorex-modules-workflow-management.d.ts +92 -58
- package/types/acorex-modules-workplacesafety-management.d.ts +143 -0
- package/fesm2022/acorex-modules-ai-management-agent.entity-X51GLTdi.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-u1hZ4P5s.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-assist.entity-2h5KE9UH.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-DqmJVJ0z.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-assessment-case.entity-DhVwPz0T.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-preview-questionnaire.command-CRDBe_BS.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-question-bank-item.entity-Cw2WCdYK.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-questionnaire-viewer-popup.component-D9I3S-ZT.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-view-session-answers.command-BOeO3Dit.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-BtcY1UQy.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset.entity-DJ-A6lx1.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-D4IBi_VD.mjs.map +0 -1
- package/fesm2022/acorex-modules-common-attachments-page.component-rc-wRjbZ.mjs +0 -92
- package/fesm2022/acorex-modules-common-attachments-page.component-rc-wRjbZ.mjs.map +0 -1
- package/fesm2022/acorex-modules-content-management-acorex-modules-content-management-CO8lZb34.mjs.map +0 -1
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-DkdNLMKa.mjs.map +0 -1
- package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-VKPbkRqI.mjs +0 -288
- package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-VKPbkRqI.mjs.map +0 -1
- package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-DVlO9JZw.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-uhwOOw_y.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-event-type.entity-CB2hlyOP.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-event.entity-DWonFZpU.mjs.map +0 -1
- package/fesm2022/acorex-modules-product-catalog-product-sku.entity-BNJHLs-b.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-view.component-C6ftmjuK.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-DAh3IByo.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-index-BhVZ1Bcw.mjs.map +0 -1
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
import * as i2$1 from '@acorex/components/button';
|
|
2
|
+
import { AXButtonModule } from '@acorex/components/button';
|
|
3
|
+
import { AXBasePageComponent } from '@acorex/components/page';
|
|
4
|
+
import * as i2 from '@acorex/core/translation';
|
|
5
|
+
import { AXTranslationModule } from '@acorex/core/translation';
|
|
6
|
+
import { AsyncPipe } from '@angular/common';
|
|
7
|
+
import * as i0 from '@angular/core';
|
|
8
|
+
import { input, computed, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
9
|
+
import * as i2$2 from '@acorex/components/decorators';
|
|
10
|
+
import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
11
|
+
import { b as axmSanitizeDebugFilenamePart, c as axmDownloadDebugJson, d as axmAssistSegmentDirection, e as axmParseAssistTranscriptTextEnvelope, f as axmAssistWidgetNodeFromUnknown, g as axmSyntheticEmbedMessage, h as AXMNodeMessageRendererComponent, i as AXMAssistBotImageLineComponent, j as AXMAssistSuggestionChipsComponent } from './acorex-modules-conversation-acorex-modules-conversation-DYW31fEm.mjs';
|
|
12
|
+
import * as i1 from '@acorex/cdk/accordion';
|
|
13
|
+
import { AXAccordionCdkModule } from '@acorex/cdk/accordion';
|
|
14
|
+
import * as i1$1 from '@acorex/components/code-editor';
|
|
15
|
+
import { AXCodeEditorModule } from '@acorex/components/code-editor';
|
|
16
|
+
import { AXTextRendererComponent } from '@acorex/components/conversation2';
|
|
17
|
+
import { axpAiParseSupervisorAgentToolName, axpAiChatToolOrAgentResultBodyJson, axpAiDelegatedAgentResultSegments, axpAiDelegatedAgentPromptPreview } from '@acorex/modules/ai-management';
|
|
18
|
+
import { AXPMarkdownViewerComponent, AXPMarkdownTemplateDirective } from '@acorex/platform/layout/components';
|
|
19
|
+
import * as i1$2 from '@angular/forms';
|
|
20
|
+
import { FormsModule } from '@angular/forms';
|
|
21
|
+
|
|
22
|
+
//#region ---- Imports ----
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region ---- Export ----
|
|
25
|
+
function axmFormatDelegatedAgentDetailExportJson(delegationCallId, messages, runInput, agentName) {
|
|
26
|
+
const snapshot = {
|
|
27
|
+
exportedAt: new Date().toISOString(),
|
|
28
|
+
delegationCallId: delegationCallId.trim(),
|
|
29
|
+
...(agentName?.trim() ? { agentName: agentName.trim() } : {}),
|
|
30
|
+
...(runInput ? { runInput } : {}),
|
|
31
|
+
messages,
|
|
32
|
+
};
|
|
33
|
+
return JSON.stringify(snapshot, null, 2);
|
|
34
|
+
}
|
|
35
|
+
function axmDownloadDelegatedAgentDetailJson(delegationCallId, messages, runInput, agentName) {
|
|
36
|
+
const text = axmFormatDelegatedAgentDetailExportJson(delegationCallId, messages, runInput, agentName);
|
|
37
|
+
const filename = `assist-delegated-agent-${axmSanitizeDebugFilenamePart(delegationCallId)}.json`;
|
|
38
|
+
axmDownloadDebugJson(filename, text);
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
|
|
42
|
+
//#region ---- Imports ----
|
|
43
|
+
//#endregion
|
|
44
|
+
//#region ---- Tool result index ----
|
|
45
|
+
/** Maps tool_call id → tool-role line carrying {@code tool_result} / {@code agent_result}. */
|
|
46
|
+
function axmBuildToolResultByCallId(messages) {
|
|
47
|
+
const map = new Map();
|
|
48
|
+
for (const line of messages) {
|
|
49
|
+
if (line.role !== 'tool') {
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
for (const seg of line.responses) {
|
|
53
|
+
if (seg.type !== 'tool_result' && seg.type !== 'agent_result') {
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
const callId = seg.callId?.trim();
|
|
57
|
+
if (callId) {
|
|
58
|
+
map.set(callId, line);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return map;
|
|
63
|
+
}
|
|
64
|
+
//#endregion
|
|
65
|
+
//#region ---- Formatters ----
|
|
66
|
+
function axmTryPrettyJson(raw) {
|
|
67
|
+
const trimmed = raw.trim();
|
|
68
|
+
if (!trimmed) {
|
|
69
|
+
return '';
|
|
70
|
+
}
|
|
71
|
+
try {
|
|
72
|
+
return JSON.stringify(JSON.parse(trimmed), null, 2);
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return trimmed;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function axmFormatTranscriptArgs(args) {
|
|
79
|
+
if (args == null) {
|
|
80
|
+
return '';
|
|
81
|
+
}
|
|
82
|
+
if (typeof args === 'string') {
|
|
83
|
+
return axmTryPrettyJson(args);
|
|
84
|
+
}
|
|
85
|
+
try {
|
|
86
|
+
return JSON.stringify(args, null, 2);
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return String(args);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function axmFormatTranscriptFallbackSegment(seg) {
|
|
93
|
+
try {
|
|
94
|
+
return JSON.stringify(seg, null, 2);
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
return String(seg);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//#endregion
|
|
101
|
+
//#region ---- Embed parent stub ----
|
|
102
|
+
/** Minimal parent message for synthetic embed renderers inside the detail popup. */
|
|
103
|
+
function axmDelegatedTranscriptEmbedParentStub() {
|
|
104
|
+
return {
|
|
105
|
+
id: 'assist-delegated-transcript-embed',
|
|
106
|
+
conversationId: '',
|
|
107
|
+
senderId: 'assist',
|
|
108
|
+
type: 'text',
|
|
109
|
+
payload: { type: 'text', text: '' },
|
|
110
|
+
status: 'sent',
|
|
111
|
+
metadata: { assistEmbed: true },
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
//#endregion
|
|
115
|
+
|
|
116
|
+
//#region ---- Imports ----
|
|
117
|
+
//#endregion
|
|
118
|
+
//#region ---- Component ----
|
|
119
|
+
/**
|
|
120
|
+
* Read-only {@link AXPAiChatMessage} transcript (role + responses[]) for delegated specialist detail.
|
|
121
|
+
*/
|
|
122
|
+
class AXMAssistDelegatedAgentTranscriptViewComponent {
|
|
123
|
+
constructor() {
|
|
124
|
+
//#region ---- Inputs ----
|
|
125
|
+
this.messages = input([], ...(ngDevMode ? [{ debugName: "messages" }] : /* istanbul ignore next */ []));
|
|
126
|
+
this.embedParent = input.required(...(ngDevMode ? [{ debugName: "embedParent" }] : /* istanbul ignore next */ []));
|
|
127
|
+
this.emptyHint = input(undefined, ...(ngDevMode ? [{ debugName: "emptyHint" }] : /* istanbul ignore next */ []));
|
|
128
|
+
this.agentTitleById = input({}, ...(ngDevMode ? [{ debugName: "agentTitleById" }] : /* istanbul ignore next */ []));
|
|
129
|
+
//#endregion
|
|
130
|
+
//#region ---- Template helpers ----
|
|
131
|
+
this.segmentDir = axmAssistSegmentDirection;
|
|
132
|
+
this.parseAssistLineText = axmParseAssistTranscriptTextEnvelope;
|
|
133
|
+
this.axmAssistWidgetNodeFromUnknown = axmAssistWidgetNodeFromUnknown;
|
|
134
|
+
this.isDelegatedAgentCommand = (command) => axpAiParseSupervisorAgentToolName(command) != null;
|
|
135
|
+
//#endregion
|
|
136
|
+
//#region ---- Computed ----
|
|
137
|
+
this.hasMessages = computed(() => this.messages().length > 0, ...(ngDevMode ? [{ debugName: "hasMessages" }] : /* istanbul ignore next */ []));
|
|
138
|
+
this.toolResultByCallId = computed(() => axmBuildToolResultByCallId(this.messages()), ...(ngDevMode ? [{ debugName: "toolResultByCallId" }] : /* istanbul ignore next */ []));
|
|
139
|
+
this.displayLines = computed(() => this.messages().map((line, lineIndex) => ({ line, lineIndex })), ...(ngDevMode ? [{ debugName: "displayLines" }] : /* istanbul ignore next */ []));
|
|
140
|
+
}
|
|
141
|
+
//#endregion
|
|
142
|
+
//#region ---- Segment renderers ----
|
|
143
|
+
roleTranslationKey(role) {
|
|
144
|
+
return `@conversation:chat.assist-renderer.delegated-agent.roles.${role}`;
|
|
145
|
+
}
|
|
146
|
+
resolveToolDisplayTitle(command) {
|
|
147
|
+
const agentId = axpAiParseSupervisorAgentToolName(command);
|
|
148
|
+
if (agentId) {
|
|
149
|
+
const title = this.agentTitleById()[agentId];
|
|
150
|
+
if (title?.trim()) {
|
|
151
|
+
return title.trim();
|
|
152
|
+
}
|
|
153
|
+
return agentId;
|
|
154
|
+
}
|
|
155
|
+
return command?.trim() || 'Tool';
|
|
156
|
+
}
|
|
157
|
+
toolResultForCallId(callId) {
|
|
158
|
+
if (!callId?.trim()) {
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
return this.toolResultByCallId().get(callId.trim()) ?? null;
|
|
162
|
+
}
|
|
163
|
+
delegatedAgentOutcomeSegmentsForCall(res) {
|
|
164
|
+
if (!res) {
|
|
165
|
+
return [];
|
|
166
|
+
}
|
|
167
|
+
const raw = axpAiChatToolOrAgentResultBodyJson(res);
|
|
168
|
+
if (!raw.trim()) {
|
|
169
|
+
return [];
|
|
170
|
+
}
|
|
171
|
+
try {
|
|
172
|
+
const o = JSON.parse(raw);
|
|
173
|
+
if (o['success'] === false) {
|
|
174
|
+
return [];
|
|
175
|
+
}
|
|
176
|
+
return axpAiDelegatedAgentResultSegments(o);
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
return [];
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
delegatedPromptPreview(argumentsValue) {
|
|
183
|
+
return axpAiDelegatedAgentPromptPreview(argumentsValue);
|
|
184
|
+
}
|
|
185
|
+
formatArgs(args) {
|
|
186
|
+
return axmFormatTranscriptArgs(args);
|
|
187
|
+
}
|
|
188
|
+
formatToolResultBody(line) {
|
|
189
|
+
return axmTryPrettyJson(axpAiChatToolOrAgentResultBodyJson(line));
|
|
190
|
+
}
|
|
191
|
+
formatFallbackSegment(seg) {
|
|
192
|
+
return axmFormatTranscriptFallbackSegment(seg);
|
|
193
|
+
}
|
|
194
|
+
syntheticTextMessage(lineIndex, segIndex, text) {
|
|
195
|
+
return axmSyntheticEmbedMessage(this.embedParent(), `dt-${lineIndex}-${segIndex}`, {
|
|
196
|
+
type: 'text',
|
|
197
|
+
payload: { type: 'text', text },
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
syntheticNodeEmbedMessage(lineIndex, segIndex, content) {
|
|
201
|
+
return axmSyntheticEmbedMessage(this.embedParent(), `dn-${lineIndex}-${segIndex}`, {
|
|
202
|
+
type: 'node',
|
|
203
|
+
payload: { type: 'node', content },
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
markdownCodeLanguage(segment) {
|
|
207
|
+
if (this.isMarkdownCodeSegment(segment) && segment.language.trim()) {
|
|
208
|
+
return segment.language;
|
|
209
|
+
}
|
|
210
|
+
return 'javascript';
|
|
211
|
+
}
|
|
212
|
+
markdownCodeValue(segment) {
|
|
213
|
+
if (this.isMarkdownCodeSegment(segment)) {
|
|
214
|
+
return segment.code;
|
|
215
|
+
}
|
|
216
|
+
return '';
|
|
217
|
+
}
|
|
218
|
+
isMarkdownCodeSegment(segment) {
|
|
219
|
+
if (!segment || typeof segment !== 'object') {
|
|
220
|
+
return false;
|
|
221
|
+
}
|
|
222
|
+
const candidate = segment;
|
|
223
|
+
return candidate.type === 'code' && typeof candidate.language === 'string' && typeof candidate.code === 'string';
|
|
224
|
+
}
|
|
225
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMAssistDelegatedAgentTranscriptViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
226
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXMAssistDelegatedAgentTranscriptViewComponent, isStandalone: true, selector: "axm-assist-delegated-agent-transcript-view", inputs: { messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null }, embedParent: { classPropertyName: "embedParent", publicName: "embedParent", isSignal: true, isRequired: true, transformFunction: null }, emptyHint: { classPropertyName: "emptyHint", publicName: "emptyHint", isSignal: true, isRequired: false, transformFunction: null }, agentTitleById: { classPropertyName: "agentTitleById", publicName: "agentTitleById", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"axm-delegated-transcript\">\n @if (!hasMessages() && emptyHint()) {\n <p class=\"axm-delegated-transcript__empty\">{{ emptyHint() }}</p>\n } @else {\n <div class=\"axm-assist-bot axm-delegated-transcript__lines\" role=\"list\">\n <div class=\"axm-assist-renderer__accordion-group\" axAccordionGroup [accordion]=\"false\">\n @for (item of displayLines(); track item.lineIndex) {\n @let line = item.line;\n @let lineIndex = item.lineIndex;\n <div\n class=\"axm-delegated-transcript__line axm-assist-bot__line axm-assist-renderer__collapse-shell\"\n axAccordionItem\n #roleSection=\"axAccordionItem\"\n role=\"listitem\"\n [class.axm-assist-bot__line--user]=\"line.role === 'user'\"\n [class.axm-assist-bot__line--tool-role]=\"line.role === 'tool'\"\n [attr.data-role]=\"line.role\"\n >\n <header\n class=\"axm-delegated-transcript__role axm-assist-renderer__accordion-header\"\n axAccordionItemHeader\n >\n <span class=\"axm-assist-renderer__accordion-header-main\">\n <span class=\"axm-assist-renderer__accordion-header-title\">\n <i\n class=\"fa-light fa-chevron-down axm-assist-renderer__thinking-chevron\"\n [class.axm-assist-renderer__thinking-chevron--expanded]=\"!roleSection.isCollapsed()\"\n aria-hidden=\"true\"\n ></i>\n <span>{{ roleTranslationKey(line.role) | translate | async }}</span>\n </span>\n @if (line.delegatedReflection) {\n <span class=\"axm-delegated-transcript__reflection-badge\">{{\n '@conversation:chat.assist-renderer.delegated-agent.reflection' | translate | async\n }}</span>\n }\n @if (line.name?.trim()) {\n <span class=\"axm-delegated-transcript__name\">{{ line.name }}</span>\n }\n </span>\n </header>\n\n <div axAccordionItemContent>\n <div class=\"axm-assist-renderer__collapse-body axm-delegated-transcript__segments\">\n @for (seg of line.responses; track segIndex; let segIndex = $index) {\n @if (line.role === 'user' && seg.type === 'file') {\n <axm-assist-bot-image-line\n [parentMessage]=\"embedParent()\"\n [fileId]=\"seg.content.fileId\"\n />\n } @else if (line.role === 'user' && seg.type === 'text') {\n <div class=\"axm-assist-bot__segment\" [attr.dir]=\"segmentDir(seg.content)\">\n <ax-conversation-text-renderer [message]=\"syntheticTextMessage(lineIndex, segIndex, seg.content)\" />\n </div>\n } @else if (line.role === 'assistant' && seg.type === 'think') {\n <details class=\"axm-delegated-transcript__think\" open>\n <summary class=\"axm-delegated-transcript__think-summary\">\n <i class=\"fa-light fa-brain axm-assist-renderer__tool-title-icon\" aria-hidden=\"true\"></i>\n {{ '@conversation:chat.assist-renderer.sections.thinking' | translate | async }}\n </summary>\n <div\n class=\"axm-assist-renderer__thinking-body axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(seg.content)\"\n >\n {{ seg.content }}\n </div>\n </details>\n } @else if (line.role === 'assistant' && seg.type === 'text') {\n @let parsedLine = parseAssistLineText(seg.content);\n @if (parsedLine.thinking?.trim()) {\n <details class=\"axm-delegated-transcript__think\" open>\n <summary class=\"axm-delegated-transcript__think-summary\">\n <i class=\"fa-light fa-brain axm-assist-renderer__tool-title-icon\" aria-hidden=\"true\"></i>\n {{ '@conversation:chat.assist-renderer.sections.thinking' | translate | async }}\n </summary>\n <div\n class=\"axm-assist-renderer__thinking-body axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(parsedLine.thinking ?? '')\"\n >\n {{ parsedLine.thinking }}\n </div>\n </details>\n }\n @if (parsedLine.body.trim()) {\n <div\n class=\"axm-assist-bot__segment axm-assist-renderer__markdown\"\n [attr.dir]=\"segmentDir(parsedLine.body)\"\n >\n <axp-markdown-viewer [markdown]=\"parsedLine.body\">\n <ng-template axpMarkdownTemplate=\"code\" let-segment>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"markdownCodeValue(segment)\"\n [readonly]=\"true\"\n [language]=\"markdownCodeLanguage(segment)\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n </ng-template>\n </axp-markdown-viewer>\n </div>\n }\n } @else if (\n line.role === 'assistant' &&\n (seg.type === 'agent' || seg.type === 'tool') &&\n isDelegatedAgentCommand(seg.content.command)\n ) {\n <div\n class=\"axm-assist-renderer__tool-card axm-assist-renderer__collapse-shell axm-delegated-transcript__tool-block\"\n >\n <div class=\"axm-assist-renderer__accordion-header axm-delegated-transcript__tool-header\">\n <span class=\"axm-assist-renderer__accordion-header-title\">\n <i class=\"fa-light fa-people-group axm-assist-renderer__tool-title-icon\" aria-hidden=\"true\"></i>\n {{ resolveToolDisplayTitle(seg.content.command) }}\n </span>\n <span class=\"axm-assist-renderer__badge axm-assist-renderer__badge--primary\">{{\n '@conversation:chat.assist-renderer.badges.agent' | translate | async\n }}</span>\n </div>\n <div class=\"axm-assist-renderer__collapse-body\">\n <div class=\"axm-assist-renderer__tool-body\">\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.agent-prompt' | translate | async }}\n </div>\n <div\n class=\"axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(delegatedPromptPreview(seg.content.arguments))\"\n >\n {{ delegatedPromptPreview(seg.content.arguments) }}\n </div>\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.input' | translate | async }}\n </div>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatArgs(seg.content.arguments)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n @if (toolResultForCallId(seg.callId); as resultLine) {\n @let outcomeSegs = delegatedAgentOutcomeSegmentsForCall(resultLine);\n @if (outcomeSegs.length > 0) {\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.agent-answer' | translate | async }}\n </div>\n @for (outSeg of outcomeSegs; track $index) {\n @switch (outSeg.type) {\n @case ('text') {\n @let parsedOut = parseAssistLineText(outSeg.content);\n @if (parsedOut.body.trim()) {\n <div\n class=\"axm-assist-bot__segment axm-assist-renderer__markdown\"\n [attr.dir]=\"segmentDir(parsedOut.body)\"\n >\n <axp-markdown-viewer [markdown]=\"parsedOut.body\" />\n </div>\n }\n }\n @case ('think') {\n <div\n class=\"axm-assist-renderer__thinking-body axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(outSeg.content)\"\n >\n {{ outSeg.content }}\n </div>\n }\n @case ('file') {\n <axm-assist-bot-image-line\n [parentMessage]=\"embedParent()\"\n [fileId]=\"outSeg.content.fileId\"\n />\n }\n @case ('node') {\n @if (axmAssistWidgetNodeFromUnknown(outSeg.content); as widgetNode) {\n <div class=\"axm-assist-bot__segment\" dir=\"auto\">\n <axm-chat-user-form-renderer\n [message]=\"\n syntheticNodeEmbedMessage(lineIndex, segIndex * 1000 + $index, outSeg.content)\n \"\n />\n </div>\n }\n }\n @case ('followUp') {\n <div class=\"axm-assist-bot__segment\" dir=\"auto\">\n <axm-assist-suggestion-chips [items]=\"outSeg.content\" />\n </div>\n }\n }\n }\n } @else {\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.output' | translate | async }}\n </div>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatToolResultBody(resultLine)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n }\n }\n </div>\n </div>\n </div>\n } @else if (line.role === 'assistant' && (seg.type === 'agent' || seg.type === 'tool')) {\n <div\n class=\"axm-assist-renderer__tool-card axm-assist-renderer__collapse-shell axm-delegated-transcript__tool-block\"\n >\n <div class=\"axm-assist-renderer__accordion-header axm-delegated-transcript__tool-header\">\n <span class=\"axm-assist-renderer__accordion-header-title\">\n <i\n class=\"fa-light fa-screwdriver-wrench axm-assist-renderer__tool-title-icon\"\n aria-hidden=\"true\"\n ></i>\n {{ resolveToolDisplayTitle(seg.content.command) }}\n </span>\n <span class=\"axm-assist-renderer__badge axm-assist-renderer__badge--primary\">{{\n '@conversation:chat.assist-renderer.badges.tool' | translate | async\n }}</span>\n </div>\n <div class=\"axm-assist-renderer__collapse-body\">\n <div class=\"axm-assist-renderer__tool-body\">\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.input' | translate | async }}\n </div>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatArgs(seg.content.arguments)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n @if (toolResultForCallId(seg.callId); as resultLine) {\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.output' | translate | async }}\n </div>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatToolResultBody(resultLine)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n }\n </div>\n </div>\n </div>\n } @else if (line.role === 'assistant' && seg.type === 'node') {\n @if (axmAssistWidgetNodeFromUnknown(seg.content)) {\n <div class=\"axm-assist-bot__segment\" dir=\"auto\">\n <axm-chat-user-form-renderer\n [message]=\"syntheticNodeEmbedMessage(lineIndex, segIndex, seg.content)\"\n />\n </div>\n }\n } @else if (line.role === 'assistant' && seg.type === 'file') {\n <axm-assist-bot-image-line\n [parentMessage]=\"embedParent()\"\n [fileId]=\"seg.content.fileId\"\n />\n } @else if (line.role === 'tool' && (seg.type === 'tool_result' || seg.type === 'agent_result')) {\n <!-- Shown on the matching tool/agent block above -->\n } @else if (line.role === 'system' && seg.type === 'text') {\n <div class=\"axm-assist-bot__segment\" [attr.dir]=\"segmentDir(seg.content)\">\n <ax-conversation-text-renderer [message]=\"syntheticTextMessage(lineIndex, segIndex, seg.content)\" />\n </div>\n } @else {\n <div\n class=\"axm-assist-bot__fallback axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(formatFallbackSegment(seg))\"\n >\n {{ formatFallbackSegment(seg) }}\n </div>\n }\n }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n }\n</div>\n", styles: [".axm-assist-renderer{display:flex;flex-direction:column;gap:.25rem}.axm-assist-renderer axm-assist-suggestion-chips>div{padding:0;padding-top:1rem}.axm-assist-bot,.axm-assist-bot__final-line{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;background:rgb(var(--ax-sys-color-lighter-surface));padding:.5rem .75rem}.axm-assist-bot__fallback{font-size:.88rem;line-height:1.75;word-break:break-word;opacity:.9}.axm-assist-renderer__cursor{display:inline-block;inline-size:6px;block-size:1em;margin-inline-start:2px;background:rgb(var(--ax-sys-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),.axm-assist-renderer__markdown .axp-markdown-viewer__content :is(p,ul,ol){margin-block:.45rem}.axm-assist-bot__segment ax-conversation-text-renderer li,.axm-assist-renderer__markdown .axp-markdown-viewer__content li{line-height:1.8}.axm-assist-renderer__accordion-group{width:100%}.axm-assist-renderer__collapse-shell{border-radius:.625rem;overflow:hidden;background:rgb(var(--ax-sys-color-lighter-surface))}.axm-assist-renderer__collapse-body{margin:0;padding:0;border-radius:0 0 .5rem .5rem;background:transparent}.axm-assist-renderer__collapse-body>.axm-assist-renderer__agent-live-block--in-accordion{padding-inline:.5rem;padding-block-end:.35rem}.axm-assist-renderer__accordion-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;cursor:pointer;background:transparent;border:none;border-radius:.625rem .625rem 0 0;transition:background-color .15s ease}.axm-assist-renderer__collapse-shell>.axm-assist-renderer__accordion-header:hover{background:rgb(var(--ax-sys-color-light-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:.8125rem;line-height:1.25;font-weight:600;color:rgb(var(--ax-sys-color-on-surface));display:inline-flex;align-items:center;gap:.4rem}.axm-assist-renderer__header-trailing{flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem}.axm-assist-renderer__delegated-agent-detail-link{padding:.25rem;text-decoration:underline;padding-top:0}.axm-assist-renderer__badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;max-width:min(100%,14rem);padding:.1875rem .65rem;border-radius:9999px;font-size:.6875rem;font-weight:600;line-height:1.3;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.axm-assist-renderer__badge--warning{background:rgb(var(--ax-sys-color-warning-100))}.axm-assist-renderer__badge--primary{background:rgb(var(--ax-sys-color-primary-100))}.axm-assist-renderer__badge--success{background:rgb(var(--ax-sys-color-success-100))}.axm-assist-renderer__thinking-chevron{display:inline-block;font-size:.65rem;opacity:.65;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:.625rem .75rem .75rem;font-size:.78rem;color:rgb(var(--ax-sys-color-neutral-700));word-break:break-word;line-height:1.55}.axm-assist-renderer__tools{display:flex;flex-direction:column;gap:.5rem}.axm-assist-renderer__tool-card{border-radius:.625rem;overflow:hidden}.axm-assist-renderer__tool-body{padding:.625rem .75rem .75rem;display:flex;flex-direction:column;gap:.35rem}.axm-assist-renderer__tool-section-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:rgb(var(--ax-sys-color-neutral-700))}.axm-assist-renderer__tool-pre{margin:0;max-block-size:10rem;overflow:auto;border-radius:.375rem;background:rgb(var(--ax-sys-color-light-surface));padding:.5rem;font-family:var(--ax-font-mono, monospace);font-size:.675rem;line-height:1.45;word-break:break-word}.axm-assist-renderer__run-meta-wrap{margin-block-start:.45rem}.axm-assist-renderer__run-meta-header-sub{font-size:.7rem;line-height:1.35;color:rgb(var(--ax-sys-color-neutral-700));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.axm-assist-renderer__run-meta{margin-block-start:.45rem;padding:.55rem .65rem .6rem;border-radius:.625rem;background:rgb(var(--ax-sys-color-lighter-surface));display:flex;flex-direction:column;gap:.45rem}.axm-assist-renderer__run-meta--panel{margin-block-start:0;padding:.45rem .5rem .55rem;background:transparent;border-radius:0}.axm-assist-renderer__run-meta-grid{display:flex;gap:.4rem}.axm-assist-renderer__meta-tile{min-width:0;padding:.4rem .5rem .45rem;border-radius:.45rem;background:rgb(var(--ax-sys-color-light-surface))}.axm-assist-renderer__meta-tile--wide{grid-column:1/-1}.axm-assist-renderer__meta-tile--accent{background:rgb(var(--ax-sys-color-primary-50))}.axm-assist-renderer__meta-tile-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgb(var(--ax-sys-color-neutral-700));margin-block-end:.2rem}.axm-assist-renderer__meta-tile-value{font-size:.78rem;font-weight:600;line-height:1.35;color:rgb(var(--ax-sys-color-on-surface));word-break:break-word}.axm-assist-renderer__meta-tile-value--mono{font-variant-numeric:tabular-nums;font-feature-settings:\"tnum\" 1}.axm-assist-renderer__meta-tile-sub{margin-block-start:.15rem;font-size:.65rem;line-height:1.3;color:rgb(var(--ax-sys-color-neutral-700));font-family:var(--ax-font-mono, ui-monospace, monospace);word-break:break-all}.axm-assist-renderer__meta-tile-note{display:inline;margin-inline-start:.2rem;font-size:.65rem;font-weight:500;color:rgb(var(--ax-sys-color-success-700))}.axm-assist-renderer__tool-editor-wrap{border-radius:.375rem;overflow:hidden;background:rgb(var(--ax-sys-color-light-surface))}.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:rgb(var(--ax-sys-color-neutral-500));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;background:rgb(var(--ax-sys-color-lighter-surface));padding:.75rem .875rem;display:flex;flex-direction:column;gap:.65rem;max-inline-size:min(42rem,100%)}.axm-assist-renderer__agent-live-block--in-accordion{background:rgb(var(--ax-sys-color-light-surface));border-radius:.5rem;padding:.5rem .55rem .55rem;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:rgb(var(--ax-sys-color-on-surface));flex:1;min-inline-size:0}.axm-assist-renderer__agent-live-prompt{font-size:.8125rem;line-height:1.55;word-break:break-word;padding:.5rem .75rem;border-radius:1.25rem;background:rgb(var(--ax-sys-color-lightest-surface));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:.35rem}.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:rgb(var(--ax-sys-color-neutral-600));flex-shrink:0}\n", ".axm-delegated-transcript{padding:.5rem;display:flex;flex-direction:column;gap:.75rem;min-inline-size:0}.axm-delegated-transcript__empty{margin:0;padding:1rem;font-size:.875rem;color:rgb(var(--ax-sys-color-neutral-600));text-align:center}.axm-delegated-transcript__lines{max-block-size:min(75vh,42rem);overflow-y:auto;padding-inline-end:.25rem}.axm-delegated-transcript__line{display:flex;flex-direction:column;gap:.5rem;padding:.65rem .75rem;border-radius:.625rem;background:rgb(var(--ax-sys-color-lighter-surface))}.axm-delegated-transcript__role{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:rgb(var(--ax-sys-color-neutral-600));cursor:pointer;margin:0;padding:0;border:none;background:transparent;inline-size:100%;text-align:start}.axm-delegated-transcript__role .axm-assist-renderer__accordion-header-title{display:inline-flex;align-items:center;gap:.35rem;text-transform:uppercase}.axm-delegated-transcript__reflection-badge{padding:.125rem .45rem;border-radius:9999px;font-size:.625rem;font-weight:600;text-transform:none;letter-spacing:.02em;color:rgb(var(--ax-sys-color-on-warning-light-surface));background:rgb(var(--ax-sys-color-warning-100))}.axm-delegated-transcript__name{font-weight:500;text-transform:none;letter-spacing:normal;color:rgb(var(--ax-sys-color-neutral-500))}.axm-delegated-transcript__segments{display:flex;flex-direction:column;gap:.5rem}.axm-delegated-transcript__think{border-radius:.5rem;background:rgb(var(--ax-sys-color-light-surface));padding:.35rem .5rem}.axm-delegated-transcript__think-summary{display:flex;align-items:center;gap:.35rem;cursor:pointer;font-size:.8125rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface));list-style:none}.axm-delegated-transcript__think-summary::-webkit-details-marker{display:none}.axm-delegated-transcript__tool-block{margin-block:0}.axm-delegated-transcript__tool-header{cursor:default}\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: "component", type: AXMAssistSuggestionChipsComponent, selector: "axm-assist-suggestion-chips", inputs: ["items"] }, { kind: "ngmodule", type: AXAccordionCdkModule }, { kind: "directive", type: i1.AXAccordionGroupDirective, selector: "[axAccordionGroup]", inputs: ["accordion", "activeIndex", "collapsedOnItemClick"], exportAs: ["axAccordionGroup"] }, { kind: "directive", type: i1.AXAccordionItemContentDirective, selector: "[axAccordionItemContent]", inputs: ["transition"], exportAs: ["axAccordionItemContent"] }, { kind: "directive", type: i1.AXAccordionItemHeaderDirective, selector: "[axAccordionItemHeader]", exportAs: ["axAccordionItemHeader"] }, { kind: "directive", type: i1.AXAccordionItemDirective, selector: "[axAccordionItem]", inputs: ["isCollapsed"], outputs: ["isCollapsedChange", "onClick"], exportAs: ["axAccordionItem"] }, { kind: "ngmodule", type: AXCodeEditorModule }, { kind: "component", type: i1$1.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: "component", type: AXPMarkdownViewerComponent, selector: "axp-markdown-viewer", inputs: ["markdown"] }, { kind: "directive", type: AXPMarkdownTemplateDirective, selector: "ng-template[axpMarkdownTemplate]", inputs: ["axpMarkdownTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i2.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
227
|
+
}
|
|
228
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMAssistDelegatedAgentTranscriptViewComponent, decorators: [{
|
|
229
|
+
type: Component,
|
|
230
|
+
args: [{ selector: 'axm-assist-delegated-agent-transcript-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
|
|
231
|
+
AXTextRendererComponent,
|
|
232
|
+
AXMNodeMessageRendererComponent,
|
|
233
|
+
AXMAssistBotImageLineComponent,
|
|
234
|
+
AXMAssistSuggestionChipsComponent,
|
|
235
|
+
AXAccordionCdkModule,
|
|
236
|
+
AXCodeEditorModule,
|
|
237
|
+
AXPMarkdownViewerComponent,
|
|
238
|
+
AXPMarkdownTemplateDirective,
|
|
239
|
+
FormsModule,
|
|
240
|
+
AXTranslationModule,
|
|
241
|
+
AsyncPipe,
|
|
242
|
+
], template: "<div class=\"axm-delegated-transcript\">\n @if (!hasMessages() && emptyHint()) {\n <p class=\"axm-delegated-transcript__empty\">{{ emptyHint() }}</p>\n } @else {\n <div class=\"axm-assist-bot axm-delegated-transcript__lines\" role=\"list\">\n <div class=\"axm-assist-renderer__accordion-group\" axAccordionGroup [accordion]=\"false\">\n @for (item of displayLines(); track item.lineIndex) {\n @let line = item.line;\n @let lineIndex = item.lineIndex;\n <div\n class=\"axm-delegated-transcript__line axm-assist-bot__line axm-assist-renderer__collapse-shell\"\n axAccordionItem\n #roleSection=\"axAccordionItem\"\n role=\"listitem\"\n [class.axm-assist-bot__line--user]=\"line.role === 'user'\"\n [class.axm-assist-bot__line--tool-role]=\"line.role === 'tool'\"\n [attr.data-role]=\"line.role\"\n >\n <header\n class=\"axm-delegated-transcript__role axm-assist-renderer__accordion-header\"\n axAccordionItemHeader\n >\n <span class=\"axm-assist-renderer__accordion-header-main\">\n <span class=\"axm-assist-renderer__accordion-header-title\">\n <i\n class=\"fa-light fa-chevron-down axm-assist-renderer__thinking-chevron\"\n [class.axm-assist-renderer__thinking-chevron--expanded]=\"!roleSection.isCollapsed()\"\n aria-hidden=\"true\"\n ></i>\n <span>{{ roleTranslationKey(line.role) | translate | async }}</span>\n </span>\n @if (line.delegatedReflection) {\n <span class=\"axm-delegated-transcript__reflection-badge\">{{\n '@conversation:chat.assist-renderer.delegated-agent.reflection' | translate | async\n }}</span>\n }\n @if (line.name?.trim()) {\n <span class=\"axm-delegated-transcript__name\">{{ line.name }}</span>\n }\n </span>\n </header>\n\n <div axAccordionItemContent>\n <div class=\"axm-assist-renderer__collapse-body axm-delegated-transcript__segments\">\n @for (seg of line.responses; track segIndex; let segIndex = $index) {\n @if (line.role === 'user' && seg.type === 'file') {\n <axm-assist-bot-image-line\n [parentMessage]=\"embedParent()\"\n [fileId]=\"seg.content.fileId\"\n />\n } @else if (line.role === 'user' && seg.type === 'text') {\n <div class=\"axm-assist-bot__segment\" [attr.dir]=\"segmentDir(seg.content)\">\n <ax-conversation-text-renderer [message]=\"syntheticTextMessage(lineIndex, segIndex, seg.content)\" />\n </div>\n } @else if (line.role === 'assistant' && seg.type === 'think') {\n <details class=\"axm-delegated-transcript__think\" open>\n <summary class=\"axm-delegated-transcript__think-summary\">\n <i class=\"fa-light fa-brain axm-assist-renderer__tool-title-icon\" aria-hidden=\"true\"></i>\n {{ '@conversation:chat.assist-renderer.sections.thinking' | translate | async }}\n </summary>\n <div\n class=\"axm-assist-renderer__thinking-body axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(seg.content)\"\n >\n {{ seg.content }}\n </div>\n </details>\n } @else if (line.role === 'assistant' && seg.type === 'text') {\n @let parsedLine = parseAssistLineText(seg.content);\n @if (parsedLine.thinking?.trim()) {\n <details class=\"axm-delegated-transcript__think\" open>\n <summary class=\"axm-delegated-transcript__think-summary\">\n <i class=\"fa-light fa-brain axm-assist-renderer__tool-title-icon\" aria-hidden=\"true\"></i>\n {{ '@conversation:chat.assist-renderer.sections.thinking' | translate | async }}\n </summary>\n <div\n class=\"axm-assist-renderer__thinking-body axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(parsedLine.thinking ?? '')\"\n >\n {{ parsedLine.thinking }}\n </div>\n </details>\n }\n @if (parsedLine.body.trim()) {\n <div\n class=\"axm-assist-bot__segment axm-assist-renderer__markdown\"\n [attr.dir]=\"segmentDir(parsedLine.body)\"\n >\n <axp-markdown-viewer [markdown]=\"parsedLine.body\">\n <ng-template axpMarkdownTemplate=\"code\" let-segment>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"markdownCodeValue(segment)\"\n [readonly]=\"true\"\n [language]=\"markdownCodeLanguage(segment)\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n </ng-template>\n </axp-markdown-viewer>\n </div>\n }\n } @else if (\n line.role === 'assistant' &&\n (seg.type === 'agent' || seg.type === 'tool') &&\n isDelegatedAgentCommand(seg.content.command)\n ) {\n <div\n class=\"axm-assist-renderer__tool-card axm-assist-renderer__collapse-shell axm-delegated-transcript__tool-block\"\n >\n <div class=\"axm-assist-renderer__accordion-header axm-delegated-transcript__tool-header\">\n <span class=\"axm-assist-renderer__accordion-header-title\">\n <i class=\"fa-light fa-people-group axm-assist-renderer__tool-title-icon\" aria-hidden=\"true\"></i>\n {{ resolveToolDisplayTitle(seg.content.command) }}\n </span>\n <span class=\"axm-assist-renderer__badge axm-assist-renderer__badge--primary\">{{\n '@conversation:chat.assist-renderer.badges.agent' | translate | async\n }}</span>\n </div>\n <div class=\"axm-assist-renderer__collapse-body\">\n <div class=\"axm-assist-renderer__tool-body\">\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.agent-prompt' | translate | async }}\n </div>\n <div\n class=\"axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(delegatedPromptPreview(seg.content.arguments))\"\n >\n {{ delegatedPromptPreview(seg.content.arguments) }}\n </div>\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.input' | translate | async }}\n </div>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatArgs(seg.content.arguments)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n @if (toolResultForCallId(seg.callId); as resultLine) {\n @let outcomeSegs = delegatedAgentOutcomeSegmentsForCall(resultLine);\n @if (outcomeSegs.length > 0) {\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.agent-answer' | translate | async }}\n </div>\n @for (outSeg of outcomeSegs; track $index) {\n @switch (outSeg.type) {\n @case ('text') {\n @let parsedOut = parseAssistLineText(outSeg.content);\n @if (parsedOut.body.trim()) {\n <div\n class=\"axm-assist-bot__segment axm-assist-renderer__markdown\"\n [attr.dir]=\"segmentDir(parsedOut.body)\"\n >\n <axp-markdown-viewer [markdown]=\"parsedOut.body\" />\n </div>\n }\n }\n @case ('think') {\n <div\n class=\"axm-assist-renderer__thinking-body axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(outSeg.content)\"\n >\n {{ outSeg.content }}\n </div>\n }\n @case ('file') {\n <axm-assist-bot-image-line\n [parentMessage]=\"embedParent()\"\n [fileId]=\"outSeg.content.fileId\"\n />\n }\n @case ('node') {\n @if (axmAssistWidgetNodeFromUnknown(outSeg.content); as widgetNode) {\n <div class=\"axm-assist-bot__segment\" dir=\"auto\">\n <axm-chat-user-form-renderer\n [message]=\"\n syntheticNodeEmbedMessage(lineIndex, segIndex * 1000 + $index, outSeg.content)\n \"\n />\n </div>\n }\n }\n @case ('followUp') {\n <div class=\"axm-assist-bot__segment\" dir=\"auto\">\n <axm-assist-suggestion-chips [items]=\"outSeg.content\" />\n </div>\n }\n }\n }\n } @else {\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.output' | translate | async }}\n </div>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatToolResultBody(resultLine)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n }\n }\n </div>\n </div>\n </div>\n } @else if (line.role === 'assistant' && (seg.type === 'agent' || seg.type === 'tool')) {\n <div\n class=\"axm-assist-renderer__tool-card axm-assist-renderer__collapse-shell axm-delegated-transcript__tool-block\"\n >\n <div class=\"axm-assist-renderer__accordion-header axm-delegated-transcript__tool-header\">\n <span class=\"axm-assist-renderer__accordion-header-title\">\n <i\n class=\"fa-light fa-screwdriver-wrench axm-assist-renderer__tool-title-icon\"\n aria-hidden=\"true\"\n ></i>\n {{ resolveToolDisplayTitle(seg.content.command) }}\n </span>\n <span class=\"axm-assist-renderer__badge axm-assist-renderer__badge--primary\">{{\n '@conversation:chat.assist-renderer.badges.tool' | translate | async\n }}</span>\n </div>\n <div class=\"axm-assist-renderer__collapse-body\">\n <div class=\"axm-assist-renderer__tool-body\">\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.input' | translate | async }}\n </div>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatArgs(seg.content.arguments)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n @if (toolResultForCallId(seg.callId); as resultLine) {\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.output' | translate | async }}\n </div>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatToolResultBody(resultLine)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n }\n </div>\n </div>\n </div>\n } @else if (line.role === 'assistant' && seg.type === 'node') {\n @if (axmAssistWidgetNodeFromUnknown(seg.content)) {\n <div class=\"axm-assist-bot__segment\" dir=\"auto\">\n <axm-chat-user-form-renderer\n [message]=\"syntheticNodeEmbedMessage(lineIndex, segIndex, seg.content)\"\n />\n </div>\n }\n } @else if (line.role === 'assistant' && seg.type === 'file') {\n <axm-assist-bot-image-line\n [parentMessage]=\"embedParent()\"\n [fileId]=\"seg.content.fileId\"\n />\n } @else if (line.role === 'tool' && (seg.type === 'tool_result' || seg.type === 'agent_result')) {\n <!-- Shown on the matching tool/agent block above -->\n } @else if (line.role === 'system' && seg.type === 'text') {\n <div class=\"axm-assist-bot__segment\" [attr.dir]=\"segmentDir(seg.content)\">\n <ax-conversation-text-renderer [message]=\"syntheticTextMessage(lineIndex, segIndex, seg.content)\" />\n </div>\n } @else {\n <div\n class=\"axm-assist-bot__fallback axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(formatFallbackSegment(seg))\"\n >\n {{ formatFallbackSegment(seg) }}\n </div>\n }\n }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n }\n</div>\n", styles: [".axm-assist-renderer{display:flex;flex-direction:column;gap:.25rem}.axm-assist-renderer axm-assist-suggestion-chips>div{padding:0;padding-top:1rem}.axm-assist-bot,.axm-assist-bot__final-line{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;background:rgb(var(--ax-sys-color-lighter-surface));padding:.5rem .75rem}.axm-assist-bot__fallback{font-size:.88rem;line-height:1.75;word-break:break-word;opacity:.9}.axm-assist-renderer__cursor{display:inline-block;inline-size:6px;block-size:1em;margin-inline-start:2px;background:rgb(var(--ax-sys-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),.axm-assist-renderer__markdown .axp-markdown-viewer__content :is(p,ul,ol){margin-block:.45rem}.axm-assist-bot__segment ax-conversation-text-renderer li,.axm-assist-renderer__markdown .axp-markdown-viewer__content li{line-height:1.8}.axm-assist-renderer__accordion-group{width:100%}.axm-assist-renderer__collapse-shell{border-radius:.625rem;overflow:hidden;background:rgb(var(--ax-sys-color-lighter-surface))}.axm-assist-renderer__collapse-body{margin:0;padding:0;border-radius:0 0 .5rem .5rem;background:transparent}.axm-assist-renderer__collapse-body>.axm-assist-renderer__agent-live-block--in-accordion{padding-inline:.5rem;padding-block-end:.35rem}.axm-assist-renderer__accordion-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;cursor:pointer;background:transparent;border:none;border-radius:.625rem .625rem 0 0;transition:background-color .15s ease}.axm-assist-renderer__collapse-shell>.axm-assist-renderer__accordion-header:hover{background:rgb(var(--ax-sys-color-light-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:.8125rem;line-height:1.25;font-weight:600;color:rgb(var(--ax-sys-color-on-surface));display:inline-flex;align-items:center;gap:.4rem}.axm-assist-renderer__header-trailing{flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem}.axm-assist-renderer__delegated-agent-detail-link{padding:.25rem;text-decoration:underline;padding-top:0}.axm-assist-renderer__badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;max-width:min(100%,14rem);padding:.1875rem .65rem;border-radius:9999px;font-size:.6875rem;font-weight:600;line-height:1.3;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.axm-assist-renderer__badge--warning{background:rgb(var(--ax-sys-color-warning-100))}.axm-assist-renderer__badge--primary{background:rgb(var(--ax-sys-color-primary-100))}.axm-assist-renderer__badge--success{background:rgb(var(--ax-sys-color-success-100))}.axm-assist-renderer__thinking-chevron{display:inline-block;font-size:.65rem;opacity:.65;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:.625rem .75rem .75rem;font-size:.78rem;color:rgb(var(--ax-sys-color-neutral-700));word-break:break-word;line-height:1.55}.axm-assist-renderer__tools{display:flex;flex-direction:column;gap:.5rem}.axm-assist-renderer__tool-card{border-radius:.625rem;overflow:hidden}.axm-assist-renderer__tool-body{padding:.625rem .75rem .75rem;display:flex;flex-direction:column;gap:.35rem}.axm-assist-renderer__tool-section-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:rgb(var(--ax-sys-color-neutral-700))}.axm-assist-renderer__tool-pre{margin:0;max-block-size:10rem;overflow:auto;border-radius:.375rem;background:rgb(var(--ax-sys-color-light-surface));padding:.5rem;font-family:var(--ax-font-mono, monospace);font-size:.675rem;line-height:1.45;word-break:break-word}.axm-assist-renderer__run-meta-wrap{margin-block-start:.45rem}.axm-assist-renderer__run-meta-header-sub{font-size:.7rem;line-height:1.35;color:rgb(var(--ax-sys-color-neutral-700));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.axm-assist-renderer__run-meta{margin-block-start:.45rem;padding:.55rem .65rem .6rem;border-radius:.625rem;background:rgb(var(--ax-sys-color-lighter-surface));display:flex;flex-direction:column;gap:.45rem}.axm-assist-renderer__run-meta--panel{margin-block-start:0;padding:.45rem .5rem .55rem;background:transparent;border-radius:0}.axm-assist-renderer__run-meta-grid{display:flex;gap:.4rem}.axm-assist-renderer__meta-tile{min-width:0;padding:.4rem .5rem .45rem;border-radius:.45rem;background:rgb(var(--ax-sys-color-light-surface))}.axm-assist-renderer__meta-tile--wide{grid-column:1/-1}.axm-assist-renderer__meta-tile--accent{background:rgb(var(--ax-sys-color-primary-50))}.axm-assist-renderer__meta-tile-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgb(var(--ax-sys-color-neutral-700));margin-block-end:.2rem}.axm-assist-renderer__meta-tile-value{font-size:.78rem;font-weight:600;line-height:1.35;color:rgb(var(--ax-sys-color-on-surface));word-break:break-word}.axm-assist-renderer__meta-tile-value--mono{font-variant-numeric:tabular-nums;font-feature-settings:\"tnum\" 1}.axm-assist-renderer__meta-tile-sub{margin-block-start:.15rem;font-size:.65rem;line-height:1.3;color:rgb(var(--ax-sys-color-neutral-700));font-family:var(--ax-font-mono, ui-monospace, monospace);word-break:break-all}.axm-assist-renderer__meta-tile-note{display:inline;margin-inline-start:.2rem;font-size:.65rem;font-weight:500;color:rgb(var(--ax-sys-color-success-700))}.axm-assist-renderer__tool-editor-wrap{border-radius:.375rem;overflow:hidden;background:rgb(var(--ax-sys-color-light-surface))}.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:rgb(var(--ax-sys-color-neutral-500));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;background:rgb(var(--ax-sys-color-lighter-surface));padding:.75rem .875rem;display:flex;flex-direction:column;gap:.65rem;max-inline-size:min(42rem,100%)}.axm-assist-renderer__agent-live-block--in-accordion{background:rgb(var(--ax-sys-color-light-surface));border-radius:.5rem;padding:.5rem .55rem .55rem;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:rgb(var(--ax-sys-color-on-surface));flex:1;min-inline-size:0}.axm-assist-renderer__agent-live-prompt{font-size:.8125rem;line-height:1.55;word-break:break-word;padding:.5rem .75rem;border-radius:1.25rem;background:rgb(var(--ax-sys-color-lightest-surface));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:.35rem}.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:rgb(var(--ax-sys-color-neutral-600));flex-shrink:0}\n", ".axm-delegated-transcript{padding:.5rem;display:flex;flex-direction:column;gap:.75rem;min-inline-size:0}.axm-delegated-transcript__empty{margin:0;padding:1rem;font-size:.875rem;color:rgb(var(--ax-sys-color-neutral-600));text-align:center}.axm-delegated-transcript__lines{max-block-size:min(75vh,42rem);overflow-y:auto;padding-inline-end:.25rem}.axm-delegated-transcript__line{display:flex;flex-direction:column;gap:.5rem;padding:.65rem .75rem;border-radius:.625rem;background:rgb(var(--ax-sys-color-lighter-surface))}.axm-delegated-transcript__role{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:rgb(var(--ax-sys-color-neutral-600));cursor:pointer;margin:0;padding:0;border:none;background:transparent;inline-size:100%;text-align:start}.axm-delegated-transcript__role .axm-assist-renderer__accordion-header-title{display:inline-flex;align-items:center;gap:.35rem;text-transform:uppercase}.axm-delegated-transcript__reflection-badge{padding:.125rem .45rem;border-radius:9999px;font-size:.625rem;font-weight:600;text-transform:none;letter-spacing:.02em;color:rgb(var(--ax-sys-color-on-warning-light-surface));background:rgb(var(--ax-sys-color-warning-100))}.axm-delegated-transcript__name{font-weight:500;text-transform:none;letter-spacing:normal;color:rgb(var(--ax-sys-color-neutral-500))}.axm-delegated-transcript__segments{display:flex;flex-direction:column;gap:.5rem}.axm-delegated-transcript__think{border-radius:.5rem;background:rgb(var(--ax-sys-color-light-surface));padding:.35rem .5rem}.axm-delegated-transcript__think-summary{display:flex;align-items:center;gap:.35rem;cursor:pointer;font-size:.8125rem;font-weight:600;color:rgb(var(--ax-sys-color-on-surface));list-style:none}.axm-delegated-transcript__think-summary::-webkit-details-marker{display:none}.axm-delegated-transcript__tool-block{margin-block:0}.axm-delegated-transcript__tool-header{cursor:default}\n"] }]
|
|
243
|
+
}], propDecorators: { messages: [{ type: i0.Input, args: [{ isSignal: true, alias: "messages", required: false }] }], embedParent: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedParent", required: true }] }], emptyHint: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyHint", required: false }] }], agentTitleById: [{ type: i0.Input, args: [{ isSignal: true, alias: "agentTitleById", required: false }] }] } });
|
|
244
|
+
|
|
245
|
+
//#region ---- Imports ----
|
|
246
|
+
//#endregion
|
|
247
|
+
//#region ---- Component ----
|
|
248
|
+
class AXMAssistDelegatedAgentDetailPopupComponent extends AXBasePageComponent {
|
|
249
|
+
constructor() {
|
|
250
|
+
super(...arguments);
|
|
251
|
+
/** Set by {@link AXPopupService} from `data`. */
|
|
252
|
+
this.delegationCallId = '';
|
|
253
|
+
this.messages = [];
|
|
254
|
+
this.agentTitleById = {};
|
|
255
|
+
this.embedParent = axmDelegatedTranscriptEmbedParentStub();
|
|
256
|
+
}
|
|
257
|
+
downloadJson() {
|
|
258
|
+
axmDownloadDelegatedAgentDetailJson(this.delegationCallId, this.messages, this.runInput, this.agentName);
|
|
259
|
+
}
|
|
260
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMAssistDelegatedAgentDetailPopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
261
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: AXMAssistDelegatedAgentDetailPopupComponent, isStandalone: true, selector: "axm-assist-delegated-agent-detail-popup", usesInheritance: true, ngImport: i0, template: `
|
|
262
|
+
<div class="axm-assist-delegated-detail-popup">
|
|
263
|
+
<axm-assist-delegated-agent-transcript-view
|
|
264
|
+
[messages]="messages"
|
|
265
|
+
[embedParent]="embedParent"
|
|
266
|
+
[emptyHint]="emptyHint"
|
|
267
|
+
[agentTitleById]="agentTitleById"
|
|
268
|
+
/>
|
|
269
|
+
<ax-footer>
|
|
270
|
+
<ax-suffix>
|
|
271
|
+
<ax-button
|
|
272
|
+
look="outline"
|
|
273
|
+
color="primary"
|
|
274
|
+
icon="fa-light fa-download"
|
|
275
|
+
[text]="'@conversation:chat.assist-renderer.delegated-agent.download-json' | translate | async"
|
|
276
|
+
[disabled]="!messages.length"
|
|
277
|
+
(onClick)="downloadJson()"
|
|
278
|
+
></ax-button>
|
|
279
|
+
<ax-button
|
|
280
|
+
look="solid"
|
|
281
|
+
color="primary"
|
|
282
|
+
[text]="'@general:actions.close.title' | translate | async"
|
|
283
|
+
(onClick)="close()"
|
|
284
|
+
></ax-button>
|
|
285
|
+
</ax-suffix>
|
|
286
|
+
</ax-footer>
|
|
287
|
+
</div>
|
|
288
|
+
`, isInline: true, styles: [".axm-assist-delegated-detail-popup{display:flex;flex-direction:column;gap:1rem;min-block-size:0}.axm-assist-delegated-detail-popup ax-footer ax-suffix{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}\n"], dependencies: [{ kind: "component", type: AXMAssistDelegatedAgentTranscriptViewComponent, selector: "axm-assist-delegated-agent-transcript-view", inputs: ["messages", "embedParent", "emptyHint", "agentTitleById"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$1.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: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "pipe", type: i2.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
289
|
+
}
|
|
290
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMAssistDelegatedAgentDetailPopupComponent, decorators: [{
|
|
291
|
+
type: Component,
|
|
292
|
+
args: [{ selector: 'axm-assist-delegated-agent-detail-popup', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
|
|
293
|
+
AXMAssistDelegatedAgentTranscriptViewComponent,
|
|
294
|
+
AXButtonModule,
|
|
295
|
+
AXTranslationModule,
|
|
296
|
+
AsyncPipe,
|
|
297
|
+
AXDecoratorModule,
|
|
298
|
+
], template: `
|
|
299
|
+
<div class="axm-assist-delegated-detail-popup">
|
|
300
|
+
<axm-assist-delegated-agent-transcript-view
|
|
301
|
+
[messages]="messages"
|
|
302
|
+
[embedParent]="embedParent"
|
|
303
|
+
[emptyHint]="emptyHint"
|
|
304
|
+
[agentTitleById]="agentTitleById"
|
|
305
|
+
/>
|
|
306
|
+
<ax-footer>
|
|
307
|
+
<ax-suffix>
|
|
308
|
+
<ax-button
|
|
309
|
+
look="outline"
|
|
310
|
+
color="primary"
|
|
311
|
+
icon="fa-light fa-download"
|
|
312
|
+
[text]="'@conversation:chat.assist-renderer.delegated-agent.download-json' | translate | async"
|
|
313
|
+
[disabled]="!messages.length"
|
|
314
|
+
(onClick)="downloadJson()"
|
|
315
|
+
></ax-button>
|
|
316
|
+
<ax-button
|
|
317
|
+
look="solid"
|
|
318
|
+
color="primary"
|
|
319
|
+
[text]="'@general:actions.close.title' | translate | async"
|
|
320
|
+
(onClick)="close()"
|
|
321
|
+
></ax-button>
|
|
322
|
+
</ax-suffix>
|
|
323
|
+
</ax-footer>
|
|
324
|
+
</div>
|
|
325
|
+
`, styles: [".axm-assist-delegated-detail-popup{display:flex;flex-direction:column;gap:1rem;min-block-size:0}.axm-assist-delegated-detail-popup ax-footer ax-suffix{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}\n"] }]
|
|
326
|
+
}] });
|
|
327
|
+
|
|
328
|
+
export { AXMAssistDelegatedAgentDetailPopupComponent };
|
|
329
|
+
//# sourceMappingURL=acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DQlE8l4c.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DQlE8l4c.mjs","sources":["../../../../libs/modules/conversation/src/lib/features/chat/plugins/utils/assist-delegated-agent-detail-export.util.ts","../../../../libs/modules/conversation/src/lib/features/chat/plugins/utils/assist-delegated-agent-transcript-view.util.ts","../../../../libs/modules/conversation/src/lib/features/chat/plugins/message-renderers/assist-delegated-agent-transcript-view.component.ts","../../../../libs/modules/conversation/src/lib/features/chat/plugins/message-renderers/assist-delegated-agent-transcript-view.component.html","../../../../libs/modules/conversation/src/lib/features/chat/plugins/message-renderers/assist-delegated-agent-detail-popup.component.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport type {\n AXPAiChatMessage,\n AXPAiDelegatedAgentTranscriptRunInput,\n} from '@acorex/modules/ai-management';\n\nimport { axmDownloadDebugJson, axmSanitizeDebugFilenamePart } from './assist-debug-information.util';\n\n//#endregion\n\n//#region ---- Types ----\n\n/** JSON shape for delegated specialist detail download. */\nexport interface AXMAssistDelegatedAgentDetailExport {\n exportedAt: string;\n delegationCallId: string;\n agentName?: string;\n runInput?: AXPAiDelegatedAgentTranscriptRunInput;\n messages: AXPAiChatMessage[];\n}\n\n//#endregion\n\n//#region ---- Export ----\n\nexport function axmFormatDelegatedAgentDetailExportJson(\n delegationCallId: string,\n messages: AXPAiChatMessage[],\n runInput?: AXPAiDelegatedAgentTranscriptRunInput,\n agentName?: string,\n): string {\n const snapshot: AXMAssistDelegatedAgentDetailExport = {\n exportedAt: new Date().toISOString(),\n delegationCallId: delegationCallId.trim(),\n ...(agentName?.trim() ? { agentName: agentName.trim() } : {}),\n ...(runInput ? { runInput } : {}),\n messages,\n };\n return JSON.stringify(snapshot, null, 2);\n}\n\nexport function axmDownloadDelegatedAgentDetailJson(\n delegationCallId: string,\n messages: AXPAiChatMessage[],\n runInput?: AXPAiDelegatedAgentTranscriptRunInput,\n agentName?: string,\n): void {\n const text = axmFormatDelegatedAgentDetailExportJson(delegationCallId, messages, runInput, agentName);\n const filename = `assist-delegated-agent-${axmSanitizeDebugFilenamePart(delegationCallId)}.json`;\n axmDownloadDebugJson(filename, text);\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport type { AXMessage } from '@acorex/components/conversation2';\nimport type { AXPAiChatMessage } from '@acorex/modules/ai-management';\n\n//#endregion\n\n//#region ---- Tool result index ----\n\n/** Maps tool_call id → tool-role line carrying {@code tool_result} / {@code agent_result}. */\nexport function axmBuildToolResultByCallId(messages: AXPAiChatMessage[]): Map<string, AXPAiChatMessage> {\n const map = new Map<string, AXPAiChatMessage>();\n for (const line of messages) {\n if (line.role !== 'tool') {\n continue;\n }\n for (const seg of line.responses) {\n if (seg.type !== 'tool_result' && seg.type !== 'agent_result') {\n continue;\n }\n const callId = seg.callId?.trim();\n if (callId) {\n map.set(callId, line);\n }\n }\n }\n return map;\n}\n\n//#endregion\n\n//#region ---- Formatters ----\n\nexport function axmTryPrettyJson(raw: string): string {\n const trimmed = raw.trim();\n if (!trimmed) {\n return '';\n }\n try {\n return JSON.stringify(JSON.parse(trimmed), null, 2);\n } catch {\n return trimmed;\n }\n}\n\nexport function axmFormatTranscriptArgs(args: unknown): string {\n if (args == null) {\n return '';\n }\n if (typeof args === 'string') {\n return axmTryPrettyJson(args);\n }\n try {\n return JSON.stringify(args, null, 2);\n } catch {\n return String(args);\n }\n}\n\nexport function axmFormatTranscriptFallbackSegment(seg: unknown): string {\n try {\n return JSON.stringify(seg, null, 2);\n } catch {\n return String(seg);\n }\n}\n\n//#endregion\n\n//#region ---- Embed parent stub ----\n\n/** Minimal parent message for synthetic embed renderers inside the detail popup. */\nexport function axmDelegatedTranscriptEmbedParentStub(): AXMessage {\n return {\n id: 'assist-delegated-transcript-embed',\n conversationId: '',\n senderId: 'assist',\n type: 'text',\n payload: { type: 'text', text: '' },\n status: 'sent',\n metadata: { assistEmbed: true },\n } as unknown as AXMessage;\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXAccordionCdkModule } from '@acorex/cdk/accordion';\nimport { AXCodeEditorDefaultLanguage, AXCodeEditorModule } from '@acorex/components/code-editor';\nimport type { AXMessage, AXMessagePayload } from '@acorex/components/conversation2';\nimport { AXTextRendererComponent } from '@acorex/components/conversation2';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type {\n AXPAiChatMessage,\n AXPAiChatResponse,\n AXPAiDelegatedAgentResultSegment,\n} from '@acorex/modules/ai-management';\nimport {\n axpAiChatToolOrAgentResultBodyJson,\n axpAiDelegatedAgentPromptPreview,\n axpAiDelegatedAgentResultSegments,\n axpAiParseSupervisorAgentToolName,\n} from '@acorex/modules/ai-management';\nimport { AXPMarkdownTemplateDirective, AXPMarkdownViewerComponent } from '@acorex/platform/layout/components';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport {\n axmAssistWidgetNodeFromUnknown,\n axmParseAssistTranscriptTextEnvelope,\n axmSyntheticEmbedMessage,\n} from '../utils/assist-bot-transcript.util';\nimport {\n axmBuildToolResultByCallId,\n axmFormatTranscriptArgs,\n axmFormatTranscriptFallbackSegment,\n axmTryPrettyJson,\n} from '../utils/assist-delegated-agent-transcript-view.util';\nimport { axmAssistSegmentDirection } from '../utils/assist-segment-direction.util';\nimport { AXMAssistBotImageLineComponent } from './assist-bot-image-line.component';\nimport { AXMAssistSuggestionChipsComponent } from '../shared/assist-suggestion-chips.component';\nimport { AXMNodeMessageRendererComponent } from './node-message-renderer.component';\n\n//#endregion\n\n//#region ---- Component ----\n\n/**\n * Read-only {@link AXPAiChatMessage} transcript (role + responses[]) for delegated specialist detail.\n */\n@Component({\n selector: 'axm-assist-delegated-agent-transcript-view',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXTextRendererComponent,\n AXMNodeMessageRendererComponent,\n AXMAssistBotImageLineComponent,\n AXMAssistSuggestionChipsComponent,\n AXAccordionCdkModule,\n AXCodeEditorModule,\n AXPMarkdownViewerComponent,\n AXPMarkdownTemplateDirective,\n FormsModule,\n AXTranslationModule,\n AsyncPipe,\n ],\n templateUrl: './assist-delegated-agent-transcript-view.component.html',\n styleUrls: [\n './assist-message-renderer.component.scss',\n './assist-delegated-agent-transcript-view.component.scss',\n ],\n})\nexport class AXMAssistDelegatedAgentTranscriptViewComponent {\n //#region ---- Inputs ----\n\n readonly messages = input<AXPAiChatMessage[]>([]);\n readonly embedParent = input.required<AXMessage>();\n readonly emptyHint = input<string | undefined>(undefined);\n readonly agentTitleById = input<Record<string, string>>({});\n\n //#endregion\n\n //#region ---- Template helpers ----\n\n protected readonly segmentDir = axmAssistSegmentDirection;\n protected readonly parseAssistLineText = axmParseAssistTranscriptTextEnvelope;\n protected readonly axmAssistWidgetNodeFromUnknown = axmAssistWidgetNodeFromUnknown;\n protected readonly isDelegatedAgentCommand = (command: string): boolean =>\n axpAiParseSupervisorAgentToolName(command) != null;\n\n //#endregion\n\n //#region ---- Computed ----\n\n readonly hasMessages = computed(() => this.messages().length > 0);\n\n readonly toolResultByCallId = computed(() => axmBuildToolResultByCallId(this.messages()));\n\n readonly displayLines = computed(() =>\n this.messages().map((line, lineIndex) => ({ line, lineIndex })),\n );\n\n //#endregion\n\n //#region ---- Segment renderers ----\n\n protected roleTranslationKey(role: AXPAiChatMessage['role']): string {\n return `@conversation:chat.assist-renderer.delegated-agent.roles.${role}`;\n }\n\n protected resolveToolDisplayTitle(command: string): string {\n const agentId = axpAiParseSupervisorAgentToolName(command);\n if (agentId) {\n const title = this.agentTitleById()[agentId];\n if (title?.trim()) {\n return title.trim();\n }\n return agentId;\n }\n return command?.trim() || 'Tool';\n }\n\n protected toolResultForCallId(callId: string | undefined): AXPAiChatMessage | null {\n if (!callId?.trim()) {\n return null;\n }\n return this.toolResultByCallId().get(callId.trim()) ?? null;\n }\n\n protected delegatedAgentOutcomeSegmentsForCall(res: AXPAiChatMessage | null): AXPAiDelegatedAgentResultSegment[] {\n if (!res) {\n return [];\n }\n const raw = axpAiChatToolOrAgentResultBodyJson(res);\n if (!raw.trim()) {\n return [];\n }\n try {\n const o = JSON.parse(raw) as Record<string, unknown>;\n if (o['success'] === false) {\n return [];\n }\n return axpAiDelegatedAgentResultSegments(o as { success?: boolean; data?: { responses?: AXPAiDelegatedAgentResultSegment[] } });\n } catch {\n return [];\n }\n }\n\n protected delegatedPromptPreview(argumentsValue: unknown): string {\n return axpAiDelegatedAgentPromptPreview(argumentsValue);\n }\n\n protected formatArgs(args: unknown): string {\n return axmFormatTranscriptArgs(args);\n }\n\n protected formatToolResultBody(line: AXPAiChatMessage): string {\n return axmTryPrettyJson(axpAiChatToolOrAgentResultBodyJson(line));\n }\n\n protected formatFallbackSegment(seg: AXPAiChatResponse): string {\n return axmFormatTranscriptFallbackSegment(seg);\n }\n\n protected syntheticTextMessage(lineIndex: number, segIndex: number, text: string): AXMessage {\n return axmSyntheticEmbedMessage(this.embedParent(), `dt-${lineIndex}-${segIndex}`, {\n type: 'text',\n payload: { type: 'text', text },\n });\n }\n\n protected syntheticNodeEmbedMessage(lineIndex: number, segIndex: number, content: unknown): AXMessage {\n return axmSyntheticEmbedMessage(this.embedParent(), `dn-${lineIndex}-${segIndex}`, {\n type: 'node',\n payload: { type: 'node', content } as unknown as AXMessagePayload,\n });\n }\n\n protected markdownCodeLanguage(segment: unknown): AXCodeEditorDefaultLanguage {\n if (this.isMarkdownCodeSegment(segment) && segment.language.trim()) {\n return segment.language as AXCodeEditorDefaultLanguage;\n }\n return 'javascript';\n }\n\n protected markdownCodeValue(segment: unknown): string {\n if (this.isMarkdownCodeSegment(segment)) {\n return segment.code;\n }\n return '';\n }\n\n private isMarkdownCodeSegment(segment: unknown): segment is { type: 'code'; language: string; code: string } {\n if (!segment || typeof segment !== 'object') {\n return false;\n }\n const candidate = segment as { type?: unknown; language?: unknown; code?: unknown };\n return candidate.type === 'code' && typeof candidate.language === 'string' && typeof candidate.code === 'string';\n }\n\n //#endregion\n}\n\n//#endregion\n","<div class=\"axm-delegated-transcript\">\n @if (!hasMessages() && emptyHint()) {\n <p class=\"axm-delegated-transcript__empty\">{{ emptyHint() }}</p>\n } @else {\n <div class=\"axm-assist-bot axm-delegated-transcript__lines\" role=\"list\">\n <div class=\"axm-assist-renderer__accordion-group\" axAccordionGroup [accordion]=\"false\">\n @for (item of displayLines(); track item.lineIndex) {\n @let line = item.line;\n @let lineIndex = item.lineIndex;\n <div\n class=\"axm-delegated-transcript__line axm-assist-bot__line axm-assist-renderer__collapse-shell\"\n axAccordionItem\n #roleSection=\"axAccordionItem\"\n role=\"listitem\"\n [class.axm-assist-bot__line--user]=\"line.role === 'user'\"\n [class.axm-assist-bot__line--tool-role]=\"line.role === 'tool'\"\n [attr.data-role]=\"line.role\"\n >\n <header\n class=\"axm-delegated-transcript__role axm-assist-renderer__accordion-header\"\n axAccordionItemHeader\n >\n <span class=\"axm-assist-renderer__accordion-header-main\">\n <span class=\"axm-assist-renderer__accordion-header-title\">\n <i\n class=\"fa-light fa-chevron-down axm-assist-renderer__thinking-chevron\"\n [class.axm-assist-renderer__thinking-chevron--expanded]=\"!roleSection.isCollapsed()\"\n aria-hidden=\"true\"\n ></i>\n <span>{{ roleTranslationKey(line.role) | translate | async }}</span>\n </span>\n @if (line.delegatedReflection) {\n <span class=\"axm-delegated-transcript__reflection-badge\">{{\n '@conversation:chat.assist-renderer.delegated-agent.reflection' | translate | async\n }}</span>\n }\n @if (line.name?.trim()) {\n <span class=\"axm-delegated-transcript__name\">{{ line.name }}</span>\n }\n </span>\n </header>\n\n <div axAccordionItemContent>\n <div class=\"axm-assist-renderer__collapse-body axm-delegated-transcript__segments\">\n @for (seg of line.responses; track segIndex; let segIndex = $index) {\n @if (line.role === 'user' && seg.type === 'file') {\n <axm-assist-bot-image-line\n [parentMessage]=\"embedParent()\"\n [fileId]=\"seg.content.fileId\"\n />\n } @else if (line.role === 'user' && seg.type === 'text') {\n <div class=\"axm-assist-bot__segment\" [attr.dir]=\"segmentDir(seg.content)\">\n <ax-conversation-text-renderer [message]=\"syntheticTextMessage(lineIndex, segIndex, seg.content)\" />\n </div>\n } @else if (line.role === 'assistant' && seg.type === 'think') {\n <details class=\"axm-delegated-transcript__think\" open>\n <summary class=\"axm-delegated-transcript__think-summary\">\n <i class=\"fa-light fa-brain axm-assist-renderer__tool-title-icon\" aria-hidden=\"true\"></i>\n {{ '@conversation:chat.assist-renderer.sections.thinking' | translate | async }}\n </summary>\n <div\n class=\"axm-assist-renderer__thinking-body axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(seg.content)\"\n >\n {{ seg.content }}\n </div>\n </details>\n } @else if (line.role === 'assistant' && seg.type === 'text') {\n @let parsedLine = parseAssistLineText(seg.content);\n @if (parsedLine.thinking?.trim()) {\n <details class=\"axm-delegated-transcript__think\" open>\n <summary class=\"axm-delegated-transcript__think-summary\">\n <i class=\"fa-light fa-brain axm-assist-renderer__tool-title-icon\" aria-hidden=\"true\"></i>\n {{ '@conversation:chat.assist-renderer.sections.thinking' | translate | async }}\n </summary>\n <div\n class=\"axm-assist-renderer__thinking-body axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(parsedLine.thinking ?? '')\"\n >\n {{ parsedLine.thinking }}\n </div>\n </details>\n }\n @if (parsedLine.body.trim()) {\n <div\n class=\"axm-assist-bot__segment axm-assist-renderer__markdown\"\n [attr.dir]=\"segmentDir(parsedLine.body)\"\n >\n <axp-markdown-viewer [markdown]=\"parsedLine.body\">\n <ng-template axpMarkdownTemplate=\"code\" let-segment>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"markdownCodeValue(segment)\"\n [readonly]=\"true\"\n [language]=\"markdownCodeLanguage(segment)\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n </ng-template>\n </axp-markdown-viewer>\n </div>\n }\n } @else if (\n line.role === 'assistant' &&\n (seg.type === 'agent' || seg.type === 'tool') &&\n isDelegatedAgentCommand(seg.content.command)\n ) {\n <div\n class=\"axm-assist-renderer__tool-card axm-assist-renderer__collapse-shell axm-delegated-transcript__tool-block\"\n >\n <div class=\"axm-assist-renderer__accordion-header axm-delegated-transcript__tool-header\">\n <span class=\"axm-assist-renderer__accordion-header-title\">\n <i class=\"fa-light fa-people-group axm-assist-renderer__tool-title-icon\" aria-hidden=\"true\"></i>\n {{ resolveToolDisplayTitle(seg.content.command) }}\n </span>\n <span class=\"axm-assist-renderer__badge axm-assist-renderer__badge--primary\">{{\n '@conversation:chat.assist-renderer.badges.agent' | translate | async\n }}</span>\n </div>\n <div class=\"axm-assist-renderer__collapse-body\">\n <div class=\"axm-assist-renderer__tool-body\">\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.agent-prompt' | translate | async }}\n </div>\n <div\n class=\"axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(delegatedPromptPreview(seg.content.arguments))\"\n >\n {{ delegatedPromptPreview(seg.content.arguments) }}\n </div>\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.input' | translate | async }}\n </div>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatArgs(seg.content.arguments)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n @if (toolResultForCallId(seg.callId); as resultLine) {\n @let outcomeSegs = delegatedAgentOutcomeSegmentsForCall(resultLine);\n @if (outcomeSegs.length > 0) {\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.agent-answer' | translate | async }}\n </div>\n @for (outSeg of outcomeSegs; track $index) {\n @switch (outSeg.type) {\n @case ('text') {\n @let parsedOut = parseAssistLineText(outSeg.content);\n @if (parsedOut.body.trim()) {\n <div\n class=\"axm-assist-bot__segment axm-assist-renderer__markdown\"\n [attr.dir]=\"segmentDir(parsedOut.body)\"\n >\n <axp-markdown-viewer [markdown]=\"parsedOut.body\" />\n </div>\n }\n }\n @case ('think') {\n <div\n class=\"axm-assist-renderer__thinking-body axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(outSeg.content)\"\n >\n {{ outSeg.content }}\n </div>\n }\n @case ('file') {\n <axm-assist-bot-image-line\n [parentMessage]=\"embedParent()\"\n [fileId]=\"outSeg.content.fileId\"\n />\n }\n @case ('node') {\n @if (axmAssistWidgetNodeFromUnknown(outSeg.content); as widgetNode) {\n <div class=\"axm-assist-bot__segment\" dir=\"auto\">\n <axm-chat-user-form-renderer\n [message]=\"\n syntheticNodeEmbedMessage(lineIndex, segIndex * 1000 + $index, outSeg.content)\n \"\n />\n </div>\n }\n }\n @case ('followUp') {\n <div class=\"axm-assist-bot__segment\" dir=\"auto\">\n <axm-assist-suggestion-chips [items]=\"outSeg.content\" />\n </div>\n }\n }\n }\n } @else {\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.output' | translate | async }}\n </div>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatToolResultBody(resultLine)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n }\n }\n </div>\n </div>\n </div>\n } @else if (line.role === 'assistant' && (seg.type === 'agent' || seg.type === 'tool')) {\n <div\n class=\"axm-assist-renderer__tool-card axm-assist-renderer__collapse-shell axm-delegated-transcript__tool-block\"\n >\n <div class=\"axm-assist-renderer__accordion-header axm-delegated-transcript__tool-header\">\n <span class=\"axm-assist-renderer__accordion-header-title\">\n <i\n class=\"fa-light fa-screwdriver-wrench axm-assist-renderer__tool-title-icon\"\n aria-hidden=\"true\"\n ></i>\n {{ resolveToolDisplayTitle(seg.content.command) }}\n </span>\n <span class=\"axm-assist-renderer__badge axm-assist-renderer__badge--primary\">{{\n '@conversation:chat.assist-renderer.badges.tool' | translate | async\n }}</span>\n </div>\n <div class=\"axm-assist-renderer__collapse-body\">\n <div class=\"axm-assist-renderer__tool-body\">\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.input' | translate | async }}\n </div>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatArgs(seg.content.arguments)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n @if (toolResultForCallId(seg.callId); as resultLine) {\n <div class=\"axm-assist-renderer__tool-section-label\">\n {{ '@conversation:chat.assist-renderer.sections.output' | translate | async }}\n </div>\n <div class=\"axm-assist-renderer__tool-editor-wrap\" style=\"direction: ltr\">\n <ax-code-editor\n [ngModel]=\"formatToolResultBody(resultLine)\"\n [readonly]=\"true\"\n language=\"json\"\n [lineNumbers]=\"true\"\n class=\"axm-assist-renderer__tool-editor\"\n ></ax-code-editor>\n </div>\n }\n </div>\n </div>\n </div>\n } @else if (line.role === 'assistant' && seg.type === 'node') {\n @if (axmAssistWidgetNodeFromUnknown(seg.content)) {\n <div class=\"axm-assist-bot__segment\" dir=\"auto\">\n <axm-chat-user-form-renderer\n [message]=\"syntheticNodeEmbedMessage(lineIndex, segIndex, seg.content)\"\n />\n </div>\n }\n } @else if (line.role === 'assistant' && seg.type === 'file') {\n <axm-assist-bot-image-line\n [parentMessage]=\"embedParent()\"\n [fileId]=\"seg.content.fileId\"\n />\n } @else if (line.role === 'tool' && (seg.type === 'tool_result' || seg.type === 'agent_result')) {\n <!-- Shown on the matching tool/agent block above -->\n } @else if (line.role === 'system' && seg.type === 'text') {\n <div class=\"axm-assist-bot__segment\" [attr.dir]=\"segmentDir(seg.content)\">\n <ax-conversation-text-renderer [message]=\"syntheticTextMessage(lineIndex, segIndex, seg.content)\" />\n </div>\n } @else {\n <div\n class=\"axm-assist-bot__fallback axm-assist-bot__segment\"\n [attr.dir]=\"segmentDir(formatFallbackSegment(seg))\"\n >\n {{ formatFallbackSegment(seg) }}\n </div>\n }\n }\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n }\n</div>\n","//#region ---- Imports ----\n\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport type { AXPAiChatMessage, AXPAiDelegatedAgentTranscriptRunInput } from '@acorex/modules/ai-management';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { axmDownloadDelegatedAgentDetailJson } from '../utils/assist-delegated-agent-detail-export.util';\nimport { axmDelegatedTranscriptEmbedParentStub } from '../utils/assist-delegated-agent-transcript-view.util';\nimport { AXMAssistDelegatedAgentTranscriptViewComponent } from './assist-delegated-agent-transcript-view.component';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface AXMAssistDelegatedAgentDetailPopupData {\n delegationCallId: string;\n messages: AXPAiChatMessage[];\n runInput?: AXPAiDelegatedAgentTranscriptRunInput;\n agentName?: string;\n emptyHint?: string;\n agentTitleById?: Record<string, string>;\n}\n\n//#endregion\n\n//#region ---- Component ----\n\n@Component({\n selector: 'axm-assist-delegated-agent-detail-popup',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n AXMAssistDelegatedAgentTranscriptViewComponent,\n AXButtonModule,\n AXTranslationModule,\n AsyncPipe,\n AXDecoratorModule,\n ],\n template: `\n <div class=\"axm-assist-delegated-detail-popup\">\n <axm-assist-delegated-agent-transcript-view\n [messages]=\"messages\"\n [embedParent]=\"embedParent\"\n [emptyHint]=\"emptyHint\"\n [agentTitleById]=\"agentTitleById\"\n />\n <ax-footer>\n <ax-suffix>\n <ax-button\n look=\"outline\"\n color=\"primary\"\n icon=\"fa-light fa-download\"\n [text]=\"'@conversation:chat.assist-renderer.delegated-agent.download-json' | translate | async\"\n [disabled]=\"!messages.length\"\n (onClick)=\"downloadJson()\"\n ></ax-button>\n <ax-button\n look=\"solid\"\n color=\"primary\"\n [text]=\"'@general:actions.close.title' | translate | async\"\n (onClick)=\"close()\"\n ></ax-button>\n </ax-suffix>\n </ax-footer>\n </div>\n `,\n styles: [\n `\n .axm-assist-delegated-detail-popup {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n min-block-size: 0;\n }\n\n .axm-assist-delegated-detail-popup ax-footer ax-suffix {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-end;\n gap: 0.5rem;\n }\n `,\n ],\n})\nexport class AXMAssistDelegatedAgentDetailPopupComponent extends AXBasePageComponent {\n /** Set by {@link AXPopupService} from `data`. */\n delegationCallId = '';\n\n messages: AXPAiChatMessage[] = [];\n\n runInput?: AXPAiDelegatedAgentTranscriptRunInput;\n\n agentName?: string;\n\n emptyHint?: string;\n\n agentTitleById: Record<string, string> = {};\n\n embedParent = axmDelegatedTranscriptEmbedParentStub();\n\n protected downloadJson(): void {\n axmDownloadDelegatedAgentDetailJson(\n this.delegationCallId,\n this.messages,\n this.runInput,\n this.agentName,\n );\n }\n}\n\n//#endregion\n"],"names":["i2","i3","i4","i1"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { input, inject, computed, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
3
|
import { ActivatedRoute } from '@angular/router';
|
|
4
|
-
import { a as AXMCommentComponent } from './acorex-modules-conversation-acorex-modules-conversation-
|
|
4
|
+
import { a as AXMCommentComponent } from './acorex-modules-conversation-acorex-modules-conversation-DYW31fEm.mjs';
|
|
5
5
|
|
|
6
6
|
//#region ---- Comments Page Component ----
|
|
7
7
|
/**
|
|
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
63
63
|
}], propDecorators: { rootContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "rootContext", required: true }] }], pageConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageConfig", required: false }] }] } });
|
|
64
64
|
|
|
65
65
|
export { AXMCommentsPageComponent };
|
|
66
|
-
//# sourceMappingURL=acorex-modules-conversation-comments-page.component-
|
|
66
|
+
//# sourceMappingURL=acorex-modules-conversation-comments-page.component-CNqL-HdS.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-conversation-comments-page.component-
|
|
1
|
+
{"version":3,"file":"acorex-modules-conversation-comments-page.component-CNqL-HdS.mjs","sources":["../../../../libs/modules/conversation/src/lib/features/comment/comments-page/comments-page.component.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { inject } from '@angular/core';\nimport { AXMCommentComponent } from '../comment.component';\n\n//#region ---- Comments Page Component ----\n\n/**\n * Page component that renders comments using AXMCommentComponent.\n * Used when comments plugin has display: 'page'.\n * Receives rootContext (entity data) and derives refrenceType/refrenceId from route params and context.\n */\n@Component({\n selector: 'axm-comments-page',\n imports: [AXMCommentComponent],\n template: `\n @if (refrenceType() && refrenceId()) {\n <axm-comment\n [refrenceType]=\"refrenceType()!\"\n [refrenceId]=\"refrenceId()!\"\n [subject]=\"subject()\"\n ></axm-comment>\n }\n `,\n styles: `\n :host {\n display: block;\n width: 100%;\n height: 100%;\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXMCommentsPageComponent {\n\n //#region ---- Inputs ----\n\n /** Entity data context passed by the page host */\n rootContext = input.required<Record<string, any>>();\n\n /** Page-level configuration from the entity page definition */\n pageConfig = input<Record<string, unknown>>();\n\n //#endregion\n\n //#region ---- Services & Dependencies ----\n\n private route = inject(ActivatedRoute);\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n protected refrenceType = computed(() => {\n const moduleName = this.route.snapshot.parent?.paramMap.get('module');\n const entityName = this.route.snapshot.paramMap.get('entity');\n if (moduleName && entityName) {\n return `${moduleName}.${entityName}`;\n }\n return null;\n });\n\n protected refrenceId = computed(() => {\n const ctx = this.rootContext();\n return ctx?.['id'] ?? null;\n });\n\n protected subject = computed(() => {\n const ctx = this.rootContext();\n return ctx?.['title'] ?? '';\n });\n\n //#endregion\n\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
|