@futdevpro/ccap 1.1.3371 → 1.1.3447
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-TPKOBI3N.js → agent-instances.module-W3REXD56.js} +2 -2
- package/client-dist/{ca.module-I5N6QWSU.js → ca.module-TQ4WHOMF.js} +2 -2
- package/client-dist/{cc-usage-dashboard.component-7SPVADUQ.js → cc-usage-dashboard.component-TGLYNCLF.js} +2 -2
- package/client-dist/{cc.module-7IL3QO5Q.js → cc.module-YMTBVD35.js} +2 -2
- package/client-dist/{chunk-XWYXBY7S.js → chunk-2EBLV6GJ.js} +2 -2
- package/client-dist/{chunk-7VY64KMU.js → chunk-4GTK6NMH.js} +2 -2
- package/client-dist/{chunk-44TWBJUK.js → chunk-5HNAJSRW.js} +2 -2
- package/client-dist/{chunk-77YTUUCR.js → chunk-6AFPKEHZ.js} +2 -2
- package/client-dist/{chunk-RUSAMFGS.js → chunk-6TE4LLRT.js} +2 -2
- package/client-dist/{chunk-RUSAMFGS.js.map → chunk-6TE4LLRT.js.map} +1 -1
- package/client-dist/{chunk-OKUYYDGV.js → chunk-6XSACJBG.js} +2 -2
- package/client-dist/{chunk-UM7AS2IW.js → chunk-77JJATPE.js} +2 -2
- package/client-dist/{chunk-RYD462IO.js → chunk-7GEAKPVD.js} +2 -2
- package/client-dist/{chunk-4FK2D2PX.js → chunk-A3CDBCDP.js} +2 -2
- package/client-dist/{chunk-3G2ZGV66.js → chunk-ACWNNQIT.js} +2 -2
- package/client-dist/{chunk-J5INQQ5M.js → chunk-AGMHTMQA.js} +2 -2
- package/client-dist/{chunk-U3Y5GO6O.js → chunk-BFYF3IU4.js} +2 -2
- package/client-dist/{chunk-U64N3LCA.js → chunk-BNU5THES.js} +2 -2
- package/client-dist/{chunk-4PBNHSRW.js → chunk-BQAILW64.js} +2 -2
- package/client-dist/{chunk-TFB7ULAV.js → chunk-C6J25IMQ.js} +2 -2
- package/client-dist/{chunk-PW5BAINL.js → chunk-CZLRKXDU.js} +2 -2
- package/client-dist/{chunk-CU5YQ2M4.js → chunk-DEAFTFFH.js} +2 -2
- package/client-dist/{chunk-PMJP2N4K.js → chunk-E6C6MLAE.js} +2 -2
- package/client-dist/{chunk-6BYNIFJY.js → chunk-F455BZKF.js} +2 -2
- package/client-dist/chunk-FOLWKVUD.js +2 -0
- package/client-dist/chunk-FOLWKVUD.js.map +7 -0
- package/client-dist/{chunk-CAMM4S7P.js → chunk-GIEG6TTL.js} +3 -3
- package/client-dist/chunk-GIEG6TTL.js.map +1 -0
- package/client-dist/{chunk-4JL2Q6FO.js → chunk-GYSREL5Z.js} +2 -2
- package/client-dist/{chunk-IHNAAEA2.js → chunk-HFDLUJ4U.js} +2 -2
- package/client-dist/{chunk-XFXMWTQS.js → chunk-HS5KMAZC.js} +2 -2
- package/client-dist/{chunk-C2BQQRVH.js → chunk-HZ3SDWNT.js} +2 -2
- package/client-dist/{chunk-5RLDT3NY.js → chunk-I7XAQJ7K.js} +2 -2
- package/client-dist/{chunk-SK3XGSYF.js → chunk-ITSH6RYG.js} +2 -2
- package/client-dist/{chunk-BJ4I73WC.js → chunk-K3UWZKRD.js} +2 -2
- package/client-dist/{chunk-25KTNALK.js → chunk-KDPOJH6B.js} +2 -2
- package/client-dist/{chunk-OS5KCUZD.js → chunk-KKDWUDRS.js} +2 -2
- package/client-dist/{chunk-LIGODF4I.js → chunk-LUV3FOSG.js} +2 -2
- package/client-dist/{chunk-26YUXPZI.js → chunk-MY244SUO.js} +2 -2
- package/client-dist/{chunk-QQ2GRU2N.js → chunk-O3CN5GI3.js} +2 -2
- package/client-dist/{chunk-UVVGFHUG.js → chunk-O4EWDG7M.js} +2 -2
- package/client-dist/{chunk-LMK3IOKN.js → chunk-P7TYGGJE.js} +2 -2
- package/client-dist/{chunk-VOFDBT5T.js → chunk-PG4M4ZHN.js} +2 -2
- package/client-dist/{chunk-EDMLVG72.js → chunk-PIQK6O5O.js} +2 -2
- package/client-dist/{chunk-LCKABD2M.js → chunk-PQEIFO6Y.js} +2 -2
- package/client-dist/{chunk-7CMPZXAO.js → chunk-QSN7KY5M.js} +2 -2
- package/client-dist/{chunk-GG2WP2KM.js → chunk-QTOWXHVD.js} +2 -2
- package/client-dist/{chunk-BH3GMEZZ.js → chunk-ROLHXND4.js} +2 -2
- package/client-dist/{chunk-A33MCHYC.js → chunk-RPTXBYC4.js} +14 -14
- package/client-dist/{chunk-A33MCHYC.js.map → chunk-RPTXBYC4.js.map} +3 -3
- package/client-dist/{chunk-KX2KGHQZ.js → chunk-RZBXT5HF.js} +2 -2
- package/client-dist/{chunk-657E66YR.js → chunk-SDRBFR4F.js} +2 -2
- package/client-dist/{chunk-W7HIS2QA.js → chunk-T4OXQXNG.js} +2 -2
- package/client-dist/{chunk-C4FOSX27.js → chunk-UFASD7B2.js} +2 -2
- package/client-dist/{chunk-E6WOJOGT.js → chunk-UKRECFE4.js} +2 -2
- package/client-dist/{chunk-VRG74DKK.js → chunk-VJ343CWZ.js} +2 -2
- package/client-dist/{chunk-5YDHEFSD.js → chunk-VOEXOXIB.js} +2 -2
- package/client-dist/{chunk-L42Z7YNK.js → chunk-VPHQR3SZ.js} +2 -2
- package/client-dist/{chunk-DXF2FJLD.js → chunk-WDUO4IJE.js} +2 -2
- package/client-dist/chunk-WJCSS2XZ.js +2 -0
- package/client-dist/chunk-WJCSS2XZ.js.map +7 -0
- package/client-dist/{chunk-OLLHHMTV.js → chunk-WW4VCBEU.js} +2 -2
- package/client-dist/{chunk-L2XJGYW4.js → chunk-XLKBCO5O.js} +2 -2
- package/client-dist/{chunk-UD4PV7CD.js → chunk-XZRD3UM5.js} +2 -2
- package/client-dist/{chunk-4EOSKDXN.js → chunk-YWVKQVNA.js} +2 -2
- package/client-dist/{chunk-OCNDLQG5.js → chunk-Z3OBNB3J.js} +2 -2
- package/client-dist/{consultant.module-HHTHUWRL.js → consultant.module-2SDJBVP3.js} +2 -2
- package/client-dist/{crd.module-ER6AHSX5.js → crd.module-IWMW2SSQ.js} +2 -2
- package/client-dist/{dashboard.module-TSNGGBCI.js → dashboard.module-AIDMW46S.js} +2 -2
- package/client-dist/{do.module-NMZD5VSM.js → do.module-X7OAX4DD.js} +2 -2
- package/client-dist/{document-library.module-GHDNXP3T.js → document-library.module-IOCM265I.js} +2 -2
- package/client-dist/{embedding-eval.module-XPXBOIP5.js → embedding-eval.module-KCJREZY3.js} +2 -2
- package/client-dist/{embedding-registry.module-45TQGZI2.js → embedding-registry.module-XQXYNVGG.js} +2 -2
- package/client-dist/err.module-VWGZT7Z4.js +6 -0
- package/client-dist/err.module-VWGZT7Z4.js.map +7 -0
- package/client-dist/{feedback.module-TLKZ4B4N.js → feedback.module-P4XLXCPD.js} +2 -2
- package/client-dist/{host-runtime-mcp.module-HVJZN5R5.js → host-runtime-mcp.module-JBSXKARK.js} +2 -2
- package/client-dist/index.html +2 -2
- package/client-dist/{live-dev-pipeline.module-5PE4ZFFW.js → live-dev-pipeline.module-B66G4DQO.js} +2 -2
- package/client-dist/{logs.module-335EXKCD.js → logs.module-F7SAEBD3.js} +2 -2
- package/client-dist/{main-FRD6VXVH.js → main-FD4U5Q57.js} +3 -3
- package/client-dist/{master-control-remote-poc.module-ORHRUCZH.js → master-control-remote-poc.module-M66UBNEO.js} +2 -2
- package/client-dist/{mobile-app.module-BYYNVKQR.js → mobile-app.module-Z22J4W6C.js} +2 -2
- package/client-dist/{model-registry.module-KIHIJ2Z6.js → model-registry.module-CWMA4CT5.js} +2 -2
- package/client-dist/{oc.module-DAGIRW3Z.js → oc.module-HIXCQOOF.js} +2 -2
- package/client-dist/orc.module-YEZN4Q7U.js +2 -0
- package/client-dist/orc.module-YEZN4Q7U.js.map +7 -0
- package/client-dist/{project-management.module-IJNPSUQZ.js → project-management.module-CB6D2EUD.js} +2 -2
- package/client-dist/project-source-routed.module-CYG342BA.js +2 -0
- package/client-dist/{scheduler.module-S3IKZCLL.js → scheduler.module-V5JCK6QF.js} +2 -2
- package/client-dist/{session.module-FZC22UUN.js → session.module-QZLOBMOL.js} +9 -9
- package/client-dist/{session.module-FZC22UUN.js.map → session.module-QZLOBMOL.js.map} +3 -3
- package/client-dist/{set.module-Y2RHKW7A.js → set.module-EVAQ6TXH.js} +2 -2
- package/client-dist/{setup.module-VTI5EZ3Q.js → setup.module-D2TCNKBN.js} +2 -2
- package/client-dist/styles-CTUT42AQ.css +2 -0
- package/client-dist/{styles-MX7ZZMTH.css.map → styles-CTUT42AQ.css.map} +1 -1
- package/client-dist/{terminals.module-KHEDY6QN.js → terminals.module-LABJDNT5.js} +2 -2
- package/client-dist/{voice-notes-poc.module-EMDLJJIT.js → voice-notes-poc.module-IST3HNZW.js} +2 -2
- package/client-dist/{wfs.module-LUTFNQG5.js → wfs.module-ETTOPBME.js} +2 -2
- package/package.json +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/agent-core/_modules/run/_services/control-services/run-flow.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/agent-core/_modules/run/_services/control-services/run-flow.control-service.js +8 -1
- package/server/build/src/_modules/ccap-agent/_modules/agent-core/_modules/run/_services/control-services/run-flow.control-service.js.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.d.ts +47 -0
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.d.ts.map +1 -0
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.js +100 -0
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.js.map +1 -0
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.spec.d.ts +2 -0
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.spec.d.ts.map +1 -0
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.spec.js +162 -0
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_collections/utils/voc-mp3-id3-strip.util.spec.js.map +1 -0
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_services/control-services/tts/voc-tts.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_services/control-services/tts/voc-tts.control-service.js +22 -4
- package/server/build/src/_modules/ccap-agent/_modules/integrations/_modules/voice/_services/control-services/tts/voc-tts.control-service.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.d.ts +40 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.js +174 -8
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.js.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.spec.d.ts +9 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.spec.d.ts.map +1 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.spec.js +213 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_collections/utils/cc-stream-parser.util.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 -0
- 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-adapter.interface.d.ts +10 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-adapter.interface.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/cc-manager.control-service.d.ts +22 -42
- 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 +75 -58
- 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/status/cc-status-transition.control-service.d.ts +13 -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 +39 -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/terminal/cc-adapter-terminal.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.js +9 -0
- package/server/build/src/_modules/external-sessions/_modules/claude-code/_services/core/terminal/cc-adapter-terminal.control-service.js.map +1 -1
- package/server/build/src/_modules/notification/_collections/utils/ntf-system-event.util.d.ts +10 -0
- package/server/build/src/_modules/notification/_collections/utils/ntf-system-event.util.d.ts.map +1 -1
- package/server/build/src/_modules/notification/_collections/utils/ntf-system-event.util.js +18 -0
- package/server/build/src/_modules/notification/_collections/utils/ntf-system-event.util.js.map +1 -1
- package/server/build/src/_modules/notification/_collections/utils/ntf-system-event.util.spec.js +32 -3
- package/server/build/src/_modules/notification/_collections/utils/ntf-system-event.util.spec.js.map +1 -1
- package/server/build/src/_modules/peer-instance/_services/pei-event-relay.control-service.spec.d.ts +15 -0
- package/server/build/src/_modules/peer-instance/_services/pei-event-relay.control-service.spec.d.ts.map +1 -0
- package/server/build/src/_modules/peer-instance/_services/pei-event-relay.control-service.spec.js +122 -0
- package/server/build/src/_modules/peer-instance/_services/pei-event-relay.control-service.spec.js.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/auto-update/sc-server-auto-update.util.d.ts.map +1 -1
- package/server/build/src/_modules/setup-config/_collections/utils/auto-update/sc-server-auto-update.util.js +19 -32
- package/server/build/src/_modules/setup-config/_collections/utils/auto-update/sc-server-auto-update.util.js.map +1 -1
- package/server/build/src/_modules/setup-config/_collections/utils/auto-update/sc-server-auto-update.util.spec.js +32 -79
- package/server/build/src/_modules/setup-config/_collections/utils/auto-update/sc-server-auto-update.util.spec.js.map +1 -1
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache-entry.interface.d.ts +14 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache-entry.interface.d.ts.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache-entry.interface.js +3 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache-entry.interface.js.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.d.ts +59 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.d.ts.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.js +166 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.js.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.spec.d.ts +6 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.spec.d.ts.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.spec.js +135 -0
- package/server/build/src/_modules/setup-config/_collections/utils/npm-latest-cache/sc-npm-latest-cache.util.spec.js.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update-result.interface.d.ts +18 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update-result.interface.d.ts.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update-result.interface.js +3 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update-result.interface.js.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.d.ts +37 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.d.ts.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.js +135 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.js.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.spec.d.ts +8 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.spec.d.ts.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.spec.js +109 -0
- package/server/build/src/_modules/setup-config/_collections/utils/spawn-ccap-update/sc-spawn-ccap-update.util.spec.js.map +1 -0
- package/server/build/src/_modules/setup-config/_collections/utils/update-error-buffer-replay/sc-update-error-buffer-replay.util.d.ts +6 -0
- package/server/build/src/_modules/setup-config/_collections/utils/update-error-buffer-replay/sc-update-error-buffer-replay.util.d.ts.map +1 -1
- package/server/build/src/_modules/setup-config/_collections/utils/update-error-buffer-replay/sc-update-error-buffer-replay.util.js +12 -0
- package/server/build/src/_modules/setup-config/_collections/utils/update-error-buffer-replay/sc-update-error-buffer-replay.util.js.map +1 -1
- package/server/build/src/_modules/setup-config/_services/control-services/sc-server-status.control-service.d.ts +13 -17
- package/server/build/src/_modules/setup-config/_services/control-services/sc-server-status.control-service.d.ts.map +1 -1
- package/server/build/src/_modules/setup-config/_services/control-services/sc-server-status.control-service.js +44 -50
- package/server/build/src/_modules/setup-config/_services/control-services/sc-server-status.control-service.js.map +1 -1
- package/server/build/src/app.server.d.ts.map +1 -1
- package/server/build/src/app.server.js +4 -9
- package/server/build/src/app.server.js.map +1 -1
- package/client-dist/chunk-3AG5X2MY.js +0 -2
- package/client-dist/chunk-3AG5X2MY.js.map +0 -7
- package/client-dist/chunk-CAMM4S7P.js.map +0 -1
- package/client-dist/chunk-CDNAFC73.js +0 -2
- package/client-dist/chunk-CDNAFC73.js.map +0 -7
- package/client-dist/err.module-GCKYDYCK.js +0 -6
- package/client-dist/err.module-GCKYDYCK.js.map +0 -7
- package/client-dist/orc.module-KZELL6XR.js +0 -2
- package/client-dist/orc.module-KZELL6XR.js.map +0 -7
- package/client-dist/project-source-routed.module-DP3RD454.js +0 -2
- package/client-dist/styles-MX7ZZMTH.css +0 -2
- /package/client-dist/{agent-instances.module-TPKOBI3N.js.map → agent-instances.module-W3REXD56.js.map} +0 -0
- /package/client-dist/{ca.module-I5N6QWSU.js.map → ca.module-TQ4WHOMF.js.map} +0 -0
- /package/client-dist/{cc-usage-dashboard.component-7SPVADUQ.js.map → cc-usage-dashboard.component-TGLYNCLF.js.map} +0 -0
- /package/client-dist/{cc.module-7IL3QO5Q.js.map → cc.module-YMTBVD35.js.map} +0 -0
- /package/client-dist/{chunk-XWYXBY7S.js.map → chunk-2EBLV6GJ.js.map} +0 -0
- /package/client-dist/{chunk-7VY64KMU.js.map → chunk-4GTK6NMH.js.map} +0 -0
- /package/client-dist/{chunk-44TWBJUK.js.map → chunk-5HNAJSRW.js.map} +0 -0
- /package/client-dist/{chunk-77YTUUCR.js.map → chunk-6AFPKEHZ.js.map} +0 -0
- /package/client-dist/{chunk-OKUYYDGV.js.map → chunk-6XSACJBG.js.map} +0 -0
- /package/client-dist/{chunk-UM7AS2IW.js.map → chunk-77JJATPE.js.map} +0 -0
- /package/client-dist/{chunk-RYD462IO.js.map → chunk-7GEAKPVD.js.map} +0 -0
- /package/client-dist/{chunk-4FK2D2PX.js.map → chunk-A3CDBCDP.js.map} +0 -0
- /package/client-dist/{chunk-3G2ZGV66.js.map → chunk-ACWNNQIT.js.map} +0 -0
- /package/client-dist/{chunk-J5INQQ5M.js.map → chunk-AGMHTMQA.js.map} +0 -0
- /package/client-dist/{chunk-U3Y5GO6O.js.map → chunk-BFYF3IU4.js.map} +0 -0
- /package/client-dist/{chunk-U64N3LCA.js.map → chunk-BNU5THES.js.map} +0 -0
- /package/client-dist/{chunk-4PBNHSRW.js.map → chunk-BQAILW64.js.map} +0 -0
- /package/client-dist/{chunk-TFB7ULAV.js.map → chunk-C6J25IMQ.js.map} +0 -0
- /package/client-dist/{chunk-PW5BAINL.js.map → chunk-CZLRKXDU.js.map} +0 -0
- /package/client-dist/{chunk-CU5YQ2M4.js.map → chunk-DEAFTFFH.js.map} +0 -0
- /package/client-dist/{chunk-PMJP2N4K.js.map → chunk-E6C6MLAE.js.map} +0 -0
- /package/client-dist/{chunk-6BYNIFJY.js.map → chunk-F455BZKF.js.map} +0 -0
- /package/client-dist/{chunk-4JL2Q6FO.js.map → chunk-GYSREL5Z.js.map} +0 -0
- /package/client-dist/{chunk-IHNAAEA2.js.map → chunk-HFDLUJ4U.js.map} +0 -0
- /package/client-dist/{chunk-XFXMWTQS.js.map → chunk-HS5KMAZC.js.map} +0 -0
- /package/client-dist/{chunk-C2BQQRVH.js.map → chunk-HZ3SDWNT.js.map} +0 -0
- /package/client-dist/{chunk-5RLDT3NY.js.map → chunk-I7XAQJ7K.js.map} +0 -0
- /package/client-dist/{chunk-SK3XGSYF.js.map → chunk-ITSH6RYG.js.map} +0 -0
- /package/client-dist/{chunk-BJ4I73WC.js.map → chunk-K3UWZKRD.js.map} +0 -0
- /package/client-dist/{chunk-25KTNALK.js.map → chunk-KDPOJH6B.js.map} +0 -0
- /package/client-dist/{chunk-OS5KCUZD.js.map → chunk-KKDWUDRS.js.map} +0 -0
- /package/client-dist/{chunk-LIGODF4I.js.map → chunk-LUV3FOSG.js.map} +0 -0
- /package/client-dist/{chunk-26YUXPZI.js.map → chunk-MY244SUO.js.map} +0 -0
- /package/client-dist/{chunk-QQ2GRU2N.js.map → chunk-O3CN5GI3.js.map} +0 -0
- /package/client-dist/{chunk-UVVGFHUG.js.map → chunk-O4EWDG7M.js.map} +0 -0
- /package/client-dist/{chunk-LMK3IOKN.js.map → chunk-P7TYGGJE.js.map} +0 -0
- /package/client-dist/{chunk-VOFDBT5T.js.map → chunk-PG4M4ZHN.js.map} +0 -0
- /package/client-dist/{chunk-EDMLVG72.js.map → chunk-PIQK6O5O.js.map} +0 -0
- /package/client-dist/{chunk-LCKABD2M.js.map → chunk-PQEIFO6Y.js.map} +0 -0
- /package/client-dist/{chunk-7CMPZXAO.js.map → chunk-QSN7KY5M.js.map} +0 -0
- /package/client-dist/{chunk-GG2WP2KM.js.map → chunk-QTOWXHVD.js.map} +0 -0
- /package/client-dist/{chunk-BH3GMEZZ.js.map → chunk-ROLHXND4.js.map} +0 -0
- /package/client-dist/{chunk-KX2KGHQZ.js.map → chunk-RZBXT5HF.js.map} +0 -0
- /package/client-dist/{chunk-657E66YR.js.map → chunk-SDRBFR4F.js.map} +0 -0
- /package/client-dist/{chunk-W7HIS2QA.js.map → chunk-T4OXQXNG.js.map} +0 -0
- /package/client-dist/{chunk-C4FOSX27.js.map → chunk-UFASD7B2.js.map} +0 -0
- /package/client-dist/{chunk-E6WOJOGT.js.map → chunk-UKRECFE4.js.map} +0 -0
- /package/client-dist/{chunk-VRG74DKK.js.map → chunk-VJ343CWZ.js.map} +0 -0
- /package/client-dist/{chunk-5YDHEFSD.js.map → chunk-VOEXOXIB.js.map} +0 -0
- /package/client-dist/{chunk-L42Z7YNK.js.map → chunk-VPHQR3SZ.js.map} +0 -0
- /package/client-dist/{chunk-DXF2FJLD.js.map → chunk-WDUO4IJE.js.map} +0 -0
- /package/client-dist/{chunk-OLLHHMTV.js.map → chunk-WW4VCBEU.js.map} +0 -0
- /package/client-dist/{chunk-L2XJGYW4.js.map → chunk-XLKBCO5O.js.map} +0 -0
- /package/client-dist/{chunk-UD4PV7CD.js.map → chunk-XZRD3UM5.js.map} +0 -0
- /package/client-dist/{chunk-4EOSKDXN.js.map → chunk-YWVKQVNA.js.map} +0 -0
- /package/client-dist/{chunk-OCNDLQG5.js.map → chunk-Z3OBNB3J.js.map} +0 -0
- /package/client-dist/{consultant.module-HHTHUWRL.js.map → consultant.module-2SDJBVP3.js.map} +0 -0
- /package/client-dist/{crd.module-ER6AHSX5.js.map → crd.module-IWMW2SSQ.js.map} +0 -0
- /package/client-dist/{dashboard.module-TSNGGBCI.js.map → dashboard.module-AIDMW46S.js.map} +0 -0
- /package/client-dist/{do.module-NMZD5VSM.js.map → do.module-X7OAX4DD.js.map} +0 -0
- /package/client-dist/{document-library.module-GHDNXP3T.js.map → document-library.module-IOCM265I.js.map} +0 -0
- /package/client-dist/{embedding-eval.module-XPXBOIP5.js.map → embedding-eval.module-KCJREZY3.js.map} +0 -0
- /package/client-dist/{embedding-registry.module-45TQGZI2.js.map → embedding-registry.module-XQXYNVGG.js.map} +0 -0
- /package/client-dist/{feedback.module-TLKZ4B4N.js.map → feedback.module-P4XLXCPD.js.map} +0 -0
- /package/client-dist/{host-runtime-mcp.module-HVJZN5R5.js.map → host-runtime-mcp.module-JBSXKARK.js.map} +0 -0
- /package/client-dist/{live-dev-pipeline.module-5PE4ZFFW.js.map → live-dev-pipeline.module-B66G4DQO.js.map} +0 -0
- /package/client-dist/{logs.module-335EXKCD.js.map → logs.module-F7SAEBD3.js.map} +0 -0
- /package/client-dist/{main-FRD6VXVH.js.map → main-FD4U5Q57.js.map} +0 -0
- /package/client-dist/{master-control-remote-poc.module-ORHRUCZH.js.map → master-control-remote-poc.module-M66UBNEO.js.map} +0 -0
- /package/client-dist/{mobile-app.module-BYYNVKQR.js.map → mobile-app.module-Z22J4W6C.js.map} +0 -0
- /package/client-dist/{model-registry.module-KIHIJ2Z6.js.map → model-registry.module-CWMA4CT5.js.map} +0 -0
- /package/client-dist/{oc.module-DAGIRW3Z.js.map → oc.module-HIXCQOOF.js.map} +0 -0
- /package/client-dist/{project-management.module-IJNPSUQZ.js.map → project-management.module-CB6D2EUD.js.map} +0 -0
- /package/client-dist/{project-source-routed.module-DP3RD454.js.map → project-source-routed.module-CYG342BA.js.map} +0 -0
- /package/client-dist/{scheduler.module-S3IKZCLL.js.map → scheduler.module-V5JCK6QF.js.map} +0 -0
- /package/client-dist/{set.module-Y2RHKW7A.js.map → set.module-EVAQ6TXH.js.map} +0 -0
- /package/client-dist/{setup.module-VTI5EZ3Q.js.map → setup.module-D2TCNKBN.js.map} +0 -0
- /package/client-dist/{terminals.module-KHEDY6QN.js.map → terminals.module-LABJDNT5.js.map} +0 -0
- /package/client-dist/{voice-notes-poc.module-EMDLJJIT.js.map → voice-notes-poc.module-IST3HNZW.js.map} +0 -0
- /package/client-dist/{wfs.module-LUTFNQG5.js.map → wfs.module-ETTOPBME.js.map} +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["src/app/_modules/orchestrator/_components/orc-detail/orc-detail.component.ts", "src/app/_modules/orchestrator/_components/orc-detail/orc-detail.component.html", "src/app/_modules/orchestrator/_services/orchestrator.data-service.ts", "src/app/_modules/orchestrator/_services/orc.api-service.ts", "src/app/_modules/orchestrator/_services/orc-realtime.control-service.ts", "src/app/_modules/orchestrator/_collections/utils/orc-graph-layout.util.ts", "src/app/_modules/orchestrator/_services/orc-graph.data-service.ts", "src/app/_modules/orchestrator/_components/orc-chat-panel/orc-chat-panel.component.ts", "src/app/_modules/orchestrator/_components/orc-chat-panel/orc-chat-panel.component.html", "src/app/_modules/orchestrator/_collections/utils/orc-message-bubble-mapper.util.ts", "src/app/_modules/orchestrator/_components/orc-graph-modal/orc-graph-modal.component.ts", "src/app/_modules/orchestrator/_components/orc-graph-modal/orc-graph-modal.component.html", "src/app/_modules/orchestrator/_components/orc-mode-switcher/orc-mode-switcher.component.ts", "src/app/_modules/orchestrator/_components/orc-mode-switcher/orc-mode-switcher.component.html", "src/app/_modules/orchestrator/_components/orc-task-queue-panel/orc-task-queue-panel.component.ts", "src/app/_modules/orchestrator/_components/orc-task-queue-panel/orc-task-queue-panel.component.html", "src/app/_modules/orchestrator/_components/orc-workflow-library-panel/orc-workflow-library-panel.component.ts", "src/app/_modules/orchestrator/_components/orc-workflow-library-panel/orc-workflow-library-panel.component.html", "src/app/_modules/orchestrator/_components/orc-list/orc-list.component.ts", "src/app/_modules/orchestrator/_components/orc-list/orc-list.component.html", "src/app/_modules/orchestrator/orc.module.ts"],
|
|
4
|
-
"sourcesContent": ["import { CommonModule } from '@angular/common';\nimport { Component, OnDestroy, OnInit, Signal, inject } from '@angular/core';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\n\nimport { DyFM_Log } from '@futdevpro/fsm-dynamo';\n\nimport { S_SessionDetailThreeColumnLayout_Component } from '../../../shared/_components/session-ui/s-session-detail-three-column-layout/s-session-detail-three-column-layout.component';\nimport { ORC_Session_Response, ORC_Task_Response } from '../../_services/orc-api-response.interface';\nimport { ORC_Realtime_ControlService } from '../../_services/orc-realtime.control-service';\nimport { Orchestrator_DataService } from '../../_services/orchestrator.data-service';\nimport { ORC_Graph_DataService } from '../../_services/orc-graph.data-service';\nimport { ORC_ChatPanel_Component } from '../orc-chat-panel/orc-chat-panel.component';\nimport { ORC_GraphModal_Component } from '../orc-graph-modal/orc-graph-modal.component';\nimport { ORC_ModeSwitcher_Component } from '../orc-mode-switcher/orc-mode-switcher.component';\nimport { ORC_TaskQueuePanel_Component } from '../orc-task-queue-panel/orc-task-queue-panel.component';\nimport { ORC_WorkflowLibraryPanel_Component } from '../orc-workflow-library-panel/orc-workflow-library-panel.component';\n\n/**\n * Orchestrator detail komponens — `/orchestrator/:id` route landing page.\n *\n * Session-like layout: chat a közepén (primary), task queue / workflow / info\n * a jobb oldali collapsible sidebar-ban. Mode toggle (Active Loop | Chat Mode)\n * a header-ben.\n *\n * Spec: REQ-ORC-017-B.\n */\n@Component({\n selector: 'app-orc-detail',\n standalone: true,\n imports: [\n CommonModule,\n RouterModule,\n S_SessionDetailThreeColumnLayout_Component,\n ORC_ChatPanel_Component,\n ORC_GraphModal_Component,\n ORC_ModeSwitcher_Component,\n ORC_TaskQueuePanel_Component,\n ORC_WorkflowLibraryPanel_Component,\n ],\n templateUrl: './orc-detail.component.html',\n host: { class: 'flex flex-1 min-h-0 overflow-hidden' },\n})\n/** Orchestrator detail oldal — session-like layout. */\nexport class ORC_Detail_Component implements OnInit, OnDestroy {\n\n private readonly route: ActivatedRoute = inject(ActivatedRoute);\n private readonly orchestrator_DS: Orchestrator_DataService = inject(Orchestrator_DataService);\n private readonly realtime_CS: ORC_Realtime_ControlService = inject(ORC_Realtime_ControlService);\n private readonly graph_DS: ORC_Graph_DataService = inject(ORC_Graph_DataService);\n\n readonly current_$: Signal<ORC_Session_Response | null> = this.orchestrator_DS.currentOrchestrator_$;\n readonly tasks_$: Signal<ORC_Task_Response[]> = this.orchestrator_DS.currentTasks_$;\n\n orchestratorId: string | null = null;\n\n /** Sidebar állapot. */\n isSidebarOpen: boolean = true;\n sidebarWidthPx: number = 320;\n isResizing: boolean = false;\n sidebarTab: 'tasks' | 'workflows' | 'info' = 'tasks';\n\n /** Resize tracking. */\n private resizeStartX: number = 0;\n private resizeStartWidth: number = 0;\n private readonly onResizeMove = (ev: PointerEvent): void => this.handleSidebarResizeMove(ev);\n private readonly onResizeEnd = (): void => this.handleSidebarResizeEnd();\n\n ngOnInit(): void {\n this.orchestratorId = this.route.snapshot.paramMap.get('id');\n if (this.orchestratorId) {\n void this.orchestrator_DS.refreshCurrent(this.orchestratorId);\n void this.orchestrator_DS.refreshCurrentTasks(this.orchestratorId);\n void this.orchestrator_DS.refreshCurrentMessages(this.orchestratorId);\n this.realtime_CS.subscribeDetail(this.orchestratorId);\n }\n }\n\n ngOnDestroy(): void {\n this.realtime_CS.unsubscribeDetail();\n this.orchestrator_DS.clearCurrent();\n document.removeEventListener('pointermove', this.onResizeMove);\n document.removeEventListener('pointerup', this.onResizeEnd);\n }\n\n // -- Lifecycle handlers --\n\n async handleStart(): Promise<void> {\n if (!this.orchestratorId) return;\n try {\n await this.orchestrator_DS.startOrchestrator(this.orchestratorId);\n } catch (error: unknown) {\n DyFM_Log.error('ORC_Detail | start failed', error);\n }\n }\n\n async handlePause(): Promise<void> {\n if (!this.orchestratorId) return;\n try {\n await this.orchestrator_DS.pauseOrchestrator(this.orchestratorId);\n } catch (error: unknown) {\n DyFM_Log.error('ORC_Detail | pause failed', error);\n }\n }\n\n async handleResume(): Promise<void> {\n if (!this.orchestratorId) return;\n try {\n await this.orchestrator_DS.resumeOrchestrator(this.orchestratorId);\n } catch (error: unknown) {\n DyFM_Log.error('ORC_Detail | resume failed', error);\n }\n }\n\n async handleStop(): Promise<void> {\n if (!this.orchestratorId) return;\n try {\n await this.orchestrator_DS.stopOrchestrator(this.orchestratorId);\n } catch (error: unknown) {\n DyFM_Log.error('ORC_Detail | stop failed', error);\n }\n }\n\n async handleConfirmBootstrap(): Promise<void> {\n if (!this.orchestratorId) return;\n try {\n await this.orchestrator_DS.confirmBootstrap(this.orchestratorId);\n } catch (error: unknown) {\n DyFM_Log.error('ORC_Detail | confirmBootstrap failed', error);\n }\n }\n\n /** Mode switch (Active Loop ↔ Chat Mode). */\n async handleModeSwitch(mode: string): Promise<void> {\n if (!this.orchestratorId) return;\n try {\n await this.orchestrator_DS.switchMode(this.orchestratorId, mode);\n } catch (error: unknown) {\n DyFM_Log.error('ORC_Detail | switchMode failed', error);\n }\n }\n\n /** Graph modal megnyitása. */\n handleOpenGraph(): void {\n if (!this.orchestratorId) return;\n this.graph_DS.openGraph(this.orchestratorId);\n }\n\n /** Sidebar toggle. */\n handleToggleSidebar(): void {\n this.isSidebarOpen = !this.isSidebarOpen;\n }\n\n // -- Sidebar resize --\n\n handleSidebarResizeStart(event: PointerEvent): void {\n this.isResizing = true;\n this.resizeStartX = event.clientX;\n this.resizeStartWidth = this.sidebarWidthPx;\n document.addEventListener('pointermove', this.onResizeMove);\n document.addEventListener('pointerup', this.onResizeEnd);\n }\n\n private handleSidebarResizeMove(event: PointerEvent): void {\n const delta: number = this.resizeStartX - event.clientX;\n this.sidebarWidthPx = Math.max(200, Math.min(600, this.resizeStartWidth + delta));\n }\n\n private handleSidebarResizeEnd(): void {\n this.isResizing = false;\n document.removeEventListener('pointermove', this.onResizeMove);\n document.removeEventListener('pointerup', this.onResizeEnd);\n }\n}\n", "@if (current_$(); as orc) {\n <app-s-session-detail-three-column-layout\n [isStartOpen]=\"false\"\n [isEndOpen]=\"isSidebarOpen\"\n [endWidthPx]=\"sidebarWidthPx\"\n [isResizing]=\"isResizing\"\n (endResizeStart)=\"handleSidebarResizeStart($event)\">\n\n <div sDetailColumnMain class=\"flex flex-col flex-1 min-h-0 overflow-hidden\">\n\n <div class=\"flex items-center gap-3 px-4 py-3 border-b border-slate-800 bg-slate-900 shrink-0\">\n <a routerLink=\"/orchestrator\" class=\"text-cyan-400 hover:text-cyan-300 text-sm\">←</a>\n <div class=\"min-w-0\">\n <h1 class=\"text-lg font-bold text-cyan-300 truncate\">{{ orc.name }}</h1>\n <p class=\"text-xs text-slate-500 font-mono truncate\">{{ orc._id }}</p>\n </div>\n\n <span\n class=\"px-2 py-0.5 rounded text-xs font-bold shrink-0\"\n [class.bg-green-900]=\"orc.status === 'active'\"\n [class.text-green-300]=\"orc.status === 'active'\"\n [class.bg-yellow-900]=\"orc.status === 'paused'\"\n [class.text-yellow-300]=\"orc.status === 'paused'\"\n [class.bg-cyan-900]=\"orc.status === 'waiting-for-user' || orc.status === 'bootstrap'\"\n [class.text-cyan-300]=\"orc.status === 'waiting-for-user' || orc.status === 'bootstrap'\"\n [class.bg-red-900]=\"orc.status === 'failed'\"\n [class.text-red-300]=\"orc.status === 'failed'\"\n [class.bg-slate-700]=\"orc.status === 'stopped' || orc.status === 'initializing'\"\n [class.text-slate-300]=\"orc.status === 'stopped' || orc.status === 'initializing'\">\n {{ orc.status }}\n </span>\n\n <app-orc-mode-switcher\n [mode_$]=\"orc.operationMode\"\n (modeChanged)=\"handleModeSwitch($event)\" />\n\n <span class=\"flex-1\"></span>\n\n <div class=\"flex gap-1 shrink-0\">\n @if (orc.status === 'initializing' || orc.status === 'paused' || orc.status === 'stopped') {\n <button class=\"px-3 py-1 bg-green-700 hover:bg-green-600 text-white rounded text-xs\" (click)=\"handleStart()\">Start</button>\n }\n @if (orc.status === 'active') {\n <button class=\"px-3 py-1 bg-yellow-700 hover:bg-yellow-600 text-white rounded text-xs\" (click)=\"handlePause()\">Pause</button>\n }\n @if (orc.status === 'paused') {\n <button class=\"px-3 py-1 bg-green-700 hover:bg-green-600 text-white rounded text-xs\" (click)=\"handleResume()\">Resume</button>\n }\n @if (orc.status !== 'stopped') {\n <button class=\"px-3 py-1 bg-red-800 hover:bg-red-700 text-white rounded text-xs\" (click)=\"handleStop()\">Stop</button>\n }\n </div>\n\n <button\n class=\"px-2 py-1 border border-cyan-700 text-cyan-400 hover:bg-cyan-900/30 rounded text-xs transition-colors shrink-0\"\n (click)=\"handleOpenGraph()\" title=\"Flow Graph\">\n Graph\n </button>\n <button\n class=\"px-2 py-1 border border-slate-600 text-slate-400 hover:bg-slate-700/50 rounded text-xs transition-colors shrink-0\"\n (click)=\"handleToggleSidebar()\" title=\"Task queue sidebar\">\n {{ isSidebarOpen ? '▶' : '◀' }}\n </button>\n </div>\n\n @if (orc.status === 'waiting-for-user') {\n <div class=\"bg-cyan-950 border-b border-cyan-500 px-4 py-3 flex items-center justify-between animate-pulse shrink-0\">\n <div>\n <h3 class=\"text-cyan-300 font-semibold text-sm\">Bootstrap — user jóváhagy��s szükséges</h3>\n <p class=\"text-xs text-cyan-200 mt-1\">Nézd át a task-listát, és kattints az Elfogadom gombra.</p>\n </div>\n <button\n class=\"px-4 py-2 bg-cyan-600 hover:bg-cyan-500 text-white font-bold rounded transition whitespace-nowrap text-sm\"\n (click)=\"handleConfirmBootstrap()\">\n Elfogadom\n </button>\n </div>\n }\n\n <app-orc-chat-panel class=\"flex-1 min-h-0\" [orchestratorId]=\"orchestratorId ?? ''\" />\n </div>\n\n <div sDetailColumnEnd class=\"flex flex-col min-h-0 overflow-hidden\">\n <div class=\"flex border-b border-slate-800 shrink-0\">\n <button\n class=\"flex-1 px-3 py-2 text-xs font-semibold transition-colors\"\n [class.text-cyan-300]=\"sidebarTab === 'tasks'\"\n [class.border-b-2]=\"sidebarTab === 'tasks'\"\n [class.border-cyan-400]=\"sidebarTab === 'tasks'\"\n [class.text-slate-500]=\"sidebarTab !== 'tasks'\"\n (click)=\"sidebarTab = 'tasks'\">\n Tasks ({{ tasks_$().length }})\n </button>\n <button\n class=\"flex-1 px-3 py-2 text-xs font-semibold transition-colors\"\n [class.text-cyan-300]=\"sidebarTab === 'workflows'\"\n [class.border-b-2]=\"sidebarTab === 'workflows'\"\n [class.border-cyan-400]=\"sidebarTab === 'workflows'\"\n [class.text-slate-500]=\"sidebarTab !== 'workflows'\"\n (click)=\"sidebarTab = 'workflows'\">\n Workflows\n </button>\n <button\n class=\"flex-1 px-3 py-2 text-xs font-semibold transition-colors\"\n [class.text-cyan-300]=\"sidebarTab === 'info'\"\n [class.border-b-2]=\"sidebarTab === 'info'\"\n [class.border-cyan-400]=\"sidebarTab === 'info'\"\n [class.text-slate-500]=\"sidebarTab !== 'info'\"\n (click)=\"sidebarTab = 'info'\">\n Info\n </button>\n </div>\n\n <div class=\"flex-1 overflow-y-auto min-h-0\">\n @if (sidebarTab === 'tasks') {\n <app-orc-task-queue-panel [tasks_$]=\"tasks_$\" />\n }\n @if (sidebarTab === 'workflows') {\n <app-orc-workflow-library-panel [orchestratorId]=\"orchestratorId ?? ''\" />\n }\n @if (sidebarTab === 'info') {\n <div class=\"p-3 space-y-2 text-sm\">\n <div>\n <span class=\"text-xs text-slate-500 block\">Scope</span>\n <span class=\"text-slate-200\">{{ orc.scope }}</span>\n </div>\n <div>\n <span class=\"text-xs text-slate-500 block\">Projekt</span>\n <span class=\"text-slate-200 font-mono text-xs\">{{ orc.projectId || '—' }}</span>\n </div>\n <div>\n <span class=\"text-xs text-slate-500 block\">LLM</span>\n <span class=\"text-slate-200\">{{ orc.providerName }} / {{ orc.model }}</span>\n </div>\n <div>\n <span class=\"text-xs text-slate-500 block\">Iteráció</span>\n <span class=\"text-slate-200 font-mono\">{{ orc.iterationCount }}</span>\n </div>\n <div>\n <span class=\"text-xs text-slate-500 block\">Max parallel</span>\n <span class=\"text-slate-200 font-mono\">{{ orc.maxParallelism }}</span>\n </div>\n <div>\n <span class=\"text-xs text-slate-500 block\">Poll (s)</span>\n <span class=\"text-slate-200 font-mono\">{{ orc.pollIntervalSeconds }}</span>\n </div>\n <div>\n <span class=\"text-xs text-slate-500 block\">Mode</span>\n <span class=\"text-slate-200\">{{ orc.operationMode }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n\n </app-s-session-detail-three-column-layout>\n} @else {\n <div class=\"flex items-center justify-center h-full text-slate-500\">\n Töltődik az orchestrator…\n </div>\n}\n\n<app-orc-graph-modal></app-orc-graph-modal>\n", "import { Injectable, computed, inject, signal, Signal, WritableSignal } from '@angular/core';\n\nimport { DyFM_Log } from '@futdevpro/fsm-dynamo';\n\nimport { ORC_ApiService } from './orc.api-service';\nimport {\n ORC_ConversationMessage_Response,\n ORC_Session_Response,\n ORC_Task_Response,\n ORC_UserQuestion_Response,\n} from './orc-api-response.interface';\n\n/**\n * Orchestrator data-service (kliens SSOT) — signals-alapú state-kezelés.\n * Spec: REQ-ORC-013.\n *\n * A komponensek ezen a service-en keresztül érik el a listát / detail-t / task-okat,\n * socket event érkezésekor a realtime-service hívja a `refresh*` metódusokat.\n */\n@Injectable({ providedIn: 'root' })\nexport class Orchestrator_DataService {\n\n private readonly orc_AS: ORC_ApiService = inject(ORC_ApiService);\n\n private readonly orchestratorListRaw_$: WritableSignal<ORC_Session_Response[]> = signal([]);\n private readonly currentOrchestratorRaw_$: WritableSignal<ORC_Session_Response | null> = signal(null);\n private readonly currentTasksRaw_$: WritableSignal<ORC_Task_Response[]> = signal([]);\n private readonly currentMessagesRaw_$: WritableSignal<ORC_ConversationMessage_Response[]> = signal([]);\n private readonly isResponseGeneratingRaw_$: WritableSignal<boolean> = signal(false);\n\n /** Olvasható signal — Orchestrator lista. */\n readonly orchestratorList_$: Signal<ORC_Session_Response[]> = this.orchestratorListRaw_$.asReadonly();\n\n /** Olvasható signal — épp megnyitott orchestrator. */\n readonly currentOrchestrator_$: Signal<ORC_Session_Response | null> = this.currentOrchestratorRaw_$.asReadonly();\n\n /** Olvasható signal — épp megnyitott orchestrator task-jai. */\n readonly currentTasks_$: Signal<ORC_Task_Response[]> = this.currentTasksRaw_$.asReadonly();\n\n /** Olvasható signal — épp megnyitott orchestrator chat üzenetei. */\n readonly currentMessages_$: Signal<ORC_ConversationMessage_Response[]> = this.currentMessagesRaw_$.asReadonly();\n\n /** Olvasható signal — passive mód typing indicator (orchestrator válaszol). */\n readonly isResponseGenerating_$: Signal<boolean> = this.isResponseGeneratingRaw_$.asReadonly();\n\n /** Computed — aktív orchestrator-ok száma. */\n readonly activeCount_$: Signal<number> = computed((): number =>\n this.orchestratorList_$().filter(\n (o: ORC_Session_Response): boolean =>\n o.status === 'active' || o.status === 'bootstrap' || o.status === 'waiting-for-user',\n ).length,\n );\n\n /** Lista lekérdezés + state frissítés. */\n async refreshList(): Promise<void> {\n try {\n const response: { orchestrators: ORC_Session_Response[] } =\n await this.orc_AS.listOrchestrators();\n this.orchestratorListRaw_$.set(response.orchestrators);\n } catch (error: unknown) {\n DyFM_Log.error('Orchestrator_DataService | refreshList failed', error);\n }\n }\n\n /** Egy orchestrator lekérdezés + state frissítés (detail page). */\n async refreshCurrent(id: string): Promise<void> {\n try {\n const response: { orchestrator: ORC_Session_Response | null } =\n await this.orc_AS.getOrchestrator(id);\n this.currentOrchestratorRaw_$.set(response.orchestrator);\n } catch (error: unknown) {\n DyFM_Log.error('Orchestrator_DataService | refreshCurrent failed', error);\n }\n }\n\n /** Current orchestrator task-ok frissítése. */\n async refreshCurrentTasks(id: string): Promise<void> {\n try {\n const response: { tasks: ORC_Task_Response[] } = await this.orc_AS.listTasks(id);\n this.currentTasksRaw_$.set(response.tasks);\n } catch (error: unknown) {\n DyFM_Log.error('Orchestrator_DataService | refreshCurrentTasks failed', error);\n }\n }\n\n /** Új orchestrator létrehozás + list refresh. */\n async createOrchestrator(params: {\n name: string;\n scope: string;\n projectId?: string;\n projectIds?: string[];\n specialization?: string;\n providerName?: string;\n model?: string;\n }): Promise<ORC_Session_Response> {\n const response: { orchestrator: ORC_Session_Response } =\n await this.orc_AS.createOrchestrator(params);\n await this.refreshList();\n return response.orchestrator;\n }\n\n /** Lifecycle wrapperek — mindegyik után lista-frissítés. */\n async startOrchestrator(id: string): Promise<void> {\n await this.orc_AS.startOrchestrator(id);\n await Promise.all([this.refreshList(), this.refreshCurrent(id)]);\n }\n\n async pauseOrchestrator(id: string): Promise<void> {\n await this.orc_AS.pauseOrchestrator(id);\n await Promise.all([this.refreshList(), this.refreshCurrent(id)]);\n }\n\n async resumeOrchestrator(id: string): Promise<void> {\n await this.orc_AS.resumeOrchestrator(id);\n await Promise.all([this.refreshList(), this.refreshCurrent(id)]);\n }\n\n async stopOrchestrator(id: string): Promise<void> {\n await this.orc_AS.stopOrchestrator(id);\n await Promise.all([this.refreshList(), this.refreshCurrent(id)]);\n }\n\n async confirmBootstrap(id: string): Promise<void> {\n await this.orc_AS.confirmBootstrap(id);\n await Promise.all([this.refreshList(), this.refreshCurrent(id)]);\n }\n\n /** Operation mode váltás. */\n async switchMode(id: string, mode: string): Promise<void> {\n await this.orc_AS.switchMode(id, mode);\n await this.refreshCurrent(id);\n }\n\n /** Current orchestrator chat üzenetek frissítése. */\n async refreshCurrentMessages(id: string): Promise<void> {\n try {\n const response: { messages: ORC_ConversationMessage_Response[] } =\n await this.orc_AS.listMessages(id, 100);\n this.currentMessagesRaw_$.set(response.messages);\n } catch (error: unknown) {\n DyFM_Log.error('Orchestrator_DataService | refreshCurrentMessages failed', error);\n }\n }\n\n /** Typing indicator vezérlés (realtime service-ből hívva). */\n setResponseGenerating(value: boolean): void {\n this.isResponseGeneratingRaw_$.set(value);\n }\n\n /** Clear current detail (pl. oldal-elhagyásnál). */\n clearCurrent(): void {\n this.currentOrchestratorRaw_$.set(null);\n this.currentTasksRaw_$.set([]);\n this.currentMessagesRaw_$.set([]);\n this.isResponseGeneratingRaw_$.set(false);\n }\n\n /** Workflow-lista delegálás (panel-komponens az API-t nem éri el közvetlenül). */\n async listWorkflows(id: string): Promise<Array<{ id: string; name: string; summary: string }>> {\n try {\n const response = await this.orc_AS.listWorkflows(id);\n return response.workflows;\n } catch (error: unknown) {\n DyFM_Log.error('Orchestrator_DataService | listWorkflows failed', error);\n return [];\n }\n }\n\n /** Workflow teljes szöveg delegálás. */\n async getWorkflowById(id: string, wfId: string): Promise<{ id: string; filename: string; rawText: string; summary: string } | null> {\n try {\n const response = await this.orc_AS.getWorkflowById(id, wfId);\n return response.workflow;\n } catch (error: unknown) {\n DyFM_Log.error('Orchestrator_DataService | getWorkflowById failed', error);\n return null;\n }\n }\n\n /** Chat: üzenet-lista. */\n async listMessages(id: string, limit?: number): Promise<ORC_ConversationMessage_Response[]> {\n try {\n const response = await this.orc_AS.listMessages(id, limit);\n return response.messages;\n } catch (error: unknown) {\n DyFM_Log.error('Orchestrator_DataService | listMessages failed', error);\n return [];\n }\n }\n\n /** Chat: user üzenet küldés. */\n async postUserMessage(id: string, rawContent: string): Promise<ORC_ConversationMessage_Response | null> {\n try {\n const response = await this.orc_AS.postUserMessage(id, rawContent);\n return response.message;\n } catch (error: unknown) {\n DyFM_Log.error('Orchestrator_DataService | postUserMessage failed', error);\n return null;\n }\n }\n\n /** Kérdés-lista (open-only). */\n async listQuestions(id: string, openOnly: boolean): Promise<ORC_UserQuestion_Response[]> {\n try {\n const response = await this.orc_AS.listQuestions(id, openOnly);\n return response.questions;\n } catch (error: unknown) {\n DyFM_Log.error('Orchestrator_DataService | listQuestions failed', error);\n return [];\n }\n }\n\n /** Válasz kérdésre. */\n async submitQuestionAnswer(id: string, questionId: string, answer: string): Promise<ORC_UserQuestion_Response | null> {\n try {\n const response = await this.orc_AS.submitQuestionAnswer(id, questionId, answer);\n return response.question;\n } catch (error: unknown) {\n DyFM_Log.error('Orchestrator_DataService | submitQuestionAnswer failed', error);\n return null;\n }\n }\n\n /** Globális summary (dashboard widget — direkt API-hívás helyett data-service-en át). */\n async getGlobalSummary(): Promise<{ totalCount: number; byStatus: Record<string, number>; byScope: Record<string, number>; lastActivityAt: string | null } | null> {\n try {\n const response = await this.orc_AS.getGlobalSummary();\n return response.summary;\n } catch (error: unknown) {\n DyFM_Log.error('Orchestrator_DataService | getGlobalSummary failed', error);\n return null;\n }\n }\n}\n", "import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\n\nimport { firstValueFrom } from 'rxjs';\n\nimport { environment } from '../../../../environments/environment';\nimport {\n ORC_ConversationMessage_Response,\n ORC_Session_Response,\n ORC_Task_Response,\n ORC_UserQuestion_Response,\n} from './orc-api-response.interface';\n\n/**\n * Orchestrator API service — szerver REST végpontok HTTP kliense.\n * Spec: REQ-ORC-016-A.\n */\n@Injectable({ providedIn: 'root' })\nexport class ORC_ApiService {\n\n private readonly http: HttpClient = inject(HttpClient);\n private readonly baseUrl: string = `${environment.api.baseUrl}/orchestrator`;\n\n /** Új orchestrator létrehozás. */\n createOrchestrator(params: {\n name: string;\n scope: string;\n projectId?: string;\n projectIds?: string[];\n specialization?: string;\n providerName?: string;\n model?: string;\n maxParallelism?: number;\n pollIntervalSeconds?: number;\n }): Promise<{ orchestrator: ORC_Session_Response }> {\n return firstValueFrom(\n this.http.post<{ orchestrator: ORC_Session_Response }>(this.baseUrl, params),\n );\n }\n\n /** Orchestrator lista (filter: projectId, scope, status). */\n listOrchestrators(params: {\n projectId?: string;\n scope?: string;\n status?: string;\n } = {}): Promise<{ orchestrators: ORC_Session_Response[] }> {\n const queryParts: string[] = [];\n if (params.projectId) queryParts.push(`projectId=${encodeURIComponent(params.projectId)}`);\n if (params.scope) queryParts.push(`scope=${encodeURIComponent(params.scope)}`);\n if (params.status) queryParts.push(`status=${encodeURIComponent(params.status)}`);\n const query: string = queryParts.length ? `?${queryParts.join('&')}` : '';\n return firstValueFrom(\n this.http.get<{ orchestrators: ORC_Session_Response[] }>(`${this.baseUrl}${query}`),\n );\n }\n\n /** Egy orchestrator részletei. */\n getOrchestrator(id: string): Promise<{ orchestrator: ORC_Session_Response | null }> {\n return firstValueFrom(\n this.http.get<{ orchestrator: ORC_Session_Response | null }>(`${this.baseUrl}/${id}`),\n );\n }\n\n /** Indítás. */\n startOrchestrator(id: string): Promise<{ orchestrator: ORC_Session_Response }> {\n return firstValueFrom(\n this.http.post<{ orchestrator: ORC_Session_Response }>(`${this.baseUrl}/${id}/start`, {}),\n );\n }\n\n /** Szünet. */\n pauseOrchestrator(id: string): Promise<{ success: boolean }> {\n return firstValueFrom(\n this.http.post<{ success: boolean }>(`${this.baseUrl}/${id}/pause`, {}),\n );\n }\n\n /** Folytatás. */\n resumeOrchestrator(id: string): Promise<{ success: boolean }> {\n return firstValueFrom(\n this.http.post<{ success: boolean }>(`${this.baseUrl}/${id}/resume`, {}),\n );\n }\n\n /** Leállítás. */\n stopOrchestrator(id: string): Promise<{ success: boolean }> {\n return firstValueFrom(\n this.http.post<{ success: boolean }>(`${this.baseUrl}/${id}/stop`, {}),\n );\n }\n\n /** Task lista. */\n listTasks(id: string, status?: string): Promise<{ tasks: ORC_Task_Response[] }> {\n const query: string = status ? `?status=${encodeURIComponent(status)}` : '';\n return firstValueFrom(\n this.http.get<{ tasks: ORC_Task_Response[] }>(`${this.baseUrl}/${id}/tasks${query}`),\n );\n }\n\n /** Chat üzenet lista. */\n listMessages(id: string, limit?: number): Promise<{ messages: ORC_ConversationMessage_Response[] }> {\n const query: string = limit ? `?limit=${limit}` : '';\n return firstValueFrom(\n this.http.get<{ messages: ORC_ConversationMessage_Response[] }>(`${this.baseUrl}/${id}/messages${query}`),\n );\n }\n\n /** User üzenet küldés. */\n postUserMessage(id: string, rawContent: string): Promise<{ message: ORC_ConversationMessage_Response }> {\n return firstValueFrom(\n this.http.post<{ message: ORC_ConversationMessage_Response }>(\n `${this.baseUrl}/${id}/messages`,\n { rawContent: rawContent },\n ),\n );\n }\n\n /** Open questions. */\n listQuestions(id: string, openOnly: boolean = false): Promise<{ questions: ORC_UserQuestion_Response[] }> {\n const query: string = openOnly ? '?openOnly=true' : '';\n return firstValueFrom(\n this.http.get<{ questions: ORC_UserQuestion_Response[] }>(`${this.baseUrl}/${id}/questions${query}`),\n );\n }\n\n /** Bootstrap-eredmény user elfogadás. */\n confirmBootstrap(id: string): Promise<{ success: boolean }> {\n return firstValueFrom(\n this.http.post<{ success: boolean }>(`${this.baseUrl}/${id}/bootstrap/confirm`, {}),\n );\n }\n\n /** Válasz kérdésre. */\n submitQuestionAnswer(id: string, questionId: string, answer: string): Promise<{ question: ORC_UserQuestion_Response | null }> {\n return firstValueFrom(\n this.http.post<{ question: ORC_UserQuestion_Response | null }>(\n `${this.baseUrl}/${id}/questions/${questionId}/answer`,\n { answer: answer },\n ),\n );\n }\n\n /** Operation mode váltás (active ↔ passive). */\n switchMode(id: string, mode: string): Promise<{ success: boolean }> {\n return firstValueFrom(\n this.http.post<{ success: boolean }>(`${this.baseUrl}/${id}/mode`, { mode: mode }),\n );\n }\n\n /** Globális dashboard summary. */\n getGlobalSummary(): Promise<{ summary: { totalCount: number; byStatus: Record<string, number>; byScope: Record<string, number>; lastActivityAt: string | null } }> {\n return firstValueFrom(\n this.http.get<{ summary: { totalCount: number; byStatus: Record<string, number>; byScope: Record<string, number>; lastActivityAt: string | null } }>(\n `${this.baseUrl}/summary`,\n ),\n );\n }\n\n /** Workflow lista. */\n listWorkflows(id: string): Promise<{ workflows: Array<{ id: string; name: string; summary: string }> }> {\n return firstValueFrom(\n this.http.get<{ workflows: Array<{ id: string; name: string; summary: string }> }>(\n `${this.baseUrl}/${id}/workflows`,\n ),\n );\n }\n\n /** Workflow teljes szöveg. */\n getWorkflowById(id: string, wfId: string): Promise<{ workflow: { id: string; filename: string; rawText: string; summary: string } | null }> {\n return firstValueFrom(\n this.http.get<{ workflow: { id: string; filename: string; rawText: string; summary: string } | null }>(\n `${this.baseUrl}/${id}/workflows/${wfId}`,\n ),\n );\n }\n\n /** Batch lista. */\n listBatches(id: string): Promise<{ batches: unknown[] }> {\n return firstValueFrom(\n this.http.get<{ batches: unknown[] }>(`${this.baseUrl}/${id}/batches`),\n );\n }\n\n /** Decision audit log. */\n listDecisions(id: string, limit?: number): Promise<{ decisions: unknown[] }> {\n const query: string = limit ? `?limit=${limit}` : '';\n return firstValueFrom(\n this.http.get<{ decisions: unknown[] }>(`${this.baseUrl}/${id}/decisions${query}`),\n );\n }\n}\n", "import { Injectable, OnDestroy, inject } from '@angular/core';\n\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { CCAP_SocketEventEnvelope_Interface } from '../../../_services/control-services/socket.control-service.interface';\nimport { CCAP_Socket_ControlService } from '../../../_services/control-services/ccap-socket.control-service';\nimport { Orchestrator_DataService } from './orchestrator.data-service';\n\nconst GLOBAL_EVENTS: Set<string> = new Set([\n 'orc:created',\n 'orc:statusChanged',\n 'orc:started',\n 'orc:paused',\n 'orc:resumed',\n 'orc:stopped',\n 'orc:waitingForUser',\n]);\n\nconst DETAIL_EVENTS: Set<string> = new Set([\n 'orc:statusChanged',\n 'orc:modeChanged',\n 'orc:iterationStarted',\n 'orc:iterationCompleted',\n 'orc:decisionAdded',\n 'orc:taskCreated',\n 'orc:taskStatusChanged',\n 'orc:taskCompleted',\n 'orc:batchStarted',\n 'orc:batchCompleted',\n 'orc:agentLaunched',\n 'orc:agentCompleted',\n 'orc:userQuestionAsked',\n 'orc:userQuestionAnswered',\n 'orc:messageAdded',\n 'orc:bootstrapCompleted',\n 'orc:responseStarted',\n 'orc:responseCompleted',\n 'orc:responseToolCall',\n 'orc:responseToolResult',\n]);\n\n/** Passive response event-ek — typing indicator és message refresh. */\nconst RESPONSE_MESSAGE_EVENTS: Set<string> = new Set([\n 'orc:messageAdded',\n 'orc:responseToolCall',\n 'orc:responseToolResult',\n]);\n\n/**\n * Orchestrator realtime control-service — socket event feliratkozás az összes\n * `orc:*` eseményre és a data-service state-ének szinkronban tartása.\n *\n * Spec: REQ-ORC-016-B, REQ-ORC-013-F.\n */\n@Injectable({ providedIn: 'root' })\nexport class ORC_Realtime_ControlService implements OnDestroy {\n\n private readonly ccapSocket_CS: CCAP_Socket_ControlService = inject(CCAP_Socket_ControlService);\n private readonly orchestrator_DS: Orchestrator_DataService = inject(Orchestrator_DataService);\n\n private globalSub: Subscription | null = null;\n private detailSub: Subscription | null = null;\n private responseSub: Subscription | null = null;\n private currentOrchestratorId: string | null = null;\n\n /** Globális event-feliratkozás (lista-oldalhoz). Idempotens. */\n subscribeGlobal(): void {\n if (this.globalSub) return;\n this.globalSub = this.ccapSocket_CS.event$\n .pipe(filter(\n (envelope: CCAP_SocketEventEnvelope_Interface): boolean => GLOBAL_EVENTS.has(envelope.event),\n ))\n .subscribe(async (): Promise<void> => {\n await this.orchestrator_DS.refreshList();\n });\n }\n\n /**\n * Detail-oldal feliratkozás egy konkrét orchestrator-ra.\n * Client-side filter a payload.orchestratorId alapján.\n */\n subscribeDetail(orchestratorId: string): void {\n this.unsubscribeDetail();\n this.currentOrchestratorId = orchestratorId;\n this.detailSub = this.ccapSocket_CS.event$\n .pipe(filter(\n (envelope: CCAP_SocketEventEnvelope_Interface): boolean =>\n DETAIL_EVENTS.has(envelope.event)\n && this.isForCurrent(envelope.payload),\n ))\n .subscribe(async (envelope: CCAP_SocketEventEnvelope_Interface): Promise<void> => {\n const id: string | null = this.currentOrchestratorId;\n if (!id) return;\n\n // Typing indicator kezelés\n if (envelope.event === 'orc:responseStarted') {\n this.orchestrator_DS.setResponseGenerating(true);\n }\n if (envelope.event === 'orc:responseCompleted') {\n this.orchestrator_DS.setResponseGenerating(false);\n }\n\n await Promise.all([\n this.orchestrator_DS.refreshCurrent(id),\n this.orchestrator_DS.refreshCurrentTasks(id),\n ]);\n });\n\n // Message-specifikus events — chat üzenetek frissítése\n this.responseSub = this.ccapSocket_CS.event$\n .pipe(filter(\n (envelope: CCAP_SocketEventEnvelope_Interface): boolean =>\n RESPONSE_MESSAGE_EVENTS.has(envelope.event)\n && this.isForCurrent(envelope.payload),\n ))\n .subscribe(async (): Promise<void> => {\n const id: string | null = this.currentOrchestratorId;\n if (!id) return;\n await this.orchestrator_DS.refreshCurrentMessages(id);\n });\n }\n\n /** Detail-feliratkozás megszüntetése (komponens unmount). */\n unsubscribeDetail(): void {\n this.detailSub?.unsubscribe();\n this.responseSub?.unsubscribe();\n this.detailSub = null;\n this.responseSub = null;\n this.currentOrchestratorId = null;\n }\n\n /** Payload-ellenőrzés: a current orchestrator event-je-e. */\n private isForCurrent(payload: Record<string, unknown>): boolean {\n if (!this.currentOrchestratorId) return false;\n return payload?.['orchestratorId'] === this.currentOrchestratorId;\n }\n\n ngOnDestroy(): void {\n this.globalSub?.unsubscribe();\n this.detailSub?.unsubscribe();\n this.responseSub?.unsubscribe();\n this.globalSub = null;\n this.detailSub = null;\n this.responseSub = null;\n }\n}\n", "import { Ses_GraphEdgeCategory_Type } from '../../../session/_collections/graph/ses-graph-edge-category.type-enum';\nimport { Ses_GraphNodeCategory_Type } from '../../../session/_collections/graph/ses-graph-node-category.type-enum';\nimport {\n Ses_GraphEdge_Interface,\n Ses_GraphLayout_Interface,\n Ses_GraphNode_Interface,\n Ses_GraphViewBox_Interface,\n} from '../../../session/_collections/graph/ses-graph-node.interface';\nimport {\n SES_GRAPH_MILESTONE_NODE_HEIGHT,\n SES_GRAPH_MILESTONE_NODE_WIDTH,\n SES_GRAPH_PADDING,\n SES_GRAPH_PHASE_NODE_HEIGHT,\n SES_GRAPH_PHASE_NODE_WIDTH,\n SES_GRAPH_VERTICAL_GAP,\n} from '../../../session/_collections/consts/graph/ses-graph-layout.const';\nimport { Ses_GraphLayout_Util } from '../../../session/_collections/utils/graph/ses-graph-layout.util';\n\n/** Orchestrator fázis definíciók a skeleton layout-hoz. */\ninterface OrcPhaseDefinition_Interface {\n /** Node ID. */\n id: string;\n /** Megjelenítendő felirat. */\n label: string;\n /** Fázis azonosító (ORC_RunPhase_Type érték). */\n phase: string;\n /** Vizuális kategória. */\n category: Ses_GraphNodeCategory_Type;\n}\n\n/** Orchestrator fázis adatok a skeleton-hez. */\nconst ORC_PHASES: OrcPhaseDefinition_Interface[] = [\n { id: 'orc-wake', label: 'Wake', phase: 'wake', category: Ses_GraphNodeCategory_Type.milestone },\n { id: 'orc-collect', label: 'Collect', phase: 'collect', category: Ses_GraphNodeCategory_Type.phase },\n { id: 'orc-analyze', label: 'Analyze', phase: 'analyze', category: Ses_GraphNodeCategory_Type.llmCall },\n { id: 'orc-sync-tasks', label: 'Sync Tasks', phase: 'sync-tasks', category: Ses_GraphNodeCategory_Type.phase },\n { id: 'orc-decide-next', label: 'Decide Next', phase: 'decide-next', category: Ses_GraphNodeCategory_Type.llmCall },\n { id: 'orc-execute', label: 'Execute', phase: 'execute', category: Ses_GraphNodeCategory_Type.phase },\n { id: 'orc-report', label: 'Report', phase: 'report', category: Ses_GraphNodeCategory_Type.phase },\n { id: 'orc-sleep', label: 'Sleep', phase: 'sleep', category: Ses_GraphNodeCategory_Type.milestone },\n];\n\n/**\n * Orchestrator graph layout statikus utility.\n * Az orchestrator run flow fázisainak skeleton layout-ját építi fel.\n * A shared `Ses_GraphLayout_Util` createNode/createEdge/computeEdgePath metódusait használja.\n */\nexport class ORC_GraphLayout_Util {\n\n /**\n * Orchestrator skeleton graph layout felépítése: 8 fázis lineárisan (top-to-bottom).\n * wake → collect → analyze → syncTasks → decideNext → execute → report → sleep\n * Minden node `pending` állapotban.\n */\n static buildSkeletonLayout(): Ses_GraphLayout_Interface {\n const centerX: number = SES_GRAPH_PADDING + SES_GRAPH_PHASE_NODE_WIDTH / 2;\n let currentY: number = SES_GRAPH_PADDING;\n\n const nodes: Ses_GraphNode_Interface[] = [];\n const edges: Ses_GraphEdge_Interface[] = [];\n\n for (let i: number = 0; i < ORC_PHASES.length; i++) {\n const phaseData: OrcPhaseDefinition_Interface = ORC_PHASES[i];\n\n const isMilestone: boolean = phaseData.category === Ses_GraphNodeCategory_Type.milestone;\n const nodeWidth: number = isMilestone ? SES_GRAPH_MILESTONE_NODE_WIDTH : SES_GRAPH_PHASE_NODE_WIDTH;\n const nodeHeight: number = isMilestone ? SES_GRAPH_MILESTONE_NODE_HEIGHT : SES_GRAPH_PHASE_NODE_HEIGHT;\n\n const node: Ses_GraphNode_Interface = Ses_GraphLayout_Util.createNode({\n id: phaseData.id,\n category: phaseData.category,\n label: phaseData.label,\n phase: phaseData.phase,\n x: centerX - nodeWidth / 2,\n y: currentY,\n width: nodeWidth,\n height: nodeHeight,\n });\n nodes.push(node);\n\n if (i > 0) {\n edges.push(Ses_GraphLayout_Util.createEdge(\n ORC_PHASES[i - 1].id,\n phaseData.id,\n Ses_GraphEdgeCategory_Type.sequential,\n ));\n }\n\n currentY += nodeHeight + SES_GRAPH_VERTICAL_GAP;\n }\n\n // Edge path-ek kiszámítása\n const edgesWithPaths: Ses_GraphEdge_Interface[] = edges.map(\n (e: Ses_GraphEdge_Interface): Ses_GraphEdge_Interface => {\n const source: Ses_GraphNode_Interface | undefined = nodes.find(\n (n: Ses_GraphNode_Interface): boolean => n.id === e.sourceNodeId,\n );\n const target: Ses_GraphNode_Interface | undefined = nodes.find(\n (n: Ses_GraphNode_Interface): boolean => n.id === e.targetNodeId,\n );\n if (!source || !target) {\n return e;\n }\n return {\n ...e,\n pathD: Ses_GraphLayout_Util.computeEdgePath(source, target, e.category),\n };\n },\n );\n\n const viewBox: Ses_GraphViewBox_Interface = Ses_GraphLayout_Util.recalculateViewBox(\n nodes, SES_GRAPH_PADDING,\n );\n\n return {\n nodes: nodes,\n edges: edgesWithPaths,\n viewBox: viewBox,\n loopContainerBounds: null,\n };\n }\n}\n", "import { Injectable, signal, WritableSignal, inject, DestroyRef } from '@angular/core';\n\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport {\n CCAP_SocketEventEnvelope_Interface,\n} from '../../../_services/control-services/socket.control-service.interface';\nimport { CCAP_Socket_ControlService } from '../../../_services/control-services/ccap-socket.control-service';\nimport { ORC_GraphLayout_Util } from '../_collections/utils/orc-graph-layout.util';\nimport {\n Ses_GraphLayout_Interface,\n Ses_GraphNode_Interface,\n} from '../../session/_collections/graph/ses-graph-node.interface';\nimport { Ses_GraphNodeState_Type } from '../../session/_collections/graph/ses-graph-node-state.type-enum';\n\n/** Orchestrator fázis → graph node ID mapping. */\nconst ORC_PHASE_TO_NODE_ID: Record<string, string> = {\n wake: 'orc-wake',\n collect: 'orc-collect',\n analyze: 'orc-analyze',\n 'sync-tasks': 'orc-sync-tasks',\n 'decide-next': 'orc-decide-next',\n execute: 'orc-execute',\n report: 'orc-report',\n sleep: 'orc-sleep',\n};\n\n/** A fázisok sorrendje (state transition-ökhöz). */\nconst ORC_PHASE_ORDER: string[] = [\n 'orc-wake', 'orc-collect', 'orc-analyze', 'orc-sync-tasks',\n 'orc-decide-next', 'orc-execute', 'orc-report', 'orc-sleep',\n];\n\n/** Graph-releváns orc socket event-ek. */\nconst ORC_GRAPH_EVENTS: Set<string> = new Set([\n 'orc:iterationStarted',\n 'orc:iterationCompleted',\n 'orc:statusChanged',\n 'orc:started',\n 'orc:paused',\n 'orc:stopped',\n]);\n\n/**\n * Orchestrator graph state SSOT data service.\n * Az orchestrator run flow fázisainak (wake→collect→analyze→syncTasks→decideNext→execute→report→sleep)\n * graph-ként való megjelenítéséhez szükséges állapotkezelés.\n */\n@Injectable({ providedIn: 'root' })\n/** ORC_Graph_DataService class. */\nexport class ORC_Graph_DataService {\n\n private readonly ccapSocket_CS: CCAP_Socket_ControlService = inject(CCAP_Socket_ControlService);\n private readonly destroyRef: DestroyRef = inject(DestroyRef);\n\n // ── Public signals ──\n\n /** A graph teljes layout-ja. */\n readonly graphLayout_$: WritableSignal<Ses_GraphLayout_Interface | null> =\n signal<Ses_GraphLayout_Interface | null>(null);\n\n /** Aktuálisan futó node ID. */\n readonly activeNodeId_$: WritableSignal<string> = signal<string>('');\n\n /** User által kiválasztott node ID. */\n readonly selectedNodeId_$: WritableSignal<string> = signal<string>('');\n\n /** Modal nyitva-e. */\n readonly isGraphOpen_$: WritableSignal<boolean> = signal<boolean>(false);\n\n /** Melyik orchestrator ID-hoz tartozik. */\n readonly graphOrchestratorId_$: WritableSignal<string> = signal<string>('');\n\n /** Loading állapot (orchestratornál nincs historical load, mindig false). */\n readonly isLoading_$: WritableSignal<boolean> = signal<boolean>(false);\n\n // ── Private ──\n\n private eventSubscription: Subscription | null = null;\n\n constructor() {\n this.destroyRef.onDestroy((): void => {\n this.disposeSubscription();\n });\n }\n\n // ── Public methods ──\n\n /**\n * Graph modal megnyitása egy adott orchestrator-hoz.\n * Skeleton layout felépítés + socket event subscription.\n */\n openGraph(orchestratorId: string): void {\n this.disposeSubscription();\n this.resetState();\n\n this.graphOrchestratorId_$.set(orchestratorId);\n this.isGraphOpen_$.set(true);\n\n // Skeleton layout felépítése\n const skeleton: Ses_GraphLayout_Interface = ORC_GraphLayout_Util.buildSkeletonLayout();\n this.graphLayout_$.set(skeleton);\n\n // Socket event subscription\n this.eventSubscription = this.ccapSocket_CS.event$\n .pipe(filter(\n (envelope: CCAP_SocketEventEnvelope_Interface): boolean =>\n ORC_GRAPH_EVENTS.has(envelope.event)\n && envelope.payload?.orchestratorId === orchestratorId,\n ))\n .subscribe((envelope: CCAP_SocketEventEnvelope_Interface): void => {\n this.applyOrcEvent(envelope.event, envelope.payload);\n });\n }\n\n /**\n * Graph modal bezárása.\n */\n closeGraph(): void {\n this.disposeSubscription();\n this.isGraphOpen_$.set(false);\n this.selectedNodeId_$.set('');\n }\n\n /**\n * Node kiválasztás toggle.\n */\n selectNode(nodeId: string): void {\n const current: string = this.selectedNodeId_$();\n this.selectedNodeId_$.set(current === nodeId ? '' : nodeId);\n }\n\n /**\n * Kiválasztás törlése.\n */\n clearSelection(): void {\n this.selectedNodeId_$.set('');\n }\n\n // ── Event kezelés ──\n\n /**\n * Orchestrator socket event alkalmazása a graph-ra.\n */\n private applyOrcEvent(eventName: string, payload: Record<string, unknown>): void {\n if (eventName === 'orc:iterationStarted') {\n // Iteráció indulás: wake fázis aktív, többi pending\n this.applyPhaseActive('wake');\n return;\n }\n\n if (eventName === 'orc:iterationCompleted') {\n // Iteráció befejezés: minden node completed\n this.markAllCompleted();\n return;\n }\n\n if (eventName === 'orc:statusChanged') {\n const status: unknown = payload.status;\n if (status === 'active') {\n this.applyPhaseActive('wake');\n }\n if (status === 'paused' || status === 'stopped' || status === 'failed') {\n this.markAllCompleted();\n }\n return;\n }\n\n // started/paused/stopped — skeleton reset\n if (eventName === 'orc:started') {\n const skeleton: Ses_GraphLayout_Interface = ORC_GraphLayout_Util.buildSkeletonLayout();\n this.graphLayout_$.set(skeleton);\n }\n }\n\n /**\n * Fázis aktiválása: az adott fázis előtti node-ok completed, az aktuális active.\n */\n private applyPhaseActive(phase: string): void {\n const nodeId: string | undefined = ORC_PHASE_TO_NODE_ID[phase];\n if (!nodeId) {\n return;\n }\n\n let layout: Ses_GraphLayout_Interface | null = this.graphLayout_$();\n if (!layout) {\n return;\n }\n\n let foundActive: boolean = false;\n\n for (const orderedId of ORC_PHASE_ORDER) {\n if (orderedId === nodeId) {\n layout = this.setNodeState(layout, orderedId, Ses_GraphNodeState_Type.active);\n foundActive = true;\n } else if (!foundActive) {\n layout = this.setNodeState(layout, orderedId, Ses_GraphNodeState_Type.completed);\n }\n }\n\n this.activeNodeId_$.set(nodeId);\n this.graphLayout_$.set(layout);\n }\n\n /**\n * Minden node completed-re.\n */\n private markAllCompleted(): void {\n let layout: Ses_GraphLayout_Interface | null = this.graphLayout_$();\n if (!layout) {\n return;\n }\n\n for (const node of layout.nodes) {\n if (node.state !== Ses_GraphNodeState_Type.error) {\n layout = this.setNodeState(layout, node.id, Ses_GraphNodeState_Type.completed);\n }\n }\n\n this.activeNodeId_$.set('');\n this.graphLayout_$.set(layout);\n }\n\n /**\n * Node állapot beállítása immutable módon.\n */\n private setNodeState(\n layout: Ses_GraphLayout_Interface,\n nodeId: string,\n state: Ses_GraphNodeState_Type,\n ): Ses_GraphLayout_Interface {\n const index: number = layout.nodes.findIndex(\n (n: Ses_GraphNode_Interface): boolean => n.id === nodeId,\n );\n if (index < 0) {\n return layout;\n }\n\n const updatedNodes: Ses_GraphNode_Interface[] = [...layout.nodes];\n updatedNodes[index] = { ...updatedNodes[index], state: state };\n\n return { ...layout, nodes: updatedNodes };\n }\n\n /**\n * Belső állapot reset.\n */\n private resetState(): void {\n this.graphLayout_$.set(null);\n this.activeNodeId_$.set('');\n this.selectedNodeId_$.set('');\n this.isLoading_$.set(false);\n }\n\n /**\n * Socket subscription cleanup.\n */\n private disposeSubscription(): void {\n if (this.eventSubscription) {\n this.eventSubscription.unsubscribe();\n this.eventSubscription = null;\n }\n }\n}\n", "import { CommonModule } from '@angular/common';\nimport { Component, computed, ElementRef, Input, OnDestroy, OnInit, Signal, inject, signal, ViewChild } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { filter } from 'rxjs/operators';\n\nimport { DyFM_Log } from '@futdevpro/fsm-dynamo';\nimport { DyNX_SubscriptionControl } from '@futdevpro/ngx-dynamo';\n\nimport { CCAP_AgentConsoleBubbleView_Interface } from '../../../../_models/interfaces/shared/ccap-agent-console-bubble-view.interface';\nimport { CCAP_SocketEventEnvelope_Interface } from '../../../../_services/control-services/socket.control-service.interface';\nimport { CCAP_Socket_ControlService } from '../../../../_services/control-services/ccap-socket.control-service';\nimport { S_AgentConsoleMessageBubble_Component } from '../../../shared/_components/session-ui/s-agent-console-message-bubble/s-agent-console-message-bubble.component';\nimport { S_SessionChatColumnLayout_Component } from '../../../shared/_components/session-ui/s-session-chat-column-layout/s-session-chat-column-layout.component';\nimport { ORC_MessageBubbleMapper_Util } from '../../_collections/utils/orc-message-bubble-mapper.util';\nimport { Orchestrator_DataService } from '../../_services/orchestrator.data-service';\nimport {\n ORC_ConversationMessage_Response,\n ORC_UserQuestion_Response,\n} from '../../_services/orc-api-response.interface';\n\nconst REFRESH_EVENTS: Set<string> = new Set([\n 'orc:messageAdded',\n 'orc:userQuestionAsked',\n 'orc:userQuestionAnswered',\n]);\n\n/**\n * Chat panel komponens — session-like megjelenítés shared bubble-ökkel.\n *\n * A korábbi sima lista+textarea helyett a `S_SessionChatColumnLayout_Component`-et\n * és a `S_AgentConsoleMessageBubble_Component`-et használja az egységes UI-hoz.\n *\n * Spec: REQ-ORC-013-C, REQ-ORC-012, REQ-ORC-017-B.\n */\n@Component({\n selector: 'app-orc-chat-panel',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n S_SessionChatColumnLayout_Component,\n S_AgentConsoleMessageBubble_Component,\n ],\n templateUrl: './orc-chat-panel.component.html',\n host: { class: 'flex flex-col flex-1 min-h-0 overflow-hidden' },\n})\n/** ORC_ChatPanel_Component — session-like orchestrator chat. */\nexport class ORC_ChatPanel_Component extends DyNX_SubscriptionControl implements OnInit, OnDestroy {\n\n private readonly orchestrator_DS: Orchestrator_DataService = inject(Orchestrator_DataService);\n private readonly ccapSocket_CS: CCAP_Socket_ControlService = inject(CCAP_Socket_ControlService);\n\n @Input({ required: true }) orchestratorId!: string;\n\n @ViewChild('scrollAnchor') scrollAnchor!: ElementRef<HTMLDivElement>;\n\n private readonly questionsRaw_$ = signal<ORC_UserQuestion_Response[]>([]);\n\n /** Bubble view-ok — computed a data service messages signal-jából. */\n readonly bubbleViews_$: Signal<CCAP_AgentConsoleBubbleView_Interface[]> = computed(\n (): CCAP_AgentConsoleBubbleView_Interface[] =>\n ORC_MessageBubbleMapper_Util.mapAll(this.orchestrator_DS.currentMessages_$()),\n );\n\n /** Pending kérdések. */\n readonly openQuestions_$: Signal<ORC_UserQuestion_Response[]> = this.questionsRaw_$.asReadonly();\n\n /** Typing indicator — orchestrator válaszol passive módban. */\n readonly isResponseGenerating_$: Signal<boolean> = this.orchestrator_DS.isResponseGenerating_$;\n\n /** Input state — raw user content. */\n userInput: string = '';\n\n /** Question-válasz state (questionId → user's draft answer). */\n readonly answerDrafts: Record<string, string> = {};\n readonly selectedChoice: Record<string, string> = {};\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n void this.refresh();\n this.addSubscription(\n this.ccapSocket_CS.event$\n .pipe(filter(\n (envelope: CCAP_SocketEventEnvelope_Interface): boolean =>\n REFRESH_EVENTS.has(envelope.event)\n && envelope.payload?.['orchestratorId'] === this.orchestratorId,\n ))\n .subscribe(async (): Promise<void> => {\n await this.refresh();\n this.scrollToBottom();\n }),\n );\n }\n\n /** User üzenet küldés — raw content immutable (trim nélkül). */\n async handleSendMessage(): Promise<void> {\n if (!this.userInput) return;\n const rawContent: string = this.userInput;\n this.userInput = '';\n try {\n await this.orchestrator_DS.postUserMessage(this.orchestratorId, rawContent);\n await this.orchestrator_DS.refreshCurrentMessages(this.orchestratorId);\n this.scrollToBottom();\n } catch (error: unknown) {\n DyFM_Log.error('ORC_Chat | sendMessage failed', error);\n this.userInput = rawContent;\n }\n }\n\n /** Válasz beküldés egy pending kérdésre. */\n async handleSubmitAnswer(questionId: string, questionType: string): Promise<void> {\n const rawAnswer: string = questionType === 'multiple-choice' || questionType === 'yes-no'\n ? (this.selectedChoice[questionId] ?? '')\n : (this.answerDrafts[questionId] ?? '');\n if (!rawAnswer) return;\n try {\n await this.orchestrator_DS.submitQuestionAnswer(this.orchestratorId, questionId, rawAnswer);\n delete this.answerDrafts[questionId];\n delete this.selectedChoice[questionId];\n await this.refresh();\n } catch (error: unknown) {\n DyFM_Log.error('ORC_Chat | submitAnswer failed', error);\n }\n }\n\n /** Gyorsgombok yes-no kérdéseknél. */\n handleYesNoChoice(questionId: string, value: 'yes' | 'no'): void {\n this.selectedChoice[questionId] = value;\n }\n\n /** Multiple-choice kiválasztás. */\n handleMultipleChoice(questionId: string, value: string): void {\n this.selectedChoice[questionId] = value;\n }\n\n private async refresh(): Promise<void> {\n try {\n const questions: ORC_UserQuestion_Response[] =\n await this.orchestrator_DS.listQuestions(this.orchestratorId, true);\n this.questionsRaw_$.set(questions);\n } catch (error: unknown) {\n DyFM_Log.error('ORC_Chat | refresh failed', error);\n }\n }\n\n /** Auto-scroll a legújabb üzenethez. */\n private scrollToBottom(): void {\n setTimeout((): void => {\n this.scrollAnchor?.nativeElement?.scrollIntoView({ behavior: 'smooth' });\n }, 50);\n }\n}\n", "<app-s-session-chat-column-layout>\n\n <div sChatColumnHeader>\n @if (openQuestions_$().length > 0) {\n <div class=\"bg-cyan-950 border-b border-cyan-500 p-3 space-y-3\">\n <h3 class=\"text-cyan-300 font-semibold text-sm\">Válaszra váró kérdések ({{ openQuestions_$().length }})</h3>\n @for (q of openQuestions_$(); track q._id) {\n <div class=\"bg-cyan-900/50 border border-cyan-700 rounded p-3 space-y-2\">\n <p class=\"text-cyan-100 font-medium text-sm\">{{ q.questionText }}</p>\n @if (q.context) {\n <p class=\"text-xs text-cyan-300 italic\">Kontext: {{ q.context }}</p>\n }\n\n @if (q.questionType === 'yes-no') {\n <div class=\"flex gap-2\">\n <button\n class=\"px-3 py-1 rounded text-sm font-bold\"\n [class.bg-green-700]=\"selectedChoice[q._id] === 'yes'\"\n [class.bg-slate-700]=\"selectedChoice[q._id] !== 'yes'\"\n (click)=\"handleYesNoChoice(q._id, 'yes')\">\n Igen\n </button>\n <button\n class=\"px-3 py-1 rounded text-sm font-bold\"\n [class.bg-red-700]=\"selectedChoice[q._id] === 'no'\"\n [class.bg-slate-700]=\"selectedChoice[q._id] !== 'no'\"\n (click)=\"handleYesNoChoice(q._id, 'no')\">\n Nem\n </button>\n <button\n class=\"ml-auto px-4 py-1 bg-cyan-600 hover:bg-cyan-500 text-white rounded text-sm\"\n (click)=\"handleSubmitAnswer(q._id, q.questionType)\"\n [disabled]=\"!selectedChoice[q._id]\">\n Küldés\n </button>\n </div>\n }\n\n @if (q.questionType === 'multiple-choice' && q.possibleAnswers) {\n <div class=\"space-y-1\">\n @for (choice of q.possibleAnswers; track choice) {\n <label class=\"flex items-center gap-2 text-sm text-slate-200 cursor-pointer\">\n <input type=\"radio\" [name]=\"q._id\" [value]=\"choice\" [checked]=\"selectedChoice[q._id] === choice\"\n (change)=\"handleMultipleChoice(q._id, choice)\" />\n {{ choice }}\n </label>\n }\n <button class=\"mt-2 px-4 py-1 bg-cyan-600 hover:bg-cyan-500 text-white rounded text-sm\"\n (click)=\"handleSubmitAnswer(q._id, q.questionType)\" [disabled]=\"!selectedChoice[q._id]\">\n Küldés\n </button>\n </div>\n }\n\n @if (q.questionType === 'open' || q.questionType === 'task-priority') {\n <div class=\"space-y-2\">\n <textarea\n class=\"w-full bg-slate-800 border border-slate-700 rounded px-2 py-1 text-white text-sm\" rows=\"2\"\n [(ngModel)]=\"answerDrafts[q._id]\" [name]=\"q._id\" placeholder=\"Válasz...\"></textarea>\n <button class=\"px-4 py-1 bg-cyan-600 hover:bg-cyan-500 text-white rounded text-sm\"\n (click)=\"handleSubmitAnswer(q._id, q.questionType)\" [disabled]=\"!answerDrafts[q._id]\">\n Küldés\n </button>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n\n <div sChatColumnScroll class=\"p-3 space-y-2\">\n @for (bubble of bubbleViews_$(); track bubble.listKey) {\n <app-s-agent-console-message-bubble [view]=\"bubble\" />\n } @empty {\n <p class=\"text-sm text-slate-500 italic text-center py-8\">Még nincs üzenet.</p>\n }\n\n @if (isResponseGenerating_$()) {\n <div class=\"flex gap-2 py-2\">\n <div class=\"max-w-[80%] rounded px-3 py-2 bg-slate-800 text-slate-400 text-sm animate-pulse\">\n <span class=\"font-mono text-xs\">ORCHESTRATOR</span>\n <span class=\"ml-2\">gondolkodik...</span>\n </div>\n </div>\n }\n\n <div #scrollAnchor></div>\n </div>\n\n <div sChatColumnComposer class=\"border-t border-slate-800 p-3\">\n <form (ngSubmit)=\"handleSendMessage()\" class=\"flex gap-2\">\n <textarea\n class=\"flex-1 bg-slate-800 border border-slate-700 rounded px-3 py-2 text-white text-sm resize-none\"\n rows=\"2\" [(ngModel)]=\"userInput\" name=\"userInput\"\n placeholder=\"Üzenet az Orchestrator-nak...\"></textarea>\n <button type=\"submit\"\n class=\"px-4 py-2 bg-cyan-600 hover:bg-cyan-500 text-white rounded text-sm self-end whitespace-nowrap\"\n [disabled]=\"!userInput\">\n Küldés\n </button>\n </form>\n </div>\n\n</app-s-session-chat-column-layout>\n", "import { CCAP_AgentConsoleBubbleKind_Type } from '../../../../_enums/shared/ccap-agent-console-bubble-kind.enum';\nimport { CCAP_AgentConsoleBubbleView_Interface } from '../../../../_models/interfaces/shared/ccap-agent-console-bubble-view.interface';\nimport { ORC_ConversationMessage_Response } from '../../_services/orc-api-response.interface';\n\n/**\n * ORC_ConversationMessage → CCAP_AgentConsoleBubbleView mapper.\n *\n * A shared `S_AgentConsoleMessageBubble_Component` újrafelhasználásához\n * az orchestrator üzeneteket normalizálja bubble view-model-ekre.\n *\n * Minta: `SHR_ExtSessionMsgToBubbleView_Util` (CC/OC/CA közös mapper).\n */\nexport class ORC_MessageBubbleMapper_Util {\n\n /**\n * Teljes üzenet lista → bubble view lista mapping.\n */\n static mapAll(messages: ORC_ConversationMessage_Response[]): CCAP_AgentConsoleBubbleView_Interface[] {\n return messages.map(\n (m: ORC_ConversationMessage_Response): CCAP_AgentConsoleBubbleView_Interface =>\n ORC_MessageBubbleMapper_Util.mapSingle(m),\n );\n }\n\n /**\n * Egy üzenet → bubble view mapping.\n */\n static mapSingle(msg: ORC_ConversationMessage_Response): CCAP_AgentConsoleBubbleView_Interface {\n const kind: CCAP_AgentConsoleBubbleKind_Type = ORC_MessageBubbleMapper_Util.resolveKind(msg);\n const isUserAligned: boolean = msg.from === 'user';\n\n return {\n listKey: msg._id,\n kind: kind,\n bodyText: msg.rawContent,\n timestampIso: msg.__created,\n toolName: msg.toolName ?? undefined,\n isUserAligned: isUserAligned,\n headerStatusDot: kind === CCAP_AgentConsoleBubbleKind_Type.error ? 'error' : undefined,\n flags: {\n showCopy: true,\n showRawInfo: false,\n useEditDiffForExpandable: false,\n },\n toolCallId: msg.toolCallId ?? undefined,\n };\n }\n\n /**\n * Message type → bubble kind resolution.\n */\n private static resolveKind(msg: ORC_ConversationMessage_Response): CCAP_AgentConsoleBubbleKind_Type {\n switch (msg.messageType) {\n case 'user-message':\n return CCAP_AgentConsoleBubbleKind_Type.userPrompt;\n case 'orchestrator-response':\n return CCAP_AgentConsoleBubbleKind_Type.assistant;\n case 'orchestrator-thinking':\n return CCAP_AgentConsoleBubbleKind_Type.thinking;\n case 'tool-call':\n return CCAP_AgentConsoleBubbleKind_Type.tool;\n case 'tool-result':\n return CCAP_AgentConsoleBubbleKind_Type.toolResult;\n case 'iteration-summary':\n return CCAP_AgentConsoleBubbleKind_Type.statusUpdate;\n case 'status-message':\n return CCAP_AgentConsoleBubbleKind_Type.info;\n default:\n // Backward compat: messageType nélküli régi üzenetek — from alapján\n return msg.from === 'user'\n ? CCAP_AgentConsoleBubbleKind_Type.userPrompt\n : CCAP_AgentConsoleBubbleKind_Type.assistant;\n }\n }\n}\n", "import { Component, inject, Signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { S_Modal_Component } from '../../../shared/_components/s-modal/s-modal.component';\nimport {\n Ses_GraphLayout_Interface,\n} from '../../../session/_collections/graph/ses-graph-node.interface';\nimport {\n Ses_GraphView_Component,\n} from '../../../session/_components/ccap-graph/ccap-graph-view/ses-graph-view.component';\nimport { ORC_Graph_DataService } from '../../_services/orc-graph.data-service';\n\n/**\n * Orchestrator graph modal wrapper.\n * Közel-teljesképernyős modálban jeleníti meg az orchestrator run flow graph-ot.\n * Az ORC_Graph_DataService signal-jaiból olvassa az állapotot és input-ként továbbítja a shared graph view-nak.\n */\n@Component({\n selector: 'app-orc-graph-modal',\n standalone: true,\n imports: [CommonModule, S_Modal_Component, Ses_GraphView_Component],\n templateUrl: './orc-graph-modal.component.html',\n})\n/** ORC_GraphModal_Component class. */\nexport class ORC_GraphModal_Component {\n\n private readonly graph_DS: ORC_Graph_DataService = inject(ORC_Graph_DataService);\n\n /** Modal nyitva-e. */\n readonly isOpen_$: Signal<boolean> = this.graph_DS.isGraphOpen_$;\n\n /** Graph layout. */\n readonly layout_$: Signal<Ses_GraphLayout_Interface | null> = this.graph_DS.graphLayout_$;\n\n /** Aktív node ID. */\n readonly activeNodeId_$: Signal<string> = this.graph_DS.activeNodeId_$;\n\n /** Kiválasztott node ID. */\n readonly selectedNodeId_$: Signal<string> = this.graph_DS.selectedNodeId_$;\n\n /** Loading állapot. */\n readonly isLoading_$: Signal<boolean> = this.graph_DS.isLoading_$;\n\n /**\n * Modal bezárás handler.\n */\n handleClose(): void {\n this.graph_DS.closeGraph();\n }\n\n /**\n * Node kiválasztás handler.\n */\n handleNodeClick(nodeId: string): void {\n this.graph_DS.selectNode(nodeId);\n }\n\n /**\n * Detail bezárás handler.\n */\n handleDetailClose(): void {\n this.graph_DS.clearSelection();\n }\n}\n", "<app-s-modal\n [isOpen]=\"isOpen_$()\"\n title=\"Orchestrator Flow Graph\"\n maxWidth=\"7xl\"\n [bodyFlexColumn]=\"true\"\n headerBorderClass=\"border-cyan-600/30\"\n (closed)=\"handleClose()\">\n\n <app-ses-graph-view\n class=\"flex-1 min-h-0\"\n [layout]=\"layout_$()\"\n [activeNodeId]=\"activeNodeId_$()\"\n [selectedNodeId]=\"selectedNodeId_$()\"\n [isLoading]=\"isLoading_$()\"\n (nodeClicked)=\"handleNodeClick($event)\"\n (detailClosed)=\"handleDetailClose()\" />\n\n</app-s-modal>\n", "import { Component, input, output, Signal } from '@angular/core';\n\n/**\n * Operation mode toggle pill — Active Loop | Chat Mode.\n * Spec: REQ-ORC-017-B.\n */\n@Component({\n selector: 'app-orc-mode-switcher',\n standalone: true,\n templateUrl: './orc-mode-switcher.component.html',\n})\n/** ORC_ModeSwitcher_Component class. */\nexport class ORC_ModeSwitcher_Component {\n\n /** Aktuális mód (signal input). */\n readonly mode_$ = input.required<string>({ alias: 'mode_$' });\n\n /** Mode változás event. */\n readonly modeChanged = output<string>();\n\n /** Váltás az ellenkező módra. */\n handleToggle(): void {\n const current: string = this.mode_$();\n const next: string = current === 'active' ? 'passive' : 'active';\n this.modeChanged.emit(next);\n }\n}\n", "<div class=\"inline-flex rounded-full border border-slate-600 overflow-hidden text-xs font-semibold\">\n <button\n class=\"px-3 py-1 transition-colors\"\n [class.bg-green-800]=\"mode_$() === 'active'\"\n [class.text-green-200]=\"mode_$() === 'active'\"\n [class.bg-transparent]=\"mode_$() !== 'active'\"\n [class.text-slate-400]=\"mode_$() !== 'active'\"\n (click)=\"handleToggle()\"\n [disabled]=\"mode_$() === 'active'\"\n title=\"Autonóm loop mód — az orchestrator önállóan futtatja az iterációkat\">\n Active Loop\n </button>\n <button\n class=\"px-3 py-1 transition-colors\"\n [class.bg-cyan-800]=\"mode_$() === 'passive'\"\n [class.text-cyan-200]=\"mode_$() === 'passive'\"\n [class.bg-transparent]=\"mode_$() !== 'passive'\"\n [class.text-slate-400]=\"mode_$() !== 'passive'\"\n (click)=\"handleToggle()\"\n [disabled]=\"mode_$() === 'passive'\"\n title=\"Chat mód — az orchestrator a user üzenetekre válaszol\">\n Chat Mode\n </button>\n</div>\n", "import { CommonModule } from '@angular/common';\nimport { Component, Input, Signal, computed, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { CCAP_TextSearch_Util } from '../../../../_collections/utils/ccap-text-search.util';\nimport { ORC_Task_Response } from '../../_services/orc-api-response.interface';\nimport { Orchestrator_DataService } from '../../_services/orchestrator.data-service';\n\n/**\n * Task-queue panel komponens — az orchestrator detail oldal központi panelje.\n * Spec: REQ-ORC-013-C, REQ-ORC-005.\n *\n * Csoportosítás status szerint, filter (status/type/priority/source) + search.\n */\n@Component({\n selector: 'app-orc-task-queue-panel',\n standalone: true,\n imports: [CommonModule, FormsModule],\n templateUrl: './orc-task-queue-panel.component.html',\n})\n/** Orchestrator task queue panel. */\nexport class ORC_TaskQueuePanel_Component {\n\n private readonly orchestrator_DS: Orchestrator_DataService = inject(Orchestrator_DataService);\n\n @Input({ required: true }) tasks_$!: Signal<ORC_Task_Response[]>;\n\n /** Filter + search state. */\n readonly filterStatus_$ = signal<string>('all');\n readonly filterType_$ = signal<string>('all');\n readonly filterPriority_$ = signal<string>('all');\n readonly searchText_$ = signal<string>('');\n\n /** Filterelt task-lista. */\n readonly filteredTasks_$: Signal<ORC_Task_Response[]> = computed((): ORC_Task_Response[] => {\n const list: ORC_Task_Response[] = this.tasks_$();\n const status: string = this.filterStatus_$();\n const type: string = this.filterType_$();\n const priority: string = this.filterPriority_$();\n const search: string = this.searchText_$();\n\n return list.filter((t: ORC_Task_Response): boolean => {\n if (status !== 'all' && t.status !== status) return false;\n if (type !== 'all' && t.type !== type) return false;\n if (priority !== 'all' && t.priority !== priority) return false;\n // REQ-SE-001: ékezet- és kisbetű/nagybetű-érzéketlen match (title + description).\n if (search.trim()\n && !CCAP_TextSearch_Util.includesText(t.title, search)\n && !CCAP_TextSearch_Util.includesText(t.description, search)) {\n return false;\n }\n return true;\n });\n });\n\n /** Státusz-csoportosítás (computed). */\n readonly groupedByStatus_$: Signal<Record<string, ORC_Task_Response[]>> = computed((): Record<string, ORC_Task_Response[]> => {\n const groups: Record<string, ORC_Task_Response[]> = {};\n for (const task of this.filteredTasks_$()) {\n const key: string = task.status;\n if (!groups[key]) groups[key] = [];\n groups[key].push(task);\n }\n return groups;\n });\n\n /** Státusz-csoport sorrend. */\n readonly statusOrder: string[] = [\n 'in-progress',\n 'waiting-on-agent',\n 'waiting-on-user',\n 'scheduled',\n 'pending',\n 'completed',\n 'failed',\n 'cancelled',\n ];\n\n /** Group keys rendezve a fenti order szerint. */\n readonly orderedGroupKeys_$: Signal<string[]> = computed((): string[] => {\n const groups: Record<string, ORC_Task_Response[]> = this.groupedByStatus_$();\n return this.statusOrder.filter((key: string): boolean => (groups[key]?.length ?? 0) > 0);\n });\n\n handleFilterStatus(value: string): void {\n this.filterStatus_$.set(value);\n }\n\n handleFilterType(value: string): void {\n this.filterType_$.set(value);\n }\n\n handleFilterPriority(value: string): void {\n this.filterPriority_$.set(value);\n }\n\n handleSearchText(value: string): void {\n this.searchText_$.set(value);\n }\n}\n", "<div class=\"bg-slate-900 border border-slate-800 rounded p-4 space-y-3\">\n <div class=\"flex items-center justify-between\">\n <h2 class=\"text-lg font-semibold text-cyan-300\">Task Queue</h2>\n <span class=\"text-xs text-slate-500 font-mono\">\n {{ filteredTasks_$().length }} / {{ tasks_$().length }} task\n </span>\n </div>\n\n <div class=\"grid grid-cols-2 md:grid-cols-4 gap-2\">\n <select\n class=\"bg-slate-800 border border-slate-700 rounded px-2 py-1 text-white text-xs\"\n [ngModel]=\"filterStatus_$()\"\n (ngModelChange)=\"handleFilterStatus($event)\"\n name=\"filterStatus\"\n >\n <option value=\"all\">Összes státusz</option>\n <option value=\"pending\">pending</option>\n <option value=\"scheduled\">scheduled</option>\n <option value=\"in-progress\">in-progress</option>\n <option value=\"waiting-on-user\">waiting-on-user</option>\n <option value=\"waiting-on-agent\">waiting-on-agent</option>\n <option value=\"completed\">completed</option>\n <option value=\"failed\">failed</option>\n <option value=\"cancelled\">cancelled</option>\n </select>\n\n <select\n class=\"bg-slate-800 border border-slate-700 rounded px-2 py-1 text-white text-xs\"\n [ngModel]=\"filterType_$()\"\n (ngModelChange)=\"handleFilterType($event)\"\n name=\"filterType\"\n >\n <option value=\"all\">Összes típus</option>\n <option value=\"implementation\">implementation</option>\n <option value=\"bug-fix\">bug-fix</option>\n <option value=\"review\">review</option>\n <option value=\"documentation\">documentation</option>\n <option value=\"refactor\">refactor</option>\n <option value=\"research\">research</option>\n <option value=\"spec-extension\">spec-extension</option>\n <option value=\"maintenance\">maintenance</option>\n <option value=\"bootstrap-project-cleanup\">bootstrap</option>\n </select>\n\n <select\n class=\"bg-slate-800 border border-slate-700 rounded px-2 py-1 text-white text-xs\"\n [ngModel]=\"filterPriority_$()\"\n (ngModelChange)=\"handleFilterPriority($event)\"\n name=\"filterPriority\"\n >\n <option value=\"all\">Összes prioritás</option>\n <option value=\"critical\">critical</option>\n <option value=\"high\">high</option>\n <option value=\"normal\">normal</option>\n <option value=\"low\">low</option>\n </select>\n\n <input\n class=\"bg-slate-800 border border-slate-700 rounded px-2 py-1 text-white text-xs\"\n [ngModel]=\"searchText_$()\"\n (ngModelChange)=\"handleSearchText($event)\"\n name=\"searchText\"\n placeholder=\"Keresés cím / leírás...\"\n />\n </div>\n\n @if (orderedGroupKeys_$().length === 0) {\n <p class=\"text-sm text-slate-500 italic text-center py-8\">\n Nincs a szűrőknek megfelelő task.\n </p>\n }\n\n @for (groupKey of orderedGroupKeys_$(); track groupKey) {\n <div class=\"bg-slate-950 border border-slate-800 rounded overflow-hidden\">\n <div class=\"bg-slate-800 px-3 py-1 text-xs font-bold text-slate-300 uppercase tracking-wider\">\n {{ groupKey }}\n <span class=\"text-slate-500 ml-2\">({{ groupedByStatus_$()[groupKey].length }})</span>\n </div>\n <table class=\"w-full text-xs\">\n <thead class=\"bg-slate-900\">\n <tr>\n <th class=\"text-left px-2 py-1 text-slate-400 font-normal\">Code</th>\n <th class=\"text-left px-2 py-1 text-slate-400 font-normal\">Title</th>\n <th class=\"text-left px-2 py-1 text-slate-400 font-normal\">Type</th>\n <th class=\"text-left px-2 py-1 text-slate-400 font-normal\">Priority</th>\n <th class=\"text-left px-2 py-1 text-slate-400 font-normal\">Source</th>\n <th class=\"text-left px-2 py-1 text-slate-400 font-normal\">Agent</th>\n </tr>\n </thead>\n <tbody>\n @for (t of groupedByStatus_$()[groupKey]; track t._id) {\n <tr class=\"border-t border-slate-800 hover:bg-slate-800/30\">\n <td class=\"px-2 py-1 font-mono text-cyan-400\">{{ t.code }}</td>\n <td class=\"px-2 py-1 text-slate-200\">{{ t.title }}</td>\n <td class=\"px-2 py-1 text-slate-400\">{{ t.type }}</td>\n <td class=\"px-2 py-1\">\n <span\n [class.text-red-400]=\"t.priority === 'critical'\"\n [class.text-orange-400]=\"t.priority === 'high'\"\n [class.text-slate-400]=\"t.priority === 'normal'\"\n [class.text-slate-600]=\"t.priority === 'low'\"\n >\n {{ t.priority }}\n </span>\n </td>\n <td class=\"px-2 py-1 text-slate-500\">{{ t.source }}</td>\n <td class=\"px-2 py-1 text-slate-400 text-xs\">\n {{ t.assignedAgentType || '—' }}\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n }\n</div>\n", "import { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit, Signal, inject, signal } from '@angular/core';\n\nimport { DyFM_Log } from '@futdevpro/fsm-dynamo';\n\nimport { Orchestrator_DataService } from '../../_services/orchestrator.data-service';\n\ninterface WorkflowSummary {\n id: string;\n name: string;\n summary: string;\n}\n\ninterface WorkflowFull {\n id: string;\n filename: string;\n rawText: string;\n summary: string;\n}\n\n/**\n * Workflow library panel — listázza az elérhető workflow-kat és lehetővé\n * teszi a teljes szöveg megtekintését.\n * Spec: REQ-ORC-013-C, REQ-ORC-011.\n */\n@Component({\n selector: 'app-orc-workflow-library-panel',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './orc-workflow-library-panel.component.html',\n})\n/** Orchestrator workflow library panel. */\nexport class ORC_WorkflowLibraryPanel_Component implements OnInit {\n\n private readonly orchestrator_DS: Orchestrator_DataService = inject(Orchestrator_DataService);\n\n @Input({ required: true }) orchestratorId!: string;\n\n private readonly workflowsRaw_$ = signal<WorkflowSummary[]>([]);\n private readonly selectedRaw_$ = signal<WorkflowFull | null>(null);\n private readonly loadingRaw_$ = signal<boolean>(false);\n\n readonly workflows_$: Signal<WorkflowSummary[]> = this.workflowsRaw_$.asReadonly();\n readonly selected_$: Signal<WorkflowFull | null> = this.selectedRaw_$.asReadonly();\n readonly loading_$: Signal<boolean> = this.loadingRaw_$.asReadonly();\n\n ngOnInit(): void {\n void this.loadList();\n }\n\n async handleOpenDetails(wfId: string): Promise<void> {\n try {\n this.loadingRaw_$.set(true);\n const workflow = await this.orchestrator_DS.getWorkflowById(this.orchestratorId, wfId);\n this.selectedRaw_$.set(workflow);\n } catch (error: unknown) {\n DyFM_Log.error('WorkflowLibrary | getWorkflow failed', error);\n } finally {\n this.loadingRaw_$.set(false);\n }\n }\n\n handleCloseDetails(): void {\n this.selectedRaw_$.set(null);\n }\n\n private async loadList(): Promise<void> {\n try {\n const workflows = await this.orchestrator_DS.listWorkflows(this.orchestratorId);\n this.workflowsRaw_$.set(workflows);\n } catch (error: unknown) {\n DyFM_Log.error('WorkflowLibrary | listWorkflows failed', error);\n }\n }\n}\n", "<div class=\"bg-slate-900 border border-slate-800 rounded p-4 space-y-3\">\n <div class=\"flex items-center justify-between\">\n <h2 class=\"text-lg font-semibold text-cyan-300\">Workflow Library</h2>\n <span class=\"text-xs text-slate-500 font-mono\">{{ workflows_$().length }} workflow</span>\n </div>\n\n @if (workflows_$().length === 0) {\n <p class=\"text-sm text-slate-500 italic\">Nincs betöltött workflow.</p>\n }\n\n <div class=\"grid grid-cols-1 md:grid-cols-2 gap-2\">\n @for (wf of workflows_$(); track wf.id) {\n <div\n class=\"bg-slate-950 border border-slate-800 rounded p-3 hover:border-cyan-700 cursor-pointer transition\"\n (click)=\"handleOpenDetails(wf.id)\"\n >\n <h3 class=\"text-cyan-400 font-mono text-sm\">{{ wf.name }}</h3>\n <p class=\"text-xs text-slate-400 mt-1 line-clamp-3\">{{ wf.summary }}</p>\n </div>\n }\n </div>\n\n @if (selected_$(); as sel) {\n <div class=\"fixed inset-0 bg-black/70 flex items-center justify-center p-4 z-50\" (click)=\"handleCloseDetails()\">\n <!-- BUG-VC-002 pattern: max-h-[80vh] Tailwind fallback + inline max-height: 80dvh a modern mobil iOS Safari dynamic toolbar-aware viewport-jára. -->\n <div class=\"bg-slate-900 border border-cyan-700 rounded p-4 max-w-3xl max-h-[80vh] overflow-auto w-full\"\n style=\"max-height: 80dvh;\"\n (click)=\"$event.stopPropagation()\">\n <div class=\"flex items-center justify-between mb-3\">\n <h3 class=\"text-cyan-300 font-bold\">{{ sel.filename }}</h3>\n <button class=\"text-slate-400 hover:text-white\" (click)=\"handleCloseDetails()\">✕</button>\n </div>\n <pre class=\"text-xs text-slate-200 whitespace-pre-wrap font-mono\">{{ sel.rawText }}</pre>\n </div>\n </div>\n }\n</div>\n", "import { CommonModule } from '@angular/common';\nimport { Component, OnInit, Signal, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport { DyFM_Log } from '@futdevpro/fsm-dynamo';\n\nimport { ORC_Session_Response } from '../../_services/orc-api-response.interface';\nimport { ORC_Realtime_ControlService } from '../../_services/orc-realtime.control-service';\nimport { Orchestrator_DataService } from '../../_services/orchestrator.data-service';\n\n/**\n * Orchestrator lista komponens — `/orchestrator` route landing page.\n * Táblázat + létrehozási űrlap + gyors lifecycle műveletek.\n */\n@Component({\n selector: 'app-orc-list',\n standalone: true,\n imports: [CommonModule, FormsModule, RouterModule],\n templateUrl: './orc-list.component.html',\n})\n/** Orchestrator lista oldal. */\nexport class ORC_List_Component implements OnInit {\n\n private readonly orchestrator_DS: Orchestrator_DataService = inject(Orchestrator_DataService);\n private readonly realtime_CS: ORC_Realtime_ControlService = inject(ORC_Realtime_ControlService);\n\n /** Signals a template számára. */\n readonly orchestratorList_$: Signal<ORC_Session_Response[]> = this.orchestrator_DS.orchestratorList_$;\n readonly activeCount_$: Signal<number> = this.orchestrator_DS.activeCount_$;\n\n /** Új Orchestrator űrlap state. */\n formName: string = '';\n formScope: string = 'single-project';\n formProjectId: string = '';\n formProviderName: string = '';\n formModel: string = '';\n formIsOpen: boolean = false;\n formError: string | null = null;\n\n ngOnInit(): void {\n this.realtime_CS.subscribeGlobal();\n void this.orchestrator_DS.refreshList();\n }\n\n /** Űrlap megnyitás. */\n openForm(): void {\n this.formIsOpen = true;\n this.formError = null;\n }\n\n /** Űrlap bezárás és reset. */\n closeForm(): void {\n this.formIsOpen = false;\n this.formName = '';\n this.formProjectId = '';\n this.formProviderName = '';\n this.formModel = '';\n this.formError = null;\n }\n\n /** Új orchestrator létrehozás. */\n async handleSubmitForm(): Promise<void> {\n try {\n if (!this.formName.trim()) {\n this.formError = 'Név megadása kötelező.';\n return;\n }\n await this.orchestrator_DS.createOrchestrator({\n name: this.formName.trim(),\n scope: this.formScope,\n projectId: this.formProjectId.trim() || undefined,\n providerName: this.formProviderName.trim() || undefined,\n model: this.formModel.trim() || undefined,\n });\n this.closeForm();\n } catch (error: unknown) {\n this.formError = this.extractErrorMessage(error);\n }\n }\n\n /** Start akció. */\n async handleStart(id: string): Promise<void> {\n try {\n await this.orchestrator_DS.startOrchestrator(id);\n } catch (error: unknown) {\n DyFM_Log.error('ORC_List | start failed', error);\n }\n }\n\n /** Pause akció. */\n async handlePause(id: string): Promise<void> {\n try {\n await this.orchestrator_DS.pauseOrchestrator(id);\n } catch (error: unknown) {\n DyFM_Log.error('ORC_List | pause failed', error);\n }\n }\n\n /** Resume akció. */\n async handleResume(id: string): Promise<void> {\n try {\n await this.orchestrator_DS.resumeOrchestrator(id);\n } catch (error: unknown) {\n DyFM_Log.error('ORC_List | resume failed', error);\n }\n }\n\n /** Stop akció. */\n async handleStop(id: string): Promise<void> {\n try {\n await this.orchestrator_DS.stopOrchestrator(id);\n } catch (error: unknown) {\n DyFM_Log.error('ORC_List | stop failed', error);\n }\n }\n\n /** Hibaüzenet kinyerés általános error objektumból. */\n private extractErrorMessage(error: unknown): string {\n if (typeof error === 'object' && error !== null && 'message' in error) {\n return String((error as { message: unknown }).message);\n }\n return String(error);\n }\n}\n", "<div class=\"p-6 space-y-4\">\n <div class=\"flex items-center justify-between\">\n <div>\n <h1 class=\"text-2xl font-bold text-cyan-300\">Orchestrator Agents</h1>\n <p class=\"text-sm text-slate-400\">\n Aktív: <span class=\"text-green-400 font-mono\">{{ activeCount_$() }}</span>\n </p>\n </div>\n @if (!formIsOpen) {\n <button\n class=\"px-4 py-2 bg-cyan-600 hover:bg-cyan-500 text-white font-bold rounded transition\"\n (click)=\"openForm()\"\n >\n + Új Orchestrator\n </button>\n }\n </div>\n\n @if (formIsOpen) {\n <form\n class=\"bg-slate-900 border border-cyan-800 rounded p-4 space-y-3\"\n (ngSubmit)=\"handleSubmitForm()\"\n >\n <h2 class=\"text-lg font-semibold text-cyan-300\">Új Orchestrator</h2>\n <div class=\"grid grid-cols-1 md:grid-cols-2 gap-3\">\n <label class=\"flex flex-col gap-1\">\n <span class=\"text-xs text-slate-400\">Név *</span>\n <input\n class=\"bg-slate-800 border border-slate-700 rounded px-2 py-1 text-white\"\n [(ngModel)]=\"formName\"\n name=\"name\"\n required\n />\n </label>\n <label class=\"flex flex-col gap-1\">\n <span class=\"text-xs text-slate-400\">Scope</span>\n <select\n class=\"bg-slate-800 border border-slate-700 rounded px-2 py-1 text-white\"\n [(ngModel)]=\"formScope\"\n name=\"scope\"\n >\n <option value=\"single-project\">single-project</option>\n <option value=\"cross-project\">cross-project</option>\n <option value=\"specialized\">specialized</option>\n </select>\n </label>\n <label class=\"flex flex-col gap-1\">\n <span class=\"text-xs text-slate-400\">Projekt ID</span>\n <input\n class=\"bg-slate-800 border border-slate-700 rounded px-2 py-1 text-white\"\n [(ngModel)]=\"formProjectId\"\n name=\"projectId\"\n />\n </label>\n <label class=\"flex flex-col gap-1\">\n <span class=\"text-xs text-slate-400\">LLM Provider</span>\n <input\n class=\"bg-slate-800 border border-slate-700 rounded px-2 py-1 text-white\"\n [(ngModel)]=\"formProviderName\"\n name=\"providerName\"\n placeholder=\"openai / anthropic / ...\"\n />\n </label>\n <label class=\"flex flex-col gap-1 md:col-span-2\">\n <span class=\"text-xs text-slate-400\">Modell</span>\n <input\n class=\"bg-slate-800 border border-slate-700 rounded px-2 py-1 text-white\"\n [(ngModel)]=\"formModel\"\n name=\"model\"\n />\n </label>\n </div>\n @if (formError) {\n <div class=\"bg-red-900 border border-red-700 rounded px-3 py-2 text-red-200 text-sm\">\n {{ formError }}\n </div>\n }\n <div class=\"flex gap-2 justify-end\">\n <button type=\"button\" class=\"px-3 py-1 text-slate-400 hover:text-white\" (click)=\"closeForm()\">\n Mégse\n </button>\n <button type=\"submit\" class=\"px-4 py-1 bg-cyan-600 hover:bg-cyan-500 text-white rounded\">\n Létrehozás\n </button>\n </div>\n </form>\n }\n\n <div class=\"overflow-x-auto bg-slate-900 border border-slate-800 rounded\">\n <table class=\"w-full text-sm\">\n <thead class=\"bg-slate-800 text-slate-300\">\n <tr>\n <th class=\"text-left px-3 py-2\">Név</th>\n <th class=\"text-left px-3 py-2\">Scope</th>\n <th class=\"text-left px-3 py-2\">Projekt</th>\n <th class=\"text-left px-3 py-2\">Státusz</th>\n <th class=\"text-left px-3 py-2\">Iter#</th>\n <th class=\"text-left px-3 py-2\">Műveletek</th>\n </tr>\n </thead>\n <tbody>\n @for (o of orchestratorList_$(); track o._id) {\n <tr class=\"border-t border-slate-800 hover:bg-slate-800/50\">\n <td class=\"px-3 py-2\">\n <a\n [routerLink]=\"['/orchestrator', o._id]\"\n class=\"text-cyan-400 hover:text-cyan-300 font-mono\"\n >\n {{ o.name }}\n </a>\n </td>\n <td class=\"px-3 py-2 text-slate-400\">{{ o.scope }}</td>\n <td class=\"px-3 py-2 text-slate-400 font-mono text-xs\">\n {{ o.projectId || o.projectIds.join(',') || '—' }}\n </td>\n <td class=\"px-3 py-2\">\n <span\n class=\"px-2 py-0.5 rounded text-xs font-bold\"\n [class.bg-green-900]=\"o.status === 'active'\"\n [class.text-green-300]=\"o.status === 'active'\"\n [class.bg-yellow-900]=\"o.status === 'paused'\"\n [class.text-yellow-300]=\"o.status === 'paused'\"\n [class.bg-cyan-900]=\"o.status === 'waiting-for-user' || o.status === 'bootstrap'\"\n [class.text-cyan-300]=\"o.status === 'waiting-for-user' || o.status === 'bootstrap'\"\n [class.bg-red-900]=\"o.status === 'failed'\"\n [class.text-red-300]=\"o.status === 'failed'\"\n [class.bg-slate-700]=\"o.status === 'stopped' || o.status === 'initializing'\"\n [class.text-slate-300]=\"o.status === 'stopped' || o.status === 'initializing'\"\n >\n {{ o.status }}\n </span>\n </td>\n <td class=\"px-3 py-2 text-slate-500 font-mono\">{{ o.iterationCount }}</td>\n <td class=\"px-3 py-2 space-x-1\">\n @if (o.status === 'initializing' || o.status === 'paused' || o.status === 'stopped') {\n <button class=\"px-2 py-0.5 bg-green-700 hover:bg-green-600 text-white rounded text-xs\" (click)=\"handleStart(o._id)\">\n start\n </button>\n }\n @if (o.status === 'active') {\n <button class=\"px-2 py-0.5 bg-yellow-700 hover:bg-yellow-600 text-white rounded text-xs\" (click)=\"handlePause(o._id)\">\n pause\n </button>\n }\n @if (o.status === 'paused') {\n <button class=\"px-2 py-0.5 bg-green-700 hover:bg-green-600 text-white rounded text-xs\" (click)=\"handleResume(o._id)\">\n resume\n </button>\n }\n @if (o.status !== 'stopped') {\n <button class=\"px-2 py-0.5 bg-red-800 hover:bg-red-700 text-white rounded text-xs\" (click)=\"handleStop(o._id)\">\n stop\n </button>\n }\n </td>\n </tr>\n } @empty {\n <tr>\n <td colspan=\"6\" class=\"px-3 py-6 text-center text-slate-500\">\n Nincs Orchestrator. Kattints a „+ Új Orchestrator\" gombra.\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n</div>\n", "import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { ORC_Detail_Component } from './_components/orc-detail/orc-detail.component';\nimport { ORC_List_Component } from './_components/orc-list/orc-list.component';\n\n/** Orchestrator modul route-ok. */\nconst orchestratorRoutes: Routes = [\n {\n path: '',\n pathMatch: 'full',\n component: ORC_List_Component,\n },\n {\n path: ':id',\n component: ORC_Detail_Component,\n },\n];\n\n/**\n * Orchestrator modul — Phase 1 MVP-váz.\n * Spec: REQ-ORC-013, REQ-ORC-017-B.\n */\n@NgModule({\n imports: [\n CommonModule,\n RouterModule.forChild(orchestratorRoutes),\n ORC_List_Component,\n ORC_Detail_Component,\n ],\n})\n/** Orchestrator modul. */\nexport class Orchestrator_Module {}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["import_fsm_dynamo", "import_fsm_dynamo", "ORC_ApiService", "http", "inject", "HttpClient", "baseUrl", "environment", "api", "createOrchestrator", "params", "firstValueFrom", "post", "listOrchestrators", "queryParts", "projectId", "push", "encodeURIComponent", "scope", "status", "query", "length", "join", "get", "getOrchestrator", "id", "startOrchestrator", "pauseOrchestrator", "resumeOrchestrator", "stopOrchestrator", "listTasks", "listMessages", "limit", "postUserMessage", "rawContent", "listQuestions", "openOnly", "confirmBootstrap", "submitQuestionAnswer", "questionId", "answer", "switchMode", "mode", "getGlobalSummary", "listWorkflows", "getWorkflowById", "wfId", "listBatches", "listDecisions", "factory", "\u0275fac", "providedIn", "Orchestrator_DataService", "orc_AS", "inject", "ORC_ApiService", "orchestratorListRaw_$", "signal", "currentOrchestratorRaw_$", "currentTasksRaw_$", "currentMessagesRaw_$", "isResponseGeneratingRaw_$", "orchestratorList_$", "asReadonly", "currentOrchestrator_$", "currentTasks_$", "currentMessages_$", "isResponseGenerating_$", "activeCount_$", "computed", "filter", "o", "status", "length", "refreshList", "__async", "response", "listOrchestrators", "set", "orchestrators", "error", "DyFM_Log", "refreshCurrent", "id", "getOrchestrator", "orchestrator", "refreshCurrentTasks", "listTasks", "tasks", "createOrchestrator", "params", "startOrchestrator", "Promise", "all", "pauseOrchestrator", "resumeOrchestrator", "stopOrchestrator", "confirmBootstrap", "switchMode", "mode", "refreshCurrentMessages", "listMessages", "messages", "setResponseGenerating", "value", "clearCurrent", "listWorkflows", "workflows", "getWorkflowById", "wfId", "workflow", "limit", "postUserMessage", "rawContent", "message", "listQuestions", "openOnly", "questions", "submitQuestionAnswer", "questionId", "answer", "question", "getGlobalSummary", "summary", "factory", "\u0275fac", "providedIn", "GLOBAL_EVENTS", "Set", "DETAIL_EVENTS", "RESPONSE_MESSAGE_EVENTS", "ORC_Realtime_ControlService", "ccapSocket_CS", "inject", "CCAP_Socket_ControlService", "orchestrator_DS", "Orchestrator_DataService", "globalSub", "detailSub", "responseSub", "currentOrchestratorId", "subscribeGlobal", "event$", "pipe", "filter", "envelope", "has", "event", "subscribe", "__async", "refreshList", "subscribeDetail", "orchestratorId", "unsubscribeDetail", "isForCurrent", "payload", "id", "setResponseGenerating", "Promise", "all", "refreshCurrent", "refreshCurrentTasks", "refreshCurrentMessages", "unsubscribe", "ngOnDestroy", "factory", "\u0275fac", "providedIn", "ORC_PHASES", "id", "label", "phase", "category", "Ses_GraphNodeCategory_Type", "milestone", "llmCall", "ORC_GraphLayout_Util", "buildSkeletonLayout", "centerX", "SES_GRAPH_PADDING", "SES_GRAPH_PHASE_NODE_WIDTH", "currentY", "nodes", "edges", "i", "length", "phaseData", "isMilestone", "nodeWidth", "SES_GRAPH_MILESTONE_NODE_WIDTH", "nodeHeight", "SES_GRAPH_MILESTONE_NODE_HEIGHT", "SES_GRAPH_PHASE_NODE_HEIGHT", "node", "Ses_GraphLayout_Util", "createNode", "x", "y", "width", "height", "push", "createEdge", "Ses_GraphEdgeCategory_Type", "sequential", "SES_GRAPH_VERTICAL_GAP", "edgesWithPaths", "map", "e", "source", "find", "n", "sourceNodeId", "target", "targetNodeId", "__spreadProps", "__spreadValues", "pathD", "computeEdgePath", "viewBox", "recalculateViewBox", "loopContainerBounds", "ORC_PHASE_TO_NODE_ID", "wake", "collect", "analyze", "execute", "report", "sleep", "ORC_PHASE_ORDER", "ORC_GRAPH_EVENTS", "Set", "ORC_Graph_DataService", "ccapSocket_CS", "inject", "CCAP_Socket_ControlService", "destroyRef", "DestroyRef", "graphLayout_$", "signal", "activeNodeId_$", "selectedNodeId_$", "isGraphOpen_$", "graphOrchestratorId_$", "isLoading_$", "eventSubscription", "constructor", "onDestroy", "disposeSubscription", "openGraph", "orchestratorId", "resetState", "set", "skeleton", "ORC_GraphLayout_Util", "buildSkeletonLayout", "event$", "pipe", "filter", "envelope", "has", "event", "payload", "subscribe", "applyOrcEvent", "closeGraph", "selectNode", "nodeId", "current", "clearSelection", "eventName", "applyPhaseActive", "markAllCompleted", "status", "phase", "layout", "foundActive", "orderedId", "setNodeState", "Ses_GraphNodeState_Type", "active", "completed", "node", "nodes", "state", "error", "id", "index", "findIndex", "n", "updatedNodes", "__spreadProps", "__spreadValues", "unsubscribe", "factory", "\u0275fac", "providedIn", "import_fsm_dynamo", "ORC_MessageBubbleMapper_Util", "mapAll", "messages", "map", "m", "mapSingle", "msg", "kind", "resolveKind", "isUserAligned", "from", "listKey", "_id", "bodyText", "rawContent", "timestampIso", "__created", "toolName", "undefined", "headerStatusDot", "CCAP_AgentConsoleBubbleKind_Type", "error", "flags", "showCopy", "showRawInfo", "useEditDiffForExpandable", "toolCallId", "messageType", "userPrompt", "assistant", "thinking", "tool", "toolResult", "statusUpdate", "info", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "q_r2", "context", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r3", "\u0275\u0275nextContext", "$implicit", "ctx_r3", "\u0275\u0275resetView", "handleYesNoChoice", "_id", "handleSubmitAnswer", "questionType", "\u0275\u0275classProp", "selectedChoice", "\u0275\u0275property", "choice_r7", "_r6", "handleMultipleChoice", "\u0275\u0275repeaterCreate", "ORC_ChatPanel_Component_Conditional_2_For_4_Conditional_5_For_2_Template", "\u0275\u0275repeaterTrackByIdentity", "_r5", "\u0275\u0275repeater", "possibleAnswers", "\u0275\u0275twoWayListener", "$event", "_r8", "i0", "\u0275\u0275twoWayBindingSet", "answerDrafts", "\u0275\u0275twoWayProperty", "\u0275\u0275template", "ORC_ChatPanel_Component_Conditional_2_For_4_Conditional_3_Template", "ORC_ChatPanel_Component_Conditional_2_For_4_Conditional_4_Template", "ORC_ChatPanel_Component_Conditional_2_For_4_Conditional_5_Template", "ORC_ChatPanel_Component_Conditional_2_For_4_Conditional_6_Template", "\u0275\u0275textInterpolate", "questionText", "\u0275\u0275conditional", "ORC_ChatPanel_Component_Conditional_2_For_4_Template", "_forTrack1", "openQuestions_$", "length", "\u0275\u0275element", "bubble_r9", "REFRESH_EVENTS", "Set", "ORC_ChatPanel_Component", "DyNX_SubscriptionControl", "orchestrator_DS", "inject", "Orchestrator_DataService", "ccapSocket_CS", "CCAP_Socket_ControlService", "orchestratorId", "scrollAnchor", "questionsRaw_$", "signal", "bubbleViews_$", "computed", "ORC_MessageBubbleMapper_Util", "mapAll", "currentMessages_$", "asReadonly", "isResponseGenerating_$", "userInput", "constructor", "ngOnInit", "refresh", "addSubscription", "event$", "pipe", "filter", "envelope", "has", "event", "payload", "subscribe", "__async", "scrollToBottom", "handleSendMessage", "rawContent", "postUserMessage", "refreshCurrentMessages", "error", "DyFM_Log", "questionId", "rawAnswer", "submitQuestionAnswer", "value", "questions", "listQuestions", "set", "setTimeout", "nativeElement", "scrollIntoView", "behavior", "selectors", "viewQuery", "rf", "ctx", "ORC_ChatPanel_Component_Conditional_2_Template", "ORC_ChatPanel_Component_For_5_Template", "_forTrack0", "ORC_ChatPanel_Component_ForEmpty_6_Template", "ORC_ChatPanel_Component_Conditional_7_Template", "_r1", "CommonModule", "FormsModule", "\u0275NgNoValidate", "DefaultValueAccessor", "NgControlStatus", "NgControlStatusGroup", "NgModel", "NgForm", "S_SessionChatColumnLayout_Component", "S_AgentConsoleMessageBubble_Component", "encapsulation", "ORC_GraphModal_Component", "graph_DS", "inject", "ORC_Graph_DataService", "isOpen_$", "isGraphOpen_$", "layout_$", "graphLayout_$", "activeNodeId_$", "selectedNodeId_$", "isLoading_$", "handleClose", "closeGraph", "handleNodeClick", "nodeId", "selectNode", "handleDetailClose", "clearSelection", "selectors", "standalone", "features", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275listener", "$event", "\u0275\u0275elementEnd", "\u0275\u0275property", "\u0275\u0275advance", "CommonModule", "S_Modal_Component", "Ses_GraphView_Component", "encapsulation", "ORC_ModeSwitcher_Component", "mode_$", "input", "required", "alias", "modeChanged", "output", "handleToggle", "next", "emit", "selectors", "inputs", "outputs", "standalone", "features", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275classProp", "\u0275\u0275property", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "t_r1", "code", "title", "type", "\u0275\u0275classProp", "priority", "\u0275\u0275textInterpolate1", "source", "assignedAgentType", "\u0275\u0275repeaterCreate", "ORC_TaskQueuePanel_Component_For_61_For_22_Template", "_forTrack0", "groupKey_r2", "ctx_r2", "groupedByStatus_$", "length", "\u0275\u0275repeater", "ORC_TaskQueuePanel_Component", "orchestrator_DS", "inject", "Orchestrator_DataService", "tasks_$", "filterStatus_$", "signal", "filterType_$", "filterPriority_$", "searchText_$", "filteredTasks_$", "computed", "list", "status", "search", "filter", "t", "trim", "CCAP_TextSearch_Util", "includesText", "description", "groups", "task", "key", "push", "statusOrder", "orderedGroupKeys_$", "handleFilterStatus", "value", "set", "handleFilterType", "handleFilterPriority", "handleSearchText", "selectors", "inputs", "standalone", "features", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275listener", "$event", "\u0275\u0275template", "ORC_TaskQueuePanel_Component_Conditional_59_Template", "ORC_TaskQueuePanel_Component_For_61_Template", "\u0275\u0275repeaterTrackByIdentity", "\u0275\u0275textInterpolate2", "\u0275\u0275property", "\u0275\u0275conditional", "CommonModule", "FormsModule", "NgSelectOption", "\u0275NgSelectMultipleOption", "DefaultValueAccessor", "SelectControlValueAccessor", "NgControlStatus", "NgModel", "encapsulation", "import_fsm_dynamo", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275listener", "wf_r2", "\u0275\u0275restoreView", "_r1", "$implicit", "ctx_r2", "\u0275\u0275nextContext", "\u0275\u0275resetView", "handleOpenDetails", "id", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "name", "summary", "_r4", "handleCloseDetails", "$event", "i0", "stopPropagation", "sel_r5", "filename", "rawText", "ORC_WorkflowLibraryPanel_Component", "orchestrator_DS", "inject", "Orchestrator_DataService", "orchestratorId", "workflowsRaw_$", "signal", "selectedRaw_$", "loadingRaw_$", "workflows_$", "asReadonly", "selected_$", "loading_$", "ngOnInit", "loadList", "wfId", "__async", "set", "workflow", "getWorkflowById", "error", "DyFM_Log", "workflows", "listWorkflows", "selectors", "inputs", "standalone", "features", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "ORC_WorkflowLibraryPanel_Component_Conditional_6_Template", "\u0275\u0275repeaterCreate", "ORC_WorkflowLibraryPanel_Component_For_9_Template", "_forTrack0", "ORC_WorkflowLibraryPanel_Component_Conditional_10_Template", "\u0275\u0275textInterpolate1", "length", "\u0275\u0275conditional", "\u0275\u0275repeater", "tmp_3_0", "CommonModule", "encapsulation", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r3", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "handleStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "_r4", "handlePause", "_r5", "handleResume", "_r6", "handleStop", "_r7", "handleConfirmBootstrap", "\u0275\u0275element", "\u0275\u0275property", "tasks_$", "tmp_3_0", "orchestratorId", "undefined", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "orc_r8", "scope", "projectId", "\u0275\u0275textInterpolate2", "providerName", "model", "iterationCount", "maxParallelism", "pollIntervalSeconds", "operationMode", "$event", "_r1", "handleSidebarResizeStart", "handleModeSwitch", "\u0275\u0275template", "ORC_Detail_Component_Conditional_0_Conditional_15_Template", "ORC_Detail_Component_Conditional_0_Conditional_16_Template", "ORC_Detail_Component_Conditional_0_Conditional_17_Template", "ORC_Detail_Component_Conditional_0_Conditional_18_Template", "handleOpenGraph", "handleToggleSidebar", "ORC_Detail_Component_Conditional_0_Conditional_23_Template", "sidebarTab", "ORC_Detail_Component_Conditional_0_Conditional_34_Template", "ORC_Detail_Component_Conditional_0_Conditional_35_Template", "ORC_Detail_Component_Conditional_0_Conditional_36_Template", "isSidebarOpen", "sidebarWidthPx", "isResizing", "name", "_id", "\u0275\u0275classProp", "status", "\u0275\u0275textInterpolate1", "\u0275\u0275conditional", "tmp_26_0", "length", "ORC_Detail_Component", "route", "inject", "ActivatedRoute", "orchestrator_DS", "Orchestrator_DataService", "realtime_CS", "ORC_Realtime_ControlService", "graph_DS", "ORC_Graph_DataService", "current_$", "currentOrchestrator_$", "currentTasks_$", "resizeStartX", "resizeStartWidth", "onResizeMove", "ev", "handleSidebarResizeMove", "onResizeEnd", "handleSidebarResizeEnd", "ngOnInit", "snapshot", "paramMap", "get", "refreshCurrent", "refreshCurrentTasks", "refreshCurrentMessages", "subscribeDetail", "ngOnDestroy", "unsubscribeDetail", "clearCurrent", "document", "removeEventListener", "__async", "startOrchestrator", "error", "DyFM_Log", "pauseOrchestrator", "resumeOrchestrator", "stopOrchestrator", "confirmBootstrap", "mode", "switchMode", "openGraph", "event", "clientX", "addEventListener", "delta", "Math", "max", "min", "selectors", "hostAttrs", "standalone", "features", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "rf", "ctx", "ORC_Detail_Component_Conditional_0_Template", "ORC_Detail_Component_Conditional_1_Template", "tmp_0_0", "CommonModule", "RouterModule", "RouterLink", "S_SessionDetailThreeColumnLayout_Component", "ORC_ChatPanel_Component", "ORC_GraphModal_Component", "ORC_ModeSwitcher_Component", "ORC_TaskQueuePanel_Component", "ORC_WorkflowLibraryPanel_Component", "encapsulation", "import_fsm_dynamo", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "openForm", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "formError", "_r3", "handleSubmitForm", "\u0275\u0275twoWayListener", "$event", "i0", "\u0275\u0275twoWayBindingSet", "formName", "formScope", "formProjectId", "formProviderName", "formModel", "\u0275\u0275template", "ORC_List_Component_Conditional_10_Conditional_30_Template", "closeForm", "\u0275\u0275twoWayProperty", "\u0275\u0275conditional", "_r4", "o_r5", "$implicit", "handleStart", "_id", "_r6", "handlePause", "_r7", "handleResume", "_r8", "handleStop", "ORC_List_Component_For_29_Conditional_14_Template", "ORC_List_Component_For_29_Conditional_15_Template", "ORC_List_Component_For_29_Conditional_16_Template", "ORC_List_Component_For_29_Conditional_17_Template", "\u0275\u0275property", "\u0275\u0275pureFunction1", "_c0", "name", "\u0275\u0275textInterpolate", "scope", "projectId", "projectIds", "join", "\u0275\u0275classProp", "status", "iterationCount", "ORC_List_Component", "orchestrator_DS", "inject", "Orchestrator_DataService", "realtime_CS", "ORC_Realtime_ControlService", "orchestratorList_$", "activeCount_$", "formIsOpen", "ngOnInit", "subscribeGlobal", "refreshList", "__async", "trim", "createOrchestrator", "undefined", "providerName", "model", "error", "extractErrorMessage", "id", "startOrchestrator", "DyFM_Log", "pauseOrchestrator", "resumeOrchestrator", "stopOrchestrator", "String", "message", "selectors", "standalone", "features", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "rf", "ctx", "ORC_List_Component_Conditional_9_Template", "ORC_List_Component_Conditional_10_Template", "\u0275\u0275repeaterCreate", "ORC_List_Component_For_29_Template", "_forTrack0", "ORC_List_Component_ForEmpty_30_Template", "\u0275\u0275repeater", "CommonModule", "FormsModule", "\u0275NgNoValidate", "NgSelectOption", "\u0275NgSelectMultipleOption", "DefaultValueAccessor", "SelectControlValueAccessor", "NgControlStatus", "NgControlStatusGroup", "RequiredValidator", "NgModel", "NgForm", "RouterModule", "RouterLink", "encapsulation", "orchestratorRoutes", "path", "pathMatch", "component", "ORC_List_Component", "ORC_Detail_Component", "Orchestrator_Module", "CommonModule", "RouterModule", "forChild"]
|
|
7
|
-
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as i,b as c}from"./chunk-L42Z7YNK.js";import"./chunk-Q2PKIGLB.js";import"./chunk-77YTUUCR.js";import"./chunk-RYD462IO.js";import"./chunk-7JUIBZEE.js";import"./chunk-C7XPBJTG.js";import"./chunk-CAMM4S7P.js";import"./chunk-WPHEQXWB.js";import"./chunk-5YDHEFSD.js";import"./chunk-QQ2GRU2N.js";import"./chunk-XWYXBY7S.js";import"./chunk-EDMLVG72.js";import"./chunk-Q2NVIOCY.js";import"./chunk-OLLHHMTV.js";import"./chunk-U3Y5GO6O.js";import"./chunk-IHNAAEA2.js";import"./chunk-V3VQWJQL.js";import"./chunk-26YUXPZI.js";import"./chunk-ZBTWQZNB.js";import"./chunk-FLAJXIYW.js";import"./chunk-EO4DNTT4.js";import"./chunk-BH3GMEZZ.js";import"./chunk-5UPNU54P.js";import"./chunk-A33MCHYC.js";import"./chunk-RUSAMFGS.js";import{E as e,Kb as r,z as t}from"./chunk-TBMJSIBB.js";var n=[{path:"",component:i}],s=(()=>{class o{static \u0275fac=function(m){return new(m||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[c,r.forChild(n)]})}return o})();export{s as ProjectSource_RoutedModule};
|
|
2
|
-
//# sourceMappingURL=project-source-routed.module-DP3RD454.js.map
|