CI / test (push) Canceled after 0s
## Summary epic r04 - begin refactor ## Change Type - [x] Cowork feature - [ ] Bug fix - [ ] Core AI contribution - [ ] Test / hardening - [ ] Performance - [ ] Documentation ## Related Work Cowork Task: Core Repo: http://34.143.229.138/gitea-admin/fsg-ai-core-assets Core AI Issue: Core Task: Related PR: ## Scope What is intentionally included? What is intentionally NOT included? ## Validation - [ ] Unit tests - [ ] Integration tests - [ ] Manual verification - [ ] Regression check Commands / evidence: ## Security Impact Permission / credential / network / customer data impact: ## Compatibility - [ ] No breaking change - [ ] Breaking change documented ## Reviewer Notes Anything Cowork reviewers should pay attention to. --------- Co-authored-by: Anh Tran Nguyen Minh <anhtnm1@fpt.com> Co-authored-by: Huong Le Thi Thien <huongltt35@fpt.com> Co-authored-by: Nam Pham Dinh Thanh <nampdt@fpt.com> Co-authored-by: Vu Dam Tuan <vudt15@fpt.com> Co-authored-by: Hiep Ha Van <hiephv3@fpt.com> Co-authored-by: Lam Hoang Van <lamhv7@fpt.com> Reviewed-on: #7 Co-authored-by: Duy Le Huu <duylh19@fpt.com>
3079 lines
123 KiB
JSON
3079 lines
123 KiB
JSON
{
|
|
"lane": "chat-view (khung Chat / Messages / composer)",
|
|
"source_file_scanned": "ui/co4e_tab.py",
|
|
"generated_from_raw_symbol_count": 220,
|
|
"raw_scan_agents": 3,
|
|
"final_row_count": 218,
|
|
"chat_view_target": "presentation/co4e/co4e_chat_view.py",
|
|
"container_target": "ui/co4e_tab.py",
|
|
"chat_view_symbol_count": 21,
|
|
"container_symbol_count": 197,
|
|
"other_lane_symbol_count": 0,
|
|
"khac_tai_lieu_notes_found": 0,
|
|
"merged_duplicate_symbol_groups": [
|
|
"Co4ETab._reload_sidebar (dong 686 va 701, 2 luot quet trung, gop thanh 686-719)",
|
|
"Co4ETab._run_from (dong 1399 va unknown_method_fragment_before_1401 dong 1401, 2 luot quet trung, gop thanh 1399-1403)"
|
|
],
|
|
"kept_separate_anomaly_symbols": [
|
|
"Co4ETab.showEvent (2 dinh nghia cung ten trong 1 class -- anomaly co that trong source, ban thu 2 (dong 1772-1775) de len ban dau (dong 939-941) luc runtime; khop voi 'kept_separate_anomaly_symbols' cua ca bang cu va ban do run-control)"
|
|
],
|
|
"old_table_reference": "docs/architecture/co4e-split-map.json",
|
|
"systemic_old_table_finding": "Bang cu dung target_file='presentation/co4e/co4e_tab.py' cho toan bo than con lai cua lop Co4ETab (75 dong), nhung file do o repo hien tai chi la factory build_co4e_tab() mong (~53 dong, boc nguyen Co4ETab cu 1:1) -- KHONG phai noi lop Co4ETab that su song. Lop do van dang o ui/co4e_tab.py. Da xac nhan lai phat hien nay tu ban do run-control (docs/architecture/co4e-split-map-run-control.md, muc 1). Ban do nay tu quy doi 'presentation/co4e/co4e_tab.py' -> 'ui/co4e_tab.py' truoc khi ket luan lech o cot cuoi cung.",
|
|
"scope_narrowing_finding": "Bang cu (50 dong, luc no duoc quet) coi 'chat view' theo nghia rong: gom ca KHUNG widget (header Messages, QStackedWidget chat_stack, composer, _ChatInput, RoutingToggle) LAN toan bo business logic dieu phoi luot chat (_chat_send, _apply_co4e_routing, _run_chat_turn va 4 closure long ben trong, _extract_agent_directive, _resolve_agent, _append_chat/_append_diff/_append_plan, _fmt_usage/_apply_usage/_refresh_usage_total, _toggle_messages/_ensure_flow_log/_active_log/chat_log/_plan_bubble). Mo ta dich cua lan quet 3-agent hien tai (lap lai trong tung ghi chu rieng le, tu khoa 'theo yeu cau KHONG thuoc co4e_chat_view.py') thu hep pham vi presentation/co4e/co4e_chat_view.py CHI con la KHUNG WIDGET thuan tuy: _ChatInput + _directive_token, va phan _build_chat dung UI (header/composer/stack) cua Co4ETab. Toan bo business logic dieu phoi luot chat, quan ly log per-flow, usage va routing o LAI ui/co4e_tab.py. Day la khac biet lon nhat giua bang cu va ban do nay -- anh huong toi hon 20 dong ben duoi (xem cot cuoi cung cua tung dong lien quan).",
|
|
"plan_glyph_and_friends_finding": "_PLAN_GLYPH, _fmt_plan, _skill_names, _agent_names, _qcolor la cac symbol PHUC VU chat (glyph/format cho bong bong 'plan', autocomplete /skill /agent trong o nhap, mau cot trang thai) nhung bang cu lai xep chung vao presentation/co4e/co4e_run_control_widget.py (khong phai chat_view.py, cung khong phai ui/co4e_tab.py) -- cung sai giong he phat hien da ghi nhan o ban do run-control cho chinh 4 symbol nay (_PLAN_GLYPH, _fmt_plan, _qcolor) cong them 2 symbol moi (_skill_names, _agent_names) chua tung duoc doi chieu truoc do. Ly do cac symbol nay o lai ui/co4e_tab.py thay vi chat_view.py: _skill_names/_agent_names duoc dung o nhieu noi trong file (khong chi trong composer chat), con _PLAN_GLYPH/_fmt_plan phuc vu _append_plan (business logic, KHONG thuoc widget) va _qcolor la kieu gia tri dung trong _refresh_runs (khong lien quan chat).",
|
|
"khac_tai_lieu_rows": [],
|
|
"rows": [
|
|
{
|
|
"symbol": "_PLAN_GLYPH",
|
|
"kind": "attribute",
|
|
"line_start": 47,
|
|
"line_end": 48,
|
|
"line_display": "47-48",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "hằng số module dùng bởi _fmt_plan cho việc hiển thị plan trong chat log — thuộc business logic của Co4ETab, không phải khung widget chat",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 45-46) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "_fmt_plan",
|
|
"kind": "function",
|
|
"line_start": 51,
|
|
"line_end": 60,
|
|
"line_display": "51-60",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "dùng bởi _append_plan (business logic per-flow, ở lại Co4ETab theo mô tả target)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 49-58) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "_skill_names",
|
|
"kind": "function",
|
|
"line_start": 63,
|
|
"line_end": 67,
|
|
"line_display": "63-67",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "đọc skills từ đĩa qua core.skills.list_skills/builtin_skills; dùng ở nhiều nơi trong file (dòng 164, 714, 1294, 1321, 1344) không chỉ trong chat composer nên không chuyển riêng vào co4e_chat_view.py",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 61-65) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "_agent_names",
|
|
"kind": "function",
|
|
"line_start": 70,
|
|
"line_end": 73,
|
|
"line_display": "70-73",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "đọc agents từ đĩa qua core.co4e.list_custom_agents; dùng ở nhiều nơi (dòng 168 và ngoài phạm vi đọc), giữ ở Co4ETab như _skill_names",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 68-71) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "_EqualTabBar",
|
|
"kind": "class",
|
|
"line_start": 76,
|
|
"line_end": 96,
|
|
"line_display": "76-96",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "không thấy chỗ nào khởi tạo _EqualTabBar trong toàn file (grep 'flow_bar =' cho thấy dùng QTabBar thường ở dòng 735) — có thể là code chết, cần người quyết có xoá hay giữ -- QUYET DINH: khong tim thay noi nao khoi tao _EqualTabBar trong toan file (flow_bar dung QTabBar thuong o dong 735) -- co the la code chet, nhung du con hay khong no la mot QTabBar tien ich cho sidebar icon-tabs, KHONG lien quan chat -- khop voi quyet dinh da chot cho cung symbol nay o lane run-control (ui/co4e_tab.py).",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "_EqualTabBar.tabSizeHint",
|
|
"kind": "method",
|
|
"line_start": 84,
|
|
"line_end": 92,
|
|
"line_display": "84-92",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "thuộc _EqualTabBar — xem note ở class, có vẻ không còn dùng -- QUYET DINH: thuoc _EqualTabBar -- xem ly do o class, khong lien quan chat.",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "_EqualTabBar.resizeEvent",
|
|
"kind": "method",
|
|
"line_start": 94,
|
|
"line_end": 96,
|
|
"line_display": "94-96",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "thuộc _EqualTabBar — xem note ở class -- QUYET DINH: thuoc _EqualTabBar -- xem ly do o class, khong lien quan chat.",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "_PaletteList",
|
|
"kind": "class",
|
|
"line_start": 99,
|
|
"line_end": 121,
|
|
"line_display": "99-121",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "dùng cho wf_list ở sidebar (drag workflow lên canvas), không liên quan chat view",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `unsure` (dong 97-119) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "_PaletteList.__init__",
|
|
"kind": "method",
|
|
"line_start": 104,
|
|
"line_end": 108,
|
|
"line_display": "104-108",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `unsure` (dong 102-106) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "_PaletteList.startDrag",
|
|
"kind": "method",
|
|
"line_start": 110,
|
|
"line_end": 121,
|
|
"line_display": "110-121",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `unsure` (dong 108-119) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "_directive_token",
|
|
"kind": "function",
|
|
"line_start": 124,
|
|
"line_end": 136,
|
|
"line_display": "124-136",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "chỉ được gọi bởi _ChatInput (dòng 156, 194) — hàm thuần Python phục vụ autocomplete của ô nhập chat, nên đi cùng _ChatInput",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "_ChatInput",
|
|
"kind": "class",
|
|
"line_start": 139,
|
|
"line_end": 228,
|
|
"line_display": "139-228",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "ô nhập của composer — nằm trong phạm vi widget khung chat theo mô tả target",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "_ChatInput.submit",
|
|
"kind": "attribute",
|
|
"line_start": 143,
|
|
"line_end": 143,
|
|
"line_display": "143",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "Signal lớp, phát khi Enter được nhấn — Co4ETab._chat_send (nằm ngoài phạm vi đọc) sẽ nối vào signal này từ bên ngoài widget",
|
|
"merge_note": null,
|
|
"in_old_table": "chua",
|
|
"old_table_mismatch": "BANG CU BO SOT: khong co dong nao cho symbol nay trong bang cu (363 dong) du no ro rang ton tai trong pham vi da quet -- co the do agent quet truoc bo lot, hoac day la ten sinh ra tu buoc gop lat cua ban do nay (vd ten method suy doan/tam)."
|
|
},
|
|
{
|
|
"symbol": "_ChatInput.__init__",
|
|
"kind": "method",
|
|
"line_start": 145,
|
|
"line_end": 153,
|
|
"line_display": "145-153",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "_ChatInput._maybe_popup",
|
|
"kind": "method",
|
|
"line_start": 155,
|
|
"line_end": 180,
|
|
"line_display": "155-180",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "gọi _skill_names()/_agent_names() (đọc đĩa) để dựng popup gợi ý — phần Qt (định vị popup, resize) đòi QWidget sống",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "_ChatInput._add_row",
|
|
"kind": "method",
|
|
"line_start": 182,
|
|
"line_end": 186,
|
|
"line_display": "182-186",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "_ChatInput._accept",
|
|
"kind": "method",
|
|
"line_start": 188,
|
|
"line_end": 201,
|
|
"line_display": "188-201",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "_ChatInput.focusOutEvent",
|
|
"kind": "method",
|
|
"line_start": 203,
|
|
"line_end": 206,
|
|
"line_display": "203-206",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "_ChatInput.keyPressEvent",
|
|
"kind": "method",
|
|
"line_start": 208,
|
|
"line_end": 228,
|
|
"line_display": "208-228",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "phát submit khi Enter và popup không hiện — Co4ETab nối submit -> _chat_send ở ngoài widget",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab",
|
|
"kind": "class",
|
|
"line_start": 231,
|
|
"line_end": 700,
|
|
"line_display": "231-700",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "cắt ngang lát — cần agent gộp đối chiếu (class tiếp tục sau dòng 700)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.status_message",
|
|
"kind": "attribute",
|
|
"line_start": 232,
|
|
"line_end": 232,
|
|
"line_display": "232",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "Signal lớp",
|
|
"merge_note": null,
|
|
"in_old_table": "chua",
|
|
"old_table_mismatch": "BANG CU BO SOT: khong co dong nao cho symbol nay trong bang cu (363 dong) du no ro rang ton tai trong pham vi da quet -- co the do agent quet truoc bo lot, hoac day la ten sinh ra tu buoc gop lat cua ban do nay (vd ten method suy doan/tam)."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.__init__",
|
|
"kind": "method",
|
|
"line_start": 234,
|
|
"line_end": 306,
|
|
"line_display": "234-306",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "dựng toàn bộ layout 3 cột (sidebar/center/config); chưa thấy lệnh dựng chat panel trong phạm vi 1-700 — có thể nằm trong _build_center() ở dòng > 700",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.ctx",
|
|
"kind": "attribute",
|
|
"line_start": 236,
|
|
"line_end": 236,
|
|
"line_display": "236",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._wf",
|
|
"kind": "attribute",
|
|
"line_start": 237,
|
|
"line_end": 237,
|
|
"line_display": "237",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "trạng thái chia sẻ rộng — flow đang hiển thị trên canvas; nhiều method (kể cả chat log lookup ngoài phạm vi đọc) phụ thuộc vào self._wf",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._chat_worker",
|
|
"kind": "attribute",
|
|
"line_start": 238,
|
|
"line_end": 238,
|
|
"line_display": "238",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "AgentWorker của chat — theo mô tả target, _chat_send/job()/AgentWorker KHÔNG chuyển vào co4e_chat_view.py, ở lại Co4ETab",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 236) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.manager",
|
|
"kind": "attribute",
|
|
"line_start": 240,
|
|
"line_end": 240,
|
|
"line_display": "240",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "Co4ERunManager — đã có RunsPagePanel/co4e_run_control_widget.py riêng, nhưng self.manager là thuộc tính của Co4ETab, ở lại",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 238) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._flow_runs",
|
|
"kind": "attribute",
|
|
"line_start": 245,
|
|
"line_end": 245,
|
|
"line_display": "245",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "trạng thái chia sẻ: wf_id -> run_id đang chạy trên canvas, dùng bởi nhiều method flow tab",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 243) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._run_logs",
|
|
"kind": "attribute",
|
|
"line_start": 246,
|
|
"line_end": 246,
|
|
"line_display": "246",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "map run_id -> ChatView; theo mô tả target đây là business logic per-flow, ở lại Co4ETab dù ChatView instance được hiển thị trong QStackedWidget của co4e_chat_view.py",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 244) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._flow_outputs",
|
|
"kind": "attribute",
|
|
"line_start": 247,
|
|
"line_end": 247,
|
|
"line_display": "247",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `application/workflows/co4e_workflow_service.py` (dong 245) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._flow_usage",
|
|
"kind": "attribute",
|
|
"line_start": 250,
|
|
"line_end": 250,
|
|
"line_display": "250",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "usage per-flow (↓in ↑out ▤ctx $cost) — hiển thị ở label usage-total trong composer của co4e_chat_view.py, nhưng dữ liệu và logic tính toán ở lại Co4ETab (chỉ phần dựng label rỗng thuộc chat_view)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 248) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._project_id",
|
|
"kind": "attribute",
|
|
"line_start": 251,
|
|
"line_end": 251,
|
|
"line_display": "251",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `unsure` (dong 249) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._project_dir",
|
|
"kind": "attribute",
|
|
"line_start": 252,
|
|
"line_end": 252,
|
|
"line_display": "252",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `unsure` (dong 250) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._manual_active",
|
|
"kind": "attribute",
|
|
"line_start": 254,
|
|
"line_end": 254,
|
|
"line_display": "254",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 252) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._manual_order",
|
|
"kind": "attribute",
|
|
"line_start": 255,
|
|
"line_end": 255,
|
|
"line_display": "255",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 253) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._manual_idx",
|
|
"kind": "attribute",
|
|
"line_start": 256,
|
|
"line_end": 256,
|
|
"line_display": "256",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 254) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._flows",
|
|
"kind": "attribute",
|
|
"line_start": 259,
|
|
"line_end": 259,
|
|
"line_display": "259",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "trạng thái chia sẻ — danh sách flow đang mở dạng tab kiểu trình duyệt, dùng bởi hầu hết method _*flow_tab*",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._active_flow_idx",
|
|
"kind": "attribute",
|
|
"line_start": 260,
|
|
"line_end": 260,
|
|
"line_display": "260",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._split",
|
|
"kind": "attribute",
|
|
"line_start": 263,
|
|
"line_end": 263,
|
|
"line_display": "263",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.config",
|
|
"kind": "attribute",
|
|
"line_start": 270,
|
|
"line_end": 270,
|
|
"line_display": "270",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "StepConfigPanel — đã tách sang presentation/co4e/node_property_panel.py ở làn khác; thuộc tính self.config trên Co4ETab ở lại đây",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/node_property_panel.py` (dong 268) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._config_collapsed",
|
|
"kind": "attribute",
|
|
"line_start": 276,
|
|
"line_end": 276,
|
|
"line_display": "276",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._config_expanded_w",
|
|
"kind": "attribute",
|
|
"line_start": 277,
|
|
"line_end": 277,
|
|
"line_display": "277",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._narrow_guard",
|
|
"kind": "attribute",
|
|
"line_start": 282,
|
|
"line_end": 282,
|
|
"line_display": "282",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._open_flow",
|
|
"kind": "method",
|
|
"line_start": 309,
|
|
"line_end": 340,
|
|
"line_display": "309-340",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "đọc/ghi self._flows, self.flow_bar — trạng thái chia sẻ giữa các flow tab",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._close_other_flows",
|
|
"kind": "method",
|
|
"line_start": 342,
|
|
"line_end": 357,
|
|
"line_display": "342-357",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "self._flows, self._active_flow_idx",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._show_runs",
|
|
"kind": "method",
|
|
"line_start": 359,
|
|
"line_end": 369,
|
|
"line_display": "359-369",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "self.flow_bar dùng chung với logic mở flow tab",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._on_flow_tab_changed",
|
|
"kind": "method",
|
|
"line_start": 371,
|
|
"line_end": 387,
|
|
"line_display": "371-387",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "đọc self.center_stack (được gán ở ngoài phạm vi đọc, có thể trong _build_center) — trạng thái chia sẻ quan trọng theo mô tả của team",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._sync_runs_toggle",
|
|
"kind": "method",
|
|
"line_start": 389,
|
|
"line_end": 396,
|
|
"line_display": "389-396",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._add_tab_close_button",
|
|
"kind": "method",
|
|
"line_start": 398,
|
|
"line_end": 408,
|
|
"line_display": "398-408",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._close_flow_tab_button",
|
|
"kind": "method",
|
|
"line_start": 410,
|
|
"line_end": 414,
|
|
"line_display": "410-414",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._close_flow_tab",
|
|
"kind": "method",
|
|
"line_start": 416,
|
|
"line_end": 444,
|
|
"line_display": "416-444",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "self._flows, self._flow_runs, self._run_logs — trạng thái chia sẻ giữa flow tab và run log của chat",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._sync_active_flow_tab_text",
|
|
"kind": "method",
|
|
"line_start": 446,
|
|
"line_end": 449,
|
|
"line_display": "446-449",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._reflect_active_run",
|
|
"kind": "method",
|
|
"line_start": 451,
|
|
"line_end": 459,
|
|
"line_display": "451-459",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "self._flow_runs, self.canvas — canvas là thuộc tính được gán ngoài phạm vi đọc",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `unsure` (dong 449-457) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._cur_run_id",
|
|
"kind": "method",
|
|
"line_start": 462,
|
|
"line_end": 475,
|
|
"line_display": "462-475",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "self._wf, self._flow_runs — logic thuần, không đụng Qt trực tiếp (chỉ đọc self._wf là attribute)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 460-473) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._outputs_for",
|
|
"kind": "method",
|
|
"line_start": 477,
|
|
"line_end": 480,
|
|
"line_display": "477-480",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "self._flow_outputs — logic thuần",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `application/workflows/co4e_workflow_service.py` (dong 475-478) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._update_run_btn",
|
|
"kind": "method",
|
|
"line_start": 482,
|
|
"line_end": 484,
|
|
"line_display": "482-484",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "self.run_btn được gán ngoài phạm vi đọc",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 480-482) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._build_sidebar",
|
|
"kind": "method",
|
|
"line_start": 487,
|
|
"line_end": 600,
|
|
"line_display": "487-600",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "method dài 113 dòng, gộp nhiều việc không liên quan: dựng section Workflows (list+CRUD+run-bg), section Agents (AgentListPanel), section Skills (SkillsListPanel), và section Runs (danh sách rút gọn) — nên tách thành các hàm _build_workflows_section/_build_agents_section/_build_skills_section/_build_runs_section riêng",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._sections",
|
|
"kind": "attribute",
|
|
"line_start": 495,
|
|
"line_end": 495,
|
|
"line_display": "495",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "trạng thái chia sẻ giữa _section/_fold_section/_sync_section_arrow — map key -> (header, body, stretch)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.sidebar",
|
|
"kind": "attribute",
|
|
"line_start": 496,
|
|
"line_end": 496,
|
|
"line_display": "496",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.side_split",
|
|
"kind": "attribute",
|
|
"line_start": 500,
|
|
"line_end": 500,
|
|
"line_display": "500",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._build_sidebar.<locals>._Col",
|
|
"kind": "class",
|
|
"line_start": 505,
|
|
"line_end": 514,
|
|
"line_display": "505-514",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "lớp adapter cục bộ bên trong _build_sidebar, bọc QSplitter để các section builder gọi .addWidget(w, stretch) như trước",
|
|
"merge_note": null,
|
|
"in_old_table": "chua",
|
|
"old_table_mismatch": "BANG CU BO SOT: khong co dong nao cho symbol nay trong bang cu (363 dong) du no ro rang ton tai trong pham vi da quet -- co the do agent quet truoc bo lot, hoac day la ten sinh ra tu buoc gop lat cua ban do nay (vd ten method suy doan/tam)."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._build_sidebar.<locals>._Col.__init__",
|
|
"kind": "method",
|
|
"line_start": 508,
|
|
"line_end": 509,
|
|
"line_display": "508-509",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "chua",
|
|
"old_table_mismatch": "BANG CU BO SOT: khong co dong nao cho symbol nay trong bang cu (363 dong) du no ro rang ton tai trong pham vi da quet -- co the do agent quet truoc bo lot, hoac day la ten sinh ra tu buoc gop lat cua ban do nay (vd ten method suy doan/tam)."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._build_sidebar.<locals>._Col.addWidget",
|
|
"kind": "method",
|
|
"line_start": 511,
|
|
"line_end": 513,
|
|
"line_display": "511-513",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "chua",
|
|
"old_table_mismatch": "BANG CU BO SOT: khong co dong nao cho symbol nay trong bang cu (363 dong) du no ro rang ton tai trong pham vi da quet -- co the do agent quet truoc bo lot, hoac day la ten sinh ra tu buoc gop lat cua ban do nay (vd ten method suy doan/tam)."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.wf_new_btn",
|
|
"kind": "attribute",
|
|
"line_start": 518,
|
|
"line_end": 518,
|
|
"line_display": "518",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.wf_list",
|
|
"kind": "attribute",
|
|
"line_start": 529,
|
|
"line_end": 529,
|
|
"line_display": "529",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.wf_edit_btn",
|
|
"kind": "attribute",
|
|
"line_start": 536,
|
|
"line_end": 536,
|
|
"line_display": "536",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.wf_dup_btn",
|
|
"kind": "attribute",
|
|
"line_start": 537,
|
|
"line_end": 537,
|
|
"line_display": "537",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.wf_del_btn",
|
|
"kind": "attribute",
|
|
"line_start": 538,
|
|
"line_end": 538,
|
|
"line_display": "538",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.wf_runbg_btn",
|
|
"kind": "attribute",
|
|
"line_start": 545,
|
|
"line_end": 545,
|
|
"line_display": "545",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._agent_panel",
|
|
"kind": "attribute",
|
|
"line_start": 557,
|
|
"line_end": 557,
|
|
"line_display": "557",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "AgentListPanel — widget đã tách sẵn ở làn khác (presentation/co4e/agent_list_panel.py), Co4ETab chỉ giữ tham chiếu và nối signal",
|
|
"merge_note": null,
|
|
"in_old_table": "chua",
|
|
"old_table_mismatch": "BANG CU BO SOT: khong co dong nao cho symbol nay trong bang cu (363 dong) du no ro rang ton tai trong pham vi da quet -- co the do agent quet truoc bo lot, hoac day la ten sinh ra tu buoc gop lat cua ban do nay (vd ten method suy doan/tam)."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.ag_new_btn",
|
|
"kind": "attribute",
|
|
"line_start": 558,
|
|
"line_end": 558,
|
|
"line_display": "558",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/agent_list_panel.py` (dong 550) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.agent_list",
|
|
"kind": "attribute",
|
|
"line_start": 560,
|
|
"line_end": 560,
|
|
"line_display": "560",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/agent_list_panel.py` (dong 558) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.ag_edit_btn",
|
|
"kind": "attribute",
|
|
"line_start": 561,
|
|
"line_end": 561,
|
|
"line_display": "561",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/agent_list_panel.py` (dong 562) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.ag_del_btn",
|
|
"kind": "attribute",
|
|
"line_start": 563,
|
|
"line_end": 563,
|
|
"line_display": "563",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/agent_list_panel.py` (dong 563) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._skills_panel",
|
|
"kind": "attribute",
|
|
"line_start": 572,
|
|
"line_end": 572,
|
|
"line_display": "572",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "SkillsListPanel — đã tách sẵn ở làn khác (presentation/co4e/skills_list_panel.py)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.sk_manage_btn",
|
|
"kind": "attribute",
|
|
"line_start": 573,
|
|
"line_end": 573,
|
|
"line_display": "573",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.skill_list",
|
|
"kind": "attribute",
|
|
"line_start": 575,
|
|
"line_end": 575,
|
|
"line_display": "575",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.runs_more_btn",
|
|
"kind": "attribute",
|
|
"line_start": 583,
|
|
"line_end": 583,
|
|
"line_display": "583",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 586) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.runs_side_list",
|
|
"kind": "attribute",
|
|
"line_start": 591,
|
|
"line_end": 591,
|
|
"line_display": "591",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 594) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._SIDE_RUNS",
|
|
"kind": "attribute",
|
|
"line_start": 602,
|
|
"line_end": 602,
|
|
"line_display": "602",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "hằng số lớp",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 605) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._refresh_side_runs",
|
|
"kind": "method",
|
|
"line_start": 604,
|
|
"line_end": 616,
|
|
"line_display": "604-616",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "self.manager.runs() — trạng thái run manager",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 607-619) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._on_side_run_clicked",
|
|
"kind": "method",
|
|
"line_start": 618,
|
|
"line_end": 626,
|
|
"line_display": "618-626",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "self.runs_table được gán ngoài phạm vi đọc",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 621-629) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._section",
|
|
"kind": "method",
|
|
"line_start": 628,
|
|
"line_end": 660,
|
|
"line_display": "628-660",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "ghi vào self._sections — trạng thái chia sẻ",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._fold_section",
|
|
"kind": "method",
|
|
"line_start": 662,
|
|
"line_end": 674,
|
|
"line_display": "662-674",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._sync_section_arrow",
|
|
"kind": "method",
|
|
"line_start": 676,
|
|
"line_end": 678,
|
|
"line_display": "676-678",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._icon_btn",
|
|
"kind": "method",
|
|
"line_start": 680,
|
|
"line_end": 684,
|
|
"line_display": "680-684",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._reload_sidebar",
|
|
"kind": "method",
|
|
"line_start": 686,
|
|
"line_end": 719,
|
|
"line_display": "686-719",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "[GOP 2 luot quet trung ky hieu, dong 686] mot agent doc than den 700 (cat ngang lat), agent kia doc tiep 701-719 (vong lap nap agent list + skill list vao palette qua co4e.list_custom_agents()/skills_mod.skill_prefix_for) -- QUYET DINH: nap lai toan bo sidebar (Workflows/Agents/Skills/Runs quick-list), khong lien quan chat -- khop voi quyet dinh da chot o lane run-control (dong 685-718 trong ban do do).",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._palette_item",
|
|
"kind": "method",
|
|
"line_start": 721,
|
|
"line_end": 725,
|
|
"line_display": "721-725",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "helper tĩnh dựng QListWidgetItem với icon() — không liên quan chat",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `unsure` (dong 724-728) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._build_center",
|
|
"kind": "method",
|
|
"line_start": 728,
|
|
"line_end": 868,
|
|
"line_display": "728-868",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "method dài ~140 dòng, gộp nhiều việc không liên quan: (1) dựng flow tab bar + scroll ẩn (không hiển thị), (2) center_stack + trang Runs, (3) toolbar flow editor (name_edit/add/save/mode/run/runs_btn), (4) canvas + overlay zoom, (5) tích hợp splitter canvas/chat qua self._build_chat(). Nên tách nhỏ thêm. Đọc/ghi self.center_stack, self.canvas, self._vsplit — trạng thái chia sẻ rộng với nhiều nhóm chức năng khác (canvas widget, run control, chat view)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.flow_bar",
|
|
"kind": "attribute",
|
|
"line_start": 735,
|
|
"line_end": 735,
|
|
"line_display": "735",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.flow_add_btn",
|
|
"kind": "attribute",
|
|
"line_start": 761,
|
|
"line_end": 761,
|
|
"line_display": "761",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.flow_scroll",
|
|
"kind": "attribute",
|
|
"line_start": 778,
|
|
"line_end": 778,
|
|
"line_display": "778",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.center_stack",
|
|
"kind": "attribute",
|
|
"line_start": 802,
|
|
"line_end": 802,
|
|
"line_display": "802",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "trạng thái chia sẻ — self.center_stack được dùng bởi _build_runs_page, _show_runs và nhiều nơi khác ngoài lát này; chuyển trang giữa Runs table và flow editor",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.name_edit",
|
|
"kind": "attribute",
|
|
"line_start": 811,
|
|
"line_end": 811,
|
|
"line_display": "811",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.add_step_btn",
|
|
"kind": "attribute",
|
|
"line_start": 816,
|
|
"line_end": 816,
|
|
"line_display": "816",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.save_btn",
|
|
"kind": "attribute",
|
|
"line_start": 819,
|
|
"line_end": 819,
|
|
"line_display": "819",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.save_tpl_btn",
|
|
"kind": "attribute",
|
|
"line_start": 823,
|
|
"line_end": 824,
|
|
"line_display": "823-824",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.mode_combo",
|
|
"kind": "attribute",
|
|
"line_start": 825,
|
|
"line_end": 825,
|
|
"line_display": "825",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 828) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.run_btn",
|
|
"kind": "attribute",
|
|
"line_start": 830,
|
|
"line_end": 830,
|
|
"line_display": "830",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 833) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.runs_btn",
|
|
"kind": "attribute",
|
|
"line_start": 837,
|
|
"line_end": 837,
|
|
"line_display": "837",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 840) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.canvas",
|
|
"kind": "attribute",
|
|
"line_start": 853,
|
|
"line_end": 853,
|
|
"line_display": "853",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "trạng thái chia sẻ rộng — self.canvas đọc/ghi bởi rất nhiều method trong và ngoài lát này (add_blank_step, _on_node_selected, _on_config_changed, _sync_wf_from_canvas, _apply_workflow, _start_canvas_run...)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_canvas_widget.py` (dong 856) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._vsplit",
|
|
"kind": "attribute",
|
|
"line_start": 860,
|
|
"line_end": 860,
|
|
"line_display": "860",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "trạng thái chia sẻ — self._vsplit dùng bởi _toggle_messages để co giãn giữa canvas và chat box; đúng như cảnh báo trong đề bài",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._build_runs_page",
|
|
"kind": "method",
|
|
"line_start": 870,
|
|
"line_end": 898,
|
|
"line_display": "870-898",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "chỉ wiring RunsPagePanel (đã tách ở co4e_run_control_widget.py, không thuộc lát này) vào handler của Co4ETab — ở lại ui/co4e_tab.py theo đúng mô tả docstring của method",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 873-932) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.runs_back_btn",
|
|
"kind": "attribute",
|
|
"line_start": 881,
|
|
"line_end": 881,
|
|
"line_display": "881",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 882) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.runs_title",
|
|
"kind": "attribute",
|
|
"line_start": 883,
|
|
"line_end": 883,
|
|
"line_display": "883",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 887) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.ws_folder_btn",
|
|
"kind": "attribute",
|
|
"line_start": 884,
|
|
"line_end": 884,
|
|
"line_display": "884",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 892) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.run_stop_btn",
|
|
"kind": "attribute",
|
|
"line_start": 887,
|
|
"line_end": 887,
|
|
"line_display": "887",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 900) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.run_rename_btn",
|
|
"kind": "attribute",
|
|
"line_start": 889,
|
|
"line_end": 889,
|
|
"line_display": "889",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 905) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.run_del_btn",
|
|
"kind": "attribute",
|
|
"line_start": 891,
|
|
"line_end": 891,
|
|
"line_display": "891",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 909) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.run_clear_btn",
|
|
"kind": "attribute",
|
|
"line_start": 893,
|
|
"line_end": 893,
|
|
"line_display": "893",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 913) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.runs_table",
|
|
"kind": "attribute",
|
|
"line_start": 895,
|
|
"line_end": 895,
|
|
"line_display": "895",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 921) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._wrap_config",
|
|
"kind": "method",
|
|
"line_start": 900,
|
|
"line_end": 930,
|
|
"line_display": "900-930",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "không liên quan chat; liên quan node-property config panel (đã tách riêng ở node_property_panel.py, không thuộc lát/target được giao cho agent này)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/node_property_panel.py` (dong 934-964) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.config_toggle_btn",
|
|
"kind": "attribute",
|
|
"line_start": 912,
|
|
"line_end": 912,
|
|
"line_display": "912",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/node_property_panel.py` (dong 946) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.config_title",
|
|
"kind": "attribute",
|
|
"line_start": 917,
|
|
"line_end": 917,
|
|
"line_display": "917",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/node_property_panel.py` (dong 951) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._cfg_vlayout",
|
|
"kind": "attribute",
|
|
"line_start": 923,
|
|
"line_end": 923,
|
|
"line_display": "923",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/node_property_panel.py` (dong 957) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._cfg_top_spacer",
|
|
"kind": "attribute",
|
|
"line_start": 927,
|
|
"line_end": 927,
|
|
"line_display": "927",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/node_property_panel.py` (dong 961) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._cfg_bot_spacer",
|
|
"kind": "attribute",
|
|
"line_start": 928,
|
|
"line_end": 928,
|
|
"line_display": "928",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/node_property_panel.py` (dong 962) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.config_container",
|
|
"kind": "attribute",
|
|
"line_start": 929,
|
|
"line_end": 929,
|
|
"line_display": "929",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/node_property_panel.py` (dong 963) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._NARROW",
|
|
"kind": "attribute",
|
|
"line_start": 937,
|
|
"line_end": 937,
|
|
"line_display": "937",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "hằng số class-level (không phải self.<tên>) — ngưỡng bề rộng cửa sổ hẹp, không liên quan chat",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.showEvent",
|
|
"kind": "method",
|
|
"line_start": 939,
|
|
"line_end": 941,
|
|
"line_display": "939-941",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "Qt override, không liên quan chat",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._apply_narrow_layout",
|
|
"kind": "method",
|
|
"line_start": 943,
|
|
"line_end": 953,
|
|
"line_display": "943-953",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "không liên quan chat",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._toggle_config",
|
|
"kind": "method",
|
|
"line_start": 955,
|
|
"line_end": 998,
|
|
"line_display": "955-998",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "không liên quan chat; điều khiển config panel + splitter self._split",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._refresh_min_width",
|
|
"kind": "method",
|
|
"line_start": 1000,
|
|
"line_end": 1005,
|
|
"line_display": "1000-1005",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "không liên quan chat",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._build_canvas_overlay",
|
|
"kind": "method",
|
|
"line_start": 1007,
|
|
"line_end": 1028,
|
|
"line_display": "1007-1028",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "overlay zoom cho canvas — không liên quan chat, thuộc nhóm canvas widget",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_canvas_widget.py` (dong 1041-1062) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.zoom_in_btn",
|
|
"kind": "attribute",
|
|
"line_start": 1020,
|
|
"line_end": 1020,
|
|
"line_display": "1020",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_canvas_widget.py` (dong 1054) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.zoom_out_btn",
|
|
"kind": "attribute",
|
|
"line_start": 1021,
|
|
"line_end": 1021,
|
|
"line_display": "1021",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_canvas_widget.py` (dong 1055) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.fit_btn",
|
|
"kind": "attribute",
|
|
"line_start": 1022,
|
|
"line_end": 1022,
|
|
"line_display": "1022",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_canvas_widget.py` (dong 1056) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._build_chat",
|
|
"kind": "method",
|
|
"line_start": 1030,
|
|
"line_end": 1093,
|
|
"line_display": "1030-1093",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "Khớp trực tiếp với mô tả target: dựng header 'Messages' (icon+tiêu đề+nút thu/mở), QStackedWidget chat_stack chứa ChatView theo flow, composer (usage_total label + _ChatInput + RoutingToggle + nút Gửi). NHƯNG method này CŨNG khởi tạo trạng thái chia sẻ không thuộc widget thuần: self._flow_logs (dict per-flow), self._vsplit_sizes, self._msgs_collapsed (dùng bởi _toggle_messages/_ensure_flow_log ở lại Co4ETab) — nên tách phần init state đó ra khỏi hàm dựng widget khi chuyển file. Cũng nối self.chat_input.submit và self.chat_send_btn.clicked trực tiếp tới self._chat_send (method ở lại Co4ETab) — cần thiết kế callback/signal khi tách.",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._chat_widget",
|
|
"kind": "attribute",
|
|
"line_start": 1032,
|
|
"line_end": 1032,
|
|
"line_display": "1032",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "trạng thái chia sẻ — self._chat_widget.setMaximumHeight() được gọi từ _toggle_messages (ở lại Co4ETab) — điểm nối giữa 2 file",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._mhdr",
|
|
"kind": "attribute",
|
|
"line_start": 1038,
|
|
"line_end": 1038,
|
|
"line_display": "1038",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "trạng thái chia sẻ — self._mhdr.sizeHint() đọc từ _toggle_messages (ở lại Co4ETab)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.msgs_icon",
|
|
"kind": "attribute",
|
|
"line_start": 1040,
|
|
"line_end": 1040,
|
|
"line_display": "1040",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.msgs_title",
|
|
"kind": "attribute",
|
|
"line_start": 1041,
|
|
"line_end": 1041,
|
|
"line_display": "1041",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.chat_toggle_btn",
|
|
"kind": "attribute",
|
|
"line_start": 1042,
|
|
"line_end": 1042,
|
|
"line_display": "1042",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "trạng thái chia sẻ — icon/tooltip của nút này bị _toggle_messages (ở lại Co4ETab) đổi qua lại icon 'chevron-up'/'chevron-down'",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.chat_stack",
|
|
"kind": "attribute",
|
|
"line_start": 1057,
|
|
"line_end": 1057,
|
|
"line_display": "1057",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "trạng thái chia sẻ quan trọng — self.chat_stack được _ensure_flow_log (addWidget) và _apply_workflow (setCurrentWidget) đọc/ghi, cả hai ở lại Co4ETab; điểm nối chính giữa chat_view.py và Co4ETab",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._flow_logs",
|
|
"kind": "attribute",
|
|
"line_start": 1058,
|
|
"line_end": 1058,
|
|
"line_display": "1058",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "trạng thái chia sẻ per-flow (dict wf_id -> ChatView) — theo mô tả target, business logic quản lý log stays ở Co4ETab (_ensure_flow_log/_active_log/chat_log), nên dict này nên ở lại ui/co4e_tab.py dù được khởi tạo trong _build_chat (widget-building method) — cần tách khởi tạo này ra khỏi _build_chat khi chuyển file",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1092) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.chat_input_row",
|
|
"kind": "attribute",
|
|
"line_start": 1060,
|
|
"line_end": 1060,
|
|
"line_display": "1060",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "trạng thái chia sẻ — show()/hide() gọi từ _toggle_messages (ở lại Co4ETab)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._usage_total_lbl",
|
|
"kind": "attribute",
|
|
"line_start": 1065,
|
|
"line_end": 1065,
|
|
"line_display": "1065",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "label usage-total của composer — có khả năng được cập nhật bởi _refresh_usage_total (không thuộc lát này, khả năng ở Co4ETab) — kiểm tra lại khi gộp",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.chat_input",
|
|
"kind": "attribute",
|
|
"line_start": 1071,
|
|
"line_end": 1071,
|
|
"line_display": "1071",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "_ChatInput — submit signal nối tới self._chat_send (method ở lại Co4ETab, không có trong lát này)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.chat_send_btn",
|
|
"kind": "attribute",
|
|
"line_start": 1074,
|
|
"line_end": 1074,
|
|
"line_display": "1074",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "clicked nối tới self._chat_send (ở lại Co4ETab)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.co4e_routing_toggle",
|
|
"kind": "attribute",
|
|
"line_start": 1079,
|
|
"line_end": 1079,
|
|
"line_display": "1079",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "presentation/co4e/co4e_chat_view.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._co4e_routed_provider",
|
|
"kind": "attribute",
|
|
"line_start": 1080,
|
|
"line_end": 1080,
|
|
"line_display": "1080",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "biến trạng thái routing override cho lượt chat kế tiếp — là business state hơn là widget, được đọc/ghi ở _chat_send (không thuộc lát này); không rõ nó nên ở composer widget hay ở lại Co4ETab, cần người quyết -- QUYET DINH: bien trang thai routing override cho luot chat ke tiep la BUSINESS STATE, khong phai widget -- cung mot self._co4e_routed_provider duoc gan lai o dong 1819 (trong _apply_co4e_routing, o lai ui/co4e_tab.py theo yeu cau de bai); khoi tao lan dau nay (dong 1080, ben trong _build_chat) nen duoc TACH RA khoi ham dung widget khi chuyen file, giong cach xu ly _flow_logs (dong 1058) -- quyet dinh o day = ui/co4e_tab.py.",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1114; 1853) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._vsplit_sizes",
|
|
"kind": "attribute",
|
|
"line_start": 1087,
|
|
"line_end": 1087,
|
|
"line_display": "1087",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "trạng thái chia sẻ với _toggle_messages (ở lại Co4ETab theo mô tả target) — dùng self._vsplit",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1121) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._msgs_collapsed",
|
|
"kind": "attribute",
|
|
"line_start": 1088,
|
|
"line_end": 1088,
|
|
"line_display": "1088",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "trạng thái chia sẻ với _toggle_messages (ở lại Co4ETab theo mô tả target)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1122) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._toggle_messages",
|
|
"kind": "method",
|
|
"line_start": 1095,
|
|
"line_end": 1127,
|
|
"line_display": "1095-1127",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "loại trừ khỏi chat_view.py theo mô tả đề bài — dùng self._vsplit (splitter canvas/chat) để co giãn không gian, đây là logic của Co4ETab không phải của widget chat",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1129-1161) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._ensure_flow_log",
|
|
"kind": "method",
|
|
"line_start": 1130,
|
|
"line_end": 1139,
|
|
"line_display": "1130-1139",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "loại trừ khỏi chat_view.py theo mô tả đề bài — quản lý state per-flow (self._flow_logs, self.chat_stack)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1164-1173) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._active_log",
|
|
"kind": "method",
|
|
"line_start": 1141,
|
|
"line_end": 1143,
|
|
"line_display": "1141-1143",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "loại trừ khỏi chat_view.py theo mô tả đề bài",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1175-1177) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.chat_log",
|
|
"kind": "method",
|
|
"line_start": 1145,
|
|
"line_end": 1149,
|
|
"line_display": "1145-1149",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "property, loại trừ khỏi chat_view.py theo mô tả đề bài",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1180-1183) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._plan_bubble",
|
|
"kind": "method",
|
|
"line_start": 1151,
|
|
"line_end": 1157,
|
|
"line_display": "1151-1157",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "property với getter (1151-1153) và setter (1155-1157), loại trừ khỏi chat_view.py theo mô tả đề bài",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1186-1187) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._apply_workflow",
|
|
"kind": "method",
|
|
"line_start": 1160,
|
|
"line_end": 1173,
|
|
"line_display": "1160-1173",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "đọc/ghi self._wf, self.chat_stack, self.canvas — trạng thái chia sẻ rộng, business logic đổi workflow đang hiển thị",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._new_workflow",
|
|
"kind": "method",
|
|
"line_start": 1175,
|
|
"line_end": 1183,
|
|
"line_display": "1175-1183",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._selected_wf",
|
|
"kind": "method",
|
|
"line_start": 1185,
|
|
"line_end": 1191,
|
|
"line_display": "1185-1191",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "co4e.get_workflow(ident) đọc từ repository lưu trữ workflow (đĩa)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._load_selected_workflow",
|
|
"kind": "method",
|
|
"line_start": 1193,
|
|
"line_end": 1196,
|
|
"line_display": "1193-1196",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "qua _selected_wf() chạm đĩa",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._edit_selected_workflow",
|
|
"kind": "method",
|
|
"line_start": 1198,
|
|
"line_end": 1203,
|
|
"line_display": "1198-1203",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "qua _selected_wf() chạm đĩa",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._duplicate_selected_workflow",
|
|
"kind": "method",
|
|
"line_start": 1205,
|
|
"line_end": 1212,
|
|
"line_display": "1205-1212",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "co4e.duplicate_workflow ghi đĩa",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `application/workflows/co4e_workflow_service.py` (dong 1239-1246) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._wf_context_menu",
|
|
"kind": "method",
|
|
"line_start": 1214,
|
|
"line_end": 1237,
|
|
"line_display": "1214-1237",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "dựng QMenu và dispatch tới các method khác (một số chạm đĩa) — bản thân method này không chạm đĩa trực tiếp",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._rename_workflow",
|
|
"kind": "method",
|
|
"line_start": 1239,
|
|
"line_end": 1255,
|
|
"line_display": "1239-1255",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "QInputDialog modal + co4e.save_workflow ghi đĩa; cũng đồng bộ self._wf.name nếu đang mở đúng flow — trạng thái chia sẻ với name_edit/self._wf",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `application/workflows/co4e_workflow_service.py` (dong 1273-1289) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._delete_selected_workflow",
|
|
"kind": "method",
|
|
"line_start": 1257,
|
|
"line_end": 1263,
|
|
"line_display": "1257-1263",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "co4e.delete_workflow ghi đĩa",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `application/workflows/co4e_workflow_service.py` (dong 1291-1297) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._sync_wf_from_canvas",
|
|
"kind": "method",
|
|
"line_start": 1265,
|
|
"line_end": 1268,
|
|
"line_display": "1265-1268",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "đọc self.canvas.nodes()/edges() và self.name_edit — trạng thái chia sẻ với canvas",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._save",
|
|
"kind": "method",
|
|
"line_start": 1270,
|
|
"line_end": 1275,
|
|
"line_display": "1270-1275",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "co4e.save_workflow ghi đĩa",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `application/workflows/co4e_workflow_service.py` (dong 1304-1309) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._autosave",
|
|
"kind": "method",
|
|
"line_start": 1277,
|
|
"line_end": 1280,
|
|
"line_display": "1277-1280",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "co4e.save_workflow ghi đĩa (chỉ khi workflow đã tồn tại)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `application/workflows/co4e_workflow_service.py` (dong 1311-1314) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._on_name_changed",
|
|
"kind": "method",
|
|
"line_start": 1282,
|
|
"line_end": 1284,
|
|
"line_display": "1282-1284",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "gọi self._sync_active_flow_tab_text() (không thuộc lát này) — cập nhật self._wf.name",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._add_blank_step",
|
|
"kind": "method",
|
|
"line_start": 1286,
|
|
"line_end": 1288,
|
|
"line_display": "1286-1288",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._on_node_selected",
|
|
"kind": "method",
|
|
"line_start": 1291,
|
|
"line_end": 1297,
|
|
"line_display": "1291-1297",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "đọc self.canvas.nodes() và self.config — thuộc nhóm node-property, không phải chat",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/node_property_panel.py` (dong 1325-1331) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._on_config_changed",
|
|
"kind": "method",
|
|
"line_start": 1299,
|
|
"line_end": 1302,
|
|
"line_display": "1299-1302",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "gọi self._autosave() (ghi đĩa gián tiếp)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/node_property_panel.py` (dong 1333-1336) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._new_agent",
|
|
"kind": "method",
|
|
"line_start": 1305,
|
|
"line_end": 1306,
|
|
"line_display": "1305-1306",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/agent_list_panel.py` (dong 1339-1340) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._edit_agent",
|
|
"kind": "method",
|
|
"line_start": 1308,
|
|
"line_end": 1316,
|
|
"line_display": "1308-1316",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "co4e.list_custom_agents() khả năng đọc đĩa",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/agent_list_panel.py` (dong 1342-1350) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._edit_agent_dialog",
|
|
"kind": "method",
|
|
"line_start": 1318,
|
|
"line_end": 1324,
|
|
"line_display": "1318-1324",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "mở Co4EAgentDialog modal, co4e.save_custom_agent ghi đĩa",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/agent_list_panel.py` (dong 1352-1358) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._delete_agent",
|
|
"kind": "method",
|
|
"line_start": 1326,
|
|
"line_end": 1333,
|
|
"line_display": "1326-1333",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "co4e.delete_custom_agent ghi đĩa",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/agent_list_panel.py` (dong 1360-1367) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._manage_skills",
|
|
"kind": "method",
|
|
"line_start": 1335,
|
|
"line_end": 1339,
|
|
"line_display": "1335-1339",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "mở SkillsDialog modal",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/skills_list_panel.py` (dong 1369-1373) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._skill_map",
|
|
"kind": "method",
|
|
"line_start": 1342,
|
|
"line_end": 1348,
|
|
"line_display": "1342-1348",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "logic thuần Python, đọc skills_mod.skill_prefix_for(name) — có khả năng đọc file skill từ đĩa",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `application/workflows/co4e_workflow_service.py` (dong 1376-1382) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._current_mode",
|
|
"kind": "method",
|
|
"line_start": 1350,
|
|
"line_end": 1351,
|
|
"line_display": "1350-1351",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "đọc self.mode_combo.currentData()",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1384-1385) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._on_mode_changed",
|
|
"kind": "method",
|
|
"line_start": 1353,
|
|
"line_end": 1359,
|
|
"line_display": "1353-1359",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "reset self._manual_active/_manual_order/_manual_idx — trạng thái run-mode chia sẻ",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1387-1393) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._on_run_clicked",
|
|
"kind": "method",
|
|
"line_start": 1361,
|
|
"line_end": 1371,
|
|
"line_display": "1361-1371",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "gọi self.manager.stop/self._start_canvas_run — thuộc nhóm run control",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1395-1400) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._start_canvas_run",
|
|
"kind": "method",
|
|
"line_start": 1373,
|
|
"line_end": 1390,
|
|
"line_display": "1373-1390",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "khởi động self.manager.start(...) — sẽ trigger chạy step/agent (network/AI provider); ghi self._flow_runs, self._run_logs[run_id] = self.chat_log — điểm nối giữa run-control và chat log (self.chat_log là property loại trừ khỏi chat_view.py)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1407-1424) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._run_single",
|
|
"kind": "method",
|
|
"line_start": 1392,
|
|
"line_end": 1397,
|
|
"line_display": "1392-1397",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "gọi _start_canvas_run",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1426-1431) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._run_from",
|
|
"kind": "method",
|
|
"line_start": 1399,
|
|
"line_end": 1403,
|
|
"line_display": "1399-1403",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "[GOP 2 luot quet trung ky hieu, dong 1399] mot agent doc phan dau (1399-1400, chua thay than ham), agent kia doc phan duoi (1401-1403, tag tam 'unknown_method_fragment_before_1401') voi than ham la self._start_canvas_run(..., only=self._downstream(node_id), seed=dict(self._outputs_for(self._wf.id))) -- QUYET DINH: chay lai tu 1 node cu the tren canvas (logic thuc thi run), khong lien quan chat; giu o ui/co4e_tab.py cung nhom voi _run_single/_downstream.",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1433-1437) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._downstream",
|
|
"kind": "method",
|
|
"line_start": 1405,
|
|
"line_end": 1416,
|
|
"line_display": "1405-1416",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "đọc self.canvas.edges() — thuần logic đồ thị, test được không cần Qt nếu canvas là fake",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1439-1450) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._manual_run_or_advance",
|
|
"kind": "method",
|
|
"line_start": 1419,
|
|
"line_end": 1432,
|
|
"line_display": "1419-1432",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "đọc/ghi self._wf, self._manual_order, self._manual_idx, self._manual_active, self._outputs_for — trạng thái chia sẻ giữa manual-run và canvas; gọi self.canvas.reset_statuses()",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1453-1466) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._manual_step",
|
|
"kind": "method",
|
|
"line_start": 1434,
|
|
"line_end": 1450,
|
|
"line_display": "1434-1450",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "ghi self._flow_runs, self._run_logs (định tuyến log theo từng flow — trạng thái chia sẻ then chốt); self.manager.start có thể chạm đĩa/spawn agent; self.run_btn.setText cần widget sống",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1468-1484) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._topo_order",
|
|
"kind": "method",
|
|
"line_start": 1452,
|
|
"line_end": 1457,
|
|
"line_display": "1452-1457",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1486-1491) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._on_manager_event",
|
|
"kind": "method",
|
|
"line_start": 1460,
|
|
"line_end": 1516,
|
|
"line_display": "1460-1516",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "method dài (~57 dòng) gộp nhiều việc: định tuyến sự kiện theo run_id/flow, cập nhật canvas status, ghi self._outputs_for/self._run_logs/self._flow_runs (trạng thái chia sẻ nhiều flow song song), gọi self._append_chat/_append_diff/_append_plan, hiện popup thông báo — nên cân nhắc tách theo loại event",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1494-1550) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._notify_run_finished",
|
|
"kind": "method",
|
|
"line_start": 1518,
|
|
"line_end": 1539,
|
|
"line_display": "1518-1539",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "dựng QMessageBox không chặn — cần QApplication sống",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1552-1573) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._run_popups",
|
|
"kind": "attribute",
|
|
"line_start": 1526,
|
|
"line_end": 1527,
|
|
"line_display": "1526-1527",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "khởi tạo lười (hasattr guard) bên trong _notify_run_finished — không thấy gán trong __init__ ở lát này, agent đọc __init__ nên đối chiếu",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1560-1561) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._refresh_runs",
|
|
"kind": "method",
|
|
"line_start": 1541,
|
|
"line_end": 1582,
|
|
"line_display": "1541-1582",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "cập nhật self.runs_table, self.flow_bar, self._sections — chạm nhiều widget cùng lúc",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1575-1616) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._stop_selected_run",
|
|
"kind": "method",
|
|
"line_start": 1584,
|
|
"line_end": 1590,
|
|
"line_display": "1584-1590",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "đọc self.runs_table.currentRow()",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1618-1624) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._delete_selected_run",
|
|
"kind": "method",
|
|
"line_start": 1592,
|
|
"line_end": 1605,
|
|
"line_display": "1592-1605",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "ghi self._flow_runs, self._run_logs — trạng thái chia sẻ per-flow",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1626-1639) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._runs_context_menu",
|
|
"kind": "method",
|
|
"line_start": 1607,
|
|
"line_end": 1621,
|
|
"line_display": "1607-1621",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "dựng QMenu tại vị trí chuột — cần widget sống",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1641-1655) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.set_project",
|
|
"kind": "method",
|
|
"line_start": 1624,
|
|
"line_end": 1640,
|
|
"line_display": "1624-1640",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "ghi self._project_id, self._project_dir (trạng thái workspace chia sẻ, ảnh hưởng _flow_output_root/_out_dir); load_project đọc dữ liệu project (đĩa); gọi self._refresh_ws_folder_btn nếu widget tồn tại",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._flow_output_root",
|
|
"kind": "method",
|
|
"line_start": 1642,
|
|
"line_end": 1652,
|
|
"line_display": "1642-1652",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "đọc self._project_dir, self.ctx.config — logic thuần tính đường dẫn, không tự chạm đĩa (không mkdir/open)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._refresh_ws_folder_btn",
|
|
"kind": "method",
|
|
"line_start": 1654,
|
|
"line_end": 1659,
|
|
"line_display": "1654-1659",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "self.ws_folder_btn.setText/setToolTip",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._open_workspace_folder",
|
|
"kind": "method",
|
|
"line_start": 1661,
|
|
"line_end": 1668,
|
|
"line_display": "1661-1668",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "mkdir + open_location (mở file explorer hệ điều hành, spawn process)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._open_run_output_folder",
|
|
"kind": "method",
|
|
"line_start": 1670,
|
|
"line_end": 1681,
|
|
"line_display": "1670-1681",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "kiểm tra path.exists()/mkdir + open_location",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1704-1715) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._rename_selected_run",
|
|
"kind": "method",
|
|
"line_start": 1683,
|
|
"line_end": 1714,
|
|
"line_display": "1683-1714",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "dựng QInputDialog; ghi self._flows, self.flow_bar (tab text), self._wf, self.name_edit — trạng thái chia sẻ giữa danh sách flow và tab đang mở; co4e.save_workflow ghi đĩa",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1717-1748) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._run_selected_in_background",
|
|
"kind": "method",
|
|
"line_start": 1716,
|
|
"line_end": 1726,
|
|
"line_display": "1716-1726",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "self.manager.start khởi chạy agent nền (ghi output ra đĩa)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1750-1760) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._wf_by_id",
|
|
"kind": "method",
|
|
"line_start": 1728,
|
|
"line_end": 1736,
|
|
"line_display": "1728-1736",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "co4e.get_workflow đọc workflow đã lưu từ đĩa; đọc self._wf",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1762-1770) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._rerun_run_item",
|
|
"kind": "method",
|
|
"line_start": 1738,
|
|
"line_end": 1749,
|
|
"line_display": "1738-1749",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "item là QTableWidgetItem; manager.start khởi chạy agent nền",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1772-1783) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._open_run_from_table",
|
|
"kind": "method",
|
|
"line_start": 1751,
|
|
"line_end": 1770,
|
|
"line_display": "1751-1770",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "gọi self._open_flow(wf), self.canvas.update_node_status — chạm canvas widget và self._wf",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 1785-1804) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab.showEvent",
|
|
"kind": "method",
|
|
"line_start": 1772,
|
|
"line_end": 1775,
|
|
"line_display": "1772-1775",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "override Qt event",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._out_dir",
|
|
"kind": "method",
|
|
"line_start": 1777,
|
|
"line_end": 1783,
|
|
"line_display": "1777-1783",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "mkdir(parents=True); đọc self._wf.name",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._chat_send",
|
|
"kind": "method",
|
|
"line_start": 1786,
|
|
"line_end": 1812,
|
|
"line_display": "1786-1812",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "theo yêu cầu, _chat_send KHÔNG thuộc co4e_chat_view.py dù đọc self.chat_input — ở lại Co4ETab; đọc/ghi self._chat_worker",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1820-1846) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._apply_co4e_routing",
|
|
"kind": "method",
|
|
"line_start": 1814,
|
|
"line_end": 1849,
|
|
"line_display": "1814-1849",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "ghi self._co4e_routed_provider (trạng thái đọc lại trong _run_chat_turn/job); nhánh manual gọi confirm_switch — mở dialog Qt (routing_toggle) nên cần widget sống ở nhánh đó",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1848-1883) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._co4e_routed_provider",
|
|
"kind": "attribute",
|
|
"line_start": 1819,
|
|
"line_end": 1819,
|
|
"line_display": "1819",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "gán lại mỗi lần gọi _apply_co4e_routing; được đọc bằng getattr(...,'None') ở _run_chat_turn/job — không chắc có init trong __init__ (nằm ngoài lát này)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1114; 1853) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._extract_agent_directive",
|
|
"kind": "method",
|
|
"line_start": 1851,
|
|
"line_end": 1857,
|
|
"line_display": "1851-1857",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "logic regex thuần, dễ test độc lập",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1885-1891) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._resolve_agent",
|
|
"kind": "method",
|
|
"line_start": 1859,
|
|
"line_end": 1867,
|
|
"line_display": "1859-1867",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "duyệt BUILTIN_AGENTS + co4e.list_custom_agents() (custom agents có thể đọc đĩa nhưng bản thân hàm chỉ gọi list)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1893-1901) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._run_chat_turn",
|
|
"kind": "method",
|
|
"line_start": 1869,
|
|
"line_end": 1940,
|
|
"line_display": "1869-1940",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "method dài (~72 dòng) gộp: build prompt, định nghĩa 4 closure lồng nhau (job/on_event/done/failed), khởi AgentWorker — nên tách; theo yêu cầu KHÔNG đưa job()/AgentWorker sang co4e_chat_view.py; đọc/ghi self.chat_log, self._wf, self._chat_worker (trạng thái chia sẻ)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1903-1974) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._run_chat_turn.job",
|
|
"kind": "function",
|
|
"line_start": 1883,
|
|
"line_end": 1912,
|
|
"line_display": "1883-1912",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": true,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "closure lồng trong _run_chat_turn, chạy trong AgentWorker thread; gọi run_cowork → gọi provider AI qua mạng; theo yêu cầu ở lại Co4ETab cùng _chat_send",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1917-1946) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._run_chat_turn.job._emit",
|
|
"kind": "function",
|
|
"line_start": 1894,
|
|
"line_end": 1901,
|
|
"line_display": "1894-1901",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "helper lồng bên trong job(), chuyển tiếp event streaming sang worker.emit_event",
|
|
"merge_note": null,
|
|
"in_old_table": "chua",
|
|
"old_table_mismatch": "BANG CU BO SOT: khong co dong nao cho symbol nay trong bang cu (363 dong) du no ro rang ton tai trong pham vi da quet -- co the do agent quet truoc bo lot, hoac day la ten sinh ra tu buoc gop lat cua ban do nay (vd ten method suy doan/tam)."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._run_chat_turn.on_event",
|
|
"kind": "function",
|
|
"line_start": 1914,
|
|
"line_end": 1920,
|
|
"line_display": "1914-1920",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "closure cập nhật assistant.set_markdown/log.scroll_to_bottom — cần widget sống; gọi self._append_plan",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1948-1954) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._run_chat_turn.done",
|
|
"kind": "function",
|
|
"line_start": 1922,
|
|
"line_end": 1928,
|
|
"line_display": "1922-1928",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "ghi self._chat_worker=None, gọi self._apply_usage — chạm self._flow_usage",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1956-1962) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._run_chat_turn.failed",
|
|
"kind": "function",
|
|
"line_start": 1930,
|
|
"line_end": 1933,
|
|
"line_display": "1930-1933",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "ghi self._chat_worker=None, gọi self._append_chat",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1964-1967) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._append_chat",
|
|
"kind": "method",
|
|
"line_start": 1942,
|
|
"line_end": 1957,
|
|
"line_display": "1942-1957",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "theo yêu cầu, _append_chat KHÔNG thuộc co4e_chat_view.py — dùng self.chat_log mặc định, business logic per-flow ở lại Co4ETab",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1976-1991) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._fmt_usage",
|
|
"kind": "method",
|
|
"line_start": 1960,
|
|
"line_end": 1967,
|
|
"line_display": "1960-1967",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "logic thuần định dạng chuỗi + tra bảng giá từ self.ctx.config.data — test được không cần Qt",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 1994-2001) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._apply_usage",
|
|
"kind": "method",
|
|
"line_start": 1969,
|
|
"line_end": 1986,
|
|
"line_display": "1969-1986",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "ghi self._flow_usage (tổng usage theo từng flow — trạng thái chia sẻ với composer label usage-total ở co4e_chat_view.py); gọi bub.add_usage cần widget bubble sống",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 2003-2020) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._refresh_usage_total",
|
|
"kind": "method",
|
|
"line_start": 1988,
|
|
"line_end": 2003,
|
|
"line_display": "1988-2003",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "đọc self._flow_usage, self._wf; ghi self._usage_total_lbl.setText — label này được dựng trong co4e_chat_view.py (composer) nên đây là điểm nối trạng thái chia sẻ giữa 2 file",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 2022-2037) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._append_diff",
|
|
"kind": "method",
|
|
"line_start": 2005,
|
|
"line_end": 2009,
|
|
"line_display": "2005-2009",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "theo yêu cầu KHÔNG thuộc co4e_chat_view.py — ở lại Co4ETab",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 2039-2043) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._append_plan",
|
|
"kind": "method",
|
|
"line_start": 2011,
|
|
"line_end": 2022,
|
|
"line_display": "2011-2022",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "theo yêu cầu KHÔNG thuộc co4e_chat_view.py — dùng log._co4e_plan_bubble (state gắn trên đối tượng ChatView, không phải self)",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 2045-2056) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "Co4ETab._retranslate",
|
|
"kind": "method",
|
|
"line_start": 2025,
|
|
"line_end": 2045,
|
|
"line_display": "2025-2045",
|
|
"needs_qt_widget": true,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "duyệt self._sections (trạng thái chia sẻ toàn tab) và setText hàng loạt widget nhiều khu vực khác nhau (runs, sidebar, header) — cắt ngang nhiều nhóm chức năng khác nhau nên khó tách gọn",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "-"
|
|
},
|
|
{
|
|
"symbol": "_html_escape",
|
|
"kind": "function",
|
|
"line_start": 2048,
|
|
"line_end": 2049,
|
|
"line_display": "2048-2049",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "hàm module-level, tiện ích thuần chuỗi, không thuộc riêng chat_view",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_chat_view.py` (dong 2082-2083) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
},
|
|
{
|
|
"symbol": "_qcolor",
|
|
"kind": "function",
|
|
"line_start": 2052,
|
|
"line_end": 2054,
|
|
"line_display": "2052-2054",
|
|
"needs_qt_widget": false,
|
|
"touches_disk_or_network": false,
|
|
"target_file": "ui/co4e_tab.py",
|
|
"note": "QColor dùng như kiểu giá trị, không cần QApplication sống",
|
|
"merge_note": null,
|
|
"in_old_table": "co",
|
|
"old_table_mismatch": "BANG CU KHAC: bang cu xep vao `presentation/co4e/co4e_run_control_widget.py` (dong 2086-2088) nhung theo mo ta dich cua lan quet nay -> quyet dinh o day = `ui/co4e_tab.py`."
|
|
}
|
|
]
|
|
} |