@nextclaw/ui 0.15.24 → 0.15.26
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/CHANGELOG.md +39 -0
- package/dist/assets/{abnfDiagram-VRR7QNED-DvTjgVMf.js → abnfDiagram-VRR7QNED-BcFJp_1X.js} +1 -1
- package/dist/assets/{aiden0z-pptx-renderer.es-C1nfBAXR.js → aiden0z-pptx-renderer.es-Dp2ezlQn.js} +1 -1
- package/dist/assets/{api-BxPNDp30.js → api-CK3Fro7z.js} +6 -6
- package/dist/assets/appearance-settings-page-zqwWO8Dy.js +1 -0
- package/dist/assets/{arc-BvhODBXv.js → arc-CkgyPMyW.js} +1 -1
- package/dist/assets/architecture-TIHT7OUA-DO2x53FK.js +1 -0
- package/dist/assets/{architectureDiagram-ZJ3FMSHR-BKO9RgNS.js → architectureDiagram-ZJ3FMSHR-CMd4cIjI.js} +1 -1
- package/dist/assets/{blockDiagram-677ZJIJ3-DHpDXy7D.js → blockDiagram-677ZJIJ3-Bz3tbhet.js} +1 -1
- package/dist/assets/{c4Diagram-LMCZKHZV-BG_iQnDr.js → c4Diagram-LMCZKHZV-D9hFNAGv.js} +1 -1
- package/dist/assets/channel-nBvMaVyP.js +1 -0
- package/dist/assets/{channels-list-page-DRaNWAxC.js → channels-list-page-CVCZBlCL.js} +2 -2
- package/dist/assets/chat-page-D4wehRTz.js +1 -0
- package/dist/assets/chunk-2Q5K7J3B-CJgqFDS4.js +1 -0
- package/dist/assets/{chunk-32BRIVSS-DR9M0LLx.js → chunk-32BRIVSS-7NrjEITq.js} +1 -1
- package/dist/assets/{chunk-52WLFC77-698iC3BB.js → chunk-52WLFC77-viIcqj9q.js} +1 -1
- package/dist/assets/{chunk-5FCAYU7R-DikTj9Ey.js → chunk-5FCAYU7R-Vsu4J-VM.js} +1 -1
- package/dist/assets/{chunk-5HE753X5-ko0o7_q0.js → chunk-5HE753X5-C-w6CQZK.js} +1 -1
- package/dist/assets/{chunk-5JV3BV7I-CEHufhgo.js → chunk-5JV3BV7I-CuKgJQ4W.js} +1 -1
- package/dist/assets/{chunk-5TONJI2A-CGgno1cu.js → chunk-5TONJI2A-CYeiWZKb.js} +1 -1
- package/dist/assets/{chunk-5VM5RSS4-DkiB4cUQ.js → chunk-5VM5RSS4-DRCbfwIn.js} +1 -1
- package/dist/assets/{chunk-7BUUIJ7U-DzptcytQ.js → chunk-7BUUIJ7U-BvydOcm3.js} +1 -1
- package/dist/assets/{chunk-BIQX33UG-DMRSQJvT.js → chunk-BIQX33UG-RlppOXKo.js} +1 -1
- package/dist/assets/{chunk-C7G6YPKG-Bw1BwwuY.js → chunk-C7G6YPKG-DAizzYwr.js} +1 -1
- package/dist/assets/{chunk-CQNSW5MT-C0z6eHBk.js → chunk-CQNSW5MT-5eChJHca.js} +1 -1
- package/dist/assets/{chunk-CYSBUYHQ-ByPyAouO.js → chunk-CYSBUYHQ-YHPr53fv.js} +1 -1
- package/dist/assets/{chunk-EMLP6XTP-CJlAXWZg.js → chunk-EMLP6XTP-CK4D7Hz5.js} +1 -1
- package/dist/assets/{chunk-EX3LRPZG-Dqq4zKJu.js → chunk-EX3LRPZG-BmlDFIRW.js} +1 -1
- package/dist/assets/{chunk-FWX5IMBZ-B0SNoCmi.js → chunk-FWX5IMBZ-D0ksHZZ9.js} +2 -2
- package/dist/assets/{chunk-HOUHSVGY-DG_GJih_.js → chunk-HOUHSVGY-DPkq8FCm.js} +1 -1
- package/dist/assets/{chunk-ICXQ74PX-Drxk_6bE.js → chunk-ICXQ74PX-FAatv5fC.js} +1 -1
- package/dist/assets/{chunk-JG7HCLWE-DdLFPpnd.js → chunk-JG7HCLWE-DLkIi4F7.js} +1 -1
- package/dist/assets/{chunk-JWPE2WC7-B8M4G76F.js → chunk-JWPE2WC7-DawOjNE3.js} +1 -1
- package/dist/assets/{chunk-MOJQB5TN-XP6FJHY_.js → chunk-MOJQB5TN-Di52TorW.js} +1 -1
- package/dist/assets/{chunk-MOZMSUNE-C_6x18Qw.js → chunk-MOZMSUNE-PfyK9w1-.js} +1 -1
- package/dist/assets/{chunk-OGEWGWER-N25BzCmG.js → chunk-OGEWGWER-C3jdH3Ty.js} +1 -1
- package/dist/assets/{chunk-OSBZ3O6U-ASDEm7y0.js → chunk-OSBZ3O6U-CecHo-f0.js} +1 -1
- package/dist/assets/{chunk-PUDLZKDR-CTlvAcn7.js → chunk-PUDLZKDR-f3IJh3sN.js} +1 -1
- package/dist/assets/{chunk-Q4XR5HBZ-Da9BWfB6.js → chunk-Q4XR5HBZ-DQFeUPxZ.js} +1 -1
- package/dist/assets/{chunk-QBLGF6JB-Bi6RpTJO.js → chunk-QBLGF6JB-BhUeG0y2.js} +1 -1
- package/dist/assets/{chunk-R7FJI6CG-DkMsSPvK.js → chunk-R7FJI6CG-C3XpZ-2u.js} +1 -1
- package/dist/assets/{chunk-RYQCIY6F-DZp0eU-j.js → chunk-RYQCIY6F-CAqa5klQ.js} +1 -1
- package/dist/assets/{chunk-U6XO7XAA-vfinDSrj.js → chunk-U6XO7XAA-D_WXezeD.js} +1 -1
- package/dist/assets/{chunk-V7JOEXUC-C9Nksccs.js → chunk-V7JOEXUC-CZ70oOtp.js} +1 -1
- package/dist/assets/chunk-VAUOI2AC-BGvh3yIx.js +1 -0
- package/dist/assets/{chunk-VR4S4FIN-Xv6zfwXs.js → chunk-VR4S4FIN-B7AHEYYk.js} +1 -1
- package/dist/assets/{chunk-WYO6CB5R-mOJNzbWl.js → chunk-WYO6CB5R-Dn9To_OI.js} +2 -2
- package/dist/assets/chunk-XXDRQBXY-DaBxG5gs.js +1 -0
- package/dist/assets/{chunk-YOTPTUD7-1-aKSu4o.js → chunk-YOTPTUD7-BYEgRBk3.js} +1 -1
- package/dist/assets/{chunk-ZGVPDNZ5-OJ8veMpK.js → chunk-ZGVPDNZ5-C6YtZDU0.js} +1 -1
- package/dist/assets/{chunk-ZIRB5QZD-SR_Nq_PP.js → chunk-ZIRB5QZD-DMuYtnHF.js} +1 -1
- package/dist/assets/classDiagram-OUVF2IWQ-P6N03G2R.js +1 -0
- package/dist/assets/classDiagram-v2-EOCWNBFH-B1_uLvMv.js +1 -0
- package/dist/assets/config-split-page-CceNFvlY.js +1 -0
- package/dist/assets/confirm-dialog-CWeNYWZY.js +5 -0
- package/dist/assets/{cose-bilkent-JH36ORCC-NjVgz2Bw.js → cose-bilkent-JH36ORCC-Bc2Ex5Y3.js} +1 -1
- package/dist/assets/cynefin-VYW2F7L2-B-H8Qp-n.js +1 -0
- package/dist/assets/{cynefinDiagram-TSTJHNR4-B_17LDqD.js → cynefinDiagram-TSTJHNR4-DVysQoGz.js} +1 -1
- package/dist/assets/{dagre-CMe101gk.js → dagre-CMhQ1cAG.js} +1 -1
- package/dist/assets/{dagre-VKFMJZFB-qo8nLb3B.js → dagre-VKFMJZFB-RYyWpPJZ.js} +1 -1
- package/dist/assets/desktop-update-config-Dirc3bpt.js +1 -0
- package/dist/assets/{diagram-FQU43EPY-Ba3XIklC.js → diagram-FQU43EPY-BD6KONdF.js} +1 -1
- package/dist/assets/{diagram-G47NLZAW-CG45TcUx.js → diagram-G47NLZAW-CGB2ptRR.js} +1 -1
- package/dist/assets/{diagram-NH7WQ7WH-2F2HrwV-.js → diagram-NH7WQ7WH-DnkOI6cU.js} +1 -1
- package/dist/assets/{diagram-OA4YK3LP-CXfWH9NZ.js → diagram-OA4YK3LP-DF82RZ7P.js} +1 -1
- package/dist/assets/{diagram-WEI45ONY-CH_4yepc.js → diagram-WEI45ONY-Be2v7Ck9.js} +1 -1
- package/dist/assets/{dist-B4Pf5X3Q.js → dist-AYxkFx2B.js} +1 -1
- package/dist/assets/{dist-DHEWkGWX.js → dist-D9xtGgdL.js} +1 -1
- package/dist/assets/doc-browser-4Sud6dWw.js +1 -0
- package/dist/assets/doc-browser-D4x_yH5F.js +1 -0
- package/dist/assets/doc-browser-context-Cb7Z0j90.js +1 -0
- package/dist/assets/{docx-preview-CoM4JK7_.js → docx-preview-BqwAjrj3.js} +1 -1
- package/dist/assets/{ebnfDiagram-CCIWWBDH-BwiG4Ea1.js → ebnfDiagram-CCIWWBDH-CP98OYk8.js} +1 -1
- package/dist/assets/{erDiagram-Q63AITRT-BML3hpnQ.js → erDiagram-Q63AITRT-ZLlx8xfs.js} +1 -1
- package/dist/assets/eventmodeling-45OFAUF4-YVtShyFA.js +1 -0
- package/dist/assets/flowDiagram-23GEKE2U-BeKXabVO.js +1 -0
- package/dist/assets/form-actions-B2q4jgjE.js +1 -0
- package/dist/assets/{ganttDiagram-NO4QXBWP-80enfWbD.js → ganttDiagram-NO4QXBWP-DXCDjHR2.js} +1 -1
- package/dist/assets/gitGraph-TEB2WS4Q-jTSiBj-p.js +1 -0
- package/dist/assets/{gitGraphDiagram-IHSO6WYX-CVLqXr-b.js → gitGraphDiagram-IHSO6WYX-l2HWrTJp.js} +1 -1
- package/dist/assets/index-CdyTsSBu.css +1 -0
- package/dist/assets/index-Das_bw2h.js +107 -0
- package/dist/assets/info-DKCQHKI2-BIporNWb.js +1 -0
- package/dist/assets/{infoDiagram-FWYZ7A6U-Dyvs2t0i.js → infoDiagram-FWYZ7A6U-D-DjX-bn.js} +1 -1
- package/dist/assets/{ishikawaDiagram-FXEZZL3T-sSnxDKfh.js → ishikawaDiagram-FXEZZL3T-y_Xy128F.js} +1 -1
- package/dist/assets/{journeyDiagram-5HDEW3XC-D22V71Mf.js → journeyDiagram-5HDEW3XC-DJn5xYcQ.js} +1 -1
- package/dist/assets/{kanban-definition-HUTT4EX6-D3ds0p-g.js → kanban-definition-HUTT4EX6-DJVIOR21.js} +1 -1
- package/dist/assets/{line-CbyFs065.js → line-Cos7PIOj.js} +1 -1
- package/dist/assets/{linear-4DKtnZBS.js → linear-BtDLqtzF.js} +1 -1
- package/dist/assets/loader-circle-CpmBdaon.js +1 -0
- package/dist/assets/{map-CcZzEoz6.js → map-BKnQyvd0.js} +1 -1
- package/dist/assets/mcp-marketplace-page-CdOY3Sop.js +1 -0
- package/dist/assets/mcp-marketplace-page-DvjrfqEt.js +9 -0
- package/dist/assets/{mermaid-parser.core-DPmMOjXD.js → mermaid-parser.core-XUNZhr2W.js} +2 -2
- package/dist/assets/{mermaid.core-BSf-ddRa.js → mermaid.core-ySrvolIe.js} +3 -3
- package/dist/assets/{mindmap-definition-LN4V7U3C-BUTwWPyx.js → mindmap-definition-LN4V7U3C-BypL9tei.js} +1 -1
- package/dist/assets/model-config-page-DfOLyQqR.js +1 -0
- package/dist/assets/{navigation-link-CAFOcXNg.js → navigation-link-MiiyoIjH.js} +2 -2
- package/dist/assets/{ordinal-BgLYtOZE.js → ordinal-CxxVWxYU.js} +1 -1
- package/dist/assets/packet-7NZHBO7P-CuFMADV0.js +1 -0
- package/dist/assets/{pegDiagram-2B236MQR-BEu_ZBjc.js → pegDiagram-2B236MQR-D-U2KBGv.js} +1 -1
- package/dist/assets/pie-RZYD4A2V-XUeIXhM9.js +1 -0
- package/dist/assets/{pieDiagram-ENE6RG2P-CAwAwuBd.js → pieDiagram-ENE6RG2P-CBi3GusJ.js} +1 -1
- package/dist/assets/plus-C8FkjpSZ.js +1 -0
- package/dist/assets/provider-scoped-model-input-DXzjr5l0.js +1 -0
- package/dist/assets/providers-config-page-CaO8WfZH.js +1 -0
- package/dist/assets/{quadrantDiagram-ABIIQ3AL-CwE6F-_2.js → quadrantDiagram-ABIIQ3AL-H0ZuvnZL.js} +1 -1
- package/dist/assets/radar-I7S5WNFK-D-NNGh1k.js +1 -0
- package/dist/assets/railroad-3IZDKUUU-C67_uDaM.js +1 -0
- package/dist/assets/railroad-abnf-AHOZXSZD-BZ8Yflnd.js +1 -0
- package/dist/assets/railroad-ebnf-EBAXGLYW-B7zO7RoK.js +1 -0
- package/dist/assets/railroad-peg-LSFZ7HO6-R63PTgLz.js +1 -0
- package/dist/assets/{railroadDiagram-RFXS5EU6-xgLekU3B.js → railroadDiagram-RFXS5EU6-D7Y2EqSd.js} +1 -1
- package/dist/assets/react-C8XFFvuz.js +8 -0
- package/dist/assets/{refresh-cw-CWDp_JnN.js → refresh-cw-a2VVeeAF.js} +1 -1
- package/dist/assets/remote-BJHXa4mB.js +1 -0
- package/dist/assets/{requirementDiagram-TGXJPOKE-CyVUzEX5.js → requirementDiagram-TGXJPOKE-BiXNX1NN.js} +1 -1
- package/dist/assets/rotate-cw-DJ7UF3F2.js +1 -0
- package/dist/assets/runtime-config-page-BuA4A02z.js +1 -0
- package/dist/assets/{sankeyDiagram-HTMAVEWB-JK6bFmYB.js → sankeyDiagram-HTMAVEWB-qzDeLztW.js} +1 -1
- package/dist/assets/{save-Cnr71JON.js → save-CGm23Yww.js} +1 -1
- package/dist/assets/{search-CCX11X2m.js → search-CH2t--sH.js} +1 -1
- package/dist/assets/search-config-page-BAmYqoAz.js +1 -0
- package/dist/assets/secrets-config-page-BlPOuql_.js +3 -0
- package/dist/assets/security-config-CbDiY2xr.js +1 -0
- package/dist/assets/{select-DvwBu99K.js → select-DnxxDpcV.js} +2 -2
- package/dist/assets/{sequenceDiagram-DBY2YBRQ-BR5IokXV.js → sequenceDiagram-DBY2YBRQ-BtRbPQtL.js} +1 -1
- package/dist/assets/{settings-2-Dmv6zMne.js → settings-2-agnMYc8a.js} +1 -1
- package/dist/assets/{sizeCapture-X5ZJPWSS-SxG_YnMA.js → sizeCapture-X5ZJPWSS-CMYvM3SL.js} +1 -1
- package/dist/assets/skeleton-XpqeWL62.js +1 -0
- package/dist/assets/{src-vgz8E_-O.js → src-Bw-mzbQb.js} +1 -1
- package/dist/assets/{stateDiagram-2N3HPSRC-DD4OoYhn.js → stateDiagram-2N3HPSRC-BJ-mFeOz.js} +1 -1
- package/dist/assets/stateDiagram-v2-6OUMAXLB-BE-HqxOK.js +1 -0
- package/dist/assets/{swimlanes-5IMT3BWC-BWkFeyCT.js → swimlanes-5IMT3BWC-BsucVOO2.js} +2 -2
- package/dist/assets/swimlanesDiagram-G3AALYLV-Dr1H9LJH.js +8 -0
- package/dist/assets/{tag-chip-gMPvx7n_.js → tag-chip-CPOc8b2N.js} +1 -1
- package/dist/assets/{timeline-definition-FHXFAJF6-VTRPy6KA.js → timeline-definition-FHXFAJF6-Bicewlzo.js} +1 -1
- package/dist/assets/treeView-QDETBFTQ-npJ5dbqS.js +1 -0
- package/dist/assets/treemap-6X3UGDF4-pYrBx6oa.js +1 -0
- package/dist/assets/{vennDiagram-L72KCM5P-Bvk42Pek.js → vennDiagram-L72KCM5P-BxOOnO9x.js} +1 -1
- package/dist/assets/wardley-OPB4EBWU-CmSRKLR8.js +1 -0
- package/dist/assets/{wardleyDiagram-EHGQE667-DOFjx2s3.js → wardleyDiagram-EHGQE667-Cl7NltMv.js} +1 -1
- package/dist/assets/x-odTHAtLZ.js +1 -0
- package/dist/assets/{xychartDiagram-FW5EYKEG-DY5yRTUc.js → xychartDiagram-FW5EYKEG-DiMIxQ7N.js} +1 -1
- package/dist/index.html +21 -22
- package/package.json +8 -8
- package/src/features/apps/components/__tests__/app-packages-panel.test.tsx +234 -0
- package/src/features/apps/components/app-marketplace-dialog.tsx +262 -0
- package/src/features/apps/components/app-package-card.tsx +268 -0
- package/src/features/apps/components/app-packages-panel.tsx +301 -0
- package/src/features/apps/components/apps-panel.tsx +11 -4
- package/src/features/apps/hooks/use-app-marketplace.ts +95 -0
- package/src/features/apps/hooks/use-app-packages.ts +59 -0
- package/src/features/chat/components/chat-sidebar-list-mode-switch.tsx +27 -4
- package/src/features/chat/components/layout/__tests__/chat-sidebar-session-area.test.tsx +36 -5
- package/src/features/chat/components/layout/chat-sidebar-desktop-layout.tsx +12 -13
- package/src/features/chat/features/conversation/components/__tests__/session-conversation-area.test.tsx +79 -2
- package/src/features/chat/features/conversation/components/__tests__/session-conversation-input.streaming.test.tsx +4 -4
- package/src/features/chat/features/conversation/components/session-conversation-area.tsx +26 -5
- package/src/features/chat/features/conversation/components/session-conversation-input.tsx +3 -0
- package/src/features/chat/features/conversation/hooks/use-system-object-reference-select.ts +27 -0
- package/src/features/chat/features/conversation/utils/session-message-composer.utils.ts +5 -0
- package/src/features/chat/features/input/hooks/__tests__/use-chat-input-surface-state.test.tsx +102 -0
- package/src/features/chat/features/input/hooks/use-chat-input-surface-state.ts +71 -120
- package/src/features/chat/features/input/input-surface-plugins/__tests__/context-reference-plugin.test.ts +265 -18
- package/src/features/chat/features/input/input-surface-plugins/chat-input-product-plugin-adapters.types.ts +7 -2
- package/src/features/chat/features/input/input-surface-plugins/chat-input-product-plugin-adapters.utils.ts +124 -0
- package/src/features/chat/features/input/input-surface-plugins/context-reference-items.utils.ts +99 -15
- package/src/features/chat/features/input/input-surface-plugins/context-reference-plugin.utils.ts +143 -139
- package/src/features/chat/features/input/input-surface-plugins/panel-app-input-surface-items.utils.ts +116 -0
- package/src/features/chat/features/input/input-surface-plugins/slash-command-plugin.utils.ts +1 -1
- package/src/features/chat/features/input/utils/__tests__/chat-inline-token.utils.test.ts +53 -1
- package/src/features/chat/features/input/utils/chat-composer-token-protocol.utils.ts +5 -0
- package/src/features/chat/features/input/utils/chat-inline-token-composer.utils.ts +134 -0
- package/src/features/chat/features/input/utils/chat-inline-token.utils.ts +30 -101
- package/src/features/chat/features/input/utils/chat-system-object-reference.utils.test.ts +44 -0
- package/src/features/chat/features/input/utils/chat-system-object-reference.utils.ts +46 -0
- package/src/features/chat/features/ncp/hooks/__tests__/use-hydrated-ncp-agent.test.tsx +40 -3
- package/src/features/chat/features/workspace/components/__tests__/chat-session-workspace-file-preview.selection.test.tsx +66 -0
- package/src/features/chat/features/workspace/components/__tests__/chat-session-workspace-file-preview.test.tsx +13 -1
- package/src/features/chat/features/workspace/components/__tests__/chat-session-workspace-panel-content.test.tsx +653 -90
- package/src/features/chat/features/workspace/components/__tests__/chat-session-workspace-text-selection.test.tsx +12 -8
- package/src/features/chat/features/workspace/components/chat-session-workspace-directory-browser.tsx +401 -288
- package/src/features/chat/features/workspace/components/chat-session-workspace-file-breadcrumbs.tsx +54 -35
- package/src/features/chat/features/workspace/components/chat-session-workspace-file-preview.tsx +79 -148
- package/src/features/chat/features/workspace/components/chat-session-workspace-panel-content.tsx +156 -94
- package/src/features/chat/features/workspace/components/project-files/__tests__/workspace-directory-entry-menu.test.tsx +50 -0
- package/src/features/chat/features/workspace/components/project-files/workspace-directory-entry-menu.tsx +209 -0
- package/src/features/chat/features/workspace/components/project-files/workspace-directory-tree.tsx +459 -0
- package/src/features/chat/features/workspace/components/project-files/workspace-new-folder-tree-item.tsx +112 -0
- package/src/features/chat/features/workspace/components/project-files/workspace-project-files-toolbar.tsx +64 -0
- package/src/features/chat/features/workspace/hooks/use-workspace-explorer-layout.ts +85 -0
- package/src/features/chat/features/workspace/hooks/use-workspace-file-actions.ts +357 -0
- package/src/features/chat/features/workspace/utils/chat-workspace-file-path-mutation.utils.ts +58 -0
- package/src/features/chat/features/workspace/utils/chat-workspace-file-tab.utils.ts +23 -22
- package/src/features/chat/features/workspace/utils/chat-workspace-panel-layout.utils.ts +13 -4
- package/src/features/chat/index.ts +1 -1
- package/src/features/chat/managers/__tests__/chat-composer-intent.manager.test.ts +86 -60
- package/src/features/chat/managers/__tests__/chat-thread.manager.test.ts +103 -99
- package/src/features/chat/managers/chat-composer-intent.manager.ts +37 -33
- package/src/features/chat/managers/chat-draft-intent.manager.ts +18 -2
- package/src/features/chat/managers/chat-thread.manager.ts +132 -128
- package/src/features/chat/stores/__tests__/chat-thread.store.test.ts +26 -40
- package/src/features/chat/stores/chat-thread.store.ts +53 -74
- package/src/features/inbox/components/inbox-reader-dialog.test.tsx +38 -5
- package/src/features/inbox/components/inbox-reader-dialog.tsx +5 -3
- package/src/features/inbox/managers/inbox.manager.test.ts +28 -3
- package/src/features/inbox/managers/inbox.manager.ts +14 -4
- package/src/features/inbox/pages/inbox-page.test.ts +121 -2
- package/src/features/inbox/pages/inbox-page.tsx +5 -3
- package/src/features/marketplace/components/__tests__/marketplace-page.test.tsx +85 -1
- package/src/features/marketplace/hooks/__tests__/use-marketplace.test.tsx +44 -1
- package/src/features/marketplace/hooks/use-marketplace-item-actions.ts +23 -2
- package/src/features/marketplace/hooks/use-marketplace.ts +10 -0
- package/src/features/marketplace/index.ts +4 -0
- package/src/features/panel-apps/index.ts +5 -1
- package/src/features/panel-apps/utils/__tests__/panel-app-doc-browser.utils.test.ts +13 -6
- package/src/features/panel-apps/utils/panel-app-doc-browser.utils.tsx +6 -3
- package/src/features/right-panel-resources/index.ts +1 -0
- package/src/features/right-panel-resources/utils/right-panel-resource-uri.utils.ts +7 -4
- package/src/features/system-status/components/__tests__/desktop-update-config.test.tsx +20 -1
- package/src/features/system-status/components/desktop-update-config.tsx +14 -13
- package/src/features/system-status/managers/__tests__/runtime-update.manager.test.ts +99 -0
- package/src/features/system-status/managers/runtime-update.manager.ts +22 -0
- package/src/features/system-status/stores/runtime-update.store.ts +1 -0
- package/src/shared/components/resizable-right-panel/__tests__/resizable-right-panel.test.tsx +35 -38
- package/src/shared/components/resizable-right-panel/resizable-right-panel.tsx +25 -19
- package/src/shared/components/ui/actions/__tests__/icon-action-button.test.tsx +15 -0
- package/src/shared/components/ui/actions/icon-action-button.tsx +4 -2
- package/src/shared/components/ui/context-menu/__tests__/context-menu.test.tsx +60 -34
- package/src/shared/components/ui/context-menu/context-menu.tsx +95 -68
- package/src/shared/hooks/use-system-object-references.ts +22 -0
- package/src/shared/lib/api/managers/client.manager.ts +31 -17
- package/src/shared/lib/api/server-path/server-path.types.ts +66 -0
- package/src/shared/lib/api/types.ts +155 -116
- package/src/shared/lib/api/utils/server-path.utils.ts +35 -11
- package/src/shared/lib/i18n/locales/en-US/chat.json +58 -9
- package/src/shared/lib/i18n/locales/en-US/desktop-update.json +7 -4
- package/src/shared/lib/i18n/locales/en-US/doc-browser.json +40 -0
- package/src/shared/lib/i18n/locales/en-US/marketplace.json +3 -0
- package/src/shared/lib/i18n/locales/zh-CN/chat.json +60 -11
- package/src/shared/lib/i18n/locales/zh-CN/desktop-update.json +7 -4
- package/src/shared/lib/i18n/locales/zh-CN/doc-browser.json +40 -0
- package/src/shared/lib/i18n/locales/zh-CN/marketplace.json +3 -0
- package/dist/assets/appearance-settings-page-DpVJjvkB.js +0 -1
- package/dist/assets/architecture-TIHT7OUA-Bjp9jf0h.js +0 -1
- package/dist/assets/channel-5T3pdR-s.js +0 -1
- package/dist/assets/chat-page-BuFDmG5_.js +0 -1
- package/dist/assets/chunk-2Q5K7J3B-DTZ3tGfE.js +0 -1
- package/dist/assets/chunk-VAUOI2AC-HLGIHQ6k.js +0 -1
- package/dist/assets/chunk-XXDRQBXY-Dl0m6Ni-.js +0 -1
- package/dist/assets/classDiagram-OUVF2IWQ-DcDnzGNX.js +0 -1
- package/dist/assets/classDiagram-v2-EOCWNBFH-BKXKMzKM.js +0 -1
- package/dist/assets/config-split-page-BVWVDbvG.js +0 -1
- package/dist/assets/confirm-dialog-mA2iVzxh.js +0 -5
- package/dist/assets/cynefin-VYW2F7L2-BWg7U2UD.js +0 -1
- package/dist/assets/desktop-update-config-DyQb1LXr.js +0 -1
- package/dist/assets/doc-browser-CtO_HtRy.js +0 -1
- package/dist/assets/doc-browser-context-CuGI6PQc.js +0 -1
- package/dist/assets/doc-browser-eMUagyBV.js +0 -1
- package/dist/assets/eventmodeling-45OFAUF4-SB-J4tpq.js +0 -1
- package/dist/assets/flowDiagram-23GEKE2U-BQ_u-eLM.js +0 -1
- package/dist/assets/form-actions-BOfIyG3O.js +0 -1
- package/dist/assets/gitGraph-TEB2WS4Q-DPxNwsFd.js +0 -1
- package/dist/assets/index-BjBdWHV1.js +0 -107
- package/dist/assets/index-DmpmjAGQ.css +0 -1
- package/dist/assets/info-DKCQHKI2-DNlNGH90.js +0 -1
- package/dist/assets/loader-circle-Df8wF2Pr.js +0 -1
- package/dist/assets/mcp-marketplace-page-DI49IKxp.js +0 -1
- package/dist/assets/mcp-marketplace-page-ofDqbOIF.js +0 -9
- package/dist/assets/model-config-page-D73Tu3jW.js +0 -1
- package/dist/assets/packet-7NZHBO7P-BpeiqkBZ.js +0 -1
- package/dist/assets/pie-RZYD4A2V-Cy1yxsPd.js +0 -1
- package/dist/assets/plus-DVU5RLCS.js +0 -1
- package/dist/assets/provider-scoped-model-input-BaJJJYMX.js +0 -1
- package/dist/assets/providers-config-page-BL6IRVBm.js +0 -1
- package/dist/assets/radar-I7S5WNFK-CEcPKCj8.js +0 -1
- package/dist/assets/railroad-3IZDKUUU-CW38eNDs.js +0 -1
- package/dist/assets/railroad-abnf-AHOZXSZD-ByrylcXf.js +0 -1
- package/dist/assets/railroad-ebnf-EBAXGLYW-CNB6GwP-.js +0 -1
- package/dist/assets/railroad-peg-LSFZ7HO6-x6hnqlBG.js +0 -1
- package/dist/assets/react-BC_orpAj.js +0 -8
- package/dist/assets/remote-T24O58lH.js +0 -1
- package/dist/assets/rotate-cw-BqhwSV5p.js +0 -1
- package/dist/assets/runtime-config-page-CXUx017t.js +0 -1
- package/dist/assets/search-config-page-BB6d5gT7.js +0 -1
- package/dist/assets/secrets-config-page-DYsDeT9K.js +0 -3
- package/dist/assets/security-config-CVPgqL7G.js +0 -1
- package/dist/assets/skeleton-C5tWata3.js +0 -1
- package/dist/assets/stateDiagram-v2-6OUMAXLB-ZC6dFORv.js +0 -1
- package/dist/assets/swimlanesDiagram-G3AALYLV-CRkh51Im.js +0 -8
- package/dist/assets/treeView-QDETBFTQ-Bw0DSCH7.js +0 -1
- package/dist/assets/treemap-6X3UGDF4-DFWBFcfh.js +0 -1
- package/dist/assets/use-confirm-dialog-D_3-QpZU.js +0 -1
- package/dist/assets/wardley-OPB4EBWU-CoWturk0.js +0 -1
- package/dist/assets/x-BEWSqeux.js +0 -1
- /package/dist/assets/{array-NADKd9aU.js → array-BQVzeGRt.js} +0 -0
- /package/dist/assets/{chunk-KEIR6QF5-BuyuzJJL.js → chunk-KEIR6QF5-f9psyCXK.js} +0 -0
- /package/dist/assets/{chunk-Y2CYZVJY-D_B2ZRNt.js → chunk-Y2CYZVJY-D1mAU_Po.js} +0 -0
- /package/dist/assets/{config-hints-BcfVUMij.js → config-hints-nV5HPOvq.js} +0 -0
- /package/dist/assets/{cytoscape.esm-BANTlgza.js → cytoscape.esm-0uDtdD0l.js} +0 -0
- /package/dist/assets/{defaultLocale-C4_L0aEs.js → defaultLocale-DSWXGgt0.js} +0 -0
- /package/dist/assets/{dist-DAPEIJbz.js → dist--ta5rX12.js} +0 -0
- /package/dist/assets/{graphlib-ChqXg0dI.js → graphlib-CQ6QV4yP.js} +0 -0
- /package/dist/assets/{host-capabilities-D9C4CBK5.js → host-capabilities-Tk038i04.js} +0 -0
- /package/dist/assets/{init-D8wZg9xq.js → init-Y6h9jGtZ.js} +0 -0
- /package/dist/assets/{jszip.min-CkbBfwAQ.js → jszip.min-8hyJpgpx.js} +0 -0
- /package/dist/assets/{katex-TZJFa0J_.js → katex-ARhY9PS1.js} +0 -0
- /package/dist/assets/{middleware-B3k-TSmZ.js → middleware-DXsbf9xI.js} +0 -0
- /package/dist/assets/{path-DodfxcX7.js → path-10BjdyLh.js} +0 -0
- /package/dist/assets/{rough.esm-CUaa1Rbe.js → rough.esm-DxgC_14r.js} +0 -0
- /package/dist/assets/{xlsx-CxByi7bR.js → xlsx-DrDuDNAa.js} +0 -0
|
@@ -1,7 +1,31 @@
|
|
|
1
1
|
import type { NcpSessionStatus } from '@nextclaw/ncp';
|
|
2
2
|
import type { RuntimeEntryView, NcpSessionSummaryView } from './ncp-session.types';
|
|
3
|
-
export type {
|
|
4
|
-
|
|
3
|
+
export type {
|
|
4
|
+
ProjectAddExistingRequest,
|
|
5
|
+
ProjectCreateRequest,
|
|
6
|
+
ProjectListView,
|
|
7
|
+
ProjectTemplateView,
|
|
8
|
+
ProjectView,
|
|
9
|
+
SystemObjectReferenceDisplayText,
|
|
10
|
+
SystemObjectReferenceGroupDescriptor,
|
|
11
|
+
SystemObjectReferenceGroupIcon,
|
|
12
|
+
SystemObjectReferenceGroupView,
|
|
13
|
+
SystemObjectReferenceItem,
|
|
14
|
+
SystemObjectReferenceListView,
|
|
15
|
+
SystemObjectResolvedReference,
|
|
16
|
+
} from '@nextclaw/client-sdk';
|
|
17
|
+
export type {
|
|
18
|
+
SessionEntryView,
|
|
19
|
+
RuntimeEntryView,
|
|
20
|
+
SessionTypeIconView,
|
|
21
|
+
SessionMessageView,
|
|
22
|
+
SessionEventView,
|
|
23
|
+
NcpSessionSummaryView,
|
|
24
|
+
NcpSessionsListView,
|
|
25
|
+
NcpMessageView,
|
|
26
|
+
NcpSessionMessagesView,
|
|
27
|
+
SessionContextWindowView,
|
|
28
|
+
} from './ncp-session.types';
|
|
5
29
|
|
|
6
30
|
// API Types - matching backend response format
|
|
7
31
|
export type ApiError = {
|
|
@@ -10,18 +34,11 @@ export type ApiError = {
|
|
|
10
34
|
details?: Record<string, unknown>;
|
|
11
35
|
};
|
|
12
36
|
|
|
13
|
-
export type ApiResponse<T> =
|
|
14
|
-
| { ok: true; data: T }
|
|
15
|
-
| { ok: false; error: ApiError };
|
|
37
|
+
export type ApiResponse<T> = { ok: true; data: T } | { ok: false; error: ApiError };
|
|
16
38
|
|
|
17
39
|
export type AppMetaView = { name: string; productVersion: string };
|
|
18
40
|
|
|
19
|
-
export type BootstrapPhase =
|
|
20
|
-
| 'kernel-starting'
|
|
21
|
-
| 'shell-ready'
|
|
22
|
-
| 'hydrating-capabilities'
|
|
23
|
-
| 'ready'
|
|
24
|
-
| 'error';
|
|
41
|
+
export type BootstrapPhase = 'kernel-starting' | 'shell-ready' | 'hydrating-capabilities' | 'ready' | 'error';
|
|
25
42
|
|
|
26
43
|
export type BootstrapStageState = 'pending' | 'running' | 'ready' | 'error';
|
|
27
44
|
|
|
@@ -56,10 +73,13 @@ export type BootstrapStatusView = {
|
|
|
56
73
|
lastError?: string;
|
|
57
74
|
};
|
|
58
75
|
|
|
59
|
-
export type ThinkingLevel =
|
|
60
|
-
export type AgentModelsView = Record<
|
|
61
|
-
|
|
62
|
-
|
|
76
|
+
export type ThinkingLevel = 'off' | 'minimal' | 'low' | 'medium' | 'high' | 'adaptive' | 'xhigh';
|
|
77
|
+
export type AgentModelsView = Record<
|
|
78
|
+
string,
|
|
79
|
+
{
|
|
80
|
+
params: Record<string, unknown>;
|
|
81
|
+
} & Record<string, unknown>
|
|
82
|
+
>;
|
|
63
83
|
|
|
64
84
|
export type ProviderInstanceView = {
|
|
65
85
|
providerId: string;
|
|
@@ -73,12 +93,15 @@ export type ProviderInstanceView = {
|
|
|
73
93
|
apiKeyMasked?: string;
|
|
74
94
|
apiBase?: string | null;
|
|
75
95
|
extraHeaders?: Record<string, string> | null;
|
|
76
|
-
wireApi?:
|
|
96
|
+
wireApi?: 'auto' | 'chat' | 'responses' | null;
|
|
77
97
|
models?: string[];
|
|
78
|
-
modelConfig?: Record<
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
98
|
+
modelConfig?: Record<
|
|
99
|
+
string,
|
|
100
|
+
{
|
|
101
|
+
thinking?: { supported: ThinkingLevel[]; default?: ThinkingLevel | null };
|
|
102
|
+
vision?: boolean;
|
|
103
|
+
}
|
|
104
|
+
>;
|
|
82
105
|
};
|
|
83
106
|
|
|
84
107
|
export type ProviderConfigView = ProviderInstanceView;
|
|
@@ -90,28 +113,34 @@ export type ProviderConfigUpdate = {
|
|
|
90
113
|
apiKey?: string | null;
|
|
91
114
|
apiBase?: string | null;
|
|
92
115
|
extraHeaders?: Record<string, string> | null;
|
|
93
|
-
wireApi?:
|
|
116
|
+
wireApi?: 'auto' | 'chat' | 'responses' | null;
|
|
94
117
|
models?: string[] | null;
|
|
95
|
-
modelConfig?: Record<
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
118
|
+
modelConfig?: Record<
|
|
119
|
+
string,
|
|
120
|
+
{
|
|
121
|
+
thinking?: {
|
|
122
|
+
supported?: ThinkingLevel[];
|
|
123
|
+
default?: ThinkingLevel | null;
|
|
124
|
+
};
|
|
125
|
+
vision?: boolean;
|
|
126
|
+
}
|
|
127
|
+
> | null;
|
|
99
128
|
};
|
|
100
129
|
|
|
101
130
|
export type ProviderConnectionTestRequest = ProviderConfigUpdate & {
|
|
102
131
|
model?: string | null;
|
|
103
132
|
};
|
|
104
133
|
|
|
105
|
-
export type ProviderModelDiscoveryRequest = Pick<
|
|
106
|
-
ProviderConfigUpdate,
|
|
107
|
-
'apiKey' | 'apiBase' | 'extraHeaders'
|
|
108
|
-
>;
|
|
134
|
+
export type ProviderModelDiscoveryRequest = Pick<ProviderConfigUpdate, 'apiKey' | 'apiBase' | 'extraHeaders'>;
|
|
109
135
|
|
|
110
136
|
export type ProviderCreateRequest = ProviderConfigUpdate & {
|
|
111
137
|
providerId?: string | null;
|
|
112
138
|
};
|
|
113
139
|
|
|
114
|
-
export type ProviderCreateResult = {
|
|
140
|
+
export type ProviderCreateResult = {
|
|
141
|
+
providerId: string;
|
|
142
|
+
provider: ProviderInstanceView;
|
|
143
|
+
};
|
|
115
144
|
export type ProviderDeleteResult = { deleted: boolean; providerId: string };
|
|
116
145
|
export type ProvidersView = { providers: Record<string, ProviderInstanceView> };
|
|
117
146
|
|
|
@@ -152,21 +181,24 @@ export type ProviderModelCatalogView = {
|
|
|
152
181
|
refreshing: boolean;
|
|
153
182
|
lastRefreshStartedAt: string | null;
|
|
154
183
|
lastRefreshCompletedAt: string | null;
|
|
155
|
-
providers: Record<
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
184
|
+
providers: Record<
|
|
185
|
+
string,
|
|
186
|
+
{
|
|
187
|
+
providerId: string;
|
|
188
|
+
models: string[];
|
|
189
|
+
source: 'provider' | 'catalog' | null;
|
|
190
|
+
fetchedAt: string | null;
|
|
191
|
+
lastError: {
|
|
192
|
+
message: string;
|
|
193
|
+
occurredAt: string;
|
|
194
|
+
} | null;
|
|
195
|
+
}
|
|
196
|
+
>;
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
export type SearchProviderName = 'bocha' | 'tavily' | 'brave' | 'exa';
|
|
200
|
+
export type BochaFreshnessValue = 'noLimit' | 'oneDay' | 'oneWeek' | 'oneMonth' | 'oneYear' | string;
|
|
201
|
+
export type TavilySearchDepthValue = 'basic' | 'advanced';
|
|
170
202
|
|
|
171
203
|
export type SearchProviderConfigView = {
|
|
172
204
|
enabled: boolean;
|
|
@@ -227,7 +259,7 @@ export type SearchConfigUpdate = {
|
|
|
227
259
|
|
|
228
260
|
export type ProviderAuthStartResult = {
|
|
229
261
|
provider: string;
|
|
230
|
-
kind:
|
|
262
|
+
kind: 'device_code';
|
|
231
263
|
methodId?: string;
|
|
232
264
|
sessionId: string;
|
|
233
265
|
verificationUri: string;
|
|
@@ -242,21 +274,31 @@ export type ProviderAuthPollRequest = { sessionId: string };
|
|
|
242
274
|
|
|
243
275
|
export type ProviderAuthPollResult = {
|
|
244
276
|
provider: string;
|
|
245
|
-
status:
|
|
277
|
+
status: 'pending' | 'authorized' | 'denied' | 'expired' | 'error';
|
|
246
278
|
message?: string;
|
|
247
279
|
nextPollMs?: number;
|
|
248
280
|
};
|
|
249
281
|
|
|
250
|
-
export type ProviderAuthImportResult = {
|
|
282
|
+
export type ProviderAuthImportResult = {
|
|
283
|
+
provider: string;
|
|
284
|
+
status: 'imported';
|
|
285
|
+
source: 'cli';
|
|
286
|
+
expiresAt?: string;
|
|
287
|
+
};
|
|
251
288
|
|
|
252
289
|
export type {
|
|
253
290
|
AuthEnabledUpdateRequest,
|
|
254
291
|
AuthLoginRequest,
|
|
255
292
|
AuthPasswordUpdateRequest,
|
|
256
293
|
AuthSetupRequest,
|
|
257
|
-
AuthStatusView
|
|
294
|
+
AuthStatusView,
|
|
258
295
|
} from './auth.types';
|
|
259
|
-
export type {
|
|
296
|
+
export type {
|
|
297
|
+
ChannelAuthPollRequest,
|
|
298
|
+
ChannelAuthPollResult,
|
|
299
|
+
ChannelAuthStartRequest,
|
|
300
|
+
ChannelAuthStartResult,
|
|
301
|
+
} from './channel-auth.types';
|
|
260
302
|
|
|
261
303
|
export type {
|
|
262
304
|
RemoteAccessView,
|
|
@@ -269,7 +311,7 @@ export type {
|
|
|
269
311
|
RemoteServiceActionResult,
|
|
270
312
|
RemoteServiceView,
|
|
271
313
|
RemoteSettingsUpdateRequest,
|
|
272
|
-
RemoteSettingsView
|
|
314
|
+
RemoteSettingsView,
|
|
273
315
|
} from './remote.types';
|
|
274
316
|
export type {
|
|
275
317
|
RuntimeActionCapability,
|
|
@@ -279,7 +321,7 @@ export type {
|
|
|
279
321
|
RuntimeControlView,
|
|
280
322
|
RuntimeLifecycleState,
|
|
281
323
|
RuntimeServiceState,
|
|
282
|
-
RuntimeControlActionResult
|
|
324
|
+
RuntimeControlActionResult,
|
|
283
325
|
} from './runtime-control.types';
|
|
284
326
|
|
|
285
327
|
export type AgentProfileView = {
|
|
@@ -331,7 +373,7 @@ export type AgentDeleteResult = {
|
|
|
331
373
|
};
|
|
332
374
|
|
|
333
375
|
export type BindingPeerView = {
|
|
334
|
-
kind:
|
|
376
|
+
kind: 'direct' | 'group' | 'channel';
|
|
335
377
|
id: string;
|
|
336
378
|
};
|
|
337
379
|
|
|
@@ -345,7 +387,7 @@ export type AgentBindingView = {
|
|
|
345
387
|
};
|
|
346
388
|
|
|
347
389
|
export type SessionConfigView = {
|
|
348
|
-
dmScope?:
|
|
390
|
+
dmScope?: 'main' | 'per-peer' | 'per-channel-peer' | 'per-account-channel-peer';
|
|
349
391
|
};
|
|
350
392
|
|
|
351
393
|
export type SessionSkillEntryView = {
|
|
@@ -391,51 +433,29 @@ export type SessionPatchUpdate = {
|
|
|
391
433
|
clearHistory?: boolean;
|
|
392
434
|
};
|
|
393
435
|
|
|
394
|
-
export type
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
};
|
|
411
|
-
|
|
412
|
-
export type ServerPathSearchEntryView = {
|
|
413
|
-
name: string;
|
|
414
|
-
path: string;
|
|
415
|
-
relativePath: string;
|
|
416
|
-
parentRelativePath: string;
|
|
417
|
-
kind: "directory" | "file";
|
|
418
|
-
hidden: boolean;
|
|
419
|
-
};
|
|
420
|
-
|
|
421
|
-
export type ServerPathSearchView = {
|
|
422
|
-
basePath: string;
|
|
423
|
-
query: string;
|
|
424
|
-
entries: ServerPathSearchEntryView[];
|
|
425
|
-
truncated: boolean;
|
|
426
|
-
};
|
|
427
|
-
|
|
428
|
-
export type ServerPathDirectoryCreateRequest = { parentPath: string; name: string };
|
|
429
|
-
|
|
430
|
-
export type ServerPathDirectoryCreateView = { path: string };
|
|
431
|
-
|
|
432
|
-
export type ServerPathReadView = { requestedPath: string; resolvedPath: string; kind: "text" | "markdown" | "binary"; sizeBytes: number; startLine?: number; truncated: boolean; text?: string; languageHint?: string | null };
|
|
436
|
+
export type {
|
|
437
|
+
ServerPathBreadcrumbView,
|
|
438
|
+
ServerPathBrowseView,
|
|
439
|
+
ServerPathDirectoryCreateRequest,
|
|
440
|
+
ServerPathDirectoryCreateView,
|
|
441
|
+
ServerPathEntryDeleteView,
|
|
442
|
+
ServerPathEntryRenameRequest,
|
|
443
|
+
ServerPathEntryRenameView,
|
|
444
|
+
ServerPathEntryView,
|
|
445
|
+
ServerPathFileCreateRequest,
|
|
446
|
+
ServerPathFileCreateView,
|
|
447
|
+
ServerPathFilesUploadView,
|
|
448
|
+
ServerPathLocationView,
|
|
449
|
+
ServerPathReadView,
|
|
450
|
+
ServerPathSearchEntryView,
|
|
451
|
+
ServerPathSearchView,
|
|
452
|
+
} from './server-path/server-path.types';
|
|
433
453
|
|
|
434
454
|
export type PanelAppEntryView = {
|
|
435
455
|
id: string;
|
|
436
456
|
appId: string;
|
|
437
457
|
fileName: string;
|
|
438
|
-
kind:
|
|
458
|
+
kind: 'single-file' | 'folder';
|
|
439
459
|
title: string;
|
|
440
460
|
description?: string;
|
|
441
461
|
icon?: string;
|
|
@@ -448,6 +468,9 @@ export type PanelAppEntryView = {
|
|
|
448
468
|
clientGranted: boolean;
|
|
449
469
|
lastOpenedAt?: string;
|
|
450
470
|
openCount: number;
|
|
471
|
+
sourceKind?: 'workspace' | 'package';
|
|
472
|
+
packageId?: string;
|
|
473
|
+
packageVersion?: string;
|
|
451
474
|
};
|
|
452
475
|
|
|
453
476
|
export type PanelAppListView = {
|
|
@@ -467,12 +490,12 @@ export type {
|
|
|
467
490
|
} from './chat-session-type.types';
|
|
468
491
|
|
|
469
492
|
export type CronScheduleView =
|
|
470
|
-
| { kind:
|
|
471
|
-
| { kind:
|
|
472
|
-
| { kind:
|
|
493
|
+
| { kind: 'at'; atMs?: number | null }
|
|
494
|
+
| { kind: 'every'; everyMs?: number | null }
|
|
495
|
+
| { kind: 'cron'; expr?: string | null; tz?: string | null };
|
|
473
496
|
|
|
474
497
|
export type CronPayloadView = {
|
|
475
|
-
kind?:
|
|
498
|
+
kind?: 'system_event' | 'agent_turn';
|
|
476
499
|
message: string;
|
|
477
500
|
agentId?: string | null;
|
|
478
501
|
sessionId?: string | null;
|
|
@@ -481,7 +504,7 @@ export type CronPayloadView = {
|
|
|
481
504
|
export type CronJobStateView = {
|
|
482
505
|
nextRunAt?: string | null;
|
|
483
506
|
lastRunAt?: string | null;
|
|
484
|
-
lastStatus?:
|
|
507
|
+
lastStatus?: 'ok' | 'error' | 'skipped' | null;
|
|
485
508
|
lastError?: string | null;
|
|
486
509
|
};
|
|
487
510
|
|
|
@@ -497,7 +520,7 @@ export type CronJobView = {
|
|
|
497
520
|
deleteAfterRun: boolean;
|
|
498
521
|
};
|
|
499
522
|
|
|
500
|
-
export type CronListStatus =
|
|
523
|
+
export type CronListStatus = 'all' | 'enabled' | 'disabled' | 'attention';
|
|
501
524
|
|
|
502
525
|
export type CronListQuery = {
|
|
503
526
|
all?: boolean;
|
|
@@ -549,7 +572,7 @@ export type RuntimeConfigUpdate = {
|
|
|
549
572
|
session?: SessionConfigView;
|
|
550
573
|
};
|
|
551
574
|
|
|
552
|
-
export type SecretSourceView =
|
|
575
|
+
export type SecretSourceView = 'env' | 'file' | 'exec';
|
|
553
576
|
|
|
554
577
|
export type SecretRefView = {
|
|
555
578
|
source: SecretSourceView;
|
|
@@ -558,18 +581,18 @@ export type SecretRefView = {
|
|
|
558
581
|
};
|
|
559
582
|
|
|
560
583
|
export type SecretProviderEnvView = {
|
|
561
|
-
source:
|
|
584
|
+
source: 'env';
|
|
562
585
|
prefix?: string;
|
|
563
586
|
};
|
|
564
587
|
|
|
565
588
|
export type SecretProviderFileView = {
|
|
566
|
-
source:
|
|
589
|
+
source: 'file';
|
|
567
590
|
path: string;
|
|
568
|
-
format?:
|
|
591
|
+
format?: 'json';
|
|
569
592
|
};
|
|
570
593
|
|
|
571
594
|
export type SecretProviderExecView = {
|
|
572
|
-
source:
|
|
595
|
+
source: 'exec';
|
|
573
596
|
command: string;
|
|
574
597
|
args?: string[];
|
|
575
598
|
cwd?: string;
|
|
@@ -650,7 +673,7 @@ export type ProviderTemplateView = {
|
|
|
650
673
|
id: string;
|
|
651
674
|
providerType: string;
|
|
652
675
|
displayName?: string;
|
|
653
|
-
apiProtocol?:
|
|
676
|
+
apiProtocol?: 'openai-compatible' | 'anthropic-messages';
|
|
654
677
|
modelPrefix?: string;
|
|
655
678
|
keywords: string[];
|
|
656
679
|
envKey: string;
|
|
@@ -664,7 +687,7 @@ export type ProviderTemplateView = {
|
|
|
664
687
|
zh?: string;
|
|
665
688
|
};
|
|
666
689
|
auth?: {
|
|
667
|
-
kind:
|
|
690
|
+
kind: 'device_code';
|
|
668
691
|
displayName?: string;
|
|
669
692
|
note?: {
|
|
670
693
|
en?: string;
|
|
@@ -686,13 +709,16 @@ export type ProviderTemplateView = {
|
|
|
686
709
|
};
|
|
687
710
|
defaultModels?: string[];
|
|
688
711
|
supportsModelDiscovery?: boolean;
|
|
689
|
-
modelConfig?: Record<
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
712
|
+
modelConfig?: Record<
|
|
713
|
+
string,
|
|
714
|
+
{
|
|
715
|
+
thinking?: { supported: ThinkingLevel[]; default?: ThinkingLevel | null };
|
|
716
|
+
vision?: boolean;
|
|
717
|
+
}
|
|
718
|
+
>;
|
|
693
719
|
supportsWireApi?: boolean;
|
|
694
|
-
wireApiOptions?: Array<
|
|
695
|
-
defaultWireApi?:
|
|
720
|
+
wireApiOptions?: Array<'auto' | 'chat' | 'responses'>;
|
|
721
|
+
defaultWireApi?: 'auto' | 'chat' | 'responses';
|
|
696
722
|
};
|
|
697
723
|
|
|
698
724
|
export type ProviderTemplatesView = {
|
|
@@ -800,10 +826,23 @@ export type ConfigActionExecuteResult = {
|
|
|
800
826
|
// WebSocket events
|
|
801
827
|
export type WsEvent =
|
|
802
828
|
| { type: 'config.updated'; payload: { path: string } }
|
|
803
|
-
| {
|
|
829
|
+
| {
|
|
830
|
+
type: 'channel.config.apply-status';
|
|
831
|
+
payload: {
|
|
832
|
+
channel: string;
|
|
833
|
+
status: 'started' | 'succeeded' | 'failed';
|
|
834
|
+
message?: string;
|
|
835
|
+
};
|
|
836
|
+
}
|
|
804
837
|
| { type: 'session.updated'; payload: { sessionKey: string } }
|
|
805
|
-
| {
|
|
806
|
-
|
|
838
|
+
| {
|
|
839
|
+
type: 'session.run-status';
|
|
840
|
+
payload: { sessionKey: string; status: 'running' | 'idle' };
|
|
841
|
+
}
|
|
842
|
+
| {
|
|
843
|
+
type: 'session.summary.upsert';
|
|
844
|
+
payload: { summary: NcpSessionSummaryView };
|
|
845
|
+
}
|
|
807
846
|
| { type: 'session.summary.delete'; payload: { sessionKey: string } }
|
|
808
847
|
| { type: 'config.reload.started'; payload?: Record<string, unknown> }
|
|
809
848
|
| { type: 'config.reload.finished'; payload?: Record<string, unknown> }
|
|
@@ -4,6 +4,12 @@ import type {
|
|
|
4
4
|
ServerPathBrowseView,
|
|
5
5
|
ServerPathDirectoryCreateRequest,
|
|
6
6
|
ServerPathDirectoryCreateView,
|
|
7
|
+
ServerPathEntryDeleteView,
|
|
8
|
+
ServerPathEntryRenameRequest,
|
|
9
|
+
ServerPathEntryRenameView,
|
|
10
|
+
ServerPathFileCreateRequest,
|
|
11
|
+
ServerPathFileCreateView,
|
|
12
|
+
ServerPathFilesUploadView,
|
|
7
13
|
ServerPathReadView,
|
|
8
14
|
ServerPathSearchView,
|
|
9
15
|
} from '@/shared/lib/api/types';
|
|
@@ -24,6 +30,30 @@ export async function createServerPathDirectory(
|
|
|
24
30
|
return await nextclawClient.serverPaths.createDirectory(input);
|
|
25
31
|
}
|
|
26
32
|
|
|
33
|
+
export async function createServerPathFile(input: ServerPathFileCreateRequest): Promise<ServerPathFileCreateView> {
|
|
34
|
+
return await nextclawClient.serverPaths.createFile(input);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export async function renameServerPathEntry(input: ServerPathEntryRenameRequest): Promise<ServerPathEntryRenameView> {
|
|
38
|
+
return await nextclawClient.serverPaths.renameEntry(input);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export async function deleteServerPathEntry(params: {
|
|
42
|
+
basePath: string;
|
|
43
|
+
path: string;
|
|
44
|
+
}): Promise<ServerPathEntryDeleteView> {
|
|
45
|
+
return await nextclawClient.serverPaths.deleteEntry(params);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export async function uploadServerPathFiles(params: {
|
|
49
|
+
basePath: string;
|
|
50
|
+
targetPath: string;
|
|
51
|
+
files: readonly File[];
|
|
52
|
+
overwrite?: boolean;
|
|
53
|
+
}): Promise<ServerPathFilesUploadView> {
|
|
54
|
+
return await nextclawClient.serverPaths.uploadFiles(params);
|
|
55
|
+
}
|
|
56
|
+
|
|
27
57
|
export async function fetchServerPathRead(params: {
|
|
28
58
|
path: string;
|
|
29
59
|
basePath?: string | null;
|
|
@@ -41,23 +71,17 @@ export async function fetchServerPathSearch(params: {
|
|
|
41
71
|
}
|
|
42
72
|
|
|
43
73
|
export function buildServerPathContentUrl(path: string): string;
|
|
44
|
-
export function buildServerPathContentUrl(
|
|
45
|
-
|
|
46
|
-
basePath: string | null,
|
|
47
|
-
): string | null;
|
|
48
|
-
export function buildServerPathContentUrl(
|
|
49
|
-
path: string,
|
|
50
|
-
basePath?: string | null,
|
|
51
|
-
): string | null {
|
|
74
|
+
export function buildServerPathContentUrl(path: string, basePath: string | null): string | null;
|
|
75
|
+
export function buildServerPathContentUrl(path: string, basePath?: string | null): string | null {
|
|
52
76
|
const normalizedPath = path.trim();
|
|
53
|
-
const isAbsolute = normalizedPath.startsWith(
|
|
54
|
-
const normalizedBasePath = basePath?.trim() ??
|
|
77
|
+
const isAbsolute = normalizedPath.startsWith('/') || /^[a-z]:[\\/]/i.test(normalizedPath);
|
|
78
|
+
const normalizedBasePath = basePath?.trim() ?? '';
|
|
55
79
|
if (!isAbsolute && !normalizedBasePath) {
|
|
56
80
|
return null;
|
|
57
81
|
}
|
|
58
82
|
const query = new URLSearchParams({ path: normalizedPath });
|
|
59
83
|
if (normalizedBasePath) {
|
|
60
|
-
query.set(
|
|
84
|
+
query.set('basePath', normalizedBasePath);
|
|
61
85
|
}
|
|
62
86
|
return `${API_BASE}${SERVER_PATH_CONTENT_BASE_PATH}?${query.toString()}`;
|
|
63
87
|
}
|
|
@@ -53,11 +53,15 @@
|
|
|
53
53
|
"chatWorkspaceChildSessionsEmpty": "No child sessions yet.",
|
|
54
54
|
"chatWorkspaceSessionCronJobsDescription": "Review scheduled tasks associated with this session.",
|
|
55
55
|
"chatWorkspaceProjectFiles": "Project files",
|
|
56
|
+
"chatWorkspaceShowProjectFiles": "Show project files",
|
|
57
|
+
"chatWorkspaceHideProjectFiles": "Hide project files",
|
|
58
|
+
"chatWorkspaceResizeProjectFiles": "Resize project files",
|
|
56
59
|
"chatWorkspaceProjectFilesDescription": "Browse files from the selected project directory.",
|
|
57
60
|
"chatWorkspaceProjectFilesUnavailable": "Select a project directory to browse its files.",
|
|
58
61
|
"chatWorkspaceSideChatDraftTitle": "Side chat",
|
|
59
62
|
"chatWorkspaceSideChatDraftSubtitle": "This draft will inherit the parent session context when you send the first message.",
|
|
60
63
|
"chatWorkspaceChildSessions": "Child sessions",
|
|
64
|
+
"chatWorkspaceOpen": "Open",
|
|
61
65
|
"chatWorkspaceOpenFiles": "Open files",
|
|
62
66
|
"chatWorkspacePreview": "Preview",
|
|
63
67
|
"chatWorkspaceOpenPreview": "Open preview",
|
|
@@ -74,7 +78,45 @@
|
|
|
74
78
|
"chatWorkspaceDirectoryEmpty": "This directory is empty.",
|
|
75
79
|
"chatWorkspaceDirectoryLoadFailed": "Failed to load directory",
|
|
76
80
|
"chatWorkspaceFileContextMenu": "Project file actions",
|
|
81
|
+
"chatWorkspaceRootContextMenu": "Project root actions",
|
|
77
82
|
"chatWorkspaceAddToChat": "Add to chat",
|
|
83
|
+
"chatWorkspaceMoreActionsFor": "More actions for {name}",
|
|
84
|
+
"chatWorkspaceNewFolder": "New folder",
|
|
85
|
+
"chatWorkspaceNewFile": "New file",
|
|
86
|
+
"chatWorkspaceRefreshExplorer": "Refresh project files",
|
|
87
|
+
"chatWorkspaceCollapseAll": "Collapse all",
|
|
88
|
+
"chatWorkspaceRootMoreActions": "More project file actions",
|
|
89
|
+
"chatWorkspaceFileName": "File name",
|
|
90
|
+
"chatWorkspaceFileNamePlaceholder": "untitled",
|
|
91
|
+
"chatWorkspaceFileCreated": "File created.",
|
|
92
|
+
"chatWorkspaceFileCreateFailed": "Failed to create file",
|
|
93
|
+
"chatWorkspaceCreateFolder": "Create",
|
|
94
|
+
"chatWorkspaceCreateFolderIn": "Create in {name}",
|
|
95
|
+
"chatWorkspaceFolderName": "Folder name",
|
|
96
|
+
"chatWorkspaceFolderNamePlaceholder": "Untitled folder",
|
|
97
|
+
"chatWorkspaceFolderCreated": "Folder created.",
|
|
98
|
+
"chatWorkspaceFolderCreateFailed": "Could not create the folder",
|
|
99
|
+
"chatWorkspaceUploadFiles": "Upload files",
|
|
100
|
+
"chatWorkspaceUploadingFiles": "Uploading…",
|
|
101
|
+
"chatWorkspaceUploadFilesHere": "Upload files here",
|
|
102
|
+
"chatWorkspaceUploadSucceeded": "Uploaded {count} file(s).",
|
|
103
|
+
"chatWorkspaceUploadFailed": "Could not upload the files",
|
|
104
|
+
"chatWorkspaceUploadConflictTitle": "Replace existing files?",
|
|
105
|
+
"chatWorkspaceUploadConflictDescription": "{count} file(s) already exist in this folder. Replacing them cannot be undone.",
|
|
106
|
+
"chatWorkspaceReplaceFiles": "Replace files",
|
|
107
|
+
"chatWorkspaceDownloadFile": "Download",
|
|
108
|
+
"chatWorkspaceDelete": "Delete",
|
|
109
|
+
"chatWorkspaceRename": "Rename",
|
|
110
|
+
"chatWorkspaceRenameSucceeded": "Renamed to {name}.",
|
|
111
|
+
"chatWorkspaceRenameFailed": "Failed to rename",
|
|
112
|
+
"chatWorkspaceRenameName": "New name",
|
|
113
|
+
"chatWorkspaceDeleting": "Deleting {name}…",
|
|
114
|
+
"chatWorkspaceDeleteFileTitle": "Delete {name}?",
|
|
115
|
+
"chatWorkspaceDeleteFolderTitle": "Delete folder {name}?",
|
|
116
|
+
"chatWorkspaceDeleteFileDescription": "This file will be permanently deleted from the project workspace.",
|
|
117
|
+
"chatWorkspaceDeleteFolderDescription": "This folder and everything inside it will be permanently deleted from the project workspace.",
|
|
118
|
+
"chatWorkspaceDeleteSucceeded": "Deleted {name}.",
|
|
119
|
+
"chatWorkspaceDeleteFailed": "Could not delete {name}",
|
|
78
120
|
"chatWorkspaceExcerptSelectionTooLong": "Selection is too long",
|
|
79
121
|
"chatWorkspaceRevealInFileManager": "Reveal in file manager",
|
|
80
122
|
"chatWorkspaceCopyPath": "Copy path",
|
|
@@ -248,20 +290,27 @@
|
|
|
248
290
|
"chatPanelAppReferenceNoDescription": "No panel app description",
|
|
249
291
|
"chatContextReferenceLoading": "Searching references...",
|
|
250
292
|
"chatContextReferenceSection": "References",
|
|
251
|
-
"chatContextReferenceNoResult": "No matching files, folders, projects, or panel apps",
|
|
252
|
-
"chatContextReferenceHint": "Type @ to reference a file, folder, project, or panel app",
|
|
293
|
+
"chatContextReferenceNoResult": "No matching system objects, files, folders, projects, or panel apps",
|
|
294
|
+
"chatContextReferenceHint": "Type @ to reference a system object, file, folder, project, or panel app",
|
|
253
295
|
"chatContextReferenceItemHint": "Press Enter to add this reference.",
|
|
254
|
-
"chatContextReferenceFilesLabel": "Files
|
|
255
|
-
"chatContextReferenceFilesType": "Project
|
|
256
|
-
"chatContextReferenceFilesDescription": "
|
|
257
|
-
"chatContextReferenceFilesHint": "Press Enter to browse files
|
|
296
|
+
"chatContextReferenceFilesLabel": "Files",
|
|
297
|
+
"chatContextReferenceFilesType": "Project Files",
|
|
298
|
+
"chatContextReferenceFilesDescription": "Browse and reference files in the current project.",
|
|
299
|
+
"chatContextReferenceFilesHint": "Press Enter to browse files.",
|
|
300
|
+
"chatContextReferenceFoldersLabel": "Folders",
|
|
301
|
+
"chatContextReferenceFoldersType": "Project Folders",
|
|
302
|
+
"chatContextReferenceFoldersDescription": "Browse and reference folders in the current project.",
|
|
303
|
+
"chatContextReferenceFoldersHint": "Press Enter to browse folders.",
|
|
258
304
|
"chatContextReferenceBack": "Back to all references",
|
|
259
|
-
"chatContextReferenceBackDescription": "Return to the unified file, folder, project, and panel app reference menu.",
|
|
305
|
+
"chatContextReferenceBackDescription": "Return to the unified system object, file, folder, project, and panel app reference menu.",
|
|
260
306
|
"chatContextReferenceBackHint": "Press Enter to go back.",
|
|
261
307
|
"chatContextReferenceParent": "Up one folder",
|
|
262
308
|
"chatContextReferenceParentDescription": "Browse the parent folder without closing the reference menu.",
|
|
263
309
|
"chatContextReferenceParentHint": "Press Enter to open the parent folder.",
|
|
264
310
|
"chatContextReferenceCurrentDirectory": "Reference current folder",
|
|
311
|
+
"chatSystemObjectSection": "System Objects",
|
|
312
|
+
"chatSystemObjectGroupHint": "Press Enter to browse this category.",
|
|
313
|
+
"chatSystemObjectResolveFailed": "Could not reference system object",
|
|
265
314
|
"chatContextReferenceFileDescription": "Use this file as explicit context for the current message.",
|
|
266
315
|
"chatContextReferenceDirectoryDescription": "Use this folder as a context scope for the current message.",
|
|
267
316
|
"chatContextReferenceProjectsLabel": "Projects",
|
|
@@ -274,8 +323,7 @@
|
|
|
274
323
|
"chatContextReferenceProjectSection": "Projects",
|
|
275
324
|
"chatContextReferenceProjectsLoadFailed": "Failed to load projects",
|
|
276
325
|
"chatContextReferenceProjectRoot": "Project directory",
|
|
277
|
-
"
|
|
278
|
-
"chatContextReferenceSearchFailed": "File search failed",
|
|
326
|
+
"chatContextReferenceSearchFailed": "Reference search failed",
|
|
279
327
|
"chatSkillScopeBuiltin": "Built-in",
|
|
280
328
|
"chatSkillScopeGlobal": "Global",
|
|
281
329
|
"chatSkillScopeProject": "Project",
|
|
@@ -442,6 +490,7 @@
|
|
|
442
490
|
"chatSidebarTaskRecords": "Sessions",
|
|
443
491
|
"chatSidebarViewTime": "Time",
|
|
444
492
|
"chatSidebarViewProject": "Project",
|
|
493
|
+
"chatSidebarViewMode": "Session list view",
|
|
445
494
|
"chatSidebarToday": "Today",
|
|
446
495
|
"chatSidebarYesterday": "Yesterday",
|
|
447
496
|
"chatSidebarPrevious7Days": "Previous 7 Days",
|