@futdevpro/ccap 1.1.2389 → 1.1.2411
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/client-dist/{agent-instances.module-YPTJVIUS.js → agent-instances.module-X4WGT34K.js} +2 -2
- package/client-dist/{ca.module-GMI3COQR.js → ca.module-XSJ7BLYW.js} +2 -2
- package/client-dist/cc.module-BNVNHGFY.js +4 -0
- package/client-dist/cc.module-BNVNHGFY.js.map +7 -0
- package/client-dist/{chunk-RTIKCJMZ.js → chunk-26ZVYTEO.js} +2 -2
- package/client-dist/{chunk-L4ENM7GO.js → chunk-3CIISQAU.js} +2 -2
- package/client-dist/{chunk-5NWG7OK7.js → chunk-3MTK72EJ.js} +2 -2
- package/client-dist/{chunk-C2OJLTHT.js → chunk-3PAAZAV3.js} +2 -2
- package/client-dist/{chunk-M2WB2CIX.js → chunk-3Q542Z45.js} +2 -2
- package/client-dist/{chunk-CO6GL2ZW.js → chunk-5O4QDCHT.js} +2 -2
- package/client-dist/{chunk-C3HYDNFR.js → chunk-5TWAO654.js} +2 -2
- package/client-dist/{chunk-QV232W7L.js → chunk-6A5S3RMM.js} +2 -2
- package/client-dist/{chunk-TQA7F6A7.js → chunk-6OF2NGQO.js} +2 -2
- package/client-dist/{chunk-7ZYJAXXG.js → chunk-7KN6UEW5.js} +2 -2
- package/client-dist/{chunk-M7SFFFIE.js → chunk-AKBUQRXG.js} +2 -2
- package/client-dist/{chunk-HD44EGYT.js → chunk-AT63C2RH.js} +2 -2
- package/client-dist/{chunk-XOX3W6VU.js → chunk-AVIF2IP3.js} +2 -2
- package/client-dist/{chunk-63EKFJYX.js → chunk-AX76VMRT.js} +2 -2
- package/client-dist/{chunk-FCS7G7V7.js → chunk-AXPUK5TF.js} +2 -2
- package/client-dist/{chunk-UTXZWQY4.js → chunk-BJW2WCQT.js} +2 -2
- package/client-dist/{chunk-6EYSPF43.js → chunk-C7XPBJTG.js} +2 -2
- package/client-dist/{chunk-6EYSPF43.js.map → chunk-C7XPBJTG.js.map} +2 -2
- package/client-dist/{chunk-X6MNQMO2.js → chunk-CVKT3VCR.js} +2 -2
- package/client-dist/{chunk-UL5YKOHQ.js → chunk-DVUUFWKQ.js} +2 -2
- package/client-dist/{chunk-PY2STWVB.js → chunk-FK7N3Z5S.js} +2 -2
- package/client-dist/{chunk-W2JZI5SN.js → chunk-FTKYKFDR.js} +2 -2
- package/client-dist/{chunk-YDVTXTIB.js → chunk-FZFLGRLE.js} +2 -2
- package/client-dist/{chunk-Q55UVMRN.js → chunk-G6IHLHJ7.js} +2 -2
- package/client-dist/{chunk-EVV2KZ24.js → chunk-GJGBEN73.js} +2 -2
- package/client-dist/{chunk-T66IOCVY.js → chunk-GYCYFHVK.js} +2 -2
- package/client-dist/{chunk-I7DUYNDP.js → chunk-HHY62NRY.js} +2 -2
- package/client-dist/{chunk-5B76QINR.js → chunk-HSWFTS47.js} +2 -2
- package/client-dist/{chunk-SLB2Q4BC.js → chunk-JCPOMMVH.js} +2 -2
- package/client-dist/{chunk-7DCMAGXI.js → chunk-JPRPSYHF.js} +2 -2
- package/client-dist/{chunk-TRQDJHGJ.js → chunk-KANJT65V.js} +2 -2
- package/client-dist/{chunk-C5UWLFU6.js → chunk-KT3BYRL3.js} +2 -2
- package/client-dist/{chunk-PK4II7PF.js → chunk-L4PEP75V.js} +2 -2
- package/client-dist/{chunk-FD2Q32VD.js → chunk-LII3XCUF.js} +2 -2
- package/client-dist/{chunk-NIIZ6LR7.js → chunk-MYZVTRJZ.js} +2 -2
- package/client-dist/{chunk-H7UCNYXQ.js → chunk-O3N3XIMG.js} +2 -2
- package/client-dist/{chunk-2MMJJYV3.js → chunk-OG3VMUNV.js} +2 -2
- package/client-dist/chunk-P2FJ6ZAJ.js +3 -0
- package/client-dist/{chunk-YUGNXMFO.js.map → chunk-P2FJ6ZAJ.js.map} +4 -4
- package/client-dist/{chunk-YJ6KHZPR.js → chunk-PN3KA4H6.js} +2 -2
- package/client-dist/{chunk-CH6H5GIS.js → chunk-QTFJL2CG.js} +2 -2
- package/client-dist/{chunk-2GVBHC5K.js → chunk-RS24N3BW.js} +2 -2
- package/client-dist/{chunk-EXRDYZON.js → chunk-S37DYZ4D.js} +2 -2
- package/client-dist/{chunk-LBP74S3U.js → chunk-S6WQL46S.js} +2 -2
- package/client-dist/{chunk-6G5Y2RVU.js → chunk-SBCMX4K4.js} +2 -2
- package/client-dist/{chunk-6MIKCML7.js → chunk-TGIQ5T5X.js} +2 -2
- package/client-dist/{chunk-6MIKCML7.js.map → chunk-TGIQ5T5X.js.map} +1 -1
- package/client-dist/{chunk-BSJLKUSY.js → chunk-TOHUYDQN.js} +2 -2
- package/client-dist/{chunk-FGOS37PX.js → chunk-U57ABGMI.js} +2 -2
- package/client-dist/{chunk-WO6HE2R3.js → chunk-UWTY5YHV.js} +2 -2
- package/client-dist/{chunk-EPWEWBZM.js → chunk-UZBRDH6C.js} +2 -2
- package/client-dist/{chunk-3MI5UYSK.js → chunk-V3APWHIK.js} +2 -2
- package/client-dist/{chunk-5IUIWSPY.js → chunk-VKRB7RPF.js} +2 -2
- package/client-dist/{chunk-S7HHYSZ5.js → chunk-VNNRNIBP.js} +2 -2
- package/client-dist/{chunk-2L4QBLQ6.js → chunk-WF5REVE2.js} +2 -2
- package/client-dist/{chunk-IL6S5JUT.js → chunk-XH5VH5JJ.js} +2 -2
- package/client-dist/{chunk-QYGC7YHL.js → chunk-XIP3DG7D.js} +2 -2
- package/client-dist/{chunk-5QBDPAES.js → chunk-XMEY5EOS.js} +26 -26
- package/client-dist/{chunk-5QBDPAES.js.map → chunk-XMEY5EOS.js.map} +1 -1
- package/client-dist/{chunk-OBEEMYS7.js → chunk-YE2TCO62.js} +2 -2
- package/client-dist/{chunk-URARLVRJ.js → chunk-ZSUUXOY6.js} +2 -2
- package/client-dist/{consultant.module-H6PYMBAB.js → consultant.module-6CHZ2SU6.js} +2 -2
- package/client-dist/{crd.module-ZC5QPQJR.js → crd.module-3V4KQOUO.js} +2 -2
- package/client-dist/{dashboard.module-H4X3MKCK.js → dashboard.module-JCQYOTIA.js} +2 -2
- package/client-dist/{do.module-GQRR56RE.js → do.module-SAW7Q2GH.js} +2 -2
- package/client-dist/{document-library.module-C6TDX4WU.js → document-library.module-633NSZOY.js} +2 -2
- package/client-dist/{embedding-eval.module-PCWTBVQG.js → embedding-eval.module-BRZFA5S7.js} +2 -2
- package/client-dist/{embedding-registry.module-LEYWBEQ4.js → embedding-registry.module-MFJM25SW.js} +2 -2
- package/client-dist/{err.module-YQBQBPIV.js → err.module-5XCTDXB3.js} +2 -2
- package/client-dist/{feedback.module-FOKL66MT.js → feedback.module-AFUAWZ3J.js} +2 -2
- package/client-dist/{host-runtime-mcp.module-TL6G4XN6.js → host-runtime-mcp.module-EIOWQEYV.js} +2 -2
- package/client-dist/index.html +2 -2
- package/client-dist/{live-dev-pipeline.module-JOMOZMGX.js → live-dev-pipeline.module-YOLDXWCL.js} +2 -2
- package/client-dist/{logs.module-G5VDU76B.js → logs.module-NC5RPLNT.js} +2 -2
- package/client-dist/{main-FTPMU5ED.js → main-FKDZMHCD.js} +3 -3
- package/client-dist/{master-control-remote-poc.module-SCYEILPY.js → master-control-remote-poc.module-UOKVH2YM.js} +2 -2
- package/client-dist/{mobile-app.module-SA3G3J4Q.js → mobile-app.module-LLFEBFGK.js} +2 -2
- package/client-dist/{model-registry.module-SBXEJQS5.js → model-registry.module-WACRX4PQ.js} +2 -2
- package/client-dist/{oc.module-CMLPJHYT.js → oc.module-4JYGDCAF.js} +2 -2
- package/client-dist/{orc.module-T4UQFZP2.js → orc.module-XEK6LG3C.js} +2 -2
- package/client-dist/{project-management.module-IMS2UJ2Y.js → project-management.module-4DMDWYLX.js} +2 -2
- package/client-dist/project-source-routed.module-75LP5YYX.js +2 -0
- package/client-dist/{scheduler.module-ZBZDUTRF.js → scheduler.module-3BGSX7YH.js} +2 -2
- package/client-dist/session.module-7WUX4ZDX.js +12 -0
- package/client-dist/{session.module-YTDOJXQT.js.map → session.module-7WUX4ZDX.js.map} +3 -3
- package/client-dist/{set.module-6GGTALKI.js → set.module-VWNHXENW.js} +2 -2
- package/client-dist/{setup.module-FXVCUMRZ.js → setup.module-XBBSFHNL.js} +2 -2
- package/client-dist/styles-IPQY7PNR.css +2 -0
- package/client-dist/styles-IPQY7PNR.css.map +7 -0
- package/client-dist/{terminals.module-SVXHFKVL.js → terminals.module-YV2CDNLU.js} +2 -2
- package/client-dist/{voice-notes-poc.module-RWJ7X6LU.js → voice-notes-poc.module-SZHQ55R6.js} +2 -2
- package/client-dist/{wfs.module-DP23D57X.js → wfs.module-Q4HXNWZW.js} +2 -2
- package/package.json +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc.data-model.d.ts +13 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc.data-model.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc.data-model.js +15 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_models/data-models/cc.data-model.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/archive/cc-session-history-archive.control-service.d.ts +85 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/archive/cc-session-history-archive.control-service.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/archive/cc-session-history-archive.control-service.js +234 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/archive/cc-session-history-archive.control-service.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/archive/cc-session-history-archive.control-service.spec.d.ts +7 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/archive/cc-session-history-archive.control-service.spec.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/archive/cc-session-history-archive.control-service.spec.js +185 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/archive/cc-session-history-archive.control-service.spec.js.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.control-service.js +8 -17
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.control-service.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.d.ts +5 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.js +16 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-output.control-service.d.ts +4 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-output.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-output.control-service.js +17 -3
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-output.control-service.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/claude-code.data-service.d.ts +6 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/claude-code.data-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/claude-code.data-service.js +15 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/claude-code.data-service.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/status/cc-status-transition.control-service.d.ts +20 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/status/cc-status-transition.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/status/cc-status-transition.control-service.js +44 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/status/cc-status-transition.control-service.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/status/cc-status-transition.control-service.spec.d.ts +8 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/status/cc-status-transition.control-service.spec.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/status/cc-status-transition.control-service.spec.js +45 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/status/cc-status-transition.control-service.spec.js.map +1 -0
- package/client-dist/cc.module-XJOL5LBP.js +0 -4
- package/client-dist/cc.module-XJOL5LBP.js.map +0 -7
- package/client-dist/chunk-YUGNXMFO.js +0 -2
- package/client-dist/project-source-routed.module-SYASSYCH.js +0 -2
- package/client-dist/session.module-YTDOJXQT.js +0 -12
- package/client-dist/styles-27DTG5PE.css +0 -2
- package/client-dist/styles-27DTG5PE.css.map +0 -7
- /package/client-dist/{agent-instances.module-YPTJVIUS.js.map → agent-instances.module-X4WGT34K.js.map} +0 -0
- /package/client-dist/{ca.module-GMI3COQR.js.map → ca.module-XSJ7BLYW.js.map} +0 -0
- /package/client-dist/{chunk-RTIKCJMZ.js.map → chunk-26ZVYTEO.js.map} +0 -0
- /package/client-dist/{chunk-L4ENM7GO.js.map → chunk-3CIISQAU.js.map} +0 -0
- /package/client-dist/{chunk-5NWG7OK7.js.map → chunk-3MTK72EJ.js.map} +0 -0
- /package/client-dist/{chunk-C2OJLTHT.js.map → chunk-3PAAZAV3.js.map} +0 -0
- /package/client-dist/{chunk-M2WB2CIX.js.map → chunk-3Q542Z45.js.map} +0 -0
- /package/client-dist/{chunk-CO6GL2ZW.js.map → chunk-5O4QDCHT.js.map} +0 -0
- /package/client-dist/{chunk-C3HYDNFR.js.map → chunk-5TWAO654.js.map} +0 -0
- /package/client-dist/{chunk-QV232W7L.js.map → chunk-6A5S3RMM.js.map} +0 -0
- /package/client-dist/{chunk-TQA7F6A7.js.map → chunk-6OF2NGQO.js.map} +0 -0
- /package/client-dist/{chunk-7ZYJAXXG.js.map → chunk-7KN6UEW5.js.map} +0 -0
- /package/client-dist/{chunk-M7SFFFIE.js.map → chunk-AKBUQRXG.js.map} +0 -0
- /package/client-dist/{chunk-HD44EGYT.js.map → chunk-AT63C2RH.js.map} +0 -0
- /package/client-dist/{chunk-XOX3W6VU.js.map → chunk-AVIF2IP3.js.map} +0 -0
- /package/client-dist/{chunk-63EKFJYX.js.map → chunk-AX76VMRT.js.map} +0 -0
- /package/client-dist/{chunk-FCS7G7V7.js.map → chunk-AXPUK5TF.js.map} +0 -0
- /package/client-dist/{chunk-UTXZWQY4.js.map → chunk-BJW2WCQT.js.map} +0 -0
- /package/client-dist/{chunk-X6MNQMO2.js.map → chunk-CVKT3VCR.js.map} +0 -0
- /package/client-dist/{chunk-UL5YKOHQ.js.map → chunk-DVUUFWKQ.js.map} +0 -0
- /package/client-dist/{chunk-PY2STWVB.js.map → chunk-FK7N3Z5S.js.map} +0 -0
- /package/client-dist/{chunk-W2JZI5SN.js.map → chunk-FTKYKFDR.js.map} +0 -0
- /package/client-dist/{chunk-YDVTXTIB.js.map → chunk-FZFLGRLE.js.map} +0 -0
- /package/client-dist/{chunk-Q55UVMRN.js.map → chunk-G6IHLHJ7.js.map} +0 -0
- /package/client-dist/{chunk-EVV2KZ24.js.map → chunk-GJGBEN73.js.map} +0 -0
- /package/client-dist/{chunk-T66IOCVY.js.map → chunk-GYCYFHVK.js.map} +0 -0
- /package/client-dist/{chunk-I7DUYNDP.js.map → chunk-HHY62NRY.js.map} +0 -0
- /package/client-dist/{chunk-5B76QINR.js.map → chunk-HSWFTS47.js.map} +0 -0
- /package/client-dist/{chunk-SLB2Q4BC.js.map → chunk-JCPOMMVH.js.map} +0 -0
- /package/client-dist/{chunk-7DCMAGXI.js.map → chunk-JPRPSYHF.js.map} +0 -0
- /package/client-dist/{chunk-TRQDJHGJ.js.map → chunk-KANJT65V.js.map} +0 -0
- /package/client-dist/{chunk-C5UWLFU6.js.map → chunk-KT3BYRL3.js.map} +0 -0
- /package/client-dist/{chunk-PK4II7PF.js.map → chunk-L4PEP75V.js.map} +0 -0
- /package/client-dist/{chunk-FD2Q32VD.js.map → chunk-LII3XCUF.js.map} +0 -0
- /package/client-dist/{chunk-NIIZ6LR7.js.map → chunk-MYZVTRJZ.js.map} +0 -0
- /package/client-dist/{chunk-H7UCNYXQ.js.map → chunk-O3N3XIMG.js.map} +0 -0
- /package/client-dist/{chunk-2MMJJYV3.js.map → chunk-OG3VMUNV.js.map} +0 -0
- /package/client-dist/{chunk-YJ6KHZPR.js.map → chunk-PN3KA4H6.js.map} +0 -0
- /package/client-dist/{chunk-CH6H5GIS.js.map → chunk-QTFJL2CG.js.map} +0 -0
- /package/client-dist/{chunk-2GVBHC5K.js.map → chunk-RS24N3BW.js.map} +0 -0
- /package/client-dist/{chunk-EXRDYZON.js.map → chunk-S37DYZ4D.js.map} +0 -0
- /package/client-dist/{chunk-LBP74S3U.js.map → chunk-S6WQL46S.js.map} +0 -0
- /package/client-dist/{chunk-6G5Y2RVU.js.map → chunk-SBCMX4K4.js.map} +0 -0
- /package/client-dist/{chunk-BSJLKUSY.js.map → chunk-TOHUYDQN.js.map} +0 -0
- /package/client-dist/{chunk-FGOS37PX.js.map → chunk-U57ABGMI.js.map} +0 -0
- /package/client-dist/{chunk-WO6HE2R3.js.map → chunk-UWTY5YHV.js.map} +0 -0
- /package/client-dist/{chunk-EPWEWBZM.js.map → chunk-UZBRDH6C.js.map} +0 -0
- /package/client-dist/{chunk-3MI5UYSK.js.map → chunk-V3APWHIK.js.map} +0 -0
- /package/client-dist/{chunk-5IUIWSPY.js.map → chunk-VKRB7RPF.js.map} +0 -0
- /package/client-dist/{chunk-S7HHYSZ5.js.map → chunk-VNNRNIBP.js.map} +0 -0
- /package/client-dist/{chunk-2L4QBLQ6.js.map → chunk-WF5REVE2.js.map} +0 -0
- /package/client-dist/{chunk-IL6S5JUT.js.map → chunk-XH5VH5JJ.js.map} +0 -0
- /package/client-dist/{chunk-QYGC7YHL.js.map → chunk-XIP3DG7D.js.map} +0 -0
- /package/client-dist/{chunk-OBEEMYS7.js.map → chunk-YE2TCO62.js.map} +0 -0
- /package/client-dist/{chunk-URARLVRJ.js.map → chunk-ZSUUXOY6.js.map} +0 -0
- /package/client-dist/{consultant.module-H6PYMBAB.js.map → consultant.module-6CHZ2SU6.js.map} +0 -0
- /package/client-dist/{crd.module-ZC5QPQJR.js.map → crd.module-3V4KQOUO.js.map} +0 -0
- /package/client-dist/{dashboard.module-H4X3MKCK.js.map → dashboard.module-JCQYOTIA.js.map} +0 -0
- /package/client-dist/{do.module-GQRR56RE.js.map → do.module-SAW7Q2GH.js.map} +0 -0
- /package/client-dist/{document-library.module-C6TDX4WU.js.map → document-library.module-633NSZOY.js.map} +0 -0
- /package/client-dist/{embedding-eval.module-PCWTBVQG.js.map → embedding-eval.module-BRZFA5S7.js.map} +0 -0
- /package/client-dist/{embedding-registry.module-LEYWBEQ4.js.map → embedding-registry.module-MFJM25SW.js.map} +0 -0
- /package/client-dist/{err.module-YQBQBPIV.js.map → err.module-5XCTDXB3.js.map} +0 -0
- /package/client-dist/{feedback.module-FOKL66MT.js.map → feedback.module-AFUAWZ3J.js.map} +0 -0
- /package/client-dist/{host-runtime-mcp.module-TL6G4XN6.js.map → host-runtime-mcp.module-EIOWQEYV.js.map} +0 -0
- /package/client-dist/{live-dev-pipeline.module-JOMOZMGX.js.map → live-dev-pipeline.module-YOLDXWCL.js.map} +0 -0
- /package/client-dist/{logs.module-G5VDU76B.js.map → logs.module-NC5RPLNT.js.map} +0 -0
- /package/client-dist/{main-FTPMU5ED.js.map → main-FKDZMHCD.js.map} +0 -0
- /package/client-dist/{master-control-remote-poc.module-SCYEILPY.js.map → master-control-remote-poc.module-UOKVH2YM.js.map} +0 -0
- /package/client-dist/{mobile-app.module-SA3G3J4Q.js.map → mobile-app.module-LLFEBFGK.js.map} +0 -0
- /package/client-dist/{model-registry.module-SBXEJQS5.js.map → model-registry.module-WACRX4PQ.js.map} +0 -0
- /package/client-dist/{oc.module-CMLPJHYT.js.map → oc.module-4JYGDCAF.js.map} +0 -0
- /package/client-dist/{orc.module-T4UQFZP2.js.map → orc.module-XEK6LG3C.js.map} +0 -0
- /package/client-dist/{project-management.module-IMS2UJ2Y.js.map → project-management.module-4DMDWYLX.js.map} +0 -0
- /package/client-dist/{project-source-routed.module-SYASSYCH.js.map → project-source-routed.module-75LP5YYX.js.map} +0 -0
- /package/client-dist/{scheduler.module-ZBZDUTRF.js.map → scheduler.module-3BGSX7YH.js.map} +0 -0
- /package/client-dist/{set.module-6GGTALKI.js.map → set.module-VWNHXENW.js.map} +0 -0
- /package/client-dist/{setup.module-FXVCUMRZ.js.map → setup.module-XBBSFHNL.js.map} +0 -0
- /package/client-dist/{terminals.module-SVXHFKVL.js.map → terminals.module-YV2CDNLU.js.map} +0 -0
- /package/client-dist/{voice-notes-poc.module-RWJ7X6LU.js.map → voice-notes-poc.module-SZHQ55R6.js.map} +0 -0
- /package/client-dist/{wfs.module-DP23D57X.js.map → wfs.module-Q4HXNWZW.js.map} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as ks}from"./chunk-
|
|
1
|
+
import{j as ks}from"./chunk-JPRPSYHF.js";import{I as $,N as Es,a as _s,b as gs,c as ys,d as cr,e as yt,f as ms,g as ar,i as ur,l as bs,n as lr,p as hr}from"./chunk-TGIQ5T5X.js";import{C as oe,H as _t,O as fs,P as De,a as as,aa as z,e as ir,f,g as or,h as us,hb as ps,i as K,ib as gt,jb as Fe,k as u,l as ls,m as hs,w as pt,y as ds}from"./chunk-TBMJSIBB.js";var qe=f(Me=>{"use strict";Object.defineProperty(Me,"__esModule",{value:!0});Me.DyFM_SocketEvent_Key=void 0;var vs=function(s){return s.incomingNewConnection="connection",s.outgoingNewConnection="connect",s.subscribe="subscribe",s.subscriptionSuccessful="subscriptionSuccessful",s.unsubscribe="unsubscribe",s.unsubscribeSuccessful="unsubscribeSuccessful",s.disconnect="disconnect",s.ping="ping",s.event="event",s.error="error",s}(vs||(Me.DyFM_SocketEvent_Key=vs={}))});var Ss=f(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});xe.DyFM_SocketClient_Params=void 0;var pr=cr(),_r=yt(),bt=class{name;service;address;port;reconnectDelay=pr.second*30;reconnect=!0;socketOptions;constructor(e){Object.assign(this,e),this.reconnect=!!this.reconnectDelay,(this.socketOptions?.autoConnect||this.socketOptions?.reconnection||this.socketOptions?.reconnectionDelay)&&(_r.DyFM_Log.warn("autoConnect or reconnection is set to true in socketOptions, so reconnect is set to false",`
|
|
2
2
|
This means that the reconnection will use the socket.io reconnection logic, `,"not the Dynamo implementations."),this.reconnect=!1)}};xe.DyFM_SocketClient_Params=bt});var kt=f(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});je.DyFM_SocketEvent=void 0;var Ie=ys(),ws=ms(),Ee=yt(),gr=ur(),yr=bs(),ke=qe(),Et=class{name;eventKey;serviceName;preProcesses;tasks;logEvent;logEventContent;stackLocation;constructor(e){try{this.name=e.name??e.eventKey,this.eventKey=e.eventKey,this.serviceName=e.serviceName??"UnknownSocketService",this.preProcesses=e.preProcesses??[],this.tasks=e.tasks??[],this.stackLocation=(0,gr.DyFM_getConstructionStackLocation)(),e.logEvent!==void 0?this.logEvent=e.logEvent:this.eventKey===ke.DyFM_SocketEvent_Key.subscribe?this.logEvent=!1:[ke.DyFM_SocketEvent_Key.incomingNewConnection,ke.DyFM_SocketEvent_Key.outgoingNewConnection,ke.DyFM_SocketEvent_Key.disconnect].includes(this.eventKey)?this.logEvent=Ie.DyFM_global_settings.log_settings.socket_allEvents||Ie.DyFM_global_settings.log_settings.socket_mainEvents:this.logEvent=Ie.DyFM_global_settings.log_settings.socket_allEvents,this.logEventContent=e.logEventContent??Ie.DyFM_global_settings.log_settings.socket_eventContent}catch(t){throw Ee.DyFM_Log.error(`
|
|
3
3
|
Socket Event params setup failed (${this.serviceName}): ${e.eventKey}`,t),t}}getPreLog(e){return u(this,null,function*(){try{this.logEventContent&&this.eventKey!==ke.DyFM_SocketEvent_Key.incomingNewConnection?Ee.DyFM_Log.log(`---> incoming socket(${this.serviceName}) event: ${this.eventKey};
|
|
4
4
|
|
|
@@ -8,4 +8,4 @@ socket-client(${this.params?.name}) Service setup finished`),yield this.connectS
|
|
|
8
8
|
Fn:. setupDefaultEvents`),this.defaultEvents.forEach(e=>{e.serviceName=this.params.name;let t=this.incomingEvents.find(n=>n.eventKey===e.eventKey);t?t.tasks.unshift(...e.tasks):this.incomingEvents.push(e)})}catch(e){throw k.DyFM_Log.error(`socket-client(${this.params.name}) Service Setup Default Events failed, ERROR:`,e),e}})}setupSocketEvents(){return u(this,null,function*(){try{this.debugLog&&console.log(`Setup socket-client(${this.params.name}) Events...`),yield Io.DyFM_Array.asyncForEach(this.incomingEvents,e=>u(this,null,function*(){e.serviceName=this.params.name,this.socket.on(e.eventKey,t=>u(this,null,function*(){try{yield e.executeEventTasks(t,this.params.service)}catch(n){k.DyFM_Log.error(`socket-client(${this.params.name}) Event failed, ERROR:`,n),yield this.emitEvent(X.DyFM_SocketEvent_Key.error,n)}}))}))}catch(e){throw k.DyFM_Log.error(`socket-client(${this.params.name}) Service Setup Socket Events failed, ERROR:`,e),e}})}connectSocket(){return u(this,null,function*(){try{k.DyFM_Log.info(`< .. > socket-client(${this.params.name}) connecting to ${this.params.address}:${this.params.port} ...`),this.socket.connect(),this.params.reconnect&&(yield this.tryReconnectIfNeeded())}catch(e){throw k.DyFM_Log.error(`socket-client(${this.params.name}) Service Connect Socket failed, ERROR:`,e),e}})}tryingToReconnect=!1;tryReconnectIfNeeded(){return u(this,null,function*(){try{if(console.log("tryReconnectIfNeeded",this._params.reconnectDelay),this.tryingToReconnect){k.DyFM_Log.warn(`socket-client(${this.params.name}) already trying to reconnect!`);return}if(!this.params.reconnect){k.DyFM_Log.warn(`socket-client(${this.params.name}) Dynamo reconnection is disabled!`);return}this.tryingToReconnect=!0,this.logFn&&console.log(`
|
|
9
9
|
Fn:. tryReconnectIfNeeded`),yield vn.DyFM_Async.delay(this._params.reconnectDelay),this.connected||(this.tryingToReconnect=!1,yield this.connectSocket())}catch(e){throw k.DyFM_Log.error(`socket-client(${this.params.name}) Service Try Reconnect failed, ERROR:`,e),this.tryingToReconnect=!1,e}})}reconnect(){this.tryingToReconnect=!1,this.socket&&this.socket.disconnect(),this.connectSocket()}};lt.DyFM_SocketClient_ServiceBase=os});var wn=f(be=>{"use strict";Object.defineProperty(be,"__esModule",{value:!0});var ht=(gs(),K(_s));ht.__exportStar(qe(),be);ht.__exportStar(Ss(),be);ht.__exportStar(kt(),be);ht.__exportStar(Sn(),be)});function dr(s,e){!e?.injector&&_t(dr);let t=e?.injector??oe(fs),n=new hs(1),r=Fe(()=>{let i;try{i=s()}catch(o){gt(()=>n.error(o));return}gt(()=>n.next(i))},{injector:t,manualCleanup:!0});return t.get(De).onDestroy(()=>{r.destroy(),n.complete()}),n.asObservable()}function mt(s,e){let t=!e?.manualCleanup;t&&!e?.injector&&_t(mt);let n=t?e?.injector?.get(De)??oe(De):null,r=fr(e?.equal),i;e?.requireSync?i=z({kind:0},{equal:r}):i=z({kind:1,value:e?.initialValue},{equal:r});let o=s.subscribe({next:c=>i.set({kind:1,value:c}),error:c=>{if(e?.rejectErrors)throw c;i.set({kind:2,error:c})}});if(e?.requireSync&&i().kind===0)throw new pt(601,!1);return n?.onDestroy(o.unsubscribe.bind(o)),ps(()=>{let c=i();switch(c.kind){case 1:return c.value;case 2:throw c.error;case 0:throw new pt(601,!1)}},{equal:e?.equal})}function fr(s=Object.is){return(e,t)=>e.kind===1&&t.kind===1&&s(e.value,t.value)}var j=function(s){return s.connecting="connecting",s.connected="connected",s.error="error",s}(j||{});var C=us(hr()),d=us(wn());function dt(){if($.socketUrl!==void 0&&$.socketUrl.trim()!=="")return $.socketUrl.trim();if(typeof window<"u"){let s=new URL(window.location.href).origin;return C.DyFM_Log.warn("CCAP_Socket | socketUrl not set, using same-origin fallback:",s),s}return""}function U(s){return s!=null&&typeof s=="object"&&!(s instanceof Error)}function Cn(){return typeof globalThis>"u"?!1:globalThis.jasmine!==void 0}var Tn="answer",On="notify-user",Rn="agent-events",Pn="context:updated",An="monitoring:event",Nn="user-notification",Dn="cc-session:status",Fn="cc-session:output",Mn="cc-session:event",qn="cc-session:list-update",xn="cc-session:session-update",In="ca-session:status",jn="ca-session:output",Ln="ca-session:event",Bn="ca-session:list-update",Un="ext-session-msg:message",Kn="ext-session-msg:update",$n="user-interaction:request",Vn="instance-data:session-status-updated",Wn="instance:presence-update",Hn="openclaw-instance-data:status-updated",Yn="cci-instance-data:status-updated",Xn="cai-instance-data:status-updated",Jn="terminal:list:result",zn="terminal:start:result",Gn="terminal:command-result",Qn="terminal:command-output",Zn="cc:rate-limit-update",er="session-queue:updated",tr="session-queue:lock-changed",Lo="system-error",Bo="terminal-error",Uo="server:start-id",Ko="connect_error",$o=8*C.second,Wc=(()=>{class s extends d.DyFM_SocketClient_ServiceBase{status_$=z(j.connecting);lastError_$=z(null);connectAttemptCount_$=z(0);hasEverConnected=!1;connectionTimeoutId=null;knownServerStartId=null;eventSubject_S=new ls;event$=this.eventSubject_S.asObservable();connected_$=mt(this.connected$,{initialValue:!1});get socketAddress(){return dt()||(this.params?.address??"")}globalError_CS=oe(ks);settingsGeneral_DS=oe(Es);constructor(){super(),Cn()||this.startConnectionTimeout(),Fe(()=>{this.connected&&!this.subscribed&&this.subscribe()})}startConnectionTimeout(){this.clearConnectionTimeout(),this.connectionTimeoutId=setTimeout(()=>{if(this.connectionTimeoutId=null,this.status_$()===j.connecting){let t=new Error("Socket connection timeout \u2013 server unreachable or setup failed. Click to reconnect.");this.status_$.set(j.error),this.lastError_$.set(t),C.DyFM_Log.warn("CCAP_Socket | Connection timeout")}},$o)}clearConnectionTimeout(){this.connectionTimeoutId!==null&&(clearTimeout(this.connectionTimeoutId),this.connectionTimeoutId=null)}getParams(){let t=dt(),n=Cn(),r={path:"/socket",transports:["polling","websocket"],reconnectionDelay:1e3};return n&&(r.reconnection=!1),new d.DyFM_SocketClient_Params({name:"CCAP Client",address:t,reconnect:!n,reconnectDelay:C.minute,socketOptions:r})}getIncomingEvents(){let t=this,n=(r,i)=>{try{let o=U(i)?i:{};if(!t.eventSubject_S){let c=`Socket event dropped: eventSubject not initialized | event: ${r} | This means the socket event system is not functional \u2014 no live updates will arrive.`;C.DyFM_Log.error(`[CCAP_Socket] ${c}`),t.globalError_CS.showError(new Error(c),"client-socket-event-subject");return}t.eventSubject_S.next({event:r,payload:o})}catch(o){let c=o instanceof Error?o.message:String(o);C.DyFM_Log.error(`[CCAP_Socket] pushEnvelope failed | event: ${r} | ${c}`),t.globalError_CS.showError(o instanceof Error?o:new Error(`Socket event processing failed: ${r} \u2014 ${c}`),"client-socket-push-envelope")}};return[new d.DyFM_SocketEvent({eventKey:d.DyFM_SocketEvent_Key.outgoingNewConnection,tasks:[()=>u(this,null,function*(){t.clearConnectionTimeout(),t.hasEverConnected=!0,t.status_$.set(j.connected),t.lastError_$.set(null),t.connectAttemptCount_$.set(0),C.DyFM_Log.info("CCAP_Socket | Connected")})]}),new d.DyFM_SocketEvent({eventKey:d.DyFM_SocketEvent_Key.disconnect,tasks:[()=>u(this,null,function*(){t.hasEverConnected&&t.status_$.set(j.error),C.DyFM_Log.info("CCAP_Socket | Disconnected")})]}),new d.DyFM_SocketEvent({eventKey:Ko,tasks:[r=>u(this,null,function*(){t.clearConnectionTimeout(),t.connectAttemptCount_$.update(a=>a+1);let i=r instanceof Error?r:new Error(String(r)),o=U(r)?r.description:void 0,c=U(r)?r.type:void 0;C.DyFM_Log.info("CCAP_Socket | connect_error",`attempt #${t.connectAttemptCount_$()}`,i?.message??String(r),o!==void 0?String(o):"",c!==void 0?String(c):""),t.status_$.set(j.error);let h=t.params?.address??"",_=t.buildSocketErrorDisplay({err:i,socketUrl:h,eventType:"connect_error",raw:r});t.lastError_$.set(_),t.shouldReportSocketConnectionErrorsToErrorList()&&t.globalError_CS.reportErrorOnly({message:String(_.fullMessage??_.message??i.message),stack:typeof _.stack=="string"?_.stack:void 0,source:"client-socket"})})]}),new d.DyFM_SocketEvent({eventKey:d.DyFM_SocketEvent_Key.error,tasks:[r=>u(this,null,function*(){t.clearConnectionTimeout(),t.status_$.set(j.error);let i=r instanceof Error?r:new Error(String(r)),o=t.params?.address??"",c=t.buildSocketErrorDisplay({err:i,socketUrl:o,eventType:"error",raw:r});t.lastError_$.set(c),t.shouldReportSocketConnectionErrorsToErrorList()&&t.globalError_CS.reportErrorOnly({message:String(c.fullMessage??c.message??i.message),stack:typeof c.stack=="string"?c.stack:void 0,source:"client-socket"})})]}),new d.DyFM_SocketEvent({eventKey:Tn,tasks:[r=>u(this,null,function*(){n(Tn,r)})]}),new d.DyFM_SocketEvent({eventKey:On,tasks:[r=>u(this,null,function*(){n(On,r)})]}),new d.DyFM_SocketEvent({eventKey:Rn,tasks:[r=>u(this,null,function*(){n(Rn,r)})]}),new d.DyFM_SocketEvent({eventKey:Pn,tasks:[r=>u(this,null,function*(){n(Pn,r)})]}),new d.DyFM_SocketEvent({eventKey:An,tasks:[r=>u(this,null,function*(){n(An,r)})]}),new d.DyFM_SocketEvent({eventKey:Nn,tasks:[r=>u(this,null,function*(){let i=U(r)?r:{};if(n(Nn,r),i.type===Lo){let o=t.buildServerErrorDisplay(i);t.globalError_CS.showError(o,"client-socket")}else if(i.type===Bo){let o=t.buildTerminalErrorDisplay(i);t.globalError_CS.showError(o,"client-socket")}})]}),new d.DyFM_SocketEvent({eventKey:Uo,tasks:[r=>u(this,null,function*(){let i=U(r)?r:{},o=typeof i.serverStartId=="number"?i.serverStartId:void 0;o!==void 0&&(t.knownServerStartId===null?(t.knownServerStartId=o,C.DyFM_Log.info("CCAP_Socket | Server start ID stored:",o)):t.knownServerStartId!==o&&(C.DyFM_Log.warn("CCAP_Socket | Server restarted (start ID changed), reloading page"),window.location.reload()))})]}),new d.DyFM_SocketEvent({eventKey:Dn,tasks:[r=>u(this,null,function*(){n(Dn,r)})]}),new d.DyFM_SocketEvent({eventKey:Fn,tasks:[r=>u(this,null,function*(){n(Fn,r)})]}),new d.DyFM_SocketEvent({eventKey:Mn,tasks:[r=>u(this,null,function*(){n(Mn,r)})]}),new d.DyFM_SocketEvent({eventKey:qn,tasks:[r=>u(this,null,function*(){n(qn,r)})]}),new d.DyFM_SocketEvent({eventKey:xn,tasks:[r=>u(this,null,function*(){n(xn,r)})]}),new d.DyFM_SocketEvent({eventKey:In,tasks:[r=>u(this,null,function*(){n(In,r)})]}),new d.DyFM_SocketEvent({eventKey:jn,tasks:[r=>u(this,null,function*(){n(jn,r)})]}),new d.DyFM_SocketEvent({eventKey:Ln,tasks:[r=>u(this,null,function*(){n(Ln,r)})]}),new d.DyFM_SocketEvent({eventKey:Bn,tasks:[r=>u(this,null,function*(){n(Bn,r)})]}),new d.DyFM_SocketEvent({eventKey:Un,tasks:[r=>u(this,null,function*(){n(Un,r)})]}),new d.DyFM_SocketEvent({eventKey:Kn,tasks:[r=>u(this,null,function*(){n(Kn,r)})]}),new d.DyFM_SocketEvent({eventKey:$n,tasks:[r=>u(this,null,function*(){n($n,r)})]}),new d.DyFM_SocketEvent({eventKey:Vn,tasks:[r=>u(this,null,function*(){n(Vn,r)})]}),new d.DyFM_SocketEvent({eventKey:Wn,tasks:[r=>u(this,null,function*(){n(Wn,r)})]}),new d.DyFM_SocketEvent({eventKey:Hn,tasks:[r=>u(this,null,function*(){n(Hn,r)})]}),new d.DyFM_SocketEvent({eventKey:Yn,tasks:[r=>u(this,null,function*(){n(Yn,r)})]}),new d.DyFM_SocketEvent({eventKey:Xn,tasks:[r=>u(this,null,function*(){n(Xn,r)})]}),new d.DyFM_SocketEvent({eventKey:Jn,tasks:[r=>u(this,null,function*(){n(Jn,r)})]}),new d.DyFM_SocketEvent({eventKey:zn,tasks:[r=>u(this,null,function*(){n(zn,r)})]}),new d.DyFM_SocketEvent({eventKey:Gn,tasks:[r=>u(this,null,function*(){n(Gn,r)})]}),new d.DyFM_SocketEvent({eventKey:Qn,tasks:[r=>u(this,null,function*(){n(Qn,r)})]}),new d.DyFM_SocketEvent({eventKey:er,tasks:[r=>u(this,null,function*(){n(er,r)})]}),new d.DyFM_SocketEvent({eventKey:tr,tasks:[r=>u(this,null,function*(){n(tr,r)})]}),new d.DyFM_SocketEvent({eventKey:Zn,tasks:[r=>u(this,null,function*(){n(Zn,r)})]})]}getSubscriptionContent(){return u(this,null,function*(){let t=this.socket?.id;return Promise.resolve({clientId:t})})}shouldReportSocketConnectionErrorsToErrorList(){return this.settingsGeneral_DS.section_$().form.reportSocketConnectionErrorsToErrorList===!0}buildSocketErrorDisplay(t){let n=t.err.message?.trim()?t.err.message:"WebSocket connection failed",r=t.socketUrl.trim()?`WebSocket: ${n} \u2014 ${t.socketUrl}`:`WebSocket: ${n}`,i={message:r,fullMessage:r,name:t.err.name,stack:t.err.stack??null,socketUrl:t.socketUrl,transport:"websocket",eventType:t.eventType,attemptedAt:new Date().toISOString(),connectAttempt:this.connectAttemptCount_$()},o=$.socketUrl!==void 0&&$.socketUrl.trim()!=="";i.socketUrlSource=o?"environment.socketUrl":"same-origin fallback";let c=this.params?.socketOptions?.transports??[];if(c.length>0&&(i.configuredTransports=c.join(", ")),typeof window<"u"&&(i.pageOrigin=window.location.origin),U(t.raw)){let _=t.raw,a=_.description;if(typeof a=="string"&&a.trim())i.description=a.trim();else if(a instanceof Error)i.description=a.message,a.stack&&(i.descriptionStack=a.stack);else if(a instanceof Event)i.description=this.extractDomEventInfo(a);else if(U(a)){let l=a,g=[];typeof l.message=="string"&&l.message.trim()&&g.push(l.message.trim()),typeof l.status=="number"&&(i.httpStatus=l.status,g.push(`HTTP ${l.status}`)),typeof l.statusText=="string"&&l.statusText.trim()&&(i.httpStatusText=l.statusText.trim(),g.push(l.statusText.trim())),typeof l.responseURL=="string"&&l.responseURL.trim()&&(i.responseUrl=l.responseURL.trim()),g.length>0&&(i.description=g.join(" \u2013 "))}typeof _.type=="string"&&_.type.trim()&&(i.type=_.type.trim()),U(_.context)&&(i.errorContext=_.context)}t.raw instanceof Event&&!i.description&&(i.description=this.extractDomEventInfo(t.raw));let h=[r];if(typeof i.description=="string"&&h.push(`Cause: ${i.description}`),typeof i.httpStatus=="number"){let _=typeof i.httpStatusText=="string"?` ${i.httpStatusText}`:"";h.push(`HTTP: ${i.httpStatus}${_}`)}return typeof i.responseUrl=="string"&&h.push(`Response URL: ${i.responseUrl}`),h.push(`Attempt: #${i.connectAttempt}`),h.push(`Source: ${i.socketUrlSource}`),i.fullMessage=h.join(" | "),i}extractDomEventInfo(t){let n=[];n.push(`type=${t.type}`);let r=t.target;return U(r)&&(typeof r.readyState=="number"&&n.push(`readyState=${r.readyState}`),typeof r.url=="string"&&r.url&&n.push(`url=${r.url}`),typeof r.responseURL=="string"&&r.responseURL&&n.push(`responseURL=${r.responseURL}`),typeof r.status=="number"&&n.push(`status=${r.status}`)),n.push("(DOM Event - tipikusan SSL cert reject, CORS, vagy network unreachable)"),n.join(", ")}buildTerminalErrorDisplay(t){let n=typeof t.message=="string"?t.message:String(t.message??""),r=typeof t.code=="string"?t.code:String(t.code??""),i=[n];r&&i.push(`K\xF3d: ${r}`),typeof t.terminalId=="string"&&t.terminalId.trim()&&i.push(`Termin\xE1l ID: ${t.terminalId.trim()}`),typeof t.path=="string"&&t.path.trim()&&i.push(`Path: ${t.path.trim()}`);let o=i.join(`
|
|
10
10
|
`),c=typeof t.timestamp=="number"?t.timestamp:Date.now();return{source:"server",message:n,stack:null,detailsText:o,timestamp:c}}buildServerErrorDisplay(t){let n=typeof t.message=="string"?t.message:String(t.message??""),r=t.stack,i=typeof r=="string"?r:r!=null?String(r):null,o=typeof t.detailsText=="string"?t.detailsText:JSON.stringify(t,null,2),c=typeof t.timestamp=="number"?t.timestamp:Date.now();return{source:"server",message:n,stack:i,detailsText:o,timestamp:c}}reconnect(){if(this.socket){this.clearConnectionTimeout(),this.status_$.set(j.connecting),this.lastError_$.set(null),this.connectAttemptCount_$.set(0),this.startConnectionTimeout();let t=this.params?.address??dt();C.DyFM_Log.info("CCAP_Socket | Reconnecting to",t),this.socket.disconnect(),this.socket.connect()}}emit(t,n){this.socket?.connected&&this.socket.emit(t,n)}diagnoseConnection(){return u(this,null,function*(){let t=this.params?.address??dt(),n={timestamp:new Date().toISOString(),socketUrl:t,socketUrlSource:$.socketUrl!==void 0&&$.socketUrl.trim()!==""?"environment.socketUrl":"same-origin fallback",pageOrigin:typeof window<"u"?window.location.origin:"",socketConnected:this.socket?.connected??!1,socketId:this.socket?.id??null,connectAttemptCount:this.connectAttemptCount_$(),currentStatus:this.status_$()},r=yield s.probeEndpoint("/api/server/status","serverStatusApi");if(n.serverStatusApi=r,r.ok===!0&&r.body!==void 0){let _=r.body;if(_!==null&&typeof _=="object"){let a=_;n.serverReportedHttpPort=a.httpPort??null,n.serverReportedSocketPort=a.socketPort??null}}let i=this.params?.socketOptions?.path??"/socket",o=`${t}${i}/?EIO=4&transport=polling&t=${Date.now()}`,c=yield s.probeEndpoint(o,"socketIoPolling");n.socketIoPolling=c;let h=n.serverReportedSocketPort;if(typeof h=="number"&&h>0){let _=`http://localhost:${h}${i}/?EIO=4&transport=polling&t=${Date.now()}`,a=yield s.probeEndpoint(_,"socketIoDirectPort");n.socketIoDirectPort=a}return n})}static probeEndpoint(t,n){return u(this,null,function*(){let r={url:t,label:n},i=performance.now();try{let o=yield fetch(t,{method:"GET",cache:"no-store"}),c=Math.round(performance.now()-i);r.ok=o.ok,r.httpStatus=o.status,r.httpStatusText=o.statusText,r.elapsedMs=c;try{let h=yield o.text();try{r.body=JSON.parse(h)}catch{r.bodyPreview=h.substring(0,300)}}catch{r.bodyReadError="Failed to read response body"}}catch(o){let c=Math.round(performance.now()-i);r.elapsedMs=c,r.ok=!1,r.fetchError=o instanceof Error?o.message:String(o),o instanceof TypeError&&(r.fetchErrorType="TypeError (network/CORS/SSL)")}return r})}ngOnDestroy(){this.clearConnectionTimeout(),this.socket&&this.socket.disconnect()}static \u0275fac=function(n){return new(n||s)};static \u0275prov=ds({token:s,factory:s.\u0275fac,providedIn:"root"})}return s})();export{dr as a,mt as b,wn as c,j as d,Wc as e};
|
|
11
|
-
//# sourceMappingURL=chunk-
|
|
11
|
+
//# sourceMappingURL=chunk-6OF2NGQO.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{I as p}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{I as p}from"./chunk-TGIQ5T5X.js";import{C as l,G as h,aa as a,hb as b,k as i,p as o,xb as d,y as n}from"./chunk-TBMJSIBB.js";var g=(()=>{class r{http=l(d);baseUrl=`${p.api.baseUrl}/sch`;listJobs(){return o(this.http.get(`${this.baseUrl}/jobs`))}getJob(e){return o(this.http.get(`${this.baseUrl}/jobs/${e}`))}createJob(e){return o(this.http.post(`${this.baseUrl}/jobs`,e))}updateJob(e,t){return o(this.http.patch(`${this.baseUrl}/jobs/${e}`,t))}deleteJob(e){return o(this.http.delete(`${this.baseUrl}/jobs/${e}`))}enableJob(e){return o(this.http.post(`${this.baseUrl}/jobs/${e}/enable`,{}))}disableJob(e){return o(this.http.post(`${this.baseUrl}/jobs/${e}/disable`,{}))}pauseJob(e){return o(this.http.post(`${this.baseUrl}/jobs/${e}/pause`,{}))}resumeJob(e){return o(this.http.post(`${this.baseUrl}/jobs/${e}/resume`,{}))}triggerNow(e){let t=[];e.bypass&&t.push("bypass=true"),e.forcePolicy&&t.push(`forcePolicy=${encodeURIComponent(e.forcePolicy)}`),e.dryRun&&t.push("dryRun=true");let s=t.length?`?${t.join("&")}`:"";return o(this.http.post(`${this.baseUrl}/jobs/${e.jobId}/trigger-now${s}`,{reason:e.reason}))}listExecutions(e){let t=[];e.jobId&&t.push(`jobId=${encodeURIComponent(e.jobId)}`),e.status&&t.push(`status=${encodeURIComponent(e.status)}`),e.targetSessionId&&t.push(`targetSessionId=${encodeURIComponent(e.targetSessionId)}`),e.from&&t.push(`from=${encodeURIComponent(e.from)}`),e.to&&t.push(`to=${encodeURIComponent(e.to)}`);let s=t.length?`?${t.join("&")}`:"";return o(this.http.get(`${this.baseUrl}/executions${s}`))}getExecution(e){return o(this.http.get(`${this.baseUrl}/executions/${e}`))}getDefaults(){return o(this.http.get(`${this.baseUrl}/defaults`))}applyDefaults(){return o(this.http.post(`${this.baseUrl}/defaults/apply`,{}))}static \u0275fac=function(t){return new(t||r)};static \u0275prov=n({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();var F=(()=>{class r{jobs_AS=l(g);jobs_$=a([]);recentExecutions_$=a(new Map);isLoading_$=a(!1);errorMessage_$=a(null);scheduledSessionIds_$=b(()=>{let e=new Set;for(let t of this.jobs_$()){if(t.enabled===!1)continue;let s=t.target?.payload?.sessionId?.trim();s&&e.add(s)}return e});loadAll(){return i(this,null,function*(){this.isLoading_$.set(!0),this.errorMessage_$.set(null);try{let t=(yield this.jobs_AS.listJobs()).jobs??[];this.jobs_$.set(t),this.loadRecentExecutionsForJobs(t)}catch(e){this.errorMessage_$.set(e?.message??"Failed to load scheduler jobs")}finally{this.isLoading_$.set(!1)}})}loadRecentExecutionsForJobs(e){return i(this,null,function*(){let t=new Map;try{let $=(yield this.jobs_AS.listExecutions({})).executions??[];for(let j of e){let c=j._id??"";if(!c)continue;let y=$.filter(u=>u.jobId===c).sort((u,m)=>(m.scheduledAt??"").localeCompare(u.scheduledAt??"")).slice(0,10);t.set(c,y)}}catch{}this.recentExecutions_$.set(t)})}getJob(e){return i(this,null,function*(){try{return(yield this.jobs_AS.getJob(e)).job}catch(t){return this.errorMessage_$.set(t?.message??"Failed to load job"),null}})}create(e){return i(this,null,function*(){try{let t=yield this.jobs_AS.createJob(e);return yield this.loadAll(),t.job}catch(t){return this.errorMessage_$.set(t?.message??"Failed to create job"),null}})}update(e,t){return i(this,null,function*(){try{let s=yield this.jobs_AS.updateJob(e,t);return yield this.loadAll(),s.job}catch(s){return this.errorMessage_$.set(s?.message??"Failed to update job"),null}})}remove(e){return i(this,null,function*(){try{let t=yield this.jobs_AS.deleteJob(e);return yield this.loadAll(),t.deleted}catch(t){return this.errorMessage_$.set(t?.message??"Failed to delete job"),!1}})}toggleEnabled(e,t){return i(this,null,function*(){try{t?yield this.jobs_AS.enableJob(e):yield this.jobs_AS.disableJob(e),yield this.loadAll()}catch(s){this.errorMessage_$.set(s?.message??"Failed to toggle enabled state")}})}togglePaused(e,t){return i(this,null,function*(){try{t?yield this.jobs_AS.pauseJob(e):yield this.jobs_AS.resumeJob(e),yield this.loadAll()}catch(s){this.errorMessage_$.set(s?.message??"Failed to toggle paused state")}})}triggerNow(e){return i(this,null,function*(){try{return(yield this.jobs_AS.triggerNow(e)).triggered}catch(t){return this.errorMessage_$.set(t?.message??"Failed to trigger job"),!1}})}listExecutions(e){return i(this,null,function*(){try{return(yield this.jobs_AS.listExecutions({jobId:e.jobId})).executions??[]}catch(t){return this.errorMessage_$.set(t?.message??"Failed to load executions"),[]}})}getDefaults(){return i(this,null,function*(){try{return(yield this.jobs_AS.getDefaults()).defaults}catch(e){return this.errorMessage_$.set(e?.message??"Failed to load defaults"),null}})}static \u0275fac=function(t){return new(t||r)};static \u0275prov=n({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();var E=(()=>{class r{transform(e){if(!e||!e.preset)return"\u2014";let t=e.preset,s=e.intervalValue;if(s===void 0||!isFinite(s))return t;switch(t){case"every-n-minutes":return`every ${s} minutes`;case"every-n-hours":return`every ${s} hours`;case"every-n-days":return`every ${s} days`;case"windowed-interval":return`every ${s} min (window)`;default:return t}}static \u0275fac=function(t){return new(t||r)};static \u0275pipe=h({name:"schSchedulePresetLabel",type:r,pure:!0,standalone:!0})}return r})();export{F as a,E as b};
|
|
2
|
+
//# sourceMappingURL=chunk-7KN6UEW5.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as h}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{p as h}from"./chunk-TGIQ5T5X.js";import{h as S}from"./chunk-TBMJSIBB.js";var c=S(h()),f=60,d=60*60,g=60*60*24,M=7,m=class{static formatRelativeTime(t){if(t==null)return"";let n=typeof t=="string"?new Date(t):t;if(Number.isNaN(n.getTime()))return"";let a=new Date,i=a.getTime()-n.getTime(),o=Math.floor(i/c.second);if(o<0)return"";if(o<f)return"just now";let e=Math.floor(o/f);if(e<60)return e===1?"1 minute ago":`${e} minutes ago`;let s=Math.floor(o/d);if(s<24)return s===1?"1 hour ago":`${s} hours ago`;let r=Math.floor(o/g);if(r<=M)return r===1?"1 day ago":`${r} days ago`;let u={month:"short",day:"numeric",year:n.getFullYear()!==a.getFullYear()?"numeric":void 0};return n.toLocaleDateString(void 0,u)}static formatCompactRelativeTime(t){if(t==null)return"";let n=typeof t=="string"?new Date(t):t;if(Number.isNaN(n.getTime()))return"";let i=Date.now()-n.getTime();if(i<0)return"just now";let o=Math.floor(i/c.second),e=Math.floor(o/f),s=Math.floor(o/d),r=Math.floor(o/g);return o<f?"just now":e<60?`${e}m ago`:s<24?`${s}h ago`:r<30?`${r}d ago`:`${Math.floor(r/30)}mo ago`}static formatAbsoluteForTooltip(t){if(t==null)return"";let n=typeof t=="string"?new Date(t):t;if(Number.isNaN(n.getTime()))return"";let a=String(n.getFullYear()),i=String(n.getMonth()+1).padStart(2,"0"),o=String(n.getDate()).padStart(2,"0"),e=String(n.getHours()).padStart(2,"0"),s=String(n.getMinutes()).padStart(2,"0"),r=String(n.getSeconds()).padStart(2,"0");return`${a}-${i}-${o} ${e}:${s}:${r}`}};export{m as a};
|
|
2
|
+
//# sourceMappingURL=chunk-AKBUQRXG.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as G}from"./chunk-
|
|
1
|
+
import{a as G}from"./chunk-AX76VMRT.js";import{a as K}from"./chunk-O3N3XIMG.js";import{e as F}from"./chunk-6OF2NGQO.js";import{h as f,j as U}from"./chunk-JPRPSYHF.js";import{I as D,p as H}from"./chunk-TGIQ5T5X.js";import{C as _,R as L,a as w,aa as p,b as $,d as k,h as O,k as h,p as d,vb as g,xb as P,y as M}from"./chunk-TBMJSIBB.js";var C=O(H());var I=(()=>{class l{static GATEWAY_CHAT_MESSAGE_TIMESTAMP_FIELD_NAMES=["timestamp","createdAt","updatedAt","ts","time","sentAt","messageTimestamp","created_at","updated_at","lastMessageAt","last_message_at","startedAt","started_at","lastActivityAt","last_activity_at"];static GATEWAY_SESSION_LAST_ACTIVITY_FIELD_NAMES=["lastActivityAt","updatedAt","lastMessageAt","updated_at","last_activity_at","last_message_at","startedAt","started_at","createdAt","created_at"];static GATEWAY_SESSION_STARTED_FIELD_NAMES=["startedAt","started_at","createdAt","created_at"];static GATEWAY_OUTPUT_ONLY_TIMESTAMP_FIELD_NAMES=["lastMessageAt","last_message_at","lastOutputAt","last_output_at"];static extractTimestamp(t,s){for(let e of s){let n=t[e];if(typeof n=="string"&&n)return n;if(typeof n=="number"&&n>0){let o=n<1e12?n*1e3:n;return new Date(o).toISOString()}}}}return l})();var E=class l{static buildGatewaySessionsFetch(y){let t=y.response._firstSessionKeys,s=Array.isArray(t)?t:[],e=Array.isArray(y.response.sessions)?y.response.sessions:[],n=e.map(i=>l.mapRawSessionToListItem({raw:i,gatewayUrl:y.response.gatewayUrl}));return{listItems:l.sortListItemsByLastActivityDesc({items:n}),rawSessions:e,gatewayUrl:y.response.gatewayUrl,source:y.response.source,instanceId:y.response.instanceId,firstSessionKeys:s}}static mapRawSessionToListItem(y){let t=y.raw;return{sessionId:typeof t.key=="string"?t.key:typeof t.sessionId=="string"?t.sessionId:typeof t.id=="string"?t.id:String(t.key??t.sessionId??t.id??""),label:typeof t.label=="string"?t.label:typeof t.name=="string"?t.name:typeof t.title=="string"?t.title:void 0,workspacePath:typeof t.workspacePath=="string"?t.workspacePath:typeof t.cwd=="string"?t.cwd:"",status:typeof t.status=="string"?t.status:"unknown",statusMessage:typeof t.statusMessage=="string"?t.statusMessage:void 0,gatewayUrl:y.gatewayUrl,openclawAgentName:typeof t.agentName=="string"?t.agentName:typeof t.agent=="string"?t.agent:void 0,promptCount:typeof t.promptCount=="number"?t.promptCount:typeof t.messageCount=="number"?t.messageCount:0,toolCallCount:typeof t.toolCallCount=="number"?t.toolCallCount:0,lastActivityAt:I.extractTimestamp(t,I.GATEWAY_SESSION_LAST_ACTIVITY_FIELD_NAMES),startedAt:I.extractTimestamp(t,I.GATEWAY_SESSION_STARTED_FIELD_NAMES),lastPrompt:typeof t.lastPrompt=="string"?t.lastPrompt:void 0,mode:typeof t.mode=="string"?t.mode:void 0,reasoningEffort:typeof t.reasoningEffort=="string"?t.reasoningEffort:typeof t.thinking=="string"?t.thinking:void 0,isArchived:typeof t.isArchived=="boolean"?t.isArchived:!1}}static sortListItemsByLastActivityDesc(y){return[...y.items].sort((t,s)=>{let e=t.lastActivityAt?new Date(t.lastActivityAt).getTime():0;return(s.lastActivityAt?new Date(s.lastActivityAt).getTime():0)-e})}};var N=(()=>{class l{baseUrl=`${D.api.baseUrl}/oc-session`;http=_(P);peiContext_DS=_(K);withCcapId(t){let s=this.peiContext_DS.activeCcapId_$();return s?t.set("ccapId",s):t}createSession(t){let s=this.withCcapId(new g);return d(this.http.post(this.baseUrl,t,{params:s}))}listSessions(t){let s=this.withCcapId(new g);return t?.status&&(s=s.set("status",t.status)),t?.workspacePath&&(s=s.set("workspacePath",t.workspacePath)),t?.gatewayUrl&&(s=s.set("gatewayUrl",t.gatewayUrl)),t?.includeArchived&&(s=s.set("includeArchived","1")),t?.limit!=null&&(s=s.set("limit",String(t.limit))),t?.offset!=null&&(s=s.set("offset",String(t.offset))),d(this.http.get(this.baseUrl,{params:s}))}listGatewaySessions(t){let s=new g().set("instanceId",t.instanceId);return d(this.http.get(`${this.baseUrl}/gateway-sessions`,{params:s}))}getGatewaySessionHistory(t){let s=new g().set("instanceId",t.instanceId);return d(this.http.get(`${this.baseUrl}/gateway-sessions/${t.sessionId}/history`,{params:s}))}sendGatewayPrompt(t){return d(this.http.post(`${this.baseUrl}/gateway-sessions/${t.sessionId}/send`,{instanceId:t.instanceId,content:t.content,agentName:t.agentName}))}abortGatewaySession(t){return d(this.http.post(`${this.baseUrl}/gateway-sessions/${t.sessionId}/abort`,{instanceId:t.instanceId}))}deleteGatewaySession(t){let s=new g().set("instanceId",t.instanceId);return d(this.http.delete(`${this.baseUrl}/gateway-sessions/${t.sessionId}`,{params:s}))}getSession(t){let s=this.withCcapId(new g);return d(this.http.get(`${this.baseUrl}/${t.sessionId}`,{params:s}))}sendPrompt(t){let s=this.withCcapId(new g);return d(this.http.post(`${this.baseUrl}/${t.sessionId}/prompt`,{content:t.content},{params:s}))}reconnectSession(t){let s=this.withCcapId(new g);return d(this.http.post(`${this.baseUrl}/${t.sessionId}/reconnect`,{},{params:s}))}stopExecution(t){let s=this.withCcapId(new g);return d(this.http.post(`${this.baseUrl}/${t.sessionId}/stop-execution`,{},{params:s}))}terminateSession(t){let s=this.withCcapId(new g);return d(this.http.post(`${this.baseUrl}/${t.sessionId}/terminate`,{},{params:s}))}updateSessionConfig(t){let o=t,{sessionId:s}=o,e=k(o,["sessionId"]),n=this.withCcapId(new g);return d(this.http.patch(`${this.baseUrl}/${s}/config`,e,{params:n}))}setSessionArchived(t){let s=this.withCcapId(new g);return d(this.http.patch(`${this.baseUrl}/${t.sessionId}/archive`,{isArchived:t.isArchived},{params:s}))}getSessionEvents(t){let s=this.withCcapId(new g);return t.eventType&&(s=s.set("eventType",t.eventType)),t.since&&(s=s.set("since",t.since)),t.sinceSequence!=null&&(s=s.set("sinceSequence",String(t.sinceSequence))),t.limit!=null&&(s=s.set("limit",String(t.limit))),t.offset!=null&&(s=s.set("offset",String(t.offset))),t.latest&&(s=s.set("latest","1")),d(this.http.get(`${this.baseUrl}/${t.sessionId}/events`,{params:s}))}getSessionEventStreamUrl(t){let s=`${this.baseUrl}/${t.sessionId}/events/stream`,e=this.peiContext_DS.activeCcapId_$();return e?`${s}?ccapId=${encodeURIComponent(e)}`:s}static \u0275fac=function(s){return new(s||l)};static \u0275prov=M({token:l,factory:l.\u0275fac,providedIn:"root"})}return l})();var lt=(()=>{class l{sessions_$=p([]);sessionsLoading_$=p(!1);sessionsLoadError_$=p(null);selectedSession_$=p(null);selectedSessionLoading_$=p(!1);selectedSessionEvents_$=p([]);consoleMessages_$=p([]);assembledMessages_$=p([]);lastStatusUpdate_$=p(null);sessionUsage_$=p({inputTokens:0,outputTokens:0,costUsd:0});activeSessionId_$=p("");activeInstanceId_$=p("");gatewayFilter_$=p(null);extSessionMsg_AS=_(G);ocSession_AS=_(N);globalError_CS=_(U);socket_CS=_(F);ngZone=_(L);eventSubscription=null;reconnectSubscription=null;lastKnownEventSequence=-1;chatPollHandle=null;detailPollHandle=null;lastPolledHistoryFingerprint="";constructor(){this.eventSubscription=this.socket_CS.event$.subscribe(t=>{this.handleSocketEvent(t)}),this.reconnectSubscription=this.socket_CS.connected$.subscribe(t=>{if(t){let s=this.activeSessionId_$();s&&(this.socket_CS.emit("oc-session:subscribe",{sessionId:s}),this.loadAssembledMessages({sessionId:s}).catch(()=>{})),this.backfillMissedEvents()}})}ngOnDestroy(){this.stopChatPolling(),this.eventSubscription&&(this.eventSubscription.unsubscribe(),this.eventSubscription=null),this.reconnectSubscription&&(this.reconnectSubscription.unsubscribe(),this.reconnectSubscription=null)}setGatewayFilter(t){this.gatewayFilter_$.set(t),this.loadSessions().catch(()=>{})}setGatewayFilterOnly(t){this.gatewayFilter_$.set(t)}loadSessions(t){return h(this,null,function*(){this.sessionsLoading_$.set(!0),this.sessionsLoadError_$.set(null);try{let e=[...(yield this.ocSession_AS.listSessions({status:t?.status,workspacePath:t?.workspacePath,gatewayUrl:this.gatewayFilter_$()??void 0,includeArchived:t?.includeArchived})).sessions].sort((n,o)=>{let i=n.lastActivityAt?new Date(n.lastActivityAt).getTime():0;return(o.lastActivityAt?new Date(o.lastActivityAt).getTime():0)-i});this.sessions_$.set(e)}catch(s){this.sessionsLoadError_$.set(s),this.pushConsoleMessage({type:"error",text:`Load sessions failed: ${f.getErrorMessageForDisplay(s)}`})}finally{this.sessionsLoading_$.set(!1)}})}fetchGatewaySessionsForInstance(t){return h(this,null,function*(){let s=yield this.ocSession_AS.listGatewaySessions({instanceId:t.instanceId});return E.buildGatewaySessionsFetch({response:s})})}loadGatewaySessions(t){return h(this,null,function*(){this.sessionsLoading_$.set(!0),this.sessionsLoadError_$.set(null);try{let s=yield this.fetchGatewaySessionsForInstance({instanceId:t.instanceId});!s.listItems.length&&s.rawSessions.length>0&&this.pushConsoleMessage({type:"error",text:`Gateway returned ${s.rawSessions.length} sessions but mapping produced 0.
|
|
2
2
|
First session keys: ${s.firstSessionKeys.join(", ")}`}),this.sessions_$.set(s.listItems)}catch(s){this.sessionsLoadError_$.set(s),this.pushConsoleMessage({type:"error",text:`Load gateway sessions failed: ${f.getErrorMessageForDisplay(s)}`})}finally{this.sessionsLoading_$.set(!1)}})}loadSessionDetail(t){return h(this,null,function*(){let s=t.isSilent===!0;s||this.selectedSessionLoading_$.set(!0);try{let e=yield this.ocSession_AS.getSession({sessionId:t.sessionId});this.selectedSession_$.set(e),this.loadAssembledMessages({sessionId:t.sessionId}).catch(()=>{})}catch(e){if(!s){this.selectedSession_$.set(null);let n=e instanceof Error?e.message:"Failed to load session details";this.pushConsoleMessage({type:"error",text:`Load session failed: ${n}`})}}finally{s||this.selectedSessionLoading_$.set(!1)}})}loadGatewaySessionHistory(t){return h(this,null,function*(){this.selectedSessionLoading_$.set(!0),this.consoleMessages_$.set([]);try{let s=yield this.ocSession_AS.getGatewaySessionHistory({sessionId:t.sessionId,instanceId:t.instanceId}),e=s,n=Array.isArray(e._rawKeys)?e._rawKeys:[],o=Array.isArray(s.history)?s.history:[],i=this.parseGatewayHistory(o),a=typeof e.messageCount=="number"?e.messageCount:0,r=Array.isArray(e._firstMessageKeys)?e._firstMessageKeys:[];i.length?this.consoleMessages_$.set(i):a>0?this.consoleMessages_$.set([{listKey:this.allocateConsoleListKey(),type:"error",text:`Gateway session has ${a} messages, but mapping failed.
|
|
3
3
|
Message keys: ${r.join(", ")||"unknown"}
|
|
4
4
|
Gateway response keys: ${n.join(", ")||"none"}`,timestamp:new Date().toISOString()}]):this.consoleMessages_$.set([{listKey:this.allocateConsoleListKey(),type:"info",text:"Gateway session loaded \u2014 session has no messages yet.",timestamp:new Date().toISOString()}]),this.selectedSession_$.set({session:{sessionId:t.sessionId,workspacePath:"",status:"unknown",promptCount:0,toolCallCount:0,isArchived:!1},runtime:{isLive:!1,runtimeStatus:null,outputBufferLength:0}}),this.lastPolledHistoryFingerprint=this.computeGatewayHistoryFingerprint(o),this.startChatPolling()}catch(s){this.selectedSession_$.set(null),this.pushConsoleMessage({type:"error",text:`Load gateway session history failed: ${f.getErrorMessageForDisplay(s)}`})}finally{this.selectedSessionLoading_$.set(!1)}})}loadSessionEvents(t){return h(this,null,function*(){try{let s=yield this.ocSession_AS.getSessionEvents({sessionId:t.sessionId,eventType:t.eventType,limit:t.limit??500,latest:!0});this.selectedSessionEvents_$.set(s.events),this.updateLastKnownSequence(s.events);for(let e of s.events)this.pushConsoleMessageFromEvent(e)}catch(s){this.selectedSessionEvents_$.set([]),this.pushConsoleMessage({type:"error",text:`Load events failed: ${f.getErrorMessageForDisplay(s)}`})}})}createSession(t){return h(this,null,function*(){try{let s=yield this.ocSession_AS.createSession(t),e=String(s.session.sessionId||"");return yield this.loadSessions(),e}catch(s){throw this.pushConsoleMessage({type:"error",text:`Create session failed: ${f.getErrorMessageForDisplay(s)}`}),s}})}sendPrompt(t){return h(this,null,function*(){this.pushConsoleMessage({type:"prompt",text:t.content});try{let s=this.activeInstanceId_$();s?yield this.ocSession_AS.sendGatewayPrompt({sessionId:t.sessionId,instanceId:s,content:t.content}):yield this.ocSession_AS.sendPrompt(t)}catch(s){throw this.pushConsoleMessage({type:"error",text:`Send failed: ${f.getErrorMessageForDisplay(s)}`}),s}})}reconnectSession(t){return h(this,null,function*(){try{yield this.ocSession_AS.reconnectSession(t),yield this.loadSessions()}catch(s){throw this.pushConsoleMessage({type:"error",text:`Reconnect failed: ${f.getErrorMessageForDisplay(s)}`}),s}})}stopExecution(t){return h(this,null,function*(){try{yield this.ocSession_AS.stopExecution(t)}catch(s){throw this.pushConsoleMessage({type:"error",text:`Stop execution failed: ${f.getErrorMessageForDisplay(s)}`}),s}})}terminateSession(t){return h(this,null,function*(){try{yield this.ocSession_AS.terminateSession(t),yield this.loadSessions()}catch(s){throw this.pushConsoleMessage({type:"error",text:`Terminate failed: ${f.getErrorMessageForDisplay(s)}`}),s}})}setSessionArchived(t){return h(this,null,function*(){try{yield this.ocSession_AS.setSessionArchived(t),yield this.loadSessions()}catch(s){throw this.pushConsoleMessage({type:"error",text:`Archive failed: ${f.getErrorMessageForDisplay(s)}`}),s}})}updateSessionConfig(t){return h(this,null,function*(){try{yield this.ocSession_AS.updateSessionConfig(t);let s=this.selectedSession_$();if(s?.session.sessionId===t.sessionId){let e=w({},s.session);t.mode!=null&&(e.mode=t.mode),t.reasoningEffort!=null&&(e.reasoningEffort=t.reasoningEffort),t.openclawAgentName!=null&&(e.openclawAgentName=t.openclawAgentName),this.selectedSession_$.set($(w({},s),{session:e}))}}catch(s){throw this.pushConsoleMessage({type:"error",text:`Config update failed: ${f.getErrorMessageForDisplay(s)}`}),s}})}setActiveSessionId(t){let s=this.activeSessionId_$();s&&s!==t&&this.socket_CS.emit("oc-session:unsubscribe",{sessionId:s}),this.activeSessionId_$.set(t),t&&this.socket_CS.emit("oc-session:subscribe",{sessionId:t})}clearLiveOutput(){this.stopChatPolling(),this.consoleMessages_$.set([]),this.sessionUsage_$.set({inputTokens:0,outputTokens:0,costUsd:0}),this.lastKnownEventSequence=-1}allocateConsoleListKey(){return globalThis.crypto.randomUUID()}pushConsoleMessage(t){let s=t.type==="assistant"||t.type==="prompt"?t.text.trim():t.text,e={listKey:t.listKey??this.allocateConsoleListKey(),type:t.type,text:s,timestamp:t.timestamp??new Date().toISOString(),expandableContent:t.expandableContent,rawData:t.rawData},n=this.consoleMessages_$();this.consoleMessages_$.set([...n,e])}static CHAT_POLL_INTERVAL_MS=5*C.second;static DETAIL_POLL_INTERVAL_MS=10*C.second;startChatPolling(){this.stopChatPolling(),this.chatPollHandle=setInterval(()=>{this.pollChatHistory()},l.CHAT_POLL_INTERVAL_MS),this.detailPollHandle=setInterval(()=>{let t=this.activeSessionId_$();t&&this.loadSessionDetail({sessionId:t,isSilent:!0})},l.DETAIL_POLL_INTERVAL_MS)}stopChatPolling(){this.chatPollHandle&&(clearInterval(this.chatPollHandle),this.chatPollHandle=null),this.detailPollHandle&&(clearInterval(this.detailPollHandle),this.detailPollHandle=null),this.lastPolledHistoryFingerprint=""}computeGatewayHistoryFingerprint(t){let s=t.length;if(!s)return"0";let e=t[s-1],n=typeof e.id=="string"?e.id:typeof e.messageId=="string"?e.messageId:"",o=l.extractGatewayChatMessageTimestamp(e),i=this.extractTextFromMessage(e),a=400,r=i.length>a?i.slice(0,a):i;return`${s}${n}${o}${r}`}pollChatHistory(){return h(this,null,function*(){let t=this.activeSessionId_$(),s=this.activeInstanceId_$();if(!(!t||!s))try{let e=yield this.ocSession_AS.getGatewaySessionHistory({sessionId:t,instanceId:s}),n=Array.isArray(e.history)?e.history:[],o=this.computeGatewayHistoryFingerprint(n);if(o===this.lastPolledHistoryFingerprint)return;this.lastPolledHistoryFingerprint=o;let i=this.parseGatewayHistory(n);this.ngZone.run(()=>{this.consoleMessages_$.set(i)})}catch{}})}parseGatewayHistory(t){let s=[],e=new Map,n=[];for(let i of t){let a=i.content;if(Array.isArray(a))for(let r of a){let u=typeof r.type=="string"?r.type:"";if(u==="tool_use"||u==="toolCall"){let S=typeof r.id=="string"?r.id:"";S&&n.push(S)}if(u==="tool_result"){let S=typeof r.tool_use_id=="string"?r.tool_use_id:"";S&&e.set(S,this.extractTextFromContentBlock(r))}}}let o=0;for(let i of t){let a=typeof i.role=="string"?i.role:"";if(a==="toolResult"||a==="tool_result"){let r=this.extractTextFromMessage(i);o<n.length&&(e.set(n[o],r),o++)}}for(let i of t){let a=typeof i.role=="string"?i.role:"unknown",r=i.content,u=l.extractGatewayChatMessageTimestamp(i);if(a==="toolResult"||a==="tool_result")continue;if(typeof r=="string"){s.push({listKey:this.allocateConsoleListKey(),type:a==="user"||a==="human"?"prompt":a==="assistant"?"assistant":"info",text:r,timestamp:u,rawData:i});continue}if(Array.isArray(r)){for(let c of r){let v=typeof c.type=="string"?c.type:"";if(v==="text")s.push({listKey:this.allocateConsoleListKey(),type:a==="user"||a==="human"?"prompt":"assistant",text:typeof c.text=="string"?c.text:"",timestamp:u,rawData:{_block:c,_message:{role:a,timestamp:u,contentBlockCount:r.length}}});else if(v==="tool_use"||v==="toolCall"){let b=typeof c.name=="string"?c.name:"unknown tool",T=typeof c.id=="string"?c.id:"",m=c.input??c.arguments,A=e.get(T);s.push({listKey:this.allocateConsoleListKey(),type:"tool",text:`${b}
|
|
@@ -6,4 +6,4 @@ ${JSON.stringify(m,null,2)}`,timestamp:u,expandableContent:A,rawData:{_block:c,_
|
|
|
6
6
|
`):A=JSON.stringify(c,null,2),s.push({listKey:this.allocateConsoleListKey(),type:"tool-result",text:A,timestamp:u,rawData:{_block:c}})}}else v==="thinking"?s.push({listKey:this.allocateConsoleListKey(),type:"info",text:typeof c.thinking=="string"?c.thinking:JSON.stringify(c,null,2),timestamp:u,rawData:{_block:c}}):s.push({listKey:this.allocateConsoleListKey(),type:"info",text:JSON.stringify(c,null,2),timestamp:u,rawData:{_block:c}})}continue}let S=typeof i.text=="string"?i.text:typeof i.message=="string"?i.message:JSON.stringify(i,null,2);s.push({listKey:this.allocateConsoleListKey(),type:a==="user"||a==="human"?"prompt":a==="assistant"?"assistant":a==="tool"||a==="tool_result"||a==="tool_use"?"tool":"info",text:S,timestamp:u,rawData:i})}return s}backfillMissedEvents(){return h(this,null,function*(){let t=this.activeSessionId_$();if(!(!t||this.lastKnownEventSequence<0))try{let e=(yield this.ocSession_AS.getSessionEvents({sessionId:t,sinceSequence:this.lastKnownEventSequence})).events;if(!e.length)return;this.ngZone.run(()=>{let n=this.selectedSessionEvents_$();this.selectedSessionEvents_$.set([...n,...e]);for(let o of e)this.pushConsoleMessageFromEvent(o);this.updateLastKnownSequence(e)})}catch(s){C.DyFM_Log.warn("CCAP_OcSession_DS | backfill failed",s)}})}updateLastKnownSequence(t){for(let s of t)s.sequence>this.lastKnownEventSequence&&(this.lastKnownEventSequence=s.sequence)}handleSocketEvent(t){let s=t.event,e=t.payload;try{this.ngZone.run(()=>{switch(s){case"oc-session:status":this.handleStatusUpdate(e);break;case"oc-session:output":this.handleOutputChunk(e);break;case"oc-session:event":this.handleSessionEvent(e);break;case"oc-session:list-update":this.handleListUpdate(e);break;case"ext-session-msg:message":this.handleAssembledMessage(e);break;case"ext-session-msg:update":this.handleAssembledMessageUpdate(e);break}})}catch(n){C.DyFM_Log.error(`CCAP_OcSession_DS | socket event error | event: ${s}`,n)}}handleStatusUpdate(t){let s=t.sessionId??"",e=t.status??"",n=t.statusMessage;this.lastStatusUpdate_$.set({sessionId:s,status:e,statusMessage:n});let i=this.sessions_$().map(r=>r.sessionId===s?$(w({},r),{status:e,statusMessage:n}):r);this.sessions_$.set(i);let a=this.selectedSession_$();if(a?.session.sessionId===s){let r=e==="running"||e==="waiting-input";this.selectedSession_$.set($(w({},a),{session:$(w({},a.session),{status:e,statusMessage:n}),runtime:$(w({},a.runtime),{isLive:r,runtimeStatus:e})}))}if(e==="errored"){let r=n?`OC Session error (${s}): ${n}`:`OC Session error (${s}): session entered errored state`;this.globalError_CS.showError(new Error(r),"oc-session-status")}}handleOutputChunk(t){let s=t.sessionId??"";if(s&&s!==this.activeSessionId_$())return;let e=t.content??"",n=t.type??"response";e&&this.pushConsoleMessage({type:n==="error"?"error":"assistant",text:e})}handleSessionEvent(t){let s=t.sessionId??"";if(s&&s!==this.activeSessionId_$())return;let e=t.event??{},n={sessionId:s,eventType:e.eventType??"",timestamp:e.timestamp??"",data:e.data??{},sequence:e.sequence??0};if(n.sequence<=this.lastKnownEventSequence)return;this.lastKnownEventSequence=n.sequence;let o=this.selectedSessionEvents_$();this.selectedSessionEvents_$.set([...o,n]),this.pushConsoleMessageFromEvent(n)}handleListUpdate(t){this.loadSessions().catch(()=>{})}extractTextFromContentBlock(t){let s=t.content;return typeof s=="string"?s:Array.isArray(s)?s.map(e=>typeof e.text=="string"?e.text:JSON.stringify(e,null,2)).join(`
|
|
7
7
|
`):typeof t.text=="string"?t.text:JSON.stringify(t,null,2)}extractTextFromMessage(t){let s=t.content;return typeof s=="string"?s:Array.isArray(s)?s.map(e=>typeof e.text=="string"?e.text:JSON.stringify(e,null,2)).join(`
|
|
8
8
|
`):JSON.stringify(t,null,2)}pushConsoleMessageFromEvent(t){let s=t.data;switch(t.eventType){case"response-chunk":{let e=typeof s.content=="string"?s.content:"";e&&this.pushConsoleMessage({type:"assistant",text:e});break}case"response-complete":{let e=s.usage;if(e&&typeof e=="object"){let n=e,o=this.sessionUsage_$();this.sessionUsage_$.set({inputTokens:o.inputTokens+(typeof n.inputTokens=="number"?n.inputTokens:0),outputTokens:o.outputTokens+(typeof n.outputTokens=="number"?n.outputTokens:0),costUsd:o.costUsd+(typeof n.costUsd=="number"?n.costUsd:0)})}break}case"tool-call-start":{let e=typeof s.name=="string"?s.name:"unknown",n=s.input,o=n?this.summarizeToolInput(n):"",i=o?`${e}: ${o}`:e;this.pushConsoleMessage({type:"tool",text:i,rawData:s});break}case"tool-call-end":{let e=s.content??s.output,n=typeof e=="string"?e:JSON.stringify(e??{});this.pushConsoleMessage({type:"tool-result",text:n.length>200?n.substring(0,200)+"\u2026":n,expandableContent:n.length>200?n:void 0,rawData:s});break}case"error":{let e=s.message??s.content;typeof e=="string"&&e&&this.pushConsoleMessage({type:"error",text:e});break}case"connection-change":{let e=typeof s.state=="string"?s.state:"";e&&this.pushConsoleMessage({type:"info",text:`Gateway connection: ${e}`,rawData:s});break}default:break}}summarizeToolInput(t){if(typeof t=="string")return t.length>80?t.substring(0,80)+"\u2026":t;if(typeof t=="object"&&t!==null){let s=JSON.stringify(t);return s.length>80?s.substring(0,80)+"\u2026":s}return""}static extractGatewayChatMessageTimestamp(t){return I.extractTimestamp(t,I.GATEWAY_CHAT_MESSAGE_TIMESTAMP_FIELD_NAMES)??""}loadAssembledMessages(t){return h(this,null,function*(){try{let s=yield this.extSessionMsg_AS.getMessages({sessionId:t.sessionId,latest:!0});this.assembledMessages_$.set(s.messages)}catch(s){C.DyFM_Log.error(`CCAP_OcSession_DS | loadAssembledMessages failed | sessionId: ${t.sessionId}`,s)}})}handleAssembledMessage(t){let s=typeof t.sessionId=="string"?t.sessionId:"";if(!s||s!==this.activeSessionId_$())return;let e=t.message;if(!e||typeof e!="object")return;let n=e,o=this.assembledMessages_$();this.assembledMessages_$.set([...o,n])}handleAssembledMessageUpdate(t){let s=typeof t.sessionId=="string"?t.sessionId:"";if(!s||s!==this.activeSessionId_$())return;let e=typeof t.messageKey=="string"?t.messageKey:"";if(!e)return;let n=t.update;if(!n||typeof n!="object")return;let o=n,i=this.assembledMessages_$(),a=i.findIndex(S=>S.messageKey===e);if(a<0)return;let r=w({},i[a]);typeof o.bodyText=="string"&&(r.bodyText=o.bodyText),o.toolResult!==void 0&&(r.toolResult=o.toolResult),typeof o.toolStatus=="string"&&(r.toolStatus=o.toolStatus),o.headerStatusDot!==void 0&&(r.headerStatusDot=typeof o.headerStatusDot=="string"?o.headerStatusDot:void 0);let u=[...i];u[a]=r,this.assembledMessages_$.set(u)}static \u0275fac=function(s){return new(s||l)};static \u0275prov=M({token:l,factory:l.\u0275fac,providedIn:"root"})}return l})();export{I as a,lt as b};
|
|
9
|
-
//# sourceMappingURL=chunk-
|
|
9
|
+
//# sourceMappingURL=chunk-AT63C2RH.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{j as s}from"./chunk-GJGBEN73.js";var r="ccap-personaSoulDraft";function p(){try{let o=localStorage.getItem(r);if(!o)return null;let n=s.tryParseStrict({text:o,contextLabel:"CCAP_PersonaDraft_localStorage"});if(!n.ok)return null;let e=n.value;if(typeof e!="object"||e===null)return null;let t=Object.fromEntries(Object.entries(e)),a=typeof t.name=="string"?t.name:"",c=typeof t.personality=="string"?t.personality:"",i=typeof t.conversation_style=="string"?t.conversation_style:"",l=typeof t.work_style=="string"?t.work_style:"",f=typeof t.mission=="string"?t.mission:"",y=typeof t.avoid=="string"?t.avoid:"";return{name:a,personality:c,conversation_style:i,work_style:l,mission:f,avoid:y}}catch{return null}}function g(o){try{localStorage.setItem(r,JSON.stringify(o))}catch{}}function u(){try{localStorage.removeItem(r)}catch{}}var m={get:p,save:g,clear:u};export{m as a};
|
|
2
|
+
//# sourceMappingURL=chunk-AVIF2IP3.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{I as c}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{I as c}from"./chunk-TGIQ5T5X.js";import{C as s,p as n,vb as o,xb as f,y as r}from"./chunk-TBMJSIBB.js";var b=(()=>{class i{baseUrl=`${c.api.baseUrl}/ext-session-message`;http=s(f);getMessages(t){let e=new o;return t.sinceSequence!==void 0&&(e=e.set("sinceSequence",String(t.sinceSequence))),t.beforeSequence!==void 0&&(e=e.set("beforeSequence",String(t.beforeSequence))),t.limit!==void 0&&(e=e.set("limit",String(t.limit))),t.latest&&(e=e.set("latest","1")),n(this.http.get(`${this.baseUrl}/${t.sessionId}/messages`,{params:e}))}static \u0275fac=function(e){return new(e||i)};static \u0275prov=r({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();export{b as a};
|
|
2
|
+
//# sourceMappingURL=chunk-AX76VMRT.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{b as Y}from"./chunk-
|
|
1
|
+
import{b as Y}from"./chunk-UZBRDH6C.js";import{a as ee}from"./chunk-LII3XCUF.js";import{a as X}from"./chunk-FLAJXIYW.js";import{b as G,c as k,f as V,i as W,n as A,o as U,p as B,v as R}from"./chunk-EO4DNTT4.js";import{d as J,i as Q}from"./chunk-GJGBEN73.js";import{a as F}from"./chunk-5UPNU54P.js";import{c as q}from"./chunk-JPRPSYHF.js";import{C as f}from"./chunk-TGIQ5T5X.js";import{C as E,D as v,Fa as d,Ga as y,Ha as $,I as K,J as m,K as g,Q as j,T as O,Ta as z,U as C,Z as s,aa as c,da as M,fa as H,ga as _,hb as L,jb as N,k as b,la as x,na as I,oa as T,pa as P,qa as r,ra as o,ua as S,ub as D,va as p,wa as u,wb as Z}from"./chunk-TBMJSIBB.js";var te="ccap-pm-user-input-wizard-draft:",w=class a{static storageKey(l,e){let i=`${te}${l}`,t=e?.trim();return t!==void 0&&t.length>0?`${i}:qi:${t}`:i}static load(l,e){let i=a.storageKey(l,e),t=F.readJson(i,null);if(!a.isDraftShape(t))return null;let n=t;return typeof n.previewMarkdown!="string"&&(n.previewMarkdown=""),n}static save(l,e,i){let t=a.storageKey(l,i),n={rawText:e.rawText,refinementDraft:e.refinementDraft,wizardStep:e.wizardStep,suggestionJson:e.suggestionJson,previewMarkdown:e.previewMarkdown,updatedAt:e.updatedAt};F.writeJson(t,n)}static clear(l,e){let i=a.storageKey(l,e);F.remove(i)}static isDraftShape(l){if(typeof l!="object"||l===null||Array.isArray(l))return!1;let e=Reflect.get(l,"previewMarkdown"),i=typeof e=="string"||e===void 0,t=Reflect.get(l,"suggestionJson");return typeof Reflect.get(l,"rawText")=="string"&&typeof Reflect.get(l,"refinementDraft")=="string"&&typeof Reflect.get(l,"wizardStep")=="number"&&(t===null||typeof t=="string")&&i&&typeof Reflect.get(l,"updatedAt")=="string"}};function re(a,l){if(a&1){let e=S();r(0,"div",0)(1,"h3",11),d(2,"New USER-INPUT (wizard)"),o(),r(3,"button",12),p("click",function(){m(e);let t=u();return g(t.handleDiscardDraft())}),d(4," Clear draft "),o()()}}function oe(a,l){if(a&1){let e=S();r(0,"div",1)(1,"button",12),p("click",function(){m(e);let t=u();return g(t.handleDiscardDraft())}),d(2," Clear draft "),o()()}}function ae(a,l){if(a&1&&(r(0,"div",3),d(1),o()),a&2){let e=u();s(),$(" ",e.suggestErrorText_$()," ")}}function se(a,l){if(a&1&&(r(0,"div",3),d(1),o()),a&2){let e=u();s(),$(" ",e.finalizeErrorText_$()," ")}}function de(a,l){if(a&1&&(r(0,"div",4)(1,"span",13),d(2,"LLM system prompt (last suggest / refine)"),o(),r(3,"pre",14),d(4),o()()),a&2){let e=u();s(4),y(e.pm_DS.userInputWizardLastLlmSystemPrompt_$())}}function le(a,l){if(a&1&&(r(0,"div",4)(1,"span",13),d(2,"LLM user message (last suggest / refine)"),o(),r(3,"pre",15),d(4),o()()),a&2){let e=u();s(4),y(e.pm_DS.userInputWizardLastLlmUserMessage_$())}}function pe(a,l){a&1&&d(0," Formatting\u2026 ")}function _e(a,l){a&1&&d(0," Format with AI ")}function ue(a,l){if(a&1){let e=S();r(0,"div",9)(1,"button",16),p("click",function(){m(e);let t=u();return g(t.handleFormatWithAi())}),M(2,pe,1,0)(3,_e,1,0),o()()}if(a&2){let e=u();s(),_("disabled",e.pm_DS.userInputWizardSuggestLoading_$()||!e.rawText_$().trim()),s(),x(e.pm_DS.userInputWizardSuggestLoading_$()?2:3)}}function ce(a,l){if(a&1&&(r(0,"option",24),d(1),o()),a&2){let e=l.$implicit;_("value",e),s(),y(e)}}function me(a,l){if(a&1){let e=S();r(0,"div",28)(1,"label",20),d(2,"Refine instruction (optional)"),o(),r(3,"textarea",30),p("ngModelChange",function(t){m(e);let n=u(2);return g(n.handleRefinementInput(t))}),d(4," "),o(),r(5,"button",31),p("click",function(){m(e);let t=u(2);return g(t.handleRefine())}),d(6," Refine with AI "),o()()}if(a&2){let e=u(2);s(3),_("ngModel",e.refinement_$()),s(2),_("disabled",e.pm_DS.userInputWizardSuggestLoading_$()||!e.refinement_$().trim())}}function ge(a,l){a&1&&d(0," Saving\u2026 ")}function he(a,l){a&1&&d(0," Finalize (USER-INPUT.md + database) ")}function fe(a,l){if(a&1){let e=S();r(0,"div",10)(1,"h4",17),d(2,"Preview (last server response)"),o(),r(3,"pre",18),d(4),o(),r(5,"div",19)(6,"div",4)(7,"label",20),d(8,"Type"),o(),r(9,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editType_$.set(t),g(n.handleEditorChange())}),o()(),r(10,"div",4)(11,"label",20),d(12,"Code"),o(),r(13,"input",22),p("ngModelChange",function(t){m(e);let n=u();return n.editCode_$.set(t),g(n.handleEditorChange())}),o()(),r(14,"div",4)(15,"label",20),d(16,"Priority"),o(),r(17,"select",23),p("ngModelChange",function(t){m(e);let n=u();return n.editPriority_$.set(t),g(n.handleEditorChange())}),T(18,ce,2,2,"option",24,I),o()(),r(20,"div",4)(21,"label",20),d(22,"Phase"),o(),r(23,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editPhase_$.set(t),g(n.handleEditorChange())}),o()(),r(24,"div",25)(25,"label",20),d(26,"Area"),o(),r(27,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editArea_$.set(t),g(n.handleEditorChange())}),o()(),r(28,"div",25)(29,"label",20),d(30,"Title (DB)"),o(),r(31,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editTitle_$.set(t),g(n.handleEditorChange())}),o()(),r(32,"div",25)(33,"label",20),d(34,"Details (one line)"),o(),r(35,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editDetails_$.set(t),g(n.handleEditorChange())}),o()(),r(36,"div",4)(37,"label",20),d(38,"E1"),o(),r(39,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editE1_$.set(t),g(n.handleEditorChange())}),o()(),r(40,"div",4)(41,"label",20),d(42,"E2"),o(),r(43,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editE2_$.set(t),g(n.handleEditorChange())}),o()(),r(44,"div",4)(45,"label",20),d(46,"E3"),o(),r(47,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editE3_$.set(t),g(n.handleEditorChange())}),o()(),r(48,"div",4)(49,"label",20),d(50,"E4"),o(),r(51,"input",21),p("ngModelChange",function(t){m(e);let n=u();return n.editE4_$.set(t),g(n.handleEditorChange())}),o()()(),r(52,"label",26)(53,"input",27),p("ngModelChange",function(t){m(e);let n=u();return g(n.addToBacklog_$.set(t))}),o(),d(54," Also append matching line to BACKLOG.md "),o(),M(55,me,7,2,"div",28),r(56,"button",29),p("click",function(){m(e);let t=u();return g(t.handleFinalize())}),M(57,ge,1,0)(58,he,1,0),o()()}if(a&2){let e=u();s(4),y(e.previewMarkdown_$()),s(5),_("ngModel",e.editType_$()),s(4),_("ngModel",e.editCode_$()),s(4),_("ngModel",e.editPriority_$()),s(),P(e.priorities),s(5),_("ngModel",e.editPhase_$()),s(4),_("ngModel",e.editArea_$()),s(4),_("ngModel",e.editTitle_$()),s(4),_("ngModel",e.editDetails_$()),s(4),_("ngModel",e.editE1_$()),s(4),_("ngModel",e.editE2_$()),s(4),_("ngModel",e.editE3_$()),s(4),_("ngModel",e.editE4_$()),s(2),_("ngModel",e.addToBacklog_$()),s(2),x(e.skipSuggestMode?-1:55),s(),_("disabled",e.pm_DS.userInputWizardFinalizeLoading_$()||!e.rawText_$().trim()),s(),x(e.pm_DS.userInputWizardFinalizeLoading_$()?57:58)}}var xe=400,Ve=(()=>{class a{projectId="";isEmbeddedInModal=!1;wizardCompleted=new j;wizardFinalizeSuccess=new j;quickInputDraftId=null;initialRawContent="";skipSuggestMode=!1;initialStagingPriority=void 0;pm_DS=E(ee);suggestErrorText_$=L(()=>{let e=this.pm_DS.userInputWizardSuggestError_$();return e?a.formatHttpError(e):null});finalizeErrorText_$=L(()=>{let e=this.pm_DS.userInputWizardFinalizeError_$();return e?a.formatHttpError(e):null});rawText_$=c("");refinement_$=c("");wizardStep_$=c(0);previewMarkdown_$=c("");addToBacklog_$=c(!1);editType_$=c("");editCode_$=c("");editPriority_$=c(f.medium);editArea_$=c("");editPhase_$=c("MVP1");editDetails_$=c("");editTitle_$=c("");editE1_$=c("\u274C");editE2_$=c("\u274C");editE3_$=c("\u274C");editE4_$=c("\u274C");priorities=Object.values(f);draftTimer;ngOnChanges(e){(e.projectId!==void 0&&e.projectId.currentValue||e.quickInputDraftId!==void 0||e.initialRawContent!==void 0||e.skipSuggestMode!==void 0||e.initialStagingPriority!==void 0)&&this.projectId&&this.applyWizardBootstrapFromInputs()}ngOnDestroy(){this.draftTimer!==void 0&&clearTimeout(this.draftTimer)}handleVoiceTranscript(e){let i=e?.trim()??"";i.length&&(this.rawText_$.update(t=>t?`${t}
|
|
2
2
|
${i}`:i),this.scheduleDraftSave())}handleFormatWithAi(){return b(this,null,function*(){let e=this.rawText_$().trim();if(!(!e.length||!this.projectId))try{let i=yield this.pm_DS.suggestUserInputFormat(this.projectId,{rawText:e});this.previewMarkdown_$.set(i.previewMarkdown),this.applySuggestionToEditors(i.suggestion),this.wizardStep_$.set(1),this.scheduleDraftSave()}catch{}})}handleRefine(){return b(this,null,function*(){let e=this.rawText_$().trim(),i=this.refinement_$().trim();if(!e.length||!i.length||!this.projectId)return;let t=this.buildSuggestionFromEditors();if(t)try{let n=yield this.pm_DS.suggestUserInputFormat(this.projectId,{rawText:e,refinementInstruction:i,previousSuggestion:t});this.previewMarkdown_$.set(n.previewMarkdown),this.applySuggestionToEditors(n.suggestion),this.scheduleDraftSave()}catch{}})}handleFinalize(){return b(this,null,function*(){let e=this.rawText_$().trim();if(!(!e.length||!this.projectId))try{let i=yield this.pm_DS.finalizeUserInputWizard(this.projectId,{rawContent:e,type:this.editType_$().trim(),code:this.editCode_$().trim(),priority:this.editPriority_$().trim(),phase:this.editPhase_$().trim(),details:this.editDetails_$().trim(),area:this.editArea_$().trim()||void 0,title:this.editTitle_$().trim()||void 0,e1:this.editE1_$().trim(),e2:this.editE2_$().trim(),e3:this.editE3_$().trim(),e4:this.editE4_$().trim(),addToBacklog:this.addToBacklog_$()});w.clear(this.projectId,this.quickInputDraftId),this.resetWizardState(),this.wizardFinalizeSuccess.emit(i),this.wizardCompleted.emit()}catch{}})}handleDiscardDraft(){this.projectId&&w.clear(this.projectId,this.quickInputDraftId),this.resetWizardState(),this.skipSuggestMode&&this.wizardStep_$.set(1)}handleRawTextInput(e){this.rawText_$.set(e),this.scheduleDraftSave()}handleRefinementInput(e){this.refinement_$.set(e),this.scheduleDraftSave()}handleEditorChange(){this.scheduleDraftSave()}resetWizardState(){this.rawText_$.set(""),this.refinement_$.set(""),this.wizardStep_$.set(0),this.previewMarkdown_$.set(""),this.addToBacklog_$.set(!1),this.editType_$.set(""),this.editCode_$.set(""),this.editPriority_$.set(f.medium),this.editArea_$.set(""),this.editPhase_$.set("MVP1"),this.editDetails_$.set(""),this.editTitle_$.set(""),this.editE1_$.set("\u274C"),this.editE2_$.set("\u274C"),this.editE3_$.set("\u274C"),this.editE4_$.set("\u274C")}applySuggestionToEditors(e){this.editType_$.set(e.type.trim()),this.editCode_$.set(e.code.trim()),this.editPriority_$.set(e.priority.trim().toLowerCase()),this.editArea_$.set(e.area?.trim()??""),this.editPhase_$.set(e.phase.trim()),this.editDetails_$.set(e.details.trim()),this.editTitle_$.set(e.title?.trim()??""),this.editE1_$.set(e.e1.trim()),this.editE2_$.set(e.e2.trim()),this.editE3_$.set(e.e3.trim()),this.editE4_$.set(e.e4.trim())}buildSuggestionFromEditors(){let e=this.editType_$().trim(),i=this.editCode_$().trim();return!e.length||!i.length?null:{type:e,code:i,priority:this.editPriority_$().trim(),phase:this.editPhase_$().trim(),details:this.editDetails_$().trim(),e1:this.editE1_$().trim(),e2:this.editE2_$().trim(),e3:this.editE3_$().trim(),e4:this.editE4_$().trim(),area:this.editArea_$().trim()||void 0,title:this.editTitle_$().trim()||void 0}}applyWizardBootstrapFromInputs(){if(!this.projectId)return;let e=w.load(this.projectId,this.quickInputDraftId);if(e){this.rawText_$.set(e.rawText),this.refinement_$.set(e.refinementDraft);let t=e.wizardStep;if(this.skipSuggestMode&&(t=t<1?1:t),this.wizardStep_$.set(t),e.suggestionJson)try{let n=JSON.parse(e.suggestionJson);a.isSuggestionShape(n)&&this.applySuggestionToEditors(n)}catch{}this.previewMarkdown_$.set(e.previewMarkdown??""),this.scheduleDraftSave();return}this.resetWizardState();let i=this.initialRawContent?.trim()??"";i.length>0&&this.rawText_$.set(i),this.skipSuggestMode&&this.wizardStep_$.set(1),this.initialStagingPriority!==void 0&&this.editPriority_$.set(this.initialStagingPriority),this.scheduleDraftSave()}static formatHttpError(e){if(e instanceof Z){let i=a.readNestedErrorString(e.error);return i||e.message}return e instanceof Error?e.message:String(e)}static readNestedErrorString(e){if(!q.isRecord(e))return null;let i=e.error;return typeof i=="string"?i:null}static isSuggestionShape(e){return q.isRecord(e)?typeof e.type=="string"&&typeof e.code=="string"&&typeof e.priority=="string"&&typeof e.phase=="string"&&typeof e.details=="string"&&typeof e.e1=="string"&&typeof e.e2=="string"&&typeof e.e3=="string"&&typeof e.e4=="string":!1}scheduleDraftSave(){this.projectId&&(this.draftTimer!==void 0&&clearTimeout(this.draftTimer),this.draftTimer=setTimeout(()=>{this.persistDraft()},xe))}persistDraft(){if(!this.projectId)return;let e=this.buildSuggestionFromEditors(),i={rawText:this.rawText_$(),refinementDraft:this.refinement_$(),wizardStep:this.wizardStep_$(),suggestionJson:e?JSON.stringify(e):null,previewMarkdown:this.previewMarkdown_$(),updatedAt:new Date().toISOString()};w.save(this.projectId,i,this.quickInputDraftId)}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=v({type:a,selectors:[["app-pm-user-input-wizard"]],inputs:{projectId:"projectId",isEmbeddedInModal:"isEmbeddedInModal",quickInputDraftId:"quickInputDraftId",initialRawContent:"initialRawContent",skipSuggestMode:"skipSuggestMode",initialStagingPriority:"initialStagingPriority"},outputs:{wizardCompleted:"wizardCompleted",wizardFinalizeSuccess:"wizardFinalizeSuccess"},standalone:!0,features:[K,z],decls:17,vars:9,consts:[[1,"flex","items-center","justify-between","gap-2","flex-wrap"],[1,"flex","justify-end"],[1,"text-xs","text-neutral-500"],[1,"rounded","border","border-red-800/50","bg-red-950/30","px-3","py-2","text-xs","text-red-300","whitespace-pre-wrap"],[1,"flex","flex-col","gap-1"],[1,"relative","pt-5"],[1,"text-xs","text-neutral-400","block","mb-1"],["rows","6",1,"w-full","bg-neutral-900","border","border-neutral-600","rounded","px-3","py-2","text-sm","text-neutral-100","placeholder:text-neutral-600","focus:outline-none","focus:border-ccapAccent","resize-y","min-h-[120px]",3,"ngModelChange","ngModel"],[1,"absolute","left-1/2","top-6","z-10","-translate-x-1/2","-translate-y-1/2",3,"transcriptReady"],[1,"flex","flex-wrap","gap-2"],[1,"border-t","border-neutral-700","pt-4","flex","flex-col","gap-3"],[1,"text-sm","font-semibold","text-neutral-200"],["type","button",1,"px-2","py-1","text-xs","text-neutral-500","hover:text-red-400","border","border-transparent","hover:border-red-900/50","rounded",3,"click"],[1,"text-xs","font-semibold","text-neutral-400"],[1,"text-[11px]","text-neutral-300","bg-neutral-950/80","border","border-neutral-700","rounded","p-2","max-h-32","overflow-auto","whitespace-pre-wrap","font-mono"],[1,"text-[11px]","text-neutral-300","bg-neutral-950/80","border","border-neutral-700","rounded","p-2","max-h-48","overflow-auto","whitespace-pre-wrap","font-mono"],["type","button",1,"px-4","py-2","border","border-ccapAccent","rounded","text-ccapAccent","text-sm","font-semibold","hover:bg-ccapAccent","hover:text-white","transition-colors","disabled:opacity-40",3,"click","disabled"],[1,"text-xs","font-semibold","text-neutral-400","uppercase","tracking-wide"],[1,"text-xs","text-neutral-300","bg-neutral-950/80","border","border-neutral-700","rounded","p-3","max-h-48","overflow-auto","whitespace-pre-wrap","font-mono"],[1,"grid","grid-cols-1","sm:grid-cols-2","gap-3"],[1,"text-xs","text-neutral-400"],["type","text",1,"bg-neutral-900","border","border-neutral-600","rounded","px-2","py-1.5","text-sm","text-neutral-100",3,"ngModelChange","ngModel"],["type","text",1,"bg-neutral-900","border","border-neutral-600","rounded","px-2","py-1.5","text-sm","font-mono","text-neonCyan",3,"ngModelChange","ngModel"],[1,"bg-neutral-900","border","border-neutral-600","rounded","px-2","py-1.5","text-sm","text-neutral-100",3,"ngModelChange","ngModel"],[3,"value"],[1,"flex","flex-col","gap-1","sm:col-span-2"],[1,"flex","items-center","gap-2","text-xs","text-neutral-400","cursor-pointer"],["type","checkbox",3,"ngModelChange","ngModel"],[1,"flex","flex-col","gap-2","border","border-neutral-700","rounded","p-3","bg-neutral-900/40"],["type","button",1,"px-4","py-2","bg-ccapAccent/20","border","border-ccapAccent","text-ccapAccent","text-sm","font-semibold","rounded","hover:bg-ccapAccent","hover:text-white","transition-colors","disabled:opacity-40",3,"click","disabled"],["rows","2",1,"bg-neutral-900","border","border-neutral-600","rounded","px-2","py-1.5","text-sm","text-neutral-100","resize-y",3,"ngModelChange","ngModel"],["type","button",1,"self-start","px-3","py-1.5","border","border-neutral-500","rounded","text-neutral-300","text-xs","font-semibold","hover:border-ccapAccent","hover:text-ccapAccent","disabled:opacity-40",3,"click","disabled"]],template:function(i,t){i&1&&(r(0,"div"),M(1,re,5,0,"div",0)(2,oe,3,0,"div",1),r(3,"p",2),d(4," Raw text is never rewritten by the model. AI suggests metadata only. Drafts are saved in this browser (localStorage). "),o(),M(5,ae,2,1,"div",3)(6,se,2,1,"div",3)(7,de,5,1,"div",4)(8,le,5,1,"div",4),r(9,"div",5)(10,"label",6),d(11,"Raw user input"),o(),r(12,"textarea",7),p("ngModelChange",function(h){return t.handleRawTextInput(h)}),d(13," "),o(),r(14,"app-ccap-voice-record-button",8),p("transcriptReady",function(h){return t.handleVoiceTranscript(h)}),o()(),M(15,ue,4,2,"div",9)(16,fe,59,16,"div",10),o()),i&2&&(H("class","flex flex-col gap-4"+(t.isEmbeddedInModal?"":" rounded-lg bg-neutral-800/50 border border-ccapAccent/30 p-4")),s(),x(t.isEmbeddedInModal?2:1),s(4),x(t.suggestErrorText_$()?5:-1),s(),x(t.finalizeErrorText_$()?6:-1),s(),x(t.pm_DS.userInputWizardLastLlmSystemPrompt_$()?7:-1),s(),x(t.pm_DS.userInputWizardLastLlmUserMessage_$()?8:-1),s(4),_("ngModel",t.rawText_$()),s(3),x(t.skipSuggestMode?-1:15),s(),x(t.wizardStep_$()>=1||t.skipSuggestMode?16:-1))},dependencies:[D,R,U,B,k,G,A,V,W,Y],encapsulation:2})}return a})();function Ce(a,l){if(a&1&&(r(0,"option",8),d(1),o()),a&2){let e=l.$implicit;_("ngValue",e),s(),y(e)}}var Je=(()=>{class a{userInput_DS=E(Q);isOpen=C(!1);isBusy=C(!1);modalZIndex=C("50");prefillTitle=C("");prefillDetails=C("");prefillPriority=C(void 0);closed=O();submitted=O();title_$=c("");details_$=c("");area_$=c("");phase_$=c("MVP1");priority_$=c(f.medium);priorityChoices=[f.low,f.medium,f.high,f.urgent];constructor(){N(()=>{if(this.isOpen()){let e=this.prefillTitle().trim(),i=this.prefillDetails().trim();this.title_$.set(e),this.details_$.set(i),this.area_$.set(""),this.phase_$.set("MVP1");let t=this.prefillPriority();this.priority_$.set(t!==void 0?t:f.medium)}}),N(()=>{this.isOpen()?this.userInput_DS.pushQuickInputOverlayAreaContextByOverlayId(J.pmManualBugModal):this.userInput_DS.popQuickInputOverlayAreaContext(J.pmManualBugModal)},{allowSignalWrites:!0})}handleClose(){this.closed.emit()}handleSubmit(){let e=this.title_$().trim(),i=this.details_$().trim();if(!e.length||!i.length)return;let t=this.area_$().trim(),n=this.phase_$().trim(),h={title:e,details:i,priority:this.priority_$(),phase:n.length>0?n:"MVP1"};t.length>0&&(h.area=t),this.submitted.emit(h)}handleTitleInput(e){this.title_$.set(e)}handleDetailsInput(e){this.details_$.set(e)}handleAreaInput(e){this.area_$.set(e)}handlePhaseInput(e){this.phase_$.set(e)}handlePriorityChange(e){if(typeof e=="string"){let i=a.parsePriority(e);i&&this.priority_$.set(i);return}this.priority_$.set(e)}static parsePriority(e){let i=e.trim().toLowerCase(),t=Object.values(f);for(let n of t)if(n===i)return n}static \u0275fac=function(i){return new(i||a)};static \u0275cmp=v({type:a,selectors:[["app-pm-manual-bug-modal"]],inputs:{isOpen:[1,"isOpen"],isBusy:[1,"isBusy"],modalZIndex:[1,"modalZIndex"],prefillTitle:[1,"prefillTitle"],prefillDetails:[1,"prefillDetails"],prefillPriority:[1,"prefillPriority"]},outputs:{closed:"closed",submitted:"submitted"},standalone:!0,features:[z],decls:30,vars:12,consts:[["title","New bug (manual)",3,"closed","isOpen","maxWidth","zIndex","headerBorderClass"],[1,"flex","flex-col","gap-3","text-sm","text-neutral-200"],[1,"flex","flex-col","gap-1"],[1,"text-xs","text-neutral-500"],["type","text",1,"w-full","rounded","border","border-neutral-600","bg-neutral-900","px-2","py-1.5","text-neutral-100",3,"ngModelChange","ngModel"],["rows","6",1,"w-full","rounded","border","border-neutral-600","bg-neutral-900","px-2","py-1.5","text-neutral-100","font-mono","text-xs",3,"ngModelChange","ngModel"],[1,"grid","grid-cols-1","sm:grid-cols-2","gap-3"],[1,"rounded","border","border-neutral-600","bg-neutral-900","px-2","py-1.5","text-neutral-100",3,"ngModelChange","ngModel"],[3,"ngValue"],["modal-footer","",1,"flex","justify-end","gap-2","px-4","py-3","border-t","border-neutral-800","shrink-0"],["type","button",1,"px-3","py-1.5","text-xs","font-semibold","rounded","border","border-neutral-600","text-neutral-300","hover:border-neutral-500","disabled:opacity-40","disabled:pointer-events-none",3,"click","disabled"],["type","button",1,"px-3","py-1.5","text-xs","font-semibold","rounded","border","border-ccapAccent","text-ccapAccent","hover:bg-ccapAccent/10","disabled:opacity-40","disabled:pointer-events-none",3,"click","disabled"]],template:function(i,t){i&1&&(r(0,"app-s-modal",0),p("closed",function(){return t.handleClose()}),r(1,"div",1)(2,"label",2)(3,"span",3),d(4,"Title"),o(),r(5,"input",4),p("ngModelChange",function(h){return t.handleTitleInput(h)}),o()(),r(6,"label",2)(7,"span",3),d(8,"Details (raw \u2014 stored verbatim)"),o(),r(9,"textarea",5),p("ngModelChange",function(h){return t.handleDetailsInput(h)}),o()(),r(10,"div",6)(11,"label",2)(12,"span",3),d(13,"Priority"),o(),r(14,"select",7),p("ngModelChange",function(h){return t.handlePriorityChange(h)}),T(15,Ce,2,2,"option",8,I),o()(),r(17,"label",2)(18,"span",3),d(19,"Phase"),o(),r(20,"input",4),p("ngModelChange",function(h){return t.handlePhaseInput(h)}),o()()(),r(21,"label",2)(22,"span",3),d(23,"Area (optional)"),o(),r(24,"input",4),p("ngModelChange",function(h){return t.handleAreaInput(h)}),o()()(),r(25,"div",9)(26,"button",10),p("click",function(){return t.handleClose()}),d(27," Cancel "),o(),r(28,"button",11),p("click",function(){return t.handleSubmit()}),d(29),o()()()),i&2&&(_("isOpen",t.isOpen())("maxWidth","lg")("zIndex",t.modalZIndex())("headerBorderClass","border-neonRed/40"),s(5),_("ngModel",t.title_$()),s(4),_("ngModel",t.details_$()),s(5),_("ngModel",t.priority_$()),s(),P(t.priorityChoices),s(5),_("ngModel",t.phase_$()),s(4),_("ngModel",t.area_$()),s(2),_("disabled",t.isBusy()),s(2),_("disabled",t.isBusy()||!t.title_$().trim().length||!t.details_$().trim().length),s(),$(" ",t.isBusy()?"Creating\u2026":"Create bug"," "))},dependencies:[D,R,U,B,k,A,V,W,X],encapsulation:2})}return a})();export{Je as a,Ve as b};
|
|
3
|
-
//# sourceMappingURL=chunk-
|
|
3
|
+
//# sourceMappingURL=chunk-AXPUK5TF.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{a as S}from"./chunk-
|
|
1
|
+
import{a as S}from"./chunk-U57ABGMI.js";import{M as m,t as g}from"./chunk-TGIQ5T5X.js";import{C as y,N as h,a as i,aa as u,b as c,k as d,y as f}from"./chunk-TBMJSIBB.js";function I(){return{instanceId:crypto.randomUUID(),label:"default",gatewayUrl:"ws://127.0.0.1:18789",authToken:void 0,isPrimary:!1,autoConnect:!1,testState:"idle"}}function p(o){let l=[],s=o.gatewayUrl??"",t=(o.message??"").toLowerCase(),e=o.failureType??"";return s.startsWith("wss://")&&(e==="ws-error"||e==="ws-close")&&l.push('A gateway wss:// (TLS) protokollt haszn\xE1l \u2014 ha self-signed certificate-et haszn\xE1l, enged\xE9lyezd az "Allow self-signed TLS" opci\xF3t.'),s.startsWith("ws://")&&!s.startsWith("wss://")&&(e==="ws-error"||e==="ws-close")&&l.push("Ha a gateway TLS-t (wss://) haszn\xE1l, cser\xE9ld az URL-t ws:// helyett wss://-re."),e==="timeout"&&l.push("A gateway nem v\xE1laszolt id\u0151ben. Ellen\u0151rizd, hogy fut-e a gateway process \xE9s el\xE9rhet\u0151-e a megadott c\xEDmen."),e==="ws-error"&&!l.length&&l.push("Nem siker\xFClt csatlakozni. Ellen\u0151rizd: 1) fut-e a gateway, 2) helyes-e az URL \xE9s port, 3) nincs-e t\u0171zfal az \xFAtban."),(t.includes("econnrefused")||t.includes("connection refused"))&&l.push("A kapcsolat visszautas\xEDtva \u2014 a gateway nem hallgat a megadott c\xEDmen/porton."),(t.includes("certificate")||t.includes("cert")||t.includes("ssl")||t.includes("tls"))&&l.push('TLS tan\xFAs\xEDtv\xE1ny hiba \u2014 self-signed certificate eset\xE9n enged\xE9lyezd az "Allow self-signed TLS" opci\xF3t.'),l.length?`
|
|
2
2
|
|
|
3
3
|
`+l.join(`
|
|
4
4
|
`):""}var _=(()=>{class o extends m{ociData_AS=y(S);section_$=u({form:{instances:[]}});updateForm(s){this.section_$.update(t=>c(i({},t),{form:i(i({},t.form),s)}))}setSection(s){this.section_$.set(s)}getSectionId(){return g.openclawRegistry}getSection_$(){return this.section_$}doLoad(){return d(this,null,function*(){let s=new Map;for(let a of this.section_$().form.instances)s.set(a.instanceId,{testState:a.testState,testLatencyMs:a.testLatencyMs,testError:a.testError,testResultMessage:a.testResultMessage,authTokenEditMode:a.authTokenEditMode,pairState:a.pairState,pairError:a.pairError,pairMessage:a.pairMessage,pairResultMessage:a.pairResultMessage,connectionStatus:a.connectionStatus,lastConnectedAt:a.lastConnectedAt});let e=(yield this.settings_AS.getSection(g.openclawRegistry)).instances,n=Array.isArray(e)?e.map(a=>{let r=s.get(a.instanceId);return c(i({},a),{authToken:void 0,testState:r?.testState??"idle",testLatencyMs:r?.testLatencyMs,testError:r?.testError,testResultMessage:r?.testResultMessage,authTokenEditMode:r?.authTokenEditMode??!1,pairState:r?.pairState??"idle",pairError:r?.pairError,pairMessage:r?.pairMessage,pairResultMessage:r?.pairResultMessage,connectionStatus:r?.connectionStatus,lastConnectedAt:r?.lastConnectedAt})}):[];this.section_$.set({form:{instances:n}}),this.enrichWithOciStatus().catch(()=>{})})}enrichWithOciStatus(){return d(this,null,function*(){let s=yield this.ociData_AS.listInstances(),t=new Map;for(let e of s.list)t.set(e.instanceId,e);this.section_$.update(e=>c(i({},e),{form:{instances:e.form.instances.map(n=>{let a=t.get(n.instanceId);return a?c(i({},n),{connectionStatus:a.connectionStatus,lastConnectedAt:a.lastConnectedAt}):n})}}))})}buildSaveBody(){return{instances:this.section_$().form.instances.map(t=>({instanceId:t.instanceId,label:t.label,gatewayUrl:t.gatewayUrl,authToken:t.authToken,isPrimary:t.isPrimary,autoConnect:t.autoConnect,allowSelfSignedTls:t.allowSelfSignedTls}))}}savingInstanceId_$=u(null);buildSaveBodyForInstance(s){let t=this.section_$().form.instances.find(e=>e.instanceId===s);return t?{openclawRegistrySaveScope:"instance",targetInstanceId:s,instances:[{instanceId:t.instanceId,label:t.label,gatewayUrl:t.gatewayUrl,authToken:t.authToken,isPrimary:t.isPrimary,autoConnect:t.autoConnect,allowSelfSignedTls:t.allowSelfSignedTls}]}:{}}saveInstance(s){return d(this,null,function*(){this.savingInstanceId_$.set(s),this.saveError_$.set(null);try{let t=this.buildSaveBodyForInstance(s);yield this.doSave(t),yield this.load()}catch(t){this.saveError_$.set(o.getErrorMessage(t))}finally{this.savingInstanceId_$.set(null)}})}addInstance(){let s=I();this.section_$().form.instances.length||(s.isPrimary=!0),this.section_$.update(t=>c(i({},t),{form:{instances:[...t.form.instances,s]}}))}removeInstance(s){this.section_$.update(t=>{let e=t.form.instances.filter((a,r)=>r!==s);return(t.form.instances[s]?.isPrimary??!1)&&e.length>0&&(e[0]=c(i({},e[0]),{isPrimary:!0})),c(i({},t),{form:{instances:e}})})}updateInstance(s,t){this.section_$.update(e=>{let n=e.form.instances.map((a,r)=>r!==s?a:i(i({},a),t));return c(i({},e),{form:{instances:n}})})}setPrimary(s){this.section_$.update(t=>{let e=t.form.instances.map((n,a)=>c(i({},n),{isPrimary:a===s}));return c(i({},t),{form:{instances:e}})})}testConnection(s){return d(this,null,function*(){let t=this.section_$().form.instances[s];if(t){this.updateInstance(s,{testState:"testing",testLatencyMs:void 0,testError:void 0,testResultMessage:void 0});try{let e=yield this.settings_AS.testOpenclawConnection({gatewayUrl:t.gatewayUrl,authToken:t.authToken,allowSelfSignedTls:t.allowSelfSignedTls,instanceId:t.instanceId});if(e.success){let n=e.checks,a=n?" | WS: OK | v3 Handshake: OK | Sessions: OK"+(typeof n.sessionCount=="number"?` (${n.sessionCount} session)`:""):"";this.updateInstance(s,{testState:"ok",testLatencyMs:e.latencyMs,testError:void 0,testResultMessage:`Gateway el\xE9rhet\u0151 \u2014 v\xE1laszid\u0151: ${e.latencyMs}ms${a}`})}else{let n=e.error?.context?.failureType?String(e.error.context.failureType):"unknown",a=p({failureType:n,gatewayUrl:typeof e.error?.context?.gatewayUrl=="string"?e.error.context.gatewayUrl:t.gatewayUrl,message:e.error?.message});this.updateInstance(s,{testState:"error",testLatencyMs:void 0,testError:e.error??new Error("Connection failed"),testResultMessage:`Kapcsol\xF3d\xE1s sikertelen (${n}): ${e.error?.message??"ismeretlen hiba"}${a}`})}}catch(e){let n=e&&typeof e=="object"&&"error"in e?e.error:void 0,a=n?.message?String(n.message):e instanceof Error?e.message:String(e),r=p({gatewayUrl:t.gatewayUrl,message:a});this.updateInstance(s,{testState:"error",testError:n??e,testResultMessage:`Teszt hiba: ${a}${r}`})}}})}pairingInstanceId_$=u(null);pairInstance(s){return d(this,null,function*(){let t=this.section_$().form.instances[s];if(t){this.pairingInstanceId_$.set(t.instanceId),this.updateInstance(s,{pairState:"pairing",pairError:void 0,pairMessage:void 0});try{let e=yield this.settings_AS.pairOpenclawInstance({instanceId:t.instanceId});if(e.status==="paired")this.updateInstance(s,{pairState:"paired",pairingStatus:"paired",pairedAt:e.pairedAt,deviceTokenMasked:e.deviceTokenMasked,ccapDeviceId:e.ccapDeviceId,pairMessage:e.message,pairError:void 0,pairResultMessage:`Sikeresen p\xE1ros\xEDtva \u2014 device token megkapva${e.pairedAt?" ("+e.pairedAt+")":""}`});else if(e.status==="pending")this.updateInstance(s,{pairState:"pending",pairingStatus:"pending",ccapDeviceId:e.ccapDeviceId,pairingRequestId:e.pairingRequestId,pairMessage:e.message,pairError:void 0,pairResultMessage:`J\xF3v\xE1hagy\xE1sra v\xE1r a gateway-en \u2014 Device ID: ${e.ccapDeviceId??"N/A"}`});else if(e.status==="rejected")this.updateInstance(s,{pairState:"rejected",pairingStatus:"rejected",ccapDeviceId:e.ccapDeviceId,pairMessage:e.message,pairError:void 0,pairResultMessage:`A gateway elutas\xEDtotta a p\xE1ros\xEDt\xE1st: ${e.message??"ismeretlen ok"}`});else{let n=e.error?.context,a=p({failureType:typeof n?.failureType=="string"?n.failureType:void 0,gatewayUrl:typeof n?.gatewayUrl=="string"?n.gatewayUrl:t.gatewayUrl,message:e.message??e.error?.message});this.updateInstance(s,{pairState:"error",pairError:e.error??new Error(e.message??"Pairing failed"),pairMessage:e.message,pairResultMessage:`P\xE1ros\xEDt\xE1s hiba: ${e.message??e.error?.message??"ismeretlen hiba"}${a}`})}yield this.load()}catch(e){let n=e&&typeof e=="object"&&"error"in e?e.error:void 0,a=n?.message?String(n.message):e instanceof Error?e.message:String(e),r=n?.context,w=p({failureType:typeof r?.failureType=="string"?r.failureType:void 0,gatewayUrl:typeof r?.gatewayUrl=="string"?r.gatewayUrl:t.gatewayUrl,message:a});this.updateInstance(s,{pairState:"error",pairError:n??e,pairMessage:void 0,pairResultMessage:`P\xE1ros\xEDt\xE1s hiba: ${a}${w}`})}finally{this.pairingInstanceId_$.set(null)}}})}static \u0275fac=(()=>{let s;return function(e){return(s||(s=h(o)))(e||o)}})();static \u0275prov=f({token:o,factory:o.\u0275fac,providedIn:"root"})}return o})();export{_ as a};
|
|
5
|
-
//# sourceMappingURL=chunk-
|
|
5
|
+
//# sourceMappingURL=chunk-BJW2WCQT.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{c as Y,f as K,i as X,v as J}from"./chunk-EO4DNTT4.js";import{$ as Q,Aa as G,Ba as N,D as M,Fa as u,Ga as T,Ha as O,J as c,K as p,L as w,M as E,T as h,Ta as q,U as m,V as U,X as H,Z as l,_ as P,aa as I,da as b,fa as R,ga as v,ha as L,ia as $,ja as y,jb as W,k as j,la as x,na as F,oa as A,pa as V,qa as o,ra as r,sa as g,ua as S,ub as D,va as _,wa as s,xa as z,ya as k,za as B}from"./chunk-TBMJSIBB.js";var ie=[[["","sSessionToolbarLeft",""]],[["","sSessionToolbarCenter",""]],[["","sSessionToolbarRight",""]]],oe=["[sSessionToolbarLeft]","[sSessionToolbarCenter]","[sSessionToolbarRight]"],Ne=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275cmp=M({type:t,selectors:[["app-s-session-shell-toolbar"]],hostAttrs:[1,"block","shrink-0","w-full","min-w-0"],standalone:!0,features:[q],ngContentSelectors:oe,decls:7,vars:0,consts:[[1,"grid","grid-cols-[1fr_auto_1fr]","items-center","gap-x-1","gap-y-1","p-1","border-b","border-neonDefault","bg-ccapSurface","w-full","min-w-0"],[1,"flex","items-center","gap-1","min-w-0","justify-self-start"],[1,"flex","items-center","justify-center","gap-2","min-w-0","max-w-[min(100vw-12rem,42rem)]","justify-self-center"],[1,"flex","items-center","gap-1","min-w-0","justify-self-end","flex-wrap","justify-end"]],template:function(i,n){i&1&&(z(ie),o(0,"div",0)(1,"div",1),k(2),r(),o(3,"div",2),k(4,1),r(),o(5,"div",3),k(6,2),r()())},dependencies:[D],encapsulation:2})}return t})();var re=[[["","sSessionShellMain",""]],[["","sSessionShellRightPanel",""]],[["","sSessionShellSidebar",""]]],ae=["[sSessionShellMain]","[sSessionShellRightPanel]","[sSessionShellSidebar]"];function se(t,d){if(t&1){let e=S();o(0,"div",2),_("click",function(){c(e);let n=s();return p(n.mobileBackdropClicked.emit())}),r()}}function le(t,d){if(t&1){let e=S();o(0,"div",3),k(1,2),r(),o(2,"div",4),_("pointerdown",function(n){c(e);let a=s();return p(a.sidebarResizeStart.emit(n))}),r()}if(t&2){let e=s();L("width",e.sidebarWidthPx(),"px")}}var Je=(()=>{class t{isSidebarOpen=m(!0);sidebarWidthPx=m(320);isResizing=m(!1);sidebarResizeStart=h();isMobileBackdropActive=m(!1);mobileBackdropClicked=h();static \u0275fac=function(i){return new(i||t)};static \u0275cmp=M({type:t,selectors:[["app-s-resizable-session-shell-layout"]],hostAttrs:[1,"block","flex","flex-1","min-h-0","w-full","overflow-hidden"],inputs:{isSidebarOpen:[1,"isSidebarOpen"],sidebarWidthPx:[1,"sidebarWidthPx"],isResizing:[1,"isResizing"],isMobileBackdropActive:[1,"isMobileBackdropActive"]},outputs:{sidebarResizeStart:"sidebarResizeStart",mobileBackdropClicked:"mobileBackdropClicked"},standalone:!0,features:[q],ngContentSelectors:ae,decls:5,vars:2,consts:[["aria-hidden","true",1,"fixed","inset-0","z-30","bg-black/50","xs:block","gt-xs:hidden"],[1,"flex","min-h-0","min-w-0","flex-1","flex-col","overflow-hidden","bg-ccapBg","self-stretch"],["aria-hidden","true",1,"fixed","inset-0","z-30","bg-black/50","xs:block","gt-xs:hidden",3,"click"],[1,"border-r","border-neonDefault","bg-ccapSurface","flex","flex-col","min-h-0","overflow-hidden","shrink-0","self-stretch"],[1,"w-1","shrink-0","cursor-col-resize","hover:bg-ccapAccent/40","active:bg-ccapAccent/60","transition-colors","touch-none",3,"pointerdown"]],template:function(i,n){i&1&&(z(re),b(0,se,1,0,"div",0)(1,le,3,2),o(2,"div",1),k(3),r(),k(4,1)),i&2&&(x(n.isMobileBackdropActive()?0:-1),l(),x(n.isSidebarOpen()?1:-1))},dependencies:[D],encapsulation:2})}return t})();var de=["textareaEl"],ce=[[["","sInputTextareaAccessory",""]]],pe=["[sInputTextareaAccessory]"],ue=(t,d)=>d.id,me=(t,d)=>d.queueItemId;function _e(t,d){t&1&&g(0,"div",3)}function fe(t,d){if(t&1){let e=S();o(0,"div",18),g(1,"img",20),o(2,"button",21),_("click",function(){c(e);let n=s().$implicit,a=s(2);return p(a.handleRemoveAttachment(n.id))}),u(3," \xD7 "),r()()}if(t&2){let e=s().$implicit;l(),v("src",e.previewUrl,H)}}function xe(t,d){if(t&1){let e=S();o(0,"div",19),w(),o(1,"svg",22),g(2,"path",23)(3,"polyline",24),r(),E(),o(4,"span",25),u(5),r(),o(6,"button",26),_("click",function(){c(e);let n=s().$implicit,a=s(2);return p(a.handleRemoveAttachment(n.id))}),u(7," \xD7 "),r()()}if(t&2){let e=s().$implicit;l(5),T(e.fileName)}}function he(t,d){if(t&1&&b(0,fe,4,1,"div",18)(1,xe,8,1,"div",19),t&2){let e=d.$implicit;x(e.isImage&&e.previewUrl?0:1)}}function ge(t,d){if(t&1&&(o(0,"div",5),A(1,he,2,1,null,null,ue),r()),t&2){let e=s();l(),V(e.pendingAttachments)}}function Ce(t,d){t&1&&(o(0,"span",32),u(1,"Editing"),r())}function Se(t,d){if(t&1){let e=S();o(0,"textarea",36),_("ngModelChange",function(n){c(e);let a=s(3);return p(a.queueEditTextChange.emit(n))}),u(1," "),r(),o(2,"div",37)(3,"button",38),_("click",function(){c(e);let n=s(3);return p(n.queueEditSave.emit())}),u(4," Save "),r(),o(5,"button",39),_("click",function(){c(e);let n=s(3);return p(n.queueEditCancel.emit())}),u(6," Cancel "),r()()}if(t&2){let e=s(3);v("ngModel",e.editingQueueText())}}function be(t,d){if(t&1){let e=S();o(0,"span",40),u(1),r(),o(2,"div",41)(3,"button",42),_("click",function(){c(e);let n=s().$implicit,a=s(2);return p(a.queueMoveUp.emit(n.queueItemId))}),w(),o(4,"svg",43),g(5,"path",44),r()(),E(),o(6,"button",45),_("click",function(){c(e);let n=s().$implicit,a=s(2);return p(a.queueMoveDown.emit(n.queueItemId))}),w(),o(7,"svg",43),g(8,"path",46),r()(),E(),o(9,"button",47),_("click",function(){c(e);let n=s().$implicit,a=s(2);return p(a.queueEditStart.emit(n.queueItemId))}),u(10," Edit "),r(),o(11,"button",48),_("click",function(){c(e);let n=s().$implicit,a=s(2);return p(a.queueRemoveItem.emit(n.queueItemId))}),u(12," \xD7 "),r(),o(13,"button",49),_("click",function(){c(e);let n=s().$implicit,a=s(2);return p(a.queueSendNow.emit(n.queueItemId))}),u(14," Send Now "),r()()}if(t&2){let e=s(),i=e.$implicit,n=e.$index,a=e.$count,f=s(2);l(),T(i.text),l(),$("opacity-100",!0),l(),v("disabled",f.isQueueLocked()||n===0),l(3),v("disabled",f.isQueueLocked()||n===a-1),l(3),v("disabled",f.isQueueLocked()),l(2),v("disabled",f.isQueueLocked()),l(2),v("disabled",f.isQueueLocked())}}function we(t,d){if(t&1&&(o(0,"div",35),b(1,Se,7,1)(2,be,15,8),r()),t&2){let e=d.$implicit,i=s(2);y(i.editingQueueItemId()===e.queueItemId?"bg-neutral-800 border border-neonAmber/30":"bg-neutral-800/40 hover:bg-neutral-800/70"),l(),x(i.editingQueueItemId()===e.queueItemId?1:2)}}function ve(t,d){if(t&1&&(o(0,"div",6)(1,"div",27),w(),o(2,"svg",28),g(3,"rect",29)(4,"rect",30)(5,"rect",31),r(),E(),o(6,"span"),u(7),r(),b(8,Ce,2,0,"span",32),r(),o(9,"div",33),A(10,we,3,3,"div",34,me),r()()),t&2){let e=s();l(7),O("Queued (",e.queueItems().length,")"),l(),x(e.isQueueLocked()?8:-1),l(2),V(e.queueItems())}}function ke(t,d){t&1&&g(0,"span",51)}function ye(t,d){t&1&&(w(),o(0,"svg",52),g(1,"polygon",56)(2,"polyline",57)(3,"line",58)(4,"line",59),r())}function Ee(t,d){t&1&&g(0,"span",54)}function Te(t,d){t&1&&(w(),o(0,"svg",55),g(1,"rect",60),r())}function Me(t,d){if(t&1){let e=S();o(0,"div",11)(1,"button",50),_("click",function(){c(e);let n=s();return p(n.handleQueueClick())}),b(2,ke,1,0,"span",51)(3,ye,5,0,":svg:svg",52),r(),o(4,"button",53),_("click",function(){c(e);let n=s();return p(n.handleStopClick())}),b(5,Ee,1,0,"span",54)(6,Te,2,0,":svg:svg",55),r()()}if(t&2){let e=s();l(),v("disabled",e.isSending()),l(),x(e.isSending()?2:3),l(2),v("disabled",e.isStopping()),R("aria-label",e.isStopping()?"Stopping\u2026":"Stop")("title",e.isStopping()?"Stopping\u2026":"Stop"),l(),x(e.isStopping()?5:6)}}function Ie(t,d){t&1&&g(0,"span",62)}function Re(t,d){t&1&&(w(),o(0,"svg",63),g(1,"line",64)(2,"polygon",65),r())}function Ae(t,d){if(t&1){let e=S();o(0,"button",61),_("click",function(){c(e);let n=s();return p(n.handleSendClick())}),b(1,Ie,1,0,"span",62)(2,Re,3,0,":svg:svg",63),r()}if(t&2){let e=s();v("disabled",e.isSending()),l(),x(e.isSending()?1:2)}}function Ve(t,d){if(t&1){let e=S();o(0,"label",14),w(),o(1,"svg",28),g(2,"path",66),r(),u(3," Attach "),E(),o(4,"input",67),_("change",function(n){c(e);let a=s();return p(a.handleFilesSelected(n))}),r()()}if(t&2){let e=s();l(4),v("accept",e.acceptedFileTypes())}}function ze(t,d){if(t&1){let e=S();o(0,"button",76),_("click",function(){let n=c(e).$implicit,a=s(3);return p(a.handleSelectMode(n))}),u(1),r()}if(t&2){let e=d.$implicit,i=s(3);y(e===i.selectedMode()?"text-neonCyan bg-neonCyan/10":"text-neutral-400 hover:text-neutral-200 hover:bg-neutral-800"),l(),O(" ",e," ")}}function qe(t,d){if(t&1&&(o(0,"div",74),A(1,ze,2,3,"button",75,F),r()),t&2){let e=s(2);l(),V(e.modeOptions())}}function De(t,d){if(t&1){let e=S();o(0,"div",15)(1,"button",68),_("click",function(){c(e);let n=s();return p(n.handleToggleModeDropdown())}),o(2,"span",69),u(3,"Mode"),r(),o(4,"span",70),u(5,":"),r(),o(6,"span",71),u(7),r(),w(),o(8,"svg",72),g(9,"path",73),r()(),b(10,qe,3,0,"div",74),r()}if(t&2){let e=s();l(),y(e.isModeDropdownOpen_$()?"border-neonCyan/50 text-neonCyan bg-neonCyan/10":"border-neutral-700 text-neutral-400 hover:text-neutral-300 hover:border-neutral-600"),R("aria-label","Mode: "+e.selectedMode()),l(6),T(e.selectedMode()),l(3),x(e.isModeDropdownOpen_$()?10:-1)}}function $e(t,d){if(t&1){let e=S();o(0,"button",76),_("click",function(){let n=c(e).$implicit,a=s(3);return p(a.handleSelectModel(n))}),u(1),r()}if(t&2){let e=d.$implicit,i=s(3);y(e===i.selectedModel()?"text-neonAmber bg-neonAmber/10":"text-neutral-400 hover:text-neutral-200 hover:bg-neutral-800"),l(),O(" ",e," ")}}function Oe(t,d){if(t&1&&(o(0,"div",74),A(1,$e,2,3,"button",75,F),r()),t&2){let e=s(2);l(),V(e.modelOptions())}}function Le(t,d){if(t&1){let e=S();o(0,"div",15)(1,"button",68),_("click",function(){c(e);let n=s();return p(n.handleToggleModelDropdown())}),o(2,"span",69),u(3,"Model"),r(),o(4,"span",70),u(5,":"),r(),o(6,"span",71),u(7),r(),w(),o(8,"svg",72),g(9,"path",73),r()(),b(10,Oe,3,0,"div",74),r()}if(t&2){let e=s();l(),y(e.isModelDropdownOpen_$()?"border-neonAmber/50 text-neonAmber bg-neonAmber/10":"border-neutral-700 text-neutral-400 hover:text-neutral-300 hover:border-neutral-600"),R("aria-label","Model: "+e.selectedModel()),l(6),T(e.selectedModel()),l(3),x(e.isModelDropdownOpen_$()?10:-1)}}function Fe(t,d){if(t&1){let e=S();o(0,"button",76),_("click",function(){let n=c(e).$implicit,a=s(3);return p(a.handleSelectEffort(n))}),u(1),r()}if(t&2){let e=d.$implicit,i=s(3);y(e===i.selectedEffort()?"text-neonPurple bg-neonPurple/10":"text-neutral-400 hover:text-neutral-200 hover:bg-neutral-800"),l(),O(" ",e," ")}}function je(t,d){if(t&1&&(o(0,"div",74),A(1,Fe,2,3,"button",75,F),r()),t&2){let e=s(2);l(),V(e.effortOptions())}}function Pe(t,d){if(t&1){let e=S();o(0,"div",15)(1,"button",68),_("click",function(){c(e);let n=s();return p(n.handleToggleEffortDropdown())}),o(2,"span",69),u(3,"Effort"),r(),o(4,"span",70),u(5,":"),r(),o(6,"span",71),u(7),r(),w(),o(8,"svg",72),g(9,"path",73),r()(),b(10,je,3,0,"div",74),r()}if(t&2){let e=s();l(),y(e.isEffortDropdownOpen_$()?"border-neonPurple/50 text-neonPurple bg-neonPurple/10":"border-neutral-700 text-neutral-400 hover:text-neutral-300 hover:border-neutral-600"),R("aria-label","Effort: "+e.selectedEffort()),l(6),T(e.selectedEffort()),l(3),x(e.isEffortDropdownOpen_$()?10:-1)}}function Ue(t,d){if(t&1&&(o(0,"div",17),w(),o(1,"svg",28),g(2,"circle",77)(3,"path",78),r(),E(),o(4,"span"),u(5),r()()),t&2){let e=s();l(5),T(e.usageText())}}var ee=["image/png","image/jpeg","image/webp","image/gif"],He=120,Qe=.4,st=(()=>{class t{elementRef;renderer;draftText=m("");placeholder=m("Send a prompt\u2026");textareaRows=m(3);draftTextChange=h();isExecuting=m(!1);isSending=m(!1);isStopping=m(!1);modeOptions=m([]);selectedMode=m("");modelOptions=m([]);selectedModel=m("");effortOptions=m([]);selectedEffort=m("");usageText=m("");queueItems=m([]);isQueueLocked=m(!1);editingQueueItemId=m(null);editingQueueText=m("");queueEditStart=h();queueEditTextChange=h();queueEditSave=h();queueEditCancel=h();queueRemoveItem=h();queueSendNow=h();queueMoveUp=h();queueMoveDown=h();enableAttachments=m(!1);acceptedFileTypes=m("image/png,image/jpeg,image/webp,image/gif,.txt,.pdf,.md,.json,.csv,.xml,.yaml,.yml,.log");maxAttachmentCount=m(6);sendRequested=h();queueRequested=h();stopRequested=h();modeChanged=h();modelChanged=h();effortChanged=h();attachmentsChanged=h();pendingAttachments=[];isModeDropdownOpen_$=I(!1);isModelDropdownOpen_$=I(!1);isEffortDropdownOpen_$=I(!1);isManualResize_$=I(!1);manualPanelHeight_$=I(300);textareaElRef;resizeStartY=0;resizeStartHeight=0;resizeMoveCleanup=null;resizeUpCleanup=null;resizeCancelCleanup=null;get hostHeightPx(){return this.isManualResize_$()?this.manualPanelHeight_$():void 0}constructor(e,i){this.elementRef=e,this.renderer=i,W(()=>{this.draftText(),this.isManualResize_$()||requestAnimationFrame(()=>{this.textareaElRef?.nativeElement&&this.adjustTextareaAutoGrow(this.textareaElRef.nativeElement)})})}ngOnDestroy(){this.cleanupResizeListeners();for(let e of this.pendingAttachments)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);this.pendingAttachments=[]}handleKeyDown(e){e.key!=="Enter"||e.shiftKey||(e.preventDefault(),this.emitSendOrQueue())}handleSendClick(){this.emitSendOrQueue()}handleQueueClick(){this.emitSendOrQueue()}handleStopClick(){this.isStopping()||this.stopRequested.emit()}handleTextareaInput(){this.isManualResize_$()||this.textareaElRef?.nativeElement&&this.adjustTextareaAutoGrow(this.textareaElRef.nativeElement)}handleResizeStart(e){e.preventDefault();let i=e.currentTarget;i instanceof HTMLElement&&i.setPointerCapture(e.pointerId),this.resizeStartY=e.clientY,this.resizeStartHeight=this.elementRef.nativeElement.offsetHeight,this.resizeMoveCleanup=this.renderer.listen("document","pointermove",n=>{this.handleResizeMove(n)}),this.resizeUpCleanup=this.renderer.listen("document","pointerup",()=>{i instanceof HTMLElement&&i.hasPointerCapture(e.pointerId)&&i.releasePointerCapture(e.pointerId),this.cleanupResizeListeners()}),this.resizeCancelCleanup=this.renderer.listen("document","pointercancel",()=>{i instanceof HTMLElement&&i.hasPointerCapture(e.pointerId)&&i.releasePointerCapture(e.pointerId),this.cleanupResizeListeners()})}handleResizeReset(){this.isManualResize_$.set(!1),requestAnimationFrame(()=>{this.textareaElRef?.nativeElement&&this.adjustTextareaAutoGrow(this.textareaElRef.nativeElement)})}handleToggleModeDropdown(){this.closeAllDropdownsExcept("mode"),this.isModeDropdownOpen_$.set(!this.isModeDropdownOpen_$())}handleToggleModelDropdown(){this.closeAllDropdownsExcept("model"),this.isModelDropdownOpen_$.set(!this.isModelDropdownOpen_$())}handleToggleEffortDropdown(){this.closeAllDropdownsExcept("effort"),this.isEffortDropdownOpen_$.set(!this.isEffortDropdownOpen_$())}handleSelectMode(e){this.isModeDropdownOpen_$.set(!1),this.modeChanged.emit(e)}handleSelectModel(e){this.isModelDropdownOpen_$.set(!1),this.modelChanged.emit(e)}handleSelectEffort(e){this.isEffortDropdownOpen_$.set(!1),this.effortChanged.emit(e)}handleFilesSelected(e){return j(this,null,function*(){let i=e.target,n=i?.files??null;n?.length&&(yield this.addFiles(Array.from(n)),i&&(i.value=""))})}handlePaste(e){if(!this.enableAttachments())return;let i=e.clipboardData?.items;if(!i?.length)return;let n=[];for(let a=0;a<i.length;a++){let f=i[a];if(f.kind==="file"&&ee.some(C=>f.type.toLowerCase().startsWith(C))){let C=f.getAsFile();C&&n.push(C)}}n.length&&(e.preventDefault(),this.addFiles(n))}handleRemoveAttachment(e){let i=this.pendingAttachments.find(n=>n.id===e);i?.previewUrl&&URL.revokeObjectURL(i.previewUrl),this.pendingAttachments=this.pendingAttachments.filter(n=>n.id!==e),this.attachmentsChanged.emit(this.pendingAttachments)}clearAttachments(){for(let e of this.pendingAttachments)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);this.pendingAttachments=[],this.attachmentsChanged.emit(this.pendingAttachments)}emitSendOrQueue(){if(this.isSending())return;let e=(this.draftText()??"").trim().length>0,i=this.pendingAttachments.length>0;!e&&!i||(this.isExecuting()?this.queueRequested.emit():this.sendRequested.emit())}adjustTextareaAutoGrow(e){e.style.height="auto";let i=Math.round(window.innerHeight*Qe),n=Math.min(e.scrollHeight,i);e.style.height=n+"px"}handleResizeMove(e){let i=this.isManualResize_$(),n=this.resizeStartY-e.clientY,a=Math.round(window.innerHeight*.7),f=Math.max(He,Math.min(this.resizeStartHeight+n,a));this.isManualResize_$.set(!0),this.manualPanelHeight_$.set(f),!i&&this.textareaElRef?.nativeElement&&(this.textareaElRef.nativeElement.style.height="")}cleanupResizeListeners(){this.resizeMoveCleanup&&(this.resizeMoveCleanup(),this.resizeMoveCleanup=null),this.resizeUpCleanup&&(this.resizeUpCleanup(),this.resizeUpCleanup=null),this.resizeCancelCleanup&&(this.resizeCancelCleanup(),this.resizeCancelCleanup=null)}closeAllDropdownsExcept(e){e!=="mode"&&this.isModeDropdownOpen_$.set(!1),e!=="model"&&this.isModelDropdownOpen_$.set(!1),e!=="effort"&&this.isEffortDropdownOpen_$.set(!1)}addFiles(e){return j(this,null,function*(){let i=this.maxAttachmentCount()-this.pendingAttachments.length;if(i<=0)return;let n=e.slice(0,i);for(let a of n)try{let f=yield this.readFileToBase64(a),C=ee.some(ne=>a.type.toLowerCase().startsWith(ne)),te={id:typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`att-${Date.now()}-${Math.random()}`,fileName:a.name,mimeType:a.type||"application/octet-stream",base64:f,previewUrl:C?URL.createObjectURL(a):void 0,sizeBytes:a.size,isImage:C};this.pendingAttachments=[...this.pendingAttachments,te]}catch{}this.attachmentsChanged.emit(this.pendingAttachments)})}readFileToBase64(e){return new Promise((i,n)=>{let a=new FileReader;a.onload=()=>{let f=String(a.result??""),C=f.indexOf(",");i(C>=0?f.slice(C+1):f)},a.onerror=()=>{n(a.error)},a.readAsDataURL(e)})}static \u0275fac=function(i){return new(i||t)(P(U),P(Q))};static \u0275cmp=M({type:t,selectors:[["app-s-session-input"]],viewQuery:function(i,n){if(i&1&&B(de,5),i&2){let a;G(a=N())&&(n.textareaElRef=a.first)}},hostAttrs:[1,"flex","flex-col","shrink-0","border-t","border-neonDefault","bg-ccapSurface","relative","overflow-hidden"],hostVars:2,hostBindings:function(i,n){i&2&&L("height",n.hostHeightPx,"px")},inputs:{draftText:[1,"draftText"],placeholder:[1,"placeholder"],textareaRows:[1,"textareaRows"],isExecuting:[1,"isExecuting"],isSending:[1,"isSending"],isStopping:[1,"isStopping"],modeOptions:[1,"modeOptions"],selectedMode:[1,"selectedMode"],modelOptions:[1,"modelOptions"],selectedModel:[1,"selectedModel"],effortOptions:[1,"effortOptions"],selectedEffort:[1,"selectedEffort"],usageText:[1,"usageText"],queueItems:[1,"queueItems"],isQueueLocked:[1,"isQueueLocked"],editingQueueItemId:[1,"editingQueueItemId"],editingQueueText:[1,"editingQueueText"],enableAttachments:[1,"enableAttachments"],acceptedFileTypes:[1,"acceptedFileTypes"],maxAttachmentCount:[1,"maxAttachmentCount"]},outputs:{draftTextChange:"draftTextChange",queueEditStart:"queueEditStart",queueEditTextChange:"queueEditTextChange",queueEditSave:"queueEditSave",queueEditCancel:"queueEditCancel",queueRemoveItem:"queueRemoveItem",queueSendNow:"queueSendNow",queueMoveUp:"queueMoveUp",queueMoveDown:"queueMoveDown",sendRequested:"sendRequested",queueRequested:"queueRequested",stopRequested:"stopRequested",modeChanged:"modeChanged",modelChanged:"modelChanged",effortChanged:"effortChanged",attachmentsChanged:"attachmentsChanged"},standalone:!0,features:[q],ngContentSelectors:pe,decls:22,vars:20,consts:[["textareaEl",""],[1,"group","flex","items-center","justify-center","h-2.5","shrink-0","cursor-ns-resize","select-none","touch-none",3,"pointerdown","dblclick"],[1,"w-8","h-0.5","rounded-full","bg-neutral-600","transition-all","group-hover:bg-neonCyan/50","group-hover:w-12"],[1,"knight-rider-bar"],[1,"flex","flex-col","gap-2","p-2","flex-1","min-h-0"],[1,"flex","flex-wrap","gap-2"],[1,"flex","flex-col","gap-1","rounded","border","border-neutral-700/50","bg-neutral-900/60","p-2","text-[11px]"],[1,"flex","gap-2"],[1,"relative","min-w-0","flex-1"],[1,"min-h-[60px]","w-full","resize-none","rounded","border","border-neutral-700","bg-neutral-800","px-3","py-2","text-sm","text-neutral-200","placeholder-neutral-600","focus:border-ccapAccent","focus:outline-none",3,"ngModelChange","input","keydown","paste","placeholder","ngModel"],[1,"shrink-0","self-stretch","flex","flex-col","items-center","justify-between","gap-2"],[1,"flex","flex-col","items-center","gap-1.5"],["type","button","aria-label","Send","title","Send",1,"flex","items-center","justify-center","min-w-[44px]","min-h-[44px]","w-10","h-10","rounded-full","shrink-0","bg-ccapAccent","text-black","transition-all","duration-200","disabled:opacity-50","hover:bg-ccapAccent/80","hover:shadow-neon-glow-cyan","focus:outline-none","focus:ring-2","focus:ring-ccapAccent","focus:ring-offset-2","focus:ring-offset-neutral-900",3,"disabled"],[1,"flex","flex-wrap","items-center","gap-2","text-[11px]","shrink-0"],[1,"flex","items-center","gap-1","px-2","py-1","rounded","border","border-neutral-700","text-neutral-400","hover:text-neutral-300","hover:border-neutral-600","cursor-pointer","transition-colors","shrink-0"],[1,"relative"],[1,"flex-1"],[1,"flex","items-center","gap-1.5","text-neutral-500","shrink-0"],[1,"relative","w-14","h-14","rounded","border","border-neonDefault","overflow-hidden","shrink-0"],[1,"relative","flex","items-center","gap-1","px-2","py-1","rounded","border","border-neonDefault","text-[10px]","text-neutral-400","shrink-0","max-w-[140px]"],["alt","",1,"w-full","h-full","object-cover",3,"src"],["type","button",1,"absolute","top-0","right-0","w-4","h-4","text-[10px]","leading-4","bg-black/70","text-white","border-0","cursor-pointer",3,"click"],["viewBox","0 0 12 12","fill","none",1,"w-3","h-3","shrink-0","opacity-60"],["d","M7 1H3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4L7 1z","stroke","currentColor","stroke-width","1"],["points","7 1 7 4 10 4","stroke","currentColor","stroke-width","1"],[1,"truncate"],["type","button",1,"ml-auto","w-3","h-3","text-[10px]","leading-3","text-neutral-500","hover:text-white","cursor-pointer","shrink-0",3,"click"],[1,"flex","items-center","gap-1.5","text-neutral-500","font-medium","mb-0.5"],["viewBox","0 0 12 12","fill","none",1,"w-3","h-3","opacity-60"],["x","1","y","1","width","10","height","3","rx","0.5","stroke","currentColor","stroke-width","0.8"],["x","1","y","5","width","10","height","3","rx","0.5","stroke","currentColor","stroke-width","0.8","opacity","0.6"],["x","1","y","9","width","10","height","3","rx","0.5","stroke","currentColor","stroke-width","0.8","opacity","0.3"],[1,"ml-1","rounded","bg-neonAmber/15","px-1","py-px","text-[9px]","font-semibold","text-neonAmber","uppercase","tracking-wider"],[1,"flex","flex-col","gap-1","max-h-[280px]","overflow-y-auto","overscroll-contain","pr-1"],[1,"flex","items-start","gap-1.5","rounded","px-2","py-1.5","transition-colors",3,"class"],[1,"flex","items-start","gap-1.5","rounded","px-2","py-1.5","transition-colors"],["rows","2",1,"flex-1","min-h-[36px]","max-h-[100px]","resize-none","rounded","border","border-neutral-600","bg-neutral-900","px-2","py-1","text-[11px]","text-neutral-200","focus:border-neonAmber","focus:outline-none",3,"ngModelChange","ngModel"],[1,"flex","flex-col","gap-1","shrink-0"],["type","button",1,"px-1.5","py-0.5","text-[10px]","rounded","bg-neonAmber/20","text-neonAmber","hover:bg-neonAmber/30","transition-colors","cursor-pointer",3,"click"],["type","button",1,"px-1.5","py-0.5","text-[10px]","rounded","text-neutral-500","hover:text-neutral-300","hover:bg-neutral-700","transition-colors","cursor-pointer",3,"click"],[1,"flex-1","text-neutral-300","break-words","whitespace-pre-wrap","leading-relaxed"],[1,"flex","items-center","gap-1","shrink-0","opacity-0","group-hover:opacity-100","transition-opacity"],["type","button","title","Move up",1,"px-1","py-0.5","text-[10px]","rounded","text-neutral-500","hover:text-neutral-200","hover:bg-neutral-700","transition-colors","cursor-pointer","disabled:opacity-30","disabled:cursor-not-allowed",3,"click","disabled"],["viewBox","0 0 12 12","fill","none",1,"w-3","h-3"],["d","M6 3L3 7h6L6 3z","fill","currentColor"],["type","button","title","Move down",1,"px-1","py-0.5","text-[10px]","rounded","text-neutral-500","hover:text-neutral-200","hover:bg-neutral-700","transition-colors","cursor-pointer","disabled:opacity-30","disabled:cursor-not-allowed",3,"click","disabled"],["d","M6 9L3 5h6L6 9z","fill","currentColor"],["type","button",1,"px-1.5","py-0.5","text-[10px]","rounded","text-neutral-500","hover:text-neutral-200","hover:bg-neutral-700","transition-colors","cursor-pointer","disabled:opacity-30","disabled:cursor-not-allowed",3,"click","disabled"],["type","button",1,"px-1.5","py-0.5","text-[10px]","rounded","text-neutral-500","hover:text-red-400","hover:bg-red-950/30","transition-colors","cursor-pointer","disabled:opacity-30","disabled:cursor-not-allowed",3,"click","disabled"],["type","button",1,"px-1.5","py-0.5","text-[10px]","rounded","text-neutral-500","hover:text-neonCyan","hover:bg-neonCyan/10","transition-colors","cursor-pointer","disabled:opacity-30","disabled:cursor-not-allowed",3,"click","disabled"],["type","button","aria-label","Add to queue","title","Add to queue (Enter)",1,"flex","items-center","justify-center","min-w-[44px]","min-h-[44px]","w-10","h-10","rounded-full","shrink-0","bg-neutral-900","border-2","border-neonAmber/60","text-neonAmber","hover:border-neonAmber","hover:shadow-neon-glow-amber","hover:bg-neonAmber/10","transition-all","duration-200","disabled:opacity-40","focus:outline-none","focus:ring-2","focus:ring-neonAmber","focus:ring-offset-2","focus:ring-offset-neutral-900",3,"click","disabled"],["aria-hidden","true",1,"inline-block","w-5","h-5","shrink-0","animate-spin","rounded-full","border-2","border-neonAmber/40","border-t-neonAmber"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","1.8","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true",1,"w-5","h-5","shrink-0"],["type","button",1,"flex","items-center","justify-center","min-w-[44px]","min-h-[44px]","w-10","h-10","rounded-full","shrink-0","bg-neutral-900","border-2","border-neonRed/50","text-red-300","hover:border-neonRed","hover:shadow-neon-glow-red","transition-all","duration-200","disabled:opacity-40","focus:outline-none","focus:ring-2","focus:ring-neonRed","focus:ring-offset-2","focus:ring-offset-neutral-900",3,"click","disabled"],["aria-hidden","true",1,"inline-block","w-5","h-5","shrink-0","animate-spin","rounded-full","border-2","border-neonRed/40","border-t-neonRed"],["viewBox","0 0 24 24","fill","currentColor","aria-hidden","true",1,"w-5","h-5","shrink-0"],["points","18 3 2 9 9 12 18 3"],["points","18 3 11 19 9 12"],["x1","19","y1","15","x2","19","y2","21"],["x1","16","y1","18","x2","22","y2","18"],["x","6","y","6","width","12","height","12","rx","2"],["type","button","aria-label","Send","title","Send",1,"flex","items-center","justify-center","min-w-[44px]","min-h-[44px]","w-10","h-10","rounded-full","shrink-0","bg-ccapAccent","text-black","transition-all","duration-200","disabled:opacity-50","hover:bg-ccapAccent/80","hover:shadow-neon-glow-cyan","focus:outline-none","focus:ring-2","focus:ring-ccapAccent","focus:ring-offset-2","focus:ring-offset-neutral-900",3,"click","disabled"],["aria-hidden","true",1,"inline-block","w-5","h-5","shrink-0","animate-spin","rounded-full","border-2","border-black/40","border-t-black"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true",1,"w-5","h-5","shrink-0"],["x1","22","y1","2","x2","11","y2","13"],["points","22 2 15 22 11 13 2 9 22 2"],["d","M10.5 5.5l-4.3 4.3a2.5 2.5 0 0 1-3.5-3.5L7 2a1.7 1.7 0 0 1 2.4 2.4L5.1 8.7a.8.8 0 0 1-1.2-1.2L7.5 4","stroke","currentColor","stroke-width","1","stroke-linecap","round"],["type","file","multiple","",1,"sr-only",3,"change","accept"],["type","button",1,"flex","items-center","gap-1","px-2","py-0.5","rounded","border","transition-colors","cursor-pointer",3,"click"],[1,"uppercase","font-medium","tracking-wide","hidden","gt-xs:inline"],[1,"text-neutral-500","mx-0.5","hidden","gt-xs:inline"],[1,"capitalize"],["viewBox","0 0 12 12","fill","none",1,"w-3","h-3","ml-0.5","opacity-50"],["d","M3 5l3 3 3-3","stroke","currentColor","stroke-width","1.5","stroke-linecap","round"],[1,"absolute","bottom-full","left-0","mb-1","bg-neutral-900","border","border-neutral-700","rounded-lg","shadow-lg","overflow-hidden","z-20","min-w-[100px]"],["type","button",1,"w-full","text-left","px-3","py-1.5","text-[11px]","capitalize","transition-colors","cursor-pointer",3,"class"],["type","button",1,"w-full","text-left","px-3","py-1.5","text-[11px]","capitalize","transition-colors","cursor-pointer",3,"click"],["cx","6","cy","6","r","5","stroke","currentColor","stroke-width","1"],["d","M6 3v3.5l2 1.5","stroke","currentColor","stroke-width","1","stroke-linecap","round"]],template:function(i,n){if(i&1){let a=S();z(ce),o(0,"div",1),_("pointerdown",function(C){return c(a),p(n.handleResizeStart(C))})("dblclick",function(){return c(a),p(n.handleResizeReset())}),g(1,"div",2),r(),b(2,_e,1,0,"div",3),o(3,"div",4),b(4,ge,3,0,"div",5)(5,ve,12,2,"div",6),o(6,"div",7)(7,"div",8)(8,"textarea",9,0),_("ngModelChange",function(C){return c(a),p(n.draftTextChange.emit(C))})("input",function(){return c(a),p(n.handleTextareaInput())})("keydown",function(C){return c(a),p(n.handleKeyDown(C))})("paste",function(C){return c(a),p(n.handlePaste(C))}),u(10," "),r()(),o(11,"div",10),k(12),b(13,Me,7,6,"div",11)(14,Ae,3,2,"button",12),r()(),o(15,"div",13),b(16,Ve,5,1,"label",14)(17,De,11,5,"div",15)(18,Le,11,5,"div",15)(19,Pe,11,5,"div",15),g(20,"div",16),b(21,Ue,6,1,"div",17),r()()}i&2&&(l(2),x(n.isExecuting()?2:-1),l(2),x(n.pendingAttachments.length?4:-1),l(),x(n.queueItems().length?5:-1),l(),$("flex-1",n.isManualResize_$())("min-h-0",n.isManualResize_$()),l(),$("min-h-0",n.isManualResize_$()),l(),$("h-full",n.isManualResize_$()),v("placeholder",n.placeholder())("ngModel",n.draftText()),R("rows",n.textareaRows()),l(5),x(n.isExecuting()?13:14),l(3),x(n.enableAttachments()?16:-1),l(),x(n.modeOptions().length?17:-1),l(),x(n.modelOptions().length?18:-1),l(),x(n.effortOptions().length?19:-1),l(2),x(n.usageText()?21:-1))},dependencies:[D,J,Y,K,X],styles:[`@charset "UTF-8";.knight-rider-bar[_ngcontent-%COMP%]{position:absolute;top:-1px;left:0;right:0;height:2px;overflow:hidden;pointer-events:none;z-index:10}.knight-rider-bar[_ngcontent-%COMP%]:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(0,245,255,.15) 25%,rgba(0,212,255,.7) 45%,#00f5ff 50%,rgba(45,212,191,.9) 53%,rgba(0,212,255,.7) 55%,rgba(0,245,255,.15) 75%,transparent 100%);background-size:55% 100%;animation:_ngcontent-%COMP%_knight-rider-sweep 1.8s ease-in-out infinite alternate;filter:drop-shadow(0 0 4px #00f5ff) drop-shadow(0 0 10px rgba(0,245,255,.6))}@keyframes _ngcontent-%COMP%_knight-rider-sweep{0%{background-position:-55% center}to{background-position:155% center}}
|
|
1
|
+
import{c as Y,f as K,i as X,v as J}from"./chunk-EO4DNTT4.js";import{$ as Q,Aa as G,Ba as N,D as M,Fa as u,Ga as T,Ha as O,J as c,K as p,L as w,M as E,T as h,Ta as q,U as m,V as U,X as H,Z as l,_ as P,aa as I,da as b,fa as R,ga as v,ha as L,ia as $,ja as y,jb as W,k as j,la as x,na as F,oa as A,pa as V,qa as o,ra as r,sa as g,ua as S,ub as D,va as _,wa as s,xa as z,ya as k,za as B}from"./chunk-TBMJSIBB.js";var ie=[[["","sSessionToolbarLeft",""]],[["","sSessionToolbarCenter",""]],[["","sSessionToolbarRight",""]]],oe=["[sSessionToolbarLeft]","[sSessionToolbarCenter]","[sSessionToolbarRight]"],Ne=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275cmp=M({type:t,selectors:[["app-s-session-shell-toolbar"]],hostAttrs:[1,"block","shrink-0","w-full","min-w-0"],standalone:!0,features:[q],ngContentSelectors:oe,decls:7,vars:0,consts:[[1,"grid","grid-cols-[1fr_auto_1fr]","items-center","gap-x-1","gap-y-1","p-1","border-b","border-neonDefault","bg-ccapSurface","w-full","min-w-0"],[1,"flex","items-center","gap-1","min-w-0","justify-self-start"],[1,"flex","items-center","justify-center","gap-2","min-w-0","max-w-[min(100vw-12rem,42rem)]","justify-self-center"],[1,"flex","items-center","gap-1","min-w-0","justify-self-end","flex-wrap","justify-end"]],template:function(i,n){i&1&&(z(ie),o(0,"div",0)(1,"div",1),k(2),r(),o(3,"div",2),k(4,1),r(),o(5,"div",3),k(6,2),r()())},dependencies:[D],encapsulation:2})}return t})();var re=[[["","sSessionShellMain",""]],[["","sSessionShellRightPanel",""]],[["","sSessionShellSidebar",""]]],ae=["[sSessionShellMain]","[sSessionShellRightPanel]","[sSessionShellSidebar]"];function se(t,d){if(t&1){let e=S();o(0,"div",2),_("click",function(){c(e);let n=s();return p(n.mobileBackdropClicked.emit())}),r()}}function le(t,d){if(t&1){let e=S();o(0,"div",3),k(1,2),r(),o(2,"div",4),_("pointerdown",function(n){c(e);let a=s();return p(a.sidebarResizeStart.emit(n))}),r()}if(t&2){let e=s();L("width",e.sidebarWidthPx(),"px")}}var Je=(()=>{class t{isSidebarOpen=m(!0);sidebarWidthPx=m(320);isResizing=m(!1);sidebarResizeStart=h();isMobileBackdropActive=m(!1);mobileBackdropClicked=h();static \u0275fac=function(i){return new(i||t)};static \u0275cmp=M({type:t,selectors:[["app-s-resizable-session-shell-layout"]],hostAttrs:[1,"block","flex","flex-1","min-h-0","w-full","overflow-hidden"],inputs:{isSidebarOpen:[1,"isSidebarOpen"],sidebarWidthPx:[1,"sidebarWidthPx"],isResizing:[1,"isResizing"],isMobileBackdropActive:[1,"isMobileBackdropActive"]},outputs:{sidebarResizeStart:"sidebarResizeStart",mobileBackdropClicked:"mobileBackdropClicked"},standalone:!0,features:[q],ngContentSelectors:ae,decls:5,vars:2,consts:[["aria-hidden","true",1,"fixed","inset-0","z-30","bg-black/50","xs:block","gt-xs:hidden"],[1,"flex","min-h-0","min-w-0","flex-1","flex-col","overflow-hidden","bg-ccapBg","self-stretch"],["aria-hidden","true",1,"fixed","inset-0","z-30","bg-black/50","xs:block","gt-xs:hidden",3,"click"],[1,"border-r","border-neonDefault","bg-ccapSurface","flex","flex-col","min-h-0","overflow-hidden","shrink-0","self-stretch"],[1,"w-1","shrink-0","cursor-col-resize","hover:bg-ccapAccent/40","active:bg-ccapAccent/60","transition-colors","touch-none",3,"pointerdown"]],template:function(i,n){i&1&&(z(re),b(0,se,1,0,"div",0)(1,le,3,2),o(2,"div",1),k(3),r(),k(4,1)),i&2&&(x(n.isMobileBackdropActive()?0:-1),l(),x(n.isSidebarOpen()?1:-1))},dependencies:[D],encapsulation:2})}return t})();var de=["textareaEl"],ce=[[["","sInputTextareaAccessory",""]]],pe=["[sInputTextareaAccessory]"],ue=(t,d)=>d.id,me=(t,d)=>d.queueItemId;function _e(t,d){t&1&&g(0,"div",3)}function fe(t,d){if(t&1){let e=S();o(0,"div",18),g(1,"img",20),o(2,"button",21),_("click",function(){c(e);let n=s().$implicit,a=s(2);return p(a.handleRemoveAttachment(n.id))}),u(3," \xD7 "),r()()}if(t&2){let e=s().$implicit;l(),v("src",e.previewUrl,H)}}function xe(t,d){if(t&1){let e=S();o(0,"div",19),w(),o(1,"svg",22),g(2,"path",23)(3,"polyline",24),r(),E(),o(4,"span",25),u(5),r(),o(6,"button",26),_("click",function(){c(e);let n=s().$implicit,a=s(2);return p(a.handleRemoveAttachment(n.id))}),u(7," \xD7 "),r()()}if(t&2){let e=s().$implicit;l(5),T(e.fileName)}}function he(t,d){if(t&1&&b(0,fe,4,1,"div",18)(1,xe,8,1,"div",19),t&2){let e=d.$implicit;x(e.isImage&&e.previewUrl?0:1)}}function ge(t,d){if(t&1&&(o(0,"div",5),A(1,he,2,1,null,null,ue),r()),t&2){let e=s();l(),V(e.pendingAttachments)}}function Ce(t,d){t&1&&(o(0,"span",32),u(1,"Editing"),r())}function Se(t,d){if(t&1){let e=S();o(0,"textarea",36),_("ngModelChange",function(n){c(e);let a=s(3);return p(a.queueEditTextChange.emit(n))}),u(1," "),r(),o(2,"div",37)(3,"button",38),_("click",function(){c(e);let n=s(3);return p(n.queueEditSave.emit())}),u(4," Save "),r(),o(5,"button",39),_("click",function(){c(e);let n=s(3);return p(n.queueEditCancel.emit())}),u(6," Cancel "),r()()}if(t&2){let e=s(3);v("ngModel",e.editingQueueText())}}function be(t,d){if(t&1){let e=S();o(0,"span",40),u(1),r(),o(2,"div",41)(3,"button",42),_("click",function(){c(e);let n=s().$implicit,a=s(2);return p(a.queueMoveUp.emit(n.queueItemId))}),w(),o(4,"svg",43),g(5,"path",44),r()(),E(),o(6,"button",45),_("click",function(){c(e);let n=s().$implicit,a=s(2);return p(a.queueMoveDown.emit(n.queueItemId))}),w(),o(7,"svg",43),g(8,"path",46),r()(),E(),o(9,"button",47),_("click",function(){c(e);let n=s().$implicit,a=s(2);return p(a.queueEditStart.emit(n.queueItemId))}),u(10," Edit "),r(),o(11,"button",48),_("click",function(){c(e);let n=s().$implicit,a=s(2);return p(a.queueRemoveItem.emit(n.queueItemId))}),u(12," \xD7 "),r(),o(13,"button",49),_("click",function(){c(e);let n=s().$implicit,a=s(2);return p(a.queueSendNow.emit(n.queueItemId))}),u(14," Send Now "),r()()}if(t&2){let e=s(),i=e.$implicit,n=e.$index,a=e.$count,f=s(2);l(),T(i.text),l(),$("opacity-100",!0),l(),v("disabled",f.isQueueLocked()||n===0),l(3),v("disabled",f.isQueueLocked()||n===a-1),l(3),v("disabled",f.isQueueLocked()),l(2),v("disabled",f.isQueueLocked()),l(2),v("disabled",f.isQueueLocked())}}function we(t,d){if(t&1&&(o(0,"div",35),b(1,Se,7,1)(2,be,15,8),r()),t&2){let e=d.$implicit,i=s(2);y(i.editingQueueItemId()===e.queueItemId?"bg-neutral-800 border border-neonAmber/30":"bg-neutral-800/40 hover:bg-neutral-800/70"),l(),x(i.editingQueueItemId()===e.queueItemId?1:2)}}function ve(t,d){if(t&1&&(o(0,"div",6)(1,"div",27),w(),o(2,"svg",28),g(3,"rect",29)(4,"rect",30)(5,"rect",31),r(),E(),o(6,"span"),u(7),r(),b(8,Ce,2,0,"span",32),r(),o(9,"div",33),A(10,we,3,3,"div",34,me),r()()),t&2){let e=s();l(7),O("Queued (",e.queueItems().length,")"),l(),x(e.isQueueLocked()?8:-1),l(2),V(e.queueItems())}}function ke(t,d){t&1&&g(0,"span",51)}function ye(t,d){t&1&&(w(),o(0,"svg",52),g(1,"polygon",56)(2,"polyline",57)(3,"line",58)(4,"line",59),r())}function Ee(t,d){t&1&&g(0,"span",54)}function Te(t,d){t&1&&(w(),o(0,"svg",55),g(1,"rect",60),r())}function Me(t,d){if(t&1){let e=S();o(0,"div",11)(1,"button",50),_("click",function(){c(e);let n=s();return p(n.handleQueueClick())}),b(2,ke,1,0,"span",51)(3,ye,5,0,":svg:svg",52),r(),o(4,"button",53),_("click",function(){c(e);let n=s();return p(n.handleStopClick())}),b(5,Ee,1,0,"span",54)(6,Te,2,0,":svg:svg",55),r()()}if(t&2){let e=s();l(),v("disabled",e.isSending()),l(),x(e.isSending()?2:3),l(2),v("disabled",e.isStopping()),R("aria-label",e.isStopping()?"Stopping\u2026":"Stop")("title",e.isStopping()?"Stopping\u2026":"Stop"),l(),x(e.isStopping()?5:6)}}function Ie(t,d){t&1&&g(0,"span",62)}function Re(t,d){t&1&&(w(),o(0,"svg",63),g(1,"line",64)(2,"polygon",65),r())}function Ae(t,d){if(t&1){let e=S();o(0,"button",61),_("click",function(){c(e);let n=s();return p(n.handleSendClick())}),b(1,Ie,1,0,"span",62)(2,Re,3,0,":svg:svg",63),r()}if(t&2){let e=s();v("disabled",e.isSending()),l(),x(e.isSending()?1:2)}}function Ve(t,d){if(t&1){let e=S();o(0,"label",14),w(),o(1,"svg",28),g(2,"path",66),r(),u(3," Attach "),E(),o(4,"input",67),_("change",function(n){c(e);let a=s();return p(a.handleFilesSelected(n))}),r()()}if(t&2){let e=s();l(4),v("accept",e.acceptedFileTypes())}}function ze(t,d){if(t&1){let e=S();o(0,"button",76),_("click",function(){let n=c(e).$implicit,a=s(3);return p(a.handleSelectMode(n))}),u(1),r()}if(t&2){let e=d.$implicit,i=s(3);y(e===i.selectedMode()?"text-neonCyan bg-neonCyan/10":"text-neutral-400 hover:text-neutral-200 hover:bg-neutral-800"),l(),O(" ",e," ")}}function qe(t,d){if(t&1&&(o(0,"div",74),A(1,ze,2,3,"button",75,F),r()),t&2){let e=s(2);l(),V(e.modeOptions())}}function De(t,d){if(t&1){let e=S();o(0,"div",15)(1,"button",68),_("click",function(){c(e);let n=s();return p(n.handleToggleModeDropdown())}),o(2,"span",69),u(3,"Mode"),r(),o(4,"span",70),u(5,":"),r(),o(6,"span",71),u(7),r(),w(),o(8,"svg",72),g(9,"path",73),r()(),b(10,qe,3,0,"div",74),r()}if(t&2){let e=s();l(),y(e.isModeDropdownOpen_$()?"border-neonCyan/50 text-neonCyan bg-neonCyan/10":"border-neutral-700 text-neutral-400 hover:text-neutral-300 hover:border-neutral-600"),R("aria-label","Mode: "+e.selectedMode()),l(6),T(e.selectedMode()),l(3),x(e.isModeDropdownOpen_$()?10:-1)}}function $e(t,d){if(t&1){let e=S();o(0,"button",76),_("click",function(){let n=c(e).$implicit,a=s(3);return p(a.handleSelectModel(n))}),u(1),r()}if(t&2){let e=d.$implicit,i=s(3);y(e===i.selectedModel()?"text-neonAmber bg-neonAmber/10":"text-neutral-400 hover:text-neutral-200 hover:bg-neutral-800"),l(),O(" ",e," ")}}function Oe(t,d){if(t&1&&(o(0,"div",74),A(1,$e,2,3,"button",75,F),r()),t&2){let e=s(2);l(),V(e.modelOptions())}}function Le(t,d){if(t&1){let e=S();o(0,"div",15)(1,"button",68),_("click",function(){c(e);let n=s();return p(n.handleToggleModelDropdown())}),o(2,"span",69),u(3,"Model"),r(),o(4,"span",70),u(5,":"),r(),o(6,"span",71),u(7),r(),w(),o(8,"svg",72),g(9,"path",73),r()(),b(10,Oe,3,0,"div",74),r()}if(t&2){let e=s();l(),y(e.isModelDropdownOpen_$()?"border-neonAmber/50 text-neonAmber bg-neonAmber/10":"border-neutral-700 text-neutral-400 hover:text-neutral-300 hover:border-neutral-600"),R("aria-label","Model: "+e.selectedModel()),l(6),T(e.selectedModel()),l(3),x(e.isModelDropdownOpen_$()?10:-1)}}function Fe(t,d){if(t&1){let e=S();o(0,"button",76),_("click",function(){let n=c(e).$implicit,a=s(3);return p(a.handleSelectEffort(n))}),u(1),r()}if(t&2){let e=d.$implicit,i=s(3);y(e===i.selectedEffort()?"text-neonPurple bg-neonPurple/10":"text-neutral-400 hover:text-neutral-200 hover:bg-neutral-800"),l(),O(" ",e," ")}}function je(t,d){if(t&1&&(o(0,"div",74),A(1,Fe,2,3,"button",75,F),r()),t&2){let e=s(2);l(),V(e.effortOptions())}}function Pe(t,d){if(t&1){let e=S();o(0,"div",15)(1,"button",68),_("click",function(){c(e);let n=s();return p(n.handleToggleEffortDropdown())}),o(2,"span",69),u(3,"Effort"),r(),o(4,"span",70),u(5,":"),r(),o(6,"span",71),u(7),r(),w(),o(8,"svg",72),g(9,"path",73),r()(),b(10,je,3,0,"div",74),r()}if(t&2){let e=s();l(),y(e.isEffortDropdownOpen_$()?"border-neonPurple/50 text-neonPurple bg-neonPurple/10":"border-neutral-700 text-neutral-400 hover:text-neutral-300 hover:border-neutral-600"),R("aria-label","Effort: "+e.selectedEffort()),l(6),T(e.selectedEffort()),l(3),x(e.isEffortDropdownOpen_$()?10:-1)}}function Ue(t,d){if(t&1&&(o(0,"div",17),w(),o(1,"svg",28),g(2,"circle",77)(3,"path",78),r(),E(),o(4,"span"),u(5),r()()),t&2){let e=s();l(5),T(e.usageText())}}var ee=["image/png","image/jpeg","image/webp","image/gif"],He=120,Qe=.4,st=(()=>{class t{elementRef;renderer;draftText=m("");placeholder=m("Send a prompt\u2026");textareaRows=m(3);draftTextChange=h();isExecuting=m(!1);isSending=m(!1);isStopping=m(!1);modeOptions=m([]);selectedMode=m("");modelOptions=m([]);selectedModel=m("");effortOptions=m([]);selectedEffort=m("");usageText=m("");queueItems=m([]);isQueueLocked=m(!1);editingQueueItemId=m(null);editingQueueText=m("");queueEditStart=h();queueEditTextChange=h();queueEditSave=h();queueEditCancel=h();queueRemoveItem=h();queueSendNow=h();queueMoveUp=h();queueMoveDown=h();enableAttachments=m(!1);acceptedFileTypes=m("image/png,image/jpeg,image/webp,image/gif,.txt,.pdf,.md,.json,.csv,.xml,.yaml,.yml,.log");maxAttachmentCount=m(6);sendRequested=h();queueRequested=h();stopRequested=h();modeChanged=h();modelChanged=h();effortChanged=h();attachmentsChanged=h();pendingAttachments=[];isModeDropdownOpen_$=I(!1);isModelDropdownOpen_$=I(!1);isEffortDropdownOpen_$=I(!1);isManualResize_$=I(!1);manualPanelHeight_$=I(300);textareaElRef;resizeStartY=0;resizeStartHeight=0;resizeMoveCleanup=null;resizeUpCleanup=null;resizeCancelCleanup=null;get hostHeightPx(){return this.isManualResize_$()?this.manualPanelHeight_$():void 0}constructor(e,i){this.elementRef=e,this.renderer=i,W(()=>{this.draftText(),this.isManualResize_$()||requestAnimationFrame(()=>{this.textareaElRef?.nativeElement&&this.adjustTextareaAutoGrow(this.textareaElRef.nativeElement)})})}ngOnDestroy(){this.cleanupResizeListeners();for(let e of this.pendingAttachments)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);this.pendingAttachments=[]}handleKeyDown(e){e.key!=="Enter"||e.shiftKey||(e.preventDefault(),this.emitSendOrQueue())}handleSendClick(){this.emitSendOrQueue()}handleQueueClick(){this.emitSendOrQueue()}handleStopClick(){this.isStopping()||this.stopRequested.emit()}handleTextareaInput(){this.isManualResize_$()||this.textareaElRef?.nativeElement&&this.adjustTextareaAutoGrow(this.textareaElRef.nativeElement)}handleResizeStart(e){e.preventDefault();let i=e.currentTarget;i instanceof HTMLElement&&i.setPointerCapture(e.pointerId),this.resizeStartY=e.clientY,this.resizeStartHeight=this.elementRef.nativeElement.offsetHeight,this.resizeMoveCleanup=this.renderer.listen("document","pointermove",n=>{this.handleResizeMove(n)}),this.resizeUpCleanup=this.renderer.listen("document","pointerup",()=>{i instanceof HTMLElement&&i.hasPointerCapture(e.pointerId)&&i.releasePointerCapture(e.pointerId),this.cleanupResizeListeners()}),this.resizeCancelCleanup=this.renderer.listen("document","pointercancel",()=>{i instanceof HTMLElement&&i.hasPointerCapture(e.pointerId)&&i.releasePointerCapture(e.pointerId),this.cleanupResizeListeners()})}handleResizeReset(){this.isManualResize_$.set(!1),requestAnimationFrame(()=>{this.textareaElRef?.nativeElement&&this.adjustTextareaAutoGrow(this.textareaElRef.nativeElement)})}handleToggleModeDropdown(){this.closeAllDropdownsExcept("mode"),this.isModeDropdownOpen_$.set(!this.isModeDropdownOpen_$())}handleToggleModelDropdown(){this.closeAllDropdownsExcept("model"),this.isModelDropdownOpen_$.set(!this.isModelDropdownOpen_$())}handleToggleEffortDropdown(){this.closeAllDropdownsExcept("effort"),this.isEffortDropdownOpen_$.set(!this.isEffortDropdownOpen_$())}handleSelectMode(e){this.isModeDropdownOpen_$.set(!1),this.modeChanged.emit(e)}handleSelectModel(e){this.isModelDropdownOpen_$.set(!1),this.modelChanged.emit(e)}handleSelectEffort(e){this.isEffortDropdownOpen_$.set(!1),this.effortChanged.emit(e)}handleFilesSelected(e){return j(this,null,function*(){let i=e.target,n=i?.files??null;n?.length&&(yield this.addFiles(Array.from(n)),i&&(i.value=""))})}handlePaste(e){if(!this.enableAttachments())return;let i=e.clipboardData?.items;if(!i?.length)return;let n=[];for(let a=0;a<i.length;a++){let f=i[a];if(f.kind==="file"&&ee.some(C=>f.type.toLowerCase().startsWith(C))){let C=f.getAsFile();C&&n.push(C)}}n.length&&(e.preventDefault(),this.addFiles(n))}handleRemoveAttachment(e){let i=this.pendingAttachments.find(n=>n.id===e);i?.previewUrl&&URL.revokeObjectURL(i.previewUrl),this.pendingAttachments=this.pendingAttachments.filter(n=>n.id!==e),this.attachmentsChanged.emit(this.pendingAttachments)}clearAttachments(){for(let e of this.pendingAttachments)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);this.pendingAttachments=[],this.attachmentsChanged.emit(this.pendingAttachments)}emitSendOrQueue(){if(this.isSending())return;let e=(this.draftText()??"").trim().length>0,i=this.pendingAttachments.length>0;!e&&!i||(this.isExecuting()?this.queueRequested.emit():this.sendRequested.emit())}adjustTextareaAutoGrow(e){e.style.height="auto";let i=Math.round(window.innerHeight*Qe),n=Math.min(e.scrollHeight,i);e.style.height=n+"px"}handleResizeMove(e){let i=this.isManualResize_$(),n=this.resizeStartY-e.clientY,a=Math.round(window.innerHeight*.7),f=Math.max(He,Math.min(this.resizeStartHeight+n,a));this.isManualResize_$.set(!0),this.manualPanelHeight_$.set(f),!i&&this.textareaElRef?.nativeElement&&(this.textareaElRef.nativeElement.style.height="")}cleanupResizeListeners(){this.resizeMoveCleanup&&(this.resizeMoveCleanup(),this.resizeMoveCleanup=null),this.resizeUpCleanup&&(this.resizeUpCleanup(),this.resizeUpCleanup=null),this.resizeCancelCleanup&&(this.resizeCancelCleanup(),this.resizeCancelCleanup=null)}closeAllDropdownsExcept(e){e!=="mode"&&this.isModeDropdownOpen_$.set(!1),e!=="model"&&this.isModelDropdownOpen_$.set(!1),e!=="effort"&&this.isEffortDropdownOpen_$.set(!1)}addFiles(e){return j(this,null,function*(){let i=this.maxAttachmentCount()-this.pendingAttachments.length;if(i<=0)return;let n=e.slice(0,i);for(let a of n)try{let f=yield this.readFileToBase64(a),C=ee.some(ne=>a.type.toLowerCase().startsWith(ne)),te={id:typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`att-${Date.now()}-${Math.random()}`,fileName:a.name,mimeType:a.type||"application/octet-stream",base64:f,previewUrl:C?URL.createObjectURL(a):void 0,sizeBytes:a.size,isImage:C};this.pendingAttachments=[...this.pendingAttachments,te]}catch{}this.attachmentsChanged.emit(this.pendingAttachments)})}readFileToBase64(e){return new Promise((i,n)=>{let a=new FileReader;a.onload=()=>{let f=String(a.result??""),C=f.indexOf(",");i(C>=0?f.slice(C+1):f)},a.onerror=()=>{n(a.error)},a.readAsDataURL(e)})}static \u0275fac=function(i){return new(i||t)(P(U),P(Q))};static \u0275cmp=M({type:t,selectors:[["app-s-session-input"]],viewQuery:function(i,n){if(i&1&&B(de,5),i&2){let a;G(a=N())&&(n.textareaElRef=a.first)}},hostAttrs:[1,"flex","flex-col","shrink-0","border-t","border-neonDefault","bg-ccapSurface","relative","overflow-hidden"],hostVars:2,hostBindings:function(i,n){i&2&&L("height",n.hostHeightPx,"px")},inputs:{draftText:[1,"draftText"],placeholder:[1,"placeholder"],textareaRows:[1,"textareaRows"],isExecuting:[1,"isExecuting"],isSending:[1,"isSending"],isStopping:[1,"isStopping"],modeOptions:[1,"modeOptions"],selectedMode:[1,"selectedMode"],modelOptions:[1,"modelOptions"],selectedModel:[1,"selectedModel"],effortOptions:[1,"effortOptions"],selectedEffort:[1,"selectedEffort"],usageText:[1,"usageText"],queueItems:[1,"queueItems"],isQueueLocked:[1,"isQueueLocked"],editingQueueItemId:[1,"editingQueueItemId"],editingQueueText:[1,"editingQueueText"],enableAttachments:[1,"enableAttachments"],acceptedFileTypes:[1,"acceptedFileTypes"],maxAttachmentCount:[1,"maxAttachmentCount"]},outputs:{draftTextChange:"draftTextChange",queueEditStart:"queueEditStart",queueEditTextChange:"queueEditTextChange",queueEditSave:"queueEditSave",queueEditCancel:"queueEditCancel",queueRemoveItem:"queueRemoveItem",queueSendNow:"queueSendNow",queueMoveUp:"queueMoveUp",queueMoveDown:"queueMoveDown",sendRequested:"sendRequested",queueRequested:"queueRequested",stopRequested:"stopRequested",modeChanged:"modeChanged",modelChanged:"modelChanged",effortChanged:"effortChanged",attachmentsChanged:"attachmentsChanged"},standalone:!0,features:[q],ngContentSelectors:pe,decls:22,vars:20,consts:[["textareaEl",""],[1,"group","flex","items-center","justify-center","h-2.5","shrink-0","cursor-ns-resize","select-none","touch-none",3,"pointerdown","dblclick"],[1,"w-8","h-0.5","rounded-full","bg-neutral-600","transition-all","group-hover:bg-neonCyan/50","group-hover:w-12"],[1,"knight-rider-bar"],[1,"flex","flex-col","gap-2","p-2","flex-1","min-h-0"],[1,"flex","flex-wrap","gap-2"],[1,"flex","flex-col","gap-1","rounded","border","border-neutral-700/50","bg-neutral-900/60","p-2","text-[11px]"],[1,"flex","gap-2"],[1,"relative","min-w-0","flex-1"],[1,"min-h-[60px]","w-full","resize-none","rounded","border","border-neutral-700","bg-neutral-800","px-3","py-2","text-sm","text-neutral-200","placeholder-neutral-600","focus:border-ccapAccent","focus:outline-none",3,"ngModelChange","input","keydown","paste","placeholder","ngModel"],[1,"shrink-0","self-stretch","flex","flex-col","items-center","justify-between","gap-2"],[1,"flex","flex-col","items-center","gap-1.5"],["type","button","aria-label","Send","title","Send",1,"flex","items-center","justify-center","min-w-[44px]","min-h-[44px]","w-10","h-10","rounded-full","shrink-0","bg-ccapAccent","text-black","transition-all","duration-200","disabled:opacity-50","hover:bg-ccapAccent/80","hover:shadow-neon-glow-cyan","focus:outline-none","focus:ring-2","focus:ring-ccapAccent","focus:ring-offset-2","focus:ring-offset-neutral-900",3,"disabled"],[1,"flex","flex-wrap","items-center","gap-2","text-[11px]","shrink-0"],[1,"flex","items-center","gap-1","px-2","py-1","rounded","border","border-neutral-700","text-neutral-400","hover:text-neutral-300","hover:border-neutral-600","cursor-pointer","transition-colors","shrink-0"],[1,"relative"],[1,"flex-1"],[1,"flex","items-center","gap-1.5","text-neutral-500","shrink-0"],[1,"relative","w-14","h-14","rounded","border","border-neonDefault","overflow-hidden","shrink-0"],[1,"relative","flex","items-center","gap-1","px-2","py-1","rounded","border","border-neonDefault","text-[10px]","text-neutral-400","shrink-0","max-w-[140px]"],["alt","",1,"w-full","h-full","object-cover",3,"src"],["type","button",1,"absolute","top-0","right-0","w-4","h-4","text-[10px]","leading-4","bg-black/70","text-white","border-0","cursor-pointer",3,"click"],["viewBox","0 0 12 12","fill","none",1,"w-3","h-3","shrink-0","opacity-60"],["d","M7 1H3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4L7 1z","stroke","currentColor","stroke-width","1"],["points","7 1 7 4 10 4","stroke","currentColor","stroke-width","1"],[1,"truncate"],["type","button",1,"ml-auto","w-3","h-3","text-[10px]","leading-3","text-neutral-500","hover:text-white","cursor-pointer","shrink-0",3,"click"],[1,"flex","items-center","gap-1.5","text-neutral-500","font-medium","mb-0.5"],["viewBox","0 0 12 12","fill","none",1,"w-3","h-3","opacity-60"],["x","1","y","1","width","10","height","3","rx","0.5","stroke","currentColor","stroke-width","0.8"],["x","1","y","5","width","10","height","3","rx","0.5","stroke","currentColor","stroke-width","0.8","opacity","0.6"],["x","1","y","9","width","10","height","3","rx","0.5","stroke","currentColor","stroke-width","0.8","opacity","0.3"],[1,"ml-1","rounded","bg-neonAmber/15","px-1","py-px","text-[9px]","font-semibold","text-neonAmber","uppercase","tracking-wider"],[1,"flex","flex-col","gap-1","max-h-[280px]","overflow-y-auto","overscroll-contain","pr-1"],[1,"flex","items-start","gap-1.5","rounded","px-2","py-1.5","transition-colors",3,"class"],[1,"flex","items-start","gap-1.5","rounded","px-2","py-1.5","transition-colors"],["rows","2",1,"flex-1","min-h-[36px]","max-h-[100px]","resize-none","rounded","border","border-neutral-600","bg-neutral-900","px-2","py-1","text-[11px]","text-neutral-200","focus:border-neonAmber","focus:outline-none",3,"ngModelChange","ngModel"],[1,"flex","flex-col","gap-1","shrink-0"],["type","button",1,"px-1.5","py-0.5","text-[10px]","rounded","bg-neonAmber/20","text-neonAmber","hover:bg-neonAmber/30","transition-colors","cursor-pointer",3,"click"],["type","button",1,"px-1.5","py-0.5","text-[10px]","rounded","text-neutral-500","hover:text-neutral-300","hover:bg-neutral-700","transition-colors","cursor-pointer",3,"click"],[1,"flex-1","text-neutral-300","break-words","whitespace-pre-wrap","leading-relaxed"],[1,"flex","items-center","gap-1","shrink-0","opacity-0","group-hover:opacity-100","transition-opacity"],["type","button","title","Move up",1,"px-1","py-0.5","text-[10px]","rounded","text-neutral-500","hover:text-neutral-200","hover:bg-neutral-700","transition-colors","cursor-pointer","disabled:opacity-30","disabled:cursor-not-allowed",3,"click","disabled"],["viewBox","0 0 12 12","fill","none",1,"w-3","h-3"],["d","M6 3L3 7h6L6 3z","fill","currentColor"],["type","button","title","Move down",1,"px-1","py-0.5","text-[10px]","rounded","text-neutral-500","hover:text-neutral-200","hover:bg-neutral-700","transition-colors","cursor-pointer","disabled:opacity-30","disabled:cursor-not-allowed",3,"click","disabled"],["d","M6 9L3 5h6L6 9z","fill","currentColor"],["type","button",1,"px-1.5","py-0.5","text-[10px]","rounded","text-neutral-500","hover:text-neutral-200","hover:bg-neutral-700","transition-colors","cursor-pointer","disabled:opacity-30","disabled:cursor-not-allowed",3,"click","disabled"],["type","button",1,"px-1.5","py-0.5","text-[10px]","rounded","text-neutral-500","hover:text-red-400","hover:bg-red-950/30","transition-colors","cursor-pointer","disabled:opacity-30","disabled:cursor-not-allowed",3,"click","disabled"],["type","button",1,"px-1.5","py-0.5","text-[10px]","rounded","text-neutral-500","hover:text-neonCyan","hover:bg-neonCyan/10","transition-colors","cursor-pointer","disabled:opacity-30","disabled:cursor-not-allowed",3,"click","disabled"],["type","button","aria-label","Add to queue","title","Add to queue (Enter)",1,"flex","items-center","justify-center","min-w-[44px]","min-h-[44px]","w-10","h-10","rounded-full","shrink-0","bg-neutral-900","border-2","border-neonAmber/60","text-neonAmber","hover:border-neonAmber","hover:shadow-neon-glow-amber","hover:bg-neonAmber/10","transition-all","duration-200","disabled:opacity-40","focus:outline-none","focus:ring-2","focus:ring-neonAmber","focus:ring-offset-2","focus:ring-offset-neutral-900",3,"click","disabled"],["aria-hidden","true",1,"inline-block","w-5","h-5","shrink-0","animate-spin","rounded-full","border-2","border-neonAmber/40","border-t-neonAmber"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","1.8","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true",1,"w-5","h-5","shrink-0"],["type","button",1,"flex","items-center","justify-center","w-5","h-5","rounded-full","shrink-0","bg-neutral-900","border","border-neonRed/50","text-red-300","hover:border-neonRed","hover:shadow-neon-glow-red","transition-all","duration-200","disabled:opacity-40","focus:outline-none","focus:ring-2","focus:ring-neonRed","focus:ring-offset-2","focus:ring-offset-neutral-900",3,"click","disabled"],["aria-hidden","true",1,"inline-block","w-2.5","h-2.5","shrink-0","animate-spin","rounded-full","border","border-neonRed/40","border-t-neonRed"],["viewBox","0 0 24 24","fill","currentColor","aria-hidden","true",1,"w-2.5","h-2.5","shrink-0"],["points","18 3 2 9 9 12 18 3"],["points","18 3 11 19 9 12"],["x1","19","y1","15","x2","19","y2","21"],["x1","16","y1","18","x2","22","y2","18"],["x","6","y","6","width","12","height","12","rx","2"],["type","button","aria-label","Send","title","Send",1,"flex","items-center","justify-center","min-w-[44px]","min-h-[44px]","w-10","h-10","rounded-full","shrink-0","bg-ccapAccent","text-black","transition-all","duration-200","disabled:opacity-50","hover:bg-ccapAccent/80","hover:shadow-neon-glow-cyan","focus:outline-none","focus:ring-2","focus:ring-ccapAccent","focus:ring-offset-2","focus:ring-offset-neutral-900",3,"click","disabled"],["aria-hidden","true",1,"inline-block","w-5","h-5","shrink-0","animate-spin","rounded-full","border-2","border-black/40","border-t-black"],["viewBox","0 0 24 24","fill","none","stroke","currentColor","stroke-width","2","stroke-linecap","round","stroke-linejoin","round","aria-hidden","true",1,"w-5","h-5","shrink-0"],["x1","22","y1","2","x2","11","y2","13"],["points","22 2 15 22 11 13 2 9 22 2"],["d","M10.5 5.5l-4.3 4.3a2.5 2.5 0 0 1-3.5-3.5L7 2a1.7 1.7 0 0 1 2.4 2.4L5.1 8.7a.8.8 0 0 1-1.2-1.2L7.5 4","stroke","currentColor","stroke-width","1","stroke-linecap","round"],["type","file","multiple","",1,"sr-only",3,"change","accept"],["type","button",1,"flex","items-center","gap-1","px-2","py-0.5","rounded","border","transition-colors","cursor-pointer",3,"click"],[1,"uppercase","font-medium","tracking-wide","hidden","gt-xs:inline"],[1,"text-neutral-500","mx-0.5","hidden","gt-xs:inline"],[1,"capitalize"],["viewBox","0 0 12 12","fill","none",1,"w-3","h-3","ml-0.5","opacity-50"],["d","M3 5l3 3 3-3","stroke","currentColor","stroke-width","1.5","stroke-linecap","round"],[1,"absolute","bottom-full","left-0","mb-1","bg-neutral-900","border","border-neutral-700","rounded-lg","shadow-lg","overflow-hidden","z-20","min-w-[100px]"],["type","button",1,"w-full","text-left","px-3","py-1.5","text-[11px]","capitalize","transition-colors","cursor-pointer",3,"class"],["type","button",1,"w-full","text-left","px-3","py-1.5","text-[11px]","capitalize","transition-colors","cursor-pointer",3,"click"],["cx","6","cy","6","r","5","stroke","currentColor","stroke-width","1"],["d","M6 3v3.5l2 1.5","stroke","currentColor","stroke-width","1","stroke-linecap","round"]],template:function(i,n){if(i&1){let a=S();z(ce),o(0,"div",1),_("pointerdown",function(C){return c(a),p(n.handleResizeStart(C))})("dblclick",function(){return c(a),p(n.handleResizeReset())}),g(1,"div",2),r(),b(2,_e,1,0,"div",3),o(3,"div",4),b(4,ge,3,0,"div",5)(5,ve,12,2,"div",6),o(6,"div",7)(7,"div",8)(8,"textarea",9,0),_("ngModelChange",function(C){return c(a),p(n.draftTextChange.emit(C))})("input",function(){return c(a),p(n.handleTextareaInput())})("keydown",function(C){return c(a),p(n.handleKeyDown(C))})("paste",function(C){return c(a),p(n.handlePaste(C))}),u(10," "),r()(),o(11,"div",10),k(12),b(13,Me,7,6,"div",11)(14,Ae,3,2,"button",12),r()(),o(15,"div",13),b(16,Ve,5,1,"label",14)(17,De,11,5,"div",15)(18,Le,11,5,"div",15)(19,Pe,11,5,"div",15),g(20,"div",16),b(21,Ue,6,1,"div",17),r()()}i&2&&(l(2),x(n.isExecuting()?2:-1),l(2),x(n.pendingAttachments.length?4:-1),l(),x(n.queueItems().length?5:-1),l(),$("flex-1",n.isManualResize_$())("min-h-0",n.isManualResize_$()),l(),$("min-h-0",n.isManualResize_$()),l(),$("h-full",n.isManualResize_$()),v("placeholder",n.placeholder())("ngModel",n.draftText()),R("rows",n.textareaRows()),l(5),x(n.isExecuting()?13:14),l(3),x(n.enableAttachments()?16:-1),l(),x(n.modeOptions().length?17:-1),l(),x(n.modelOptions().length?18:-1),l(),x(n.effortOptions().length?19:-1),l(2),x(n.usageText()?21:-1))},dependencies:[D,J,Y,K,X],styles:[`@charset "UTF-8";.knight-rider-bar[_ngcontent-%COMP%]{position:absolute;top:-1px;left:0;right:0;height:2px;overflow:hidden;pointer-events:none;z-index:10}.knight-rider-bar[_ngcontent-%COMP%]:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(0,245,255,.15) 25%,rgba(0,212,255,.7) 45%,#00f5ff 50%,rgba(45,212,191,.9) 53%,rgba(0,212,255,.7) 55%,rgba(0,245,255,.15) 75%,transparent 100%);background-size:55% 100%;animation:_ngcontent-%COMP%_knight-rider-sweep 1.8s ease-in-out infinite alternate;filter:drop-shadow(0 0 4px #00f5ff) drop-shadow(0 0 10px rgba(0,245,255,.6))}@keyframes _ngcontent-%COMP%_knight-rider-sweep{0%{background-position:-55% center}to{background-position:155% center}}
|
|
2
2
|
/*# sourceMappingURL=s-session-input.component-MONCAJ63.css.map */`]})}return t})();export{Ne as a,Je as b,st as c};
|
|
3
|
-
//# sourceMappingURL=chunk-
|
|
3
|
+
//# sourceMappingURL=chunk-C7XPBJTG.js.map
|