cx-viewer 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -28
- package/build.js +15 -0
- package/cli.js +108 -38
- package/concepts/ar/BodyDiffJSON.md +1 -1
- package/concepts/ar/BodyFields.md +30 -33
- package/concepts/ar/GlobalSettings.md +165 -167
- package/concepts/ar/MainAgent.md +3 -4
- package/concepts/ar/ProxySwitch.md +3 -3
- package/concepts/ar/QRCode.md +1 -1
- package/concepts/ar/ResponseFields.md +29 -41
- package/concepts/ar/SubAgent-Search.md +12 -12
- package/concepts/ar/Teammate.md +16 -16
- package/concepts/ar/ToolsFirst.md +42 -48
- package/concepts/ar/TranslateContextPollution.md +9 -9
- package/concepts/ar/UltraPlan.md +38 -38
- package/concepts/da/BodyDiffJSON.md +2 -2
- package/concepts/da/BodyFields.md +30 -33
- package/concepts/da/GlobalSettings.md +165 -167
- package/concepts/da/MainAgent.md +3 -4
- package/concepts/da/ProxySwitch.md +3 -3
- package/concepts/da/QRCode.md +1 -1
- package/concepts/da/ResponseFields.md +29 -41
- package/concepts/da/SubAgent-Search.md +11 -11
- package/concepts/da/Teammate.md +16 -16
- package/concepts/da/ToolsFirst.md +42 -48
- package/concepts/da/TranslateContextPollution.md +9 -9
- package/concepts/da/UltraPlan.md +38 -38
- package/concepts/de/BodyDiffJSON.md +2 -2
- package/concepts/de/BodyFields.md +30 -33
- package/concepts/de/GlobalSettings.md +165 -167
- package/concepts/de/MainAgent.md +3 -4
- package/concepts/de/ProxySwitch.md +3 -3
- package/concepts/de/QRCode.md +1 -1
- package/concepts/de/ResponseFields.md +29 -41
- package/concepts/de/SubAgent-Search.md +11 -11
- package/concepts/de/Teammate.md +15 -15
- package/concepts/de/ToolsFirst.md +41 -47
- package/concepts/de/TranslateContextPollution.md +9 -9
- package/concepts/de/UltraPlan.md +38 -38
- package/concepts/en/BodyDiffJSON.md +5 -5
- package/concepts/en/BodyFields.md +17 -20
- package/concepts/en/GlobalSettings.md +49 -51
- package/concepts/en/MainAgent.md +8 -8
- package/concepts/en/ProxySwitch.md +3 -3
- package/concepts/en/QRCode.md +6 -6
- package/concepts/en/ResponseFields.md +7 -19
- package/concepts/en/SubAgent-Search.md +2 -2
- package/concepts/en/Teammate.md +4 -4
- package/concepts/en/Tool-apply_patch.md +11 -0
- package/concepts/en/Tool-create_goal.md +8 -0
- package/concepts/en/Tool-exec.md +88 -0
- package/concepts/en/Tool-followup_task.md +10 -0
- package/concepts/en/Tool-get_goal.md +5 -0
- package/concepts/en/Tool-image_generation.md +5 -0
- package/concepts/en/Tool-interrupt_agent.md +9 -0
- package/concepts/en/Tool-list_agents.md +9 -0
- package/concepts/en/Tool-list_mcp_resource_templates.md +8 -0
- package/concepts/en/Tool-list_mcp_resources.md +8 -0
- package/concepts/en/Tool-read_mcp_resource.md +10 -0
- package/concepts/en/Tool-request_user_input.md +9 -0
- package/concepts/en/Tool-send_message.md +10 -0
- package/concepts/en/Tool-shell_command.md +12 -0
- package/concepts/en/Tool-spawn_agent.md +11 -0
- package/concepts/en/Tool-tool_search.md +12 -0
- package/concepts/en/Tool-update_goal.md +9 -0
- package/concepts/en/Tool-update_plan.md +9 -0
- package/concepts/en/Tool-view_image.md +10 -0
- package/concepts/en/Tool-wait.md +12 -0
- package/concepts/en/Tool-wait_agent.md +9 -0
- package/concepts/en/Tool-web_search.md +11 -0
- package/concepts/en/Tools.md +29 -58
- package/concepts/en/ToolsFirst.md +24 -30
- package/concepts/en/TranslateContextPollution.md +10 -38
- package/concepts/en/UltraPlan.md +7 -7
- package/concepts/es/BodyDiffJSON.md +1 -1
- package/concepts/es/BodyFields.md +35 -38
- package/concepts/es/GlobalSettings.md +165 -167
- package/concepts/es/MainAgent.md +3 -4
- package/concepts/es/ProxySwitch.md +3 -3
- package/concepts/es/QRCode.md +1 -1
- package/concepts/es/ResponseFields.md +28 -40
- package/concepts/es/SubAgent-Search.md +12 -12
- package/concepts/es/Teammate.md +17 -17
- package/concepts/es/ToolsFirst.md +41 -47
- package/concepts/es/TranslateContextPollution.md +9 -9
- package/concepts/es/UltraPlan.md +38 -38
- package/concepts/fr/BodyDiffJSON.md +2 -2
- package/concepts/fr/BodyFields.md +35 -38
- package/concepts/fr/GlobalSettings.md +165 -167
- package/concepts/fr/MainAgent.md +3 -4
- package/concepts/fr/ProxySwitch.md +3 -3
- package/concepts/fr/QRCode.md +1 -1
- package/concepts/fr/ResponseFields.md +25 -37
- package/concepts/fr/SubAgent-Search.md +12 -12
- package/concepts/fr/Teammate.md +16 -16
- package/concepts/fr/ToolsFirst.md +40 -46
- package/concepts/fr/TranslateContextPollution.md +9 -9
- package/concepts/fr/UltraPlan.md +38 -38
- package/concepts/it/BodyDiffJSON.md +2 -2
- package/concepts/it/BodyFields.md +35 -38
- package/concepts/it/GlobalSettings.md +165 -167
- package/concepts/it/MainAgent.md +3 -4
- package/concepts/it/ProxySwitch.md +3 -3
- package/concepts/it/QRCode.md +1 -1
- package/concepts/it/ResponseFields.md +28 -40
- package/concepts/it/SubAgent-Search.md +12 -12
- package/concepts/it/Teammate.md +17 -17
- package/concepts/it/ToolsFirst.md +41 -47
- package/concepts/it/TranslateContextPollution.md +9 -9
- package/concepts/it/UltraPlan.md +38 -38
- package/concepts/ja/BodyDiffJSON.md +1 -1
- package/concepts/ja/BodyFields.md +30 -33
- package/concepts/ja/GlobalSettings.md +165 -167
- package/concepts/ja/MainAgent.md +3 -4
- package/concepts/ja/ProxySwitch.md +3 -3
- package/concepts/ja/QRCode.md +1 -1
- package/concepts/ja/ResponseFields.md +29 -41
- package/concepts/ja/SubAgent-Search.md +12 -12
- package/concepts/ja/Teammate.md +17 -17
- package/concepts/ja/ToolsFirst.md +41 -47
- package/concepts/ja/TranslateContextPollution.md +9 -9
- package/concepts/ja/UltraPlan.md +38 -38
- package/concepts/ko/BodyDiffJSON.md +1 -1
- package/concepts/ko/BodyFields.md +30 -33
- package/concepts/ko/GlobalSettings.md +165 -167
- package/concepts/ko/MainAgent.md +3 -4
- package/concepts/ko/ProxySwitch.md +3 -3
- package/concepts/ko/QRCode.md +1 -1
- package/concepts/ko/ResponseFields.md +29 -41
- package/concepts/ko/SubAgent-Search.md +12 -12
- package/concepts/ko/Teammate.md +17 -17
- package/concepts/ko/ToolsFirst.md +41 -47
- package/concepts/ko/TranslateContextPollution.md +9 -9
- package/concepts/ko/UltraPlan.md +38 -38
- package/concepts/no/BodyDiffJSON.md +2 -2
- package/concepts/no/BodyFields.md +30 -33
- package/concepts/no/GlobalSettings.md +165 -167
- package/concepts/no/MainAgent.md +3 -4
- package/concepts/no/ProxySwitch.md +3 -3
- package/concepts/no/QRCode.md +1 -1
- package/concepts/no/ResponseFields.md +29 -41
- package/concepts/no/SubAgent-Search.md +12 -12
- package/concepts/no/Teammate.md +17 -17
- package/concepts/no/ToolsFirst.md +42 -48
- package/concepts/no/TranslateContextPollution.md +9 -9
- package/concepts/no/UltraPlan.md +38 -38
- package/concepts/pl/BodyDiffJSON.md +2 -2
- package/concepts/pl/BodyFields.md +30 -33
- package/concepts/pl/GlobalSettings.md +165 -167
- package/concepts/pl/MainAgent.md +3 -4
- package/concepts/pl/ProxySwitch.md +3 -3
- package/concepts/pl/QRCode.md +1 -1
- package/concepts/pl/ResponseFields.md +29 -41
- package/concepts/pl/SubAgent-Search.md +12 -12
- package/concepts/pl/Teammate.md +17 -17
- package/concepts/pl/ToolsFirst.md +42 -48
- package/concepts/pl/TranslateContextPollution.md +9 -9
- package/concepts/pl/UltraPlan.md +38 -38
- package/concepts/pt-BR/BodyDiffJSON.md +2 -2
- package/concepts/pt-BR/BodyFields.md +30 -33
- package/concepts/pt-BR/GlobalSettings.md +165 -167
- package/concepts/pt-BR/MainAgent.md +3 -4
- package/concepts/pt-BR/ProxySwitch.md +3 -3
- package/concepts/pt-BR/QRCode.md +1 -1
- package/concepts/pt-BR/ResponseFields.md +29 -41
- package/concepts/pt-BR/SubAgent-Search.md +12 -12
- package/concepts/pt-BR/Teammate.md +17 -17
- package/concepts/pt-BR/ToolsFirst.md +41 -47
- package/concepts/pt-BR/TranslateContextPollution.md +9 -9
- package/concepts/pt-BR/UltraPlan.md +38 -38
- package/concepts/ru/BodyDiffJSON.md +1 -1
- package/concepts/ru/BodyFields.md +30 -33
- package/concepts/ru/GlobalSettings.md +165 -167
- package/concepts/ru/MainAgent.md +3 -4
- package/concepts/ru/ProxySwitch.md +3 -3
- package/concepts/ru/QRCode.md +1 -1
- package/concepts/ru/ResponseFields.md +29 -41
- package/concepts/ru/SubAgent-Search.md +12 -12
- package/concepts/ru/Teammate.md +17 -17
- package/concepts/ru/ToolsFirst.md +41 -47
- package/concepts/ru/TranslateContextPollution.md +9 -9
- package/concepts/ru/UltraPlan.md +38 -38
- package/concepts/th/BodyDiffJSON.md +1 -1
- package/concepts/th/BodyFields.md +30 -33
- package/concepts/th/GlobalSettings.md +165 -167
- package/concepts/th/MainAgent.md +3 -4
- package/concepts/th/ProxySwitch.md +3 -3
- package/concepts/th/QRCode.md +1 -1
- package/concepts/th/ResponseFields.md +29 -41
- package/concepts/th/SubAgent-Search.md +12 -12
- package/concepts/th/Teammate.md +17 -17
- package/concepts/th/ToolsFirst.md +42 -48
- package/concepts/th/TranslateContextPollution.md +9 -9
- package/concepts/th/UltraPlan.md +38 -38
- package/concepts/tr/BodyDiffJSON.md +1 -1
- package/concepts/tr/BodyFields.md +30 -33
- package/concepts/tr/GlobalSettings.md +165 -167
- package/concepts/tr/MainAgent.md +3 -4
- package/concepts/tr/ProxySwitch.md +3 -3
- package/concepts/tr/QRCode.md +1 -1
- package/concepts/tr/ResponseFields.md +29 -41
- package/concepts/tr/SubAgent-Search.md +12 -12
- package/concepts/tr/Teammate.md +16 -16
- package/concepts/tr/ToolsFirst.md +42 -48
- package/concepts/tr/TranslateContextPollution.md +9 -9
- package/concepts/tr/UltraPlan.md +38 -38
- package/concepts/uk/BodyDiffJSON.md +1 -1
- package/concepts/uk/BodyFields.md +30 -33
- package/concepts/uk/GlobalSettings.md +165 -167
- package/concepts/uk/MainAgent.md +3 -4
- package/concepts/uk/ProxySwitch.md +3 -3
- package/concepts/uk/QRCode.md +1 -1
- package/concepts/uk/ResponseFields.md +29 -41
- package/concepts/uk/SubAgent-Search.md +12 -12
- package/concepts/uk/Teammate.md +17 -17
- package/concepts/uk/ToolsFirst.md +42 -48
- package/concepts/uk/TranslateContextPollution.md +9 -9
- package/concepts/uk/UltraPlan.md +38 -38
- package/concepts/zh/BodyDiffJSON.md +4 -4
- package/concepts/zh/BodyFields.md +17 -20
- package/concepts/zh/GlobalSettings.md +26 -28
- package/concepts/zh/MainAgent.md +6 -6
- package/concepts/zh/ProxySwitch.md +1 -1
- package/concepts/zh/ResponseFields.md +7 -18
- package/concepts/zh/SubAgent-Search.md +2 -2
- package/concepts/zh/Teammate.md +4 -4
- package/concepts/zh/Tool-apply_patch.md +11 -0
- package/concepts/zh/Tool-create_goal.md +8 -0
- package/concepts/zh/Tool-exec.md +88 -0
- package/concepts/zh/Tool-followup_task.md +10 -0
- package/concepts/zh/Tool-get_goal.md +5 -0
- package/concepts/zh/Tool-image_generation.md +5 -0
- package/concepts/zh/Tool-interrupt_agent.md +9 -0
- package/concepts/zh/Tool-list_agents.md +9 -0
- package/concepts/zh/Tool-list_mcp_resource_templates.md +8 -0
- package/concepts/zh/Tool-list_mcp_resources.md +8 -0
- package/concepts/zh/Tool-read_mcp_resource.md +10 -0
- package/concepts/zh/Tool-request_user_input.md +9 -0
- package/concepts/zh/Tool-send_message.md +10 -0
- package/concepts/zh/Tool-shell_command.md +12 -0
- package/concepts/zh/Tool-spawn_agent.md +11 -0
- package/concepts/zh/Tool-tool_search.md +12 -0
- package/concepts/zh/Tool-update_goal.md +9 -0
- package/concepts/zh/Tool-update_plan.md +9 -0
- package/concepts/zh/Tool-view_image.md +10 -0
- package/concepts/zh/Tool-wait.md +12 -0
- package/concepts/zh/Tool-wait_agent.md +9 -0
- package/concepts/zh/Tool-web_search.md +11 -0
- package/concepts/zh/Tools.md +29 -58
- package/concepts/zh/ToolsFirst.md +21 -27
- package/concepts/zh/TranslateContextPollution.md +10 -38
- package/concepts/zh/UltraPlan.md +7 -7
- package/concepts/zh-TW/BodyFields.md +27 -30
- package/concepts/zh-TW/GlobalSettings.md +26 -28
- package/concepts/zh-TW/MainAgent.md +0 -1
- package/concepts/zh-TW/ProxySwitch.md +22 -22
- package/concepts/zh-TW/ResponseFields.md +29 -40
- package/concepts/zh-TW/SubAgent-Search.md +12 -12
- package/concepts/zh-TW/Teammate.md +16 -16
- package/concepts/zh-TW/ToolsFirst.md +41 -47
- package/concepts/zh-TW/UltraPlan.md +38 -38
- package/dist/assets/App-BZ9oclBj.js +2 -0
- package/dist/assets/App-rWON7PuS.css +1 -0
- package/dist/assets/MdxEditorPanel-B4lZ7Z_A.js +1 -0
- package/dist/assets/MdxEditorPanel-Da_ceLFo.css +1 -0
- package/dist/assets/Mobile-B5V_-6Hc.css +1 -0
- package/dist/assets/Mobile-C7Hy-TIM.js +1 -0
- package/dist/assets/abnfDiagram-VRR7QNED-DYYppIQV.js +1 -0
- package/dist/assets/apl-B8ZmNFqK.js +1 -0
- package/dist/assets/arc-BT3um7r4.js +1 -0
- package/dist/assets/architectureDiagram-ZJ3FMSHR-uweBqnh-.js +1 -0
- package/dist/assets/asciiarmor-CIte6N-S.js +1 -0
- package/dist/assets/asn1-Ax1-z1nk.js +1 -0
- package/dist/assets/asterisk-CLHf-iRz.js +1 -0
- package/dist/assets/blockDiagram-677ZJIJ3-DzeI4GyV.js +1 -0
- package/dist/assets/brainfuck-CdLnmYpe.js +1 -0
- package/dist/assets/c4Diagram-LMCZKHZV-DBI0K7wS.js +1 -0
- package/dist/assets/channel-BrN6yx0e.js +1 -0
- package/dist/assets/chunk-2Q5K7J3B-DK9JA8Ct.js +1 -0
- package/dist/assets/chunk-32BRIVSS-VNg3Ylzs.js +1 -0
- package/dist/assets/chunk-5VM5RSS4-DFhufY9o.js +1 -0
- package/dist/assets/chunk-EX3LRPZG-B93MHNBT.js +1 -0
- package/dist/assets/chunk-JWPE2WC7-C54OW1iN.js +1 -0
- package/dist/assets/chunk-MOJQB5TN-lKhWWIDe.js +1 -0
- package/dist/assets/chunk-RYQCIY6F-BK2jDXwB.js +1 -0
- package/dist/assets/chunk-V7JOEXUC-aLHBmfOc.js +1 -0
- package/dist/assets/chunk-VR4S4FIN-Bomuor1h.js +1 -0
- package/dist/assets/chunk-XXDRQBXY-BPj05P7g.js +1 -0
- package/dist/assets/classDiagram-OUVF2IWQ-COm0X4uJ.js +1 -0
- package/dist/assets/classDiagram-v2-EOCWNBFH-COm0X4uJ.js +1 -0
- package/dist/assets/clike-BDgEuk0n.js +1 -0
- package/dist/assets/clojure-CrPxgQZl.js +1 -0
- package/dist/assets/cmake-BknZiLBu.js +1 -0
- package/dist/assets/cobol-DN1mHbgw.js +1 -0
- package/dist/assets/coffeescript-DTAwRC7M.js +1 -0
- package/dist/assets/commonlisp-B4DJ--Bo.js +1 -0
- package/dist/assets/cose-bilkent-JH36ORCC-DU44QHSb.js +1 -0
- package/dist/assets/crystal-DoipYOOv.js +1 -0
- package/dist/assets/css-BeQRP3p5.js +1 -0
- package/dist/assets/cynefin-VYW2F7L2-C0dowxsF.js +15 -0
- package/dist/assets/cynefinDiagram-TSTJHNR4-C6vNWPUV.js +1 -0
- package/dist/assets/cypher-BzELKutH.js +1 -0
- package/dist/assets/cytoscape.esm-D0POlJZ1.js +9 -0
- package/dist/assets/d-Mh2Rawoc.js +1 -0
- package/dist/assets/dagre-VKFMJZFB-aLG4uEb-.js +1 -0
- package/dist/assets/defaultLocale-DZ7E7S9R.js +1 -0
- package/dist/assets/diagram-FQU43EPY-D5C8GfdU.js +1 -0
- package/dist/assets/diagram-G47NLZAW-C9tRw_xi.js +1 -0
- package/dist/assets/diagram-NH7WQ7WH-AYxTxwJ2.js +1 -0
- package/dist/assets/diagram-OA4YK3LP-BuBE5n9n.js +1 -0
- package/dist/assets/diagram-WEI45ONY-Cda7zYeO.js +1 -0
- package/dist/assets/diff-B1OtBbfz.js +1 -0
- package/dist/assets/dockerfile-Du7niAGi.js +1 -0
- package/dist/assets/dtd-So5hjSa8.js +1 -0
- package/dist/assets/dylan-Co15g-RX.js +1 -0
- package/dist/assets/ebnf-DWrAnno4.js +1 -0
- package/dist/assets/ebnfDiagram-CCIWWBDH-DC_OGyoh.js +1 -0
- package/dist/assets/ecl-8tbf0rUT.js +1 -0
- package/dist/assets/eiffel-BXtlUtEg.js +1 -0
- package/dist/assets/elm-BwiUluiH.js +1 -0
- package/dist/assets/erDiagram-Q63AITRT-D2G21PVY.js +1 -0
- package/dist/assets/erlang-CrHBLi-m.js +1 -0
- package/dist/assets/factor-C7nC06Ta.js +1 -0
- package/dist/assets/fcl-DKWfryFT.js +1 -0
- package/dist/assets/flowDiagram-23GEKE2U-CEQPYHrk.js +1 -0
- package/dist/assets/forth-Cg8ASoTj.js +1 -0
- package/dist/assets/fortran-BHf_qfFx.js +1 -0
- package/dist/assets/ganttDiagram-NO4QXBWP-JStxUtFR.js +1 -0
- package/dist/assets/gas-cj_2N_z1.js +1 -0
- package/dist/assets/gherkin-BiuTaH40.js +1 -0
- package/dist/assets/gitGraphDiagram-IHSO6WYX-BiojPH-V.js +1 -0
- package/dist/assets/graph-CnJdn47S.js +1 -0
- package/dist/assets/groovy-Bq8cXYUU.js +1 -0
- package/dist/assets/haskell-1ANuaeie.js +1 -0
- package/dist/assets/haxe-BUNSvWf_.js +1 -0
- package/dist/assets/html2canvas.esm-HFdlUwfn.js +20 -0
- package/dist/assets/http-DPC2IRQA.js +1 -0
- package/dist/assets/idl-DDbIciu_.js +1 -0
- package/dist/assets/index-BEyKG3O5.css +1 -0
- package/dist/assets/index-BduJoLQ5.js +1 -0
- package/dist/assets/index-BqwR8F0v.js +1 -0
- package/dist/assets/index-BsycQyrv.js +1 -0
- package/dist/assets/index-CFSDxZyA.js +1 -0
- package/dist/assets/index-CunNLTHc.js +1 -0
- package/dist/assets/index-OGkDFNTK.js +1 -0
- package/dist/assets/index-oxOyrL07.js +2 -0
- package/dist/assets/index-wvaycTGT.js +1 -0
- package/dist/assets/infoDiagram-FWYZ7A6U-Csl_aBIC.js +1 -0
- package/dist/assets/init-DMZMl1PR.js +1 -0
- package/dist/assets/ishikawaDiagram-FXEZZL3T-CjgGuMwr.js +1 -0
- package/dist/assets/javascript-Cet1BUca.js +1 -0
- package/dist/assets/journeyDiagram-5HDEW3XC-DUOy1PCq.js +1 -0
- package/dist/assets/jszip.min-BxIXdRg4.js +12 -0
- package/dist/assets/julia-CdxLCr68.js +1 -0
- package/dist/assets/kanban-definition-HUTT4EX6-Cx7GSrSj.js +1 -0
- package/dist/assets/katex-CfXf84Fz.js +1 -0
- package/dist/assets/layout-CCUE9ZRw.js +1 -0
- package/dist/assets/linear-GeBi6jJp.js +1 -0
- package/dist/assets/livescript-Bw1Vw7Ae.js +1 -0
- package/dist/assets/lua-DM1wbcnc.js +1 -0
- package/dist/assets/map-DQeg2hXV.js +1 -0
- package/dist/assets/mathematica-BXSv1_O1.js +1 -0
- package/dist/assets/mbox-CWY0keg3.js +1 -0
- package/dist/assets/mermaid.core-Cy9iVxov.js +7 -0
- package/dist/assets/mindmap-definition-LN4V7U3C-CUVxVkK5.js +1 -0
- package/dist/assets/mirc-CMLrLVMT.js +1 -0
- package/dist/assets/mllike-naqhAFf1.js +1 -0
- package/dist/assets/modelica-BvadsaHY.js +1 -0
- package/dist/assets/mscgen-DOr-Q10p.js +1 -0
- package/dist/assets/mumps-DKTl5Nyj.js +1 -0
- package/dist/assets/nginx-DWR90-d1.js +1 -0
- package/dist/assets/nsis-ooFGduGn.js +1 -0
- package/dist/assets/ntriples-q5jkU4X1.js +1 -0
- package/dist/assets/octave-Deu9Ci7_.js +1 -0
- package/dist/assets/orbiting-BCD4Vuij.svg +7 -0
- package/dist/assets/ordinal-DA-_8pMy.js +1 -0
- package/dist/assets/oz-cTQm1aoB.js +1 -0
- package/dist/assets/pascal-Oh3VmczP.js +1 -0
- package/dist/assets/pegDiagram-2B236MQR-BCF1byLY.js +1 -0
- package/dist/assets/perl-BddWF1HQ.js +1 -0
- package/dist/assets/pieDiagram-ENE6RG2P-D2cZTo8-.js +1 -0
- package/dist/assets/pig-g5ZQNIDr.js +1 -0
- package/dist/assets/powershell-CNmQNFVJ.js +1 -0
- package/dist/assets/properties-B41DXfv6.js +1 -0
- package/dist/assets/protobuf-eEBl31OJ.js +1 -0
- package/dist/assets/pug-DRSo4eCK.js +1 -0
- package/dist/assets/puppet-ClfRubAD.js +1 -0
- package/dist/assets/python-BSflc812.js +1 -0
- package/dist/assets/q-BBDx3N9Y.js +1 -0
- package/dist/assets/quadrantDiagram-ABIIQ3AL-Bwsn2--F.js +1 -0
- package/dist/assets/r-CByC1eO8.js +1 -0
- package/dist/assets/railroadDiagram-RFXS5EU6-CLGLpWHs.js +1 -0
- package/dist/assets/requirementDiagram-TGXJPOKE-BfmBYwZl.js +1 -0
- package/dist/assets/rpm-8t935XkD.js +1 -0
- package/dist/assets/ruby-CAgbkLZh.js +1 -0
- package/dist/assets/sankeyDiagram-HTMAVEWB-CqZhbyFn.js +1 -0
- package/dist/assets/sas-C-JWcRvo.js +1 -0
- package/dist/assets/scheme-D7o9RjUX.js +1 -0
- package/dist/assets/seqResourceLoaders-Bkh2Rb9i.js +2 -0
- package/dist/assets/seqResourceLoaders-Do7Kqg3B.css +41 -0
- package/dist/assets/sequenceDiagram-DBY2YBRQ-CcOdXkN2.js +1 -0
- package/dist/assets/shell-BXA79DV6.js +1 -0
- package/dist/assets/shimmer-BBDejmDf.svg +7 -0
- package/dist/assets/sieve-DNwyl0rd.js +1 -0
- package/dist/assets/simple-mode-CoQRusFX.js +1 -0
- package/dist/assets/sizeCapture-X5ZJPWSS-B4OVmPqu.js +1 -0
- package/dist/assets/smalltalk-DggktV6S.js +1 -0
- package/dist/assets/solr-D7NRuIPM.js +1 -0
- package/dist/assets/sparql-Cr71deJQ.js +1 -0
- package/dist/assets/spreadsheet-BMD3tYqw.js +1 -0
- package/dist/assets/sql-CbOjXfBR.js +1 -0
- package/dist/assets/stateDiagram-2N3HPSRC-Dysun0oO.js +1 -0
- package/dist/assets/stateDiagram-v2-6OUMAXLB-BFet8xAz.js +1 -0
- package/dist/assets/stex-iDPIkRmr.js +1 -0
- package/dist/assets/stylus-nWZizI-c.js +1 -0
- package/dist/assets/swift-DOhLK5SG.js +1 -0
- package/dist/assets/swimlanes-5IMT3BWC-_30OXwXy.js +2 -0
- package/dist/assets/swimlanesDiagram-G3AALYLV-C19viY0G.js +1 -0
- package/dist/assets/tcl-CQhJd1WY.js +1 -0
- package/dist/assets/textile-D9XqfVtL.js +1 -0
- package/dist/assets/tiddlywiki-DfOYgVky.js +1 -0
- package/dist/assets/tiki-a0_YLWvV.js +1 -0
- package/dist/assets/timeline-definition-FHXFAJF6-X1Xk3onD.js +1 -0
- package/dist/assets/toml-ekl3F1YB.js +1 -0
- package/dist/assets/troff-Bh_pcXF1.js +1 -0
- package/dist/assets/ttcn-M6363IRW.js +1 -0
- package/dist/assets/ttcn-cfg-7I2DgJEN.js +1 -0
- package/dist/assets/turtle-B5jdxH6D.js +1 -0
- package/dist/assets/vb-DM-xPmVv.js +1 -0
- package/dist/assets/vbscript-B0qu41Yc.js +1 -0
- package/dist/assets/velocity-FCgsuVHf.js +1 -0
- package/dist/assets/vendor-antd-Bzi1WuBb.js +17 -0
- package/dist/assets/vendor-codemirror-CKTrJd47.js +1 -0
- package/dist/assets/vendor-highlight-IFTJ9nxW.js +1 -0
- package/dist/assets/vendor-markdown-BN3QLsBu.js +3 -0
- package/dist/assets/vendor-mdxeditor-4PbKH6K7.js +2 -0
- package/dist/assets/vendor-qrcode-Bnjm0rcu.js +6 -0
- package/dist/assets/vendor-react-l0sNRNKZ.js +1 -0
- package/dist/assets/vendor-virtuoso-2P4SowHC.js +1 -0
- package/dist/assets/vendor-xterm-DckPrCx1.js +37 -0
- package/dist/assets/vennDiagram-L72KCM5P-D3fQnGq7.js +1 -0
- package/dist/assets/verilog-nrfFvR12.js +1 -0
- package/dist/assets/vhdl-WlDXtV-W.js +1 -0
- package/dist/assets/wardleyDiagram-EHGQE667-CRhqI6-g.js +1 -0
- package/dist/assets/webidl-RIQoSXDx.js +1 -0
- package/dist/assets/xquery-BN45G3lJ.js +1 -0
- package/dist/assets/xychartDiagram-FW5EYKEG-Cmtgmmtg.js +1 -0
- package/dist/assets/yacas-U6gaIVhD.js +1 -0
- package/dist/assets/z80-CFe5BHbK.js +1 -0
- package/dist/index.html +25 -6
- package/dist/voice-packs/default/A_choice_for_your_consideration_sir.MP3 +0 -0
- package/dist/voice-packs/default/It_is_done_sir.MP3 +0 -0
- package/dist/voice-packs/default/The_plan_awaits_your_approval_sir.MP3 +0 -0
- package/dist/voice-packs/default/pack.json +24 -0
- package/dist/voice-packs/sanguo/ask.MP3 +0 -0
- package/dist/voice-packs/sanguo/end.MP3 +0 -0
- package/dist/voice-packs/sanguo/pack.json +24 -0
- package/dist/voice-packs/sanguo/plan.MP3 +0 -0
- package/electron/diag.js +110 -0
- package/electron/main.js +1432 -0
- package/electron/menu-model.js +107 -0
- package/electron/tab-bar.html +575 -0
- package/electron/tab-content-preload.js +66 -0
- package/electron/tab-preload.js +24 -0
- package/electron/tab-worker.js +142 -0
- package/electron/window-state.js +60 -0
- package/electron/workspace-preload.js +19 -0
- package/findcx.js +4 -0
- package/i18n.js +3 -423
- package/index.html +30 -0
- package/interceptor.js +144 -70
- package/jsconfig.json +25 -0
- package/lib/approval-reviewer.js +23 -0
- package/lib/appserver-bridge.js +1753 -237
- package/lib/ask-bridge.js +5 -5
- package/lib/cli-args.js +57 -0
- package/lib/codex-config.js +157 -18
- package/lib/context-watcher.js +6 -65
- package/lib/delta-reconstructor.js +74 -52
- package/lib/ensure-hooks.js +37 -30
- package/lib/interceptor-core.js +490 -43
- package/lib/log-watcher.js +3 -8
- package/lib/main-agent-entry.js +68 -0
- package/lib/openai-body.js +95 -0
- package/lib/otel-adapter.js +3 -2
- package/lib/otel-receiver.js +1 -2
- package/lib/perm-bridge.js +84 -44
- package/lib/proxy-env.js +45 -1
- package/lib/sdk-adapter.js +241 -51
- package/lib/sdk-manager.js +523 -370
- package/lib/skills-api.js +364 -0
- package/lib/stats-worker.js +21 -21
- package/lib/token-usage.js +29 -0
- package/lib/updater.js +3 -7
- package/package.json +27 -6
- package/plugins/.gitkeep +0 -0
- package/plugins/README.md +8 -0
- package/proxy.js +187 -241
- package/pty-manager.js +17 -1
- package/public/favicon.ico +0 -0
- package/public/voice-packs/default/A_choice_for_your_consideration_sir.MP3 +0 -0
- package/public/voice-packs/default/It_is_done_sir.MP3 +0 -0
- package/public/voice-packs/default/The_plan_awaits_your_approval_sir.MP3 +0 -0
- package/public/voice-packs/default/pack.json +24 -0
- package/public/voice-packs/sanguo/ask.MP3 +0 -0
- package/public/voice-packs/sanguo/end.MP3 +0 -0
- package/public/voice-packs/sanguo/pack.json +24 -0
- package/public/voice-packs/sanguo/plan.MP3 +0 -0
- package/scripts/check-no-control-bytes.js +130 -0
- package/scripts/check-sign-config.sh +85 -0
- package/scripts/gen-default-voicepack.js +176 -0
- package/scripts/mac-sign.sh +47 -0
- package/scripts/npm-pack-dry-run.mjs +20 -0
- package/server/lib/approval-modal-prefs.js +72 -0
- package/server/lib/context-rules.js +70 -0
- package/server/lib/delta-reconstructor.js +403 -0
- package/server/lib/tools-xml-formatter.js +91 -0
- package/server/lib/voice-pack-events.js +79 -0
- package/server.js +420 -86
- package/src/App.jsx +638 -0
- package/src/App.module.css +1088 -0
- package/src/AppBase.jsx +2803 -0
- package/src/Mobile.jsx +1348 -0
- package/src/components/approval/ApprovalModal.jsx +319 -0
- package/src/components/approval/ApprovalModal.module.css +160 -0
- package/src/components/approval/ToolApprovalPanel.jsx +111 -0
- package/src/components/approval/ToolApprovalPanel.module.css +250 -0
- package/src/components/chat/ApprovalPortalContext.js +26 -0
- package/src/components/chat/AskQuestionForm.jsx +279 -0
- package/src/components/chat/AskTimeoutCountdown.jsx +113 -0
- package/src/components/chat/ChatInputBar.jsx +584 -0
- package/src/components/chat/ChatInputBar.module.css +656 -0
- package/src/components/chat/ChatMessage.jsx +1587 -0
- package/src/components/chat/ChatMessage.module.css +1560 -0
- package/src/components/chat/ChatView.jsx +3533 -0
- package/src/components/chat/ChatView.module.css +418 -0
- package/src/components/chat/DiffView.jsx +111 -0
- package/src/components/chat/DiffView.module.css +141 -0
- package/src/components/chat/RoleFilterBar.jsx +35 -0
- package/src/components/chat/RoleFilterBar.module.css +62 -0
- package/src/components/chat/controllers/askFlowController.js +789 -0
- package/src/components/chat/controllers/permissionController.js +84 -0
- package/src/components/chat/controllers/ptyPromptController.js +166 -0
- package/src/components/chat/controllers/scrollHighlightController.js +50 -0
- package/src/components/chat/controllers/splitDragController.js +135 -0
- package/src/components/chat/controllers/toolFileChangeController.js +216 -0
- package/src/components/chat/interactionOwnership.js +106 -0
- package/src/components/chat/uploadDeferLogic.js +46 -0
- package/src/components/common/ConceptHelp.jsx +97 -0
- package/src/components/common/ConceptHelp.module.css +151 -0
- package/src/components/common/ConfirmRemoveButton.jsx +78 -0
- package/src/components/common/CountryFlag.jsx +105 -0
- package/src/components/common/CountryFlag.module.css +36 -0
- package/src/components/common/DingTalkIcon.jsx +20 -0
- package/src/components/common/DiscordIcon.jsx +21 -0
- package/src/components/common/FeishuIcon.jsx +23 -0
- package/src/components/common/HoverPreviewTip.jsx +62 -0
- package/src/components/common/HoverPreviewTip.module.css +21 -0
- package/src/components/common/ImageLightbox.jsx +244 -0
- package/src/components/common/ImageLightbox.module.css +120 -0
- package/src/components/common/MemoryDetailModal.jsx +75 -0
- package/src/components/common/OpenFolderIcon.jsx +53 -0
- package/src/components/common/OpenFolderIcon.module.css +7 -0
- package/src/components/common/PanelResizer.jsx +48 -0
- package/src/components/common/PanelResizer.module.css +11 -0
- package/src/components/common/QuickAutoApproveRows.jsx +66 -0
- package/src/components/common/RefreshIcon.jsx +50 -0
- package/src/components/common/RefreshIcon.module.css +26 -0
- package/src/components/common/SnapLineOverlay.jsx +47 -0
- package/src/components/common/SnapLineOverlay.module.css +31 -0
- package/src/components/common/ToolsHelp.jsx +113 -0
- package/src/components/common/ToolsHelp.module.css +85 -0
- package/src/components/common/WeComIcon.jsx +22 -0
- package/src/components/common/quickMenuIcons.jsx +99 -0
- package/src/components/common/sharedChrome.module.css +274 -0
- package/src/components/dashboard/AppHeader.jsx +2085 -0
- package/src/components/dashboard/AppHeader.module.css +676 -0
- package/src/components/dashboard/CachePopoverContent.jsx +538 -0
- package/src/components/dashboard/CachePopoverContent.module.css +191 -0
- package/src/components/dashboard/ContextTab.jsx +769 -0
- package/src/components/dashboard/ContextTab.module.css +565 -0
- package/src/components/dashboard/DetailPanel.jsx +813 -0
- package/src/components/dashboard/DetailPanel.module.css +513 -0
- package/src/components/dashboard/LiveTagPopover.jsx +89 -0
- package/src/components/dashboard/LiveTagPopover.module.css +67 -0
- package/src/components/dashboard/RequestList.jsx +146 -0
- package/src/components/dashboard/RequestList.module.css +146 -0
- package/src/components/dashboard/TeamSessionPanel.jsx +584 -0
- package/src/components/dashboard/TeamSessionPanel.module.css +457 -0
- package/src/components/dashboard/UsageWindowPill.jsx +166 -0
- package/src/components/dashboard/UsageWindowPill.module.css +140 -0
- package/src/components/dashboard/WorkflowRunsPanel.jsx +108 -0
- package/src/components/dashboard/WorkflowRunsPanel.module.css +72 -0
- package/src/components/dashboard/WorkspaceList.jsx +410 -0
- package/src/components/dashboard/WorkspaceList.module.css +254 -0
- package/src/components/files/FileContentView.jsx +1013 -0
- package/src/components/files/FileContentView.module.css +418 -0
- package/src/components/files/FileExplorer.jsx +937 -0
- package/src/components/files/FileExplorer.module.css +173 -0
- package/src/components/files/MdxEditorPanel.base.css +9 -0
- package/src/components/files/MdxEditorPanel.jsx +181 -0
- package/src/components/files/MdxEditorPanel.module.css +917 -0
- package/src/components/git/DiffMiniMap.jsx +98 -0
- package/src/components/git/DiffMiniMap.module.css +17 -0
- package/src/components/git/FullFileDiffView.jsx +265 -0
- package/src/components/git/FullFileDiffView.module.css +176 -0
- package/src/components/git/GitChanges.jsx +461 -0
- package/src/components/git/GitChanges.module.css +337 -0
- package/src/components/git/GitDiffView.jsx +161 -0
- package/src/components/git/GitDiffView.module.css +205 -0
- package/src/components/mobile/MobileDrawerCloseButton.jsx +18 -0
- package/src/components/mobile/MobileFileExplorer.jsx +231 -0
- package/src/components/mobile/MobileFileExplorer.module.css +171 -0
- package/src/components/mobile/MobileGitDiff.jsx +293 -0
- package/src/components/mobile/MobileGitDiff.module.css +317 -0
- package/src/components/mobile/MobileStats.jsx +211 -0
- package/src/components/mobile/MobileStats.module.css +75 -0
- package/src/components/settings/ImAppendSystemModal.jsx +104 -0
- package/src/components/settings/ImConversationModal.jsx +328 -0
- package/src/components/settings/ImConversationModal.module.css +49 -0
- package/src/components/settings/ImPlatformSettings.jsx +453 -0
- package/src/components/settings/ImPlatformSettings.module.css +110 -0
- package/src/components/settings/ImSkillsModal.jsx +94 -0
- package/src/components/settings/ImStatusChip.jsx +80 -0
- package/src/components/settings/ImStatusChip.module.css +36 -0
- package/src/components/settings/MessagingModal.jsx +65 -0
- package/src/components/settings/MessagingModal.module.css +95 -0
- package/src/components/settings/ModelPromptTabs.jsx +118 -0
- package/src/components/settings/PluginModal.jsx +423 -0
- package/src/components/settings/PluginModal.module.css +136 -0
- package/src/components/settings/PreferencesForm.jsx +104 -0
- package/src/components/settings/PreferencesForm.module.css +27 -0
- package/src/components/settings/ProcessModal.jsx +175 -0
- package/src/components/settings/ProcessModal.module.css +21 -0
- package/src/components/settings/ProjectAliasEditor.jsx +138 -0
- package/src/components/settings/ProjectAliasEditor.module.css +87 -0
- package/src/components/settings/ProjectPrefsManagerModal.jsx +123 -0
- package/src/components/settings/ProjectPrefsManagerModal.module.css +52 -0
- package/src/components/settings/ProxyModal.jsx +286 -0
- package/src/components/settings/ProxyModal.module.css +141 -0
- package/src/components/settings/SkillsManagerModal.jsx +143 -0
- package/src/components/settings/SkillsManagerModal.module.css +143 -0
- package/src/components/settings/SystemTextModal.jsx +312 -0
- package/src/components/settings/SystemTextModal.module.css +331 -0
- package/src/components/settings/VoicePackSettings.jsx +319 -0
- package/src/components/settings/VoicePackSettings.module.css +151 -0
- package/src/components/settings/imPlatforms.js +177 -0
- package/src/components/terminal/CustomUltraplanEditModal.jsx +227 -0
- package/src/components/terminal/CustomUltraplanEditModal.module.css +189 -0
- package/src/components/terminal/PresetExpertPickerModal.jsx +116 -0
- package/src/components/terminal/PresetExpertPickerModal.module.css +90 -0
- package/src/components/terminal/PresetModal.jsx +118 -0
- package/src/components/terminal/ScratchTerminal.jsx +359 -0
- package/src/components/terminal/TerminalPanel.jsx +2021 -0
- package/src/components/terminal/TerminalPanel.module.css +872 -0
- package/src/components/terminal/TerminalWsContext.jsx +226 -0
- package/src/components/terminal/UltraPlanModal.jsx +328 -0
- package/src/components/terminal/UltraPlanModal.module.css +527 -0
- package/src/components/terminal/UltraplanExpertManagerModal.jsx +114 -0
- package/src/components/terminal/UltraplanExpertManagerModal.module.css +91 -0
- package/src/components/terminal/UltraplanPanel.jsx +307 -0
- package/src/components/terminal/UltraplanPanel.module.css +540 -0
- package/src/components/terminal/terminalThemes.js +33 -0
- package/src/components/viewers/ImageViewer.jsx +288 -0
- package/src/components/viewers/ImageViewer.module.css +203 -0
- package/src/components/viewers/JsonViewer.jsx +40 -0
- package/src/components/viewers/JsonViewer.module.css +9 -0
- package/src/components/viewers/LogTable.jsx +131 -0
- package/src/components/viewers/MarkdownBlock.jsx +112 -0
- package/src/components/viewers/MarkdownBlock.module.css +157 -0
- package/src/components/viewers/ToolResultView.jsx +389 -0
- package/src/components/viewers/ToolResultView.module.css +108 -0
- package/src/components/viewers/WebResultsView.jsx +74 -0
- package/src/components/viewers/WebResultsView.module.css +85 -0
- package/src/components/viewers/WorkflowLiveHud.jsx +153 -0
- package/src/components/viewers/WorkflowLiveHud.module.css +256 -0
- package/src/components/viewers/WorkflowPanel.jsx +243 -0
- package/src/components/viewers/WorkflowPanel.module.css +265 -0
- package/src/components/viewers/WorkflowTimeline.jsx +83 -0
- package/src/components/viewers/WorkflowTimeline.module.css +116 -0
- package/src/contexts/SettingsContext.jsx +140 -0
- package/src/env.js +54 -0
- package/src/global.css +607 -0
- package/src/hooks/useMarkdownExport.js +146 -0
- package/src/hooks/useMermaidRender.js +193 -0
- package/src/hooks/useProjectAlias.js +29 -0
- package/src/hooks/useSessionStoragePersistedSet.js +41 -0
- package/src/i18n/mdxTranslations.js +472 -0
- package/src/i18n.js +12409 -0
- package/src/img/ccv-logo.png +0 -0
- package/src/img/codex/entrance.svg +7 -0
- package/src/img/codex/exit.svg +7 -0
- package/src/img/codex/orbiting.svg +7 -0
- package/src/img/codex/shimmer.svg +7 -0
- package/src/img/codex/thinking.svg +7 -0
- package/src/img/codex/tickle.svg +7 -0
- package/src/img/codex/waiting.svg +7 -0
- package/src/img/codex/writing.svg +7 -0
- package/src/img/default-avatar.svg +1 -0
- package/src/img/default-model-avatar.svg +1 -0
- package/src/img/loading-pet.gif +0 -0
- package/src/img/model-codex.svg +2 -0
- package/src/img/model-deepseek.svg +2 -0
- package/src/img/model-gemini.svg +2 -0
- package/src/img/model-glm.svg +2 -0
- package/src/img/model-kimi.svg +2 -0
- package/src/img/model-minimax.svg +2 -0
- package/src/img/model-openai.svg +2 -0
- package/src/img/model-qwen.svg +2 -0
- package/src/img/teammates/DESIGN.md +165 -0
- package/src/img/teammates/analyst.svg +32 -0
- package/src/img/teammates/auditor.svg +28 -0
- package/src/img/teammates/builder.svg +33 -0
- package/src/img/teammates/default.svg +25 -0
- package/src/img/teammates/designer.svg +25 -0
- package/src/img/teammates/executor.svg +31 -0
- package/src/img/teammates/expert.svg +30 -0
- package/src/img/teammates/explorer.svg +30 -0
- package/src/img/teammates/implementer.svg +34 -0
- package/src/img/teammates/investigator.svg +29 -0
- package/src/img/teammates/marvel/analyst.svg +26 -0
- package/src/img/teammates/marvel/auditor.svg +28 -0
- package/src/img/teammates/marvel/builder.svg +15 -0
- package/src/img/teammates/marvel/default.svg +25 -0
- package/src/img/teammates/marvel/designer.svg +21 -0
- package/src/img/teammates/marvel/executor.svg +25 -0
- package/src/img/teammates/marvel/expert.svg +31 -0
- package/src/img/teammates/marvel/explorer.svg +22 -0
- package/src/img/teammates/marvel/implementer.svg +30 -0
- package/src/img/teammates/marvel/investigator.svg +21 -0
- package/src/img/teammates/marvel/researcher.svg +30 -0
- package/src/img/teammates/marvel/reviewer.svg +21 -0
- package/src/img/teammates/marvel/scanner.svg +23 -0
- package/src/img/teammates/marvel/security.svg +30 -0
- package/src/img/teammates/marvel/tracer.svg +19 -0
- package/src/img/teammates/marvel/translator.svg +24 -0
- package/src/img/teammates/marvel/worker.svg +16 -0
- package/src/img/teammates/researcher.svg +35 -0
- package/src/img/teammates/reviewer.svg +23 -0
- package/src/img/teammates/scanner.svg +31 -0
- package/src/img/teammates/security.svg +31 -0
- package/src/img/teammates/tracer.svg +30 -0
- package/src/img/teammates/translator.svg +32 -0
- package/src/img/teammates/worker.svg +29 -0
- package/src/main.jsx +30 -0
- package/src/tokenInterceptor.js +60 -0
- package/src/utils/apiUrl.js +26 -0
- package/src/utils/approvalReviewerOptions.js +27 -0
- package/src/utils/askFallback.js +21 -0
- package/src/utils/askOptionDesc.js +55 -0
- package/src/utils/askPortalMatcher.js +54 -0
- package/src/utils/autoApproveOptions.js +23 -0
- package/src/utils/avatarAnimationPostPass.js +46 -0
- package/src/utils/builtinPresets.js +18 -0
- package/src/utils/clearCheckpoint.js +154 -0
- package/src/utils/commandValidator.js +45 -0
- package/src/utils/contentFilter.js +675 -0
- package/src/utils/contextRaw.js +17 -0
- package/src/utils/contextSidebarNavigation.js +16 -0
- package/src/utils/conversationEntryNormalize.js +497 -0
- package/src/utils/displayScaleHelper.js +47 -0
- package/src/utils/entry-slim.js +594 -0
- package/src/utils/entryCache.js +179 -0
- package/src/utils/errorReport.js +40 -0
- package/src/utils/fileExpandedPathsStorage.js +70 -0
- package/src/utils/fileIcons.jsx +36 -0
- package/src/utils/fileOpen.js +37 -0
- package/src/utils/formatters.js +48 -0
- package/src/utils/gitApi.js +50 -0
- package/src/utils/gitTreeBuilder.js +19 -0
- package/src/utils/helpers.js +462 -0
- package/src/utils/identityHeal.js +83 -0
- package/src/utils/imOrigin.js +24 -0
- package/src/utils/imTr.js +7 -0
- package/src/utils/imageCompress.js +83 -0
- package/src/utils/imageDownscale.js +28 -0
- package/src/utils/imageResize.js +112 -0
- package/src/utils/ingestPipeline.js +47 -0
- package/src/utils/lazyWithReload.js +53 -0
- package/src/utils/markdown.js +30 -0
- package/src/utils/markdownIncremental.js +39 -0
- package/src/utils/markdownProfiler.js +113 -0
- package/src/utils/mdExtensionDetect.js +64 -0
- package/src/utils/memoryLinkParser.js +44 -0
- package/src/utils/modalMask.js +15 -0
- package/src/utils/monotime.js +6 -0
- package/src/utils/pinnedMenu.js +55 -0
- package/src/utils/presetShortcuts.js +14 -0
- package/src/utils/projectAlias.js +135 -0
- package/src/utils/promptClassifier.js +111 -0
- package/src/utils/promptDetect.js +196 -0
- package/src/utils/promptNav.js +60 -0
- package/src/utils/ptyChunkBuilder.js +251 -0
- package/src/utils/quickMenuHoverIntent.js +35 -0
- package/src/utils/rateLimitParser.js +249 -0
- package/src/utils/readResultPool.js +106 -0
- package/src/utils/refreshCachedItemProp.js +32 -0
- package/src/utils/requestTools.js +19 -0
- package/src/utils/requestType.js +284 -0
- package/src/utils/resizeCalc.js +21 -0
- package/src/utils/resolveLocalized.js +17 -0
- package/src/utils/seqResourceLoaders.js +79 -0
- package/src/utils/sessionManager.js +694 -0
- package/src/utils/sessionMerge.js +290 -0
- package/src/utils/skillModalController.js +111 -0
- package/src/utils/skillsParser.js +116 -0
- package/src/utils/slashCommandLabels.js +80 -0
- package/src/utils/splitDragCalc.js +73 -0
- package/src/utils/stickyBottomController.js +643 -0
- package/src/utils/svgSanitize.js +48 -0
- package/src/utils/systemTags.js +47 -0
- package/src/utils/tCodex.js +20 -0
- package/src/utils/teamModalBuilder.js +347 -0
- package/src/utils/teamSessionParser.js +186 -0
- package/src/utils/teammateAvatars.js +194 -0
- package/src/utils/teammateDetector.js +106 -0
- package/src/utils/termDiag.js +114 -0
- package/src/utils/terminalClipboard.js +117 -0
- package/src/utils/terminalWriteQueue.js +398 -0
- package/src/utils/thinkingMerge.js +49 -0
- package/src/utils/tokenUsage.js +1 -0
- package/src/utils/toolCatalog.js +31 -0
- package/src/utils/toolNameAliases.js +13 -0
- package/src/utils/toolResultBuilder.js +312 -0
- package/src/utils/toolResultClassifier.js +16 -0
- package/src/utils/toolResultCore.js +161 -0
- package/src/utils/toolsDiff.js +44 -0
- package/src/utils/toolsXmlFormatter.js +3 -0
- package/src/utils/ultraplanController.js +109 -0
- package/src/utils/ultraplanExperts.js +86 -0
- package/src/utils/ultraplanTemplates.js +152 -0
- package/src/utils/userImageRefs.js +49 -0
- package/src/utils/voicePackPlayer.js +233 -0
- package/src/utils/webResultGrouping.js +111 -0
- package/src/utils/workflowFormat.js +52 -0
- package/src/utils/workflowRuns.js +118 -0
- package/src/utils/workflowStore.js +94 -0
- package/vite.config.js +106 -0
- package/concepts/ar/CacheRebuild.md +0 -36
- package/concepts/ar/KVCacheContent.md +0 -49
- package/concepts/ar/Tool-Agent.md +0 -125
- package/concepts/ar/Tool-AskUserQuestion.md +0 -75
- package/concepts/ar/Tool-Bash.md +0 -167
- package/concepts/ar/Tool-Edit.md +0 -46
- package/concepts/ar/Tool-EnterPlanMode.md +0 -128
- package/concepts/ar/Tool-EnterWorktree.md +0 -56
- package/concepts/ar/Tool-ExitPlanMode.md +0 -62
- package/concepts/ar/Tool-Glob.md +0 -39
- package/concepts/ar/Tool-Grep.md +0 -57
- package/concepts/ar/Tool-NotebookEdit.md +0 -33
- package/concepts/ar/Tool-Read.md +0 -56
- package/concepts/ar/Tool-SendMessage.md +0 -41
- package/concepts/ar/Tool-Skill.md +0 -56
- package/concepts/ar/Tool-Task.md +0 -51
- package/concepts/ar/Tool-TaskCreate.md +0 -78
- package/concepts/ar/Tool-TaskGet.md +0 -56
- package/concepts/ar/Tool-TaskList.md +0 -56
- package/concepts/ar/Tool-TaskOutput.md +0 -40
- package/concepts/ar/Tool-TaskStop.md +0 -32
- package/concepts/ar/Tool-TaskUpdate.md +0 -123
- package/concepts/ar/Tool-TeamCreate.md +0 -38
- package/concepts/ar/Tool-TeamDelete.md +0 -30
- package/concepts/ar/Tool-WebFetch.md +0 -55
- package/concepts/ar/Tool-WebSearch.md +0 -58
- package/concepts/ar/Tool-Write.md +0 -39
- package/concepts/ar/Tool-executeCode.md +0 -41
- package/concepts/ar/Tool-getDiagnostics.md +0 -32
- package/concepts/ar/Tools.md +0 -67
- package/concepts/da/CacheRebuild.md +0 -36
- package/concepts/da/KVCacheContent.md +0 -49
- package/concepts/da/Tool-Agent.md +0 -125
- package/concepts/da/Tool-AskUserQuestion.md +0 -75
- package/concepts/da/Tool-Bash.md +0 -167
- package/concepts/da/Tool-Edit.md +0 -46
- package/concepts/da/Tool-EnterPlanMode.md +0 -128
- package/concepts/da/Tool-EnterWorktree.md +0 -56
- package/concepts/da/Tool-ExitPlanMode.md +0 -62
- package/concepts/da/Tool-Glob.md +0 -39
- package/concepts/da/Tool-Grep.md +0 -57
- package/concepts/da/Tool-NotebookEdit.md +0 -33
- package/concepts/da/Tool-Read.md +0 -56
- package/concepts/da/Tool-SendMessage.md +0 -41
- package/concepts/da/Tool-Skill.md +0 -56
- package/concepts/da/Tool-Task.md +0 -51
- package/concepts/da/Tool-TaskCreate.md +0 -78
- package/concepts/da/Tool-TaskGet.md +0 -56
- package/concepts/da/Tool-TaskList.md +0 -56
- package/concepts/da/Tool-TaskOutput.md +0 -40
- package/concepts/da/Tool-TaskStop.md +0 -32
- package/concepts/da/Tool-TaskUpdate.md +0 -123
- package/concepts/da/Tool-TeamCreate.md +0 -38
- package/concepts/da/Tool-TeamDelete.md +0 -30
- package/concepts/da/Tool-WebFetch.md +0 -55
- package/concepts/da/Tool-WebSearch.md +0 -58
- package/concepts/da/Tool-Write.md +0 -39
- package/concepts/da/Tool-executeCode.md +0 -41
- package/concepts/da/Tool-getDiagnostics.md +0 -32
- package/concepts/da/Tools.md +0 -67
- package/concepts/de/CacheRebuild.md +0 -36
- package/concepts/de/KVCacheContent.md +0 -49
- package/concepts/de/Tool-Agent.md +0 -125
- package/concepts/de/Tool-AskUserQuestion.md +0 -75
- package/concepts/de/Tool-Bash.md +0 -167
- package/concepts/de/Tool-Edit.md +0 -46
- package/concepts/de/Tool-EnterPlanMode.md +0 -128
- package/concepts/de/Tool-EnterWorktree.md +0 -56
- package/concepts/de/Tool-ExitPlanMode.md +0 -62
- package/concepts/de/Tool-Glob.md +0 -39
- package/concepts/de/Tool-Grep.md +0 -57
- package/concepts/de/Tool-NotebookEdit.md +0 -33
- package/concepts/de/Tool-Read.md +0 -56
- package/concepts/de/Tool-SendMessage.md +0 -41
- package/concepts/de/Tool-Skill.md +0 -56
- package/concepts/de/Tool-Task.md +0 -51
- package/concepts/de/Tool-TaskCreate.md +0 -78
- package/concepts/de/Tool-TaskGet.md +0 -56
- package/concepts/de/Tool-TaskList.md +0 -56
- package/concepts/de/Tool-TaskOutput.md +0 -40
- package/concepts/de/Tool-TaskStop.md +0 -32
- package/concepts/de/Tool-TaskUpdate.md +0 -123
- package/concepts/de/Tool-TeamCreate.md +0 -38
- package/concepts/de/Tool-TeamDelete.md +0 -30
- package/concepts/de/Tool-WebFetch.md +0 -55
- package/concepts/de/Tool-WebSearch.md +0 -58
- package/concepts/de/Tool-Write.md +0 -39
- package/concepts/de/Tool-executeCode.md +0 -41
- package/concepts/de/Tool-getDiagnostics.md +0 -32
- package/concepts/de/Tools.md +0 -67
- package/concepts/en/CacheRebuild.md +0 -36
- package/concepts/en/KVCacheContent.md +0 -49
- package/concepts/en/Tool-Agent.md +0 -125
- package/concepts/en/Tool-AskUserQuestion.md +0 -75
- package/concepts/en/Tool-Bash.md +0 -167
- package/concepts/en/Tool-Edit.md +0 -46
- package/concepts/en/Tool-EnterPlanMode.md +0 -128
- package/concepts/en/Tool-EnterWorktree.md +0 -56
- package/concepts/en/Tool-ExitPlanMode.md +0 -62
- package/concepts/en/Tool-Glob.md +0 -39
- package/concepts/en/Tool-Grep.md +0 -57
- package/concepts/en/Tool-NotebookEdit.md +0 -33
- package/concepts/en/Tool-Read.md +0 -56
- package/concepts/en/Tool-SendMessage.md +0 -41
- package/concepts/en/Tool-Skill.md +0 -56
- package/concepts/en/Tool-Task.md +0 -51
- package/concepts/en/Tool-TaskCreate.md +0 -78
- package/concepts/en/Tool-TaskGet.md +0 -56
- package/concepts/en/Tool-TaskList.md +0 -56
- package/concepts/en/Tool-TaskOutput.md +0 -40
- package/concepts/en/Tool-TaskStop.md +0 -32
- package/concepts/en/Tool-TaskUpdate.md +0 -123
- package/concepts/en/Tool-TeamCreate.md +0 -38
- package/concepts/en/Tool-TeamDelete.md +0 -30
- package/concepts/en/Tool-WebFetch.md +0 -55
- package/concepts/en/Tool-WebSearch.md +0 -58
- package/concepts/en/Tool-Write.md +0 -39
- package/concepts/en/Tool-executeCode.md +0 -41
- package/concepts/en/Tool-getDiagnostics.md +0 -32
- package/concepts/es/CacheRebuild.md +0 -36
- package/concepts/es/KVCacheContent.md +0 -49
- package/concepts/es/Tool-Agent.md +0 -125
- package/concepts/es/Tool-AskUserQuestion.md +0 -75
- package/concepts/es/Tool-Bash.md +0 -167
- package/concepts/es/Tool-Edit.md +0 -46
- package/concepts/es/Tool-EnterPlanMode.md +0 -128
- package/concepts/es/Tool-EnterWorktree.md +0 -56
- package/concepts/es/Tool-ExitPlanMode.md +0 -62
- package/concepts/es/Tool-Glob.md +0 -39
- package/concepts/es/Tool-Grep.md +0 -57
- package/concepts/es/Tool-NotebookEdit.md +0 -33
- package/concepts/es/Tool-Read.md +0 -56
- package/concepts/es/Tool-SendMessage.md +0 -41
- package/concepts/es/Tool-Skill.md +0 -56
- package/concepts/es/Tool-Task.md +0 -51
- package/concepts/es/Tool-TaskCreate.md +0 -78
- package/concepts/es/Tool-TaskGet.md +0 -56
- package/concepts/es/Tool-TaskList.md +0 -56
- package/concepts/es/Tool-TaskOutput.md +0 -40
- package/concepts/es/Tool-TaskStop.md +0 -32
- package/concepts/es/Tool-TaskUpdate.md +0 -123
- package/concepts/es/Tool-TeamCreate.md +0 -38
- package/concepts/es/Tool-TeamDelete.md +0 -30
- package/concepts/es/Tool-WebFetch.md +0 -55
- package/concepts/es/Tool-WebSearch.md +0 -58
- package/concepts/es/Tool-Write.md +0 -39
- package/concepts/es/Tool-executeCode.md +0 -41
- package/concepts/es/Tool-getDiagnostics.md +0 -32
- package/concepts/es/Tools.md +0 -67
- package/concepts/fr/CacheRebuild.md +0 -36
- package/concepts/fr/KVCacheContent.md +0 -49
- package/concepts/fr/Tool-Agent.md +0 -125
- package/concepts/fr/Tool-AskUserQuestion.md +0 -75
- package/concepts/fr/Tool-Bash.md +0 -167
- package/concepts/fr/Tool-Edit.md +0 -46
- package/concepts/fr/Tool-EnterPlanMode.md +0 -128
- package/concepts/fr/Tool-EnterWorktree.md +0 -56
- package/concepts/fr/Tool-ExitPlanMode.md +0 -62
- package/concepts/fr/Tool-Glob.md +0 -39
- package/concepts/fr/Tool-Grep.md +0 -57
- package/concepts/fr/Tool-NotebookEdit.md +0 -33
- package/concepts/fr/Tool-Read.md +0 -56
- package/concepts/fr/Tool-SendMessage.md +0 -41
- package/concepts/fr/Tool-Skill.md +0 -56
- package/concepts/fr/Tool-Task.md +0 -51
- package/concepts/fr/Tool-TaskCreate.md +0 -78
- package/concepts/fr/Tool-TaskGet.md +0 -56
- package/concepts/fr/Tool-TaskList.md +0 -56
- package/concepts/fr/Tool-TaskOutput.md +0 -40
- package/concepts/fr/Tool-TaskStop.md +0 -32
- package/concepts/fr/Tool-TaskUpdate.md +0 -123
- package/concepts/fr/Tool-TeamCreate.md +0 -38
- package/concepts/fr/Tool-TeamDelete.md +0 -30
- package/concepts/fr/Tool-WebFetch.md +0 -55
- package/concepts/fr/Tool-WebSearch.md +0 -58
- package/concepts/fr/Tool-Write.md +0 -39
- package/concepts/fr/Tool-executeCode.md +0 -41
- package/concepts/fr/Tool-getDiagnostics.md +0 -32
- package/concepts/fr/Tools.md +0 -67
- package/concepts/it/CacheRebuild.md +0 -36
- package/concepts/it/KVCacheContent.md +0 -49
- package/concepts/it/Tool-Agent.md +0 -125
- package/concepts/it/Tool-AskUserQuestion.md +0 -75
- package/concepts/it/Tool-Bash.md +0 -167
- package/concepts/it/Tool-Edit.md +0 -46
- package/concepts/it/Tool-EnterPlanMode.md +0 -128
- package/concepts/it/Tool-EnterWorktree.md +0 -56
- package/concepts/it/Tool-ExitPlanMode.md +0 -62
- package/concepts/it/Tool-Glob.md +0 -39
- package/concepts/it/Tool-Grep.md +0 -57
- package/concepts/it/Tool-NotebookEdit.md +0 -33
- package/concepts/it/Tool-Read.md +0 -56
- package/concepts/it/Tool-SendMessage.md +0 -41
- package/concepts/it/Tool-Skill.md +0 -56
- package/concepts/it/Tool-Task.md +0 -51
- package/concepts/it/Tool-TaskCreate.md +0 -78
- package/concepts/it/Tool-TaskGet.md +0 -56
- package/concepts/it/Tool-TaskList.md +0 -56
- package/concepts/it/Tool-TaskOutput.md +0 -40
- package/concepts/it/Tool-TaskStop.md +0 -32
- package/concepts/it/Tool-TaskUpdate.md +0 -123
- package/concepts/it/Tool-TeamCreate.md +0 -38
- package/concepts/it/Tool-TeamDelete.md +0 -30
- package/concepts/it/Tool-WebFetch.md +0 -55
- package/concepts/it/Tool-WebSearch.md +0 -58
- package/concepts/it/Tool-Write.md +0 -39
- package/concepts/it/Tool-executeCode.md +0 -41
- package/concepts/it/Tool-getDiagnostics.md +0 -32
- package/concepts/it/Tools.md +0 -67
- package/concepts/ja/CacheRebuild.md +0 -36
- package/concepts/ja/KVCacheContent.md +0 -49
- package/concepts/ja/Tool-Agent.md +0 -125
- package/concepts/ja/Tool-AskUserQuestion.md +0 -75
- package/concepts/ja/Tool-Bash.md +0 -167
- package/concepts/ja/Tool-Edit.md +0 -46
- package/concepts/ja/Tool-EnterPlanMode.md +0 -128
- package/concepts/ja/Tool-EnterWorktree.md +0 -56
- package/concepts/ja/Tool-ExitPlanMode.md +0 -62
- package/concepts/ja/Tool-Glob.md +0 -39
- package/concepts/ja/Tool-Grep.md +0 -57
- package/concepts/ja/Tool-NotebookEdit.md +0 -33
- package/concepts/ja/Tool-Read.md +0 -56
- package/concepts/ja/Tool-SendMessage.md +0 -41
- package/concepts/ja/Tool-Skill.md +0 -56
- package/concepts/ja/Tool-Task.md +0 -51
- package/concepts/ja/Tool-TaskCreate.md +0 -78
- package/concepts/ja/Tool-TaskGet.md +0 -56
- package/concepts/ja/Tool-TaskList.md +0 -56
- package/concepts/ja/Tool-TaskOutput.md +0 -40
- package/concepts/ja/Tool-TaskStop.md +0 -32
- package/concepts/ja/Tool-TaskUpdate.md +0 -123
- package/concepts/ja/Tool-TeamCreate.md +0 -38
- package/concepts/ja/Tool-TeamDelete.md +0 -30
- package/concepts/ja/Tool-WebFetch.md +0 -55
- package/concepts/ja/Tool-WebSearch.md +0 -58
- package/concepts/ja/Tool-Write.md +0 -39
- package/concepts/ja/Tool-executeCode.md +0 -41
- package/concepts/ja/Tool-getDiagnostics.md +0 -32
- package/concepts/ja/Tools.md +0 -67
- package/concepts/ko/CacheRebuild.md +0 -36
- package/concepts/ko/KVCacheContent.md +0 -49
- package/concepts/ko/Tool-Agent.md +0 -125
- package/concepts/ko/Tool-AskUserQuestion.md +0 -75
- package/concepts/ko/Tool-Bash.md +0 -167
- package/concepts/ko/Tool-Edit.md +0 -46
- package/concepts/ko/Tool-EnterPlanMode.md +0 -128
- package/concepts/ko/Tool-EnterWorktree.md +0 -56
- package/concepts/ko/Tool-ExitPlanMode.md +0 -62
- package/concepts/ko/Tool-Glob.md +0 -39
- package/concepts/ko/Tool-Grep.md +0 -57
- package/concepts/ko/Tool-NotebookEdit.md +0 -33
- package/concepts/ko/Tool-Read.md +0 -56
- package/concepts/ko/Tool-SendMessage.md +0 -41
- package/concepts/ko/Tool-Skill.md +0 -56
- package/concepts/ko/Tool-Task.md +0 -51
- package/concepts/ko/Tool-TaskCreate.md +0 -78
- package/concepts/ko/Tool-TaskGet.md +0 -56
- package/concepts/ko/Tool-TaskList.md +0 -56
- package/concepts/ko/Tool-TaskOutput.md +0 -40
- package/concepts/ko/Tool-TaskStop.md +0 -32
- package/concepts/ko/Tool-TaskUpdate.md +0 -123
- package/concepts/ko/Tool-TeamCreate.md +0 -38
- package/concepts/ko/Tool-TeamDelete.md +0 -30
- package/concepts/ko/Tool-WebFetch.md +0 -55
- package/concepts/ko/Tool-WebSearch.md +0 -58
- package/concepts/ko/Tool-Write.md +0 -39
- package/concepts/ko/Tool-executeCode.md +0 -41
- package/concepts/ko/Tool-getDiagnostics.md +0 -32
- package/concepts/ko/Tools.md +0 -67
- package/concepts/no/CacheRebuild.md +0 -36
- package/concepts/no/KVCacheContent.md +0 -49
- package/concepts/no/Tool-Agent.md +0 -125
- package/concepts/no/Tool-AskUserQuestion.md +0 -75
- package/concepts/no/Tool-Bash.md +0 -167
- package/concepts/no/Tool-Edit.md +0 -46
- package/concepts/no/Tool-EnterPlanMode.md +0 -128
- package/concepts/no/Tool-EnterWorktree.md +0 -56
- package/concepts/no/Tool-ExitPlanMode.md +0 -62
- package/concepts/no/Tool-Glob.md +0 -39
- package/concepts/no/Tool-Grep.md +0 -57
- package/concepts/no/Tool-NotebookEdit.md +0 -33
- package/concepts/no/Tool-Read.md +0 -56
- package/concepts/no/Tool-SendMessage.md +0 -41
- package/concepts/no/Tool-Skill.md +0 -56
- package/concepts/no/Tool-Task.md +0 -51
- package/concepts/no/Tool-TaskCreate.md +0 -78
- package/concepts/no/Tool-TaskGet.md +0 -56
- package/concepts/no/Tool-TaskList.md +0 -56
- package/concepts/no/Tool-TaskOutput.md +0 -40
- package/concepts/no/Tool-TaskStop.md +0 -32
- package/concepts/no/Tool-TaskUpdate.md +0 -123
- package/concepts/no/Tool-TeamCreate.md +0 -38
- package/concepts/no/Tool-TeamDelete.md +0 -30
- package/concepts/no/Tool-WebFetch.md +0 -55
- package/concepts/no/Tool-WebSearch.md +0 -58
- package/concepts/no/Tool-Write.md +0 -39
- package/concepts/no/Tool-executeCode.md +0 -41
- package/concepts/no/Tool-getDiagnostics.md +0 -32
- package/concepts/no/Tools.md +0 -67
- package/concepts/pl/CacheRebuild.md +0 -36
- package/concepts/pl/KVCacheContent.md +0 -49
- package/concepts/pl/Tool-Agent.md +0 -125
- package/concepts/pl/Tool-AskUserQuestion.md +0 -75
- package/concepts/pl/Tool-Bash.md +0 -167
- package/concepts/pl/Tool-Edit.md +0 -46
- package/concepts/pl/Tool-EnterPlanMode.md +0 -128
- package/concepts/pl/Tool-EnterWorktree.md +0 -56
- package/concepts/pl/Tool-ExitPlanMode.md +0 -62
- package/concepts/pl/Tool-Glob.md +0 -39
- package/concepts/pl/Tool-Grep.md +0 -57
- package/concepts/pl/Tool-NotebookEdit.md +0 -33
- package/concepts/pl/Tool-Read.md +0 -56
- package/concepts/pl/Tool-SendMessage.md +0 -41
- package/concepts/pl/Tool-Skill.md +0 -56
- package/concepts/pl/Tool-Task.md +0 -51
- package/concepts/pl/Tool-TaskCreate.md +0 -78
- package/concepts/pl/Tool-TaskGet.md +0 -56
- package/concepts/pl/Tool-TaskList.md +0 -56
- package/concepts/pl/Tool-TaskOutput.md +0 -40
- package/concepts/pl/Tool-TaskStop.md +0 -32
- package/concepts/pl/Tool-TaskUpdate.md +0 -123
- package/concepts/pl/Tool-TeamCreate.md +0 -38
- package/concepts/pl/Tool-TeamDelete.md +0 -30
- package/concepts/pl/Tool-WebFetch.md +0 -55
- package/concepts/pl/Tool-WebSearch.md +0 -58
- package/concepts/pl/Tool-Write.md +0 -39
- package/concepts/pl/Tool-executeCode.md +0 -41
- package/concepts/pl/Tool-getDiagnostics.md +0 -32
- package/concepts/pl/Tools.md +0 -67
- package/concepts/pt-BR/CacheRebuild.md +0 -36
- package/concepts/pt-BR/KVCacheContent.md +0 -49
- package/concepts/pt-BR/Tool-Agent.md +0 -125
- package/concepts/pt-BR/Tool-AskUserQuestion.md +0 -75
- package/concepts/pt-BR/Tool-Bash.md +0 -167
- package/concepts/pt-BR/Tool-Edit.md +0 -46
- package/concepts/pt-BR/Tool-EnterPlanMode.md +0 -128
- package/concepts/pt-BR/Tool-EnterWorktree.md +0 -56
- package/concepts/pt-BR/Tool-ExitPlanMode.md +0 -62
- package/concepts/pt-BR/Tool-Glob.md +0 -39
- package/concepts/pt-BR/Tool-Grep.md +0 -57
- package/concepts/pt-BR/Tool-NotebookEdit.md +0 -33
- package/concepts/pt-BR/Tool-Read.md +0 -56
- package/concepts/pt-BR/Tool-SendMessage.md +0 -41
- package/concepts/pt-BR/Tool-Skill.md +0 -56
- package/concepts/pt-BR/Tool-Task.md +0 -51
- package/concepts/pt-BR/Tool-TaskCreate.md +0 -78
- package/concepts/pt-BR/Tool-TaskGet.md +0 -56
- package/concepts/pt-BR/Tool-TaskList.md +0 -56
- package/concepts/pt-BR/Tool-TaskOutput.md +0 -40
- package/concepts/pt-BR/Tool-TaskStop.md +0 -32
- package/concepts/pt-BR/Tool-TaskUpdate.md +0 -123
- package/concepts/pt-BR/Tool-TeamCreate.md +0 -38
- package/concepts/pt-BR/Tool-TeamDelete.md +0 -30
- package/concepts/pt-BR/Tool-WebFetch.md +0 -55
- package/concepts/pt-BR/Tool-WebSearch.md +0 -58
- package/concepts/pt-BR/Tool-Write.md +0 -39
- package/concepts/pt-BR/Tool-executeCode.md +0 -41
- package/concepts/pt-BR/Tool-getDiagnostics.md +0 -32
- package/concepts/pt-BR/Tools.md +0 -67
- package/concepts/ru/CacheRebuild.md +0 -36
- package/concepts/ru/KVCacheContent.md +0 -49
- package/concepts/ru/Tool-Agent.md +0 -125
- package/concepts/ru/Tool-AskUserQuestion.md +0 -75
- package/concepts/ru/Tool-Bash.md +0 -167
- package/concepts/ru/Tool-Edit.md +0 -46
- package/concepts/ru/Tool-EnterPlanMode.md +0 -128
- package/concepts/ru/Tool-EnterWorktree.md +0 -56
- package/concepts/ru/Tool-ExitPlanMode.md +0 -62
- package/concepts/ru/Tool-Glob.md +0 -39
- package/concepts/ru/Tool-Grep.md +0 -57
- package/concepts/ru/Tool-NotebookEdit.md +0 -33
- package/concepts/ru/Tool-Read.md +0 -56
- package/concepts/ru/Tool-SendMessage.md +0 -41
- package/concepts/ru/Tool-Skill.md +0 -56
- package/concepts/ru/Tool-Task.md +0 -51
- package/concepts/ru/Tool-TaskCreate.md +0 -78
- package/concepts/ru/Tool-TaskGet.md +0 -56
- package/concepts/ru/Tool-TaskList.md +0 -56
- package/concepts/ru/Tool-TaskOutput.md +0 -40
- package/concepts/ru/Tool-TaskStop.md +0 -32
- package/concepts/ru/Tool-TaskUpdate.md +0 -123
- package/concepts/ru/Tool-TeamCreate.md +0 -38
- package/concepts/ru/Tool-TeamDelete.md +0 -30
- package/concepts/ru/Tool-WebFetch.md +0 -55
- package/concepts/ru/Tool-WebSearch.md +0 -58
- package/concepts/ru/Tool-Write.md +0 -39
- package/concepts/ru/Tool-executeCode.md +0 -41
- package/concepts/ru/Tool-getDiagnostics.md +0 -32
- package/concepts/ru/Tools.md +0 -67
- package/concepts/th/CacheRebuild.md +0 -36
- package/concepts/th/KVCacheContent.md +0 -49
- package/concepts/th/Tool-Agent.md +0 -125
- package/concepts/th/Tool-AskUserQuestion.md +0 -75
- package/concepts/th/Tool-Bash.md +0 -167
- package/concepts/th/Tool-Edit.md +0 -46
- package/concepts/th/Tool-EnterPlanMode.md +0 -128
- package/concepts/th/Tool-EnterWorktree.md +0 -56
- package/concepts/th/Tool-ExitPlanMode.md +0 -62
- package/concepts/th/Tool-Glob.md +0 -39
- package/concepts/th/Tool-Grep.md +0 -57
- package/concepts/th/Tool-NotebookEdit.md +0 -33
- package/concepts/th/Tool-Read.md +0 -56
- package/concepts/th/Tool-SendMessage.md +0 -41
- package/concepts/th/Tool-Skill.md +0 -56
- package/concepts/th/Tool-Task.md +0 -51
- package/concepts/th/Tool-TaskCreate.md +0 -78
- package/concepts/th/Tool-TaskGet.md +0 -56
- package/concepts/th/Tool-TaskList.md +0 -56
- package/concepts/th/Tool-TaskOutput.md +0 -40
- package/concepts/th/Tool-TaskStop.md +0 -32
- package/concepts/th/Tool-TaskUpdate.md +0 -123
- package/concepts/th/Tool-TeamCreate.md +0 -38
- package/concepts/th/Tool-TeamDelete.md +0 -30
- package/concepts/th/Tool-WebFetch.md +0 -55
- package/concepts/th/Tool-WebSearch.md +0 -58
- package/concepts/th/Tool-Write.md +0 -39
- package/concepts/th/Tool-executeCode.md +0 -41
- package/concepts/th/Tool-getDiagnostics.md +0 -32
- package/concepts/th/Tools.md +0 -67
- package/concepts/tr/CacheRebuild.md +0 -36
- package/concepts/tr/KVCacheContent.md +0 -49
- package/concepts/tr/Tool-Agent.md +0 -125
- package/concepts/tr/Tool-AskUserQuestion.md +0 -75
- package/concepts/tr/Tool-Bash.md +0 -167
- package/concepts/tr/Tool-Edit.md +0 -46
- package/concepts/tr/Tool-EnterPlanMode.md +0 -128
- package/concepts/tr/Tool-EnterWorktree.md +0 -56
- package/concepts/tr/Tool-ExitPlanMode.md +0 -62
- package/concepts/tr/Tool-Glob.md +0 -39
- package/concepts/tr/Tool-Grep.md +0 -57
- package/concepts/tr/Tool-NotebookEdit.md +0 -33
- package/concepts/tr/Tool-Read.md +0 -56
- package/concepts/tr/Tool-SendMessage.md +0 -41
- package/concepts/tr/Tool-Skill.md +0 -56
- package/concepts/tr/Tool-Task.md +0 -51
- package/concepts/tr/Tool-TaskCreate.md +0 -78
- package/concepts/tr/Tool-TaskGet.md +0 -56
- package/concepts/tr/Tool-TaskList.md +0 -56
- package/concepts/tr/Tool-TaskOutput.md +0 -40
- package/concepts/tr/Tool-TaskStop.md +0 -32
- package/concepts/tr/Tool-TaskUpdate.md +0 -123
- package/concepts/tr/Tool-TeamCreate.md +0 -38
- package/concepts/tr/Tool-TeamDelete.md +0 -30
- package/concepts/tr/Tool-WebFetch.md +0 -55
- package/concepts/tr/Tool-WebSearch.md +0 -58
- package/concepts/tr/Tool-Write.md +0 -39
- package/concepts/tr/Tool-executeCode.md +0 -41
- package/concepts/tr/Tool-getDiagnostics.md +0 -32
- package/concepts/tr/Tools.md +0 -67
- package/concepts/uk/CacheRebuild.md +0 -36
- package/concepts/uk/KVCacheContent.md +0 -49
- package/concepts/uk/Tool-Agent.md +0 -125
- package/concepts/uk/Tool-AskUserQuestion.md +0 -75
- package/concepts/uk/Tool-Bash.md +0 -167
- package/concepts/uk/Tool-Edit.md +0 -46
- package/concepts/uk/Tool-EnterPlanMode.md +0 -128
- package/concepts/uk/Tool-EnterWorktree.md +0 -56
- package/concepts/uk/Tool-ExitPlanMode.md +0 -62
- package/concepts/uk/Tool-Glob.md +0 -39
- package/concepts/uk/Tool-Grep.md +0 -57
- package/concepts/uk/Tool-NotebookEdit.md +0 -33
- package/concepts/uk/Tool-Read.md +0 -56
- package/concepts/uk/Tool-SendMessage.md +0 -41
- package/concepts/uk/Tool-Skill.md +0 -56
- package/concepts/uk/Tool-Task.md +0 -51
- package/concepts/uk/Tool-TaskCreate.md +0 -78
- package/concepts/uk/Tool-TaskGet.md +0 -56
- package/concepts/uk/Tool-TaskList.md +0 -56
- package/concepts/uk/Tool-TaskOutput.md +0 -40
- package/concepts/uk/Tool-TaskStop.md +0 -32
- package/concepts/uk/Tool-TaskUpdate.md +0 -123
- package/concepts/uk/Tool-TeamCreate.md +0 -38
- package/concepts/uk/Tool-TeamDelete.md +0 -30
- package/concepts/uk/Tool-WebFetch.md +0 -55
- package/concepts/uk/Tool-WebSearch.md +0 -58
- package/concepts/uk/Tool-Write.md +0 -39
- package/concepts/uk/Tool-executeCode.md +0 -41
- package/concepts/uk/Tool-getDiagnostics.md +0 -32
- package/concepts/uk/Tools.md +0 -67
- package/concepts/zh/CacheRebuild.md +0 -36
- package/concepts/zh/KVCacheContent.md +0 -49
- package/concepts/zh/Tool-Agent.md +0 -125
- package/concepts/zh/Tool-AskUserQuestion.md +0 -75
- package/concepts/zh/Tool-Bash.md +0 -167
- package/concepts/zh/Tool-Edit.md +0 -46
- package/concepts/zh/Tool-EnterPlanMode.md +0 -128
- package/concepts/zh/Tool-EnterWorktree.md +0 -56
- package/concepts/zh/Tool-ExitPlanMode.md +0 -62
- package/concepts/zh/Tool-Glob.md +0 -39
- package/concepts/zh/Tool-Grep.md +0 -57
- package/concepts/zh/Tool-NotebookEdit.md +0 -33
- package/concepts/zh/Tool-Read.md +0 -56
- package/concepts/zh/Tool-SendMessage.md +0 -41
- package/concepts/zh/Tool-Skill.md +0 -56
- package/concepts/zh/Tool-Task.md +0 -51
- package/concepts/zh/Tool-TaskCreate.md +0 -78
- package/concepts/zh/Tool-TaskGet.md +0 -56
- package/concepts/zh/Tool-TaskList.md +0 -56
- package/concepts/zh/Tool-TaskOutput.md +0 -40
- package/concepts/zh/Tool-TaskStop.md +0 -32
- package/concepts/zh/Tool-TaskUpdate.md +0 -123
- package/concepts/zh/Tool-TeamCreate.md +0 -38
- package/concepts/zh/Tool-TeamDelete.md +0 -30
- package/concepts/zh/Tool-WebFetch.md +0 -55
- package/concepts/zh/Tool-WebSearch.md +0 -58
- package/concepts/zh/Tool-Write.md +0 -39
- package/concepts/zh/Tool-executeCode.md +0 -41
- package/concepts/zh/Tool-getDiagnostics.md +0 -32
- package/concepts/zh-TW/CacheRebuild.md +0 -36
- package/concepts/zh-TW/KVCacheContent.md +0 -49
- package/concepts/zh-TW/Tool-Agent.md +0 -125
- package/concepts/zh-TW/Tool-AskUserQuestion.md +0 -75
- package/concepts/zh-TW/Tool-Bash.md +0 -167
- package/concepts/zh-TW/Tool-Edit.md +0 -46
- package/concepts/zh-TW/Tool-EnterPlanMode.md +0 -128
- package/concepts/zh-TW/Tool-EnterWorktree.md +0 -56
- package/concepts/zh-TW/Tool-ExitPlanMode.md +0 -62
- package/concepts/zh-TW/Tool-Glob.md +0 -39
- package/concepts/zh-TW/Tool-Grep.md +0 -57
- package/concepts/zh-TW/Tool-NotebookEdit.md +0 -33
- package/concepts/zh-TW/Tool-Read.md +0 -56
- package/concepts/zh-TW/Tool-SendMessage.md +0 -41
- package/concepts/zh-TW/Tool-Skill.md +0 -56
- package/concepts/zh-TW/Tool-Task.md +0 -51
- package/concepts/zh-TW/Tool-TaskCreate.md +0 -78
- package/concepts/zh-TW/Tool-TaskGet.md +0 -56
- package/concepts/zh-TW/Tool-TaskList.md +0 -56
- package/concepts/zh-TW/Tool-TaskOutput.md +0 -40
- package/concepts/zh-TW/Tool-TaskStop.md +0 -32
- package/concepts/zh-TW/Tool-TaskUpdate.md +0 -123
- package/concepts/zh-TW/Tool-TeamCreate.md +0 -38
- package/concepts/zh-TW/Tool-TeamDelete.md +0 -30
- package/concepts/zh-TW/Tool-WebFetch.md +0 -55
- package/concepts/zh-TW/Tool-WebSearch.md +0 -58
- package/concepts/zh-TW/Tool-Write.md +0 -39
- package/concepts/zh-TW/Tool-executeCode.md +0 -41
- package/concepts/zh-TW/Tool-getDiagnostics.md +0 -32
- package/concepts/zh-TW/Tools.md +0 -67
- package/dist/assets/App-CF-qZ3B6.js +0 -41
- package/dist/assets/App-fG2r3jFq.css +0 -1
- package/dist/assets/AppHeader-BqUGBbBx.css +0 -41
- package/dist/assets/AppHeader.module-BjoBBbCB.js +0 -1250
- package/dist/assets/Mobile-BnDkLcBv.css +0 -1
- package/dist/assets/Mobile-ByhBkyqb.js +0 -10
- package/dist/assets/_baseUniq-5XIuSb_1.js +0 -1
- package/dist/assets/arc-V3mJhKFJ.js +0 -1
- package/dist/assets/architectureDiagram-Q4EWVU46-22bjxOE1.js +0 -36
- package/dist/assets/blockDiagram-DXYQGD6D-Brshek1N.js +0 -132
- package/dist/assets/c4Diagram-AHTNJAMY-DQHIuxkd.js +0 -10
- package/dist/assets/channel-SmGaOM6g.js +0 -1
- package/dist/assets/chunk-4BX2VUAB-BQE7pifU.js +0 -1
- package/dist/assets/chunk-4TB4RGXK-DcZwv_PV.js +0 -206
- package/dist/assets/chunk-55IACEB6-Gd_3-vV5.js +0 -1
- package/dist/assets/chunk-EDXVE4YY-BbnYdg9M.js +0 -1
- package/dist/assets/chunk-FMBD7UC4-NSh7z90L.js +0 -15
- package/dist/assets/chunk-OYMX7WX6-DdFwjHsc.js +0 -231
- package/dist/assets/chunk-QZHKN3VN-C-1z3DA3.js +0 -1
- package/dist/assets/chunk-YZCP3GAM-w_NiY6dL.js +0 -1
- package/dist/assets/classDiagram-6PBFFD2Q-Bu96zciS.js +0 -1
- package/dist/assets/classDiagram-v2-HSJHXN6E-Bu96zciS.js +0 -1
- package/dist/assets/clone-u2hQVO7u.js +0 -1
- package/dist/assets/cose-bilkent-S5V4N54A-bHlM-ydV.js +0 -1
- package/dist/assets/cytoscape.esm-DxGcaOPV.js +0 -331
- package/dist/assets/dagre-KV5264BT-2cCXOuNw.js +0 -4
- package/dist/assets/defaultLocale-DX6XiGOO.js +0 -1
- package/dist/assets/diagram-5BDNPKRD-C70P_Nd1.js +0 -10
- package/dist/assets/diagram-G4DWMVQ6-C2JvwT8U.js +0 -24
- package/dist/assets/diagram-MMDJMWI5-C9ygMSLV.js +0 -43
- package/dist/assets/diagram-TYMM5635-x-SMPmqb.js +0 -24
- package/dist/assets/erDiagram-SMLLAGMA-BGIbL82W.js +0 -85
- package/dist/assets/flowDiagram-DWJPFMVM-Dg0qwguE.js +0 -162
- package/dist/assets/ganttDiagram-T4ZO3ILL-XX5qCwKD.js +0 -292
- package/dist/assets/gitGraphDiagram-UUTBAWPF-DFil4bpA.js +0 -106
- package/dist/assets/graph-DJ6egHOd.js +0 -1
- package/dist/assets/html2canvas.esm-QH1iLAAe.js +0 -22
- package/dist/assets/index-DCtZ2KSX.css +0 -1
- package/dist/assets/index-DYIYWRaO.js +0 -41
- package/dist/assets/infoDiagram-42DDH7IO-yB7VRrpO.js +0 -2
- package/dist/assets/init-Gi6I4Gst.js +0 -1
- package/dist/assets/ishikawaDiagram-UXIWVN3A-DZ_lPco0.js +0 -70
- package/dist/assets/journeyDiagram-VCZTEJTY-B-FlPR2W.js +0 -139
- package/dist/assets/kanban-definition-6JOO6SKY-mgJwVxKf.js +0 -89
- package/dist/assets/katex-DkKDou_j.js +0 -257
- package/dist/assets/layout-BjzpJ8ZU.js +0 -1
- package/dist/assets/linear-CqOq1rA7.js +0 -1
- package/dist/assets/mermaid.core-CZyQhtml.js +0 -308
- package/dist/assets/min-B_tad8Qz.js +0 -1
- package/dist/assets/mindmap-definition-QFDTVHPH-CgBeHk8K.js +0 -96
- package/dist/assets/ordinal-Cboi1Yqb.js +0 -1
- package/dist/assets/pieDiagram-DEJITSTG-CHENa0KJ.js +0 -30
- package/dist/assets/quadrantDiagram-34T5L4WZ-BUwZwCpc.js +0 -7
- package/dist/assets/requirementDiagram-MS252O5E-H7OaNjNn.js +0 -84
- package/dist/assets/sankeyDiagram-XADWPNL6-6UqaFrBf.js +0 -10
- package/dist/assets/sequenceDiagram-FGHM5R23-DBgpLSsr.js +0 -157
- package/dist/assets/stateDiagram-FHFEXIEX-D_6TWlLl.js +0 -1
- package/dist/assets/stateDiagram-v2-QKLJ7IA2-Cg06jbzN.js +0 -1
- package/dist/assets/timeline-definition-GMOUNBTQ-9_saaHvl.js +0 -120
- package/dist/assets/vennDiagram-DHZGUBPP-DMUS1fiT.js +0 -34
- package/dist/assets/wardley-RL74JXVD-Y-_Nnpu2.js +0 -162
- package/dist/assets/wardleyDiagram-NUSXRM2D-DIh62HY7.js +0 -20
- package/dist/assets/xychartDiagram-5P7HB3ND-B_CLrnpt.js +0 -7
- package/lib/kv-cache-analyzer.js +0 -164
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow 面板共享格式化工具(WorkflowPanel 与 WorkflowLiveHud 共用,纯函数无 CSS 依赖)。
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export const TERMINAL_STATES = new Set(['done', 'completed', 'failed', 'error', 'cancelled', 'skipped']);
|
|
6
|
+
|
|
7
|
+
// 工作流状态 → i18n key(缺失时调用方回退到原始 status 字符串)。
|
|
8
|
+
export const STATUS_KEYS = {
|
|
9
|
+
running: 'ui.workflow.status.running',
|
|
10
|
+
finishing: 'ui.workflow.status.finishing',
|
|
11
|
+
completed: 'ui.workflow.status.completed',
|
|
12
|
+
failed: 'ui.workflow.status.failed',
|
|
13
|
+
paused: 'ui.workflow.status.paused',
|
|
14
|
+
cancelled: 'ui.workflow.status.cancelled',
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export function fmtDuration(ms) {
|
|
18
|
+
if (typeof ms !== 'number' || ms < 0) return '';
|
|
19
|
+
const s = Math.round(ms / 1000);
|
|
20
|
+
if (s < 60) return `${s}s`;
|
|
21
|
+
const m = Math.floor(s / 60);
|
|
22
|
+
const rem = s % 60;
|
|
23
|
+
return rem ? `${m}m ${rem}s` : `${m}m`;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function fmtTokens(n) {
|
|
27
|
+
if (typeof n !== 'number' || n <= 0) return '0';
|
|
28
|
+
if (n >= 1000) return `${(n / 1000).toFixed(1)}k`;
|
|
29
|
+
return String(n);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function isRunning(state) {
|
|
33
|
+
return !TERMINAL_STATES.has(state);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export function stateGlyph(state) {
|
|
37
|
+
if (state === 'done' || state === 'completed') return '✓';
|
|
38
|
+
if (state === 'failed' || state === 'error') return '✗';
|
|
39
|
+
if (state === 'queued') return '○';
|
|
40
|
+
return '●';
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// 甘特完成条按阶段着色:柔和、明暗主题皆可读的循环色相调色板。
|
|
44
|
+
// 失败/运行中/排队仍走语义色(红/主色脉冲/灰),不取这里的值。
|
|
45
|
+
const PHASE_HUES = [206, 265, 150, 32, 322, 188, 96, 0];
|
|
46
|
+
|
|
47
|
+
export function phaseColor(phaseIndex) {
|
|
48
|
+
const n = PHASE_HUES.length;
|
|
49
|
+
const i = typeof phaseIndex === 'number' && phaseIndex >= 0 ? phaseIndex : 0;
|
|
50
|
+
const h = PHASE_HUES[i % n];
|
|
51
|
+
return `hsl(${h}, 48%, 50%)`;
|
|
52
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 从当前会话的 requests 提取所有 Workflow(UltraCode)run。
|
|
3
|
+
*
|
|
4
|
+
* 数据源:tool_result 块在 requests[i].body.input 的 **user 轮**(与 toolResultBuilder.js
|
|
5
|
+
* 的全局索引扫描同源,见其 role==='user' 分支)。每个 Workflow 工具的后台启动返回文本
|
|
6
|
+
* 原生携带 Task ID / Run ID / Transcript dir 路径(含 sessionId),由 parseWorkflowFromText 解析,
|
|
7
|
+
* 无需服务端 _cxvWorkflow 注入——历史日志(含旧日志)同样可枚举。
|
|
8
|
+
*
|
|
9
|
+
* 镜像 teamSessionParser.js 的 extractTeamSessions 模式:纯函数、无副作用,便于 node --test 直接 import。
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import { extractToolResultText, parseWorkflowFromText } from './toolResultCore.js';
|
|
13
|
+
|
|
14
|
+
const SUMMARY_RE = /Summary:\s*(.+)/;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 枚举 requests 里的全部 workflow run,按 taskId 主键去重(回填缺失的 runId/sessionId),
|
|
18
|
+
* 按最早出现时间倒序(最新在前)。
|
|
19
|
+
*
|
|
20
|
+
* @param {Array} requests - ChatView 的 requests 数组(每项含 timestamp 与 body.input)
|
|
21
|
+
* @returns {Array<{ runId: string|null, taskId: string|null, sessionId: string|null,
|
|
22
|
+
* resultText: string, timestamp: any, summary: string|null }>}
|
|
23
|
+
*/
|
|
24
|
+
export function extractWorkflowRuns(requests) {
|
|
25
|
+
if (!Array.isArray(requests)) return [];
|
|
26
|
+
|
|
27
|
+
// 以「逻辑 run 键」聚合:taskId 优先(launch 文本必有、1:1 对应一次 run),
|
|
28
|
+
// 缺失才退回 runId。合并同键时回填先到条目缺失的字段,避免「仅 taskId」与
|
|
29
|
+
// 「taskId+runId」因键漂移而漏去重。
|
|
30
|
+
const byKey = new Map();
|
|
31
|
+
|
|
32
|
+
// tool_use_id → 工具名。仅认 Workflow 工具产生的 tool_result——否则其它工具
|
|
33
|
+
// 其他工具若回显含 "Workflow launched in background"/"Run ID:" 字面量的
|
|
34
|
+
// 源码或日志,会被 parseWorkflowFromText 误判为一次真实启动(自引用误检)。
|
|
35
|
+
// 与 ToolResultView 渲染内联面板前判 toolName==='Workflow' 同源,扫法对齐 toolResultBuilder。
|
|
36
|
+
const toolNameById = buildToolUseNameMap(requests);
|
|
37
|
+
|
|
38
|
+
for (const req of requests) {
|
|
39
|
+
const msgs = req?.body?.input;
|
|
40
|
+
if (!Array.isArray(msgs)) continue;
|
|
41
|
+
for (const m of msgs) {
|
|
42
|
+
if (m?.role !== 'user' || !Array.isArray(m.content)) continue;
|
|
43
|
+
for (const block of m.content) {
|
|
44
|
+
if (block?.type !== 'tool_result') continue;
|
|
45
|
+
if (toolNameById.get(block.tool_use_id) !== 'Workflow') continue;
|
|
46
|
+
const txt = extractToolResultText(block);
|
|
47
|
+
const wf = parseWorkflowFromText(txt);
|
|
48
|
+
if (!wf) continue;
|
|
49
|
+
|
|
50
|
+
const key = wf.taskId || wf.runId;
|
|
51
|
+
if (!key) continue;
|
|
52
|
+
const summary = (txt.match(SUMMARY_RE) || [])[1]?.trim() || null;
|
|
53
|
+
|
|
54
|
+
const existing = byKey.get(key);
|
|
55
|
+
if (!existing) {
|
|
56
|
+
byKey.set(key, {
|
|
57
|
+
runId: wf.runId,
|
|
58
|
+
taskId: wf.taskId,
|
|
59
|
+
sessionId: wf.sessionId,
|
|
60
|
+
resultText: txt,
|
|
61
|
+
timestamp: req?.timestamp ?? null,
|
|
62
|
+
summary,
|
|
63
|
+
});
|
|
64
|
+
} else {
|
|
65
|
+
// 回填缺失字段(取任一非空);timestamp 保留最早出现的一条。
|
|
66
|
+
if (!existing.runId && wf.runId) existing.runId = wf.runId;
|
|
67
|
+
if (!existing.taskId && wf.taskId) existing.taskId = wf.taskId;
|
|
68
|
+
if (!existing.sessionId && wf.sessionId) existing.sessionId = wf.sessionId;
|
|
69
|
+
if (!existing.summary && summary) existing.summary = summary;
|
|
70
|
+
if (isEarlier(req?.timestamp, existing.timestamp)) {
|
|
71
|
+
existing.timestamp = req.timestamp;
|
|
72
|
+
existing.resultText = txt;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// 最新在前:timestamp 降序;无 timestamp 的排末尾。
|
|
80
|
+
return Array.from(byKey.values()).sort((a, b) => tsValue(b.timestamp) - tsValue(a.timestamp));
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* 扫 assistant 轮(body.input)与当前轮 response(response.body.content)的 tool_use,
|
|
85
|
+
* 建 id → name 映射。tool_result 凭 tool_use_id 反查工具名,只放行 Workflow。
|
|
86
|
+
*/
|
|
87
|
+
function buildToolUseNameMap(requests) {
|
|
88
|
+
const map = new Map();
|
|
89
|
+
for (const req of requests) {
|
|
90
|
+
const msgs = req?.body?.input;
|
|
91
|
+
if (Array.isArray(msgs)) {
|
|
92
|
+
for (const m of msgs) {
|
|
93
|
+
if (m?.role === 'assistant' && Array.isArray(m.content)) {
|
|
94
|
+
for (const b of m.content) {
|
|
95
|
+
if (b?.type === 'tool_use' && b.id) map.set(b.id, b.name);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
const respContent = req?.response?.body?.content;
|
|
101
|
+
if (Array.isArray(respContent)) {
|
|
102
|
+
for (const b of respContent) {
|
|
103
|
+
if (b?.type === 'tool_use' && b.id) map.set(b.id, b.name);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return map;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function tsValue(ts) {
|
|
111
|
+
if (ts == null) return -Infinity;
|
|
112
|
+
const n = typeof ts === 'number' ? ts : Date.parse(ts);
|
|
113
|
+
return Number.isNaN(n) ? -Infinity : n;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
function isEarlier(candidate, current) {
|
|
117
|
+
return tsValue(candidate) < tsValue(current);
|
|
118
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow live store
|
|
3
|
+
*
|
|
4
|
+
* 轻量模块级发布订阅,承接服务端 SSE `workflow_update` 事件,按 runId(及 taskId 别名)
|
|
5
|
+
* 分发给对应的 WorkflowPanel。避免 AppBase→ChatView→ChatMessage→ToolResultView→Panel
|
|
6
|
+
* 深层 prop 穿线。
|
|
7
|
+
*
|
|
8
|
+
* - publish(payload): AppBase 收到 workflow_update 时调用,payload = { runId, taskId, data, ... }。
|
|
9
|
+
* - subscribe(key, cb): WorkflowPanel 按自身 runId 或 taskId 订阅,返回退订函数。
|
|
10
|
+
* - getLatest(key): 取已缓存的最新 journal(panel 挂载时若已先到事件可即时用)。
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
const _subs = new Map(); // key(runId|taskId) → Set<cb>
|
|
14
|
+
const _latest = new Map(); // key → normalized journal data
|
|
15
|
+
const _authoritative = new Set(); // keys that已收到 live===false 的权威完成快照
|
|
16
|
+
|
|
17
|
+
// 「活跃工作流」追踪:供右下角悬浮 HUD 常驻展示运行中的工作流。
|
|
18
|
+
const _active = new Map(); // runId → 最新 data(仅运行中/收尾中)
|
|
19
|
+
const _activeSubs = new Set(); // Set<cb(list)>
|
|
20
|
+
|
|
21
|
+
function _emit(key, data) {
|
|
22
|
+
const set = _subs.get(key);
|
|
23
|
+
if (!set) return;
|
|
24
|
+
for (const cb of set) {
|
|
25
|
+
try { cb(data); } catch {}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function _emitActive() {
|
|
30
|
+
const list = [..._active.values()];
|
|
31
|
+
for (const cb of _activeSubs) {
|
|
32
|
+
try { cb(list); } catch {}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function _isActive(data) {
|
|
37
|
+
return data.live === true || data.status === 'running' || data.status === 'finishing';
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function publish(payload) {
|
|
41
|
+
if (!payload || typeof payload !== 'object') return;
|
|
42
|
+
const data = payload.data;
|
|
43
|
+
if (!data || typeof data !== 'object') return;
|
|
44
|
+
const keys = [];
|
|
45
|
+
if (payload.runId) keys.push(payload.runId);
|
|
46
|
+
if (data.runId && data.runId !== payload.runId) keys.push(data.runId);
|
|
47
|
+
if (payload.taskId) keys.push(payload.taskId);
|
|
48
|
+
if (data.taskId && data.taskId !== payload.taskId) keys.push(data.taskId);
|
|
49
|
+
// 权威完成快照(live!==true)一旦到达即锁定该 key:忽略其后乱序到达的运行中逐帧,
|
|
50
|
+
// 否则尾随的 live 帧会把面板从「已完成」回退成「运行中」。
|
|
51
|
+
const isLive = data.live === true;
|
|
52
|
+
for (const k of keys) {
|
|
53
|
+
if (isLive && _authoritative.has(k)) continue;
|
|
54
|
+
if (!isLive) _authoritative.add(k);
|
|
55
|
+
_latest.set(k, data);
|
|
56
|
+
_emit(k, data);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// 维护活跃工作流集合(按 canonical runId 去重,避免 taskId 重复计数)
|
|
60
|
+
const rk = data.runId || payload.runId;
|
|
61
|
+
if (rk && !(isLive && _authoritative.has(rk))) {
|
|
62
|
+
if (_isActive(data)) { _active.set(rk, data); _emitActive(); }
|
|
63
|
+
else if (_active.delete(rk)) { _emitActive(); }
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/** 订阅活跃(运行中/收尾中)工作流列表变化;立即不回调,调用 getActiveWorkflows 取初值。 */
|
|
68
|
+
export function subscribeActive(cb) {
|
|
69
|
+
if (typeof cb !== 'function') return () => {};
|
|
70
|
+
_activeSubs.add(cb);
|
|
71
|
+
return () => { _activeSubs.delete(cb); };
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/** 取当前活跃工作流列表(最新 data 数组)。 */
|
|
75
|
+
export function getActiveWorkflows() {
|
|
76
|
+
return [..._active.values()];
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export function subscribe(key, cb) {
|
|
80
|
+
if (!key || typeof cb !== 'function') return () => {};
|
|
81
|
+
let set = _subs.get(key);
|
|
82
|
+
if (!set) { set = new Set(); _subs.set(key, set); }
|
|
83
|
+
set.add(cb);
|
|
84
|
+
return () => {
|
|
85
|
+
const s = _subs.get(key);
|
|
86
|
+
if (!s) return;
|
|
87
|
+
s.delete(cb);
|
|
88
|
+
if (s.size === 0) _subs.delete(key);
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export function getLatest(key) {
|
|
93
|
+
return key ? (_latest.get(key) || null) : null;
|
|
94
|
+
}
|
package/vite.config.js
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { defineConfig } from 'vite';
|
|
2
|
+
import react from '@vitejs/plugin-react';
|
|
3
|
+
import { readFileSync } from 'node:fs';
|
|
4
|
+
|
|
5
|
+
function getBackendPort() {
|
|
6
|
+
try {
|
|
7
|
+
return parseInt(readFileSync('/tmp/cx-viewer-port', 'utf-8').trim(), 10);
|
|
8
|
+
} catch {
|
|
9
|
+
return 7008;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const pkg = JSON.parse(readFileSync(new URL('./package.json', import.meta.url), 'utf-8'));
|
|
14
|
+
|
|
15
|
+
export default defineConfig(() => {
|
|
16
|
+
const port = getBackendPort();
|
|
17
|
+
return {
|
|
18
|
+
// CXV_BASE_PATH: deployment base path (determines dist asset reference style at build time).
|
|
19
|
+
// unset / '' → '' relative (default) — outputs ./assets/...; combined with runtime <base>
|
|
20
|
+
// tag, a single dist supports both root deployment and reverse-proxy sub-path
|
|
21
|
+
// deployment without source rebuild.
|
|
22
|
+
// '/prefix/' → build-time hardcoded prefix (assets pinned to this sub-path).
|
|
23
|
+
// '/' → absolute (escape hatch for the old default; set CXV_BASE_PATH=/ when absolute
|
|
24
|
+
// /assets/... references are needed).
|
|
25
|
+
// Note: server/lib/base-path.js's normalizeBasePath is not reused here — build-time `base`
|
|
26
|
+
// has different semantics from runtime (here '/' means absolute and unset/'' means relative;
|
|
27
|
+
// at runtime both '/' and unset mean "no prefix").
|
|
28
|
+
base: (() => {
|
|
29
|
+
const v = process.env.CXV_BASE_PATH;
|
|
30
|
+
if (v === undefined) return ''; // default: relative (use CXV_BASE_PATH=/ for absolute)
|
|
31
|
+
if (v === '') return ''; // relative paths, no trailing slash fixup
|
|
32
|
+
return v.replace(/\/?$/, '/'); // ensure trailing slash
|
|
33
|
+
})(),
|
|
34
|
+
plugins: [react()],
|
|
35
|
+
define: {
|
|
36
|
+
__APP_VERSION__: JSON.stringify(pkg.version),
|
|
37
|
+
},
|
|
38
|
+
build: {
|
|
39
|
+
outDir: 'dist',
|
|
40
|
+
// Enable for local perf / debugging: CXV_SOURCEMAP=1 npm run build (or npm run build:sourcemap).
|
|
41
|
+
// Disabled by default — size + security (don't ship .map with npm; package.json files already
|
|
42
|
+
// includes `!dist/**/*.map` as a safety net). When .map files exist, Chrome DevTools auto-loads
|
|
43
|
+
// them, making antd/cx-viewer stack frames readable (dk/ck → real names + source positions).
|
|
44
|
+
sourcemap: process.env.CXV_SOURCEMAP === '1',
|
|
45
|
+
// xterm.js 6.0.0's InputHandler.requestMode was mis-handled by the identifier mangler,
|
|
46
|
+
// causing a ReferenceError in production builds (issue #5800). Vite's default esbuild
|
|
47
|
+
// minify can't selectively disable identifier mangling (top-level esbuild options only
|
|
48
|
+
// apply to the transform phase, not minify). Switching to terser + mangle:false is
|
|
49
|
+
// the reliable workaround. Gzip size is 15-25% larger than esbuild default; revert to
|
|
50
|
+
// esbuild once xterm 6.1 stable ships with a fix.
|
|
51
|
+
minify: 'terser',
|
|
52
|
+
terserOptions: {
|
|
53
|
+
mangle: false,
|
|
54
|
+
compress: true,
|
|
55
|
+
},
|
|
56
|
+
rollupOptions: {
|
|
57
|
+
output: {
|
|
58
|
+
// Split vendor chunks to avoid bundling antd/highlight/virtuoso/xterm/codemirror
|
|
59
|
+
// into a single 3MB+ block (slows V8 parse, increases GC pressure, breaks cache granularity).
|
|
60
|
+
manualChunks: {
|
|
61
|
+
'vendor-react': ['react', 'react-dom'],
|
|
62
|
+
'vendor-antd': ['antd'],
|
|
63
|
+
'vendor-virtuoso': ['react-virtuoso'],
|
|
64
|
+
'vendor-highlight': ['highlight.js'],
|
|
65
|
+
'vendor-markdown': ['marked', 'dompurify'],
|
|
66
|
+
'vendor-qrcode': ['qrcode.react'],
|
|
67
|
+
'vendor-xterm': [
|
|
68
|
+
'@xterm/xterm',
|
|
69
|
+
'@xterm/addon-fit',
|
|
70
|
+
'@xterm/addon-unicode11',
|
|
71
|
+
'@xterm/addon-web-links',
|
|
72
|
+
'@xterm/addon-webgl',
|
|
73
|
+
],
|
|
74
|
+
'vendor-codemirror': [
|
|
75
|
+
'@uiw/react-codemirror',
|
|
76
|
+
'@replit/codemirror-minimap',
|
|
77
|
+
'@codemirror/lang-javascript',
|
|
78
|
+
'@codemirror/lang-python',
|
|
79
|
+
'@codemirror/lang-json',
|
|
80
|
+
'@codemirror/lang-markdown',
|
|
81
|
+
'@codemirror/lang-go',
|
|
82
|
+
'@codemirror/lang-rust',
|
|
83
|
+
'@codemirror/lang-java',
|
|
84
|
+
'@codemirror/lang-cpp',
|
|
85
|
+
'@codemirror/lang-css',
|
|
86
|
+
'@codemirror/lang-php',
|
|
87
|
+
'@codemirror/lang-sql',
|
|
88
|
+
'@codemirror/lang-xml',
|
|
89
|
+
'@codemirror/lang-yaml',
|
|
90
|
+
],
|
|
91
|
+
// MDXEditor is loaded via React.lazy only when opening .md files in GUI mode;
|
|
92
|
+
// separate chunk to avoid blocking first-screen load and to distinguish from vendor-codemirror.
|
|
93
|
+
'vendor-mdxeditor': ['@mdxeditor/editor'],
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
server: {
|
|
99
|
+
proxy: {
|
|
100
|
+
'/events': `http://127.0.0.1:${port}`,
|
|
101
|
+
'/api': `http://127.0.0.1:${port}`,
|
|
102
|
+
'/ws/terminal': { target: `ws://127.0.0.1:${port}`, ws: true },
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
});
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# Cache Rebuild (إعادة بناء الذاكرة المؤقتة)
|
|
2
|
-
|
|
3
|
-
## الخلفية
|
|
4
|
-
|
|
5
|
-
تقوم آلية prompt caching من Anthropic بتجميع system → tools → messages (حتى نقطة توقف الذاكرة المؤقتة) بالترتيب كمفتاح للذاكرة المؤقتة. عندما يتطابق مفتاح الذاكرة المؤقتة تماماً مع الطلب السابق، تُرجع الـ API قيمة `cache_read_input_tokens` (إصابة الذاكرة المؤقتة)؛ وعندما يتغير المفتاح، تُعيد الـ API إنشاء الذاكرة المؤقتة وتُرجع كمية كبيرة من `cache_creation_input_tokens`، أي إعادة بناء الذاكرة المؤقتة.
|
|
6
|
-
|
|
7
|
-
إعادة بناء الذاكرة المؤقتة تعني رسوم tokens إضافية (سعر cache creation أعلى من cache read)، لذا فإن تحديد سبب إعادة البناء له قيمة مباشرة في تحسين التكاليف.
|
|
8
|
-
|
|
9
|
-
## تصنيف أسباب إعادة بناء الذاكرة المؤقتة
|
|
10
|
-
|
|
11
|
-
يحدد cc-viewer بدقة سبب إعادة بناء الذاكرة المؤقتة من خلال مقارنة body طلبي MainAgent المتتاليين:
|
|
12
|
-
|
|
13
|
-
| reason | المعنى | طريقة التحديد |
|
|
14
|
-
|--------|--------|---------------|
|
|
15
|
-
| `ttl` | انتهاء صلاحية الذاكرة المؤقتة | مرور أكثر من 5 دقائق منذ آخر طلب MainAgent |
|
|
16
|
-
| `system_change` | تغيير system prompt | `JSON.stringify(prev.system) !== JSON.stringify(curr.system)` |
|
|
17
|
-
| `tools_change` | تغيير تعريفات الأدوات | `JSON.stringify(prev.tools) !== JSON.stringify(curr.tools)` |
|
|
18
|
-
| `model_change` | تبديل النموذج | `prev.model !== curr.model` |
|
|
19
|
-
| `msg_truncated` | اقتطاع مكدس الرسائل | عدد رسائل الطلب الحالي أقل من السابق، عادة بسبب تجاوز نافذة السياق |
|
|
20
|
-
| `msg_modified` | تعديل الرسائل التاريخية | عدم تطابق محتوى الرسائل السابقة (في الإلحاق العادي يجب أن تكون البادئة متطابقة تماماً) |
|
|
21
|
-
| `key_change` | تغيير مفتاح غير معروف | احتياطي عندما لا تتطابق أي من الشروط أعلاه |
|
|
22
|
-
|
|
23
|
-
## أولوية التحديد
|
|
24
|
-
|
|
25
|
-
1. فحص الفاصل الزمني أولاً — إذا تجاوز 5 دقائق يُحدد مباشرة كـ `ttl` دون مقارنة body
|
|
26
|
-
2. ثم فحص model وsystem وtools وmessages بالترتيب
|
|
27
|
-
3. قد يتطابق طلب واحد مع أسباب متعددة (مثل تبديل النموذج + تغيير system prompt)، وفي هذه الحالة تحتوي مصفوفة `reasons` على جميع العناصر المتطابقة ويُعرض tooltip بأسطر متعددة
|
|
28
|
-
|
|
29
|
-
## السيناريوهات الشائعة
|
|
30
|
-
|
|
31
|
-
- **`ttl`**: توقف المستخدم عن العمل لأكثر من 5 دقائق ثم استأنف، وانتهت صلاحية الذاكرة المؤقتة طبيعياً
|
|
32
|
-
- **`system_change`**: قام Claude Code بتحديث system prompt (مثل تحميل CLAUDE.md جديد أو تغيير تعليمات المشروع)
|
|
33
|
-
- **`tools_change`**: اتصال/انقطاع خادم MCP أدى إلى تغيير قائمة الأدوات المتاحة
|
|
34
|
-
- **`model_change`**: قام المستخدم بتبديل النموذج عبر أمر `/model`
|
|
35
|
-
- **`msg_truncated`**: محادثة طويلة أدت إلى تفعيل إدارة نافذة السياق، وقام Claude Code باقتطاع الرسائل المبكرة
|
|
36
|
-
- **`msg_modified`**: قام Claude Code بتعديل الرسائل التاريخية (مثل استبدال `/compact` للملخص المضغوط بالرسائل الأصلية)
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
# محتوى KV-Cache المُخزَّن مؤقتًا
|
|
2
|
-
|
|
3
|
-
## ما هو Prompt Caching؟
|
|
4
|
-
|
|
5
|
-
عندما تتحدث مع Claude، يرسل كل طلب API سياق المحادثة الكامل (system prompt + تعريفات الأدوات + الرسائل السابقة). تقوم آلية prompt caching من Anthropic بتخزين محتوى البادئة المحسوب مسبقًا على الخادم، وإذا كانت البادئة متطابقة في الطلبات اللاحقة، يتم إعادة استخدام النتائج المُخزَّنة مباشرةً وتخطي الحسابات المكررة، مما يقلل بشكل كبير من زمن الاستجابة والتكاليف.
|
|
6
|
-
|
|
7
|
-
في cc-viewer، يُشار إلى هذه الآلية بـ "KV-Cache"، وهي تُطابق prompt caching على مستوى Anthropic API، وليس ذاكرة key-value الخاصة بطبقات الانتباه في transformer داخل LLM.
|
|
8
|
-
|
|
9
|
-
## كيفية عمل التخزين المؤقت
|
|
10
|
-
|
|
11
|
-
يجمع prompt caching من Anthropic مفاتيح الذاكرة المؤقتة بترتيب ثابت:
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
Tools → System Prompt → Messages (حتى نقطة فاصل الذاكرة المؤقتة)
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
طالما أن هذه البادئة متطابقة تمامًا مع أي طلب سابق ضمن نافذة TTL، فإن API يصل إلى الذاكرة المؤقتة (ويعيد `cache_read_input_tokens`)، بدلاً من إعادة الحساب (`cache_creation_input_tokens`).
|
|
18
|
-
|
|
19
|
-
> **Claude Code لا يعتمد بشكل صارم على خاصية `cache_control`، حيث يتعاون الخادم بإزالة بعض هذه الخصائص، ومع ذلك لا يزال قادرًا على إنشاء ذاكرة مؤقتة بشكل جيد، لذا عدم رؤية خاصية `cache_control` لا يعني عدم وجود تخزين مؤقت**
|
|
20
|
-
>
|
|
21
|
-
> بالنسبة للعملاء المتخصصين مثل Claude Code، لا يعتمد خادم Anthropic بشكل كامل على خاصية `cache_control` في الطلب لتحديد سلوك التخزين المؤقت. يقوم الخادم تلقائيًا بتنفيذ سياسة التخزين المؤقت لحقول معينة (مثل system prompt وتعريفات الأدوات)، حتى لو لم يحمل الطلب صراحةً علامة `cache_control`. لذلك، عندما لا ترى هذه الخاصية في نص الطلب، لا تقلق — فقد أكمل الخادم عملية التخزين المؤقت خلف الكواليس، لكنه ببساطة لم يكشف هذه المعلومة للعميل. هذا تفاهم ضمني بين Claude Code وAPI من Anthropic.
|
|
22
|
-
|
|
23
|
-
## ما هو "محتوى KV-Cache المُخزَّن مؤقتًا الحالي"؟
|
|
24
|
-
|
|
25
|
-
"محتوى KV-Cache المُخزَّن مؤقتًا الحالي" المعروض في cc-viewer هو المحتوى المُستخرج من آخر طلب MainAgent، والواقع قبل حدود التخزين المؤقت (cache breakpoint). يشمل بالتحديد:
|
|
26
|
-
|
|
27
|
-
- **System Prompt**: تعليمات نظام Claude Code، بما في ذلك تعليمات الوكيل الأساسية، ومواصفات استخدام الأدوات، وتعليمات مشروع CLAUDE.md، ومعلومات البيئة، إلخ.
|
|
28
|
-
- **Tools**: قائمة تعريفات الأدوات المتاحة حاليًا (مثل Read و Write و Bash و Agent وأدوات MCP وما إلى ذلك)
|
|
29
|
-
- **Messages**: الجزء المُخزَّن مؤقتًا من سجل المحادثة (عادة الرسائل الأقدم، حتى آخر علامة `cache_control`)
|
|
30
|
-
|
|
31
|
-
## لماذا يجب عرض محتوى الذاكرة المؤقتة؟
|
|
32
|
-
|
|
33
|
-
1. **فهم السياق**: معرفة ما "يتذكره" Claude حاليًا يساعدك على تحديد ما إذا كان سلوكه يتوافق مع التوقعات
|
|
34
|
-
2. **تحسين التكاليف**: تكلفة الوصول إلى الذاكرة المؤقتة أقل بكثير من إعادة الحساب. عرض محتوى الذاكرة المؤقتة يساعدك على فهم سبب تفعيل بعض الطلبات لإعادة بناء الذاكرة المؤقتة (cache rebuild)
|
|
35
|
-
3. **تصحيح أخطاء المحادثة**: عندما لا تتوافق إجابة Claude مع التوقعات، يمكنك فحص محتوى الذاكرة المؤقتة للتأكد من صحة system prompt والرسائل السابقة
|
|
36
|
-
4. **مراقبة جودة السياق**: أثناء تصحيح الأخطاء وتعديل الإعدادات وضبط الـ prompt، يوفر KV-Cache-Text منظورًا مركزيًا يساعدك على التأكد بسرعة من عدم تدهور السياق الأساسي أو تلوثه بمحتوى غير متوقع — دون الحاجة لمراجعة الرسائل الأصلية واحدة تلو الأخرى
|
|
37
|
-
|
|
38
|
-
## استراتيجية التخزين المؤقت متعددة المستويات
|
|
39
|
-
|
|
40
|
-
ذاكرة KV-Cache المُقابلة لـ Claude Code ليست نسخة واحدة فقط. يُنشئ الخادم ذاكرة مؤقتة منفصلة لـ Tools و System Prompt، مستقلة عن ذاكرة Messages. ميزة هذا التصميم هي: عندما تحدث فوضى في مكدس الرسائل (مثل اقتطاع السياق أو تعديل الرسائل) وتتطلب إعادة البناء، لن تتأثر ذاكرة Tools و System Prompt معها، مما يتجنب إعادة حساب كل شيء.
|
|
41
|
-
|
|
42
|
-
هذه استراتيجية تحسين من جانب الخادم في المرحلة الحالية — لأن تعريفات الأدوات و System Prompt مستقرة نسبيًا أثناء الاستخدام العادي ونادرًا ما تتغير، وتخزينها بشكل مستقل يقلل من تكاليف إعادة البناء غير الضرورية. لذلك عند مراقبة الذاكرة المؤقتة ستلاحظ أنه باستثناء إعادة بناء Tools التي تتطلب تحديث كل الذاكرة المؤقتة، فإن تلف System Prompt أو Messages لا يزال يتيح وجود ذاكرة مؤقتة قابلة للتوريث.
|
|
43
|
-
|
|
44
|
-
## دورة حياة الذاكرة المؤقتة
|
|
45
|
-
|
|
46
|
-
- **الإنشاء**: عند الطلب الأول أو بعد انتهاء صلاحية الذاكرة المؤقتة، ينشئ API ذاكرة مؤقتة جديدة (`cache_creation_input_tokens`)
|
|
47
|
-
- **الوصول**: في الطلبات اللاحقة ذات البادئة المتطابقة، يتم إعادة استخدام الذاكرة المؤقتة (`cache_read_input_tokens`)
|
|
48
|
-
- **انتهاء الصلاحية**: الذاكرة المؤقتة لها TTL (وقت البقاء) مدته 5 دقائق، وتنتهي صلاحيتها تلقائيًا بعد هذه الفترة
|
|
49
|
-
- **إعادة البناء**: عندما يتغير system prompt أو قائمة الأدوات أو النموذج أو محتوى الرسائل، لا يتطابق مفتاح الذاكرة المؤقتة، مما يؤدي إلى تفعيل إعادة بناء المستوى المُقابل من الذاكرة المؤقتة
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
# Agent
|
|
2
|
-
|
|
3
|
-
## التعريف
|
|
4
|
-
|
|
5
|
-
بدء وكيل فرعي (SubAgent) لمعالجة المهام المعقدة متعددة الخطوات بشكل مستقل. الوكلاء الفرعيون هم عمليات فرعية مستقلة، لكل منها مجموعة أدوات وسياق مخصص. Agent هو النسخة المعاد تسميتها من أداة Task في الإصدارات الأحدث من Claude Code.
|
|
6
|
-
|
|
7
|
-
## المعاملات
|
|
8
|
-
|
|
9
|
-
| المعامل | النوع | مطلوب | الوصف |
|
|
10
|
-
|---------|-------|-------|-------|
|
|
11
|
-
| `prompt` | string | نعم | وصف المهمة التي سينفذها الوكيل الفرعي |
|
|
12
|
-
| `description` | string | نعم | ملخص مختصر من 3-5 كلمات |
|
|
13
|
-
| `subagent_type` | string | نعم | نوع الوكيل الفرعي، يحدد مجموعة الأدوات المتاحة |
|
|
14
|
-
| `model` | enum | لا | تحديد النموذج (sonnet / opus / haiku)، الافتراضي يرث من الأصل |
|
|
15
|
-
| `max_turns` | integer | لا | الحد الأقصى لعدد الجولات |
|
|
16
|
-
| `run_in_background` | boolean | لا | هل يعمل في الخلفية، المهام الخلفية تُرجع مسار output_file |
|
|
17
|
-
| `resume` | string | لا | معرف الوكيل المراد استئنافه، يستمر من آخر تنفيذ. مفيد لاستئناف وكيل فرعي سابق دون فقدان السياق |
|
|
18
|
-
| `isolation` | enum | لا | وضع العزل، `worktree` ينشئ git worktree مؤقت |
|
|
19
|
-
|
|
20
|
-
## أنواع الوكلاء الفرعيين
|
|
21
|
-
|
|
22
|
-
| النوع | الغرض | الأدوات المتاحة |
|
|
23
|
-
|-------|--------|----------------|
|
|
24
|
-
| `Bash` | تنفيذ الأوامر، عمليات git | Bash |
|
|
25
|
-
| `general-purpose` | مهام عامة متعددة الخطوات | جميع الأدوات |
|
|
26
|
-
| `Explore` | استكشاف سريع لقاعدة الكود | جميع الأدوات باستثناء Agent/Edit/Write/NotebookEdit/ExitPlanMode |
|
|
27
|
-
| `Plan` | تصميم خطط التنفيذ | جميع الأدوات باستثناء Agent/Edit/Write/NotebookEdit/ExitPlanMode |
|
|
28
|
-
| `claude-code-guide` | أسئلة وأجوبة حول دليل استخدام Claude Code | Glob, Grep, Read, WebFetch, WebSearch |
|
|
29
|
-
| `statusline-setup` | تكوين شريط الحالة | Read, Edit |
|
|
30
|
-
|
|
31
|
-
## سيناريوهات الاستخدام
|
|
32
|
-
|
|
33
|
-
**مناسب للاستخدام:**
|
|
34
|
-
- المهام المعقدة التي تتطلب إنجازاً مستقلاً متعدد الخطوات
|
|
35
|
-
- استكشاف قاعدة الكود والبحث المعمق (باستخدام نوع Explore)
|
|
36
|
-
- العمل المتوازي الذي يتطلب بيئة معزولة
|
|
37
|
-
- المهام طويلة المدة التي تحتاج للعمل في الخلفية
|
|
38
|
-
|
|
39
|
-
**غير مناسب للاستخدام:**
|
|
40
|
-
- قراءة مسار ملف محدد — استخدم Read أو Glob مباشرة
|
|
41
|
-
- البحث في 2-3 ملفات معروفة — استخدم Read مباشرة
|
|
42
|
-
- البحث عن تعريف فئة محددة — استخدم Glob مباشرة
|
|
43
|
-
|
|
44
|
-
## ملاحظات
|
|
45
|
-
|
|
46
|
-
- بعد اكتمال الوكيل الفرعي يُرجع رسالة واحدة، نتائجه غير مرئية للمستخدم ويحتاج الوكيل الرئيسي لنقلها
|
|
47
|
-
- يمكن إطلاق عدة استدعاءات Agent بالتوازي في رسالة واحدة لزيادة الكفاءة
|
|
48
|
-
- يتم فحص تقدم المهام الخلفية عبر أداة TaskOutput
|
|
49
|
-
- نوع Explore أبطأ من استدعاء Glob/Grep مباشرة، يُستخدم فقط عندما لا يكفي البحث البسيط
|
|
50
|
-
- استخدم `run_in_background: true` للمهام طويلة المدة التي لا تحتاج نتائج فورية؛ استخدم الوضع الأمامي (الافتراضي) عندما تكون النتيجة مطلوبة قبل المتابعة
|
|
51
|
-
- يتيح معامل `resume` استئناف جلسة وكيل فرعي بدأت سابقاً مع الحفاظ على السياق المتراكم
|
|
52
|
-
|
|
53
|
-
## النص الأصلي
|
|
54
|
-
|
|
55
|
-
<textarea readonly>Launch a new agent to handle complex, multi-step tasks autonomously.
|
|
56
|
-
|
|
57
|
-
The Agent tool launches specialized agents (subprocesses) that autonomously handle complex tasks. Each agent type has specific capabilities and tools available to it.
|
|
58
|
-
|
|
59
|
-
Available agent types and the tools they have access to:
|
|
60
|
-
- general-purpose: General-purpose agent for researching complex questions, searching for code, and executing multi-step tasks. When you are searching for a keyword or file and are not confident that you will find the right match in the first few tries use this agent to perform the search for you. (Tools: *)
|
|
61
|
-
- statusline-setup: Use this agent to configure the user's Claude Code status line setting. (Tools: Read, Edit)
|
|
62
|
-
- Explore: Fast agent specialized for exploring codebases. Use this when you need to quickly find files by patterns (eg. "src/components/**/*.tsx"), search code for keywords (eg. "API endpoints"), or answer questions about the codebase (eg. "how do API endpoints work?"). When calling this agent, specify the desired thoroughness level: "quick" for basic searches, "medium" for moderate exploration, or "very thorough" for comprehensive analysis across multiple locations and naming conventions. (Tools: All tools except Agent, ExitPlanMode, Edit, Write, NotebookEdit)
|
|
63
|
-
- Plan: Software architect agent for designing implementation plans. Use this when you need to plan the implementation strategy for a task. Returns step-by-step plans, identifies critical files, and considers architectural trade-offs. (Tools: All tools except Agent, ExitPlanMode, Edit, Write, NotebookEdit)
|
|
64
|
-
- claude-code-guide: Use this agent when the user asks questions ("Can Claude...", "Does Claude...", "How do I...") about: (1) Claude Code (the CLI tool) - features, hooks, slash commands, MCP servers, settings, IDE integrations, keyboard shortcuts; (2) Claude Agent SDK - building custom agents; (3) Claude API (formerly Anthropic API) - API usage, tool use, Anthropic SDK usage. **IMPORTANT:** Before spawning a new agent, check if there is already a running or recently completed claude-code-guide agent that you can resume using the "resume" parameter. (Tools: Glob, Grep, Read, WebFetch, WebSearch)
|
|
65
|
-
|
|
66
|
-
When using the Agent tool, you must specify a subagent_type parameter to select which agent type to use.
|
|
67
|
-
|
|
68
|
-
When NOT to use the Agent tool:
|
|
69
|
-
- If you want to read a specific file path, use the Read or Glob tool instead of the Agent tool, to find the match more quickly
|
|
70
|
-
- If you are searching for a specific class definition like "class Foo", use the Glob tool instead, to find the match more quickly
|
|
71
|
-
- If you are searching for code within a specific file or set of 2-3 files, use the Read tool instead of the Agent tool, to find the match more quickly
|
|
72
|
-
- Other tasks that are not related to the agent descriptions above
|
|
73
|
-
|
|
74
|
-
Usage notes:
|
|
75
|
-
- Always include a short description (3-5 words) summarizing what the agent will do
|
|
76
|
-
- Launch multiple agents concurrently whenever possible, to maximize performance; to do that, use a single message with multiple tool uses
|
|
77
|
-
- When the agent is done, it will return a single message back to you. The result returned by the agent is not visible to the user. To show the user the result, you should send a text message back to the user with a concise summary of the result.
|
|
78
|
-
- You can optionally run agents in the background using the run_in_background parameter. When an agent runs in the background, you will be automatically notified when it completes — do NOT sleep, poll, or proactively check on its progress. Continue with other work or respond to the user instead.
|
|
79
|
-
- **Foreground vs background**: Use foreground (default) when you need the agent's results before you can proceed — e.g., research agents whose findings inform your next steps. Use background when you have genuinely independent work to do in parallel.
|
|
80
|
-
- Agents can be resumed using the `resume` parameter by passing the agent ID from a previous invocation. When resumed, the agent continues with its full previous context preserved. When NOT resuming, each invocation starts fresh and you should provide a detailed task description with all necessary context.
|
|
81
|
-
- When the agent is done, it will return a single message back to you along with its agent ID. You can use this ID to resume the agent later if needed for follow-up work.
|
|
82
|
-
- Provide clear, detailed prompts so the agent can work autonomously and return exactly the information you need.
|
|
83
|
-
- Agents with "access to current context" can see the full conversation history before the tool call. When using these agents, you can write concise prompts that reference earlier context (e.g., "investigate the error discussed above") instead of repeating information. The agent will receive all prior messages and understand the context.
|
|
84
|
-
- The agent's outputs should generally be trusted
|
|
85
|
-
- Clearly tell the agent whether you expect it to write code or just to do research (search, file reads, web fetches, etc.), since it is not aware of the user's intent
|
|
86
|
-
- If the agent description mentions that it should be used proactively, then you should try your best to use it without the user having to ask for it first. Use your judgement.
|
|
87
|
-
- If the user specifies that they want you to run agents "in parallel", you MUST send a single message with multiple Agent tool use content blocks. For example, if you need to launch both a build-validator agent and a test-runner agent in parallel, send a single message with both tool calls.
|
|
88
|
-
- You can optionally set `isolation: "worktree"` to run the agent in a temporary git worktree, giving it an isolated copy of the repository. The worktree is automatically cleaned up if the agent makes no changes; if changes are made, the worktree path and branch are returned in the result.
|
|
89
|
-
|
|
90
|
-
Example usage:
|
|
91
|
-
|
|
92
|
-
<example_agent_descriptions>
|
|
93
|
-
"test-runner": use this agent after you are done writing code to run tests
|
|
94
|
-
"greeting-responder": use this agent to respond to user greetings with a friendly joke
|
|
95
|
-
</example_agent_descriptions>
|
|
96
|
-
|
|
97
|
-
<example>
|
|
98
|
-
user: "Please write a function that checks if a number is prime"
|
|
99
|
-
assistant: Sure let me write a function that checks if a number is prime
|
|
100
|
-
assistant: First let me use the Write tool to write a function that checks if a number is prime
|
|
101
|
-
assistant: I'm going to use the Write tool to write the following code:
|
|
102
|
-
<code>
|
|
103
|
-
function isPrime(n) {
|
|
104
|
-
if (n <= 1) return false
|
|
105
|
-
for (let i = 2; i * i <= n; i++) {
|
|
106
|
-
if (n % i === 0) return false
|
|
107
|
-
}
|
|
108
|
-
return true
|
|
109
|
-
}
|
|
110
|
-
</code>
|
|
111
|
-
<commentary>
|
|
112
|
-
Since a significant piece of code was written and the task was completed, now use the test-runner agent to run the tests
|
|
113
|
-
</commentary>
|
|
114
|
-
assistant: Now let me use the test-runner agent to run the tests
|
|
115
|
-
assistant: Uses the Agent tool to launch the test-runner agent
|
|
116
|
-
</example>
|
|
117
|
-
|
|
118
|
-
<example>
|
|
119
|
-
user: "Hello"
|
|
120
|
-
<commentary>
|
|
121
|
-
Since the user is greeting, use the greeting-responder agent to respond with a friendly joke
|
|
122
|
-
</commentary>
|
|
123
|
-
assistant: "I'm going to use the Agent tool to launch the greeting-responder agent"
|
|
124
|
-
</example>
|
|
125
|
-
</textarea>
|